优化多把手木仓的3p

This commit is contained in:
Atsuishio 2025-06-03 16:09:14 +08:00 committed by Light_Quanta
parent a44e57f493
commit 6a92ff7be2
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
24 changed files with 7457 additions and 614 deletions

View file

@ -49,7 +49,6 @@ public class AK47ItemModel extends CustomGunModel<AK47Item> {
GeoBone scope = getAnimationProcessor().getBone("Scope1"); GeoBone scope = getAnimationProcessor().getBone("Scope1");
GeoBone scope2 = getAnimationProcessor().getBone("Scope2"); GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
GeoBone scope3 = getAnimationProcessor().getBone("Scope3"); GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
GeoBone shuan = getAnimationProcessor().getBone("shuan");
float times = 0.6f * (float) Math.min(Minecraft.getInstance().getTimer().getRealtimeDeltaTicks(), 0.8); float times = 0.6f * (float) Math.min(Minecraft.getInstance().getTimer().getRealtimeDeltaTicks(), 0.8);
double zt = ClientEventHandler.zoomTime; double zt = ClientEventHandler.zoomTime;
@ -134,8 +133,6 @@ public class AK47ItemModel extends CustomGunModel<AK47Item> {
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = shen.getRotZ();
shuan.setPosZ(2.4f * (float) fp);
GeoBone l = getAnimationProcessor().getBone("l"); GeoBone l = getAnimationProcessor().getBone("l");
GeoBone r = getAnimationProcessor().getBone("r"); GeoBone r = getAnimationProcessor().getBone("r");
rotXBipod = Mth.lerp(1.5f * times, rotXBipod, isProne(player) ? -90 : 0); rotXBipod = Mth.lerp(1.5f * times, rotXBipod, isProne(player) ? -90 : 0);

View file

@ -34,6 +34,16 @@ public class Glock17ItemModel extends CustomGunModel<Glock17Item> {
return Mod.loc("textures/item/glock_17.png"); return Mod.loc("textures/item/glock_17.png");
} }
@Override
public ResourceLocation getLODModelResource(Glock17Item animatable) {
return Mod.loc("geo/lod/glock_17.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(Glock17Item animatable) {
return Mod.loc("textures/item/lod/glock_17.png");
}
@Override @Override
public void setCustomAnimations(Glock17Item animatable, long instanceId, AnimationState<Glock17Item> animationState) { public void setCustomAnimations(Glock17Item animatable, long instanceId, AnimationState<Glock17Item> animationState) {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -42,7 +52,6 @@ public class Glock17ItemModel extends CustomGunModel<Glock17Item> {
if (shouldCancelRender(stack, animationState)) return; if (shouldCancelRender(stack, animationState)) return;
GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone gun = getAnimationProcessor().getBone("bone");
GeoBone slide = getAnimationProcessor().getBone("huatao");
GeoBone bullet = getAnimationProcessor().getBone("bullet"); GeoBone bullet = getAnimationProcessor().getBone("bullet");
float times = 0.6f * (float) Math.min(Minecraft.getInstance().getTimer().getRealtimeDeltaTicks(), 0.8); float times = 0.6f * (float) Math.min(Minecraft.getInstance().getTimer().getRealtimeDeltaTicks(), 0.8);
@ -79,8 +88,6 @@ public class Glock17ItemModel extends CustomGunModel<Glock17Item> {
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
slide.setPosZ(1.5f * (float) fp);
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
GeoBone camera = getAnimationProcessor().getBone("camera"); GeoBone camera = getAnimationProcessor().getBone("camera");
@ -108,8 +115,8 @@ public class Glock17ItemModel extends CustomGunModel<Glock17Item> {
GeoBone shell = getAnimationProcessor().getBone("shell"); GeoBone shell = getAnimationProcessor().getBone("shell");
GeoBone barrel = getAnimationProcessor().getBone("guan"); GeoBone barrel = getAnimationProcessor().getBone("guan");
if (data.holdOpen.get()) {
slide.setPosZ(1.5f); if (GunData.from(stack).holdOpen.get()) {
barrel.setRotX(4 * Mth.DEG_TO_RAD); barrel.setRotX(4 * Mth.DEG_TO_RAD);
bullet.setScaleX(0); bullet.setScaleX(0);
bullet.setScaleY(0); bullet.setScaleY(0);

View file

@ -35,6 +35,16 @@ public class Glock18ItemModel extends CustomGunModel<Glock18Item> {
return Mod.loc("textures/item/glock_17.png"); return Mod.loc("textures/item/glock_17.png");
} }
@Override
public ResourceLocation getLODModelResource(Glock18Item animatable) {
return Mod.loc("geo/lod/glock_17.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(Glock18Item animatable) {
return Mod.loc("textures/item/lod/glock_17.png");
}
@Override @Override
public void setCustomAnimations(Glock18Item animatable, long instanceId, AnimationState<Glock18Item> animationState) { public void setCustomAnimations(Glock18Item animatable, long instanceId, AnimationState<Glock18Item> animationState) {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -43,7 +53,6 @@ public class Glock18ItemModel extends CustomGunModel<Glock18Item> {
if (shouldCancelRender(stack, animationState)) return; if (shouldCancelRender(stack, animationState)) return;
GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone gun = getAnimationProcessor().getBone("bone");
GeoBone slide = getAnimationProcessor().getBone("huatao");
GeoBone bullet = getAnimationProcessor().getBone("bullet"); GeoBone bullet = getAnimationProcessor().getBone("bullet");
GeoBone switch_ = getAnimationProcessor().getBone("kuaimanji"); GeoBone switch_ = getAnimationProcessor().getBone("kuaimanji");
@ -93,8 +102,6 @@ public class Glock18ItemModel extends CustomGunModel<Glock18Item> {
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
slide.setPosZ(1.5f * (float) fp);
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
GeoBone camera = getAnimationProcessor().getBone("camera"); GeoBone camera = getAnimationProcessor().getBone("camera");
@ -120,8 +127,7 @@ public class Glock18ItemModel extends CustomGunModel<Glock18Item> {
GeoBone shell = getAnimationProcessor().getBone("shell"); GeoBone shell = getAnimationProcessor().getBone("shell");
GeoBone barrel = getAnimationProcessor().getBone("guan"); GeoBone barrel = getAnimationProcessor().getBone("guan");
if (data.holdOpen.get()) { if (GunData.from(stack).holdOpen.get()) {
slide.setPosZ(1.5f);
barrel.setRotX(4 * Mth.DEG_TO_RAD); barrel.setRotX(4 * Mth.DEG_TO_RAD);
bullet.setScaleX(0); bullet.setScaleX(0);
bullet.setScaleY(0); bullet.setScaleY(0);

View file

@ -34,6 +34,16 @@ public class M1911ItemModel extends CustomGunModel<M1911Item> {
return Mod.loc("textures/item/m_1911.png"); return Mod.loc("textures/item/m_1911.png");
} }
@Override
public ResourceLocation getLODModelResource(M1911Item animatable) {
return Mod.loc("geo/lod/m_1911.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(M1911Item animatable) {
return Mod.loc("textures/item/lod/m_1911.png");
}
@Override @Override
public void setCustomAnimations(M1911Item animatable, long instanceId, AnimationState<M1911Item> animationState) { public void setCustomAnimations(M1911Item animatable, long instanceId, AnimationState<M1911Item> animationState) {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -42,7 +52,6 @@ public class M1911ItemModel extends CustomGunModel<M1911Item> {
if (shouldCancelRender(stack, animationState)) return; if (shouldCancelRender(stack, animationState)) return;
GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone gun = getAnimationProcessor().getBone("bone");
GeoBone slide = getAnimationProcessor().getBone("huatao");
GeoBone bullet = getAnimationProcessor().getBone("bullet"); GeoBone bullet = getAnimationProcessor().getBone("bullet");
GeoBone hammer = getAnimationProcessor().getBone("hammer"); GeoBone hammer = getAnimationProcessor().getBone("hammer");
@ -82,8 +91,6 @@ public class M1911ItemModel extends CustomGunModel<M1911Item> {
body.setRotZ((float) (body.getRotZ() * (1 - 0.65 * zt))); body.setRotZ((float) (body.getRotZ() * (1 - 0.65 * zt)));
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
slide.setPosZ(2.75f * (float) fp);
hammer.setRotX(60 * Mth.DEG_TO_RAD + (120 * Mth.DEG_TO_RAD * (float) fp)); hammer.setRotX(60 * Mth.DEG_TO_RAD + (120 * Mth.DEG_TO_RAD * (float) fp));
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
@ -111,8 +118,7 @@ public class M1911ItemModel extends CustomGunModel<M1911Item> {
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f); AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f);
GeoBone shell = getAnimationProcessor().getBone("shell"); GeoBone shell = getAnimationProcessor().getBone("shell");
if (data.holdOpen.get()) { if (GunData.from(stack).holdOpen.get()) {
slide.setPosZ(1.5f);
bullet.setScaleX(0); bullet.setScaleX(0);
bullet.setScaleY(0); bullet.setScaleY(0);
bullet.setScaleZ(0); bullet.setScaleZ(0);

View file

@ -34,6 +34,16 @@ public class Mp443ItemModel extends CustomGunModel<Mp443Item> {
return Mod.loc("textures/item/mp_443.png"); return Mod.loc("textures/item/mp_443.png");
} }
@Override
public ResourceLocation getLODModelResource(Mp443Item animatable) {
return Mod.loc("geo/lod/mp_443.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(Mp443Item animatable) {
return Mod.loc("textures/item/lod/mp_443.png");
}
@Override @Override
public void setCustomAnimations(Mp443Item animatable, long instanceId, AnimationState<Mp443Item> animationState) { public void setCustomAnimations(Mp443Item animatable, long instanceId, AnimationState<Mp443Item> animationState) {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -42,7 +52,6 @@ public class Mp443ItemModel extends CustomGunModel<Mp443Item> {
if (shouldCancelRender(stack, animationState)) return; if (shouldCancelRender(stack, animationState)) return;
GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone gun = getAnimationProcessor().getBone("bone");
GeoBone slide = getAnimationProcessor().getBone("huatao");
GeoBone bullet = getAnimationProcessor().getBone("bullet"); GeoBone bullet = getAnimationProcessor().getBone("bullet");
GeoBone hammer = getAnimationProcessor().getBone("trigger"); GeoBone hammer = getAnimationProcessor().getBone("trigger");
@ -79,8 +88,6 @@ public class Mp443ItemModel extends CustomGunModel<Mp443Item> {
body.setRotZ((float) (body.getRotZ() * (1 - 0.65 * zt))); body.setRotZ((float) (body.getRotZ() * (1 - 0.65 * zt)));
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
slide.setPosZ(1.5f * (float) fp);
hammer.setRotX((120 * Mth.DEG_TO_RAD * (float) fp)); hammer.setRotX((120 * Mth.DEG_TO_RAD * (float) fp));
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
@ -108,9 +115,7 @@ public class Mp443ItemModel extends CustomGunModel<Mp443Item> {
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f); AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f);
GeoBone shell = getAnimationProcessor().getBone("shell"); GeoBone shell = getAnimationProcessor().getBone("shell");
if (GunData.from(stack).holdOpen.get()) {
if (data.holdOpen.get()) {
slide.setPosZ(1.5f);
bullet.setScaleX(0); bullet.setScaleX(0);
bullet.setScaleY(0); bullet.setScaleY(0);
bullet.setScaleZ(0); bullet.setScaleZ(0);

View file

@ -47,6 +47,9 @@ public class AK47ItemRenderer extends CustomGunRenderer<AK47Item> {
if (name.equals("humu2")) { if (name.equals("humu2")) {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0);
} }
if (name.equals("shuan")) {
bone.setPosZ(2.4f * (float) ClientEventHandler.firePos);
}
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) { && (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) {
bone.setHidden(true); bone.setHidden(true);

View file

@ -3,6 +3,8 @@ package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Glock17ItemModel; import com.atsuishio.superbwarfare.client.model.item.Glock17ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer; import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
@ -10,6 +12,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
@ -36,8 +39,16 @@ public class Glock17ItemRenderer extends CustomGunRenderer<Glock17Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) { if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
if (name.equals("huatao")) {
bone.setPosZ(1.5f * (float) ClientEventHandler.firePos);
if (GunData.from(itemStack).holdOpen.get()) {
bone.setPosZ(1.5f);
}
}
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3);
} }
}
if (renderingArms) { if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false); AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);

View file

@ -3,6 +3,8 @@ package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Glock18ItemModel; import com.atsuishio.superbwarfare.client.model.item.Glock18ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer; import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
@ -10,6 +12,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
@ -36,8 +39,16 @@ public class Glock18ItemRenderer extends CustomGunRenderer<Glock18Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) { if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
if (name.equals("huatao")) {
bone.setPosZ(1.5f * (float) ClientEventHandler.firePos);
if (GunData.from(itemStack).holdOpen.get()) {
bone.setPosZ(1.5f);
}
}
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3);
} }
}
if (renderingArms) { if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false); AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);

View file

@ -3,6 +3,8 @@ package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M1911ItemModel; import com.atsuishio.superbwarfare.client.model.item.M1911ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer; import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
@ -10,6 +12,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
@ -24,6 +27,9 @@ public class M1911ItemRenderer extends CustomGunRenderer<M1911Item> {
public void renderRecursively(PoseStack stack, M1911Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { public void renderRecursively(PoseStack stack, M1911Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance(); Minecraft mc = Minecraft.getInstance();
String name = bone.getName(); String name = bone.getName();
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
boolean renderingArms = false; boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
@ -32,12 +38,17 @@ public class M1911ItemRenderer extends CustomGunRenderer<M1911Item> {
bone.setHidden(false); bone.setHidden(false);
} }
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) { if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
if (name.equals("huatao")) {
bone.setPosZ(2.75f * (float) ClientEventHandler.firePos);
if (GunData.from(itemStack).holdOpen.get()) {
bone.setPosZ(1.5f);
}
}
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.442825, 0.35); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.442825, 0.35);
} }
}
if (renderingArms) { if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false); AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);

View file

@ -3,6 +3,8 @@ package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel; import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer; import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item; import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
@ -10,6 +12,7 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
@ -36,8 +39,16 @@ public class Mp443ItemRenderer extends CustomGunRenderer<Mp443Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) { if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
if (name.equals("huatao")) {
bone.setPosZ(1.5f * (float) ClientEventHandler.firePos);
if (GunData.from(itemStack).holdOpen.get()) {
bone.setPosZ(1.5f);
}
}
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.33345, 0.3); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.33345, 0.3);
} }
}
if (renderingArms) { if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false); AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -460,6 +460,14 @@
} }
} }
] ]
},
{
"name": "flare",
"pivot": [
0.4789,
3.87813,
-14.9
]
} }
] ]
} }

View file

@ -1480,6 +1480,14 @@
} }
} }
] ]
},
{
"name": "flare",
"pivot": [
0,
3.51914,
-59.23672
]
} }
] ]
} }

View file

@ -7,10 +7,10 @@
"texture_width": 64, "texture_width": 64,
"texture_height": 64, "texture_height": 64,
"visible_bounds_width": 4, "visible_bounds_width": 4,
"visible_bounds_height": 2.5, "visible_bounds_height": 3,
"visible_bounds_offset": [ "visible_bounds_offset": [
0, 0,
0.75, 0.5,
0 0
] ]
}, },
@ -2338,6 +2338,14 @@
} }
} }
] ]
},
{
"name": "flare",
"pivot": [
0,
2.35156,
-21.5
]
} }
] ]
} }

View file

@ -7,30 +7,6 @@
], ],
"gui_light": "front", "gui_light": "front",
"display": { "display": {
"thirdperson_righthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"thirdperson_lefthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"firstperson_righthand": { "firstperson_righthand": {
"translation": [ "translation": [
-7.75, -7.75,
@ -50,58 +26,60 @@
0 0
] ]
}, },
"ground": { "thirdperson_righthand": {
"translation": [
0,
5,
0
],
"scale": [
0.35,
0.35,
0.35
]
},
"gui": {
"rotation": [
165.69,
-39.63,
167
],
"translation": [
-0.25,
0,
0
],
"scale": [
1.7,
1.7,
1.7
]
},
"head": {
"translation": [
0,
10.25,
-1.25
]
},
"fixed": {
"rotation": [
0,
90,
0
],
"translation": [ "translation": [
-1.25,
-1, -1,
-0.5, 0
-1
], ],
"scale": [ "scale": [
0.7, 0.7,
0.7, 0.7,
0.7 0.7
] ]
},
"thirdperson_lefthand": {
"scale": [
0,
0,
0
]
},
"ground": {
"translation": [
0,
-0.25,
0
],
"scale": [
0.75,
0.75,
0.75
]
},
"head": {
"translation": [
0,
6.5,
-1.25
]
},
"fixed": {
"rotation": [
0,
-90,
0
],
"translation": [
0,
-1,
0.25
],
"scale": [
1.6,
1.6,
1.6
]
} }
} }
} }

View file

@ -7,30 +7,6 @@
], ],
"gui_light": "front", "gui_light": "front",
"display": { "display": {
"thirdperson_righthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"thirdperson_lefthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"firstperson_righthand": { "firstperson_righthand": {
"translation": [ "translation": [
-7.75, -7.75,
@ -50,58 +26,60 @@
0 0
] ]
}, },
"ground": { "thirdperson_righthand": {
"translation": [
0,
5,
0
],
"scale": [
0.35,
0.35,
0.35
]
},
"gui": {
"rotation": [
165.69,
-39.63,
167
],
"translation": [
-0.25,
0,
0
],
"scale": [
1.7,
1.7,
1.7
]
},
"head": {
"translation": [
0,
10.25,
-1.25
]
},
"fixed": {
"rotation": [
0,
90,
0
],
"translation": [ "translation": [
-1.25,
-1, -1,
-0.5, 0
-1
], ],
"scale": [ "scale": [
0.7, 0.7,
0.7, 0.7,
0.7 0.7
] ]
},
"thirdperson_lefthand": {
"scale": [
0,
0,
0
]
},
"ground": {
"translation": [
0,
-0.25,
0
],
"scale": [
0.75,
0.75,
0.75
]
},
"head": {
"translation": [
0,
6.5,
-1.25
]
},
"fixed": {
"rotation": [
0,
-90,
0
],
"translation": [
0,
-1,
0.25
],
"scale": [
1.6,
1.6,
1.6
]
} }
} }
} }

View file

@ -7,30 +7,6 @@
], ],
"gui_light": "front", "gui_light": "front",
"display": { "display": {
"thirdperson_righthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"thirdperson_lefthand": {
"translation": [
0,
0,
-0.5
],
"scale": [
0.35,
0.35,
0.35
]
},
"firstperson_righthand": { "firstperson_righthand": {
"translation": [ "translation": [
-7.75, -7.75,
@ -50,58 +26,60 @@
0 0
] ]
}, },
"ground": { "thirdperson_righthand": {
"translation": [
0,
5,
0
],
"scale": [
0.35,
0.35,
0.35
]
},
"gui": {
"rotation": [
165.69,
-39.63,
167
],
"translation": [
-0.25,
0,
0
],
"scale": [
1.7,
1.7,
1.7
]
},
"head": {
"translation": [
0,
10.25,
-1.25
]
},
"fixed": {
"rotation": [
0,
90,
0
],
"translation": [ "translation": [
-1.25,
-1, -1,
-0.5, 0
-1
], ],
"scale": [ "scale": [
0.7, 0.7,
0.7, 0.7,
0.7 0.7
] ]
},
"thirdperson_lefthand": {
"scale": [
0,
0,
0
]
},
"ground": {
"translation": [
0,
-0.25,
0
],
"scale": [
0.75,
0.75,
0.75
]
},
"head": {
"translation": [
0,
6.5,
-1.25
]
},
"fixed": {
"rotation": [
0,
-90,
0
],
"translation": [
0,
-1,
0.25
],
"scale": [
1.6,
1.6,
1.6
]
} }
} }
} }

View file

@ -1,212 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "superbwarfare:item/lod/m_1911",
"particle": "superbwarfare:item/lod/m_1911"
},
"elements": [
{
"from": [7.2, 6, 0],
"to": [8.8, 7.8, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 2]},
"faces": {
"north": {"uv": [6.5, 2, 7.5, 3], "texture": "#0"},
"east": {"uv": [0, 0, 7, 1], "texture": "#0"},
"south": {"uv": [6.5, 3, 7.5, 4], "texture": "#0"},
"west": {"uv": [0, 1, 7, 2], "texture": "#0"},
"up": {"uv": [1, 9, 0, 2], "texture": "#0"},
"down": {"uv": [2, 2, 1, 9], "texture": "#0"}
}
},
{
"from": [7.3, 5, 3.85],
"to": [8.7, 6, 13.65],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]},
"faces": {
"north": {"uv": [8, 1.5, 8.5, 2], "texture": "#0"},
"east": {"uv": [5, 5, 10, 5.5], "texture": "#0"},
"south": {"uv": [8, 8, 8.5, 8.5], "texture": "#0"},
"west": {"uv": [5, 5.5, 10, 6], "texture": "#0"},
"up": {"uv": [5.5, 11, 5, 6], "texture": "#0"},
"down": {"uv": [6, 6, 5.5, 11], "texture": "#0"}
}
},
{
"from": [7.3, 5.4, 0.05],
"to": [8.7, 6, 3.85],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]},
"faces": {
"north": {"uv": [8.5, 0, 9, 0.5], "texture": "#0"},
"east": {"uv": [6.5, 4, 8.5, 4.5], "texture": "#0"},
"south": {"uv": [8.5, 0.5, 9, 1], "texture": "#0"},
"west": {"uv": [6.5, 4.5, 8.5, 5], "texture": "#0"},
"up": {"uv": [7, 8, 6.5, 6], "texture": "#0"},
"down": {"uv": [7.5, 0, 7, 2], "texture": "#0"}
}
},
{
"from": [7.3, 5.5, 13.65],
"to": [8.7, 6, 15.05],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]},
"faces": {
"north": {"uv": [8.5, 1, 9, 1.5], "texture": "#0"},
"east": {"uv": [8.5, 1.5, 9, 2], "texture": "#0"},
"south": {"uv": [8.5, 2, 9, 2.5], "texture": "#0"},
"west": {"uv": [8.5, 2.5, 9, 3], "texture": "#0"},
"up": {"uv": [9, 3.5, 8.5, 3], "texture": "#0"},
"down": {"uv": [9, 3.5, 8.5, 4], "texture": "#0"}
}
},
{
"from": [7.3, 5.17482, 13.61523],
"to": [8.7, 5.67482, 14.71523],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, 5.42482, 13.91523]},
"faces": {
"north": {"uv": [8.5, 4, 9, 4.5], "texture": "#0"},
"east": {"uv": [8.5, 4.5, 9, 5], "texture": "#0"},
"south": {"uv": [8.5, 7, 9, 7.5], "texture": "#0"},
"west": {"uv": [7.5, 8.5, 8, 9], "texture": "#0"},
"up": {"uv": [9, 8, 8.5, 7.5], "texture": "#0"},
"down": {"uv": [8.5, 8.5, 8, 9], "texture": "#0"}
}
},
{
"from": [7.7, 6, 13.85],
"to": [8.3, 7.4, 14.35],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]},
"faces": {
"north": {"uv": [8.5, 8, 9, 8.5], "texture": "#0"},
"east": {"uv": [8.5, 8.5, 9, 9], "texture": "#0"},
"south": {"uv": [0, 9, 0.5, 9.5], "texture": "#0"},
"west": {"uv": [9, 0, 9.5, 0.5], "texture": "#0"},
"up": {"uv": [1, 9.5, 0.5, 9], "texture": "#0"},
"down": {"uv": [9.5, 0.5, 9, 1], "texture": "#0"}
}
},
{
"from": [7.7, 7.38691, 14.19239],
"to": [8.3, 7.68691, 14.99239],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, 7.43691, 15.09239]},
"faces": {
"north": {"uv": [1, 9, 1.5, 9.5], "texture": "#0"},
"east": {"uv": [9, 1, 9.5, 1.5], "texture": "#0"},
"south": {"uv": [1.5, 9, 2, 9.5], "texture": "#0"},
"west": {"uv": [9, 1.5, 9.5, 2], "texture": "#0"},
"up": {"uv": [2.5, 9.5, 2, 9], "texture": "#0"},
"down": {"uv": [9.5, 2, 9, 2.5], "texture": "#0"}
}
},
{
"from": [7.65, 3.25, 7.75],
"to": [8.35, 5, 8],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 1]},
"faces": {
"north": {"uv": [2, 8, 2.5, 9], "texture": "#0"},
"east": {"uv": [2.5, 8, 3, 9], "texture": "#0"},
"south": {"uv": [3, 8, 3.5, 9], "texture": "#0"},
"west": {"uv": [3.5, 8, 4, 9], "texture": "#0"},
"up": {"uv": [3, 9.5, 2.5, 9], "texture": "#0"},
"down": {"uv": [9.5, 2.5, 9, 3], "texture": "#0"}
}
},
{
"from": [7.85, 3.35213, 10.26309],
"to": [8.15, 5.60213, 11.41309],
"rotation": {"angle": 0, "axis": "x", "origin": [8, 4.72713, 10.53809]},
"faces": {
"north": {"uv": [4, 8, 4.5, 9], "texture": "#0"},
"east": {"uv": [4.5, 8, 5, 9], "texture": "#0"},
"south": {"uv": [6.5, 8, 7, 9], "texture": "#0"},
"west": {"uv": [8, 7, 8.5, 8], "texture": "#0"},
"up": {"uv": [3.5, 9.5, 3, 9], "texture": "#0"},
"down": {"uv": [9.5, 3, 9, 3.5], "texture": "#0"}
}
},
{
"from": [7.6, 6.60213, -0.13691],
"to": [8.4, 7.40213, 0.11309],
"rotation": {"angle": 0, "axis": "x", "origin": [8, 7.00213, 0.68809]},
"faces": {
"north": {"uv": [4, 8, 4.5, 9], "texture": "#0"},
"east": {"uv": [4.5, 8, 5, 9], "texture": "#0"},
"south": {"uv": [6.5, 8, 7, 9], "texture": "#0"},
"west": {"uv": [8, 7, 8.5, 8], "texture": "#0"},
"up": {"uv": [3.5, 9.5, 3, 9], "texture": "#0"},
"down": {"uv": [9.5, 3, 9, 3.5], "texture": "#0"}
}
},
{
"from": [7.65, 3.25, 8],
"to": [8.35, 3.5, 11.75],
"rotation": {"angle": 0, "axis": "x", "origin": [8, 3.375, 8.875]},
"faces": {
"north": {"uv": [3.5, 9, 4, 9.5], "texture": "#0"},
"east": {"uv": [7, 6, 9, 6.5], "texture": "#0"},
"south": {"uv": [9, 3.5, 9.5, 4], "texture": "#0"},
"west": {"uv": [7, 6.5, 9, 7], "texture": "#0"},
"up": {"uv": [7.5, 9, 7, 7], "texture": "#0"},
"down": {"uv": [8, 0, 7.5, 2], "texture": "#0"}
}
},
{
"from": [7.10781, -0.31537, 11.55224],
"to": [8.89219, 5.23463, 13.75224],
"rotation": {"angle": -22.5, "axis": "x", "origin": [7, 4.23463, 12.15224]},
"faces": {
"north": {"uv": [2, 5, 3, 8], "texture": "#0"},
"east": {"uv": [5, 2, 6, 5], "texture": "#0"},
"south": {"uv": [3, 5, 4, 8], "texture": "#0"},
"west": {"uv": [4, 5, 5, 8], "texture": "#0"},
"up": {"uv": [8.5, 3, 7.5, 2], "texture": "#0"},
"down": {"uv": [8.5, 3, 7.5, 4], "texture": "#0"}
}
},
{
"from": [7.30781, -0.51537, 11.15224],
"to": [8.69219, 5.53463, 13.95224],
"rotation": {"angle": -22.5, "axis": "x", "origin": [7, 4.23463, 12.15224]},
"faces": {
"north": {"uv": [6, 2, 6.5, 5], "texture": "#0"},
"east": {"uv": [2, 2, 3.5, 5], "texture": "#0"},
"south": {"uv": [6, 6, 6.5, 9], "texture": "#0"},
"west": {"uv": [3.5, 2, 5, 5], "texture": "#0"},
"up": {"uv": [8, 8.5, 7.5, 7], "texture": "#0"},
"down": {"uv": [8.5, 0, 8, 1.5], "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]
}
},
"groups": [
{
"name": "group",
"origin": [7, 4.23463, 12.15224],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
}
]
}

View file

@ -1,165 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "superbwarfare:item/lod/mp_443",
"particle": "superbwarfare:item/lod/mp_443"
},
"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]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 B

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

After

Width:  |  Height:  |  Size: 2 KiB