From 074b187900d7c98cac5519b19a824276649854da Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 13 Mar 2025 01:07:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=B1=A5=E5=B8=A6=E5=8A=A8?= =?UTF-8?q?=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/entity/Bmp2Model.java | 91 ------------------ .../client/model/entity/Yx100Model.java | 79 ---------------- .../client/renderer/entity/Bmp2Renderer.java | 93 ++++++++++++++++++- .../client/renderer/entity/Yx100Renderer.java | 67 +++++++++---- .../entity/vehicle/Yx100Entity.java | 27 +++--- .../vehicle/base/MobileVehicleEntity.java | 5 - 6 files changed, 151 insertions(+), 211 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Bmp2Model.java b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Bmp2Model.java index f442f9f28..53933102b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Bmp2Model.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Bmp2Model.java @@ -3,9 +3,6 @@ package com.atsuishio.superbwarfare.client.model.entity; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.entity.vehicle.Bmp2Entity; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import software.bernie.geckolib.core.animatable.model.CoreGeoBone; -import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; public class Bmp2Model extends GeoModel { @@ -37,92 +34,4 @@ public class Bmp2Model extends GeoModel { public ResourceLocation getTextureResource(Bmp2Entity entity) { return ModUtils.loc("textures/entity/bmp2.png"); } - - @Override - public void setCustomAnimations(Bmp2Entity animatable, long instanceId, AnimationState animationState) { - for (int i = 0; i < 50; i++) { - CoreGeoBone trackL = getAnimationProcessor().getBone("trackL" + i); - CoreGeoBone trackLRot = getAnimationProcessor().getBone("trackLRot" + i); - CoreGeoBone trackR = getAnimationProcessor().getBone("trackR" + i); - CoreGeoBone trackRRot = getAnimationProcessor().getBone("trackRRot" + i); - - float t = animatable.getLeftTrack() + 2 * i; - - if (t >= 100) { - t -= 100; - } - - trackAnimation(trackL, trackLRot, t); - - float t2 = animatable.getRightTrack() + 2 * i; - - if (t2 >= 100) { - t2 -= 100; - } - - trackAnimation(trackR, trackRRot, t2); - } - } - - public void trackAnimation(CoreGeoBone track, CoreGeoBone trackRot, float t) { - if (t < 37.5) { - track.setPosY(0); - track.setPosZ(3 * t); - trackRot.setRotX(0); - } - - if (t >= 37.5 && t < 39.5) { - track.setPosY(-(t - 37.5f) * 3 * 0.7071f); - track.setPosZ(3 * 37.5f + (t - 37.5f) * 3 * 0.7071f); - trackRot.setRotX(45 * Mth.DEG_TO_RAD); - } - - if (t >= 39.5 && t < 41.5) { - track.setPosY(-5.3f - (t - 39.5f) * 3); - track.setPosZ(116); - trackRot.setRotX(90 * Mth.DEG_TO_RAD); - } - - if (t >= 41.5 && t < 43) { - track.setPosY(-11.6f - (t - 41.5f) * 3 * 0.7071f); - track.setPosZ(115 - (t - 41.5f) * 3 * 0.7071f); - trackRot.setRotX(135 * Mth.DEG_TO_RAD); - } - - if (t >= 43 && t < 49.5) { - track.setPosY(-15.6f - (t - 43f) * 3 * 0.45f); - track.setPosZ(109.5f - (t - 43f) * 3 * 0.75f); - trackRot.setRotX(150 * Mth.DEG_TO_RAD); - } - - if (t >= 49.5 && t < 76.5) { - track.setPosY(-23.5f); - track.setPosZ(95f - (t - 49.5f) * 3); - trackRot.setRotX(180 * Mth.DEG_TO_RAD); - } - - if (t >= 76.5 && t < 83.5) { - track.setPosY(-23.5f + (t - 76.5f) * 3 * 0.45f); - track.setPosZ(13.5f - (t - 76.5f) * 3 * 0.75f); - trackRot.setRotX(210 * Mth.DEG_TO_RAD); - } - - if (t >= 83.5 && t < 85.5) { - track.setPosY(-12.7f + (t - 83.5f) * 3 * 0.7071f); - track.setPosZ(-3.5f - (t - 83.5f) * 3 * 0.7071f); - trackRot.setRotX(225 * Mth.DEG_TO_RAD); - } - - if (t >= 85.5 && t < 87) { - track.setPosY(-9.2f + (t - 85.5f) * 3); - track.setPosZ(-6.9f); - trackRot.setRotX(270 * Mth.DEG_TO_RAD); - } - - if (t >= 87 && t < 89) { - track.setPosY(-4.3f + (t - 87f) * 3 * 0.7071f); - track.setPosZ(-6.9f + (t - 87f) * 3 * 0.7071f); - trackRot.setRotX(315 * Mth.DEG_TO_RAD); - } - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Yx100Model.java b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Yx100Model.java index 9674a1837..754ccfe9a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Yx100Model.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/Yx100Model.java @@ -3,9 +3,6 @@ package com.atsuishio.superbwarfare.client.model.entity; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.entity.vehicle.Yx100Entity; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import software.bernie.geckolib.core.animatable.model.CoreGeoBone; -import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.model.GeoModel; public class Yx100Model extends GeoModel { @@ -37,80 +34,4 @@ public class Yx100Model extends GeoModel { public ResourceLocation getTextureResource(Yx100Entity entity) { return ModUtils.loc("textures/entity/yx_100.png"); } - - @Override - public void setCustomAnimations(Yx100Entity animatable, long instanceId, AnimationState animationState) { - for (int i = 0; i < 40; i++) { - CoreGeoBone trackL = getAnimationProcessor().getBone("trackL" + i); - CoreGeoBone trackLRot = getAnimationProcessor().getBone("trackLRot" + i); - CoreGeoBone trackR = getAnimationProcessor().getBone("trackR" + i); - CoreGeoBone trackRRot = getAnimationProcessor().getBone("trackRRot" + i); - - float t = animatable.getLeftTrack() + 2 * i; - - if (t >= 80) { - t -= 80; - } - -// trackAnimation(trackL, trackLRot, t); - - float t2 = animatable.getRightTrack() + 2 * i; - - if (t2 >= 80) { - t2 -= 80; - } - -// trackAnimation(trackR, trackRRot, t2); - } - } - - public void trackAnimation(CoreGeoBone track, CoreGeoBone trackRot, float t) { - if (t < 34.5) { - track.setPosY(0); - track.setPosZ(4f * t); - trackRot.setRotX(0); - } - - if (t >= 34.5 && t < 35.75) { - track.setPosY(-(t - 34.5f) * 4f * 0.7071f); - track.setPosZ(4f * 34.5f + (t - 34.5f) * 4f * 0.7071f); - trackRot.setRotX(45 * Mth.DEG_TO_RAD); - } - - if (t >= 35.75 && t < 37.75) { - track.setPosY(-4f - (t - 35.75f) * 4f); - track.setPosZ(142); - trackRot.setRotX(90 * Mth.DEG_TO_RAD); - } - - if (t >= 37.75 && t < 44) { - track.setPosY(-11.4f - (t - 37.75f) * 4.5f * 0.42f); - track.setPosZ(141f - (t - 37.75f) * 4.5f * 0.75f); - trackRot.setRotX(150 * Mth.DEG_TO_RAD); - } - - if (t >= 44 && t < 70.75) { - track.setPosY(-21.5f); - track.setPosZ(120f - (t - 44f) * 4); - trackRot.setRotX(180 * Mth.DEG_TO_RAD); - } - - if (t >= 70.75 && t < 77) { - track.setPosY(-21f + (t - 70.75f) * 4.5F * 0.42f); - track.setPosZ(11.4f - (t - 70.75f) * 4.5f * 0.75f); - trackRot.setRotX(210 * Mth.DEG_TO_RAD); - } - - if (t >= 77 && t < 78.25) { - track.setPosY(-7.8f + (t - 77f) * 4f); - track.setPosZ(-10.6f); - trackRot.setRotX(270 * Mth.DEG_TO_RAD); - } - - if (t >= 78.25 && t < 80) { - track.setPosY(-2.3f + (t - 78.25f) * 4 * 0.7071f); - track.setPosZ(-9.6f + (t - 78.25f) * 4 * 0.7071f); - trackRot.setRotX(315 * Mth.DEG_TO_RAD); - } - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Bmp2Renderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Bmp2Renderer.java index 4af2708c0..f4050eb0c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Bmp2Renderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Bmp2Renderer.java @@ -70,11 +70,98 @@ public class Bmp2Renderer extends GeoEntityRenderer { bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); } + for (int i = 0; i < 51; i++) { + float t = animatable.getLeftTrack() + 2 * i; + float t2 = animatable.getRightTrack() + 2 * i; + + if (t >= 100) { + t -= 100; + } + + if (t2 >= 100) { + t2 -= 100; + } + + if (name.equals("trackL" + i)) { + bone.setPosY(getBoneMoveY(t)); + bone.setPosZ(getBoneMoveZ(t)); + } + + if (name.equals("trackR" + i)) { + bone.setPosY(getBoneMoveY(t2)); + bone.setPosZ(getBoneMoveZ(t2)); + } + + if (name.equals("trackLRot" + i)) { + bone.setRotX(-getBoneRotX(t) * Mth.DEG_TO_RAD); + } + + if (name.equals("trackRRot" + i)) { + bone.setRotX(-getBoneRotX(t2) * Mth.DEG_TO_RAD); + } + + } super.renderRecursively(poseStack, animatable, bone, renderType, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha); } - @Override - protected float getDeathMaxRotation(Bmp2Entity entityLivingBaseIn) { - return 0.0F; + public float getBoneRotX(float t) { + if (t <= 37.6667) return 0F; + if (t <= 38.5833) return Mth.lerp((t - 37.6667F) / (38.5833F - 37.6667F), 0F, -45F); + if (t <= 39.75) return -45F; + if (t <= 40.6667) return Mth.lerp((t - 39.75F) / (40.6667F - 39.75F), -45F, -90F); + if (t <= 41.6667) return -90F; + if (t <= 42.5) return -90F; + if (t <= 43.5) return Mth.lerp(t - 42.5F, -90F, -135F); + if (t <= 44.5833) return -135F; + if (t <= 45.0833) return Mth.lerp((t - 44.5833F) / (45.0833F - 44.5833F), -135F, -150F); + if (t <= 52.25) return -150F; + if (t <= 52.75) return Mth.lerp((t - 52.25F) / (52.75F - 52.25F), -150F, -180F); + if (t <= 84.3333) return -180F; + if (t <= 84.9167) return Mth.lerp((t - 84.3333F) / (84.9167F - 84.3333F), -180F, -210F); + if (t <= 92.5833) return -210F; + if (t <= 93.4167) return Mth.lerp((t - 92.5833F) / (93.4167F - 92.5833F), -210F, -220F); + if (t <= 94.25) return -220F; + if (t <= 94.9167) return Mth.lerp((t - 94.25F) / (94.9167F - 94.25F), -220F, -243.33F); + if (t <= 95.75) return Mth.lerp((t - 94.9167F) / (95.75F - 94.9167F), -243.33F, -270F); + if (t <= 96.8333) return -270F; + if (t <= 97.5833) return Mth.lerp((t - 96.8333F) / (97.5833F - 96.8333F), -270F, -315F); + if (t <= 98.8333) return -315F; + if (t <= 99.5833) return Mth.lerp((t - 98.8333F) / (99.5833F - 98.8333F), -315F, -360F); + + return 0F; + } + + public float getBoneMoveY(float t) { + if (t <= 37.6667) return 0F; + if (t <= 38.5833) return Mth.lerp((t - 37.6667F) / (38.5833F - 37.6667F), 0F, -1.8F); + if (t <= 40.3333) return Mth.lerp((t - 38.5833F) / (40.3333F - 38.5833F), -1.8F, -4.1F); + if (t <= 42.9167) return Mth.lerp((t - 40.3333F) / (42.9167F - 40.3333F), -4.1F, -10.3F); + if (t <= 44.25) return Mth.lerp((t - 42.9167F) / (44.25F - 42.9167F), -10.3F, -12.9F); + if (t <= 52.4167) return Mth.lerp((t - 44.25F) / (52.4167F - 44.25F), -12.9F, -23.96F); + if (t <= 84.5833) return -23.96F; + if (t <= 93) return Mth.lerp((t - 84.5833F) / (93F - 84.5833F), -23.96F, -12.93F); + if (t <= 95.25) return Mth.lerp((t - 93F) / (95.25F - 93F), -12.93F, -10.085F); + if (t <= 97.5) return Mth.lerp((t - 95.25F) / (97.5F - 95.25F), -10.085F, -4.585F); + if (t <= 98.8333) return Mth.lerp((t - 97.5F) / (98.8333F - 97.5F), -4.585F, -1.165F); + if (t <= 99.25) return Mth.lerp((t - 98.8333F) / (99.25F - 98.8333F), -1.165F, -0.25F); + + return Mth.lerp((t - 99.25F) / (100F - 99.25F), -0.25F, 0F); + } + + public float getBoneMoveZ(float t) { + if (t <= 37.6667) return Mth.lerp(t / (37.6667F - 0F), 0F, 111.6F); + if (t <= 38.5833) return Mth.lerp((t - 37.6667F) / (38.5833F - 37.6667F), 111.6F, 113.25F); + if (t <= 40.3333) return Mth.lerp((t - 38.5833F) / (40.3333F - 38.5833F), 113.25F, 116F); + if (t <= 42.9167) return 116F; + if (t <= 44.25) return Mth.lerp((t - 42.9167F) / (44.25F - 42.9167F), 116F, 113.5F); + if (t <= 52.4167) return Mth.lerp((t - 44.25F) / (52.4167F - 44.25F), 113.5F, 96.25F); + if (t <= 84.5833) return Mth.lerp((t - 52.4167F) / (84.5833F - 52.4167F), 96.25F, 14.095F); + if (t <= 93) return Mth.lerp((t - 84.5833F) / (93F - 84.5833F), 14.095F, -3.565F); + if (t <= 95.25) return Mth.lerp((t - 93F) / (95.25F - 93F), -3.565F, -6.35F); + if (t <= 97.5) return Mth.lerp((t - 95.25F) / (97.5F - 95.25F), -6.35F, -6.39F); + if (t <= 98.8333) return Mth.lerp((t - 97.5F) / (98.8333F - 97.5F), -6.39F, -3.03F); + if (t <= 99.25) return Mth.lerp((t - 98.8333F) / (99.25F - 98.8333F), -3.03F, -1.95F); + + return Mth.lerp((t - 99.25F) / (100F - 99.25F), -1.95F, 0F); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java index ebe59a328..18eb8f10b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/Yx100Renderer.java @@ -84,7 +84,6 @@ public class Yx100Renderer extends GeoEntityRenderer { } if (name.equals("base")) { - bone.setHidden(true); float a = animatable.getEntityData().get(YAW); float r = (Mth.abs(a) - 90f) / 90f; @@ -107,52 +106,86 @@ public class Yx100Renderer extends GeoEntityRenderer { bone.setRotZ(r2 * Mth.lerp(partialTick, (float) animatable.recoilShakeO, (float) animatable.getRecoilShake()) * Mth.DEG_TO_RAD * 1.5f); } - for (int i = 0; i < 40; i++) { - float tO = animatable.leftTrackO + 2 * i; + for (int i = 0; i < 41; i++) { float t = animatable.getLeftTrack() + 2 * i; + float t2 = animatable.getRightTrack() + 2 * i; if (t >= 80) { t -= 80; } - float tO2 = animatable.rightTrackO + 2 * i; - float t2 = animatable.getRightTrack() + 2 * i; - if (t2 >= 80) { t2 -= 80; } if (name.equals("trackL" + i)) { - bone.setPosY(Mth.lerp(partialTick, getBoneMoveY(tO), getBoneMoveY(t))); - bone.setPosZ(Mth.lerp(partialTick, getBoneMoveZ(tO), getBoneMoveZ(t))); + bone.setPosY(getBoneMoveY(t)); + bone.setPosZ(getBoneMoveZ(t)); } if (name.equals("trackR" + i)) { - bone.setPosY(Mth.lerp(partialTick, getBoneMoveY(tO2), getBoneMoveY(t2))); - bone.setPosZ(Mth.lerp(partialTick, getBoneMoveZ(tO2), getBoneMoveZ(t2))); + bone.setPosY(getBoneMoveY(t2)); + bone.setPosZ(getBoneMoveZ(t2)); } if (name.equals("trackLRot" + i)) { - bone.setRotX(Mth.lerp(partialTick, getBoneRotX(tO), getBoneRotX(t)) * Mth.DEG_TO_RAD); + bone.setRotX(-getBoneRotX(t) * Mth.DEG_TO_RAD); } if (name.equals("trackRRot" + i)) { - bone.setRotX(Mth.lerp(partialTick, getBoneRotX(tO2), getBoneRotX(t2)) * Mth.DEG_TO_RAD); + bone.setRotX(-getBoneRotX(t2) * Mth.DEG_TO_RAD); } } super.renderRecursively(poseStack, animatable, bone, renderType, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha); } + public float getBoneRotX(float t) { + if (t <= 32.5833) return 0F; + if (t <= 33.5833) return Mth.lerp(t - 32.5833F, 0F, -45F); + if (t <= 34.5833) return Mth.lerp(t - 33.5833F, -45F, -90F); + if (t <= 36.8333) return Mth.lerp((t - 34.5833F) / (36.8333F - 34.5833F), -90F, -150F); + if (t <= 40.5833) return -150F; + if (t <= 41.0833) return Mth.lerp((t - 40.5833F) / (41.0833F - 40.5833F), -150F, -180F); + if (t <= 70) return -180F; + if (t <= 71) return Mth.lerp(t - 70F, -180F, -210F); + if (t <= 74.25) return -210F; + if (t <= 76.5) return Mth.lerp((t - 74.25F) / (76.5F - 74.25F), -210F, -270F); + if (t <= 77.5) return Mth.lerp(t - 76.5F, -270F, -315F); + if (t <= 79.75) return Mth.lerp((t - 77.5F) / (79.75F - 77.5F), -315F, -360F); + + return 0F; + } + public float getBoneMoveY(float t) { - return y; + if (t <= 32.5833) return 0F; + if (t <= 33.0833) return Mth.lerp((t - 32.5833F) / (33.0833F - 32.5833F), 0F, -1F); + if (t <= 34.0833) return Mth.lerp(t - 33.0833F, -1F, -2.5F); + if (t <= 35.5833) return Mth.lerp((t - 34.0833F) / (35.5833F - 34.0833F), -2.5F, -7.5F); + if (t <= 36.8333) return Mth.lerp((t - 35.5833F) / (36.8333F - 35.5833F), -7.5F, -12.25F); + if (t <= 41.0833) return Mth.lerp((t - 36.8333F) / (41.0833F - 36.8333F), -12.25F, -20.9F); + if (t <= 70) return -20.9F; + if (t <= 74.25) return Mth.lerp((t - 70F) / (74.25F - 70F), -20.9F, -12.25F); + if (t <= 76) return Mth.lerp((t - 74.25F) / (76F - 74.25F), -12.25F, -7.5F); + if (t <= 77.75) return Mth.lerp((t - 76F) / (77.75F - 76F), -7.5F, -2F); + if (t <= 79.25) return Mth.lerp((t - 77.75F) / (79.25F - 77.75F), -2F, -0.3F); + + return Mth.lerp((t - 79.25F) / (80F - 79.25F), -0.3F, 0F); } public float getBoneMoveZ(float t) { - return z; - } + if (t <= 32.5833) return Mth.lerp(t / (32.5833F - 0F), 0F, 135.6F); + if (t <= 33.0833) return Mth.lerp((t - 32.5833F) / (33.0833F - 32.5833F), 135.6F, 137.75F); + if (t <= 34.0833) return Mth.lerp(t - 33.0833F, 137.75F, 140.25F); + if (t <= 35.5833) return 140.25F; + if (t <= 36.8333) return Mth.lerp((t - 35.5833F) / (36.8333F - 35.5833F), 140.25F, 137.25F); + if (t <= 41.0833) return Mth.lerp((t - 36.8333F) / (41.0833F - 36.8333F), 137.25F, 121.5F); + if (t <= 70) return Mth.lerp((t - 41.0833F) / (70F - 41.0833F), 121.5F, 11.5F); + if (t <= 74.25) return Mth.lerp((t - 70F) / (74.25F - 70F), 11.5F, -3.75F); + if (t <= 76) return Mth.lerp((t - 74.25F) / (76F - 74.25F), -3.75F, -10F); + if (t <= 77.75) return Mth.lerp((t - 76F) / (77.75F - 76F), -10F, -8.25F); + if (t <= 79.25) return Mth.lerp((t - 77.75F) / (79.25F - 77.75F), -8.25F, -4.12F); - public float getBoneRotX(float t) { - return x; + return Mth.lerp((t - 79.25F) / (80F - 79.25F), -4.12F, 0F); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java index 279892763..bb87d6104 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java @@ -188,25 +188,20 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti public void baseTick() { super.baseTick(); - if (getLeftTrack() < 0) { - setLeftTrack(80); + while (getLeftTrack() > 80F) { + setLeftTrack(getLeftTrack() - 80F); + } + while (getLeftTrack() <= 0) { + setLeftTrack(getLeftTrack() + 80F); } - if (getLeftTrack() > 80) { - setLeftTrack(0); + while (getRightTrack() > 80F) { + setRightTrack(getRightTrack() - 80F); } - - if (getRightTrack() < 0) { - setRightTrack(80); + while (getRightTrack() <= 0) { + setRightTrack(getRightTrack() + 80F); } - if (getRightTrack() > 80) { - setRightTrack(0); - } - - setRightTrack(getRightTrack() + 0.1f); - setLeftTrack(getLeftTrack() + 0.1f); - if (this.entityData.get(CANNON_FIRE_TIME) > 0) { this.entityData.set(CANNON_FIRE_TIME, this.entityData.get(CANNON_FIRE_TIME) - 1); } @@ -507,8 +502,8 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti this.setLeftWheelRot((float) ((this.getLeftWheelRot() - 1.25 * s0) + Mth.clamp(0.75f * this.entityData.get(DELTA_ROT), -5f, 5f))); this.setRightWheelRot((float) ((this.getRightWheelRot() - 1.25 * s0) - Mth.clamp(0.75f * this.entityData.get(DELTA_ROT), -5f, 5f))); -// setLeftTrack((float) ((getLeftTrack() - 1.9 * Math.PI * s0) + Mth.clamp(0.4f * Math.PI * this.entityData.get(DELTA_ROT), -5f, 5f))); -// setRightTrack((float) ((getRightTrack() - 1.9 * Math.PI * s0) - Mth.clamp(0.4f * Math.PI * this.entityData.get(DELTA_ROT), -5f, 5f))); + setLeftTrack((float) ((getLeftTrack() - 1.5 * Math.PI * s0) + Mth.clamp(0.4f * Math.PI * this.entityData.get(DELTA_ROT), -5f, 5f))); + setRightTrack((float) ((getRightTrack() - 1.5 * Math.PI * s0) - Mth.clamp(0.4f * Math.PI * this.entityData.get(DELTA_ROT), -5f, 5f))); if (this.isInWater() || onGround()) { this.setYRot((float) (this.getYRot() - (isInWater() && !onGround() ? 2.5 : 6) * entityData.get(DELTA_ROT))); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java index 92dc79877..7daf1597a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/MobileVehicleEntity.java @@ -68,8 +68,6 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity { public float leftWheelRotO; public float rightWheelRotO; - public float leftTrackO; - public float rightTrackO; public float leftTrack; public float rightTrack; @@ -113,9 +111,6 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity { leftWheelRotO = this.getLeftWheelRot(); rightWheelRotO = this.getRightWheelRot(); - leftTrackO = this.getLeftTrack(); - rightTrackO = this.getRightTrack(); - rotorRotO = this.getRotorRot(); rudderRotO = this.getRudderRot();