重置安倍切

This commit is contained in:
Atsuishio 2025-06-04 23:13:32 +08:00 committed by Light_Quanta
parent 2b42143ead
commit cccc662e50
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
20 changed files with 2927 additions and 4738 deletions

View file

@ -133,6 +133,9 @@ public class AK47ItemModel extends CustomGunModel<AK47Item> {
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = shen.getRotZ();
GeoBone shuan = getAnimationProcessor().getBone("shuan");
shuan.setPosZ(2.4f * (float) ClientEventHandler.firePos);
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

@ -102,6 +102,12 @@ public class Glock18ItemModel extends CustomGunModel<Glock18Item> {
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
GeoBone huatao = getAnimationProcessor().getBone("huatao");
huatao.setPosZ(1.5f * (float) ClientEventHandler.firePos);
if (GunData.from(stack).holdOpen.get()) {
huatao.setPosZ(1.5f);
}
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
GeoBone camera = getAnimationProcessor().getBone("camera"); GeoBone camera = getAnimationProcessor().getBone("camera");

View file

@ -30,6 +30,16 @@ public class HomemadeShotgunItemModel extends CustomGunModel<HomemadeShotgunItem
return Mod.loc("textures/item/homemade_shotgun.png"); return Mod.loc("textures/item/homemade_shotgun.png");
} }
@Override
public ResourceLocation getLODModelResource(HomemadeShotgunItem animatable) {
return Mod.loc("geo/lod/homemade_shotgun.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(HomemadeShotgunItem animatable) {
return Mod.loc("textures/item/homemade_shotgun.png");
}
@Override @Override
public void setCustomAnimations(HomemadeShotgunItem animatable, long instanceId, AnimationState<HomemadeShotgunItem> animationState) { public void setCustomAnimations(HomemadeShotgunItem animatable, long instanceId, AnimationState<HomemadeShotgunItem> animationState) {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -38,7 +48,7 @@ public class HomemadeShotgunItemModel extends CustomGunModel<HomemadeShotgunItem
if (shouldCancelRender(stack, animationState)) return; if (shouldCancelRender(stack, animationState)) return;
GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone gun = getAnimationProcessor().getBone("bone");
GeoBone shen = getAnimationProcessor().getBone("shen"); GeoBone fireRoot = getAnimationProcessor().getBone("fireRoot");
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;
@ -49,22 +59,19 @@ public class HomemadeShotgunItemModel extends CustomGunModel<HomemadeShotgunItem
double fp = ClientEventHandler.firePos; double fp = ClientEventHandler.firePos;
double fr = ClientEventHandler.fireRot; double fr = ClientEventHandler.fireRot;
gun.setPosX(2.45f * (float) zp); gun.setPosX(3.725f * (float) zp);
gun.setPosY(1.5f * (float) zp - (float) (0.4f * zpz));
gun.setPosY(1.7f * (float) zp - (float) (0.4f * zpz)); gun.setPosZ(1.2f * (float) zp + (float) (0.3f * zpz));
gun.setPosZ(2f * (float) zp + (float) (0.3f * zpz));
gun.setRotZ((float) (0.05f * zpz)); gun.setRotZ((float) (0.05f * zpz));
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); fireRoot.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (0.4f * fp + 0.44f * fr)); fireRoot.setPosY((float) (0.4f * fp + 0.44f * fr));
shen.setPosZ((float) (5.825 * fp + 0.34f * fr + 2.35 * fpz)); fireRoot.setPosZ((float) (5.825 * fp + 0.34f * fr + 2.35 * fpz));
shen.setRotX((float) (0.01f * fp + 0.15f * fr + 0.01f * fpz)); fireRoot.setRotX((float) (0.01f * fp + 0.15f * fr + 0.01f * fpz));
shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz)); fireRoot.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); fireRoot.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = fireRoot.getRotZ();
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());

View file

@ -93,6 +93,12 @@ public class M1911ItemModel extends CustomGunModel<M1911Item> {
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
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));
GeoBone huatao = getAnimationProcessor().getBone("huatao");
huatao.setPosZ(2.75f * (float) ClientEventHandler.firePos);
if (GunData.from(stack).holdOpen.get()) {
huatao.setPosZ(1.5f);
}
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
GeoBone camera = getAnimationProcessor().getBone("camera"); GeoBone camera = getAnimationProcessor().getBone("camera");

View file

@ -90,6 +90,12 @@ public class Mp443ItemModel extends CustomGunModel<Mp443Item> {
CrossHairOverlay.gunRot = body.getRotZ(); CrossHairOverlay.gunRot = body.getRotZ();
hammer.setRotX((120 * Mth.DEG_TO_RAD * (float) fp)); hammer.setRotX((120 * Mth.DEG_TO_RAD * (float) fp));
GeoBone huatao = getAnimationProcessor().getBone("huatao");
huatao.setPosZ(1.5f * (float) ClientEventHandler.firePos);
if (GunData.from(stack).holdOpen.get()) {
huatao.setPosZ(1.5f);
}
ClientEventHandler.gunRootMove(getAnimationProcessor()); ClientEventHandler.gunRootMove(getAnimationProcessor());
GeoBone camera = getAnimationProcessor().getBone("camera"); GeoBone camera = getAnimationProcessor().getBone("camera");

View file

@ -47,9 +47,6 @@ 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,8 +3,6 @@ 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;
@ -40,12 +38,6 @@ public class Glock17ItemRenderer extends CustomGunRenderer<Glock17Item> {
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 (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);
} }
} }

View file

@ -3,8 +3,6 @@ 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;
@ -40,12 +38,6 @@ public class Glock18ItemRenderer extends CustomGunRenderer<Glock18Item> {
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 (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);
} }
} }

View file

@ -37,19 +37,13 @@ public class HomemadeShotgunItemRenderer extends CustomGunRenderer<HomemadeShotg
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) { if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
if (bone.getName().equals("ammo1") || bone.getName().equals("ammo2")) { AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.05, 0.25, 1.2);
bone.setHidden(true);
} }
} }
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.25, 0.6);
} else if (bone.getName().equals("ammo1") || bone.getName().equals("ammo2")) {
bone.setHidden(true);
}
if (renderingArms) { if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true); AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);
} }
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
} }

View file

@ -3,8 +3,6 @@ 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;
@ -40,12 +38,6 @@ public class M1911ItemRenderer extends CustomGunRenderer<M1911Item> {
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 (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);
} }
} }

View file

@ -3,8 +3,6 @@ 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;
@ -40,12 +38,6 @@ public class Mp443ItemRenderer extends CustomGunRenderer<Mp443Item> {
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 (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);
} }
} }

View file

@ -45,18 +45,18 @@ public class ContainerBlockItem extends BlockItem implements GeoItem {
@SubscribeEvent(priority = EventPriority.HIGH) @SubscribeEvent(priority = EventPriority.HIGH)
public static void registerContainers(RegisterContainersEvent event) { public static void registerContainers(RegisterContainersEvent event) {
event.add(ModEntities.WHEEL_CHAIR);
event.add(ModEntities.MK_42); event.add(ModEntities.MK_42);
event.add(ModEntities.MLE_1934); event.add(ModEntities.MLE_1934);
event.add(ModEntities.HPJ_11); event.add(ModEntities.HPJ_11);
event.add(ModEntities.ANNIHILATOR); event.add(ModEntities.ANNIHILATOR);
event.add(ModEntities.LASER_TOWER); event.add(ModEntities.LASER_TOWER);
event.add(ModEntities.SPEEDBOAT); event.add(ModEntities.SPEEDBOAT);
event.add(ModEntities.AH_6);
event.add(ModEntities.LAV_150); event.add(ModEntities.LAV_150);
event.add(ModEntities.BMP_2); event.add(ModEntities.BMP_2);
event.add(ModEntities.PRISM_TANK); event.add(ModEntities.PRISM_TANK);
event.add(ModEntities.YX_100); event.add(ModEntities.YX_100);
event.add(ModEntities.WHEEL_CHAIR); event.add(ModEntities.AH_6);
event.add(ModEntities.TOM_6); event.add(ModEntities.TOM_6);
event.add(ModEntities.A_10A); event.add(ModEntities.A_10A);
} }

View file

@ -90,7 +90,7 @@ public class HomemadeShotgunItem extends GunItem {
@Override @Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) { public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var idleController = new AnimationController<>(this, "idleController", 3, this::idlePredicate); var idleController = new AnimationController<>(this, "idleController", 2, this::idlePredicate);
data.add(idleController); data.add(idleController);
} }

File diff suppressed because it is too large Load diff

View file

@ -5,32 +5,24 @@
64, 64,
64 64
], ],
"gui_light": "front",
"display": { "display": {
"thirdperson_righthand": { "thirdperson_righthand": {
"translation": [ "translation": [
0, -0.75,
5.5, -2,
-0.25 -2
] ],
},
"thirdperson_lefthand": {
"scale": [ "scale": [
0, 0.75,
0, 0.75,
0 0.75
] ]
}, },
"firstperson_righthand": { "firstperson_righthand": {
"translation": [ "translation": [
-1.5, -5.25,
-12.5, 1.5,
-26.5 0
],
"scale": [
3,
3,
3
] ]
}, },
"firstperson_lefthand": { "firstperson_lefthand": {
@ -43,60 +35,41 @@
"ground": { "ground": {
"translation": [ "translation": [
0, 0,
4.25, -3,
0 0
], ],
"scale": [ "scale": [
1.2, 0.8,
1.2, 0.8,
1.2 0.8
]
},
"gui": {
"rotation": [
90,
45,
-90
],
"translation": [
-5.75,
-1.5,
0
],
"scale": [
1.6,
1.6,
1.6
] ]
}, },
"head": { "head": {
"translation": [ "translation": [
0, 0,
23.75, 7.25,
0 -2.25
],
"scale": [
3,
3,
3
] ]
}, },
"fixed": { "fixed": {
"rotation": [ "rotation": [
90, 0,
-45, -90,
90
],
"translation": [
-6.5,
7.5,
0 0
], ],
"translation": [
2.25,
-3.5,
-1
],
"scale": [ "scale": [
2, 1.5,
2, 1.5,
2 1.5
] ]
} }
},
"textures": {
"particle": "item/homemade_shotgun"
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB