diff --git a/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 b/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 index a24c2606b..ca9eb7d18 100644 --- a/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 +++ b/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 @@ -1,4 +1,4 @@ -// 1.20.1 2024-12-30T15:07:23.9778545 Tags for minecraft:item mod id superbwarfare +// 1.20.1 2025-01-09T04:05:02.4248154 Tags for minecraft:item mod id superbwarfare cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json 0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json 295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json @@ -26,18 +26,18 @@ af6fd64b4a685c353f243763db268f7b2304c009 data/forge/tags/items/storage_blocks/le 30d1daa7590f7364b5bc2dc777a00caf2f5eecb0 data/forge/tags/items/storage_blocks/silver.json 3743c2790deca7e779d3e4b82f092de39b446988 data/forge/tags/items/storage_blocks/steel.json 144e54d908121dee498b2ebba3b24b09fd6f18d9 data/forge/tags/items/storage_blocks/tungsten.json -52598e22974c8da0d2852defe4c9005e1d67744b data/superbwarfare/tags/items/gun.json -62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json +592381daae9fa8c2996f4cabc58850c35139cb2f data/superbwarfare/tags/items/gun.json +409af265147e812b6f6558c51f1cb83b0f61b7d3 data/superbwarfare/tags/items/handgun.json 68ec25b0ccd68abbbe2f33ab7097572c2140c9da data/superbwarfare/tags/items/launcher.json b404c6fd99d2ca68c6738f225cb7d68ee443c10a data/superbwarfare/tags/items/machine_gun.json a53020091752016da6602ee1b8b7e08823614344 data/superbwarfare/tags/items/military_armor.json -1ff5db892183135cbdd9c38a6b8c6e4eb287341e data/superbwarfare/tags/items/normal_gun.json +5706356c3b32de89f5d4188dd9a72665537d8c09 data/superbwarfare/tags/items/normal_gun.json 15328cd564c931cc0a4fc000596240f93a7b29a1 data/superbwarfare/tags/items/revolver.json aaa533157491a82b8e23b2914deef67c4078cbed data/superbwarfare/tags/items/rifle.json acd4d19dfadb71a1cec43e9c0f4a38fe8d3cf8cb data/superbwarfare/tags/items/shotgun.json 4aca0fa3f8b9f2a4920041e35e46dae7e93d5482 data/superbwarfare/tags/items/smg.json 13a23684e04832bea5dfbd2c0a9d9ed52dcb3422 data/superbwarfare/tags/items/sniper_rifle.json -202756a5a9085f5883ca34424a79c1b7831101a9 data/superbwarfare/tags/items/use_handgun_ammo.json +9af8a0147d1e920ef2a2b990bc9010367cf3b7df data/superbwarfare/tags/items/use_handgun_ammo.json 2899774c6325135847a85b09121ce25587aa275e data/superbwarfare/tags/items/use_rifle_ammo.json acd4d19dfadb71a1cec43e9c0f4a38fe8d3cf8cb data/superbwarfare/tags/items/use_shotgun_ammo.json 13a23684e04832bea5dfbd2c0a9d9ed52dcb3422 data/superbwarfare/tags/items/use_sniper_ammo.json diff --git a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 index 49754392e..f6e380858 100644 --- a/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 +++ b/src/generated/resources/.cache/b69ee8a2655365569b979911c0440daa8c470ac2 @@ -1,4 +1,4 @@ -// 1.20.1 2025-01-07T03:38:49.7324927 Item Models: superbwarfare +// 1.20.1 2025-01-09T05:18:04.2557625 Item Models: superbwarfare 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/aa_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_12_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/ak_47_blueprint.json @@ -64,6 +64,7 @@ ac9c6bc308bd741ada7f19d808d0c0722fceb976 assets/superbwarfare/models/item/mortar 92ce87d9ae2ab3dbb099d39f74ceb49248fe0b1f assets/superbwarfare/models/item/mortar_shells.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/mosin_nagant_blueprint.json 4de8d6e0cddd28963febd35e9b66334a41a25d4c assets/superbwarfare/models/item/motor.json +13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/mp_443_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/m_1911_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/m_4_blueprint.json 13ca8d5676888ff51f3308d88e4bf67691fa34f8 assets/superbwarfare/models/item/m_60_blueprint.json diff --git a/src/generated/resources/assets/superbwarfare/models/item/mp_443_blueprint.json b/src/generated/resources/assets/superbwarfare/models/item/mp_443_blueprint.json new file mode 100644 index 000000000..7bbbd3bbb --- /dev/null +++ b/src/generated/resources/assets/superbwarfare/models/item/mp_443_blueprint.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "superbwarfare:item/gun_blueprint" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/tags/items/gun.json b/src/generated/resources/data/superbwarfare/tags/items/gun.json index 5fc580687..4fc2d9609 100644 --- a/src/generated/resources/data/superbwarfare/tags/items/gun.json +++ b/src/generated/resources/data/superbwarfare/tags/items/gun.json @@ -3,6 +3,7 @@ "superbwarfare:taser", "superbwarfare:glock_17", "superbwarfare:glock_18", + "superbwarfare:mp_443", "superbwarfare:m_1911", "superbwarfare:abekiri", "superbwarfare:trachelium", diff --git a/src/generated/resources/data/superbwarfare/tags/items/handgun.json b/src/generated/resources/data/superbwarfare/tags/items/handgun.json index 1f9d227b3..6a7b502c9 100644 --- a/src/generated/resources/data/superbwarfare/tags/items/handgun.json +++ b/src/generated/resources/data/superbwarfare/tags/items/handgun.json @@ -3,6 +3,7 @@ "superbwarfare:trachelium", "superbwarfare:glock_17", "superbwarfare:glock_18", - "superbwarfare:m_1911" + "superbwarfare:m_1911", + "superbwarfare:mp_443" ] } \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/tags/items/normal_gun.json b/src/generated/resources/data/superbwarfare/tags/items/normal_gun.json index bc1098d6f..a1394c85e 100644 --- a/src/generated/resources/data/superbwarfare/tags/items/normal_gun.json +++ b/src/generated/resources/data/superbwarfare/tags/items/normal_gun.json @@ -25,6 +25,7 @@ "superbwarfare:m_1911", "superbwarfare:qbz_95", "superbwarfare:k_98", - "superbwarfare:mosin_nagant" + "superbwarfare:mosin_nagant", + "superbwarfare:mp_443" ] } \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/tags/items/use_handgun_ammo.json b/src/generated/resources/data/superbwarfare/tags/items/use_handgun_ammo.json index 4e6351b72..8315d7d0a 100644 --- a/src/generated/resources/data/superbwarfare/tags/items/use_handgun_ammo.json +++ b/src/generated/resources/data/superbwarfare/tags/items/use_handgun_ammo.json @@ -3,6 +3,7 @@ "superbwarfare:glock_17", "superbwarfare:glock_18", "superbwarfare:m_1911", - "superbwarfare:vector" + "superbwarfare:vector", + "superbwarfare:mp_443" ] } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java b/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java index d3e67045c..45cc1d01b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/AnimationHelper.java @@ -1,10 +1,11 @@ package com.atsuishio.superbwarfare.client; +import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.tools.GunsTool; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.atsuishio.superbwarfare.event.ClientEventHandler; import net.minecraft.client.model.geom.ModelPart; +import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.core.animatable.model.CoreGeoBone; @@ -28,6 +29,22 @@ public class AnimationHelper { model.zRot = 0.0f; } + public static void renderPartOverBone2(ModelPart model, GeoBone bone, PoseStack stack, VertexConsumer buffer, int packedLightIn, int packedOverlayIn, float alpha) { + renderPartOverBone2(model, bone, stack, buffer, packedLightIn, packedOverlayIn, 1.0f, 1.0f, 1.0f, alpha); + } + + public static void renderPartOverBone2(ModelPart model, GeoBone bone, PoseStack stack, VertexConsumer buffer, int packedLightIn, int packedOverlayIn, float r, float g, float b, float a) { + setupModelFromBone2(model, bone); + model.render(stack, buffer, packedLightIn, packedOverlayIn, r, g, b, a); + } + + public static void setupModelFromBone2(ModelPart model, GeoBone bone) { + model.setPos(bone.getPivotX(), bone.getPivotY() + 7, bone.getPivotZ()); + model.xRot = 0.0f; + model.yRot = 180 * Mth.DEG_TO_RAD; + model.zRot = 180 * Mth.DEG_TO_RAD; + } + public static void handleShellsAnimation(AnimationProcessor animationProcessor, float x, float y) { CoreGeoBone shell1 = animationProcessor.getBone("shell1"); CoreGeoBone shell2 = animationProcessor.getBone("shell2"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java b/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java index aea0260c5..aa48114ce 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java @@ -22,4 +22,12 @@ public class ModRenderTypes extends RenderType { .setCullState(NO_CULL).setOverlayState(OVERLAY).setWriteMaskState(COLOR_WRITE).createCompositeState(false); return RenderType.create("laser", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state); }); + + public static final Function ILLUMINATED = Util.memoize((location) -> { + TextureStateShard shard = new RenderStateShard.TextureStateShard(location, false, false); + RenderType.CompositeState state = RenderType.CompositeState.builder().setTextureState(shard) + .setShaderState(RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER).setTransparencyState(ADDITIVE_TRANSPARENCY) + .setCullState(NO_CULL).setOverlayState(NO_OVERLAY).createCompositeState(false); + return RenderType.create("illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state); + }); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443Layer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443Layer.java new file mode 100644 index 000000000..27c48abb5 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443Layer.java @@ -0,0 +1,27 @@ +package com.atsuishio.superbwarfare.client.layer; + +import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.renderer.GeoRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; + +public class Mp443Layer extends GeoRenderLayer { + private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/mp443_e.png"); + + public Mp443Layer(GeoRenderer itemGeoRenderer) { + super(itemGeoRenderer); + } + + @Override + public void render(PoseStack poseStack, Mp443Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + RenderType glowRenderType = RenderType.eyes(LAYER); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443LightLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443LightLayer.java new file mode 100644 index 000000000..16e1c33ff --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/client/layer/Mp443LightLayer.java @@ -0,0 +1,28 @@ +package com.atsuishio.superbwarfare.client.layer; + +import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.ModRenderTypes; +import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.renderer.GeoRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; + +public class Mp443LightLayer extends GeoRenderLayer { + private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/mp443_light_e.png"); + + public Mp443LightLayer(GeoRenderer itemGeoRenderer) { + super(itemGeoRenderer); + } + + @Override + public void render(PoseStack poseStack, Mp443Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { + RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER); + getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mp443ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mp443ItemModel.java new file mode 100644 index 000000000..91c8b39c9 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/Mp443ItemModel.java @@ -0,0 +1,146 @@ +package com.atsuishio.superbwarfare.client.model.item; + +import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay; +import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import net.minecraft.client.Minecraft; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import software.bernie.geckolib.core.animatable.model.CoreGeoBone; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.model.GeoModel; + +public class Mp443ItemModel extends GeoModel { + + @Override + public ResourceLocation getAnimationResource(Mp443Item animatable) { + return ModUtils.loc("animations/glock17.animation.json"); + } + + @Override + public ResourceLocation getModelResource(Mp443Item animatable) { + return ModUtils.loc("geo/mp443.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(Mp443Item animatable) { + return ModUtils.loc("textures/item/mp443.png"); + } + + @Override + public void setCustomAnimations(Mp443Item animatable, long instanceId, AnimationState animationState) { + CoreGeoBone gun = getAnimationProcessor().getBone("bone"); + CoreGeoBone shen = getAnimationProcessor().getBone("shen"); + CoreGeoBone slide = getAnimationProcessor().getBone("huatao"); + CoreGeoBone bullet = getAnimationProcessor().getBone("bullet"); + CoreGeoBone hammer = getAnimationProcessor().getBone("trigger"); + + Player player = Minecraft.getInstance().player; + if (player == null) return; + ItemStack stack = player.getMainHandItem(); + if (!stack.is(ModTags.Items.GUN)) return; + + float times = 0.6f * (float) Math.min(Minecraft.getInstance().getDeltaFrameTime(), 0.8); + double zt = ClientEventHandler.zoomTime; + double zp = ClientEventHandler.zoomPos; + double zpz = ClientEventHandler.zoomPosZ; + double swayX = ClientEventHandler.swayX; + double swayY = ClientEventHandler.swayY; + float moveRotZ = (float) ClientEventHandler.moveRotZ; + float movePosX = (float) ClientEventHandler.movePosX; + float movePosY = (float) ClientEventHandler.movePosY; + double mph = ClientEventHandler.movePosHorizon; + double vY = ClientEventHandler.velocityY; + double turnRotX = ClientEventHandler.turnRot[0]; + double turnRotY = ClientEventHandler.turnRot[1]; + double turnRotZ = ClientEventHandler.turnRot[2]; + double fpz = ClientEventHandler.firePosZ * 20 * times; + double fp = ClientEventHandler.firePos; + double fr = ClientEventHandler.fireRot; + + gun.setPosX(2.23f * (float) zp); + gun.setPosY(3.25f * (float) zp - (float) (0.2f * zpz)); + gun.setPosZ(5f * (float) zp + (float) (0.3f * zpz)); + gun.setScaleZ(1f - (0.35f * (float) zp)); + + shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); + shen.setPosY((float) (0.25f * fp + 0.28f * fr)); + shen.setPosZ((float) (2.375 * fp + 0.44f * fr + 0.75 * fpz)); + shen.setRotX((float) (0.15f * fp + 0.3f * fr + 0.3f * fpz)); + shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); + shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); + + shen.setPosX((float) (shen.getPosX() * (1 - 0.4 * zt))); + shen.setPosY((float) (shen.getPosY() * (1 - 0.5 * zt))); + shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); + shen.setRotX((float) (shen.getRotX() * (1 - 0.8 * zt))); + shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); + shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); + + CrossHairOverlay.gunRot = shen.getRotZ(); + + slide.setPosZ(1.5f * (float) fp); + hammer.setRotX((120 * Mth.DEG_TO_RAD * (float) fp)); + + CoreGeoBone root = getAnimationProcessor().getBone("root"); + root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); + root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); + root.setRotX((float) (swayX - Mth.DEG_TO_RAD * 60 * ClientEventHandler.drawTime + Mth.DEG_TO_RAD * turnRotX - 0.15f * vY)); + root.setRotY((float) (0.2f * movePosX + Mth.DEG_TO_RAD * 300 * ClientEventHandler.drawTime + Mth.DEG_TO_RAD * turnRotY)); + root.setRotZ((float) (0.2f * movePosX + moveRotZ + Mth.DEG_TO_RAD * 90 * ClientEventHandler.drawTime + 2.7f * mph + Mth.DEG_TO_RAD * turnRotZ)); + + CoreGeoBone camera = getAnimationProcessor().getBone("camera"); + CoreGeoBone main = getAnimationProcessor().getBone("0"); + CoreGeoBone body = getAnimationProcessor().getBone("gun"); + + float numR = (float) (1 - 0.12 * zt); + float numP = (float) (1 - 0.68 * zt); + + if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) { + main.setRotX(numR * main.getRotX()); + main.setRotY(numR * main.getRotY()); + main.setRotZ(numR * main.getRotZ()); + main.setPosX(numP * main.getPosX()); + main.setPosY(numP * main.getPosY()); + main.setPosZ(numP * main.getPosZ()); + body.setRotX(numR * body.getRotX()); + body.setRotY(numR * body.getRotY()); + body.setRotZ(numR * body.getRotZ()); + body.setPosX(numP * body.getPosX()); + body.setPosY(numP * body.getPosY()); + body.setPosZ(numP * body.getPosZ()); + camera.setRotX(numR * camera.getRotX()); + camera.setRotY(numR * camera.getRotY()); + camera.setRotZ(numR * camera.getRotZ()); + } + + ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ()); + AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f); + + CoreGeoBone shell = getAnimationProcessor().getBone("shell"); + if (GunsTool.getGunBooleanTag(stack, "HoldOpen")) { + slide.setPosZ(1.5f); + bullet.setScaleX(0); + bullet.setScaleY(0); + bullet.setScaleZ(0); + + shell.setScaleX(0); + shell.setScaleY(0); + shell.setScaleZ(0); + } else { + bullet.setScaleX(1); + bullet.setScaleY(1); + bullet.setScaleZ(1); + + shell.setScaleX(1); + shell.setScaleY(1); + shell.setScaleZ(1); + } + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java index 4d5695c5f..3c6dfcfdd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java @@ -170,12 +170,12 @@ public class AK47ItemRenderer extends GeoItemRenderer { VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimationHelper.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); - AnimationHelper.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); } else { stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimationHelper.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); - AnimationHelper.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); } this.currentBuffer.getBuffer(this.renderType); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mp443ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mp443ItemRenderer.java new file mode 100644 index 000000000..6f24df5e8 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mp443ItemRenderer.java @@ -0,0 +1,139 @@ +package com.atsuishio.superbwarfare.client.renderer.item; + +import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.layer.Mp443Layer; +import com.atsuishio.superbwarfare.client.layer.Mp443LightLayer; +import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel; +import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.PlayerModel; +import net.minecraft.client.player.AbstractClientPlayer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.player.PlayerRenderer; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.cache.object.GeoBone; +import software.bernie.geckolib.renderer.GeoItemRenderer; +import software.bernie.geckolib.util.RenderUtils; + +import java.util.HashSet; +import java.util.Set; + +public class Mp443ItemRenderer extends GeoItemRenderer { + + public Mp443ItemRenderer() { + super(new Mp443ItemModel()); + this.addRenderLayer(new Mp443Layer(this)); + this.addRenderLayer(new Mp443LightLayer(this)); + } + + @Override + public RenderType getRenderType(Mp443Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityTranslucent(getTextureLocation(animatable)); + } + + private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; + protected boolean renderArms = false; + protected MultiBufferSource currentBuffer; + protected RenderType renderType; + public ItemDisplayContext transformType; + protected Mp443Item animatable; + private final Set hiddenBones = new HashSet<>(); + + @Override + public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { + this.transformType = transformType; + if (this.animatable != null) + this.animatable.getTransformType(transformType); + super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); + } + + @Override + public void actuallyRender(PoseStack matrixStackIn, Mp443Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, + int packedOverlayIn, float red, float green, float blue, float alpha) { + this.currentBuffer = renderTypeBuffer; + this.renderType = type; + this.animatable = animatable; + super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha); + if (this.renderArms) { + this.renderArms = false; + } + } + + @Override + public void renderRecursively(PoseStack stack, Mp443Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, + float green, float blue, float alpha) { + Minecraft mc = Minecraft.getInstance(); + String name = bone.getName(); + boolean renderingArms = false; + if (name.equals("Lefthand") || name.equals("Righthand")) { + bone.setHidden(true); + renderingArms = true; + } else { + bone.setHidden(this.hiddenBones.contains(name)); + } + + Player player = mc.player; + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } + + if (this.transformType.firstPerson() && renderingArms) { + AbstractClientPlayer localPlayer = mc.player; + + if (localPlayer == null) { + return; + } + + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); + PlayerModel model = playerRenderer.getModel(); + stack.pushPose(); + RenderUtils.translateMatrixToBone(stack, bone); + RenderUtils.translateToPivotPoint(stack, bone); + RenderUtils.rotateMatrixAroundBone(stack, bone); + RenderUtils.scaleMatrixForBone(stack, bone); + RenderUtils.translateAwayFromPivotPoint(stack, bone); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); + VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); + VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); + if (name.equals("Lefthand")) { + stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); + AnimationHelper.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + } else { + stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); + AnimationHelper.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + } + + this.currentBuffer.getBuffer(this.renderType); + stack.popPose(); + } + super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha); + } + + @Override + public ResourceLocation getTextureLocation(Mp443Item instance) { + return super.getTextureLocation(instance); + } +} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java index 9bfc70c6d..e18ea5df6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java @@ -102,12 +102,12 @@ public class TaserItemRenderer extends GeoItemRenderer { VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimationHelper.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); - AnimationHelper.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); } else { stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimationHelper.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); - AnimationHelper.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); + AnimationHelper.renderPartOverBone2(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); } this.currentBuffer.getBuffer(this.renderType); diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java index 2ee738bd5..97f0536e2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java @@ -103,6 +103,7 @@ public class ModItemModelProvider extends ItemModelProvider { gunBlueprintItem(ModItems.TRACHELIUM_BLUEPRINT); gunBlueprintItem(ModItems.GLOCK_17_BLUEPRINT); gunBlueprintItem(ModItems.GLOCK_18_BLUEPRINT); + gunBlueprintItem(ModItems.MP_443_BLUEPRINT); gunBlueprintItem(ModItems.HUNTING_RIFLE_BLUEPRINT); gunBlueprintItem(ModItems.M_79_BLUEPRINT); gunBlueprintItem(ModItems.RPG_BLUEPRINT); diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java index d0f9b2dc8..e5069a8ea 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java @@ -67,7 +67,7 @@ public class ModItemTagProvider extends ItemTagsProvider { this.tag(ModTags.Items.SMG).add(ModItems.VECTOR.get()); - this.tag(ModTags.Items.HANDGUN).add(ModItems.TRACHELIUM.get(), ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get()); + this.tag(ModTags.Items.HANDGUN).add(ModItems.TRACHELIUM.get(), ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.MP_443.get()); this.tag(ModTags.Items.RIFLE).add(ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.SKS.get(), ModItems.MK_14.get(), ModItems.MARLIN.get(), ModItems.AK_47.get(), ModItems.AK_12.get(), ModItems.QBZ_95.get()); @@ -82,9 +82,9 @@ public class ModItemTagProvider extends ItemTagsProvider { this.tag(ModTags.Items.NORMAL_GUN).add(ModItems.ABEKIRI.get(), ModItems.AK_47.get(), ModItems.AK_12.get(), ModItems.SVD.get(), ModItems.M_60.get(), ModItems.MK_14.get(), ModItems.VECTOR.get(), ModItems.SKS.get(), ModItems.RPK.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(), ModItems.DEVOTION.get(), ModItems.TRACHELIUM.get(), ModItems.HUNTING_RIFLE.get(), ModItems.NTW_20.get(), ModItems.M_98B.get(), ModItems.SENTINEL.get(), ModItems.M_870.get(), ModItems.MARLIN.get(), ModItems.GLOCK_17.get(), - ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.QBZ_95.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get()); + ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.QBZ_95.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get(), ModItems.MP_443.get()); - this.tag(ModTags.Items.USE_HANDGUN_AMMO).add(ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.VECTOR.get()); + this.tag(ModTags.Items.USE_HANDGUN_AMMO).add(ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.VECTOR.get(), ModItems.MP_443.get()); this.tag(ModTags.Items.USE_RIFLE_AMMO).add(ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.SKS.get(), ModItems.MINIGUN.get(), ModItems.DEVOTION.get(), ModItems.M_60.get(), ModItems.MK_14.get(), ModItems.MARLIN.get(), ModItems.AK_47.get(), ModItems.AK_12.get(), ModItems.QBZ_95.get(), ModItems.RPK.get(), ModItems.TRACHELIUM.get()); diff --git a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java index 477f454cd..fe5c848a2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java @@ -374,7 +374,7 @@ public class GunEventHandler { } } - if (stack.getItem() == ModItems.GLOCK_17.get() || stack.getItem() == ModItems.GLOCK_18.get() || stack.getItem() == ModItems.M_1911.get()) { + if (stack.getItem() == ModItems.GLOCK_17.get() || stack.getItem() == ModItems.GLOCK_18.get() || stack.getItem() == ModItems.M_1911.get() || stack.getItem() == ModItems.MP_443.get()) { if (data.getInt("ReloadTime") == 9) { data.putBoolean("HoldOpen", false); } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java index b693e9dc6..4e17fa466 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java @@ -6,10 +6,7 @@ import com.atsuishio.superbwarfare.item.armor.*; import com.atsuishio.superbwarfare.item.common.BlueprintItem; import com.atsuishio.superbwarfare.item.common.MaterialPack; import com.atsuishio.superbwarfare.item.common.ammo.*; -import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; -import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; -import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; -import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium; +import com.atsuishio.superbwarfare.item.gun.handgun.*; import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem; @@ -50,6 +47,7 @@ public class ModItems { public static final RegistryObject TASER = GUNS.register("taser", TaserItem::new); public static final RegistryObject GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); public static final RegistryObject GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); + public static final RegistryObject MP_443 = GUNS.register("mp_443", Mp443Item::new); public static final RegistryObject M_1911 = GUNS.register("m_1911", M1911Item::new); public static final RegistryObject ABEKIRI = GUNS.register("abekiri", AbekiriItem::new); public static final RegistryObject TRACHELIUM = GUNS.register("trachelium", Trachelium::new); @@ -193,6 +191,7 @@ public class ModItems { public static final RegistryObject TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final RegistryObject MP_443_BLUEPRINT = ITEMS.register("mp_443_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final RegistryObject GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE)); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java index a0ffd8c9b..c60403632 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java @@ -257,19 +257,26 @@ public class ModSounds { public static final RegistryObject GLOCK_17_RELOAD_NORMAL = REGISTRY.register("glock_17_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_normal"))); public static final RegistryObject GLOCK_17_RELOAD_EMPTY = REGISTRY.register("glock_17_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_empty"))); - public static final RegistryObject GLOCK_18_FIRE_1P = REGISTRY.register("glock_18_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_fire_1p"))); - public static final RegistryObject GLOCK_18_FIRE_3P = REGISTRY.register("glock_18_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_fire_3p"))); - public static final RegistryObject GLOCK_18_FAR = REGISTRY.register("glock_18_far", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_far"))); - public static final RegistryObject GLOCK_18_VERYFAR = REGISTRY.register("glock_18_veryfar", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_veryfar"))); - public static final RegistryObject GLOCK_18_RELOAD_NORMAL = REGISTRY.register("glock_18_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_reload_normal"))); - public static final RegistryObject GLOCK_18_RELOAD_EMPTY = REGISTRY.register("glock_18_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_18_reload_empty"))); + public static final RegistryObject GLOCK_18_FIRE_1P = REGISTRY.register("glock_18_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_fire_1p"))); + public static final RegistryObject GLOCK_18_FIRE_3P = REGISTRY.register("glock_18_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_fire_3p"))); + public static final RegistryObject GLOCK_18_FAR = REGISTRY.register("glock_18_far", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_far"))); + public static final RegistryObject GLOCK_18_VERYFAR = REGISTRY.register("glock_18_veryfar", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_veryfar"))); + public static final RegistryObject GLOCK_18_RELOAD_NORMAL = REGISTRY.register("glock_18_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_normal"))); + public static final RegistryObject GLOCK_18_RELOAD_EMPTY = REGISTRY.register("glock_18_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_empty"))); + + public static final RegistryObject MP_443_FIRE_1P = REGISTRY.register("mp_443_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("mp_443_fire_1p"))); + public static final RegistryObject MP_443_FIRE_3P = REGISTRY.register("mp_443_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("mp_443_fire_3p"))); + public static final RegistryObject MP_443_FAR = REGISTRY.register("mp_443_far", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_far"))); + public static final RegistryObject MP_443_VERYFAR = REGISTRY.register("mp_443_veryfar", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_veryfar"))); + public static final RegistryObject MP_443_RELOAD_NORMAL = REGISTRY.register("mp_443_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_normal"))); + public static final RegistryObject MP_443_RELOAD_EMPTY = REGISTRY.register("mp_443_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_empty"))); public static final RegistryObject M_1911_FIRE_1P = REGISTRY.register("m_1911_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_fire_1p"))); public static final RegistryObject M_1911_FIRE_3P = REGISTRY.register("m_1911_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_fire_3p"))); public static final RegistryObject M_1911_FAR = REGISTRY.register("m_1911_far", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_far"))); public static final RegistryObject M_1911_VERYFAR = REGISTRY.register("m_1911_veryfar", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_veryfar"))); - public static final RegistryObject M_1911_RELOAD_NORMAL = REGISTRY.register("m_1911_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_reload_normal"))); - public static final RegistryObject M_1911_RELOAD_EMPTY = REGISTRY.register("m_1911_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("m_1911_reload_empty"))); + public static final RegistryObject M_1911_RELOAD_NORMAL = REGISTRY.register("m_1911_reload_normal", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_normal"))); + public static final RegistryObject M_1911_RELOAD_EMPTY = REGISTRY.register("m_1911_reload_empty", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("glock_17_reload_empty"))); public static final RegistryObject QBZ_95_FIRE_1P = REGISTRY.register("qbz_95_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("qbz_95_fire_1p"))); public static final RegistryObject QBZ_95_FIRE_3P = REGISTRY.register("qbz_95_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("qbz_95_fire_3p"))); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java b/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java index 8be6c1c6e..65094a4db 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModTabs.java @@ -3,10 +3,7 @@ package com.atsuishio.superbwarfare.init; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.item.ArmorPlate; import com.atsuishio.superbwarfare.item.ContainerBlockItem; -import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; -import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; -import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; -import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium; +import com.atsuishio.superbwarfare.item.gun.handgun.*; import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem; @@ -48,6 +45,7 @@ public class ModTabs { output.accept(Glock17Item.getGunInstance()); output.accept(Glock18Item.getGunInstance()); output.accept(M1911Item.getGunInstance()); + output.accept(Mp443Item.getGunInstance()); output.accept(AbekiriItem.getGunInstance()); output.accept(Trachelium.getGunInstance()); output.accept(VectorItem.getGunInstance()); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java index 08f9b0f0a..e630cdc9f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java @@ -87,6 +87,8 @@ public class ModVillagers { new ItemStack(ModItems.GLOCK_17_BLUEPRINT.get()), 8, 15, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), new ItemStack(ModItems.M_1911_BLUEPRINT.get()), 8, 15, 0.05f)); + trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), + new ItemStack(ModItems.MP_443_BLUEPRINT.get()), 8, 15, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), new ItemStack(ModItems.TASER_BLUEPRINT.get()), 8, 15, 0.05f)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java new file mode 100644 index 000000000..0b69007d8 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java @@ -0,0 +1,176 @@ +package com.atsuishio.superbwarfare.item.gun.handgun; + +import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.client.PoseTool; +import com.atsuishio.superbwarfare.client.renderer.item.Mp443ItemRenderer; +import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModItems; +import com.atsuishio.superbwarfare.init.ModSounds; +import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.AnimatedItem; +import com.atsuishio.superbwarfare.item.gun.GunItem; +import com.atsuishio.superbwarfare.perk.Perk; +import com.atsuishio.superbwarfare.perk.PerkHelper; +import com.atsuishio.superbwarfare.tools.GunsTool; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; +import net.minecraftforge.client.extensions.common.IClientItemExtensions; +import software.bernie.geckolib.animatable.GeoItem; +import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.core.animation.AnimatableManager; +import software.bernie.geckolib.core.animation.AnimationController; +import software.bernie.geckolib.core.animation.AnimationState; +import software.bernie.geckolib.core.animation.RawAnimation; +import software.bernie.geckolib.core.object.PlayState; +import software.bernie.geckolib.util.GeckoLibUtil; + +import java.util.Set; +import java.util.function.Consumer; + +public class Mp443Item extends GunItem implements GeoItem, AnimatedItem { + + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); + public static ItemDisplayContext transformType; + + public Mp443Item() { + super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); + } + + @Override + public void initializeClient(Consumer consumer) { + super.initializeClient(consumer); + consumer.accept(new IClientItemExtensions() { + private final BlockEntityWithoutLevelRenderer renderer = new Mp443ItemRenderer(); + + @Override + public BlockEntityWithoutLevelRenderer getCustomRenderer() { + return renderer; + } + + @Override + public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { + return PoseTool.pose(entityLiving, hand, stack); + } + }); + } + + public void getTransformType(ItemDisplayContext type) { + transformType = type; + } + + private PlayState fireAnimPredicate(AnimationState event) { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return PlayState.STOP; + ItemStack stack = player.getMainHandItem(); + if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; + + if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) { + return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty")); + } + + if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) { + return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal")); + } + + + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle")); + } + + private PlayState idlePredicate(AnimationState event) { + LocalPlayer player = Minecraft.getInstance().player; + if (player == null) return PlayState.STOP; + ItemStack stack = player.getMainHandItem(); + if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; + + if (player.isSprinting() && player.onGround() + && player.getPersistentData().getDouble("noRun") == 0 + && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) { + if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast")); + } else { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run")); + } + } + + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle")); + } + + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar data) { + var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); + data.add(fireAnimController); + var idleController = new AnimationController<>(this, "idleController", 2, this::idlePredicate); + data.add(idleController); + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.cache; + } + + @Override + public Set getReloadSound() { + return Set.of(ModSounds.MP_443_RELOAD_EMPTY.get(), ModSounds.MP_443_RELOAD_NORMAL.get()); + } + + public static ItemStack getGunInstance() { + ItemStack stack = new ItemStack(ModItems.MP_443.get()); + GunsTool.initCreativeGun(stack, ModItems.MP_443.getId().getPath()); + return stack; + } + + @Override + public void setAnimationProcedure(String procedure) { + } + + @Override + public ResourceLocation getGunIcon() { + return new ResourceLocation(ModUtils.MODID, "textures/gun_icon/mp443_icon.png"); + } + + @Override + public String getGunDisplayName() { + return " MP-443"; + } + + @Override + public boolean canApplyPerk(Perk perk) { + return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); + } + + @Override + public boolean isMagazineReload(ItemStack stack) { + return true; + } + + @Override + public boolean isOpenBolt(ItemStack stack) { + return true; + } + + @Override + public boolean bulletInBarrel(ItemStack stack) { + return true; + } + + @Override + public boolean ejectShell(ItemStack stack) { + return true; + } + + @Override + public int getFireMode() { + return FireMode.SEMI.flag; + } +} \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/tools/CustomExplosion.java b/src/main/java/com/atsuishio/superbwarfare/tools/CustomExplosion.java index ca74e491c..8b08f57e0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/tools/CustomExplosion.java +++ b/src/main/java/com/atsuishio/superbwarfare/tools/CustomExplosion.java @@ -86,7 +86,7 @@ public class CustomExplosion extends Explosion { for (Entity target : level.getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(radius), e -> true).stream().sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center))).toList()) { - if (target instanceof ServerPlayer serverPlayer) { + if (target instanceof ServerPlayer serverPlayer && !(target == pSource && pSource.getVehicle() != null)) { ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> serverPlayer), new ShakeClientMessage(20 + 0.02 * damage, pRadius,10 + 0.03 * damage, pToBlowX, pToBlowY, pToBlowZ)); } } diff --git a/src/main/resources/assets/superbwarfare/animations/ak.animation.json b/src/main/resources/assets/superbwarfare/animations/ak.animation.json index 809c6ca06..763a4076a 100644 --- a/src/main/resources/assets/superbwarfare/animations/ak.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/ak.animation.json @@ -27,14 +27,26 @@ } }, "Righthand": { - "rotation": ["easeInElastic", "easeInElastic", "easeInElastic"], - "position": ["easeInElastic", "easeInElastic", "easeInElastic"], - "scale": 0 + "rotation": { + "0.0": [0, 0, 0], + "0.2": [-6.9958, -33.59868, 16.97772] + }, + "position": { + "0.0": [0, 0, 0], + "0.2": [-1.75, 0.35, 0.95] + } }, "Lefthand": { - "rotation": ["easeInElastic", "easeInElastic", "easeInElastic"], - "position": ["easeInElastic", "easeInElastic", "easeInElastic"], - "scale": 0 + "rotation": { + "0.0": [0, 0, 0], + "0.2": [-22.85123, -5.28437, 45.34195], + "0.4083": [-37.36283, 0.56643, 63.22664] + }, + "position": { + "0.0": [0, 0, 0], + "0.2": [-1.15, -0.4, -5.5], + "0.4083": [-1.65, -0.4, -4.8] + } } } }, @@ -58,10 +70,6 @@ "0.8": [3.5, -1.75, 0] } }, - "Righthand": { - "rotation": [0, 20, 0], - "position": [3.55421, -0.38623, -0.42238] - }, "camera": { "rotation": { "0.0": [-0.3, -0.3, 0.3], @@ -103,8 +111,8 @@ } }, "Lefthand": { - "rotation": [-30, -12.5, 7.5], - "position": [15, -7, 37] + "rotation": [5.27614, 52.79666, -90.24139], + "position": [15, -14, 37] } } }, @@ -381,20 +389,14 @@ "Lefthand": { "rotation": { "0.1167": [0, 0, 0], - "0.3333": [32.36769, 41.34508, -64.19056], - "0.4": [32.36769, 41.34508, -64.19056], - "0.9833": [32.36769, 41.34508, -64.19056], - "1.0": [48.93435, 38.83283, -61.71522], - "1.6667": [48.93435, 38.83283, -61.71522], + "0.3333": [50.29539, 45.73453, -56.50534], + "1.6667": [50.29539, 45.73453, -56.50534], "1.85": [0, 0, 0] }, "position": { "0.1167": [0, 0, 0], - "0.3333": [-3.19069, 0.26674, 8.12], - "0.4": [-3.19069, 0.26674, 8.12], - "0.9833": [-3.19069, 0.26674, 8.12], - "1.0": [-3.19741, -3.59435, 4.76412], - "1.6667": [-3.19741, -3.59435, 4.76412], + "0.3333": [-0.09069, -1.78326, 3.07], + "1.6667": [-0.09069, -1.78326, 3.07], "1.85": [0, 0, 0] } }, @@ -409,6 +411,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -672,22 +682,14 @@ "Lefthand": { "rotation": { "0.1167": [0, 0, 0], - "0.1833": [8.79054, 27.06142, -16.41798], - "0.3333": [29.46956, 50.70814, -61.78204], - "0.4": [29.46956, 50.70814, -61.78204], - "0.9833": [29.46956, 50.70814, -61.78204], - "1.0": [24.46409, 34.39391, -25.62434], - "1.6667": [24.46409, 34.39391, -25.62434], + "0.3333": [24.37037, 15.9389, -21.54738], + "1.6667": [24.37037, 15.9389, -21.54738], "1.85": [0, 0, 0] }, "position": { "0.1167": [0, 0, 0], - "0.1833": [-0.7603, -0.64759, 5.84197], - "0.3333": [-3.19062, 0.51479, 7.66796], - "0.4": [-3.19062, 0.51479, 7.66796], - "0.9833": [-3.19062, 0.51479, 7.66796], - "1.0": [-4.03226, -1.03498, 7.44705], - "1.6667": [-4.03226, -1.03498, 7.44705], + "0.3333": [0.50931, -2.33326, 3.27], + "1.6667": [0.50931, -2.33326, 3.27], "1.85": [0, 0, 0] } }, @@ -720,6 +722,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -1019,35 +1029,29 @@ "Lefthand": { "rotation": { "0.1167": [0, 0, 0], - "0.3333": [32.36769, 41.34508, -64.19056], - "0.4": [32.36769, 41.34508, -64.19056], - "0.9833": [32.36769, 41.34508, -64.19056], - "1.0": [48.93435, 38.83283, -61.71522], - "1.6667": [48.93435, 38.83283, -61.71522], - "2.0": [-29.05855, 54.15355, 113.83916], - "2.0833": [-45.59532, 53.45595, 116.13024], - "2.1667": [-50.02173, 43.31997, 128.51988], - "2.25": [-50.02173, 43.31997, 128.51988], - "2.3667": [-55.02173, 43.31997, 128.51988], + "0.3333": [50.29539, 45.73453, -56.50534], + "1.6667": [50.29539, 45.73453, -56.50534], + "1.8667": [-27.40925, -6.40493, 67.66918], + "2.05": [-44.76748, 37.54072, 130.89261], + "2.1667": [-62.94009, 48.26643, 143.90391], + "2.2333": [-62.94009, 48.26643, 143.90391], + "2.3667": [-85.44009, 48.26643, 143.90391], "2.4167": [-55.02173, 43.31997, 128.51988], "2.5": [-43.27389, 30.70848, 85.33789], "2.75": [0, 0, 0] }, "position": { "0.1167": [0, 0, 0], - "0.3333": [-3.19069, 0.26674, 8.12], - "0.4": [-3.19069, 0.26674, 8.12], - "0.9833": [-3.19069, 0.26674, 8.12], - "1.0": [-3.19741, -3.59435, 4.76412], - "1.6667": [-3.19741, -3.59435, 4.76412], - "1.7167": [-4.29005, -3.93562, 7.32852], - "1.7833": [-5.7839, -2.25389, 8.81802], - "2.0333": [-7.81624, -1.14434, 3.37054], - "2.1667": [-9.37827, -0.70494, 3.44014], - "2.25": [-9.37827, -0.70494, 3.44014], - "2.3667": [-9.37827, -0.70494, 6.44014], - "2.4167": [-9.37827, -0.70494, 6.44014], - "2.5": [-6.32823, -2.3892, 0.11393], + "0.3333": [-0.09069, -1.78326, 3.07], + "1.6667": [-0.09069, -1.78326, 3.07], + "1.7167": [-1.54005, -5.98562, 5.87852], + "1.7667": [-4.7839, -6.15389, 3.86802], + "2.05": [-3.86, 0.43, 1.89], + "2.1667": [-3.47827, 3.14506, 3.54014], + "2.2333": [-3.47827, 3.14506, 3.54014], + "2.3667": [-3.47827, 3.14506, 7.54014], + "2.4167": [-4.37827, -0.70494, 4.44014], + "2.5": [-5.32823, -1.3892, 1.11393], "2.75": [0, 0, 0] } }, @@ -1093,6 +1097,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -1396,6 +1408,7 @@ "Righthand": { "rotation": { "1.9333": [0, 0, 0], + "2.0167": [-0.42998, -8.83789, -8.81644], "2.1167": [-0.6395, -3.41987, -15.44385], "2.2333": [-0.6395, -3.41987, -15.44385], "2.3667": [-2.58155, -2.2056, -19.32444], @@ -1405,34 +1418,30 @@ "2.7167": [0, 0, 0] }, "position": { - "1.9333": [0, 0, 0], - "2.1167": [0.51703, 2.88499, -5.25573], - "2.2333": [0.51703, 2.88499, -5.25573], - "2.3667": [0.51703, 2.62327, -1.32213], - "2.5": [0.51703, 2.62327, -1.32213], - "2.5667": [0.51703, 2.62327, -2.07994], + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.9333": [-0.75, 0, 0], + "2.0167": [-1.67, 1.31, -2.62], + "2.1167": [-1.48297, 2.88499, -5.75573], + "2.2333": [-1.48297, 2.88499, -5.75573], + "2.3667": [-1.48297, 2.62327, -1.82213], + "2.5": [-1.48297, 2.62327, -1.32213], + "2.5667": [-1.48297, 2.62327, -2.07994], "2.7167": [0, 0, 0] } }, "Lefthand": { "rotation": { "0.1167": [0, 0, 0], - "0.1833": [8.79054, 27.06142, -16.41798], - "0.3333": [29.46956, 50.70814, -61.78204], - "0.4": [29.46956, 50.70814, -61.78204], - "0.9833": [29.46956, 50.70814, -61.78204], - "1.0": [24.46409, 34.39391, -25.62434], - "1.6667": [24.46409, 34.39391, -25.62434], + "0.3333": [24.37037, 15.9389, -21.54738], + "1.6667": [24.37037, 15.9389, -21.54738], "1.85": [0, 0, 0] }, "position": { "0.1167": [0, 0, 0], - "0.1833": [-0.7603, -0.64759, 5.84197], - "0.3333": [-3.19062, 0.51479, 7.66796], - "0.4": [-3.19062, 0.51479, 7.66796], - "0.9833": [-3.19062, 0.51479, 7.66796], - "1.0": [-4.03226, -1.03498, 7.44705], - "1.6667": [-4.03226, -1.03498, 7.44705], + "0.3333": [0.50931, -2.33326, 3.27], + "1.6667": [0.50931, -2.33326, 3.27], "1.85": [0, 0, 0] } }, @@ -1491,8 +1500,8 @@ "animation_length": 7.2667, "bones": { "Lefthand": { - "rotation": [43.35934, 30.31096, -79.62173], - "position": [0, 0, -0.58203] + "rotation": [-3.66253, 12.91538, 13.30298], + "position": [-0.3, -0.8, -2.7] } } }, @@ -1750,22 +1759,16 @@ }, "Lefthand": { "rotation": { - "0.1167": [43.35934, 30.31096, -79.62173], - "0.3333": [32.36769, 41.34508, -64.19056], - "0.4": [32.36769, 41.34508, -64.19056], - "0.9833": [32.36769, 41.34508, -64.19056], - "1.0": [48.93435, 38.83283, -61.71522], - "1.6667": [48.93435, 38.83283, -61.71522], - "1.85": [43.35934, 30.31096, -79.62173] + "0.1167": [-3.66253, 12.91538, 13.30298], + "0.3333": [50.29539, 45.73453, -56.50534], + "1.6667": [50.29539, 45.73453, -56.50534], + "1.85": [-3.66253, 12.91538, 13.30298] }, "position": { - "0.1167": [0, 0, -0.58203], - "0.3333": [-3.19069, 0.26674, 8.12], - "0.4": [-3.19069, 0.26674, 8.12], - "0.9833": [-3.19069, 0.26674, 8.12], - "1.0": [-3.19741, -3.59435, 4.76412], - "1.6667": [-3.19741, -3.59435, 4.76412], - "1.85": [0, 0, -0.58203] + "0.1167": [-0.3, -0.8, -2.7], + "0.3333": [-0.09069, -1.78326, 3.07], + "1.6667": [-0.09069, -1.78326, 3.07], + "1.85": [-0.3, -0.8, -2.7] } }, "camera": { @@ -1797,6 +1800,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -2059,24 +2070,16 @@ }, "Lefthand": { "rotation": { - "0.1167": [43.35934, 30.31096, -79.62173], - "0.1833": [8.79054, 27.06142, -16.41798], - "0.3333": [29.46956, 50.70814, -61.78204], - "0.4": [29.46956, 50.70814, -61.78204], - "0.9833": [29.46956, 50.70814, -61.78204], - "1.0": [24.46409, 34.39391, -25.62434], - "1.6667": [24.46409, 34.39391, -25.62434], - "1.85": [43.35934, 30.31096, -79.62173] + "0.1167": [-3.66253, 12.91538, 13.30298], + "0.3333": [24.37037, 15.9389, -21.54738], + "1.6667": [24.37037, 15.9389, -21.54738], + "1.85": [-3.66253, 12.91538, 13.30298] }, "position": { - "0.1167": [0, 0, -0.58203], - "0.1833": [-0.7603, -0.64759, 5.84197], - "0.3333": [-3.19062, 0.51479, 7.66796], - "0.4": [-3.19062, 0.51479, 7.66796], - "0.9833": [-3.19062, 0.51479, 7.66796], - "1.0": [-4.03226, -1.03498, 7.44705], - "1.6667": [-4.03226, -1.03498, 7.44705], - "1.85": [0, 0, -0.58203] + "0.1167": [-0.3, -0.8, -2.7], + "0.3333": [0.50931, -2.33326, 3.27], + "1.6667": [0.50931, -2.33326, 3.27], + "1.85": [-0.3, -0.8, -2.7] } }, "camera": { @@ -2108,6 +2111,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -2136,13 +2147,9 @@ "0.8": [3.5, -1.75, 0] } }, - "Righthand": { - "rotation": [0, 20, 0], - "position": [3.55421, -0.38623, -0.42238] - }, "Lefthand": { - "rotation": [43.35934, 30.31096, -79.62173], - "position": [0, 0, -0.58203] + "rotation": [-3.66253, 12.91538, 13.30298], + "position": [-0.3, -0.8, -2.7] }, "camera": { "rotation": { @@ -2445,37 +2452,31 @@ }, "Lefthand": { "rotation": { - "0.1167": [43.35934, 30.31096, -79.62173], - "0.3333": [32.36769, 41.34508, -64.19056], - "0.4": [32.36769, 41.34508, -64.19056], - "0.9833": [32.36769, 41.34508, -64.19056], - "1.0": [48.93435, 38.83283, -61.71522], - "1.6667": [48.93435, 38.83283, -61.71522], - "2.0": [-29.05855, 54.15355, 113.83916], - "2.0833": [-45.59532, 53.45595, 116.13024], - "2.1667": [-50.02173, 43.31997, 128.51988], - "2.25": [-50.02173, 43.31997, 128.51988], - "2.3667": [-55.02173, 43.31997, 128.51988], + "0.1167": [-3.66253, 12.91538, 13.30298], + "0.3333": [50.29539, 45.73453, -56.50534], + "1.6667": [50.29539, 45.73453, -56.50534], + "1.8667": [-27.40925, -6.40493, 67.66918], + "2.05": [-44.76748, 37.54072, 130.89261], + "2.1667": [-62.94009, 48.26643, 143.90391], + "2.2333": [-62.94009, 48.26643, 143.90391], + "2.3667": [-85.44009, 48.26643, 143.90391], "2.4167": [-55.02173, 43.31997, 128.51988], "2.5": [-43.27389, 30.70848, 85.33789], - "2.75": [43.35934, 30.31096, -79.62173] + "2.75": [-3.66253, 12.91538, 13.30298] }, "position": { - "0.1167": [0, 0, -0.58203], - "0.3333": [-3.19069, 0.26674, 8.12], - "0.4": [-3.19069, 0.26674, 8.12], - "0.9833": [-3.19069, 0.26674, 8.12], - "1.0": [-3.19741, -3.59435, 4.76412], - "1.6667": [-3.19741, -3.59435, 4.76412], - "1.7167": [-4.29005, -3.93562, 7.32852], - "1.7833": [-5.7839, -2.25389, 8.81802], - "2.0333": [-7.81624, -1.14434, 3.37054], - "2.1667": [-9.37827, -0.70494, 3.44014], - "2.25": [-9.37827, -0.70494, 3.44014], - "2.3667": [-9.37827, -0.70494, 6.44014], - "2.4167": [-9.37827, -0.70494, 6.44014], - "2.5": [-6.32823, -2.3892, 0.11393], - "2.75": [0, 0, -0.58203] + "0.1167": [-0.3, -0.8, -2.7], + "0.3333": [-0.09069, -1.78326, 3.07], + "1.6667": [-0.09069, -1.78326, 3.07], + "1.7167": [-1.54005, -5.98562, 5.87852], + "1.7667": [-4.7839, -6.15389, 3.86802], + "2.05": [-3.86, 0.43, 1.89], + "2.1667": [-3.47827, 3.14506, 3.54014], + "2.2333": [-3.47827, 3.14506, 3.54014], + "2.3667": [-3.47827, 3.14506, 7.54014], + "2.4167": [-4.37827, -0.70494, 4.44014], + "2.5": [-5.32823, -1.3892, 1.11393], + "2.75": [-0.3, -0.8, -2.7] } }, "bolt": { @@ -2520,6 +2521,14 @@ "1.5167": [-21, 0, 0], "1.55": [0, 0, 0] } + }, + "Righthand": { + "position": { + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.8333": [0, 0, 0] + } } }, "sound_effects": { @@ -2823,6 +2832,7 @@ "Righthand": { "rotation": { "1.9333": [0, 0, 0], + "2.0167": [-0.42998, -8.83789, -8.81644], "2.1167": [-0.6395, -3.41987, -15.44385], "2.2333": [-0.6395, -3.41987, -15.44385], "2.3667": [-2.58155, -2.2056, -19.32444], @@ -2832,35 +2842,31 @@ "2.7167": [0, 0, 0] }, "position": { - "1.9333": [0, 0, 0], - "2.1167": [0.51703, 2.88499, -5.25573], - "2.2333": [0.51703, 2.88499, -5.25573], - "2.3667": [0.51703, 2.62327, -1.32213], - "2.5": [0.51703, 2.62327, -1.32213], - "2.5667": [0.51703, 2.62327, -2.07994], + "0.1": [0, 0, 0], + "0.2": [-0.75, 0, 0], + "1.7667": [-0.75, 0, 0], + "1.9333": [-0.75, 0, 0], + "2.0167": [-1.67, 1.31, -2.62], + "2.1167": [-1.48297, 2.88499, -5.75573], + "2.2333": [-1.48297, 2.88499, -5.75573], + "2.3667": [-1.48297, 2.62327, -1.82213], + "2.5": [-1.48297, 2.62327, -1.32213], + "2.5667": [-1.48297, 2.62327, -2.07994], "2.7167": [0, 0, 0] } }, "Lefthand": { "rotation": { - "0.1167": [43.35934, 30.31096, -79.62173], - "0.1833": [8.79054, 27.06142, -16.41798], - "0.3333": [29.46956, 50.70814, -61.78204], - "0.4": [29.46956, 50.70814, -61.78204], - "0.9833": [29.46956, 50.70814, -61.78204], - "1.0": [24.46409, 34.39391, -25.62434], - "1.6667": [24.46409, 34.39391, -25.62434], - "1.85": [43.35934, 30.31096, -79.62173] + "0.1167": [-3.66253, 12.91538, 13.30298], + "0.3333": [24.37037, 15.9389, -21.54738], + "1.6667": [24.37037, 15.9389, -21.54738], + "1.85": [-3.66253, 12.91538, 13.30298] }, "position": { - "0.1167": [0, 0, -0.58203], - "0.1833": [-0.7603, -0.64759, 5.84197], - "0.3333": [-3.19062, 0.51479, 7.66796], - "0.4": [-3.19062, 0.51479, 7.66796], - "0.9833": [-3.19062, 0.51479, 7.66796], - "1.0": [-4.03226, -1.03498, 7.44705], - "1.6667": [-4.03226, -1.03498, 7.44705], - "1.85": [0, 0, -0.58203] + "0.1167": [-0.3, -0.8, -2.7], + "0.3333": [0.50931, -2.33326, 3.27], + "1.6667": [0.50931, -2.33326, 3.27], + "1.85": [-0.3, -0.8, -2.7] } }, "bolt": { diff --git a/src/main/resources/assets/superbwarfare/animations/taser.animation.json b/src/main/resources/assets/superbwarfare/animations/taser.animation.json index 1edff5436..4f7aa5639 100644 --- a/src/main/resources/assets/superbwarfare/animations/taser.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/taser.animation.json @@ -16,337 +16,206 @@ "0": { "rotation": { "0.0": { - "vector": [0, 0, 0] + "post": [0, 0, 0], + "lerp_mode": "catmullrom" }, - "0.0833": { - "vector": [2.5, -4.08, 1.84] + "0.1667": { + "post": [8.55, -3.98, 1.84], + "lerp_mode": "catmullrom" }, "0.3333": { - "vector": [0.25, -7.5, -15], - "easing": "easeInElastic" + "post": [0.25, -22.25, -24], + "lerp_mode": "catmullrom" }, "0.4167": { - "vector": [-7.25, -7.5, -15], - "easing": "easeInElastic" + "post": [-7.25, -22.25, -24], + "lerp_mode": "catmullrom" }, "0.5": { - "vector": [-5.25, -7.51, -15] + "post": [-5.25, -22.26, -24], + "lerp_mode": "catmullrom" }, "0.625": { - "vector": [-0.85, -8.89, -4.1], - "easing": "easeInOutSine" + "post": [-0.85, -23.64, -13.1], + "lerp_mode": "catmullrom" }, "0.9167": { - "vector": [-7.23, -11.05, -8.02] + "post": [-7.23, -25.8, -17.02], + "lerp_mode": "catmullrom" }, "1.25": { - "vector": [-1.46, -26.71, -16.61] + "post": [0.54, -26.71, -25.61], + "lerp_mode": "catmullrom" }, "1.6667": { - "vector": [-11.38143, -25.34825, -17.46108], - "easing": "easeInElastic" + "post": [-0.88143, -25.34825, -26.46108], + "lerp_mode": "catmullrom" }, "1.9167": { - "vector": [-23.00432, -21.76626, -8.7001] + "post": [-9.00432, -21.76626, -16.2001], + "lerp_mode": "catmullrom" }, "2.0": { - "vector": [-19.73837, -24.77408, -13.27127] + "post": [-5.73837, -24.77408, -20.77127], + "lerp_mode": "catmullrom" }, "2.0833": { - "vector": [-11.72334, -30.128, -11.30744] + "post": [-6.38588, -29.58558, -1.50662], + "lerp_mode": "catmullrom" }, "2.3333": { - "vector": [-0.11112, -2.35652, 10.98841] + "post": [-0.11112, -2.35652, 10.98841], + "lerp_mode": "catmullrom" }, "2.4583": { - "vector": [-0.0016, -0.13105, -1.38954] + "post": [-0.0016, -0.13105, -1.38954], + "lerp_mode": "catmullrom" }, "2.5833": { - "vector": [0, 0, 0], - "easing": "easeInOutQuad" + "post": [0, 0, 0], + "lerp_mode": "catmullrom" } }, "position": { "0.0": { - "vector": [0, 0, 0] + "post": [0, 0, 0], + "lerp_mode": "catmullrom" }, "0.4167": { - "vector": [0, 0.25, 3.25], - "easing": "easeInElastic" + "post": [0, 0.25, 3.25], + "lerp_mode": "catmullrom" }, "0.4583": { - "vector": [-0.03, 0.43, 0.64], - "easing": "easeOutSine" + "post": [0.17, 0.43, 0.64], + "lerp_mode": "catmullrom" }, "0.5417": { - "vector": [-0.06, 0.56, 2.21016] + "post": [-0.06, 0.56, 2.21016], + "lerp_mode": "catmullrom" }, "0.75": { - "vector": [-0.29, 0.3, 2.09], - "easing": "easeInOutSine" + "post": [-0.29, 0.3, 2.09], + "lerp_mode": "catmullrom" }, "1.0417": { - "vector": [-0.6, 0.53, 1.95] + "post": [-0.25, 0.53, 1.95], + "lerp_mode": "catmullrom" }, "1.4167": { - "vector": [-0.9, 0.70547, 2] + "post": [-0.3, 0.70547, 2], + "lerp_mode": "catmullrom" }, "1.9167": { - "vector": [-1, 0.35, 1.5] + "post": [-0.2, 0.35, 1.5], + "lerp_mode": "catmullrom" }, "2.0": { - "vector": [-0.92461, 0.40317, 1.28968] + "post": [-0.92461, 0.40317, 1.28968], + "lerp_mode": "catmullrom" }, "2.0833": { - "vector": [-1.31413, 0.00682, 2.2102] + "post": [-1.31413, 0.00682, 2.2102], + "lerp_mode": "catmullrom" }, "2.2917": { - "vector": [0, 0, -1] + "post": [0, -0.25, -1], + "lerp_mode": "catmullrom" }, "2.375": { - "vector": [0, 0, 0.93] + "post": [0, 0.2, 0.93], + "lerp_mode": "catmullrom" }, "2.5833": { - "vector": [0, 0, 0] + "post": [0, 0, 0], + "lerp_mode": "catmullrom" } } }, "Lefthand": { "rotation": { - "0.0833": { - "vector": [0, 0, 0] - }, - "0.4583": { - "vector": [17.28178, 11.81938, -13.74589], - "easing": "easeOutBack" - }, - "0.5833": { - "vector": [17.89, 13.29, -10.54], - "easing": "easeInOutSine" - }, - "0.9167": { - "vector": [-15.26666, -7.21079, -32.09116] - }, - "1.3333": { - "vector": [11.33836, 15.57679, -32.68369], - "easing": "easeOutBack" - }, - "1.5833": { - "vector": [21.25681, 14.51031, -31.92152] - }, - "1.625": { - "vector": [22.15477, 15.58476, -35.05004] - }, - "1.6667": { - "vector": [24.59206, 11.83166, -28.91263] - }, - "1.75": { - "vector": [28.1312, 15.12708, -33.43052] - }, - "1.8333": { - "vector": [32.67296, 7.36719, -31.31941], - "easing": "linear" - }, - "2.0": { - "vector": [31.94221, 8.54088, -32.21219] - }, - "2.0833": { - "vector": [35.21697, 9.07234, -33.53801], - "easing": "easeOutBack" - }, - "2.25": { - "vector": [10.49188, 18.26991, -36.52254] - }, - "2.4167": { - "vector": [0, 0, 0] - } + "0.0833": [0, 0, 0], + "0.4167": [-31.86957, -19.37363, 82.48453], + "0.5": [-31.86957, -19.37363, 82.48453], + "0.9167": [-15.26666, -7.21079, -32.09116], + "1.3333": [-11.99301, 13.76329, -22.8141], + "1.5": [-11.99301, 13.76329, -22.8141], + "1.5833": [-28.82126, -23.56361, 62.7473], + "1.625": [-27.43413, -24.53569, 58.73275], + "1.6667": [-33.07026, -26.56442, 69.10617], + "1.75": [-28.78617, -30.44277, 61.77328], + "1.8333": [-42.377, -33.41831, 75.18478], + "2.0": [-40.19312, -33.04337, 72.40808], + "2.0833": [-31.86957, -19.37363, 82.48453], + "2.25": [-9.57051, -10.79639, 27.95699], + "2.4167": [0, 0, 0] }, "position": { - "0.0833": { - "vector": [0, 0, 0] - }, - "0.4167": { - "vector": [-0.19579, -2.08768, -5.5753], - "easing": "easeOutBack" - }, - "0.5417": { - "vector": [0, -1.82, -11.4], - "easing": "easeInElastic" - }, - "0.7083": { - "vector": [6.6, -1.87, 0.6] - }, - "0.9167": { - "vector": [7.55491, -9.57868, 6.1249] - }, - "1.3333": { - "vector": [10, -9.37, 6.62], - "easing": "easeInOutBack" - }, - "1.8333": { - "vector": [2.6, -1.9, -12.4], - "easing": "linear" - }, - "2.0": { - "vector": [2.8, -1.9, -9.8] - }, - "2.0833": { - "vector": [3, -1.9, -10.2], - "easing": "easeInOutExpo" - }, - "2.4167": { - "vector": [0, 0, 0] - } + "0.0833": [0, 0, 0], + "0.4167": [-0.19579, 0.61232, -3.5753], + "0.5": [0, -1.82, -14.4], + "0.7083": [6.6, -1.87, 0.6], + "0.9167": [7.55491, -9.57868, 6.1249], + "1.3333": [9.45, -8.82, 6.62], + "1.5": [9.45, -8.82, 6.62], + "1.8333": [-0.9, 1.1, -8.4], + "2.0": [-0.9, 1.1, -6.4], + "2.0833": [-0.19579, 0.61232, -5.5753], + "2.4167": [0, 0, 0] } }, "head": { "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.4167": { - "vector": [0, 0, 0] - }, - "1.25": { - "vector": [-380, 0, 0] - }, - "1.3333": { - "vector": [-30.68206, -27.03402, 52.54628] - }, - "1.8333": { - "vector": [0, 0, 0] - }, - "2.0833": { - "vector": [0, 0, 0] - } + "0.0": [0, 0, 0], + "0.4167": [0, 0, 0], + "1.25": [-380, 0, 0], + "1.3333": [-30.68206, -27.03402, 52.54628], + "1.5": [-30.68206, -27.03402, 52.54628], + "1.8333": [0, 0, 0], + "2.0833": [0, 0, 0] }, "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.4167": { - "vector": [0.0441, 0.16396, -0.02671] - }, - "0.4583": { - "vector": [0.26827, 0.95056, -1.6981] - }, - "0.5": { - "vector": [-0.36805, 1.03264, -6.9702] - }, - "0.5417": { - "vector": [-1.4502, 0.88538, -14.51111] - }, - "0.5833": { - "vector": [-3.04715, 1.19976, -21.54721] - }, - "0.625": { - "vector": [-4.25545, 0.3486, -27.45078] - }, - "0.6667": { - "vector": [-5.50466, -2.79569, -33.3676] - }, - "0.7083": { - "vector": [-6.97396, -6.91091, -39.16939] - }, - "0.75": { - "vector": [-8.75181, -12.66452, -44.72621], - "easing": "linear" - }, - "0.7917": { - "vector": [-10.84411, -20.08928, -49.88713] - }, - "0.8333": { - "vector": [-13.34003, -29.71342, -54.55761] - }, - "0.875": { - "vector": [-16.22188, -40.6649, -58.75257] - }, - "0.9167": { - "vector": [-19.65388, -53.69834, -62.25089] - }, - "0.9583": { - "vector": [-26.60318, -67.42803, -66.09012] - }, - "1.0": { - "vector": [-35.3251, -86.10628, -69.13573] - }, - "1.0417": { - "vector": [-45.47726, -106.73784, -71.55172] - }, - "1.0833": { - "vector": [-57.82789, -132.39146, -73.01751] - }, - "1.125": { - "vector": [-72.39921, -162.95675, -73.13111] - }, - "1.1667": { - "vector": [-89.34055, -197.99001, -72.07032] - }, - "1.2083": { - "vector": [-109.12621, -239.05802, -69.27181] - }, - "1.3333": { - "vector": [10, -9, 13] - }, - "1.8333": { - "vector": [0, 0, -2.09375], - "easing": "linear" - }, - "2.0833": { - "vector": [0, 0, 0], - "easing": "easeInElastic" - } + "0.0": [0, 0, 0], + "0.4167": [0.0441, 0.16396, -0.02671], + "0.4583": [0.26827, 0.95056, -1.6981], + "0.5": [-0.36805, 1.03264, -6.9702], + "0.5417": [-1.4502, 0.88538, -14.51111], + "0.5833": [-3.04715, 1.19976, -21.54721], + "0.625": [-4.25545, 0.3486, -27.45078], + "0.6667": [-5.50466, -2.79569, -33.3676], + "0.7083": [-6.97396, -6.91091, -39.16939], + "0.75": [-8.75181, -12.66452, -44.72621], + "0.7917": [-10.84411, -20.08928, -49.88713], + "0.8333": [-13.34003, -29.71342, -54.55761], + "0.875": [-16.22188, -40.6649, -58.75257], + "0.9167": [-19.65388, -53.69834, -62.25089], + "0.9583": [-26.60318, -67.42803, -66.09012], + "1.0": [-35.3251, -86.10628, -69.13573], + "1.0417": [-45.47726, -106.73784, -71.55172], + "1.0833": [-57.82789, -132.39146, -73.01751], + "1.125": [-72.39921, -162.95675, -73.13111], + "1.1667": [-89.34055, -197.99001, -72.07032], + "1.2083": [-109.12621, -239.05802, -69.27181], + "1.3333": [10, -9, 13], + "1.5": [10, -9, 13], + "1.8333": [0, 0, -2.09375], + "2.0833": [0, 0, 0] } }, "camera": { "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.3333": { - "vector": [0, 0, -2], - "easing": "easeInElastic", - "easingArgs": [2] - }, - "0.4167": { - "vector": [1, 1, 1], - "easing": "linear" - }, - "0.5417": { - "vector": [-0.5, -1, -1], - "easing": "linear" - }, - "0.6667": { - "vector": [0.25, 0, -2], - "easing": "linear" - }, - "1.1667": { - "vector": [0.59, 0, -0.82] - }, - "1.625": { - "vector": [0.33, 0.67, -1.2] - }, - "2.0": { - "vector": [0, 1, -1.3] - }, - "2.0417": { - "vector": [-1, -2, 1], - "easing": "linear" - }, - "2.125": { - "vector": [1, 1, 0.2], - "easing": "linear" - }, - "2.1667": { - "vector": [0.5, -1, 0.8], - "easing": "linear" - }, - "2.3333": { - "vector": [-0.125, 0, -0.5] - }, - "2.5833": { - "vector": [0, 0, 0] - } + "0.0": [0, 0, 0], + "0.3333": [0, 0, -2], + "0.4167": [1, 1, 1], + "0.5417": [-0.5, -1, -1], + "0.6667": [0.25, 0, -2], + "1.1667": [0.59, 0, -0.82], + "1.625": [0.33, 0.67, -1.2], + "2.0": [0, 1, -1.3], + "2.0417": [-1, -2, 1], + "2.125": [1, 1, 0.2], + "2.1667": [0.5, -1, 0.8], + "2.3333": [-0.125, 0, -0.5], + "2.5833": [0, 0, 0] } } }, @@ -361,53 +230,25 @@ "bones": { "0": { "rotation": { - "0.0": { - "vector": [27.21312, -47.42646, -2.0218] - }, - "0.0833": { - "vector": [12.5, -15, 0] - }, - "0.2083": { - "vector": [3.48268, 0.40464, 8.20687] - }, - "0.4167": { - "vector": [0, 0, -2] - }, - "0.5": { - "vector": [0, 0, 0] - } + "0.0": [27.21312, -47.42646, -2.0218], + "0.0833": [12.5, -15, 0], + "0.2083": [3.48268, 0.40464, 8.20687], + "0.4167": [0, 0, -2], + "0.5": [0, 0, 0] }, "position": { - "0.0": { - "vector": [3, -17.3, 0] - }, - "0.2083": { - "vector": [0, 0, -1.65] - }, - "0.2917": { - "vector": [0, 0, 0.93] - }, - "0.5": { - "vector": [0, 0, 0] - } + "0.0": [3, -17.3, 0], + "0.2083": [0, 0, -1.65], + "0.2917": [0, 0, 0.93], + "0.5": [0, 0, 0] } }, "camera": { "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2083": { - "vector": [0, 0, 0] - }, - "0.2917": { - "vector": [0.25, -0.5, 0.5], - "easing": "easeInSine" - }, - "0.4167": { - "vector": [0, 0, 0], - "easing": "easeOutSine" - } + "0.0": [0, 0, 0], + "0.2083": [0, 0, 0], + "0.2917": [0.25, -0.5, 0.5], + "0.4167": [0, 0, 0] } } } @@ -418,71 +259,27 @@ "bones": { "0": { "rotation": { - "0.0": { - "vector": [4.74287, -58.94632, 9.89514] - }, - "0.2": { - "vector": [-8.55104, -59.60571, 19.61648], - "easing": "easeInSine" - }, - "0.4": { - "vector": [-8.58141, -58.99717, 19.60323], - "easing": "easeOutSine" - }, - "0.6": { - "vector": [-0.82277, -58.8651, 9.93666], - "easing": "easeInSine" - }, - "0.8": { - "vector": [4.74287, -58.94632, 9.89514] - } + "0.0": [4.74287, -58.94632, 9.89514], + "0.2": [-8.55104, -59.60571, 19.61648], + "0.4": [-8.58141, -58.99717, 19.60323], + "0.6": [-0.82277, -58.8651, 9.93666], + "0.8": [4.74287, -58.94632, 9.89514] }, "position": { - "0.0": { - "vector": [5.5, -3, 0] - }, - "0.2": { - "vector": [3.75, -2.5, 0], - "easing": "easeInSine" - }, - "0.4": { - "vector": [2.5, -3, 0], - "easing": "easeOutSine" - }, - "0.6": { - "vector": [4.25, -2.5, 0], - "easing": "easeInSine" - }, - "0.8": { - "vector": [5.5, -3, 0] - } - } - }, - "Righthand": { - "rotation": { - "vector": [0, 12.5, 0] - }, - "position": { - "vector": [2.19838, 0, -0.07415] + "0.0": [5.5, -3, 0], + "0.2": [3.75, -2.5, 0], + "0.4": [2.5, -3, 0], + "0.6": [4.25, -2.5, 0], + "0.8": [5.5, -3, 0] } }, "camera": { "rotation": { - "0.0": { - "vector": [-0.3, -0.3, 0.3] - }, - "0.2": { - "vector": [0.3, 0, -0.3] - }, - "0.4": { - "vector": [-0.3, 0.3, 0.3] - }, - "0.6": { - "vector": [0.3, 0, -0.3] - }, - "0.8": { - "vector": [-0.3, -0.3, 0.3] - } + "0.0": [-0.3, -0.3, 0.3], + "0.2": [0.3, 0, -0.3], + "0.4": [-0.3, 0.3, 0.3], + "0.6": [0.3, 0, -0.3], + "0.8": [-0.3, -0.3, 0.3] } } } @@ -493,70 +290,30 @@ "bones": { "0": { "rotation": { - "0.0": { - "vector": [-64.40359, 6.54216, -8.29677] - }, - "0.175": { - "vector": [-63.64549, 6.90094, -2.09726], - "easing": "easeInSine" - }, - "0.35": { - "vector": [-64.40359, 6.54216, -8.29677], - "easing": "easeOutSine" - }, - "0.525": { - "vector": [-65.4022, 6.21514, -14.3956], - "easing": "easeInSine" - }, - "0.7": { - "vector": [-64.40359, 6.54216, -8.29677], - "easing": "easeOutSine" - } + "0.0": [-64.40359, 6.54216, -8.29677], + "0.175": [-63.64549, 6.90094, -2.09726], + "0.35": [-64.40359, 6.54216, -8.29677], + "0.525": [-65.4022, 6.21514, -14.3956], + "0.7": [-64.40359, 6.54216, -8.29677] }, "position": { - "0.0": { - "vector": [-3.5, 2, 0], - "easing": "easeOutSine" - }, - "0.175": { - "vector": [-4.5, 4, 0], - "easing": "easeInSine" - }, - "0.35": { - "vector": [-5.5, 2, 0], - "easing": "easeOutSine" - }, - "0.525": { - "vector": [-4.5, 4, 0], - "easing": "easeInSine" - }, - "0.7": { - "vector": [-3.5, 2, 0], - "easing": "easeOutSine" - } + "0.0": [-3.5, 2, 0], + "0.175": [-4.5, 4, 0], + "0.35": [-5.5, 2, 0], + "0.525": [-4.5, 4, 0], + "0.7": [-3.5, 2, 0] } }, "camera": { "rotation": { - "0.0": { - "vector": [-0.3, -0.3, 0.3] - }, - "0.175": { - "vector": [0.3, 0, -0.3] - }, - "0.35": { - "vector": [-0.3, 0.3, 0.3] - }, - "0.525": { - "vector": [0.3, 0, -0.3] - }, - "0.7": { - "vector": [-0.3, -0.3, 0.3] - } + "0.0": [-0.3, -0.3, 0.3], + "0.175": [0.3, 0, -0.3], + "0.35": [-0.3, 0.3, 0.3], + "0.525": [0.3, 0, -0.3], + "0.7": [-0.3, -0.3, 0.3] } } } } - }, - "geckolib_format_version": 2 + } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/geo/ak.geo.json b/src/main/resources/assets/superbwarfare/geo/ak.geo.json index 4f633a3eb..ea159a7d0 100644 --- a/src/main/resources/assets/superbwarfare/geo/ak.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/ak.geo.json @@ -19826,19 +19826,19 @@ { "name": "Lefthand", "parent": "magazine", - "pivot": [6.23575, -6.41469, -1.32145], - "rotation": [86.71153, -50.16741, -123.46245], + "pivot": [1.28636, -0.07038, -7.39903], + "rotation": [-88.72948, -51.54928, -132.8024], "cubes": [ { - "origin": [4.63575, -6.41469, -3.07145], - "size": [3, 12, 4], + "origin": [-0.71364, -1.07038, -9.39903], + "size": [4, 12, 4], "uv": { - "north": {"uv": [35.5, 31], "uv_size": [0.25, 0.25]}, - "east": {"uv": [35.5, 31], "uv_size": [0.25, 0.25]}, - "south": {"uv": [35.5, 31], "uv_size": [0.25, 0.25]}, - "west": {"uv": [35.5, 31], "uv_size": [0.25, 0.25]}, - "up": {"uv": [35.75, 31.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [35.75, 31.25], "uv_size": [-0.25, -0.25]} + "north": {"uv": [9.5, 35.5], "uv_size": [-0.5, -0.5]}, + "east": {"uv": [9.5, 35.5], "uv_size": [-0.5, -0.5]}, + "south": {"uv": [9.5, 35.5], "uv_size": [-0.5, -0.5]}, + "west": {"uv": [10.5, 34], "uv_size": [-0.5, -0.5]}, + "up": {"uv": [9, 35], "uv_size": [0.5, 0.5]}, + "down": {"uv": [9, 35], "uv_size": [0.5, 0.5]} } } ] @@ -22120,19 +22120,19 @@ { "name": "Righthand", "parent": "0", - "pivot": [-3.9878, -4.75077, 12.17668], - "rotation": [107.23447, 13.26214, -173.79815], + "pivot": [-0.60468, -1.33634, 1.54587], + "rotation": [-75.81552, 9.63414, -177.43973], "cubes": [ { - "origin": [-5.9878, -3.75077, 10.17668], + "origin": [-2.60468, -2.33634, -0.45413], "size": [4, 12, 4], "uv": { - "north": {"uv": [4, 4], "uv_size": [0.25, 0.25]}, - "east": {"uv": [4, 4], "uv_size": [0.25, 0.25]}, - "south": {"uv": [4, 4], "uv_size": [0.25, 0.25]}, - "west": {"uv": [4, 4], "uv_size": [0.25, 0.25]}, - "up": {"uv": [4.25, 4.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [4.25, 4.25], "uv_size": [-0.25, -0.25]} + "north": {"uv": [10.5, 31], "uv_size": [-0.5, 0.5]}, + "east": {"uv": [10.5, 31], "uv_size": [-0.5, 0.5]}, + "south": {"uv": [10.5, 31], "uv_size": [-0.5, 0.5]}, + "west": {"uv": [10.5, 31], "uv_size": [-0.5, 0.5]}, + "up": {"uv": [10, 31.5], "uv_size": [0.5, -0.5]}, + "down": {"uv": [10, 31.5], "uv_size": [0.5, -0.5]} } } ] diff --git a/src/main/resources/assets/superbwarfare/geo/mp443.geo.json b/src/main/resources/assets/superbwarfare/geo/mp443.geo.json new file mode 100644 index 000000000..e3a646953 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/geo/mp443.geo.json @@ -0,0 +1,3134 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 4, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] + }, + "bones": [ + { + "name": "camera", + "pivot": [0.87141, 7.16276, 13.77702] + }, + { + "name": "root", + "pivot": [0, -1.5, -1] + }, + { + "name": "bone", + "parent": "root", + "pivot": [8, 9.5, -7] + }, + { + "name": "shen", + "parent": "bone", + "pivot": [0, -0.5, 1] + }, + { + "name": "0", + "parent": "shen", + "pivot": [0, 3.75, 3.25] + }, + { + "name": "gun", + "parent": "0", + "pivot": [0, 0.25, 3.5] + }, + { + "name": "huatao", + "parent": "gun", + "pivot": [0, 2, 1.25] + }, + { + "name": "slide_illuminated", + "parent": "huatao", + "pivot": [0, 3.1875, 5.23438], + "cubes": [ + { + "origin": [-0.34375, 3.15625, 5.20313], + "size": [0.1875, 0.0625, 0.0625], + "uv": { + "east": {"uv": [38, 3], "uv_size": [0.25, 0.25]}, + "south": {"uv": [4, 38], "uv_size": [0.25, 0.25]}, + "west": {"uv": [38, 4], "uv_size": [0.25, 0.25]}, + "up": {"uv": [5, 38], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.15625, 3.15625, 5.20313], + "size": [0.1875, 0.0625, 0.0625], + "uv": { + "east": {"uv": [38, 1], "uv_size": [0.25, 0.25]}, + "south": {"uv": [2, 38], "uv_size": [0.25, 0.25]}, + "west": {"uv": [38, 2], "uv_size": [0.25, 0.25]}, + "up": {"uv": [3, 38], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.04687, 3.03125, -3.59375], + "size": [0.09375, 0.20313, 0.125], + "uv": { + "east": {"uv": [38, 5], "uv_size": [0.25, 0.25]}, + "south": {"uv": [6, 38], "uv_size": [0.25, 0.25]}, + "west": {"uv": [38, 6], "uv_size": [0.25, 0.25]}, + "up": {"uv": [7, 38], "uv_size": [0.25, 0.25]}, + "down": {"uv": [38, 7.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "slide_main", + "parent": "huatao", + "pivot": [0, 3.1106, -3.61509], + "cubes": [ + { + "origin": [-0.625, 1.5, -2.75], + "size": [1.25, 1.25, 3], + "uv": { + "north": {"uv": [8, 15], "uv_size": [1.25, 1.25]}, + "east": {"uv": [7, 5], "uv_size": [3, 1.25]}, + "south": {"uv": [15, 8], "uv_size": [1.25, 1.25]}, + "west": {"uv": [7, 7], "uv_size": [3, 1.25]}, + "down": {"uv": [8, 3], "uv_size": [1.25, -3]} + } + }, + { + "origin": [-0.625, 1.5, 2.25], + "size": [1.25, 1.25, 2.75], + "uv": { + "north": {"uv": [8, 17], "uv_size": [1.25, 1.25]}, + "east": {"uv": [8, 3], "uv_size": [2.75, 1.25]}, + "south": {"uv": [12, 17], "uv_size": [1.25, 1.25]}, + "west": {"uv": [8, 9], "uv_size": [2.75, 1.25]}, + "up": {"uv": [0, 10], "uv_size": [1.25, 2.75]}, + "down": {"uv": [10, 2.75], "uv_size": [1.25, -2.75]} + } + }, + { + "origin": [0.5625, 1.75, -1.25], + "size": [0.125, 0.5, 4], + "uv": { + "north": {"uv": [21, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [33, 21], "uv_size": [0.25, 0.5]}, + "west": {"uv": [14, 1], "uv_size": [4, 0.5]} + } + }, + { + "origin": [0.5625, 1.75, 5.5], + "size": [0.125, 0.5, 0.5], + "uv": { + "north": {"uv": [20, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [33, 20], "uv_size": [0.25, 0.5]}, + "west": {"uv": [30, 16], "uv_size": [0.5, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -2.54687], + "size": [1.373, 0.5, 0.07813], + "pivot": [-0.626, 2, -2.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [23, 19], "uv_size": [1.25, 0.5]}, + "east": {"uv": [25, 32], "uv_size": [0.25, 0.5]}, + "south": {"uv": [23, 20], "uv_size": [1.25, 0.5]}, + "west": {"uv": [32, 25], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -2.40625], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -2.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [21, 23], "uv_size": [1.25, 0.5]}, + "east": {"uv": [32, 27], "uv_size": [0.25, 0.5]}, + "south": {"uv": [23, 21], "uv_size": [1.25, 0.5]}, + "west": {"uv": [28, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -2.28125], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -2.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [23, 22], "uv_size": [1.25, 0.5]}, + "east": {"uv": [32, 28], "uv_size": [0.25, 0.5]}, + "south": {"uv": [23, 23], "uv_size": [1.25, 0.5]}, + "west": {"uv": [29, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -2.15625], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -2.125], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 0], "uv_size": [1.25, 0.5]}, + "east": {"uv": [32, 29], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 1], "uv_size": [1.25, 0.5]}, + "west": {"uv": [30, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -2.03125], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -2], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [2, 24], "uv_size": [1.25, 0.5]}, + "east": {"uv": [32, 30], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 2], "uv_size": [1.25, 0.5]}, + "west": {"uv": [31, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.90625], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -1.875], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 3], "uv_size": [1.25, 0.5]}, + "east": {"uv": [32, 31], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 4], "uv_size": [1.25, 0.5]}, + "west": {"uv": [32, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.78125], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -1.75], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 5], "uv_size": [1.25, 0.5]}, + "east": {"uv": [0, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 6], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 0], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 2.70313], + "size": [1.373, 0.5, 0.07813], + "pivot": [-0.626, 2, 2.75], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [0, 25], "uv_size": [1.25, 0.5]}, + "east": {"uv": [7, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [2, 25], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 7], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 2.84375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 2.875], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [22, 24], "uv_size": [1.25, 0.5]}, + "east": {"uv": [6, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 24], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 6], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 2.96875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [16, 24], "uv_size": [1.25, 0.5]}, + "east": {"uv": [5, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [20, 24], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 5], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.09375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.125], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [25, 17], "uv_size": [1.25, 0.5]}, + "east": {"uv": [10, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [18, 25], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 10], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.21875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [14, 25], "uv_size": [1.25, 0.5]}, + "east": {"uv": [9, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [16, 25], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 9], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.34375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [4, 25], "uv_size": [1.25, 0.5]}, + "east": {"uv": [8, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [25, 12], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 8], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.46875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [25, 21], "uv_size": [1.25, 0.5]}, + "east": {"uv": [13, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [22, 25], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 13], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.59375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.625], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [20, 25], "uv_size": [1.25, 0.5]}, + "east": {"uv": [12, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [25, 20], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 12], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.71875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.75], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [25, 18], "uv_size": [1.25, 0.5]}, + "east": {"uv": [11, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [25, 19], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 11], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.84375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 3.875], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 0], "uv_size": [1.25, 0.5]}, + "east": {"uv": [16, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 1], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 16], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 3.96875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 25], "uv_size": [1.25, 0.5]}, + "east": {"uv": [15, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [0, 26], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 15], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.09375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.125], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [25, 22], "uv_size": [1.25, 0.5]}, + "east": {"uv": [14, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [25, 23], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 14], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.21875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 4], "uv_size": [1.25, 0.5]}, + "east": {"uv": [19, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 5], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 19], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.34375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 3], "uv_size": [1.25, 0.5]}, + "east": {"uv": [18, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [4, 26], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 18], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.46875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [2, 26], "uv_size": [1.25, 0.5]}, + "east": {"uv": [17, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 2], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 17], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.59375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.625], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 6], "uv_size": [1.25, 0.5]}, + "east": {"uv": [33, 31], "uv_size": [0.25, 0.5]}, + "south": {"uv": [7, 26], "uv_size": [1.25, 0.5]}, + "west": {"uv": [32, 33], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.71875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.75], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 7], "uv_size": [1.25, 0.5]}, + "east": {"uv": [33, 32], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 8], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 33], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.84375], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 4.875], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [9, 26], "uv_size": [1.25, 0.5]}, + "east": {"uv": [0, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 9], "uv_size": [1.25, 0.5]}, + "west": {"uv": [34, 0], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 4.96875], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, 5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [26, 10], "uv_size": [1.25, 0.5]}, + "east": {"uv": [1, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [26, 11], "uv_size": [1.25, 0.5]}, + "west": {"uv": [34, 1], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 5.09375], + "size": [0.0625, 0.5, 0.0625], + "pivot": [-0.626, 2, 5.125], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [2, 34], "uv_size": [0.25, 0.5]}, + "east": {"uv": [34, 2], "uv_size": [0.25, 0.5]}, + "south": {"uv": [3, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 5.21875], + "size": [0.0625, 0.5, 0.0625], + "pivot": [-0.626, 2, 5.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [34, 3], "uv_size": [0.25, 0.5]}, + "east": {"uv": [4, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [34, 4], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 5.34375], + "size": [0.0625, 0.5, 0.0625], + "pivot": [-0.626, 2, 5.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [5, 34], "uv_size": [0.25, 0.5]}, + "east": {"uv": [34, 5], "uv_size": [0.25, 0.5]}, + "south": {"uv": [6, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.65625], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -1.625], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 7], "uv_size": [1.25, 0.5]}, + "east": {"uv": [1, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 8], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 1], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.53125], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -1.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 9], "uv_size": [1.25, 0.5]}, + "east": {"uv": [2, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 10], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 2], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.40625], + "size": [1.373, 0.5, 0.0625], + "pivot": [-0.626, 2, -1.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [24, 11], "uv_size": [1.25, 0.5]}, + "east": {"uv": [3, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 13], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 3], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, -1.28125], + "size": [1.373, 0.5, 0.07813], + "pivot": [-0.626, 2, -1.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [14, 24], "uv_size": [1.25, 0.5]}, + "east": {"uv": [4, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [24, 14], "uv_size": [1.25, 0.5]}, + "west": {"uv": [33, 4], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6865, 1.75, 5.46875], + "size": [0.0625, 0.5, 0.07813], + "pivot": [-0.626, 2, 5.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [30, 33], "uv_size": [0.25, 0.5]}, + "east": {"uv": [33, 30], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 33], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.624, 1.75, 5.34375], + "size": [0.0625, 0.5, 0.0625], + "pivot": [0.626, 2, 5.375], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [11, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [34, 11], "uv_size": [0.25, 0.5]}, + "west": {"uv": [12, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.624, 1.75, 5.21875], + "size": [0.0625, 0.5, 0.0625], + "pivot": [0.626, 2, 5.25], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [34, 9], "uv_size": [0.25, 0.5]}, + "south": {"uv": [10, 34], "uv_size": [0.25, 0.5]}, + "west": {"uv": [34, 10], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.624, 1.75, 5.09375], + "size": [0.0625, 0.5, 0.0625], + "pivot": [0.626, 2, 5.125], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [8, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [34, 8], "uv_size": [0.25, 0.5]}, + "west": {"uv": [9, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.624, 1.75, 5.46875], + "size": [0.0625, 0.5, 0.07813], + "pivot": [0.626, 2, 5.5], + "rotation": [10, 0, 0], + "uv": { + "north": {"uv": [34, 6], "uv_size": [0.25, 0.5]}, + "south": {"uv": [7, 34], "uv_size": [0.25, 0.5]}, + "west": {"uv": [34, 7], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.40403, 2.13258, -2.75], + "size": [0.125, 0.125, 8.75], + "pivot": [0.46653, 2.38258, 1.625], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [36, 22], "uv_size": [0.25, 0.25]}, + "south": {"uv": [23, 36], "uv_size": [0.25, 0.25]}, + "west": {"uv": [13, 3], "uv_size": [8.75, 0.25]}, + "down": {"uv": [11, 20.75], "uv_size": [0.25, -8.75]} + } + }, + { + "origin": [-0.52903, 2.13258, -2.75], + "size": [0.125, 0.125, 8.75], + "pivot": [-0.46653, 2.38258, 1.625], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [38, 10], "uv_size": [0.25, 0.25]}, + "east": {"uv": [13, 7], "uv_size": [8.75, 0.25]}, + "south": {"uv": [11, 38], "uv_size": [0.25, 0.25]}, + "down": {"uv": [5, 21.75], "uv_size": [0.25, -8.75]} + } + }, + { + "origin": [0.5625, 1.75, -2.75], + "size": [0.125, 0.5, 0.25], + "uv": { + "north": {"uv": [26, 32], "uv_size": [0.25, 0.5]}, + "south": {"uv": [32, 26], "uv_size": [0.25, 0.5]}, + "west": {"uv": [27, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6875, 1.75, -2.75], + "size": [0.125, 0.5, 0.25], + "uv": { + "north": {"uv": [5, 35], "uv_size": [0.25, 0.5]}, + "east": {"uv": [35, 5], "uv_size": [0.25, 0.5]}, + "south": {"uv": [6, 35], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6875, 1.75, -1.25], + "size": [0.125, 0.5, 4], + "uv": { + "north": {"uv": [4, 35], "uv_size": [0.25, 0.5]}, + "east": {"uv": [14, 11], "uv_size": [4, 0.5]}, + "south": {"uv": [35, 4], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.6875, 1.75, 5.5], + "size": [0.125, 0.5, 0.5], + "uv": { + "north": {"uv": [3, 35], "uv_size": [0.25, 0.5]}, + "east": {"uv": [31, 10], "uv_size": [0.5, 0.5]}, + "south": {"uv": [35, 3], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.51451, 1.69665, -2.75], + "size": [0.125, 0.125, 8.75], + "pivot": [0.57701, 1.7279, 1.625], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [36, 21], "uv_size": [0.25, 0.25]}, + "south": {"uv": [22, 36], "uv_size": [0.25, 0.25]}, + "west": {"uv": [12, 2], "uv_size": [8.75, 0.25]}, + "up": {"uv": [12, 5], "uv_size": [0.25, 8.75]} + } + }, + { + "origin": [-0.63951, 1.69665, -2.75], + "size": [0.125, 0.125, 8.75], + "pivot": [-0.57701, 1.7279, 1.625], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [38, 9], "uv_size": [0.25, 0.25]}, + "east": {"uv": [13, 6], "uv_size": [8.75, 0.25]}, + "south": {"uv": [10, 38], "uv_size": [0.25, 0.25]}, + "up": {"uv": [3, 13], "uv_size": [0.25, 8.75]} + } + }, + { + "origin": [-0.375, 2.75, -3], + "size": [0.75, 0.25, 3.25], + "uv": { + "north": {"uv": [13, 31], "uv_size": [0.75, 0.25]}, + "south": {"uv": [31, 13], "uv_size": [0.75, 0.25]}, + "up": {"uv": [9, 11], "uv_size": [0.75, 3.25]} + } + }, + { + "origin": [0.17678, 2.52145, -3], + "size": [0.35355, 0.25, 3.25], + "pivot": [0.55178, 2.64645, -1.25], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [13, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 13], "uv_size": [0.25, 0.25]}, + "up": {"uv": [8, 22], "uv_size": [0.25, 3.25]} + } + }, + { + "origin": [-0.53033, 2.52145, -3], + "size": [0.35355, 0.25, 3.25], + "pivot": [-0.55178, 2.64645, -1.25], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [14, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 14], "uv_size": [0.25, 0.25]}, + "up": {"uv": [13, 22], "uv_size": [0.25, 3.25]} + } + }, + { + "origin": [0.4375, 1.5, 0.25], + "size": [0.1875, 1, 2], + "uv": { + "north": {"uv": [30, 4], "uv_size": [0.25, 1]}, + "east": {"uv": [6, 13], "uv_size": [2, 1]}, + "south": {"uv": [5, 30], "uv_size": [0.25, 1]}, + "west": {"uv": [13, 8], "uv_size": [2, 1]}, + "up": {"uv": [26, 26], "uv_size": [0.25, 2]}, + "down": {"uv": [0, 29], "uv_size": [0.25, -2]} + } + }, + { + "origin": [-0.625, 1.5, 0.25], + "size": [0.1875, 1, 2], + "uv": { + "north": {"uv": [30, 14], "uv_size": [0.25, 1]}, + "east": {"uv": [13, 13], "uv_size": [2, 1]}, + "south": {"uv": [30, 15], "uv_size": [0.25, 1]}, + "west": {"uv": [14, 0], "uv_size": [2, 1]}, + "up": {"uv": [7, 27], "uv_size": [0.25, 2]}, + "down": {"uv": [8, 29], "uv_size": [0.25, -2]} + } + }, + { + "origin": [-0.25, 2.125, 4.8125], + "size": [0.5, 0.625, 0.25], + "uv": { + "north": {"uv": [28, 22], "uv_size": [0.5, 0.75]}, + "east": {"uv": [14, 31], "uv_size": [0.25, 0.75]}, + "south": {"uv": [28, 23], "uv_size": [0.5, 0.75]}, + "west": {"uv": [31, 14], "uv_size": [0.25, 0.75]}, + "up": {"uv": [19, 32], "uv_size": [0.5, 0.25]}, + "down": {"uv": [32, 19.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [0.25, 2.125, 4.9375], + "size": [0.1875, 0.625, 0.1875], + "uv": { + "north": {"uv": [25, 31], "uv_size": [0.25, 0.75]}, + "east": {"uv": [31, 25], "uv_size": [0.25, 0.75]}, + "south": {"uv": [26, 31], "uv_size": [0.25, 0.75]}, + "west": {"uv": [31, 26], "uv_size": [0.25, 0.75]}, + "up": {"uv": [17, 36], "uv_size": [0.25, 0.25]}, + "down": {"uv": [36, 17.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.09375, 2.3125, 4.9375], + "size": [0.1875, 0.1875, 0.1875], + "pivot": [0, 2.40625, 5.03125], + "rotation": [0, 0, 45], + "uv": { + "east": {"uv": [19, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 19], "uv_size": [0.25, 0.25]}, + "west": {"uv": [20, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 20], "uv_size": [0.25, 0.25]}, + "down": {"uv": [21, 36.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.4375, 2.125, 4.9375], + "size": [0.1875, 0.625, 0.1875], + "uv": { + "north": {"uv": [27, 31], "uv_size": [0.25, 0.75]}, + "east": {"uv": [31, 27], "uv_size": [0.25, 0.75]}, + "south": {"uv": [28, 31], "uv_size": [0.25, 0.75]}, + "west": {"uv": [31, 28], "uv_size": [0.25, 0.75]}, + "up": {"uv": [18, 36], "uv_size": [0.25, 0.25]}, + "down": {"uv": [36, 18.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.4365, 1.49922, 5.78937], + "size": [0.1875, 0.92388, 0.38268], + "pivot": [0, 2.02907, 5.89272], + "rotation": [22.5, 0, 0], + "uv": { + "east": {"uv": [4, 27], "uv_size": [0.5, 1]}, + "south": {"uv": [12, 30], "uv_size": [0.25, 1]}, + "west": {"uv": [5, 27], "uv_size": [0.5, 1]} + } + }, + { + "origin": [-0.624, 1.49922, 5.78937], + "size": [0.1875, 0.92388, 0.38268], + "pivot": [0, 2.02907, 5.89272], + "rotation": [22.5, 0, 0], + "uv": { + "east": {"uv": [28, 3], "uv_size": [0.5, 1]}, + "south": {"uv": [10, 31], "uv_size": [0.25, 1]}, + "west": {"uv": [4, 28], "uv_size": [0.5, 1]} + } + }, + { + "origin": [-0.625, 1.5, 5.25], + "size": [0.1875, 1, 0.75], + "uv": { + "east": {"uv": [23, 0], "uv_size": [0.75, 1]}, + "west": {"uv": [23, 1], "uv_size": [0.75, 1]}, + "up": {"uv": [31, 22], "uv_size": [0.25, 0.75]}, + "down": {"uv": [23, 31.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [0.4375, 1.5, 5.25], + "size": [0.1875, 1, 0.75], + "uv": { + "east": {"uv": [21, 22], "uv_size": [0.75, 1]}, + "west": {"uv": [22, 22], "uv_size": [0.75, 1]}, + "up": {"uv": [31, 21], "uv_size": [0.25, 0.75]}, + "down": {"uv": [22, 31.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [0.4375, 1.5, 5], + "size": [0.1875, 1.25, 0.25], + "uv": { + "north": {"uv": [29, 17], "uv_size": [0.25, 1.25]}, + "east": {"uv": [18, 29], "uv_size": [0.25, 1.25]}, + "south": {"uv": [29, 19], "uv_size": [0.25, 1.25]}, + "west": {"uv": [21, 29], "uv_size": [0.25, 1.25]}, + "up": {"uv": [16, 36], "uv_size": [0.25, 0.25]}, + "down": {"uv": [36, 16.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.625, 1.5, 5], + "size": [0.1875, 1.25, 0.25], + "uv": { + "north": {"uv": [15, 29], "uv_size": [0.25, 1.25]}, + "east": {"uv": [29, 15], "uv_size": [0.25, 1.25]}, + "south": {"uv": [16, 29], "uv_size": [0.25, 1.25]}, + "west": {"uv": [17, 29], "uv_size": [0.25, 1.25]}, + "up": {"uv": [15, 36], "uv_size": [0.25, 0.25]}, + "down": {"uv": [36, 15.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.4375, 1.5, 6], + "size": [0.1875, 0.14645, 0.35355], + "uv": { + "east": {"uv": [35, 33], "uv_size": [0.25, 0.25]}, + "south": {"uv": [34, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [35, 34], "uv_size": [0.25, 0.25]}, + "down": {"uv": [35, 35.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.625, 1.5, 6], + "size": [0.1875, 0.14645, 0.35355], + "uv": { + "east": {"uv": [35, 31], "uv_size": [0.25, 0.25]}, + "south": {"uv": [32, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [35, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 35.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.4365, 2.2294, 4.84672], + "size": [0.1875, 0.35355, 0.38268], + "pivot": [0, 2.69134, 5.03806], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [32, 20], "uv_size": [0.5, 0.25]}, + "south": {"uv": [31, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [21, 32], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.624, 2.2294, 4.84672], + "size": [0.1875, 0.35355, 0.38268], + "pivot": [0, 2.69134, 5.03806], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [2, 35], "uv_size": [0.5, 0.25]}, + "south": {"uv": [9, 38], "uv_size": [0.25, 0.25]}, + "west": {"uv": [35, 2], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [0.17678, 2.52145, 4.5], + "size": [0.35355, 0.25, 0.75], + "pivot": [0.55178, 2.64645, 3.75], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [15, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 15], "uv_size": [0.25, 0.25]}, + "up": {"uv": [15, 31], "uv_size": [0.25, 0.75]}, + "down": {"uv": [31, 15.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [0.125, 3.125, 5], + "size": [0.25, 0.125, 0.25], + "uv": { + "east": {"uv": [1, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 1], "uv_size": [0.25, 0.25]}, + "west": {"uv": [2, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 2], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.125, 3.05492, 4.83081], + "size": [0.25, 0.125, 0.25], + "pivot": [0.5, 3.11742, 4.95581], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [3, 36], "uv_size": [0.25, 0.25]}, + "west": {"uv": [36, 3], "uv_size": [0.25, 0.25]}, + "up": {"uv": [4, 36], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.375, 3.125, 5], + "size": [0.25, 0.125, 0.25], + "uv": { + "east": {"uv": [6, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 6], "uv_size": [0.25, 0.25]}, + "west": {"uv": [7, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 7], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.125, 3, 5], + "size": [0.125, 0.125, 0.25], + "pivot": [-0.0625, 3.1875, 5.125], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [8, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 8], "uv_size": [0.25, 0.25]}, + "up": {"uv": [9, 36], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.125, 3.125, 5], + "size": [0.125, 0.125, 0.25], + "pivot": [0.0625, 3.1875, 5.125], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [36, 9], "uv_size": [0.25, 0.25]}, + "east": {"uv": [10, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 10], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.375, 3.05492, 4.83081], + "size": [0.25, 0.125, 0.25], + "pivot": [0, 3.11742, 4.95581], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [36, 4], "uv_size": [0.25, 0.25]}, + "west": {"uv": [5, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 5], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.375, 3, 4.25], + "size": [0.75, 0.125, 1], + "uv": { + "east": {"uv": [13, 30], "uv_size": [1, 0.25]}, + "south": {"uv": [31, 24], "uv_size": [0.75, 0.25]}, + "west": {"uv": [14, 30], "uv_size": [1, 0.25]}, + "up": {"uv": [2, 23], "uv_size": [0.75, 1]} + } + }, + { + "origin": [-0.375, 2.81342, 3.81198], + "size": [0.75, 0.125, 0.5], + "pivot": [0, 2.87592, 3.81198], + "rotation": [22.5, 0, 0], + "uv": { + "east": {"uv": [32, 22], "uv_size": [0.5, 0.25]}, + "west": {"uv": [23, 32], "uv_size": [0.5, 0.25]}, + "up": {"uv": [26, 28], "uv_size": [0.75, 0.5]} + } + }, + { + "origin": [-0.53033, 2.52145, 4.5], + "size": [0.35355, 0.25, 0.75], + "pivot": [-0.55178, 2.64645, 3.75], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [16, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 16], "uv_size": [0.25, 0.25]}, + "up": {"uv": [16, 31], "uv_size": [0.25, 0.75]}, + "down": {"uv": [31, 16.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [-0.53033, 2.52145, 4], + "size": [0.125, 0.25, 0.5], + "pivot": [-0.55178, 2.64645, 3.25], + "rotation": [0, 0, -45], + "uv": { + "up": {"uv": [32, 21], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.53661, 2.83839, 4], + "size": [1.07322, -0.001, 0.5], + "uv": { + "up": {"uv": [6, 27], "uv_size": [1, 0.5]} + } + }, + { + "origin": [0.40533, 2.52145, 4], + "size": [0.125, 0.25, 0.5], + "pivot": [0.55178, 2.64645, 3.25], + "rotation": [0, 0, 45], + "uv": { + "up": {"uv": [22, 32], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.375, 2.75, 2.75], + "size": [0.75, 0.25, 2.5], + "uv": { + "north": {"uv": [31, 23], "uv_size": [0.75, 0.25]}, + "east": {"uv": [23, 15], "uv_size": [2.5, 0.25]}, + "south": {"uv": [24, 31], "uv_size": [0.75, 0.25]}, + "west": {"uv": [23, 16], "uv_size": [2.5, 0.25]}, + "up": {"uv": [12, 14], "uv_size": [0.75, 2.5]}, + "down": {"uv": [13, 16.5], "uv_size": [0.75, -2.5]} + } + }, + { + "origin": [0.125, 2.75, 2.25], + "size": [0.25, 0.25, 0.5], + "uv": { + "north": {"uv": [37, 12], "uv_size": [0.25, 0.25]}, + "east": {"uv": [34, 22], "uv_size": [0.5, 0.25]}, + "up": {"uv": [23, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.375, 2.75, 2.25], + "size": [0.25, 0.25, 0.5], + "uv": { + "north": {"uv": [13, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [34, 23], "uv_size": [0.5, 0.25]}, + "up": {"uv": [24, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.125, 2.8115, 2.5], + "size": [0.25, 0.1875, 0.25], + "pivot": [0, 2.90625, 2.625], + "rotation": [0, -45, 0], + "uv": { + "east": {"uv": [14, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 14], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.125, 2.8115, 2.75], + "size": [0.25, 0.1875, 0.25], + "pivot": [0, 2.90625, 2.625], + "rotation": [0, -45, 0], + "uv": { + "north": {"uv": [15, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 15], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.125, 2.75, 2.25], + "size": [0.25, 0.1875, 0.5], + "uv": { + "north": {"uv": [37, 13], "uv_size": [0.25, 0.25]}, + "up": {"uv": [34, 24], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.53033, 2.52145, 2.249], + "size": [0.35355, 0.25, 1.75], + "pivot": [-0.55178, 2.64645, 3.75], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [0, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 0], "uv_size": [0.25, 0.25]}, + "up": {"uv": [14, 28], "uv_size": [0.25, 1.75]} + } + }, + { + "origin": [0.17678, 2.52145, 2.249], + "size": [0.35355, 0.25, 1.75], + "pivot": [0.55178, 2.64645, 3.75], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [8, 38], "uv_size": [0.25, 0.25]}, + "south": {"uv": [38, 8], "uv_size": [0.25, 0.25]}, + "up": {"uv": [28, 15], "uv_size": [0.25, 1.75]} + } + }, + { + "origin": [-0.624, 1.6224, -0.63128], + "size": [0.1865, 0.25, 0.5], + "pivot": [0, 1.2474, 0.86872], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [32, 23], "uv_size": [0.5, 0.25]}, + "west": {"uv": [24, 32], "uv_size": [0.5, 0.25]}, + "up": {"uv": [32, 24], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.4375, 1.6224, -0.63128], + "size": [0.1865, 0.25, 0.5], + "pivot": [0, 1.2474, 0.86872], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [32, 34], "uv_size": [0.5, 0.25]}, + "west": {"uv": [34, 32], "uv_size": [0.5, 0.25]}, + "up": {"uv": [33, 34], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.4375, 1.6224, 2.63128], + "size": [0.1865, 0.25, 0.5], + "pivot": [0, 1.2474, 1.63128], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [35, 0], "uv_size": [0.5, 0.25]}, + "west": {"uv": [1, 35], "uv_size": [0.5, 0.25]}, + "up": {"uv": [35, 1], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.624, 1.6224, 2.63128], + "size": [0.1865, 0.25, 0.5], + "pivot": [0, 1.2474, 1.63128], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [34, 33], "uv_size": [0.5, 0.25]}, + "west": {"uv": [34, 34], "uv_size": [0.5, 0.25]}, + "up": {"uv": [0, 35], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.25, 2, -3.75], + "size": [0.25, 0.75, 1], + "uv": { + "north": {"uv": [18, 31], "uv_size": [0.25, 0.75]}, + "west": {"uv": [16, 22], "uv_size": [1, 0.75]}, + "up": {"uv": [30, 5], "uv_size": [0.25, 1]} + } + }, + { + "origin": [-0.25, 2, -3.75], + "size": [0.5, 0.125, 1], + "uv": { + "north": {"uv": [34, 12], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.5, 2, -3.75], + "size": [0.25, 0.75, 1], + "uv": { + "north": {"uv": [5, 32], "uv_size": [0.25, 0.75]}, + "east": {"uv": [23, 3], "uv_size": [1, 0.75]}, + "up": {"uv": [19, 30], "uv_size": [0.25, 1]} + } + }, + { + "origin": [-0.375, 2.625, -3.75], + "size": [0.75, 0.25, 1], + "uv": { + "north": {"uv": [31, 18], "uv_size": [0.75, 0.25]}, + "up": {"uv": [22, 16], "uv_size": [0.75, 1]} + } + }, + { + "origin": [-0.39775, 2.50314, -3.75], + "size": [0.17678, 0.125, 1], + "pivot": [-0.59597, 2.56564, -3.25], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [19, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [6, 30], "uv_size": [0.25, 1]} + } + }, + { + "origin": [0.22097, 2.50314, -3.75], + "size": [0.17678, 0.125, 1], + "pivot": [0.59597, 2.56564, -3.25], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 19], "uv_size": [0.25, 0.25]}, + "up": {"uv": [30, 6], "uv_size": [0.25, 1]} + } + }, + { + "origin": [-0.498, 1.85781, -3.66998], + "size": [0.996, 0.25, 1], + "pivot": [-0.002, 2.23281, -3.16998], + "rotation": [-15, 0, 0], + "uv": { + "east": {"uv": [7, 30], "uv_size": [1, 0.25]}, + "west": {"uv": [9, 30], "uv_size": [1, 0.25]}, + "down": {"uv": [20, 22], "uv_size": [1, -1]} + } + }, + { + "origin": [-0.499, 1.90533, -2.92678], + "size": [0.998, 0.5, 0.5], + "pivot": [-0.001, 2.15533, -2.92678], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [10, 30], "uv_size": [0.5, 0.5]}, + "west": {"uv": [11, 30], "uv_size": [0.5, 0.5]}, + "down": {"uv": [3, 27.5], "uv_size": [1, -0.5]} + } + }, + { + "origin": [-0.375, 1.3125, -3.75], + "size": [0.75, 0.6875, 1.5], + "uv": { + "north": {"uv": [18, 24], "uv_size": [0.75, 0.75]}, + "east": {"uv": [20, 17], "uv_size": [1.5, 0.75]}, + "south": {"uv": [26, 24], "uv_size": [0.75, 0.75]}, + "west": {"uv": [20, 18], "uv_size": [1.5, 0.75]}, + "up": {"uv": [13, 20], "uv_size": [0.75, 1.5]}, + "down": {"uv": [20, 20.5], "uv_size": [0.75, -1.5]} + } + }, + { + "origin": [-0.1875, 1.125, -3.75], + "size": [0.375, 0.1875, 1.5], + "uv": { + "north": {"uv": [20, 32], "uv_size": [0.5, 0.25]}, + "down": {"uv": [20, 23.5], "uv_size": [0.5, -1.5]} + } + }, + { + "origin": [-0.33146, 1.23012, -3.75], + "size": [0.26517, 0.1875, 1.5], + "pivot": [-0.25379, 1.32387, -3.25], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 20], "uv_size": [0.25, 0.25]}, + "down": {"uv": [28, 25.5], "uv_size": [0.25, -1.5]} + } + }, + { + "origin": [0.06629, 1.23012, -3.75], + "size": [0.26517, 0.1875, 1.5], + "pivot": [0.25379, 1.32387, -3.25], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [21, 35], "uv_size": [0.25, 0.25]}, + "down": {"uv": [25, 29.5], "uv_size": [0.25, -1.5]} + } + }, + { + "origin": [-0.625, 2.5, -3], + "size": [1.25, 0.25, 0.25], + "uv": { + "north": {"uv": [29, 13], "uv_size": [1.25, 0.25]}, + "east": {"uv": [35, 29], "uv_size": [0.25, 0.25]}, + "west": {"uv": [30, 35], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.624, 1.80735, -2.96168], + "size": [1.248, 0.75, 0.25], + "pivot": [-0.001, 2.43235, -2.83668], + "rotation": [22.5, 0, 0], + "uv": { + "north": {"uv": [22, 6], "uv_size": [1.25, 0.75]}, + "east": {"uv": [19, 31], "uv_size": [0.25, 0.75]}, + "west": {"uv": [31, 19], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [-0.125, 2.75, -3.75], + "size": [0.25, 0.25, 0.75], + "uv": { + "north": {"uv": [35, 30], "uv_size": [0.25, 0.25]}, + "east": {"uv": [20, 31], "uv_size": [0.75, 0.25]}, + "west": {"uv": [31, 20], "uv_size": [0.75, 0.25]}, + "up": {"uv": [21, 31], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [-0.0625, 3, -3.625], + "size": [0.125, 0.25, 0.125], + "uv": { + "east": {"uv": [11, 36], "uv_size": [0.25, 0.25]}, + "south": {"uv": [36, 11], "uv_size": [0.25, 0.25]}, + "west": {"uv": [12, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 12], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.0625, 2.95435, -3.67759], + "size": [0.125, 0.28125, 0.125], + "pivot": [0, 3.1106, -3.61509], + "rotation": [-22.5, 0, 0], + "uv": { + "north": {"uv": [13, 36], "uv_size": [0.25, 0.25]}, + "east": {"uv": [36, 13], "uv_size": [0.25, 0.25]}, + "west": {"uv": [14, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [36, 14], "uv_size": [0.25, 0.25]} + } + } + ] + }, + { + "name": "shell", + "parent": "gun", + "pivot": [3, -1.0625, 2.18145] + }, + { + "name": "shell1", + "parent": "shell", + "pivot": [0, 2.375, 1.692], + "cubes": [ + { + "origin": [-0.25, 2.125, 0.9], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 2.125, 1.8375], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 2.25, 1.8385], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "shell2", + "parent": "shell", + "pivot": [0, 2.375, 1.692], + "cubes": [ + { + "origin": [-0.25, 2.125, 0.9], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 2.125, 1.8375], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 2.25, 1.8385], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "shell3", + "parent": "shell", + "pivot": [0, 2.375, 1.692], + "cubes": [ + { + "origin": [-0.25, 2.125, 0.9], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 2.125, 1.8375], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 2.25, 1.8385], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "shell4", + "parent": "shell", + "pivot": [0, 2.375, 1.692], + "cubes": [ + { + "origin": [-0.25, 2.125, 0.9], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 2.125, 1.8375], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 2.25, 1.8385], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "shell5", + "parent": "shell", + "pivot": [0, 2.375, 1.692], + "cubes": [ + { + "origin": [-0.25, 2.125, 0.9], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 2.125, 1.8375], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 2.25, 1.8385], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 2.375, 1.2125], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "main", + "parent": "gun", + "pivot": [0, -4, 1.25], + "cubes": [ + { + "origin": [-0.75, -3.25, 3.75], + "size": [1.5, 4, 1.75], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "east": {"uv": [0, 0], "uv_size": [1.75, 4]}, + "west": {"uv": [2, 0], "uv_size": [1.75, 4]}, + "up": {"uv": [5, 11], "uv_size": [1.5, 1.75]} + } + }, + { + "origin": [-0.624, 0.5625, 3.75], + "size": [1.248, 0.75, 1.75], + "pivot": [0.124, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [22, 11], "uv_size": [1.25, 0.75]}, + "east": {"uv": [12, 19], "uv_size": [1.75, 0.75]}, + "west": {"uv": [19, 14], "uv_size": [1.75, 0.75]} + } + }, + { + "origin": [-0.5, 0.6875, 5.5], + "size": [1, 0.5, 1], + "pivot": [0, -2.3125, 5.75], + "rotation": [57.5, 0, 0], + "uv": { + "north": {"uv": [9, 27], "uv_size": [1, 0.5]}, + "east": {"uv": [10, 27], "uv_size": [1, 0.5]}, + "west": {"uv": [12, 27], "uv_size": [1, 0.5]} + } + }, + { + "origin": [-0.5, 1.1875, 5.75], + "size": [1, 0.25, 0.75], + "pivot": [0, -2.3125, 5.75], + "rotation": [57.5, 0, 0], + "uv": { + "east": {"uv": [32, 6], "uv_size": [0.75, 0.25]}, + "west": {"uv": [7, 32], "uv_size": [0.75, 0.25]}, + "up": {"uv": [23, 4], "uv_size": [1, 0.75]} + } + }, + { + "origin": [-0.25, 1.3125, 5.5], + "size": [0.5, 0.25, 1], + "pivot": [0, -2.3125, 5.75], + "rotation": [57.5, 0, 0], + "uv": { + "east": {"uv": [26, 30], "uv_size": [1, 0.25]}, + "west": {"uv": [27, 30], "uv_size": [1, 0.25]}, + "up": {"uv": [15, 27], "uv_size": [0.5, 1]} + } + }, + { + "origin": [-0.5, -0.37463, 2.32968], + "size": [1, 0.25, 0.35355], + "pivot": [0, -0.24963, 2.70468], + "rotation": [102.5, 0, 0], + "uv": { + "east": {"uv": [36, 29], "uv_size": [0.25, 0.25]}, + "west": {"uv": [30, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [30, 20], "uv_size": [1, 0.25]} + } + }, + { + "origin": [-0.25, -0.47577, 2.03788], + "size": [0.5, 0.125, 1], + "pivot": [0, -0.72577, 2.53788], + "rotation": [35, 0, 0], + "uv": { + "east": {"uv": [30, 19], "uv_size": [1, 0.25]}, + "west": {"uv": [20, 30], "uv_size": [1, 0.25]}, + "up": {"uv": [27, 12], "uv_size": [0.5, 1]}, + "down": {"uv": [14, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, -0.80777, 0.48491], + "size": [0.5, 0.125, 1.5], + "uv": { + "east": {"uv": [29, 0], "uv_size": [1.5, 0.25]}, + "west": {"uv": [1, 29], "uv_size": [1.5, 0.25]}, + "up": {"uv": [5, 23], "uv_size": [0.5, 1.5]}, + "down": {"uv": [6, 24.5], "uv_size": [0.5, -1.5]} + } + }, + { + "origin": [-0.25, -0.62118, -0.32811], + "size": [0.5, 0.125, 0.875], + "pivot": [0, -0.55868, 0.04689], + "rotation": [-22.5, 0, 0], + "uv": { + "east": {"uv": [32, 7], "uv_size": [0.75, 0.25]}, + "west": {"uv": [8, 32], "uv_size": [0.75, 0.25]}, + "up": {"uv": [29, 1], "uv_size": [0.5, 0.75]} + } + }, + { + "origin": [-0.25, -0.16042, -1.13599], + "size": [0.5, 0.125, 1.25], + "pivot": [0, -0.09792, -0.26099], + "rotation": [-90, 0, 0], + "uv": { + "east": {"uv": [29, 24], "uv_size": [1.25, 0.25]}, + "west": {"uv": [29, 25], "uv_size": [1.25, 0.25]}, + "up": {"uv": [11, 26], "uv_size": [0.5, 1.25]}, + "down": {"uv": [13, 27.25], "uv_size": [0.5, -1.25]} + } + }, + { + "origin": [-0.25, 0.58958, -0.44849], + "size": [0.5, 0.375, 0.375], + "pivot": [0, 0.77708, -0.26099], + "rotation": [-135, 0, 0], + "uv": { + "east": {"uv": [30, 21], "uv_size": [0.5, 0.5]}, + "south": {"uv": [22, 30], "uv_size": [0.5, 0.5]}, + "west": {"uv": [23, 30], "uv_size": [0.5, 0.5]}, + "up": {"uv": [25, 30], "uv_size": [0.5, 0.5]} + } + }, + { + "origin": [-0.5, -0.53542, -1.88599], + "size": [1, 3.5, 0.75], + "pivot": [0, -0.09792, -0.26099], + "rotation": [-90, 0, 0], + "uv": { + "north": {"uv": [3, 9], "uv_size": [1, 3.5]}, + "east": {"uv": [8, 11], "uv_size": [0.75, 3.5]}, + "south": {"uv": [7, 9], "uv_size": [1, 3.5]}, + "west": {"uv": [11, 8], "uv_size": [0.75, 3.5]} + } + }, + { + "origin": [-0.624, 3.61655, -0.89447], + "size": [1.248, 0.75, 0.46875], + "pivot": [-0.001, 2.49155, -0.6601], + "rotation": [-135, 0, 0], + "uv": { + "east": {"uv": [29, 5], "uv_size": [0.5, 0.75]}, + "south": {"uv": [22, 10], "uv_size": [1.25, 0.75]}, + "west": {"uv": [29, 6], "uv_size": [0.5, 0.75]}, + "up": {"uv": [26, 13], "uv_size": [1.25, 0.5]} + } + }, + { + "origin": [-0.625, 2.71875, -3.90625], + "size": [1.25, 4.5, 0.5], + "pivot": [-3.875, -0.09375, -2.3125], + "rotation": [-90, 0, 0], + "uv": { + "east": {"uv": [10, 11], "uv_size": [0.5, 4.5]}, + "south": {"uv": [5, 0], "uv_size": [1.25, 4.5]}, + "west": {"uv": [4, 12], "uv_size": [0.5, 4.5]} + } + }, + { + "origin": [0.4375, 2.71875, -3.84375], + "size": [0.25, 2.75, 0.375], + "pivot": [3.8125, -0.09375, -2.3125], + "rotation": [-90, 0, 0], + "uv": { + "north": {"uv": [7, 23], "uv_size": [0.25, 2.75]}, + "south": {"uv": [10, 23], "uv_size": [0.25, 2.75]}, + "west": {"uv": [8, 19], "uv_size": [0.5, 2.75]}, + "up": {"uv": [27, 34], "uv_size": [0.25, 0.5]}, + "down": {"uv": [34, 27.5], "uv_size": [0.25, -0.5]} + } + }, + { + "origin": [0.4375, 4.59375, -3.96875], + "size": [0.25, 0.75, 0.125], + "pivot": [3.8125, -0.09375, -2.3125], + "rotation": [-90, 0, 0], + "uv": { + "north": {"uv": [15, 32], "uv_size": [0.25, 0.75]}, + "west": {"uv": [32, 15], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [0.4365, 1.37814, 2.09153], + "size": [0.25, 0.25, 0.125], + "pivot": [0.5625, 1.25314, 2.15403], + "rotation": [-45, 0, 0], + "uv": { + "north": {"uv": [26, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 26], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.4365, 1.30492, 3.10669], + "size": [0.25, 0.17678, 0.125], + "pivot": [0.5625, 1.42992, 3.16919], + "rotation": [-135, 0, 0], + "uv": { + "north": {"uv": [27, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 27], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.59153, 1.65847, 1.79733], + "size": [0.26517, 1, 0.26517], + "pivot": [0.73169, 1.28347, 1.875], + "rotation": [-90, 0, 45], + "uv": { + "north": {"uv": [31, 3], "uv_size": [0.25, 1]}, + "south": {"uv": [4, 31], "uv_size": [0.25, 1]}, + "west": {"uv": [31, 4], "uv_size": [0.25, 1]}, + "up": {"uv": [25, 37], "uv_size": [0.25, 0.25]}, + "down": {"uv": [37, 25.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.4375, 4.77091, -1.03607], + "size": [0.25, 0.26517, 0.26517], + "pivot": [0.0625, 2.78607, -0.95841], + "rotation": [-135, 0, 0], + "uv": { + "north": {"uv": [37, 22], "uv_size": [0.25, 0.25]}, + "south": {"uv": [23, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 23], "uv_size": [0.25, 0.25]}, + "up": {"uv": [24, 37], "uv_size": [0.25, 0.25]}, + "down": {"uv": [37, 24.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.75, 0.6875, 4.0625], + "size": [1.5, 1, 0.4375], + "pivot": [0, 1.4375, 4.25], + "rotation": [-55, 0, 0], + "uv": { + "north": {"uv": [18, 1], "uv_size": [1.5, 1]}, + "east": {"uv": [27, 23], "uv_size": [0.5, 1]}, + "south": {"uv": [18, 11], "uv_size": [1.5, 1]}, + "west": {"uv": [27, 24], "uv_size": [0.5, 1]}, + "up": {"uv": [23, 12], "uv_size": [1.5, 0.5]}, + "down": {"uv": [14, 23.5], "uv_size": [1.5, -0.5]} + } + }, + { + "origin": [-0.68501, 1.15044, 3.70509], + "size": [0.30936, 0.5, 0.30936], + "pivot": [-1.12565, 1.65044, 3.7957], + "rotation": [-63.659, -23.92746, 39.32269], + "uv": { + "east": {"uv": [25, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [34, 25], "uv_size": [0.25, 0.5]}, + "up": {"uv": [37, 20], "uv_size": [0.25, 0.25]}, + "down": {"uv": [21, 37.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.75, 0.5625, 4.1875], + "size": [1.5, 1.25, 0.1875], + "pivot": [0, 1.4375, 4.25], + "rotation": [-55, 0, 0], + "uv": { + "north": {"uv": [14, 14], "uv_size": [1.5, 1.25]}, + "east": {"uv": [29, 27], "uv_size": [0.25, 1.25]}, + "south": {"uv": [0, 15], "uv_size": [1.5, 1.25]}, + "west": {"uv": [28, 29], "uv_size": [0.25, 1.25]}, + "up": {"uv": [29, 7], "uv_size": [1.5, 0.25]}, + "down": {"uv": [29, 8.25], "uv_size": [1.5, -0.25]} + } + }, + { + "origin": [0.37565, 1.15044, 3.70509], + "size": [0.30936, 0.5, 0.30936], + "pivot": [1.12565, 1.65044, 3.7957], + "rotation": [-63.659, 23.92746, -39.32269], + "uv": { + "south": {"uv": [26, 34], "uv_size": [0.25, 0.5]}, + "west": {"uv": [34, 26], "uv_size": [0.25, 0.5]}, + "up": {"uv": [37, 21], "uv_size": [0.25, 0.25]}, + "down": {"uv": [22, 37.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.749, 1.04943, 4.79707], + "size": [1.498, 0.17678, 0.125], + "pivot": [-0.001, 1.58068, 4.85957], + "rotation": [-100, 0, 0], + "uv": { + "north": {"uv": [29, 9], "uv_size": [1.5, 0.25]}, + "east": {"uv": [37, 16], "uv_size": [0.25, 0.25]}, + "west": {"uv": [17, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.749, 1.38562, 4.48948], + "size": [1.498, 0.17678, 0.125], + "pivot": [-0.001, 1.474, 4.55198], + "rotation": [170, 0, 0], + "uv": { + "north": {"uv": [29, 10], "uv_size": [1.5, 0.25]}, + "east": {"uv": [37, 17], "uv_size": [0.25, 0.25]}, + "west": {"uv": [18, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.749, 0.8036, 3.49683], + "size": [1.498, 0.17678, 0.125], + "pivot": [-0.001, 0.97122, 3.63856], + "rotation": [80, 0, 0], + "uv": { + "north": {"uv": [29, 12], "uv_size": [1.5, 0.25]}, + "east": {"uv": [37, 19], "uv_size": [0.25, 0.25]}, + "west": {"uv": [20, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.749, 0.96207, 3.49683], + "size": [1.498, 0.17678, 0.125], + "pivot": [-0.001, 0.97122, 3.63856], + "rotation": [-10, 0, 0], + "uv": { + "north": {"uv": [29, 11], "uv_size": [1.5, 0.25]}, + "east": {"uv": [37, 18], "uv_size": [0.25, 0.25]}, + "west": {"uv": [19, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.6875, 1.25, 0.6875], + "size": [0.25, 0.25, 0.25], + "pivot": [-0.5625, 1.3125, 0.6875], + "rotation": [-45, 0, 0], + "uv": { + "north": {"uv": [10, 37], "uv_size": [0.25, 0.25]}, + "east": {"uv": [37, 10], "uv_size": [0.25, 0.25]}, + "south": {"uv": [11, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 11], "uv_size": [0.25, 0.25]}, + "down": {"uv": [12, 37.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.499, 0.52968, -0.10121], + "size": [0.998, 0.5, 0.75], + "pivot": [-0.001, 2.27968, 0.27379], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [4, 29], "uv_size": [0.75, 0.5]}, + "west": {"uv": [29, 4], "uv_size": [0.75, 0.5]}, + "down": {"uv": [23, 5.75], "uv_size": [1, -0.75]} + } + }, + { + "origin": [-0.5, -2.53542, -1.88599], + "size": [1, 2, 0.25], + "pivot": [0, -0.09792, -0.26099], + "rotation": [-90, 0, 0], + "uv": { + "north": {"uv": [6, 14], "uv_size": [1, 2]}, + "east": {"uv": [27, 16], "uv_size": [0.25, 2]}, + "south": {"uv": [7, 14], "uv_size": [1, 2]}, + "west": {"uv": [17, 27], "uv_size": [0.25, 2]}, + "down": {"uv": [31, 0.25], "uv_size": [1, -0.25]} + } + }, + { + "origin": [-0.25, -2.53542, -1.63599], + "size": [0.5, 2, 0.25], + "pivot": [0.25, -0.09792, -0.26099], + "rotation": [-90, 0, 0], + "uv": { + "south": {"uv": [3, 22], "uv_size": [0.5, 2]}, + "down": {"uv": [17, 34.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.44194, 0.29225, -1.82349], + "size": [0.35355, 2, 0.25], + "pivot": [-0.33839, 1.29225, -1.69849], + "rotation": [-90, 0, 45], + "uv": { + "south": {"uv": [18, 27], "uv_size": [0.25, 2]}, + "down": {"uv": [36, 32.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.08839, 0.29225, -1.82349], + "size": [0.35355, 2, 0.25], + "pivot": [0.33839, 1.29225, -1.69849], + "rotation": [-90, 0, -45], + "uv": { + "south": {"uv": [27, 18], "uv_size": [0.25, 2]}, + "down": {"uv": [33, 36.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.25, 0.22641, 1.53493], + "size": [0.5, 0.125, 0.625], + "pivot": [0, 0.24345, 1.81856], + "rotation": [-97.5, 0, 0], + "uv": { + "east": {"uv": [32, 9], "uv_size": [0.75, 0.25]}, + "west": {"uv": [10, 32], "uv_size": [0.75, 0.25]}, + "up": {"uv": [3, 29], "uv_size": [0.5, 0.75]}, + "down": {"uv": [29, 3.75], "uv_size": [0.5, -0.75]} + } + }, + { + "origin": [-0.25, 0.32673, 1.09783], + "size": [0.5, 0.125, 0.5], + "pivot": [0, 0.24345, 1.81856], + "rotation": [-75, 0, 0], + "uv": { + "east": {"uv": [16, 34], "uv_size": [0.5, 0.25]}, + "west": {"uv": [34, 16], "uv_size": [0.5, 0.25]}, + "up": {"uv": [30, 30], "uv_size": [0.5, 0.5]}, + "down": {"uv": [0, 31.5], "uv_size": [0.5, -0.5]} + } + }, + { + "origin": [-0.25, 0.34883, 2.09263], + "size": [0.5, 0.125, 0.375], + "pivot": [0, 0.24345, 1.81856], + "rotation": [-120, 0, 0], + "uv": { + "east": {"uv": [34, 14], "uv_size": [0.5, 0.25]}, + "south": {"uv": [15, 34], "uv_size": [0.5, 0.25]}, + "west": {"uv": [34, 15], "uv_size": [0.5, 0.25]}, + "up": {"uv": [29, 30], "uv_size": [0.5, 0.5]}, + "down": {"uv": [30, 29.5], "uv_size": [0.5, -0.5]} + } + }, + { + "origin": [-0.25, -0.00417, 0.03589], + "size": [0.5, 0.09375, 0.375], + "pivot": [0, 0.15208, -0.26099], + "rotation": [-67.5, 0, 0], + "uv": { + "east": {"uv": [36, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [14, 34], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.25, 0.28387, 0.25163], + "size": [0.5, 0.17188, 0.1875], + "pivot": [0, 0.14324, -0.24837], + "rotation": [-112.5, 0, 0], + "uv": { + "east": {"uv": [36, 30], "uv_size": [0.25, 0.25]}, + "south": {"uv": [13, 34], "uv_size": [0.5, 0.25]}, + "west": {"uv": [31, 36], "uv_size": [0.25, 0.25]}, + "down": {"uv": [34, 13.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.25, -0.61151, -0.33213], + "size": [0.5, 0.73438, 0.10938], + "pivot": [0, -0.61151, -0.22276], + "rotation": [-105.5, 0, 0], + "uv": { + "east": {"uv": [32, 8], "uv_size": [0.25, 0.75]}, + "south": {"uv": [29, 2], "uv_size": [0.5, 0.75]}, + "west": {"uv": [9, 32], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [-0.25, -0.62031, 2.34898], + "size": [0.5, 0.17188, 0.625], + "pivot": [0, -0.53437, 2.66148], + "rotation": [-12.5, 0, 0], + "uv": { + "east": {"uv": [32, 5], "uv_size": [0.75, 0.25]}, + "west": {"uv": [6, 32], "uv_size": [0.75, 0.25]}, + "down": {"uv": [0, 29.75], "uv_size": [0.5, -0.75]} + } + }, + { + "origin": [-0.5, 1.75, 0.25], + "size": [1, 1, 2], + "uv": { + "north": {"uv": [16, 21], "uv_size": [1, 1]}, + "east": {"uv": [13, 9], "uv_size": [2, 1]}, + "south": {"uv": [21, 19], "uv_size": [1, 1]}, + "west": {"uv": [13, 10], "uv_size": [2, 1]}, + "down": {"uv": [13, 13], "uv_size": [1, -2]} + } + }, + { + "origin": [-0.375, 2.75, 0.25], + "size": [0.75, 0.125, 2], + "uv": { + "north": {"uv": [17, 31], "uv_size": [0.75, 0.25]}, + "south": {"uv": [31, 17], "uv_size": [0.75, 0.25]}, + "up": {"uv": [4, 17], "uv_size": [0.75, 2]} + } + }, + { + "origin": [-0.39775, 2.50314, 0.25], + "size": [0.17678, 0.125, 2], + "pivot": [-0.59597, 2.56564, 1.25], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [17, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 17], "uv_size": [0.25, 0.25]}, + "up": {"uv": [1, 27], "uv_size": [0.25, 2]} + } + }, + { + "origin": [0.22097, 2.50314, 0.25], + "size": [0.17678, 0.125, 2], + "pivot": [0.59597, 2.56564, 1.25], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [18, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [35, 18], "uv_size": [0.25, 0.25]}, + "up": {"uv": [2, 27], "uv_size": [0.25, 2]} + } + }, + { + "origin": [-0.75, 0.75, 3.75], + "size": [1.5, 0.5, 0.25], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "east": {"uv": [18, 32], "uv_size": [0.25, 0.5]}, + "west": {"uv": [32, 18], "uv_size": [0.25, 0.5]}, + "up": {"uv": [28, 21], "uv_size": [1.5, 0.25]} + } + }, + { + "origin": [-0.749, 0.57274, 2.98567], + "size": [1.498, 0.35355, 0.75], + "pivot": [-0.001, 0.80129, 3.23567], + "rotation": [-32.5, 0, 0], + "uv": { + "east": {"uv": [12, 31], "uv_size": [0.75, 0.25]}, + "west": {"uv": [31, 12], "uv_size": [0.75, 0.25]}, + "up": {"uv": [20, 11], "uv_size": [1.5, 0.75]} + } + }, + { + "origin": [-0.749, -0.26739, 4.84121], + "size": [1.498, 0.875, 1.5], + "pivot": [-0.001, -1.14239, 4.21621], + "rotation": [35, 0, 0], + "uv": { + "east": {"uv": [17, 14], "uv_size": [1.5, 1]}, + "west": {"uv": [17, 15], "uv_size": [1.5, 1]}, + "up": {"uv": [12, 0], "uv_size": [1.5, 1.5]} + } + }, + { + "origin": [-0.5, -0.51739, 5.34121], + "size": [1, 0.25, 0.75], + "pivot": [0, -1.14239, 4.21621], + "rotation": [35, 0, 0], + "uv": { + "down": {"uv": [22, 15.75], "uv_size": [1, -0.75]} + } + }, + { + "origin": [-0.61872, 0.46696, 4.45797], + "size": [0.35355, 0.25, 1], + "pivot": [-0.76517, 0.59196, 4.83297], + "rotation": [26.341, -23.92746, 39.32269], + "uv": { + "down": {"uv": [30, 4], "uv_size": [0.25, -1]} + } + }, + { + "origin": [0.26517, 0.46696, 4.45797], + "size": [0.35355, 0.25, 1], + "pivot": [0.76517, 0.59196, 4.83297], + "rotation": [26.341, 23.92746, -39.32269], + "uv": { + "down": {"uv": [4, 31], "uv_size": [0.25, -1]} + } + }, + { + "origin": [-0.75, 0.65681, 4.71877], + "size": [1.5, 0.875, 0.875], + "uv": { + "north": {"uv": [17, 16], "uv_size": [1.5, 1]}, + "east": {"uv": [6, 10], "uv_size": [1, 1]}, + "west": {"uv": [10, 8], "uv_size": [1, 1]}, + "up": {"uv": [17, 17], "uv_size": [1.5, 1]} + } + }, + { + "origin": [-0.5, 0.90681, 4.71877], + "size": [1, 0.875, 0.875], + "pivot": [0, 1.59431, 5.15627], + "rotation": [-22.5, 0, 0], + "uv": { + "south": {"uv": [21, 20], "uv_size": [1, 1]}, + "up": {"uv": [21, 21], "uv_size": [1, 1]} + } + }, + { + "origin": [-0.5, 0.80084, 4.2481], + "size": [1, 0.875, 0.875], + "pivot": [0, 1.36334, 5.0606], + "rotation": [-67.5, 0, 0], + "uv": { + "up": {"uv": [22, 1], "uv_size": [1, 1]} + } + }, + { + "origin": [0.4375, 1.25056, 5.59377], + "size": [0.1875, 0.25, 0.75], + "uv": { + "north": {"uv": [36, 23], "uv_size": [0.25, 0.25]}, + "east": {"uv": [29, 31], "uv_size": [0.75, 0.25]}, + "south": {"uv": [24, 36], "uv_size": [0.25, 0.25]}, + "west": {"uv": [31, 29], "uv_size": [0.75, 0.25]}, + "up": {"uv": [30, 31], "uv_size": [0.25, 0.75]}, + "down": {"uv": [31, 30.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [-0.625, 1.25056, 5.59377], + "size": [0.1875, 0.25, 0.75], + "uv": { + "north": {"uv": [36, 26], "uv_size": [0.25, 0.25]}, + "east": {"uv": [2, 32], "uv_size": [0.75, 0.25]}, + "south": {"uv": [27, 36], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 2], "uv_size": [0.75, 0.25]}, + "up": {"uv": [3, 32], "uv_size": [0.25, 0.75]}, + "down": {"uv": [32, 3.75], "uv_size": [0.25, -0.75]} + } + }, + { + "origin": [0.3125, 0.75056, 5.59377], + "size": [0.1875, 0.5, 0.75], + "uv": { + "east": {"uv": [28, 26], "uv_size": [0.75, 0.5]}, + "south": {"uv": [23, 33], "uv_size": [0.25, 0.5]}, + "west": {"uv": [27, 28], "uv_size": [0.75, 0.5]}, + "up": {"uv": [32, 0], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [-0.5, 0.75056, 5.59377], + "size": [0.1875, 0.5, 0.75], + "uv": { + "east": {"uv": [28, 27], "uv_size": [0.75, 0.5]}, + "south": {"uv": [33, 25], "uv_size": [0.25, 0.5]}, + "west": {"uv": [28, 28], "uv_size": [0.75, 0.5]}, + "up": {"uv": [4, 32], "uv_size": [0.25, 0.75]} + } + }, + { + "origin": [-0.3125, 0.75056, 5.59377], + "size": [0.625, 0.25, 0.75], + "uv": { + "south": {"uv": [32, 4], "uv_size": [0.75, 0.25]}, + "up": {"uv": [16, 23], "uv_size": [0.75, 0.75]}, + "down": {"uv": [0, 24.75], "uv_size": [0.75, -0.75]} + } + }, + { + "origin": [-0.499, 0.68164, 5.55606], + "size": [0.998, 0.25, 0.75], + "pivot": [0.124, 0.93164, 5.93106], + "rotation": [10, 0, 0], + "uv": { + "east": {"uv": [1, 32], "uv_size": [0.75, 0.25]}, + "west": {"uv": [32, 1], "uv_size": [0.75, 0.25]}, + "down": {"uv": [23, 2.75], "uv_size": [1, -0.75]} + } + }, + { + "origin": [-0.625, 0.62556, 5.59377], + "size": [1.25, 0.625, 0.25], + "uv": { + "east": {"uv": [31, 31], "uv_size": [0.25, 0.75]}, + "south": {"uv": [22, 7], "uv_size": [1.25, 0.75]}, + "west": {"uv": [0, 32], "uv_size": [0.25, 0.75]}, + "up": {"uv": [22, 29], "uv_size": [1.25, 0.25]} + } + }, + { + "origin": [-0.625, 0.62556, 5.59377], + "size": [0.1875, 0.5, 0.25], + "pivot": [0, 0.87556, 6.21877], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [22, 33], "uv_size": [0.25, 0.5]}, + "south": {"uv": [33, 22], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [0.4375, 0.62556, 5.59377], + "size": [0.1875, 0.5, 0.25], + "pivot": [0, 0.87556, 6.21877], + "rotation": [-45, 0, 0], + "uv": { + "south": {"uv": [33, 23], "uv_size": [0.25, 0.5]}, + "west": {"uv": [24, 33], "uv_size": [0.25, 0.5]} + } + }, + { + "origin": [-0.5, 0.50056, 5.59377], + "size": [1, 0.125, 0.25], + "uv": { + "south": {"uv": [30, 17], "uv_size": [1, 0.25]}, + "down": {"uv": [30, 18.25], "uv_size": [1, -0.25]} + } + }, + { + "origin": [-0.72725, 0.2537, 5.59377], + "size": [0.17678, 0.125, 0.25], + "pivot": [-0.22725, 0.3162, 5.71877], + "rotation": [0, 0, 45], + "uv": { + "south": {"uv": [36, 24], "uv_size": [0.25, 0.25]}, + "down": {"uv": [25, 36.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.55048, 0.2537, 5.59377], + "size": [0.17678, 0.125, 0.25], + "pivot": [0.22725, 0.3162, 5.71877], + "rotation": [0, 0, -45], + "uv": { + "south": {"uv": [36, 25], "uv_size": [0.25, 0.25]}, + "down": {"uv": [26, 36.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.749, 0.672, 5.42013], + "size": [1.498, 0.86171, 0.15194], + "pivot": [-0.001, 1.65681, 5.59377], + "rotation": [10, 0, 0], + "uv": { + "east": {"uv": [11, 31], "uv_size": [0.25, 0.75]}, + "south": {"uv": [20, 1], "uv_size": [1.5, 0.75]}, + "west": {"uv": [31, 11], "uv_size": [0.25, 0.75]}, + "down": {"uv": [21, 28.25], "uv_size": [1.5, -0.25]} + } + }, + { + "origin": [-0.5, 0.40681, 4.71877], + "size": [1, 0.25, 0.875], + "uv": { + "south": {"uv": [2, 30], "uv_size": [1, 0.25]}, + "down": {"uv": [21, 15], "uv_size": [1, -1]} + } + }, + { + "origin": [0.26517, 0.72375, 4.71877], + "size": [0.35355, 0.25, 0.875], + "pivot": [0.76517, 0.84875, 5.15627], + "rotation": [0, 0, -45], + "uv": { + "south": {"uv": [11, 35], "uv_size": [0.25, 0.25]}, + "down": {"uv": [30, 3], "uv_size": [0.25, -1]} + } + }, + { + "origin": [-0.61872, 0.72375, 4.71877], + "size": [0.35355, 0.25, 0.875], + "pivot": [-0.76517, 0.84875, 5.15627], + "rotation": [0, 0, 45], + "uv": { + "south": {"uv": [35, 11], "uv_size": [0.25, 0.25]}, + "down": {"uv": [3, 31], "uv_size": [0.25, -1]} + } + }, + { + "origin": [-0.5, -3.25, 5.5], + "size": [1, 4.25, 0.25], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [6, 5], "uv_size": [1, 4.25]}, + "east": {"uv": [9, 21], "uv_size": [0.25, 4.25]}, + "south": {"uv": [7, 0], "uv_size": [1, 4.25]}, + "west": {"uv": [11, 21], "uv_size": [0.25, 4.25]}, + "up": {"uv": [0, 30], "uv_size": [1, 0.25]}, + "down": {"uv": [1, 30.25], "uv_size": [1, -0.25]} + } + }, + { + "origin": [-0.61872, -0.62548, 4.70397], + "size": [0.35355, 1.75, 0.25], + "pivot": [-0.76517, -0.75048, 4.82897], + "rotation": [17.40744, -43.65747, -12.2127], + "uv": { + "north": {"uv": [6, 28], "uv_size": [0.25, 1.75]}, + "east": {"uv": [28, 6], "uv_size": [0.25, 1.75]}, + "south": {"uv": [28, 8], "uv_size": [0.25, 1.75]}, + "west": {"uv": [9, 28], "uv_size": [0.25, 1.75]}, + "up": {"uv": [8, 35], "uv_size": [0.25, 0.25]}, + "down": {"uv": [35, 8.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.26517, -0.62548, 4.70397], + "size": [0.35355, 1.75, 0.25], + "pivot": [0.76517, -0.75048, 4.82897], + "rotation": [17.40744, 43.65747, 12.2127], + "uv": { + "north": {"uv": [10, 28], "uv_size": [0.25, 1.75]}, + "east": {"uv": [28, 10], "uv_size": [0.25, 1.75]}, + "south": {"uv": [11, 28], "uv_size": [0.25, 1.75]}, + "west": {"uv": [12, 28], "uv_size": [0.25, 1.75]}, + "up": {"uv": [9, 35], "uv_size": [0.25, 0.25]}, + "down": {"uv": [35, 9.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.5, -3.25, 3.5], + "size": [1, 4.75, 0.25], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [3, 4], "uv_size": [1, 4.75]} + } + }, + { + "origin": [-0.25, 0.25, 3.375], + "size": [0.5, 1, 0.25], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [27, 15], "uv_size": [0.5, 1]}, + "east": {"uv": [30, 27], "uv_size": [0.25, 1]}, + "west": {"uv": [30, 28], "uv_size": [0.25, 1]} + } + }, + { + "origin": [-0.61872, -3.42116, 3.37024], + "size": [0.35355, 4.5, 0.25], + "pivot": [-0.76517, -1.04616, 3.49524], + "rotation": [17.40744, 43.65747, 12.2127], + "uv": { + "north": {"uv": [19, 17], "uv_size": [0.25, 4.5]}, + "up": {"uv": [35, 6], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.26517, -3.42116, 3.37024], + "size": [0.35355, 4.5, 0.25], + "pivot": [0.76517, -1.04616, 3.49524], + "rotation": [17.40744, -43.65747, -12.2127], + "uv": { + "north": {"uv": [12, 20], "uv_size": [0.25, 4.5]}, + "up": {"uv": [7, 35], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.75, -3.19589, 5.74407], + "size": [1.5, 1.5, 0.25], + "pivot": [0, -2.94589, 4.49407], + "rotation": [12.5, 0, 0], + "uv": { + "east": {"uv": [28, 17], "uv_size": [0.25, 1.5]}, + "west": {"uv": [19, 28], "uv_size": [0.25, 1.5]} + } + }, + { + "origin": [-0.748, -3.19589, 5.43157], + "size": [1.496, 2.28125, 0.3125], + "pivot": [-0.002, -2.94589, 4.49407], + "rotation": [12.5, 0, 0], + "uv": { + "east": {"uv": [23, 26], "uv_size": [0.25, 2.25]}, + "west": {"uv": [24, 26], "uv_size": [0.25, 2.25]} + } + }, + { + "origin": [-0.5, -3.25, 6], + "size": [1, 1.5625, 0.25], + "pivot": [0, -3, 4.5], + "rotation": [12.5, 0, 0], + "uv": { + "south": {"uv": [1, 17], "uv_size": [1, 1.5]} + } + }, + { + "origin": [-0.85937, -2.88382, 5.84353], + "size": [0.35938, 1.5625, 0.25], + "pivot": [-0.5, -2.10257, 6.09353], + "rotation": [17.40744, -43.65747, -12.2127], + "uv": { + "south": {"uv": [28, 19], "uv_size": [0.25, 1.5]} + } + }, + { + "origin": [0.5, -2.88382, 5.84353], + "size": [0.35938, 1.5625, 0.25], + "pivot": [0.5, -2.10257, 6.09353], + "rotation": [17.40744, 43.65747, 12.2127], + "uv": { + "south": {"uv": [20, 28], "uv_size": [0.25, 1.5]} + } + }, + { + "origin": [-0.749, -1.50134, 5.06297], + "size": [1.498, 1.75, 0.25], + "pivot": [-0.001, -0.75134, 5.31297], + "rotation": [30, 0, 0], + "uv": { + "east": {"uv": [28, 4], "uv_size": [0.25, 1.75]}, + "west": {"uv": [5, 28], "uv_size": [0.25, 1.75]} + } + }, + { + "origin": [-0.5, -1.44032, 5.29944], + "size": [1, 1.75, 0.25], + "pivot": [0.25, -0.69032, 5.54944], + "rotation": [30, 0, 0], + "uv": { + "south": {"uv": [15, 4], "uv_size": [1, 1.75]} + } + }, + { + "origin": [-0.5, -1.37894, 5.14319], + "size": [0.25, 1.67187, 0.34375], + "pivot": [-0.5, -0.58207, 5.48694], + "rotation": [40.11823, 39.10827, 27.99134], + "uv": { + "east": {"uv": [28, 12], "uv_size": [0.25, 1.75]} + } + }, + { + "origin": [-0.7887, -1.43547, 5.60255], + "size": [0.25, 0.07294, 0.33592], + "pivot": [-0.66473, -1.43547, 5.60255], + "rotation": [27.86823, 39.10827, 27.99134], + "uv": { + "east": {"uv": [12, 35], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.5387, -1.43547, 5.60255], + "size": [0.25, 0.07294, 0.33592], + "pivot": [0.66473, -1.43547, 5.60255], + "rotation": [27.86823, -39.10827, -27.99134], + "uv": { + "west": {"uv": [35, 12], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.25, -1.37894, 5.14319], + "size": [0.25, 1.67187, 0.34375], + "pivot": [0.5, -0.58207, 5.48694], + "rotation": [40.11823, -39.10827, -27.99134], + "uv": { + "west": {"uv": [13, 28], "uv_size": [0.25, 1.75]} + } + }, + { + "origin": [-0.749, -3.3653, 3.75], + "size": [1.498, 0.5, 2.26263], + "uv": { + "east": {"uv": [19, 15], "uv_size": [2.25, 0.5]}, + "west": {"uv": [19, 16], "uv_size": [2.25, 0.5]}, + "down": {"uv": [10, 7.25], "uv_size": [1.5, -2.25]} + } + }, + { + "origin": [-0.5, -3.3653, 6.01263], + "size": [1, 0.5, 0.25], + "uv": { + "south": {"uv": [26, 25], "uv_size": [1, 0.5]}, + "down": {"uv": [30, 1.25], "uv_size": [1, -0.25]} + } + }, + { + "origin": [-0.61872, -3.3653, 5.69569], + "size": [0.35355, 0.5, 0.25], + "pivot": [-0.76517, -3.1153, 5.82069], + "rotation": [0, -45, 0], + "uv": { + "south": {"uv": [17, 32], "uv_size": [0.25, 0.5]}, + "down": {"uv": [10, 35.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.26517, -3.3653, 5.69569], + "size": [0.35355, 0.5, 0.25], + "pivot": [0.76517, -3.1153, 5.82069], + "rotation": [0, 45, 0], + "uv": { + "south": {"uv": [32, 17], "uv_size": [0.25, 0.5]}, + "down": {"uv": [35, 10.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.749, -3.8653, 3.75], + "size": [1.498, 0.5, 2.01263], + "uv": { + "east": {"uv": [21, 2], "uv_size": [2, 0.5]}, + "south": {"uv": [22, 13], "uv_size": [1.5, 0.5]}, + "west": {"uv": [21, 12], "uv_size": [2, 0.5]}, + "down": {"uv": [11, 5], "uv_size": [1.5, -2]} + } + }, + { + "origin": [-0.5, -3.8653, 3.5], + "size": [1, 1.25, 0.25], + "uv": { + "north": {"uv": [9, 19], "uv_size": [1, 1.25]}, + "down": {"uv": [29, 29.25], "uv_size": [1, -0.25]} + } + }, + { + "origin": [-0.61872, -3.8653, 3.81694], + "size": [0.35355, 1.25, 0.25], + "pivot": [-0.76517, -3.2403, 3.94194], + "rotation": [0, 45, 0], + "uv": { + "north": {"uv": [8, 29], "uv_size": [0.25, 1.25]}, + "down": {"uv": [35, 7.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.26517, -3.8653, 3.81694], + "size": [0.35355, 1.25, 0.25], + "pivot": [0.76517, -3.2403, 3.94194], + "rotation": [0, -45, 0], + "uv": { + "north": {"uv": [24, 29], "uv_size": [0.25, 1.25]}, + "down": {"uv": [16, 37.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.75, -3.3653, 5.82513], + "size": [1.5, 0.25, 0.375], + "pivot": [0, -3.6153, 6.01263], + "rotation": [45, 0, 0], + "uv": { + "east": {"uv": [16, 32], "uv_size": [0.5, 0.25]}, + "west": {"uv": [32, 16], "uv_size": [0.5, 0.25]}, + "down": {"uv": [22, 14.5], "uv_size": [1.5, -0.5]} + } + } + ] + }, + { + "name": "barrel", + "parent": "gun", + "pivot": [3, -4, 1.25] + }, + { + "name": "barrel_main", + "parent": "barrel", + "pivot": [0, 2.375, -3.375], + "cubes": [ + { + "origin": [-0.125, 1.4375, -3.8125], + "size": [0.25, 0.25, 3], + "pivot": [0, 1.5625, -3.3125], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [20, 35], "uv_size": [0.25, 0.25]}, + "east": {"uv": [22, 17], "uv_size": [3, 0.25]}, + "west": {"uv": [22, 18], "uv_size": [3, 0.25]}, + "up": {"uv": [19, 22], "uv_size": [0.25, 3]}, + "down": {"uv": [22, 22], "uv_size": [0.25, -3]} + } + }, + { + "origin": [-0.15533, 2.625, -3.875], + "size": [0.31066, 0.125, 6.25], + "pivot": [0, 2.375, -3.375], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 21], "uv_size": [0.25, 0.25]}, + "south": {"uv": [22, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [2, 16], "uv_size": [0.25, 6.25]}, + "down": {"uv": [6, 22.25], "uv_size": [0.25, -6.25]} + } + }, + { + "origin": [-0.15533, 2.625, -3.875], + "size": [0.31066, 0.125, 6.25], + "uv": { + "north": {"uv": [35, 22], "uv_size": [0.25, 0.25]}, + "south": {"uv": [23, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [7, 16], "uv_size": [0.25, 6.25]}, + "down": {"uv": [10, 22.25], "uv_size": [0.25, -6.25]} + } + }, + { + "origin": [-0.375, 2.21967, -3.875], + "size": [0.125, 0.31066, 6.25], + "pivot": [0, 2.375, -3.375], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 23], "uv_size": [0.25, 0.25]}, + "east": {"uv": [14, 12], "uv_size": [6.25, 0.25]}, + "south": {"uv": [24, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [15, 10], "uv_size": [6.25, 0.25]} + } + }, + { + "origin": [0.25, 2.21967, -3.875], + "size": [0.125, 0.31066, 6.25], + "uv": { + "north": {"uv": [35, 24], "uv_size": [0.25, 0.25]}, + "east": {"uv": [15, 13], "uv_size": [6.25, 0.25]}, + "south": {"uv": [25, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [16, 0], "uv_size": [6.25, 0.25]} + } + }, + { + "origin": [0.25, 2.21967, -3.875], + "size": [0.125, 0.31066, 6.25], + "pivot": [0, 2.375, -3.375], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 28], "uv_size": [0.25, 0.25]}, + "east": {"uv": [17, 8], "uv_size": [6.25, 0.25]}, + "south": {"uv": [29, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [17, 9], "uv_size": [6.25, 0.25]} + } + }, + { + "origin": [-0.15533, 2, -3.875], + "size": [0.31066, 0.125, 6.25], + "uv": { + "north": {"uv": [35, 27], "uv_size": [0.25, 0.25]}, + "south": {"uv": [28, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [15, 16], "uv_size": [0.25, 6.25]}, + "down": {"uv": [0, 23.25], "uv_size": [0.25, -6.25]} + } + }, + { + "origin": [-0.15533, 2, -3.875], + "size": [0.31066, 0.125, 6.25], + "pivot": [0, 2.375, -3.375], + "rotation": [0, 0, 45], + "uv": { + "north": {"uv": [35, 26], "uv_size": [0.25, 0.25]}, + "south": {"uv": [27, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [14, 16], "uv_size": [0.25, 6.25]}, + "down": {"uv": [16, 20.25], "uv_size": [0.25, -6.25]} + } + }, + { + "origin": [-0.375, 2.21967, -3.875], + "size": [0.125, 0.31066, 6.25], + "uv": { + "north": {"uv": [35, 25], "uv_size": [0.25, 0.25]}, + "east": {"uv": [16, 4], "uv_size": [6.25, 0.25]}, + "south": {"uv": [26, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [16, 5], "uv_size": [6.25, 0.25]} + } + } + ] + }, + { + "name": "trigger", + "parent": "gun", + "pivot": [0, 1.46813, 5.23216], + "cubes": [ + { + "origin": [-0.25, 1.35152, 5.03874], + "size": [0.5, 0.25, 1.25], + "pivot": [2, 1.46813, 5.23216], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [33, 24], "uv_size": [0.5, 0.25]}, + "east": {"uv": [29, 22], "uv_size": [1.25, 0.25]}, + "south": {"uv": [25, 33], "uv_size": [0.5, 0.25]}, + "west": {"uv": [29, 23], "uv_size": [1.25, 0.25]}, + "up": {"uv": [6, 25], "uv_size": [0.5, 1.25]}, + "down": {"uv": [12, 26.25], "uv_size": [0.5, -1.25]} + } + }, + { + "origin": [-0.25, 1.10152, 6.03874], + "size": [0.5, 0.25, 0.25], + "pivot": [2, 1.46813, 5.23216], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [26, 33], "uv_size": [0.5, 0.25]}, + "east": {"uv": [36, 27], "uv_size": [0.25, 0.25]}, + "south": {"uv": [33, 26], "uv_size": [0.5, 0.25]}, + "west": {"uv": [28, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [27, 33], "uv_size": [0.5, 0.25]}, + "down": {"uv": [33, 27.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.25, 1.76851, 5.99923], + "size": [0.5, 0.25, 0.25], + "pivot": [2, 1.46813, 5.23216], + "rotation": [-32.5, 0, 0], + "uv": { + "north": {"uv": [28, 33], "uv_size": [0.5, 0.25]}, + "east": {"uv": [36, 28], "uv_size": [0.25, 0.25]}, + "south": {"uv": [33, 28], "uv_size": [0.5, 0.25]}, + "west": {"uv": [29, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [29, 33], "uv_size": [0.5, 0.25]}, + "down": {"uv": [33, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.25, 2.01851, 6.06173], + "size": [0.5, 0.125, 0.125], + "pivot": [2, 1.46813, 5.23216], + "rotation": [-32.5, 0, 0], + "uv": { + "east": {"uv": [36, 33], "uv_size": [0.25, 0.25]}, + "south": {"uv": [34, 17], "uv_size": [0.5, 0.25]}, + "west": {"uv": [34, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [18, 34], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.25, 2.14351, 5.93673], + "size": [0.5, 0.125, 0.125], + "pivot": [2, 1.46813, 5.23216], + "rotation": [-32.5, 0, 0], + "uv": { + "east": {"uv": [36, 34], "uv_size": [0.25, 0.25]}, + "south": {"uv": [34, 18], "uv_size": [0.5, 0.25]}, + "west": {"uv": [35, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [19, 34], "uv_size": [0.5, 0.25]} + } + } + ] + }, + { + "name": "flare", + "parent": "gun", + "pivot": [-0.01172, 2.33789, -3.83516], + "cubes": [ + { + "origin": [-3.01172, -0.21875, -3.83516], + "size": [6, 5.11328, 0], + "uv": { + "south": {"uv": [40, 0], "uv_size": [24, 24]} + } + } + ] + }, + { + "name": "Righthand", + "parent": "0", + "pivot": [-2.28589, -4.36581, 12.33096], + "rotation": [105.10434, 9.14542, -177.74729], + "cubes": [ + { + "origin": [-4.33589, -4.36581, 10.28096], + "size": [4, 12, 4], + "uv": { + "north": {"uv": [2.25, 35], "uv_size": [0.25, 0.25]}, + "east": {"uv": [2.25, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [2.25, 35], "uv_size": [0.25, 0.25]}, + "west": {"uv": [2.25, 35], "uv_size": [0.25, 0.25]}, + "up": {"uv": [2.5, 35.25], "uv_size": [-0.25, -0.25]}, + "down": {"uv": [2.5, 35.25], "uv_size": [-0.25, -0.25]} + } + } + ] + }, + { + "name": "magazine", + "parent": "0", + "pivot": [0, -1, 4.25] + }, + { + "name": "mag", + "parent": "magazine", + "pivot": [0, -1, 4.25] + }, + { + "name": "mag_standard", + "parent": "mag", + "pivot": [0, -0.49827, 3.68041], + "cubes": [ + { + "origin": [-0.5, -4.15625, 4.375], + "size": [1, 6, 1], + "pivot": [1, -2.90625, 4.125], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [0, 4], "uv_size": [1, 6]}, + "east": {"uv": [4, 0], "uv_size": [1, 6]}, + "south": {"uv": [1, 4], "uv_size": [1, 6]}, + "west": {"uv": [2, 4], "uv_size": [1, 6]}, + "up": {"uv": [22, 3], "uv_size": [1, 1]} + } + }, + { + "origin": [-0.05546, -4.06388, 5.54166], + "size": [0.25, 6, 0.25], + "pivot": [1.44454, -2.81388, 4.54166], + "rotation": [17.40744, -43.65747, -12.2127], + "uv": { + "east": {"uv": [17, 18], "uv_size": [0.25, 6]}, + "up": {"uv": [6, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.19454, -4.06388, 5.54166], + "size": [0.25, 6, 0.25], + "pivot": [-1.44454, -2.81388, 4.54166], + "rotation": [17.40744, 43.65747, 12.2127], + "uv": { + "west": {"uv": [18, 18], "uv_size": [0.25, 6]}, + "up": {"uv": [37, 6], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.375, -3.96875, 3.75], + "size": [0.75, 5.8125, 0.625], + "pivot": [5.875, -2.90625, 4.125], + "rotation": [12.5, 0, 0], + "uv": { + "east": {"uv": [5, 5], "uv_size": [0.75, 5.75]}, + "west": {"uv": [4, 6], "uv_size": [0.75, 5.75]}, + "up": {"uv": [25, 26], "uv_size": [0.75, 0.75]} + } + }, + { + "origin": [-0.25, 1.84475, 3.75], + "size": [0.5, 0, 0.625], + "pivot": [5.875, -2.90625, 4.125], + "rotation": [12.5, 0, 0], + "uv": { + "up": {"uv": [7, 29], "uv_size": [0.5, 0.75]} + } + }, + { + "origin": [-0.25, -3.96875, 3.625], + "size": [0.5, 5.8125, 0.125], + "pivot": [5.875, -2.90625, 4.125], + "rotation": [12.5, 0, 0], + "uv": { + "north": {"uv": [2, 10], "uv_size": [0.5, 5.75]}, + "up": {"uv": [34, 21], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.30936, -4.07062, 3.41132], + "size": [0.17678, 5.8125, 0.125], + "pivot": [-0.38258, -1.25812, 3.47382], + "rotation": [17.40744, 43.65747, 12.2127], + "uv": { + "north": {"uv": [1, 19], "uv_size": [0.25, 5.75]}, + "up": {"uv": [7, 37], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [0.13258, -4.07062, 3.41132], + "size": [0.17678, 5.8125, 0.125], + "pivot": [0.38258, -1.25812, 3.47382], + "rotation": [17.40744, -43.65747, -12.2127], + "uv": { + "north": {"uv": [4, 19], "uv_size": [0.25, 5.75]}, + "up": {"uv": [37, 7], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.625, -4.11657, 3.92484], + "size": [1.25, 0.25, 1.75], + "uv": { + "north": {"uv": [26, 29], "uv_size": [1.25, 0.25]}, + "east": {"uv": [28, 14], "uv_size": [1.75, 0.25]}, + "south": {"uv": [29, 26], "uv_size": [1.25, 0.25]}, + "west": {"uv": [15, 28], "uv_size": [1.75, 0.25]}, + "up": {"uv": [0, 13], "uv_size": [1.25, 1.75]}, + "down": {"uv": [13, 5.75], "uv_size": [1.25, -1.75]} + } + }, + { + "origin": [-0.375, -4.11657, 3.67484], + "size": [0.75, 0.25, 0.25], + "uv": { + "north": {"uv": [32, 10], "uv_size": [0.75, 0.25]}, + "east": {"uv": [36, 35], "uv_size": [0.25, 0.25]}, + "south": {"uv": [11, 32], "uv_size": [0.75, 0.25]}, + "west": {"uv": [36, 36], "uv_size": [0.25, 0.25]}, + "up": {"uv": [32, 11], "uv_size": [0.75, 0.25]}, + "down": {"uv": [12, 32.25], "uv_size": [0.75, -0.25]} + } + }, + { + "origin": [-0.53033, -4.11657, 3.9034], + "size": [0.35355, 0.25, 0.25], + "pivot": [-0.55178, -4.11657, 4.0284], + "rotation": [0, 45, 0], + "uv": { + "north": {"uv": [0, 37], "uv_size": [0.25, 0.25]}, + "east": {"uv": [37, 0], "uv_size": [0.25, 0.25]}, + "south": {"uv": [1, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 1], "uv_size": [0.25, 0.25]}, + "up": {"uv": [2, 37], "uv_size": [0.25, 0.25]}, + "down": {"uv": [37, 2.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [0.17678, -4.11657, 3.9034], + "size": [0.35355, 0.25, 0.25], + "pivot": [0.55178, -4.11657, 4.0284], + "rotation": [0, -45, 0], + "uv": { + "north": {"uv": [3, 37], "uv_size": [0.25, 0.25]}, + "east": {"uv": [37, 3], "uv_size": [0.25, 0.25]}, + "south": {"uv": [4, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 4], "uv_size": [0.25, 0.25]}, + "up": {"uv": [5, 37], "uv_size": [0.25, 0.25]}, + "down": {"uv": [37, 5.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.499, 1.78527, 3.34099], + "size": [0.998, 0.21644, 0.9763], + "uv": { + "north": {"uv": [1, 31], "uv_size": [1, 0.25]}, + "east": {"uv": [31, 1], "uv_size": [1, 0.25]}, + "west": {"uv": [2, 31], "uv_size": [1, 0.25]}, + "up": {"uv": [5, 22], "uv_size": [1, 1]} + } + }, + { + "origin": [-0.375, 1.64999, 3.2308], + "size": [0.75, 0.35171, 0.11018], + "uv": { + "north": {"uv": [32, 12], "uv_size": [0.75, 0.25]}, + "east": {"uv": [8, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [13, 32], "uv_size": [0.75, 0.25]}, + "west": {"uv": [37, 8], "uv_size": [0.25, 0.25]}, + "up": {"uv": [32, 13], "uv_size": [0.75, 0.25]}, + "down": {"uv": [14, 32.25], "uv_size": [0.75, -0.25]} + } + }, + { + "origin": [-0.375, 1.64229, 3.15931], + "size": [0.75, 0.35171, 0.25], + "pivot": [0, 1.81815, 3.2144], + "rotation": [-22.5, 0, 0], + "uv": { + "north": {"uv": [32, 14], "uv_size": [0.75, 0.25]}, + "east": {"uv": [9, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 9], "uv_size": [0.25, 0.25]} + } + }, + { + "origin": [-0.25, 2.00175, 3.2298], + "size": [0.5, 0, 1], + "uv": { + "up": {"uv": [27, 22], "uv_size": [0.5, 1]} + } + }, + { + "origin": [-0.25, 1.54043, 3.22688], + "size": [0.5, 0, 0.3125], + "pivot": [0, 1.54043, 3.03938], + "rotation": [67.5, 0, 0], + "uv": { + "up": {"uv": [22, 34], "uv_size": [0.5, 0.25]} + } + }, + { + "origin": [-0.63369, 2.45556, 3.34099], + "size": [0.375, 0.125, 0.9763], + "pivot": [-0.13369, 2.39117, 3.46302], + "rotation": [0, 0, -67.5], + "uv": { + "north": {"uv": [34, 19], "uv_size": [0.5, 0.25]}, + "south": {"uv": [20, 34], "uv_size": [0.5, 0.25]}, + "west": {"uv": [31, 2], "uv_size": [1, 0.25]}, + "up": {"uv": [19, 27], "uv_size": [0.5, 1]}, + "down": {"uv": [20, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [0.25869, 2.45556, 3.34099], + "size": [0.375, 0.125, 0.9763], + "pivot": [0.13369, 2.39117, 3.46302], + "rotation": [0, 0, 67.5], + "uv": { + "north": {"uv": [34, 20], "uv_size": [0.5, 0.25]}, + "east": {"uv": [3, 31], "uv_size": [1, 0.25]}, + "south": {"uv": [21, 34], "uv_size": [0.5, 0.25]}, + "up": {"uv": [27, 20], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 22], "uv_size": [0.5, -1]} + } + } + ] + }, + { + "name": "bullet", + "parent": "mag", + "pivot": [0, 1.9375, 3.68145], + "cubes": [ + { + "origin": [-0.25, 1.6875, 3.1875], + "size": [0.5, 0.5, 0.875], + "pivot": [0, 1.9375, 3.5], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [5, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [25, 27], "uv_size": [1, 0.5]}, + "south": {"uv": [31, 5], "uv_size": [0.5, 0.5]}, + "west": {"uv": [27, 25], "uv_size": [1, 0.5]}, + "up": {"uv": [27, 26], "uv_size": [0.5, 1]}, + "down": {"uv": [27, 28], "uv_size": [0.5, -1]} + } + }, + { + "origin": [-0.25, 1.6875, 4.125], + "size": [0.5, 0.5, 0.0625], + "pivot": [0, 1.9375, 3.5], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [6, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [28, 34], "uv_size": [0.25, 0.5]}, + "south": {"uv": [31, 6], "uv_size": [0.5, 0.5]}, + "west": {"uv": [34, 28], "uv_size": [0.25, 0.5]}, + "up": {"uv": [29, 34], "uv_size": [0.5, 0.25]}, + "down": {"uv": [34, 29.25], "uv_size": [0.5, -0.25]} + } + }, + { + "origin": [-0.125, 1.8125, 4.126], + "size": [0.25, 0.25, 0.0625], + "pivot": [0, 1.9375, 3.5], + "rotation": [0, 0, -45], + "uv": { + "east": {"uv": [31, 37], "uv_size": [0.25, 0.25]}, + "south": {"uv": [37, 31], "uv_size": [0.25, 0.25]}, + "west": {"uv": [32, 37], "uv_size": [0.25, 0.25]}, + "up": {"uv": [37, 32], "uv_size": [0.25, 0.25]}, + "down": {"uv": [33, 37.25], "uv_size": [0.25, -0.25]} + } + }, + { + "origin": [-0.21875, 1.71875, 2.9375], + "size": [0.4375, 0.4375, 1.1875], + "pivot": [0, 1.9375, 3.5], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [7, 31], "uv_size": [0.5, 0.5]}, + "east": {"uv": [14, 26], "uv_size": [1.25, 0.5]}, + "west": {"uv": [26, 14], "uv_size": [1.25, 0.5]}, + "up": {"uv": [26, 15], "uv_size": [0.5, 1.25]}, + "down": {"uv": [16, 27.25], "uv_size": [0.5, -1.25]} + } + }, + { + "origin": [-0.15625, 1.78125, 2.8125], + "size": [0.3125, 0.3125, 0.25], + "pivot": [0, 1.9375, 3.5], + "rotation": [0, 0, -45], + "uv": { + "north": {"uv": [28, 37], "uv_size": [0.25, 0.25]}, + "east": {"uv": [37, 28], "uv_size": [0.25, 0.25]}, + "south": {"uv": [29, 37], "uv_size": [0.25, 0.25]}, + "west": {"uv": [37, 29], "uv_size": [0.25, 0.25]}, + "up": {"uv": [30, 37], "uv_size": [0.25, 0.25]}, + "down": {"uv": [37, 30.25], "uv_size": [0.25, -0.25]} + } + } + ] + }, + { + "name": "Lefthand", + "parent": "magazine", + "pivot": [2.6976, -5.94887, 11.27824], + "rotation": [113.29762, -12.57035, 179.33701], + "cubes": [ + { + "origin": [0.6476, -5.94887, 9.32824], + "size": [4, 12, 4], + "uv": { + "north": {"uv": [0, 35.25], "uv_size": [0.25, 0.25]}, + "east": {"uv": [0, 35.25], "uv_size": [0.25, 0.25]}, + "south": {"uv": [0, 35.25], "uv_size": [0.25, 0.25]}, + "west": {"uv": [0, 35.25], "uv_size": [0.25, 0.25]}, + "up": {"uv": [0.25, 35.5], "uv_size": [-0.25, -0.25]}, + "down": {"uv": [0.25, 35.5], "uv_size": [-0.25, -0.25]} + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/geo/taser.geo.json b/src/main/resources/assets/superbwarfare/geo/taser.geo.json index 529d45dce..4750880d3 100644 --- a/src/main/resources/assets/superbwarfare/geo/taser.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/taser.geo.json @@ -6,7 +6,7 @@ "identifier": "geometry.taser", "texture_width": 32, "texture_height": 32, - "visible_bounds_width": 3, + "visible_bounds_width": 4, "visible_bounds_height": 3, "visible_bounds_offset": [0, 0.5, 0] }, @@ -167,11 +167,11 @@ { "name": "Righthand", "parent": "0", - "pivot": [-2.4, -2.9, 11.5], - "rotation": [96.64168, 7.15102, -177.73292], + "pivot": [-1.15468, -2.08634, -0.45413], + "rotation": [-76.32882, 10.3564, 179.6036], "cubes": [ { - "origin": [-4.4, -2.9, 9.5], + "origin": [-3.15468, -3.08634, -2.45413], "size": [4, 12, 4], "uv": { "north": {"uv": [1.25, 30], "uv_size": [-1.25, 2]}, @@ -187,14 +187,12 @@ { "name": "Lefthand", "parent": "0", - "pivot": [2.2, -6.3, 9.6], - "rotation": [109.69635, -4.47536, 178.48092], + "pivot": [0.4046, -2.34567, -1.07012], + "rotation": [-68.00049, -19.4896, 179.16409], "cubes": [ { - "origin": [0.6, -6.3, 7.9], + "origin": [-1.5954, -3.34567, -3.07012], "size": [4, 12, 4], - "pivot": [2.6, -0.3, 9.9], - "rotation": [0, 17, 0], "uv": { "north": {"uv": [1.25, 32], "uv_size": [-1.25, -2]}, "east": {"uv": [1.25, 32], "uv_size": [-1.25, -2]}, diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 8a8c0767c..0874dc4d3 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -42,6 +42,7 @@ "item.superbwarfare.glock_17": "GLOCK-17", "item.superbwarfare.glock_18": "GLOCK-18", "item.superbwarfare.m_1911": "M1911A1", + "item.superbwarfare.mp_443": "MP-443", "item.superbwarfare.qbz_95": "QBZ-95-1", "item.superbwarfare.k_98": "KAR-98K", "item.superbwarfare.mosin_nagant": "Mosin Nagant", @@ -93,6 +94,7 @@ "item.superbwarfare.taser_blueprint": "TASER Blueprint", "item.superbwarfare.glock_17_blueprint": "GLOCK-17 Blueprint", "item.superbwarfare.glock_18_blueprint": "GLOCK-18 Blueprint", + "item.superbwarfare.mp_443_blueprint": "Mp-443 Blueprint", "item.superbwarfare.m_1911_blueprint": "M1911 Blueprint", "item.superbwarfare.qbz_95_blueprint": "QBZ-95-1 Blueprint", "item.superbwarfare.k_98_blueprint": "KAR-98K Blueprint", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index f97e5f167..ed40fd2f0 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -42,6 +42,7 @@ "item.superbwarfare.glock_17": "格洛克17手枪", "item.superbwarfare.glock_18": "格洛克18手枪", "item.superbwarfare.m_1911": "M1911手枪", + "item.superbwarfare.mp_443": "MP-443手枪", "item.superbwarfare.qbz_95": "95-1式自动步枪", "item.superbwarfare.k_98": "KAR-98K", "item.superbwarfare.mosin_nagant": "莫辛纳甘", @@ -93,6 +94,7 @@ "item.superbwarfare.taser_blueprint": "泰瑟枪蓝图", "item.superbwarfare.glock_17_blueprint": "格洛克17手枪蓝图", "item.superbwarfare.glock_18_blueprint": "格洛克18手枪蓝图", + "item.superbwarfare.mp_443_blueprint": "Mp-443手枪蓝图", "item.superbwarfare.m_1911_blueprint": "M1911手枪蓝图", "item.superbwarfare.qbz_95_blueprint": "95-1式自动步枪蓝图", "item.superbwarfare.k_98_blueprint": "KAR-98K蓝图", diff --git a/src/main/resources/assets/superbwarfare/models/item/mp443_3d.json b/src/main/resources/assets/superbwarfare/models/item/mp443_3d.json new file mode 100644 index 000000000..09361f79e --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/mp443_3d.json @@ -0,0 +1,165 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "superbwarfare:item/mp443_3d", + "particle": "superbwarfare:item/mp443_3d" + }, + "elements": [ + { + "from": [7.1, 7, 9.5], + "to": [8.9, 8, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 2]}, + "faces": { + "north": {"uv": [6, 8, 7, 8.5], "texture": "#0"}, + "east": {"uv": [7, 3, 9.5, 3.5], "texture": "#0"}, + "south": {"uv": [8, 7, 9, 7.5], "texture": "#0"}, + "west": {"uv": [7, 3.5, 9.5, 4], "texture": "#0"}, + "up": {"uv": [5, 8, 4, 5.5], "texture": "#0"}, + "down": {"uv": [6, 5.5, 5, 8], "texture": "#0"} + } + }, + { + "from": [7.1, 7, 7], + "to": [8.9, 7.5, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 2]}, + "faces": { + "north": {"uv": [3, 8.5, 4, 9], "texture": "#0"}, + "east": {"uv": [3, 8, 4.5, 8.5], "texture": "#0"}, + "south": {"uv": [4, 8.5, 5, 9], "texture": "#0"}, + "west": {"uv": [4.5, 8, 6, 8.5], "texture": "#0"}, + "up": {"uv": [8, 1.5, 7, 0], "texture": "#0"}, + "down": {"uv": [8, 1.5, 7, 3], "texture": "#0"} + } + }, + { + "from": [7.1, 7, 3], + "to": [8.9, 8, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 2]}, + "faces": { + "north": {"uv": [5, 8.5, 6, 9], "texture": "#0"}, + "east": {"uv": [8, 0, 10, 0.5], "texture": "#0"}, + "south": {"uv": [6, 8.5, 7, 9], "texture": "#0"}, + "west": {"uv": [8, 0.5, 10, 1], "texture": "#0"}, + "up": {"uv": [7, 4, 6, 2], "texture": "#0"}, + "down": {"uv": [4, 6, 3, 8], "texture": "#0"} + } + }, + { + "from": [7.1, 5, 6.5], + "to": [8.9, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [0.5, 7.5, 1.5, 8.5], "texture": "#0"}, + "east": {"uv": [3, 0, 7, 1], "texture": "#0"}, + "south": {"uv": [1.5, 7.5, 2.5, 8.5], "texture": "#0"}, + "west": {"uv": [3, 1, 7, 2], "texture": "#0"}, + "up": {"uv": [4, 6, 3, 2], "texture": "#0"}, + "down": {"uv": [1, 3.5, 0, 7.5], "texture": "#0"} + } + }, + { + "from": [7.1, 5.75723, 12.92312], + "to": [8.9, 7.60723, 13.69312], + "rotation": {"angle": 22.5, "axis": "x", "origin": [7, 4.60723, 11.94312]}, + "faces": { + "north": {"uv": [8, 1, 9, 2], "texture": "#0"}, + "east": {"uv": [2, 8.5, 2.5, 9.5], "texture": "#0"}, + "south": {"uv": [8, 2, 9, 3], "texture": "#0"}, + "west": {"uv": [7, 8.5, 7.5, 9.5], "texture": "#0"}, + "up": {"uv": [9.5, 8.5, 8.5, 8], "texture": "#0"}, + "down": {"uv": [10, 1, 9, 1.5], "texture": "#0"} + } + }, + { + "from": [7.2, 6.5, 2], + "to": [8.8, 7.9, 9.75], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [8.5, 7.5, 9.5, 8], "texture": "#0"}, + "east": {"uv": [6, 4, 10, 4.5], "texture": "#0"}, + "south": {"uv": [8, 8.5, 9, 9], "texture": "#0"}, + "west": {"uv": [6, 4.5, 10, 5], "texture": "#0"}, + "up": {"uv": [2, 7.5, 1, 3.5], "texture": "#0"}, + "down": {"uv": [3, 3.5, 2, 7.5], "texture": "#0"} + } + }, + { + "from": [7.35, 5.25, 2], + "to": [8.65, 6.5, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]}, + "faces": { + "north": {"uv": [3.5, 9, 4, 9.5], "texture": "#0"}, + "east": {"uv": [7, 5, 9.5, 5.5], "texture": "#0"}, + "south": {"uv": [4, 9, 4.5, 9.5], "texture": "#0"}, + "west": {"uv": [7, 5.5, 9.5, 6], "texture": "#0"}, + "up": {"uv": [7.5, 8.5, 7, 6], "texture": "#0"}, + "down": {"uv": [0.5, 7.5, 0, 10], "texture": "#0"} + } + }, + { + "from": [7.75, 3.25, 7], + "to": [8.25, 5, 7.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4.125, 7.125]}, + "faces": { + "north": {"uv": [8, 7.5, 8.5, 8.5], "texture": "#0"}, + "east": {"uv": [0.5, 8.5, 1, 9.5], "texture": "#0"}, + "south": {"uv": [1, 8.5, 1.5, 9.5], "texture": "#0"}, + "west": {"uv": [1.5, 8.5, 2, 9.5], "texture": "#0"}, + "up": {"uv": [9.5, 2, 9, 1.5], "texture": "#0"}, + "down": {"uv": [9.5, 2, 9, 2.5], "texture": "#0"} + } + }, + { + "from": [7.75, 3.25, 7.25], + "to": [8.25, 3.5, 10.75], + "rotation": {"angle": 0, "axis": "x", "origin": [8, 3.375, 8.875]}, + "faces": { + "north": {"uv": [9, 2.5, 9.5, 3], "texture": "#0"}, + "east": {"uv": [7.5, 6, 9.5, 6.5], "texture": "#0"}, + "south": {"uv": [3, 9, 3.5, 9.5], "texture": "#0"}, + "west": {"uv": [7.5, 6.5, 9.5, 7], "texture": "#0"}, + "up": {"uv": [3, 9.5, 2.5, 7.5], "texture": "#0"}, + "down": {"uv": [8, 7, 7.5, 9], "texture": "#0"} + } + }, + { + "from": [7.15781, -0.26537, 10.40224], + "to": [8.84219, 6.23463, 13.15224], + "rotation": {"angle": -22.5, "axis": "x", "origin": [7, 4.23463, 12.15224]}, + "faces": { + "north": {"uv": [4, 2, 5, 5.5], "texture": "#0"}, + "east": {"uv": [0, 0, 1.5, 3.5], "texture": "#0"}, + "south": {"uv": [5, 2, 6, 5.5], "texture": "#0"}, + "west": {"uv": [1.5, 0, 3, 3.5], "texture": "#0"}, + "up": {"uv": [7, 6.5, 6, 5], "texture": "#0"}, + "down": {"uv": [7, 6.5, 6, 8], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "translation": [-1, 1.5, 0], + "scale": [0.5, 0.5, 0.5] + }, + "thirdperson_lefthand": { + "scale": [0, 0, 0] + }, + "firstperson_lefthand": { + "translation": [0, -80, 0], + "scale": [0, 0, 0] + }, + "ground": { + "translation": [0, -0.25, 0], + "scale": [0.75, 0.75, 0.75] + }, + "head": { + "translation": [0, 10.25, 0] + }, + "fixed": { + "rotation": [90, 45, -90], + "translation": [1.25, 4, 0], + "scale": [1.2, 1.2, 1.2] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/mp443_icon.json b/src/main/resources/assets/superbwarfare/models/item/mp443_icon.json new file mode 100644 index 000000000..394713f14 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/mp443_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/mp443_icon" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/mp_443.json b/src/main/resources/assets/superbwarfare/models/item/mp_443.json new file mode 100644 index 000000000..2dbcc4426 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/mp_443.json @@ -0,0 +1,27 @@ +{ + "loader": "forge:separate_transforms", + "gui_light": "front", + "base": { + "parent": "superbwarfare:item/glock_17_base" + }, + "perspectives": { + "gui": { + "parent": "superbwarfare:item/mp443_icon" + }, + "thirdperson_righthand": { + "parent": "superbwarfare:item/mp443_3d" + }, + "thirdperson_lefthand": { + "parent": "superbwarfare:item/mp443_3d" + }, + "ground": { + "parent": "superbwarfare:item/mp443_3d" + }, + "fixed": { + "parent": "superbwarfare:item/mp443_3d" + }, + "head": { + "parent": "superbwarfare:item/mp443_3d" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index 0460ac3a1..07e00e8b7 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -1359,50 +1359,18 @@ } ] }, - "glock_18_fire_1p": { + "mp_443_fire_1p": { "sounds": [ { - "name": "superbwarfare:glock_17/glock_fire_1p", + "name": "superbwarfare:mp443/mp443_fire_1p", "stream": false } ] }, - "glock_18_fire_3p": { + "mp_443_fire_3p": { "sounds": [ { - "name": "superbwarfare:glock_17/glock_fire_3p", - "stream": false - } - ] - }, - "glock_18_far": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_far", - "stream": false - } - ] - }, - "glock_18_veryfar": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_veryfar", - "stream": false - } - ] - }, - "glock_18_reload_normal": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_reload_normal", - "stream": false - } - ] - }, - "glock_18_reload_empty": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_reload_empty", + "name": "superbwarfare:mp443/mp443_fire_3p", "stream": false } ] @@ -1439,22 +1407,6 @@ } ] }, - "m_1911_reload_normal": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_reload_normal", - "stream": false - } - ] - }, - "m_1911_reload_empty": { - "sounds": [ - { - "name": "superbwarfare:glock_17/glock_reload_empty", - "stream": false - } - ] - }, "qbz_95_fire_1p": { "sounds": [ { diff --git a/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_1p.ogg b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_1p.ogg new file mode 100644 index 000000000..79c26c3f6 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_1p.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_3p.ogg b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_3p.ogg new file mode 100644 index 000000000..e717ffe9c Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_fire_3p.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence.ogg b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence.ogg new file mode 100644 index 000000000..d1ad75818 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence_3p.ogg b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence_3p.ogg new file mode 100644 index 000000000..c12aee748 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/mp443/mp443_silence_3p.ogg differ diff --git a/src/main/resources/assets/superbwarfare/textures/gun_icon/mp443_icon.png b/src/main/resources/assets/superbwarfare/textures/gun_icon/mp443_icon.png new file mode 100644 index 000000000..8667206d5 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/gun_icon/mp443_icon.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/mp443.png b/src/main/resources/assets/superbwarfare/textures/item/mp443.png new file mode 100644 index 000000000..955471974 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/mp443.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/mp443_3d.png b/src/main/resources/assets/superbwarfare/textures/item/mp443_3d.png new file mode 100644 index 000000000..91d3930c4 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/mp443_3d.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/mp443_e.png b/src/main/resources/assets/superbwarfare/textures/item/mp443_e.png new file mode 100644 index 000000000..666fb0968 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/mp443_e.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/mp443_icon.png b/src/main/resources/assets/superbwarfare/textures/item/mp443_icon.png new file mode 100644 index 000000000..a0e80d887 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/mp443_icon.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/mp443_light_e.png b/src/main/resources/assets/superbwarfare/textures/item/mp443_light_e.png new file mode 100644 index 000000000..c3dd2a460 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/mp443_light_e.png differ diff --git a/src/main/resources/data/superbwarfare/guns/mp_443.json b/src/main/resources/data/superbwarfare/guns/mp_443.json new file mode 100644 index 000000000..e96aa8237 --- /dev/null +++ b/src/main/resources/data/superbwarfare/guns/mp_443.json @@ -0,0 +1,15 @@ +{ + "Spread": 2.5, + "RecoilX": 0.004, + "RecoilY": 0.013, + "Damage": 5.5, + "Headshot": 1.5, + "Velocity": 17, + "Magazine": 17, + "Weight": 1, + "NormalReloadTime": 44, + "EmptyReloadTime": 47, + "BypassesArmor": 0.15, + "SoundRadius": 8, + "RPM": 400 +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_common.json b/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_common.json index a604b8ca8..bff8106e8 100644 --- a/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_common.json +++ b/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_common.json @@ -32,6 +32,20 @@ } ] }, + { + "type": "minecraft:item", + "name": "superbwarfare:mp_443_blueprint", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + }, { "type": "minecraft:item", "name": "superbwarfare:m_1911_blueprint", diff --git a/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_rare.json b/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_rare.json index ca87bd90c..2a649b31b 100644 --- a/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_rare.json +++ b/src/main/resources/data/superbwarfare/loot_tables/chests/blue_print_rare.json @@ -7,7 +7,21 @@ { "type": "minecraft:item", "name": "superbwarfare:glock_17_blueprint", - "weight": 9, + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "superbwarfare:mp_443_blueprint", + "weight": 10, "functions": [ { "function": "set_count", diff --git a/src/main/resources/data/superbwarfare/recipes/mp443_smithing.json b/src/main/resources/data/superbwarfare/recipes/mp443_smithing.json new file mode 100644 index 000000000..b1e78c70b --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/mp443_smithing.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:smithing_transform", + "template": { + "item": "superbwarfare:mp_443_blueprint" + }, + "base": { + "item": "superbwarfare:common_material_pack" + }, + "addition": { + "item": "minecraft:iron_ingot" + }, + "result": { + "item": "superbwarfare:mp_443" + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipes/mp_443_blueprint_crafting.json b/src/main/resources/data/superbwarfare/recipes/mp_443_blueprint_crafting.json new file mode 100644 index 000000000..c86c33fc3 --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/mp_443_blueprint_crafting.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "pattern": [ + "aba", + "aca", + "aaa" + ], + "key": { + "a": { + "item": "minecraft:diamond" + }, + "b": { + "item": "superbwarfare:mp_443_blueprint" + }, + "c": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "superbwarfare:mp_443_blueprint", + "count": 2 + } +} \ No newline at end of file