还是优化开火动画

This commit is contained in:
Atsuihsio 2024-10-18 16:59:50 +08:00
parent d9cc98931f
commit 64f662f3bf
12 changed files with 92 additions and 80 deletions

View file

@ -67,16 +67,16 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));

View file

@ -67,15 +67,15 @@ public class AK47ItemModel extends GeoModel<AK47Item> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));

View file

@ -72,15 +72,15 @@ public class DevotionItemModel extends GeoModel<DevotionItem> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.45 * fpz)); shen.setPosZ((float) (0.315 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.01f * fp + 0.01f * fr + 0.04f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.9 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));

View file

@ -66,16 +66,16 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.45 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.03f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));

View file

@ -66,16 +66,16 @@ public class M4ItemModel extends GeoModel<M4Item> {
gun.setRotZ((float) (0.05f * zpz)); gun.setRotZ((float) (0.05f * zpz));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.65 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.4 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));

View file

@ -105,23 +105,23 @@ public class M60ItemModel extends GeoModel<M60Item> {
gun.setPosY(-0.1f * (float) zp - (float) (0.1f * zpz)); gun.setPosY(-0.1f * (float) zp - (float) (0.1f * zpz));
gun.setPosZ((float) zp + (float) (0.3f * zpz)); gun.setPosZ(3.24f * (float) zp + (float) (0.3f * zpz));
gun.setRotZ(-0.087f * (float) zp + (float) (0.05f * zpz)); gun.setRotZ(-0.087f * (float) zp + (float) (0.05f * zpz));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.04f * fp - 0.08f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.95 * fpz)); shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz));
shen.setRotX((float) (0.03f * fp + 0.03f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.04f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.2 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.3 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 + 0.2 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));
tiba.setRotZ((float) (-0.25f * fp + 0.4 * fr)); tiba.setRotZ((float) (-0.25f * fp + 0.4 * fr));

View file

@ -84,15 +84,15 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));

View file

@ -65,16 +65,16 @@ public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 3.1));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.725 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.03f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));

View file

@ -81,16 +81,16 @@ public class RpkItemModel extends GeoModel<RpkItem> {
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.65)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.65));
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.3 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));

View file

@ -41,10 +41,6 @@ public class SksItemModel extends GeoModel<SksItem> {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return; if (!stack.is(ModTags.Items.GUN)) return;
if (stack.getOrCreateTag().getBoolean("HoldOpen")) {
bolt.setPosZ(2.5f);
}
double zt = ClientEventHandler.zoomTime; double zt = ClientEventHandler.zoomTime;
double zp = ClientEventHandler.zoomPos; double zp = ClientEventHandler.zoomPos;
double zpz = ClientEventHandler.zoomPosZ; double zpz = ClientEventHandler.zoomPosZ;
@ -74,15 +70,15 @@ public class SksItemModel extends GeoModel<SksItem> {
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (0.2f * fp + 0.24f * fr));
shen.setPosZ((float) (0.325 * fp + 0.34f * fr + 0.75 * fpz)); shen.setPosZ((float) (0.825 * fp + 0.34f * fr + 1.35 * fpz));
shen.setRotX((float) (0.02f * fp + 0.02f * fr + 0.02f * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
shen.setRotY((float) (0.07f * ClientEventHandler.recoilHorizon * fpz)); shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon)); shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt))); shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
shen.setPosY((float) (shen.getPosY() * (1 + 0.2 * zt))); shen.setPosY((float) (shen.getPosY() * (-1 + 0.5 * zt)));
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt))); shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt))); shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt))); shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
@ -116,6 +112,7 @@ public class SksItemModel extends GeoModel<SksItem> {
} }
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ()); ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
CoreGeoBone shell1 = getAnimationProcessor().getBone("shell1"); CoreGeoBone shell1 = getAnimationProcessor().getBone("shell1");
CoreGeoBone shell2 = getAnimationProcessor().getBone("shell2"); CoreGeoBone shell2 = getAnimationProcessor().getBone("shell2");
CoreGeoBone shell3 = getAnimationProcessor().getBone("shell3"); CoreGeoBone shell3 = getAnimationProcessor().getBone("shell3");
@ -123,5 +120,16 @@ public class SksItemModel extends GeoModel<SksItem> {
CoreGeoBone shell5 = getAnimationProcessor().getBone("shell5"); CoreGeoBone shell5 = getAnimationProcessor().getBone("shell5");
ClientEventHandler.handleShells(0.7f, 1.2f, shell1, shell2, shell3, shell4, shell5); ClientEventHandler.handleShells(0.7f, 1.2f, shell1, shell2, shell3, shell4, shell5);
if (stack.getOrCreateTag().getBoolean("HoldOpen")) {
shell.setScaleX(0);
shell.setScaleY(0);
shell.setScaleZ(0);
bolt.setPosZ(2.5f);
} else {
shell.setScaleX(1);
shell.setScaleY(1);
shell.setScaleZ(1);
}
} }
} }

View file

@ -523,8 +523,6 @@ public class ClientEventHandler {
Minecraft.getInstance().player.getPersistentData().putDouble("noRun", 20); Minecraft.getInstance().player.getPersistentData().putDouble("noRun", 20);
float gunRecoilY = (float) tag.getDouble("recoil_y") * 10; float gunRecoilY = (float) tag.getDouble("recoil_y") * 10;
recoilTime = 0.01;
recoilY = (float) (2 * Math.random() - 1) * gunRecoilY; recoilY = (float) (2 * Math.random() - 1) * gunRecoilY;
} }
@ -544,6 +542,7 @@ public class ClientEventHandler {
fireRecoilTime -= 7 * times; fireRecoilTime -= 7 * times;
fireSpread += 0.1; fireSpread += 0.1;
firePosZ += 0.5 * firePosZ + 0.15; firePosZ += 0.5 * firePosZ + 0.15;
recoilTime = 0.01;
} }
fireSpread = Mth.clamp(fireSpread - 0.1 * (Math.pow(fireSpread, 2) * times), 0, 2); fireSpread = Mth.clamp(fireSpread - 0.1 * (Math.pow(fireSpread, 2) * times), 0, 2);

View file

@ -2975,8 +2975,13 @@
"pivot": [-0.06606, 0.14115, 1.54346] "pivot": [-0.06606, 0.14115, 1.54346]
}, },
{ {
"name": "shell1", "name": "shell",
"parent": "gun", "parent": "gun",
"pivot": [-0.06606, 0.14115, 1.54346]
},
{
"name": "shell1",
"parent": "shell",
"pivot": [0, 2.64488, -4.14697], "pivot": [0, 2.64488, -4.14697],
"cubes": [ "cubes": [
{ {
@ -3019,7 +3024,7 @@
}, },
{ {
"name": "shell2", "name": "shell2",
"parent": "gun", "parent": "shell",
"pivot": [0, 2.64488, -4.14697], "pivot": [0, 2.64488, -4.14697],
"cubes": [ "cubes": [
{ {
@ -3062,7 +3067,7 @@
}, },
{ {
"name": "shell3", "name": "shell3",
"parent": "gun", "parent": "shell",
"pivot": [0, 2.64488, -4.14697], "pivot": [0, 2.64488, -4.14697],
"cubes": [ "cubes": [
{ {
@ -3105,7 +3110,7 @@
}, },
{ {
"name": "shell4", "name": "shell4",
"parent": "gun", "parent": "shell",
"pivot": [0, 2.64488, -4.14697], "pivot": [0, 2.64488, -4.14697],
"cubes": [ "cubes": [
{ {
@ -3148,7 +3153,7 @@
}, },
{ {
"name": "shell5", "name": "shell5",
"parent": "gun", "parent": "shell",
"pivot": [0, 2.64488, -4.14697], "pivot": [0, 2.64488, -4.14697],
"cubes": [ "cubes": [
{ {