From d2be87a71cc1bd1f74ffb8809e0fdd9404ae89f7 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Mon, 4 Nov 2024 16:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9C=A8=E4=BB=93=E5=8F=A3?= =?UTF-8?q?=E7=81=AB=E7=84=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/model/item/Hk416ItemModel.java | 2 +- .../model/item/HuntingRifleItemModel.java | 11 - .../client/model/item/M4ItemModel.java | 2 +- .../renderer/item/AK12ItemRenderer.java | 3 +- .../renderer/item/AK47ItemRenderer.java | 3 +- .../renderer/item/Aa12ItemRenderer.java | 72 ++++-- .../renderer/item/AbekiriItemRenderer.java | 36 +-- .../renderer/item/DevotionItemRenderer.java | 46 ++-- .../renderer/item/Glock17ItemRenderer.java | 36 +-- .../renderer/item/Glock18ItemRenderer.java | 36 +-- .../renderer/item/Hk416ItemRenderer.java | 19 +- .../item/HuntingRifleItemRenderer.java | 36 +-- .../client/renderer/item/K98ItemRenderer.java | 36 +-- .../renderer/item/M1911ItemRenderer.java | 36 +-- .../client/renderer/item/M4ItemRenderer.java | 19 +- .../client/renderer/item/M60ItemRenderer.java | 36 +-- .../client/renderer/item/M79ItemRenderer.java | 36 +-- .../renderer/item/M870ItemRenderer.java | 36 +-- .../renderer/item/M98bItemRenderer.java | 57 ++--- .../renderer/item/MarlinItemRenderer.java | 36 +-- .../renderer/item/MinigunItemRenderer.java | 43 ++-- .../renderer/item/Mk14ItemRenderer.java | 48 ++-- .../item/MosinNagantItemRenderer.java | 48 ++-- .../client/renderer/item/Ntw20Renderer.java | 48 ++-- .../renderer/item/Qbz95ItemRenderer.java | 50 ++--- .../client/renderer/item/RpgItemRenderer.java | 43 ++-- .../client/renderer/item/RpkItemRenderer.java | 49 ++-- .../renderer/item/SentinelItemRenderer.java | 49 ++-- .../client/renderer/item/SksItemRenderer.java | 49 ++-- .../client/renderer/item/SvdItemRenderer.java | 58 ++--- .../renderer/item/TracheliumItemRenderer.java | 36 +-- .../renderer/item/VectorItemRenderer.java | 35 +-- .../event/PlayerEventHandler.java | 2 +- .../superbwarfare/item/gun/GunItem.java | 4 - .../item/gun/rifle/MarlinItem.java | 10 +- .../network/message/ShootMessage.java | 1 - .../animations/ak.animation.json | 176 ++++++++------- .../assets/superbwarfare/geo/hk416.geo.json | 212 +++++++++--------- .../sounds/hk_416/hk_416_fire_1p.ogg | Bin 33810 -> 12109 bytes .../sounds/hk_416/hk_416_fire_3p.ogg | Bin 32895 -> 25687 bytes 40 files changed, 749 insertions(+), 806 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java index fee78b85d..69dbd1f14 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java @@ -125,7 +125,7 @@ public class Hk416ItemModel extends GeoModel { shen.setPosX(-0.4f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread))); shen.setPosY((float) (0.15f * fp + 0.18f * fr)); - shen.setPosZ((float) (0.475 * fp + 0.64f * fr + 1.15 * fpz)); + shen.setPosZ((float) (0.375 * fp + 0.44f * fr + 0.75 * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); shen.setRotY(fireRotY); shen.setRotZ(fireRotZ); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java index 4383f9cca..635e9920a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/HuntingRifleItemModel.java @@ -83,17 +83,6 @@ public class HuntingRifleItemModel extends GeoModel { shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt))); shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); - CoreGeoBone flare = getAnimationProcessor().getBone("flare"); - - if (stack.getOrCreateTag().getDouble("flash_time") > 0) { - flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - flare.setHidden(true); - } - CoreGeoBone root = getAnimationProcessor().getBone("root"); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY)); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java index c268d4511..b1cb65de2 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java @@ -143,7 +143,7 @@ public class M4ItemModel extends GeoModel { shen.setPosX(-0.4f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread))); shen.setPosY((float) (0.15f * fp + 0.18f * fr)); - shen.setPosZ((float) (0.475 * fp + 0.64f * fr + 1.15 * fpz)); + shen.setPosZ((float) (0.375 * fp + 0.44f * fr + 0.75 * fpz)); shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz)); shen.setRotY(fireRotY); shen.setRotZ(fireRotZ); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK12ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK12ItemRenderer.java index 4f010bc82..adebc02f7 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK12ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK12ItemRenderer.java @@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.ItemModelHelper; import net.mcreator.superbwarfare.client.layer.AK12Layer; import net.mcreator.superbwarfare.client.model.item.AK12ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.AK12Item; import net.mcreator.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; @@ -116,7 +117,7 @@ public class AK12ItemRenderer extends GeoItemRenderer { if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 1) { bone.setPosZ(2.25f); } - if (itemStack.getOrCreateTag().getDouble("flash_time") == 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { bone.setHidden(true); } else { bone.setHidden(false); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK47ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK47ItemRenderer.java index a1172358c..94d450ddc 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK47ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AK47ItemRenderer.java @@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.ItemModelHelper; import net.mcreator.superbwarfare.client.layer.AK47Layer; import net.mcreator.superbwarfare.client.model.item.AK47ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.AK47Item; import net.mcreator.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; @@ -113,7 +114,7 @@ public class AK47ItemRenderer extends GeoItemRenderer { } if (name.equals("flare")) { - if (itemStack.getOrCreateTag().getDouble("flash_time") == 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { bone.setHidden(true); } else { bone.setHidden(false); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java index ab222deed..090044f45 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Aa12ItemRenderer.java @@ -2,10 +2,13 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; +import net.mcreator.superbwarfare.client.ItemModelHelper; import net.mcreator.superbwarfare.client.layer.Aa12Layer; import net.mcreator.superbwarfare.client.model.item.Aa12ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.shotgun.Aa12Item; -import net.mcreator.superbwarfare.client.AnimationHelper; +import net.mcreator.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +80,63 @@ public class Aa12ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); + +// if (name.equals("Cross1")) { +// bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") +// || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS +// || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); +// } +// +// if (name.equals("Cross2")) { +// bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") +// || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS +// || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); +// } +// +// if (name.equals("Cross3")) { +// bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") +// || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS +// || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); +// } +// +// if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 +// && (name.equals("hidden"))) { +// bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS); +// } +// +// if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 +// && (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) { +// bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS); +// } + + if (name.equals("flare")) { +// if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 1) { +// bone.setPosZ(2.25f); +// } + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } + + ItemModelHelper.handleGunAttachments(bone, itemStack, name); } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +144,7 @@ public class Aa12ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java index 147a41647..eaa623016 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/AbekiriItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.AbekiriLayer; import net.mcreator.superbwarfare.client.model.item.AbekiriItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class AbekiriItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class AbekiriItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java index 276c7ef2f..7c1288bd7 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/DevotionItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.DevotionLayer; import net.mcreator.superbwarfare.client.model.item.DevotionItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.machinegun.DevotionItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,42 +79,33 @@ public class DevotionItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); + Player player = mc.player; + if (player != null) { + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - if (name.equals("holo")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (player != null) { + if (name.equals("holo")) { + ItemStack itemStack = player.getMainHandItem(); bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -121,7 +113,7 @@ public class DevotionItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java index 307b100ab..8221655c6 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock17ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.Glock17Layer; import net.mcreator.superbwarfare.client.model.item.Glock17ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class Glock17ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class Glock17ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java index 7be450384..53a503d28 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Glock18ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.Glock18Layer; import net.mcreator.superbwarfare.client.model.item.Glock18ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class Glock18ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class Glock18ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Hk416ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Hk416ItemRenderer.java index b84049a89..5cd644766 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Hk416ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Hk416ItemRenderer.java @@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.ItemModelHelper; import net.mcreator.superbwarfare.client.layer.Hk416Layer; import net.mcreator.superbwarfare.client.model.item.Hk416ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.Hk416Item; import net.mcreator.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; @@ -80,22 +81,6 @@ public class Hk416ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - Player player = mc.player; if (player != null) { ItemStack itemStack = player.getMainHandItem(); @@ -129,7 +114,7 @@ public class Hk416ItemRenderer extends GeoItemRenderer { } if (name.equals("flare")) { - if (itemStack.getOrCreateTag().getDouble("flash_time") == 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { bone.setHidden(true); } else { bone.setHidden(false); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java index acdb71e01..c98264832 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.HuntingRifleLayer; import net.mcreator.superbwarfare.client.model.item.HuntingRifleItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java index 3adcbc50b..e0bc98018 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/K98ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.K98Layer; import net.mcreator.superbwarfare.client.model.item.K98ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.K98Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class K98ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.7 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.7 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class K98ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java index 70bcb8c44..bcb1ae640 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M1911ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.M1911Layer; import net.mcreator.superbwarfare.client.model.item.M1911ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class M1911ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class M1911ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M4ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M4ItemRenderer.java index c32a1b4ab..96e54fe44 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M4ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M4ItemRenderer.java @@ -6,6 +6,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.ItemModelHelper; import net.mcreator.superbwarfare.client.layer.M4Layer; import net.mcreator.superbwarfare.client.model.item.M4ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.M4Item; import net.mcreator.superbwarfare.tools.GunsTool; import net.minecraft.client.Minecraft; @@ -80,22 +81,6 @@ public class M4ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - Player player = mc.player; if (player != null) { ItemStack itemStack = player.getMainHandItem(); @@ -136,7 +121,7 @@ public class M4ItemRenderer extends GeoItemRenderer { } if (name.equals("flare")) { - if (itemStack.getOrCreateTag().getDouble("flash_time") == 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { bone.setHidden(true); } else { bone.setHidden(false); diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java index b4cdd5488..384e79b7e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M60ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.M60Layer; import net.mcreator.superbwarfare.client.model.item.M60ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.machinegun.M60Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class M60ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class M60ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java index 988f4ab7c..84759d6c1 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M79ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.M79Layer; import net.mcreator.superbwarfare.client.model.item.M79ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.launcher.M79Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class M79ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class M79ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java index 741fbe000..67f456957 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M870ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.M870Layer; import net.mcreator.superbwarfare.client.model.item.M870ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.shotgun.M870Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class M870ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class M870ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java index 6bf886ccd..21abbea59 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/M98bItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.M98bLayer; import net.mcreator.superbwarfare.client.model.item.M98bItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.M98bItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,48 +79,38 @@ public class M98bItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("scope2")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } - bone.setHidden((itemStack != null && itemStack.getOrCreateTag().getBoolean("HoloHidden")) || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); - } - if (name.equals("qiang")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); + if (name.equals("scope2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); + } + + if (name.equals("qiang")) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden")); } - bone.setHidden(itemStack != null && !itemStack.getOrCreateTag().getBoolean("HoloHidden")); } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -127,7 +118,7 @@ public class M98bItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MarlinItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MarlinItemRenderer.java index 974beee65..8373488ec 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MarlinItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MarlinItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.MarlinLayer; import net.mcreator.superbwarfare.client.model.item.MarlinItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.MarlinItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class MarlinItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class MarlinItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java index 5921a9d6a..92508ccff 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MinigunItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.MinigunLayer; import net.mcreator.superbwarfare.client.model.item.MinigunItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.machinegun.MinigunItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,35 +78,35 @@ public class MinigunItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("fire_animation") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + ItemStack itemStack = player.getMainHandItem(); + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } - } - if (name.equals("light")) { - bone.setHidden(itemStack == null || !(itemStack.getOrCreateTag().getDouble("fire_animation") > 0)); + if (name.equals("light")) { + bone.setHidden(!(itemStack.getOrCreateTag().getDouble("fire_animation") > 0)); + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -113,7 +114,7 @@ public class MinigunItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Mk14ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Mk14ItemRenderer.java index 6ddc5a1cd..c3d399be8 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Mk14ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Mk14ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.Mk14Layer; import net.mcreator.superbwarfare.client.model.item.Mk14ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.Mk14Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -79,43 +80,38 @@ public class Mk14ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - - if (name.equals("rex")) { - if (player_ != null) { + if (name.equals("rex")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } - } - if (name.equals("jing") || name.equals("qiangguan")) { - if (player_ != null) { + if (name.equals("jing") || name.equals("qiangguan")) { bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -123,7 +119,7 @@ public class Mk14ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java index c945f86a1..079338c84 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.MosinNagantLayer; import net.mcreator.superbwarfare.client.model.item.MosinNagantItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,43 +79,38 @@ public class MosinNagantItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.95 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.95 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - - if (name.equals("rex")) { - if (player_ != null) { + if (name.equals("rex")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } - } - if (name.equals("jia") || name.equals("b1") || name.equals("b2")) { - if (player_ != null) { + if (name.equals("jia") || name.equals("b1") || name.equals("b2")) { bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden")); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -122,7 +118,7 @@ public class MosinNagantItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java index 1a786b1fd..fe2afbc55 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Ntw20Renderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.Ntw20Layer; import net.mcreator.superbwarfare.client.model.item.Ntw20Model; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -79,43 +80,38 @@ public class Ntw20Renderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - - if (name.equals("rex")) { - if (player_ != null) { + if (name.equals("rex")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } - } - if (name.equals("jing") || name.equals("action") || name.equals("body") || name.equals("base")) { - if (player_ != null) { + if (name.equals("jing") || name.equals("action") || name.equals("body") || name.equals("base")) { bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -123,7 +119,7 @@ public class Ntw20Renderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java index a726f5c05..73063ceb3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.Qbz95Layer; import net.mcreator.superbwarfare.client.model.item.Qbz95ItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.Qbz95Item; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,42 +79,35 @@ public class Qbz95ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - if (name.equals("holo")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (player != null) { + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); + + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -121,7 +115,7 @@ public class Qbz95ItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java index ad56503f4..8764854de 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpgItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.RpgLayer; import net.mcreator.superbwarfare.client.model.item.RpgItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.launcher.RpgItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,35 +78,35 @@ public class RpgItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + ItemStack itemStack = player.getMainHandItem(); + + if (name.equals("Rockets")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("empty")); } - } - if (name.equals("Rockets")) { - bone.setHidden(itemStack != null && itemStack.getOrCreateTag().getBoolean("empty")); + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -113,7 +114,7 @@ public class RpgItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java index bbd670eea..af30ad1ed 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/RpkItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.RpkLayer; import net.mcreator.superbwarfare.client.model.item.RpkItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.machinegun.RpkItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,42 +79,34 @@ public class RpkItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("holo")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (player != null) { + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -121,7 +114,7 @@ public class RpkItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java index e287ab43a..a197e1bcb 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SentinelItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.SentinelLayer; import net.mcreator.superbwarfare.client.model.item.SentinelItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -80,50 +81,44 @@ public class SentinelItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } - } - if (name.equals("holo")) { - if (player_ != null) { + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } - } - AtomicBoolean flag = new AtomicBoolean(false); - if (itemStack != null) { + AtomicBoolean flag = new AtomicBoolean(false); itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( iEnergyStorage -> flag.set(iEnergyStorage.getEnergyStored() > 0) ); - } - if (name.equals("charge")) { - if (player_ != null) { + if (name.equals("charge")) { bone.setHidden(!flag.get()); } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -131,7 +126,7 @@ public class SentinelItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SksItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SksItemRenderer.java index fa8698c64..89c721bbf 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SksItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SksItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.SksLayer; import net.mcreator.superbwarfare.client.model.item.SksItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.rifle.SksItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,42 +79,34 @@ public class SksItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("holo")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (player != null) { + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -121,7 +114,7 @@ public class SksItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java index ab5fe109d..1d83c53e3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/SvdItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.SvdLayer; import net.mcreator.superbwarfare.client.model.item.SvdItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.sniper.SvdItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -79,47 +80,46 @@ public class SvdItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); - if (name.equals("flare")) { - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); - } - } - - if (name.equals("holo")) { - if (player_ != null) { + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } - } - if (name.equals("glass")) { - bone.setHidden(true); - } + if (name.equals("glass")) { + bone.setHidden(true); + } - if (name.equals("handguard")) { - if (player_ != null) { + if (name.equals("handguard")) { bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) == GLFW.GLFW_PRESS); } + + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); + } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -127,7 +127,7 @@ public class SvdItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java index f0e3013cb..3ce9d3338 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/TracheliumItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.TracheliumLayer; import net.mcreator.superbwarfare.client.model.item.TracheliumItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -77,30 +78,29 @@ public class TracheliumItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("flare")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) { - bone.setHidden(false); - bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } else { - bone.setHidden(true); + Player player = mc.player; + if (player != null) { + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } } } if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -108,7 +108,7 @@ public class TracheliumItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java index c8f4f47e8..0539956c3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java +++ b/src/main/java/net/mcreator/superbwarfare/client/renderer/item/VectorItemRenderer.java @@ -2,10 +2,11 @@ package net.mcreator.superbwarfare.client.renderer.item; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import net.mcreator.superbwarfare.client.AnimationHelper; import net.mcreator.superbwarfare.client.layer.VectorLayer; import net.mcreator.superbwarfare.client.model.item.VectorItemModel; +import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.item.gun.smg.VectorItem; -import net.mcreator.superbwarfare.client.AnimationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -78,26 +79,34 @@ public class VectorItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (name.equals("holo")) { - Player player = Minecraft.getInstance().player; - ItemStack itemStack = null; - if (player != null) { - itemStack = player.getMainHandItem(); - } - if (player != null) { + Player player = mc.player; + if (player != null) { + ItemStack itemStack = player.getMainHandItem(); + + if (name.equals("holo")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_RIGHT) != GLFW.GLFW_PRESS); } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { + bone.setHidden(true); + } else { + bone.setHidden(false); + bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); + bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); + } + } } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + AbstractClientPlayer localPlayer = mc.player; - if (player == null) { + if (localPlayer == null) { return; } - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); + PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); PlayerModel model = playerRenderer.getModel(); stack.pushPose(); RenderUtils.translateMatrixToBone(stack, bone); @@ -105,7 +114,7 @@ public class VectorItemRenderer extends GeoItemRenderer { RenderUtils.rotateMatrixAroundBone(stack, bone); RenderUtils.scaleMatrixForBone(stack, bone); RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); + ResourceLocation loc = localPlayer.getSkinTextureLocation(); VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); if (name.equals("Lefthand")) { diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index fb5c1ef1a..af81a3f45 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -190,7 +190,7 @@ public class PlayerEventHandler { * 判断玩家是否在奔跑 */ private static void handlePlayerSprint(Player player) { - if (player.getMainHandItem().getOrCreateTag().getInt("flash_time") > 0 || player.getMainHandItem().getOrCreateTag().getInt("fire_animation") > 0) { + if (player.getMainHandItem().getOrCreateTag().getInt("fire_animation") > 0) { player.getPersistentData().putDouble("noRun", 10); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/GunItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/GunItem.java index 1a1cac5fb..95bec9f38 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/GunItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/GunItem.java @@ -69,10 +69,6 @@ public abstract class GunItem extends Item { itemstack.getOrCreateTag().putInt("fire_animation", (itemstack.getOrCreateTag().getInt("fire_animation") - 1)); } - if (itemstack.getOrCreateTag().getDouble("flash_time") > 0) { - itemstack.getOrCreateTag().putDouble("flash_time", (itemstack.getOrCreateTag().getDouble("flash_time") - 1)); - } - handleGunPerks(itemstack); handleGunAttachment(itemstack); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/rifle/MarlinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/rifle/MarlinItem.java index 5253945da..c809c5afa 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/rifle/MarlinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/rifle/MarlinItem.java @@ -1,6 +1,7 @@ package net.mcreator.superbwarfare.item.gun.rifle; import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.client.PoseTool; import net.mcreator.superbwarfare.client.renderer.item.MarlinItemRenderer; import net.mcreator.superbwarfare.event.ClientEventHandler; import net.mcreator.superbwarfare.init.ModItems; @@ -11,7 +12,6 @@ import net.mcreator.superbwarfare.item.gun.GunItem; import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; -import net.mcreator.superbwarfare.client.PoseTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; @@ -77,14 +77,6 @@ public class MarlinItem extends GunItem implements GeoItem, AnimatedItem { if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (transformType != null && transformType.firstPerson()) { - if (stack.getOrCreateTag().getInt("flash_time") > 0) { - return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.fire")); - } - - if (stack.getOrCreateTag().getInt("flash_time") > 0) { - return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.fire2")); - } - if (stack.getOrCreateTag().getDouble("marlin_animation_time") > 0 && !stack.getOrCreateTag().getBoolean("fastfiring")) { return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.shift")); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java index 576e57b1d..5fb03fe8c 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java @@ -100,7 +100,6 @@ public class ShootMessage { stack.getOrCreateTag().putInt("ammo", (stack.getOrCreateTag().getInt("ammo") - 1)); stack.getOrCreateTag().putInt("fire_animation", coolDownTick); - stack.getOrCreateTag().putDouble("flash_time", 2); stack.getOrCreateTag().putDouble("empty", 1); diff --git a/src/main/resources/assets/superbwarfare/animations/ak.animation.json b/src/main/resources/assets/superbwarfare/animations/ak.animation.json index e819869ef..712001a18 100644 --- a/src/main/resources/assets/superbwarfare/animations/ak.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/ak.animation.json @@ -236,10 +236,6 @@ } } }, - "animation.ak47.fire": { - "animation_length": 0.05, - "override_previous_animation": true - }, "animation.ak47.reload_normal": { "loop": "hold_on_last_frame", "animation_length": 2.4833, @@ -1404,78 +1400,6 @@ } } }, - "camera": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.3": { - "vector": [0, 0, 1.5], - "easing": "easeInElastic" - }, - "0.4167": { - "vector": [0, 0, 1] - }, - "0.65": { - "vector": [0.5, 0, 1.2], - "easing": "easeOutSine" - }, - "0.7667": { - "vector": [-0.1, 0, 2] - }, - "0.8833": { - "vector": [0, 0, 1.5], - "easing": "easeInElastic" - }, - "0.9667": { - "vector": [1, 1, -2.5], - "easing": "easeInSine" - }, - "1.05": { - "vector": [-0.5, -0.5, 1.5] - }, - "1.3": { - "vector": [0.5, 0, 1], - "easing": "easeInElastic" - }, - "1.4667": { - "vector": [-0.5, 0, 2.2], - "easing": "linear" - }, - "1.55": { - "vector": [1.5, -0.7, 0.8], - "easing": "easeInSine" - }, - "2.0167": { - "vector": [0, 0, 1.5], - "easing": "linear" - }, - "2.15": { - "vector": [0.2, 0, 1.5] - }, - "2.25": { - "vector": [1, 2, 1.8] - }, - "2.3167": { - "vector": [-1.5, -3, -1.5] - }, - "2.45": { - "vector": [0.2, 1.5, 1.5] - }, - "2.6": { - "vector": [0, 0, 0], - "easing": "easeInElastic" - }, - "2.9667": { - "vector": [0, 0, -0.75], - "easing": "linear" - }, - "3.1333": { - "vector": [0, 0, 0], - "easing": "linear" - } - } - }, "bolt": { "position": { "2.25": { @@ -1682,13 +1606,16 @@ "2.0333": { "vector": [-63.28453, -32.24133, 119.67539] }, - "2.1667": { - "vector": [-55.8055, -45.03766, 136.04839] + "2.15": { + "vector": [-54.27606, -45.56562, 134.31729] }, - "2.25": { - "vector": [-56.50998, -68.03459, 136.84785] + "2.2167": { + "vector": [-54.27606, -45.56562, 134.31729] }, - "2.3833": { + "2.3667": { + "vector": [-58.29576, -75.03148, 137.66094] + }, + "2.4": { "vector": [-58.29576, -75.03148, 137.66094] }, "2.6333": { @@ -1769,14 +1696,17 @@ "2.0667": { "vector": [-10.24667, 0.18654, 1.6813] }, - "2.1667": { - "vector": [-10.06869, 1.26782, 1.97612] + "2.15": { + "vector": [-10.04608, -0.32088, 4.27925] }, - "2.25": { - "vector": [-10.24667, -1.41346, 1.5813] + "2.2167": { + "vector": [-10.04608, -0.32088, 4.27925] }, - "2.3833": { - "vector": [-10.24667, -1.41346, 3.1813] + "2.3667": { + "vector": [-10.36244, -2.58271, 3.4251] + }, + "2.4": { + "vector": [-10.36244, -2.58271, 3.4251] }, "2.4833": { "vector": [-15.39165, -0.47556, 13.67161] @@ -1788,6 +1718,78 @@ "vector": [0, 0, 0] } } + }, + "camera": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.3": { + "vector": [0, 0, 1.5], + "easing": "easeInElastic" + }, + "0.4167": { + "vector": [0, 0, 1] + }, + "0.65": { + "vector": [0.5, 0, 1.2], + "easing": "easeOutSine" + }, + "0.7667": { + "vector": [-0.1, 0, 2] + }, + "0.8833": { + "vector": [0, 0, 1.5], + "easing": "easeInElastic" + }, + "0.9667": { + "vector": [1, 1, -2.5], + "easing": "easeInSine" + }, + "1.05": { + "vector": [-0.5, -0.5, 1.5] + }, + "1.3": { + "vector": [0.5, 0, 1], + "easing": "easeInElastic" + }, + "1.4667": { + "vector": [-0.5, 0, 2.2], + "easing": "linear" + }, + "1.55": { + "vector": [1.5, -0.7, 0.8], + "easing": "easeInSine" + }, + "2.0167": { + "vector": [0, 0, 1.5], + "easing": "linear" + }, + "2.15": { + "vector": [0.2, 0, 1.5] + }, + "2.25": { + "vector": [1, 2, 1.8] + }, + "2.3167": { + "vector": [-1.5, -3, -1.5] + }, + "2.45": { + "vector": [0.2, 1.5, 1.5] + }, + "2.6": { + "vector": [0, 0, 0], + "easing": "easeInElastic" + }, + "2.9667": { + "vector": [0, 0, -0.75], + "easing": "linear" + }, + "3.1333": { + "vector": [0, 0, 0], + "easing": "linear" + } + } } }, "sound_effects": { diff --git a/src/main/resources/assets/superbwarfare/geo/hk416.geo.json b/src/main/resources/assets/superbwarfare/geo/hk416.geo.json index 48a1b1f4b..6ff9a2cf7 100644 --- a/src/main/resources/assets/superbwarfare/geo/hk416.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/hk416.geo.json @@ -825,11 +825,11 @@ { "name": "Grip1", "parent": "0", - "pivot": [0, -0.77813, -10.21739], + "pivot": [0, -0.77813, -10.96739], "rotation": [-1, 0, 0], "cubes": [ { - "origin": [-0.41333, 0.31981, -11.14847], + "origin": [-0.41333, 0.31981, -11.89847], "size": [0.82667, 0.41865, 1.86], "uv": { "north": {"uv": [81.5, 49], "uv_size": [0.5, 0.25]}, @@ -838,9 +838,9 @@ } }, { - "origin": [-0.60227, 0.31981, -11.10567], + "origin": [-0.60227, 0.31981, -11.85567], "size": [0.29227, 0.41865, 0.20667], - "pivot": [-0.41333, 0.44897, -11.00234], + "pivot": [-0.41333, 0.44897, -11.75234], "rotation": [0, 45, 0], "uv": { "north": {"uv": [81, 50], "uv_size": [0.25, 0.25]}, @@ -849,9 +849,9 @@ } }, { - "origin": [0.31, 0.31981, -11.10567], + "origin": [0.31, 0.31981, -11.85567], "size": [0.29227, 0.41865, 0.20667], - "pivot": [0.41333, 0.44897, -11.00234], + "pivot": [0.41333, 0.44897, -11.75234], "rotation": [0, -45, 0], "uv": { "north": {"uv": [83, 48.5], "uv_size": [0.25, 0.25]}, @@ -860,9 +860,9 @@ } }, { - "origin": [-0.41701, 0.31981, -9.92468], + "origin": [-0.41701, 0.31981, -10.67468], "size": [0.20667, 0.41865, 0.29228], - "pivot": [0, 0.44897, -9.46487], + "pivot": [0, 0.44897, -10.21487], "rotation": [0, 45, 0], "uv": { "east": {"uv": [82.5, 50], "uv_size": [0.25, 0.25]}, @@ -871,9 +871,9 @@ } }, { - "origin": [0.16754, 0.31981, -9.25454], + "origin": [0.16754, 0.31981, -10.00454], "size": [0.29227, 0.41865, 0.20667], - "pivot": [0, 0.44897, -9.46487], + "pivot": [0, 0.44897, -10.21487], "rotation": [0, 45, 0], "uv": { "south": {"uv": [79, 50.5], "uv_size": [0.25, 0.25]}, @@ -882,7 +882,7 @@ } }, { - "origin": [-0.62, 0.31981, -10.94181], + "origin": [-0.62, 0.31981, -11.69181], "size": [1.24, 0.41865, 1.44667], "uv": { "east": {"uv": [79.5, 48.5], "uv_size": [0.75, 0.25]}, @@ -892,9 +892,9 @@ } }, { - "origin": [-0.65375, 0.39805, -10.31453], + "origin": [-0.65375, 0.39805, -11.06453], "size": [1.3075, 0.25313, 0.25313], - "pivot": [0, 0.52461, -10.18797], + "pivot": [0, 0.52461, -10.93797], "rotation": [-45, 0, 0], "uv": { "east": {"uv": [83.5, 48.5], "uv_size": [0.25, 0.25]}, @@ -904,7 +904,7 @@ } }, { - "origin": [-0.41333, 0.11314, -10.94181], + "origin": [-0.41333, 0.11314, -11.69181], "size": [0.82667, 0.20667, 1.44667], "uv": { "east": {"uv": [81.5, 48], "uv_size": [0.75, 0.25]}, @@ -913,9 +913,9 @@ } }, { - "origin": [0.50666, 0.75683, -10.94181], + "origin": [0.50666, 0.75683, -11.69181], "size": [0.29761, 0.29476, 1.44667], - "pivot": [-0.17121, 0.90812, -9.49514], + "pivot": [-0.17121, 0.90812, -10.24514], "rotation": [0, 0, 45], "uv": { "north": {"uv": [83.5, 46.5], "uv_size": [0.25, 0.25]}, @@ -925,9 +925,9 @@ } }, { - "origin": [-0.80426, 0.75683, -10.94181], + "origin": [-0.80426, 0.75683, -11.69181], "size": [0.29761, 0.29476, 1.44667], - "pivot": [0.17121, 0.90812, -9.49514], + "pivot": [0.17121, 0.90812, -10.24514], "rotation": [0, 0, -45], "uv": { "north": {"uv": [83.5, 48], "uv_size": [0.25, 0.25]}, @@ -937,9 +937,9 @@ } }, { - "origin": [-0.41333, 0.13357, -9.54446], + "origin": [-0.41333, 0.13357, -10.29446], "size": [0.82667, 0.29227, 0.18084], - "pivot": [0, 0.28211, -9.45404], + "pivot": [0, 0.28211, -10.20404], "rotation": [-45, 0, 0], "uv": { "east": {"uv": [83.5, 47], "uv_size": [0.25, 0.25]}, @@ -948,9 +948,9 @@ } }, { - "origin": [-0.41333, 0.43623, -10.34265], + "origin": [-0.41333, 0.43623, -11.09265], "size": [0.82667, 0.29227, 0.18083], - "pivot": [0, -0.44857, -10.25223], + "pivot": [0, -0.44857, -11.00223], "rotation": [45, 0, 0], "uv": { "north": {"uv": [80.5, 49.5], "uv_size": [0.5, 0.25]}, @@ -963,10 +963,10 @@ { "name": "bone38", "parent": "Grip1", - "pivot": [0, -1.83809, -10.21784], + "pivot": [0, -1.83809, -10.96784], "cubes": [ { - "origin": [-0.21973, -2.94492, -10.75001], + "origin": [-0.21973, -2.94492, -11.50001], "size": [0.43947, 3.21366, 1.06433], "uv": { "north": {"uv": [79.5, 47], "uv_size": [0.25, 1.5]}, @@ -976,9 +976,9 @@ } }, { - "origin": [-0.21973, -2.94492, -10.75001], + "origin": [-0.21973, -2.94492, -11.50001], "size": [0.43947, 3.21366, 1.06433], - "pivot": [0, -1.9877, -10.21784], + "pivot": [0, -1.9877, -10.96784], "rotation": [0, -45, 0], "uv": { "north": {"uv": [80.5, 46], "uv_size": [0.25, 1.5]}, @@ -988,9 +988,9 @@ } }, { - "origin": [-0.21973, -2.94492, -10.75001], + "origin": [-0.21973, -2.94492, -11.50001], "size": [0.43947, 3.21366, 1.06433], - "pivot": [0, -1.9877, -10.21784], + "pivot": [0, -1.9877, -10.96784], "rotation": [0, -90, 0], "uv": { "north": {"uv": [79, 48], "uv_size": [0.25, 1.5]}, @@ -1000,9 +1000,9 @@ } }, { - "origin": [-0.21973, -2.94492, -10.75001], + "origin": [-0.21973, -2.94492, -11.50001], "size": [0.43947, 3.21366, 1.06433], - "pivot": [0, -1.9877, -10.21784], + "pivot": [0, -1.9877, -10.96784], "rotation": [-180, -45, 180], "uv": { "north": {"uv": [81, 47.5], "uv_size": [0.25, 1.5]}, @@ -1016,10 +1016,10 @@ { "name": "bone39", "parent": "Grip1", - "pivot": [0, -1.27373, -10.22293], + "pivot": [0, -1.27373, -10.97293], "cubes": [ { - "origin": [-0.19776, -3.44488, -10.70188], + "origin": [-0.19776, -3.44488, -11.45188], "size": [0.39552, 0.5, 0.9579], "uv": { "north": {"uv": [83.5, 49], "uv_size": [0.25, 0.25]}, @@ -1029,9 +1029,9 @@ } }, { - "origin": [-0.19776, -3.44488, -10.70188], + "origin": [-0.19776, -3.44488, -11.45188], "size": [0.39552, 0.5, 0.9579], - "pivot": [0, -1.40838, -10.22293], + "pivot": [0, -1.40838, -10.97293], "rotation": [0, -45, 0], "uv": { "north": {"uv": [83.5, 49.5], "uv_size": [0.25, 0.25]}, @@ -1041,9 +1041,9 @@ } }, { - "origin": [-0.19776, -3.44488, -10.70188], + "origin": [-0.19776, -3.44488, -11.45188], "size": [0.39552, 0.5, 0.9579], - "pivot": [0, -1.40838, -10.22293], + "pivot": [0, -1.40838, -10.97293], "rotation": [0, -90, 0], "uv": { "north": {"uv": [83.5, 50], "uv_size": [0.25, 0.25]}, @@ -1053,9 +1053,9 @@ } }, { - "origin": [-0.19776, -3.44488, -10.70188], + "origin": [-0.19776, -3.44488, -11.45188], "size": [0.39552, 0.5, 0.9579], - "pivot": [0, -1.40838, -10.22293], + "pivot": [0, -1.40838, -10.97293], "rotation": [-180, -45, 180], "uv": { "north": {"uv": [79, 51], "uv_size": [0.25, 0.25]}, @@ -1069,10 +1069,10 @@ { "name": "Grip2", "parent": "0", - "pivot": [0, 0.41078, -11.25328], + "pivot": [0, 0.41078, -12.25328], "cubes": [ { - "origin": [-0.62, 0.40809, -12.79181], + "origin": [-0.62, 0.40809, -13.79181], "size": [1.24, 0.31865, 5.44667], "uv": { "north": {"uv": [84, 54], "uv_size": [0.5, 0.25]}, @@ -1083,7 +1083,7 @@ } }, { - "origin": [0.48, 0.72673, -12.54181], + "origin": [0.48, 0.72673, -13.54181], "size": [0.14, 0.25, 1.69667], "uv": { "north": {"uv": [82.5, 57.5], "uv_size": [0.25, 0.25]}, @@ -1093,9 +1093,9 @@ } }, { - "origin": [0.48, 0.25681, -11.03804], + "origin": [0.48, 0.25681, -12.03804], "size": [0.14, 0.25, 0.52089], - "pivot": [0.55, 0.38181, -10.06471], + "pivot": [0.55, 0.38181, -11.06471], "rotation": [-30, 0, 0], "uv": { "east": {"uv": [84.5, 55.5], "uv_size": [0.25, 0.25]}, @@ -1104,7 +1104,7 @@ } }, { - "origin": [-0.62, 0.72673, -12.54181], + "origin": [-0.62, 0.72673, -13.54181], "size": [0.14, 0.25, 1.69667], "uv": { "north": {"uv": [84.5, 57], "uv_size": [0.25, 0.25]}, @@ -1114,9 +1114,9 @@ } }, { - "origin": [-0.62, 0.25681, -11.03804], + "origin": [-0.62, 0.25681, -12.03804], "size": [0.14, 0.25, 0.52089], - "pivot": [-0.55, 0.38181, -10.06471], + "pivot": [-0.55, 0.38181, -11.06471], "rotation": [-30, 0, 0], "uv": { "east": {"uv": [83.5, 57.5], "uv_size": [0.25, 0.25]}, @@ -1125,9 +1125,9 @@ } }, { - "origin": [0.48, 0.12509, -12.51969], + "origin": [0.48, 0.12509, -13.51969], "size": [0.14, 0.2, 0.35136], - "pivot": [0.55, 0.20009, -13.14167], + "pivot": [0.55, 0.20009, -14.14167], "rotation": [45, 0, 0], "uv": { "east": {"uv": [85.5, 53], "uv_size": [0.25, 0.25]}, @@ -1136,9 +1136,9 @@ } }, { - "origin": [-0.62, 0.12509, -12.51969], + "origin": [-0.62, 0.12509, -13.51969], "size": [0.14, 0.2, 0.35136], - "pivot": [-0.55, 0.20009, -13.14167], + "pivot": [-0.55, 0.20009, -14.14167], "rotation": [45, 0, 0], "uv": { "east": {"uv": [79.5, 58.5], "uv_size": [0.25, 0.25]}, @@ -1147,7 +1147,7 @@ } }, { - "origin": [-0.41333, 0.20142, -12.79181], + "origin": [-0.41333, 0.20142, -13.79181], "size": [0.82667, 0.20667, 5.44667], "uv": { "north": {"uv": [84, 55], "uv_size": [0.5, 0.25]}, @@ -1158,9 +1158,9 @@ } }, { - "origin": [0.50666, 0.84511, -12.79181], + "origin": [0.50666, 0.84511, -13.79181], "size": [0.29761, 0.29476, 5.44667], - "pivot": [-0.17121, 0.9964, -9.34514], + "pivot": [-0.17121, 0.9964, -10.34514], "rotation": [0, 0, 45], "uv": { "north": {"uv": [84.5, 53.5], "uv_size": [0.25, 0.25]}, @@ -1170,9 +1170,9 @@ } }, { - "origin": [-0.80426, 0.84511, -12.79181], + "origin": [-0.80426, 0.84511, -13.79181], "size": [0.29761, 0.29476, 5.44667], - "pivot": [0.17121, 0.99641, -9.34514], + "pivot": [0.17121, 0.99641, -10.34514], "rotation": [0, 0, -45], "uv": { "north": {"uv": [82, 57.5], "uv_size": [0.25, 0.25]}, @@ -1182,9 +1182,9 @@ } }, { - "origin": [-0.36333, -0.28087, -12.76835], + "origin": [-0.36333, -0.28087, -13.76835], "size": [0.72667, 0.51, 0.21], - "pivot": [0.05, 0.07413, -12.61335], + "pivot": [0.05, 0.07413, -13.61335], "rotation": [9.5, 0, 0], "uv": { "north": {"uv": [84.5, 54], "uv_size": [0.25, 0.25]}, @@ -1193,9 +1193,9 @@ } }, { - "origin": [-0.36333, -0.27218, -12.61214], + "origin": [-0.36333, -0.27218, -13.61214], "size": [0.72667, 0.52563, 0.22172], - "pivot": [0.05, 0.08282, -12.54542], + "pivot": [0.05, 0.08282, -13.54542], "rotation": [-16.5, 0, 0], "uv": { "east": {"uv": [79.5, 58], "uv_size": [0.25, 0.25]}, @@ -1204,7 +1204,7 @@ } }, { - "origin": [-0.36333, -0.30159, -12.70763], + "origin": [-0.36333, -0.30159, -13.70763], "size": [0.72667, 0.03109, 0.21], "uv": { "east": {"uv": [84.5, 57.5], "uv_size": [0.25, 0.25]}, @@ -1213,9 +1213,9 @@ } }, { - "origin": [-0.31333, 0.30725, -7.35569], + "origin": [-0.31333, 0.30725, -8.35569], "size": [0.62667, 0.27094, 0.41469], - "pivot": [0, -0.13775, -8.58663], + "pivot": [0, -0.13775, -9.58663], "rotation": [145, 0, 0], "uv": { "north": {"uv": [85, 53], "uv_size": [0.25, 0.25]}, @@ -1224,9 +1224,9 @@ } }, { - "origin": [-0.31333, -0.38228, -11.45273], + "origin": [-0.31333, -0.38228, -12.45273], "size": [0.62667, 0.5, 0.51469], - "pivot": [0.1, 0.06491, -10.94539], + "pivot": [0.1, 0.06491, -11.94539], "rotation": [100, 0, 0], "uv": { "north": {"uv": [81, 58], "uv_size": [0.25, 0.25]}, @@ -1240,12 +1240,12 @@ { "name": "bone40", "parent": "Grip2", - "pivot": [0.60362, -4.1583, -11.66847], + "pivot": [0.60362, -4.1583, -12.66847], "cubes": [ { - "origin": [0.59369, 0.55989, -12.29181], + "origin": [0.59369, 0.55989, -13.29181], "size": [0.05, 0.11865, 1.09667], - "pivot": [0.61869, 0.61921, -11.66847], + "pivot": [0.61869, 0.61921, -12.66847], "rotation": [0, 0, 30], "uv": { "north": {"uv": [85, 56], "uv_size": [0.25, 0.25]}, @@ -1254,7 +1254,7 @@ } }, { - "origin": [0.62, 0.65809, -12.29181], + "origin": [0.62, 0.65809, -13.29181], "size": [0.05, 0.11865, 1.09667], "uv": { "north": {"uv": [85, 55.5], "uv_size": [0.25, 0.25]}, @@ -1263,9 +1263,9 @@ } }, { - "origin": [3.07862, 0.08238, -12.29181], + "origin": [3.07862, 0.08238, -13.29181], "size": [0.05, 0.11865, 1.09667], - "pivot": [0.60362, -4.1583, -11.66847], + "pivot": [0.60362, -4.1583, -12.66847], "rotation": [0, 0, -30], "uv": { "north": {"uv": [85, 56.5], "uv_size": [0.25, 0.25]}, @@ -1278,12 +1278,12 @@ { "name": "bone41", "parent": "Grip2", - "pivot": [-0.60362, -4.1583, -11.66847], + "pivot": [-0.60362, -4.1583, -12.66847], "cubes": [ { - "origin": [-0.64369, 0.55989, -12.29181], + "origin": [-0.64369, 0.55989, -13.29181], "size": [0.05, 0.11865, 1.09667], - "pivot": [-0.61869, 0.61921, -11.66847], + "pivot": [-0.61869, 0.61921, -12.66847], "rotation": [0, 0, -30], "uv": { "north": {"uv": [85, 57], "uv_size": [0.25, 0.25]}, @@ -1292,7 +1292,7 @@ } }, { - "origin": [-0.67, 0.65809, -12.29181], + "origin": [-0.67, 0.65809, -13.29181], "size": [0.05, 0.11865, 1.09667], "uv": { "north": {"uv": [85, 57.5], "uv_size": [0.25, 0.25]}, @@ -1301,9 +1301,9 @@ } }, { - "origin": [-3.12862, 0.08238, -12.29181], + "origin": [-3.12862, 0.08238, -13.29181], "size": [0.05, 0.11865, 1.09667], - "pivot": [-0.60362, -4.1583, -11.66847], + "pivot": [-0.60362, -4.1583, -12.66847], "rotation": [0, 0, 30], "uv": { "north": {"uv": [79, 58.5], "uv_size": [0.25, 0.25]}, @@ -1316,12 +1316,12 @@ { "name": "bone42", "parent": "Grip2", - "pivot": [0.22628, -0.58143, -10.22966], + "pivot": [0.22628, -0.58143, -11.22966], "cubes": [ { - "origin": [-0.41333, -2.00193, -10.8504], + "origin": [-0.41333, -2.00193, -11.8504], "size": [0.82667, 2.52094, 0.31469], - "pivot": [0.1, 0.10307, -10.78134], + "pivot": [0.1, 0.10307, -11.78134], "rotation": [55, 0, 0], "uv": { "east": {"uv": [79.5, 55], "uv_size": [0.25, 1.25]}, @@ -1329,54 +1329,54 @@ } }, { - "origin": [-0.31333, -2.00193, -10.9504], + "origin": [-0.31333, -2.00193, -11.9504], "size": [0.62667, 2.52094, 0.1], - "pivot": [0.1, 0.10307, -10.78134], + "pivot": [0.1, 0.10307, -11.78134], "rotation": [55, 0, 0], "uv": { "north": {"uv": [81.5, 55], "uv_size": [0.25, 1.25]} } }, { - "origin": [1.40731, -0.73903, -10.89132], + "origin": [1.40731, -0.73903, -11.89132], "size": [0.02667, 2.52094, 0.141], - "pivot": [1.07064, 0.52144, -9.45742], + "pivot": [1.07064, 0.52144, -10.45742], "rotation": [63.659, 23.92746, 39.32269], "uv": { "west": {"uv": [82, 55], "uv_size": [0.25, 1.25]} } }, { - "origin": [-1.43397, -0.73903, -10.89132], + "origin": [-1.43397, -0.73903, -11.89132], "size": [0.02667, 2.52094, 0.141], - "pivot": [-1.07064, 0.52144, -9.45742], + "pivot": [-1.07064, 0.52144, -10.45742], "rotation": [63.659, -23.92746, -39.32269], "uv": { "east": {"uv": [82.5, 55], "uv_size": [0.25, 1.25]} } }, { - "origin": [-0.31333, -2.02569, -15.56986], + "origin": [-0.31333, -2.02569, -16.56986], "size": [0.62667, 1.92094, 0.1], - "pivot": [0.1, -2.20975, -12.4008], + "pivot": [0.1, -2.20975, -13.4008], "rotation": [-125, 0, 0], "uv": { "north": {"uv": [80, 56.5], "uv_size": [0.25, 1]} } }, { - "origin": [0.56039, -1.8419, -10.30016], + "origin": [0.56039, -1.8419, -11.30016], "size": [0.02667, 1.92094, 0.141], - "pivot": [-0.17628, -0.58143, -10.22966], + "pivot": [-0.17628, -0.58143, -11.22966], "rotation": [63.659, -23.92746, -39.32269], "uv": { "west": {"uv": [81, 56.5], "uv_size": [0.25, 1]} } }, { - "origin": [-0.58706, -1.8419, -10.30016], + "origin": [-0.58706, -1.8419, -11.30016], "size": [0.02667, 1.92094, 0.141], - "pivot": [0.17628, -0.58143, -10.22966], + "pivot": [0.17628, -0.58143, -11.22966], "rotation": [63.659, 23.92746, 39.32269], "uv": { "east": {"uv": [81.5, 56.5], "uv_size": [0.25, 1]} @@ -1387,13 +1387,13 @@ { "name": "bone43", "parent": "Grip2", - "pivot": [0.22628, -0.58143, -10.22966], + "pivot": [0.22628, -0.58143, -11.22966], "rotation": [90, 0, 0], "cubes": [ { - "origin": [-0.41333, -4.09558, -10.91205], + "origin": [-0.41333, -4.09558, -11.91205], "size": [0.82667, 2.52094, 0.31469], - "pivot": [0.1, -1.99058, -10.84298], + "pivot": [0.1, -1.99058, -11.84298], "rotation": [55, 0, 0], "uv": { "east": {"uv": [83, 52], "uv_size": [0.25, 1.25]}, @@ -1403,9 +1403,9 @@ } }, { - "origin": [-0.31333, -4.09558, -11.01205], + "origin": [-0.31333, -4.09558, -12.01205], "size": [0.62667, 2.52094, 0.1], - "pivot": [0.1, -1.99058, -10.84298], + "pivot": [0.1, -1.99058, -11.84298], "rotation": [55, 0, 0], "uv": { "north": {"uv": [79, 56.5], "uv_size": [0.25, 1.25]}, @@ -1413,9 +1413,9 @@ } }, { - "origin": [1.33397, -2.83268, -10.95297], + "origin": [1.33397, -2.83268, -11.95297], "size": [0.1, 2.52094, 0.141], - "pivot": [1.07064, -1.57221, -9.51906], + "pivot": [1.07064, -1.57221, -10.51906], "rotation": [63.659, 23.92746, 39.32269], "uv": { "west": {"uv": [83.5, 52], "uv_size": [0.25, 1.25]}, @@ -1423,9 +1423,9 @@ } }, { - "origin": [-1.43368, -2.83293, -10.95314], + "origin": [-1.43368, -2.83293, -11.95314], "size": [0.1, 2.52094, 0.141], - "pivot": [-1.07034, -1.57246, -9.51923], + "pivot": [-1.07034, -1.57246, -10.51923], "rotation": [63.659, -23.92746, -39.32269], "uv": { "east": {"uv": [79.5, 56.5], "uv_size": [0.25, 1.25]}, @@ -1433,27 +1433,27 @@ } }, { - "origin": [-0.31333, -4.11934, -15.6315], + "origin": [-0.31333, -4.11934, -16.6315], "size": [0.62667, 1.92094, 0.1], - "pivot": [0.1, -4.3034, -12.46244], + "pivot": [0.1, -4.3034, -13.46244], "rotation": [-125, 0, 0], "uv": { "north": {"uv": [82, 56.5], "uv_size": [0.25, 1]} } }, { - "origin": [0.56039, -3.93556, -10.3618], + "origin": [0.56039, -3.93556, -11.3618], "size": [0.02667, 1.92094, 0.141], - "pivot": [-0.17628, -2.67509, -10.2913], + "pivot": [-0.17628, -2.67509, -11.2913], "rotation": [63.659, -23.92746, -39.32269], "uv": { "west": {"uv": [83.5, 55], "uv_size": [0.25, 1]} } }, { - "origin": [-0.58706, -3.93556, -10.3618], + "origin": [-0.58706, -3.93556, -11.3618], "size": [0.02667, 1.92094, 0.141], - "pivot": [0.17628, -2.67509, -10.2913], + "pivot": [0.17628, -2.67509, -11.2913], "rotation": [63.659, 23.92746, 39.32269], "uv": { "east": {"uv": [82.5, 56.5], "uv_size": [0.25, 1]} diff --git a/src/main/resources/assets/superbwarfare/sounds/hk_416/hk_416_fire_1p.ogg b/src/main/resources/assets/superbwarfare/sounds/hk_416/hk_416_fire_1p.ogg index b2e6c3765cadd61d75b7e3fad42078b4f486f1e8..81b6395ab16f65f2362220ac452095340006d4d9 100644 GIT binary patch literal 12109 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 X=|+3jhe_QRe9*b0MHF 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

plKJ+9ba1J`}56#kiofl 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 S40G*mi^HCatOLT{K>k1K0Fn;? diff --git a/src/main/resources/assets/superbwarfare/sounds/hk_416/hk_416_fire_3p.ogg b/src/main/resources/assets/superbwarfare/sounds/hk_416/hk_416_fire_3p.ogg index dd1bb0d88cd82673602ff52739ac3e099637c67d..ba5a7dafbb615c785f3ee6b843c0324a046613c9 100644 GIT binary patch literal 25687 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 JI0ocF{XZXSp`ZW& literal 32895 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

T@2N^Yc_rYI53F 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 F{|~!sy(9nt