diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Mp5ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Mp5ItemRenderer.java index 042ecfd37..7d7eddfee 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Mp5ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Mp5ItemRenderer.java @@ -65,7 +65,7 @@ public class Mp5ItemRenderer extends CustomGunRenderer { ItemModelHelper.handleGunAttachments(bone, itemStack, name); if (renderingArms) { - AnimationHelper.renderArms(player, this.transformType, stack, name, bone, this.currentBuffer, type, packedLightIn, false); + 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); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java index 7461cbf1f..3c09dc9f4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java @@ -12,7 +12,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import software.bernie.geckolib.animation.*; import software.bernie.geckolib.renderer.GeoItemRenderer; @@ -22,9 +21,6 @@ import java.util.function.Supplier; public class Aa12Item extends GunItem { - public String animationProcedure = "empty"; - public static ItemDisplayContext transformType; - public Aa12Item() { super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary())); } @@ -40,47 +36,27 @@ public class Aa12Item extends GunItem { ItemStack stack = player.getMainHandItem(); if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP; - if (this.animationProcedure.equals("empty")) { - if (GunData.from(stack).reload.empty()) { - return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa_12.reload_empty")); - } - - if (GunData.from(stack).reload.normal()) { - return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa_12.reload_normal")); - } - - if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { - if (ClientEventHandler.tacticalSprint) { - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.run_fast")); - } else { - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.run")); - } - } - - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.idle")); + if (GunData.from(stack).reload.empty()) { + return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa_12.reload_empty")); } - return PlayState.STOP; - } - private PlayState procedurePredicate(AnimationState event) { - if (transformType != null && transformType.firstPerson()) { - if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) { - event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); - if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { - this.animationProcedure = "empty"; - event.getController().forceAnimationReset(); - } - } else if (this.animationProcedure.equals("empty")) { - return PlayState.STOP; + if (GunData.from(stack).reload.normal()) { + return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa_12.reload_normal")); + } + + if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) { + if (ClientEventHandler.tacticalSprint) { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.run_fast")); + } else { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.run")); } } - return PlayState.CONTINUE; + + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa_12.idle")); } @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { - var procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate); - data.add(procedureController); var idleController = new AnimationController<>(this, "idleController", 4, this::idlePredicate); data.add(idleController); }