添加刺雷的3P模型,将刺雷的命中判定移到客户端
This commit is contained in:
parent
be9be69db7
commit
47f45a11a5
7 changed files with 588 additions and 109 deletions
|
@ -91,9 +91,6 @@ public class ClickHandler {
|
|||
if (stack.is(ModTags.Items.GUN) || stack.is(ModItems.MONITOR.get()) || stack.is(ModItems.LUNGE_MINE.get()) || player.hasEffect(ModMobEffects.SHOCK.get())
|
||||
|| (player.getVehicle() instanceof IArmedVehicleEntity && !(player.getVehicle() instanceof WheelChairEntity))) {
|
||||
if (button == GLFW.GLFW_MOUSE_BUTTON_LEFT) {
|
||||
if (stack.is(ModItems.LUNGE_MINE.get())) {
|
||||
ModUtils.PACKET_HANDLER.sendToServer(new LungeMineAttackMessage(0));
|
||||
}
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
|
@ -118,6 +115,7 @@ public class ClickHandler {
|
|||
|
||||
if ((stack.is(ModTags.Items.GUN) && !(player.getVehicle() instanceof ICannonEntity))
|
||||
|| stack.is(ModItems.MONITOR.get())
|
||||
|| stack.is(ModItems.LUNGE_MINE.get())
|
||||
|| (player.getVehicle() instanceof ICannonEntity)
|
||||
|| (player.getVehicle() instanceof IArmedVehicleEntity iVehicle && iVehicle.isDriver(player) && stack.is(ItemStack.EMPTY.getItem()))
|
||||
|| (stack.is(Items.SPYGLASS) && player.isScoping() && player.getOffhandItem().is(ModItems.FIRING_PARAMETERS.get()))) {
|
||||
|
@ -304,6 +302,10 @@ public class ClickHandler {
|
|||
ClientEventHandler.holdFire = true;
|
||||
}
|
||||
|
||||
if (stack.is(ModItems.LUNGE_MINE.get())) {
|
||||
ClientEventHandler.holdFire = true;
|
||||
}
|
||||
|
||||
if (stack.getItem() instanceof GunItem gunItem && !(player.getVehicle() != null && player.getVehicle() instanceof ICannonEntity)) {
|
||||
if ((!(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))
|
||||
&& !stack.getOrCreateTag().getBoolean("reloading")
|
||||
|
|
|
@ -11,6 +11,7 @@ import com.atsuishio.superbwarfare.init.*;
|
|||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.network.message.LaserShootMessage;
|
||||
import com.atsuishio.superbwarfare.network.message.LungeMineAttackMessage;
|
||||
import com.atsuishio.superbwarfare.network.message.ShootMessage;
|
||||
import com.atsuishio.superbwarfare.network.message.VehicleFireMessage;
|
||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||
|
@ -22,8 +23,10 @@ import net.minecraft.client.Minecraft;
|
|||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.commands.arguments.EntityAnchorArgument;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
|
@ -33,6 +36,8 @@ import net.minecraft.world.entity.LivingEntity;
|
|||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.ClipContext;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
||||
|
@ -137,6 +142,7 @@ public class ClientEventHandler {
|
|||
public static double shakeType = 0;
|
||||
public static double vehicleFov = 1;
|
||||
public static double vehicleFovLerp = 1;
|
||||
public static int lungeAttack;
|
||||
|
||||
@SubscribeEvent
|
||||
public static void handleWeaponTurn(RenderHandEvent event) {
|
||||
|
@ -200,7 +206,7 @@ public class ClientEventHandler {
|
|||
}
|
||||
|
||||
if (miniGunRot > 0) {
|
||||
miniGunRot -= 1;
|
||||
miniGunRot --;
|
||||
}
|
||||
|
||||
if (notInGame() && !ClickHandler.switchZoom) {
|
||||
|
@ -208,7 +214,42 @@ public class ClientEventHandler {
|
|||
}
|
||||
|
||||
beamShoot(player, stack);
|
||||
handleLungeAttack(player, stack);
|
||||
}
|
||||
|
||||
public static void handleLungeAttack(Player player, ItemStack stack) {
|
||||
if (stack.is(ModItems.LUNGE_MINE.get()) && lungeAttack == 0 && holdFire && !player.getCooldowns().isOnCooldown(stack.getItem())) {
|
||||
lungeAttack = 6;
|
||||
player.playSound(SoundEvents.PLAYER_ATTACK_SWEEP, 1f, 1);
|
||||
}
|
||||
|
||||
if (stack.is(ModItems.LUNGE_MINE.get()) && lungeAttack >= 1 && lungeAttack <= 2) {
|
||||
boolean lookAtEntity = false;
|
||||
|
||||
Entity lookingEntity = TraceTool.findLookingEntity(player,5);
|
||||
|
||||
BlockHitResult result = player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(5)),
|
||||
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player));
|
||||
|
||||
Vec3 looking = Vec3.atLowerCornerOf(player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos());
|
||||
BlockState blockState = player.level().getBlockState(BlockPos.containing(looking.x(), looking.y(), looking.z()));
|
||||
|
||||
if (lookingEntity != null) {
|
||||
lookAtEntity = true;
|
||||
}
|
||||
|
||||
if (lookAtEntity) {
|
||||
ModUtils.PACKET_HANDLER.sendToServer(new LungeMineAttackMessage(0, lookingEntity.getUUID(), result));
|
||||
lungeAttack = 0;
|
||||
} else if (blockState.canOcclude()) {
|
||||
ModUtils.PACKET_HANDLER.sendToServer(new LungeMineAttackMessage(1, player.getUUID(), result));
|
||||
lungeAttack = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (lungeAttack > 0) {
|
||||
lungeAttack --;
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
@ -1,35 +1,20 @@
|
|||
package com.atsuishio.superbwarfare.item;
|
||||
|
||||
import com.atsuishio.superbwarfare.client.renderer.item.LungeMineRenderer;
|
||||
import com.atsuishio.superbwarfare.config.server.ExplosionDestroyConfig;
|
||||
import com.atsuishio.superbwarfare.init.ModDamageTypes;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.tools.CustomExplosion;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.tools.TraceTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import net.minecraft.client.model.HumanoidModel;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.HumanoidArm;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.ClipContext;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.HitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
import software.bernie.geckolib.animatable.GeoItem;
|
||||
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
|
||||
|
@ -47,7 +32,7 @@ public class LungeMine extends Item implements GeoItem, AnimatedItem {
|
|||
public static ItemDisplayContext transformType;
|
||||
|
||||
public LungeMine() {
|
||||
super(new Properties().stacksTo(1));
|
||||
super(new Properties().stacksTo(64));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,10 +48,10 @@ public class LungeMine extends Item implements GeoItem, AnimatedItem {
|
|||
|
||||
private static final HumanoidModel.ArmPose LungeMinePose = HumanoidModel.ArmPose.create("LungeMine", false, (model, entity, arm) -> {
|
||||
if (arm != HumanoidArm.LEFT) {
|
||||
model.rightArm.xRot = -22.5f * Mth.DEG_TO_RAD + model.head.xRot;
|
||||
model.rightArm.yRot = -10f * Mth.DEG_TO_RAD;
|
||||
model.leftArm.xRot = -55f * Mth.DEG_TO_RAD + model.head.xRot;
|
||||
model.leftArm.yRot = 50f * Mth.DEG_TO_RAD;
|
||||
model.rightArm.xRot = 20f * Mth.DEG_TO_RAD + model.head.xRot;
|
||||
model.rightArm.yRot = -12f * Mth.DEG_TO_RAD;
|
||||
model.leftArm.xRot = -45f * Mth.DEG_TO_RAD + model.head.xRot;
|
||||
model.leftArm.yRot = 40f * Mth.DEG_TO_RAD;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -82,27 +67,13 @@ public class LungeMine extends Item implements GeoItem, AnimatedItem {
|
|||
});
|
||||
}
|
||||
|
||||
public static void attack(ItemStack stack, Player player) {
|
||||
if (stack.getOrCreateTag().getInt("AttackTime") == 0) {
|
||||
stack.getOrCreateTag().putInt("AttackTime" , 6);
|
||||
player.getCooldowns().addCooldown(stack.getItem(), 6);
|
||||
player.level().playSound(null, player.getOnPos(), SoundEvents.PLAYER_ATTACK_SWEEP, SoundSource.PLAYERS, 1, 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void getTransformType(ItemDisplayContext type) {
|
||||
transformType = type;
|
||||
}
|
||||
|
||||
private PlayState idlePredicate(AnimationState<LungeMine> event) {
|
||||
LocalPlayer player = Minecraft.getInstance().player;
|
||||
if (player == null) return PlayState.STOP;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (stack.is(ModItems.LUNGE_MINE.get())) {
|
||||
if (stack.getOrCreateTag().getInt("AttackTime") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.lunge_mine.fire"));
|
||||
}
|
||||
if (ClientEventHandler.lungeAttack > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.lunge_mine.fire"));
|
||||
}
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.lunge_mine.idle"));
|
||||
}
|
||||
|
@ -136,66 +107,4 @@ public class LungeMine extends Item implements GeoItem, AnimatedItem {
|
|||
public boolean canAttackBlock(BlockState p_41441_, Level p_41442_, BlockPos p_41443_, Player p_41444_) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
|
||||
if (itemstack.getOrCreateTag().getInt("AttackTime") >= 3 && itemstack.getOrCreateTag().getInt("AttackTime") <= 4) {
|
||||
if (selected && entity.level() instanceof ServerLevel) {
|
||||
boolean lookAtEntity = false;
|
||||
|
||||
Entity lookingEntity = TraceTool.findLookingEntity(entity,4.5);
|
||||
|
||||
HitResult result = entity.level().clip(new ClipContext(entity.getEyePosition(), entity.getEyePosition().add(entity.getLookAngle().scale(4.5)),
|
||||
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity));
|
||||
|
||||
Vec3 looking = Vec3.atLowerCornerOf(entity.level().clip(new ClipContext(entity.getEyePosition(), entity.getEyePosition().add(entity.getLookAngle().scale(4)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)).getBlockPos());
|
||||
BlockState blockState = entity.level().getBlockState(BlockPos.containing(looking.x(), looking.y(), looking.z()));
|
||||
|
||||
Vec3 hitPos = result.getLocation();
|
||||
|
||||
if (lookingEntity != null) {
|
||||
lookAtEntity = true;
|
||||
}
|
||||
|
||||
// if (entity instanceof Player player) {
|
||||
// player.displayClientMessage(Component.literal("" + lookAtEntity), true);
|
||||
// }
|
||||
|
||||
if (lookAtEntity) {
|
||||
if (entity instanceof Player player && !player.isCreative()) {
|
||||
itemstack.shrink(1);
|
||||
}
|
||||
lookingEntity.hurt(ModDamageTypes.causeCannonFireDamage(entity.level().registryAccess(), entity, entity), 150);
|
||||
causeLungeMineExplode(entity.level(), entity, lookingEntity);
|
||||
} else if (blockState.canOcclude()) {
|
||||
if (entity instanceof Player player && !player.isCreative()) {
|
||||
itemstack.shrink(1);
|
||||
}
|
||||
CustomExplosion explosion = new CustomExplosion(entity.level(), null,
|
||||
ModDamageTypes.causeProjectileBoomDamage(entity.level().registryAccess(), entity, entity), 60,
|
||||
looking.x, looking.y, looking.z, 4f, ExplosionDestroyConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).setDamageMultiplier(1.25f);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(entity.level(), explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
ParticleTool.spawnMediumExplosionParticles(entity.level(), hitPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (itemstack.getOrCreateTag().getInt("AttackTime") > 0) {
|
||||
itemstack.getOrCreateTag().putInt("AttackTime", itemstack.getOrCreateTag().getInt("AttackTime") - 1);
|
||||
}
|
||||
}
|
||||
|
||||
public static void causeLungeMineExplode(Level pLevel, Entity entity, Entity pLivingEntity) {
|
||||
CustomExplosion explosion = new CustomExplosion(pLevel, pLivingEntity,
|
||||
ModDamageTypes.causeProjectileBoomDamage(pLevel.registryAccess(), pLivingEntity, entity), 60,
|
||||
pLivingEntity.getX(), pLivingEntity.getY(), pLivingEntity.getZ(), 4f, ExplosionDestroyConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).setDamageMultiplier(1.25f);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(pLevel, explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
ParticleTool.spawnMediumExplosionParticles(pLevel, pLivingEntity.position());
|
||||
}
|
||||
}
|
|
@ -1,28 +1,44 @@
|
|||
package com.atsuishio.superbwarfare.network.message;
|
||||
|
||||
import com.atsuishio.superbwarfare.config.server.ExplosionDestroyConfig;
|
||||
import com.atsuishio.superbwarfare.init.ModDamageTypes;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.item.LungeMine;
|
||||
import com.atsuishio.superbwarfare.tools.CustomExplosion;
|
||||
import com.atsuishio.superbwarfare.tools.EntityFindUtil;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class LungeMineAttackMessage {
|
||||
|
||||
private final int type;
|
||||
private final UUID uuid;
|
||||
private final BlockHitResult hitResult;
|
||||
|
||||
public LungeMineAttackMessage(int type) {
|
||||
public LungeMineAttackMessage(int type, UUID uuid, BlockHitResult hitResult) {
|
||||
this.type = type;
|
||||
this.uuid = uuid;
|
||||
this.hitResult = hitResult;
|
||||
}
|
||||
|
||||
public static LungeMineAttackMessage decode(FriendlyByteBuf buffer) {
|
||||
return new LungeMineAttackMessage(buffer.readInt());
|
||||
return new LungeMineAttackMessage(buffer.readInt(), buffer.readUUID(), buffer.readBlockHitResult());
|
||||
}
|
||||
|
||||
public static void encode(LungeMineAttackMessage message, FriendlyByteBuf buffer) {
|
||||
buffer.writeInt(message.type);
|
||||
buffer.writeUUID(message.uuid);
|
||||
buffer.writeBlockHitResult(message.hitResult);
|
||||
}
|
||||
|
||||
public static void handler(LungeMineAttackMessage message, Supplier<NetworkEvent.Context> contextSupplier) {
|
||||
|
@ -35,11 +51,43 @@ public class LungeMineAttackMessage {
|
|||
|
||||
if (stack.is(ModItems.LUNGE_MINE.get())) {
|
||||
if (message.type == 0) {
|
||||
LungeMine.attack(stack,player);
|
||||
player.getCooldowns().addCooldown(stack.getItem(), 10);
|
||||
if (!player.isCreative()) {
|
||||
stack.shrink(1);
|
||||
}
|
||||
Entity lookingEntity = EntityFindUtil.findEntity(player.level(), String.valueOf(message.uuid));
|
||||
if (lookingEntity != null) {
|
||||
lookingEntity.hurt(ModDamageTypes.causeCannonFireDamage(player.level().registryAccess(), player, player), 150);
|
||||
causeLungeMineExplode(player.level(), player, lookingEntity);
|
||||
}
|
||||
} else if (message.type == 1) {
|
||||
player.getCooldowns().addCooldown(stack.getItem(), 10);
|
||||
if (!player.isCreative()) {
|
||||
stack.shrink(1);
|
||||
}
|
||||
CustomExplosion explosion = new CustomExplosion(player.level(), null,
|
||||
ModDamageTypes.causeProjectileBoomDamage(player.level().registryAccess(), player, player), 60,
|
||||
message.hitResult.getLocation().x, message.hitResult.getLocation().y, message.hitResult.getLocation().z, 4f, ExplosionDestroyConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).setDamageMultiplier(1.25f);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(player.level(), explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
ParticleTool.spawnMediumExplosionParticles(player.level(), message.hitResult.getLocation());
|
||||
|
||||
}
|
||||
player.swing(InteractionHand.MAIN_HAND);
|
||||
}
|
||||
}
|
||||
});
|
||||
context.setPacketHandled(true);
|
||||
}
|
||||
|
||||
public static void causeLungeMineExplode(Level pLevel, Entity entity, Entity pLivingEntity) {
|
||||
CustomExplosion explosion = new CustomExplosion(pLevel, pLivingEntity,
|
||||
ModDamageTypes.causeProjectileBoomDamage(pLevel.registryAccess(), pLivingEntity, entity), 60,
|
||||
pLivingEntity.getX(), pLivingEntity.getY(), pLivingEntity.getZ(), 4f, ExplosionDestroyConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).setDamageMultiplier(1.25f);
|
||||
explosion.explode();
|
||||
net.minecraftforge.event.ForgeEventFactory.onExplosionStart(pLevel, explosion);
|
||||
explosion.finalizeExplosion(false);
|
||||
ParticleTool.spawnMediumExplosionParticles(pLevel, pLivingEntity.position());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.atsuishio.superbwarfare.tools;
|
||||
|
||||
import com.atsuishio.superbwarfare.entity.ClaymoreEntity;
|
||||
import com.atsuishio.superbwarfare.entity.VehicleEntity;
|
||||
import com.atsuishio.superbwarfare.entity.projectile.ProjectileEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
@ -77,7 +78,7 @@ public class SeekTool {
|
|||
return StreamSupport.stream(EntityFindUtil.getEntities(level).getAll().spliterator(), false)
|
||||
.filter(e -> e.distanceToSqr(pos.getX(), pos.getY(), pos.getZ()) <= range * range
|
||||
&& e.isAlive()
|
||||
&& !(e instanceof ItemEntity || e instanceof ExperienceOrb || e instanceof HangingEntity || e instanceof ProjectileEntity || e instanceof Projectile || e instanceof ArmorStand)
|
||||
&& !(e instanceof ItemEntity || e instanceof ExperienceOrb || e instanceof HangingEntity || e instanceof ProjectileEntity || e instanceof Projectile || e instanceof ArmorStand || e instanceof ClaymoreEntity)
|
||||
&& !(e instanceof Player player && player.isSpectator()))
|
||||
.toList();
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"parent": "superbwarfare:item/lunge_mine_icon"
|
||||
},
|
||||
"thirdperson_righthand": {
|
||||
"parent": "superbwarfare:item/lunge_mine_base"
|
||||
"parent": "superbwarfare:item/lunge_mine_3d"
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"parent": "superbwarfare:item/lunge_mine_icon"
|
||||
|
|
|
@ -0,0 +1,478 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"1": "superbwarfare:item/lunge_mine"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "cube2",
|
||||
"from": [7.7901, -15.35316, 7.49326],
|
||||
"to": [8.2099, 19.64684, 8.50674],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.5, 0.5, 0, 1], "rotation": 270, "texture": "#1"},
|
||||
"south": {"uv": [10.5, 2.5, 0, 2], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube3",
|
||||
"from": [7.7901, -15.35316, 7.49326],
|
||||
"to": [8.2099, 19.64684, 8.50674],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.5, 1, 0, 1.5], "rotation": 270, "texture": "#1"},
|
||||
"south": {"uv": [10.5, 0.5, 0, 0], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube4",
|
||||
"from": [7.49326, -15.35316, 7.7901],
|
||||
"to": [8.50674, 19.64684, 8.2099],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [10.5, 0.5, 0, 0], "rotation": 270, "texture": "#1"},
|
||||
"west": {"uv": [10.5, 2, 0, 2.5], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube3",
|
||||
"from": [7.49326, -15.35316, 7.7901],
|
||||
"to": [8.50674, 19.64684, 8.2099],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [10.5, 0.5, 0, 0], "rotation": 270, "texture": "#1"},
|
||||
"west": {"uv": [10.5, 1.5, 0, 2], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube5",
|
||||
"from": [7.7901, -15.35316, 7.49326],
|
||||
"to": [8.2099, 19.64684, 8.50674],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.5, 0.5, 0, 0], "rotation": 270, "texture": "#1"},
|
||||
"south": {"uv": [10.5, 0.5, 0, 1], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube4",
|
||||
"from": [7.7901, -15.35316, 7.49326],
|
||||
"to": [8.2099, 19.64684, 8.50674],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5.14684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.5, 0.5, 0, 0], "rotation": 270, "texture": "#1"},
|
||||
"south": {"uv": [10.5, 0.5, 0, 1], "rotation": 270, "texture": "#1"},
|
||||
"down": {"uv": [8, 10, 8.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube4",
|
||||
"from": [7.34124, 19.64684, 7.72713],
|
||||
"to": [8.65876, 22.64684, 8.27287],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 25.64684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube5",
|
||||
"from": [7.34124, 19.64684, 7.72713],
|
||||
"to": [8.65876, 22.64684, 8.27287],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 25.64684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube6",
|
||||
"from": [7.72713, 19.64684, 7.34124],
|
||||
"to": [8.27287, 22.64684, 8.65876],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 25.64684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube7",
|
||||
"from": [7.72713, 19.64684, 7.34124],
|
||||
"to": [8.27287, 22.64684, 8.65876],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 25.64684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube5",
|
||||
"from": [7.07774, 22.64684, 7.61799],
|
||||
"to": [8.92226, 24, 8.38201],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 17.04684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube6",
|
||||
"from": [7.07774, 22.64684, 7.61799],
|
||||
"to": [8.92226, 24, 8.38201],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 17.04684, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube7",
|
||||
"from": [7.61799, 22.64684, 7.07774],
|
||||
"to": [8.38201, 24, 8.92226],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 17.04684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube8",
|
||||
"from": [7.61799, 22.64684, 7.07774],
|
||||
"to": [8.38201, 24, 8.92226],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 17.04684, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube6",
|
||||
"from": [6.80106, 24, 7.50338],
|
||||
"to": [9.19894, 25.25, 8.49662],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 14.96089, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube7",
|
||||
"from": [6.80106, 24, 7.50338],
|
||||
"to": [9.19894, 25.25, 8.49662],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 14.96089, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube8",
|
||||
"from": [7.50338, 24, 6.80106],
|
||||
"to": [8.49662, 25.25, 9.19894],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 14.96089, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube9",
|
||||
"from": [7.50338, 24, 6.80106],
|
||||
"to": [8.49662, 25.25, 9.19894],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 14.96089, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube7",
|
||||
"from": [6.44138, 25.25, 7.3544],
|
||||
"to": [9.55862, 26.75, 8.6456],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 11.87415, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube8",
|
||||
"from": [6.44138, 25.25, 7.3544],
|
||||
"to": [9.55862, 26.75, 8.6456],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 11.87415, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube9",
|
||||
"from": [7.3544, 25.25, 6.44138],
|
||||
"to": [8.6456, 26.75, 9.55862],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 11.87415, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube10",
|
||||
"from": [7.3544, 25.25, 6.44138],
|
||||
"to": [8.6456, 26.75, 9.55862],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 11.87415, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube8",
|
||||
"from": [5.9738, 26.75, 7.16072],
|
||||
"to": [10.0262, 28.5, 8.83928],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 25.775, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube9",
|
||||
"from": [5.9738, 26.75, 7.16072],
|
||||
"to": [10.0262, 28.5, 8.83928],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 25.775, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube10",
|
||||
"from": [7.16072, 26.75, 5.9738],
|
||||
"to": [8.83928, 28.5, 10.0262],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 25.775, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube11",
|
||||
"from": [7.16072, 26.75, 5.9738],
|
||||
"to": [8.83928, 28.5, 10.0262],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 25.775, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 180, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube9",
|
||||
"from": [5.36593, 28.5, 6.90893],
|
||||
"to": [10.63407, 30.25, 9.09107],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 27.3625, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 4.5, 7.5, 6.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube10",
|
||||
"from": [7.875, 30.24093, 9.875],
|
||||
"to": [8.125, 32, 10.125],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 31.12047, 10]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"east": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"south": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"west": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"up": {"uv": [8, 5.5, 8.5, 6], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube11",
|
||||
"from": [9.875, 30.24093, 6.875],
|
||||
"to": [10.125, 32, 7.125],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [10, 31.12047, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"east": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"south": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"west": {"uv": [7.5, 7, 8, 8], "texture": "#1"},
|
||||
"up": {"uv": [8, 5.5, 8.5, 6], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube12",
|
||||
"from": [5.875, 30.24093, 6.875],
|
||||
"to": [6.125, 32, 7.125],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [6, 31.12047, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [8, 7, 7.5, 8], "texture": "#1"},
|
||||
"east": {"uv": [8, 7, 7.5, 8], "texture": "#1"},
|
||||
"south": {"uv": [8, 7, 7.5, 8], "texture": "#1"},
|
||||
"west": {"uv": [8, 7, 7.5, 8], "texture": "#1"},
|
||||
"up": {"uv": [8.5, 5.5, 8, 6], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube10",
|
||||
"from": [5.36593, 28.5, 6.90893],
|
||||
"to": [10.63407, 30.25, 9.09107],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 27.3625, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"west": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 4.5, 7.5, 6.5], "rotation": 90, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube11",
|
||||
"from": [6.90893, 28.5, 5.36593],
|
||||
"to": [9.09107, 30.25, 10.63407],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 27.3625, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 4.5, 7.5, 6.5], "rotation": 180, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cube12",
|
||||
"from": [6.90893, 28.5, 5.36593],
|
||||
"to": [9.09107, 30.25, 10.63407],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 27.3625, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"south": {"uv": [7, 10, 7.5, 10.5], "rotation": 90, "texture": "#1"},
|
||||
"up": {"uv": [7, 4.5, 7.5, 6.5], "rotation": 180, "texture": "#1"},
|
||||
"down": {"uv": [7, 10, 7.5, 10.5], "texture": "#1"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [23.03, 4.5, 9.89],
|
||||
"translation": [-4.25, 15.75, 9]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"scale": [0, 0, 0]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"translation": [-4.5, 0, 0]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"scale": [0, 0, 0]
|
||||
},
|
||||
"ground": {
|
||||
"rotation": [-90, 0, 0],
|
||||
"translation": [0, 24.75, 0]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [138.65, -34.86, 151.18],
|
||||
"translation": [0, -0.25, 0],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [-90, 0, 0],
|
||||
"translation": [0, 29.75, 0]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [90, 45, -90],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3, 4, 5]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [6, 7, 8, 9]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [10, 11, 12, 13]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [14, 15, 16, 17]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [18, 19, 20, 21]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [22, 23, 24, 25]
|
||||
},
|
||||
{
|
||||
"name": "group",
|
||||
"origin": [8.5, 9.14684, -22.2099],
|
||||
"color": 0,
|
||||
"children": [26, 27, 28, 29, 30, 31, 32]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Add table
Reference in a new issue