diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java index 6785be9e4..0572ccd95 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.AK12Layer; import com.atsuishio.superbwarfare.client.model.item.AK12ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.gun.rifle.AK12Item; import com.atsuishio.superbwarfare.tools.GunsTool; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.atsuishio.superbwarfare.client.ItemModelHelper; -import com.atsuishio.superbwarfare.item.gun.rifle.AK12Item; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class AK12ItemRenderer extends GeoItemRenderer { + public AK12ItemRenderer() { super(new AK12ItemModel()); this.addRenderLayer(new AK12Layer(this)); @@ -83,6 +85,7 @@ public class AK12ItemRenderer extends GeoItemRenderer { Player player = mc.player; if (player != null) { ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; if (name.equals("Cross1")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java index a2e251623..4d5695c5f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK47ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.AK47Layer; import com.atsuishio.superbwarfare.client.model.item.AK47ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.AK47Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class AK47ItemRenderer extends GeoItemRenderer { + public AK47ItemRenderer() { super(new AK47ItemModel()); this.addRenderLayer(new AK47Layer(this)); @@ -83,6 +85,7 @@ public class AK47ItemRenderer extends GeoItemRenderer { Player player = mc.player; if (player != null) { ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; if (name.equals("Cross1")) { bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Aa12ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Aa12ItemRenderer.java index b94d177ab..09c6a764f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Aa12ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Aa12ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.Aa12Layer; import com.atsuishio.superbwarfare.client.model.item.Aa12ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.Aa12Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class Aa12ItemRenderer extends GeoItemRenderer { + public Aa12ItemRenderer() { super(new Aa12ItemModel()); this.addRenderLayer(new Aa12Layer(this)); @@ -83,6 +85,7 @@ public class Aa12ItemRenderer extends GeoItemRenderer { Player player = mc.player; if (player != null) { ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; if (name.equals("flare")) { if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AbekiriItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AbekiriItemRenderer.java index a4a474778..d8c16e948 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AbekiriItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AbekiriItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.AbekiriLayer; import com.atsuishio.superbwarfare.client.model.item.AbekiriItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.AbekiriItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class AbekiriItemRenderer extends GeoItemRenderer { + public AbekiriItemRenderer() { super(new AbekiriItemModel()); this.addRenderLayer(new AbekiriLayer(this)); @@ -80,6 +82,8 @@ public class AbekiriItemRenderer extends GeoItemRenderer { Player player = mc.player; if (player != null) { + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; if (name.equals("flare")) { if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/BocekItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/BocekItemRenderer.java index 13d86bf94..61493d8a2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/BocekItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/BocekItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.BocekLayer; import com.atsuishio.superbwarfare.client.model.item.BocekItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.special.BocekItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class BocekItemRenderer extends GeoItemRenderer { + public BocekItemRenderer() { super(new BocekItemModel()); this.addRenderLayer(new BocekLayer(this)); @@ -78,35 +80,32 @@ public class BocekItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player_ = mc.player; - ItemStack itemStack = null; - if (player_ != null) { - itemStack = player_.getMainHandItem(); - } + Player player = mc.player; + if (player == null) return; + + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; if (name.equals("holo")) { - if (player_ != null) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); } if (name.equals("arrow")) { - bone.setHidden(itemStack != null && itemStack.getOrCreateTag().getInt("arrow_empty") > 0); + bone.setHidden(itemStack.getOrCreateTag().getInt("arrow_empty") > 0); } if (name.equals("jian")) { - bone.setHidden(itemStack != null && itemStack.getOrCreateTag().getInt("max_ammo") == 0); + bone.setHidden(itemStack.getOrCreateTag().getInt("max_ammo") == 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); @@ -114,7 +113,7 @@ public class BocekItemRenderer 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/com/atsuishio/superbwarfare/client/renderer/item/DevotionItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/DevotionItemRenderer.java index a6c3dcf1d..37bc8ea1d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/DevotionItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/DevotionItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.DevotionLayer; import com.atsuishio.superbwarfare.client.model.item.DevotionItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.DevotionItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class DevotionItemRenderer extends GeoItemRenderer { + public DevotionItemRenderer() { super(new DevotionItemModel()); this.addRenderLayer(new DevotionLayer(this)); @@ -79,24 +81,25 @@ public class DevotionItemRenderer extends GeoItemRenderer { } 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 (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("holo")) { - ItemStack itemStack = player.getMainHandItem(); - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + 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")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } + if (this.transformType.firstPerson() && renderingArms) { AbstractClientPlayer localPlayer = mc.player; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock17ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock17ItemRenderer.java index 08c2acbae..93efe88d2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock17ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock17ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.Glock17Layer; import com.atsuishio.superbwarfare.client.model.item.Glock17ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class Glock17ItemRenderer extends GeoItemRenderer { + public Glock17ItemRenderer() { super(new Glock17ItemModel()); this.addRenderLayer(new Glock17Layer(this)); @@ -79,17 +81,18 @@ public class Glock17ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock18ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock18ItemRenderer.java index 360f3b014..dee0eee0b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock18ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Glock18ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.Glock18Layer; import com.atsuishio.superbwarfare.client.model.item.Glock18ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class Glock18ItemRenderer extends GeoItemRenderer { + public Glock18ItemRenderer() { super(new Glock18ItemModel()); this.addRenderLayer(new Glock18Layer(this)); @@ -79,17 +81,18 @@ public class Glock18ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Hk416ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Hk416ItemRenderer.java index 7059dd792..3e0e47dde 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Hk416ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Hk416ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.Hk416Layer; import com.atsuishio.superbwarfare.client.model.item.Hk416ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class Hk416ItemRenderer extends GeoItemRenderer { + public Hk416ItemRenderer() { super(new Hk416ItemModel()); this.addRenderLayer(new Hk416Layer(this)); @@ -81,52 +83,51 @@ public class Hk416ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); - - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); - } - - if (name.equals("Cross3")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 - && (name.equals("hidden"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 - && (name.equals("jing") || name.equals("Barrel") || name.equals("yugu") || name.equals("qiangguan"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (name.equals("flare")) { - 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.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))); - } - } - - ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); } + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); + } + + if (name.equals("Cross3")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 + && (name.equals("hidden"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 + && (name.equals("jing") || name.equals("Barrel") || name.equals("yugu") || name.equals("qiangguan"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (name.equals("flare")) { + 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.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))); + } + } + + ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (this.transformType.firstPerson() && renderingArms) { AbstractClientPlayer localPlayer = mc.player; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java index c31074b57..88936a227 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/HuntingRifleItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.HuntingRifleLayer; import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.HuntingRifleItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class HuntingRifleItemRenderer extends GeoItemRenderer { + public HuntingRifleItemRenderer() { super(new HuntingRifleItemModel()); this.addRenderLayer(new HuntingRifleLayer(this)); @@ -79,17 +81,18 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/JavelinItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/JavelinItemRenderer.java index 57bc2b392..544b39725 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/JavelinItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/JavelinItemRenderer.java @@ -1,13 +1,14 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import com.atsuishio.superbwarfare.client.model.item.JavelinItemModel; +import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.renderer.GeoItemRenderer; public class JavelinItemRenderer extends GeoItemRenderer { + public JavelinItemRenderer() { super(new JavelinItemModel()); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/K98ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/K98ItemRenderer.java index 2b44a8f6d..be1b19197 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/K98ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/K98ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.K98Layer; import com.atsuishio.superbwarfare.client.model.item.K98ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.K98Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class K98ItemRenderer extends GeoItemRenderer { + public K98ItemRenderer() { super(new K98ItemModel()); this.addRenderLayer(new K98Layer(this)); @@ -79,17 +81,18 @@ public class K98ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M1911ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M1911ItemRenderer.java index 0155aee07..52ab2b1c2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M1911ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M1911ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.M1911Layer; import com.atsuishio.superbwarfare.client.model.item.M1911ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class M1911ItemRenderer extends GeoItemRenderer { + public M1911ItemRenderer() { super(new M1911ItemModel()); this.addRenderLayer(new M1911Layer(this)); @@ -79,17 +81,18 @@ public class M1911ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M4ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M4ItemRenderer.java index 93310fd8a..6d73ab995 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M4ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M4ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.M4Layer; import com.atsuishio.superbwarfare.client.model.item.M4ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.M4Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class M4ItemRenderer extends GeoItemRenderer { + public M4ItemRenderer() { super(new M4ItemModel()); this.addRenderLayer(new M4Layer(this)); @@ -81,64 +83,62 @@ public class M4ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); - - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 - || itemStack.getOrCreateTag().getBoolean("ScopeAlt")); - } - - if (name.equals("CrossAlt")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 - || !(itemStack.getOrCreateTag().getBoolean("ScopeAlt"))); - } - - if (name.equals("Cross3")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !itemStack.getOrCreateTag().getBoolean("ScopeAlt") && (name.equals("hidden"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 - && (name.equals("hidden2") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (name.equals("flare")) { - 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.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))); - } - } - - - if (name.equals("Sight")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3); - } - - ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); } + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 + || itemStack.getOrCreateTag().getBoolean("ScopeAlt")); + } + + if (name.equals("CrossAlt")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 + || !(itemStack.getOrCreateTag().getBoolean("ScopeAlt"))); + } + + if (name.equals("Cross3")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !itemStack.getOrCreateTag().getBoolean("ScopeAlt") && (name.equals("hidden"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 + && (name.equals("hidden2") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (name.equals("flare")) { + 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.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))); + } + } + + if (name.equals("Sight")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3); + } + + ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (this.transformType.firstPerson() && renderingArms) { AbstractClientPlayer localPlayer = mc.player; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M60ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M60ItemRenderer.java index 6830c45b2..0120eca3b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M60ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M60ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.M60Layer; import com.atsuishio.superbwarfare.client.model.item.M60ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.M60Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class M60ItemRenderer extends GeoItemRenderer { + public M60ItemRenderer() { super(new M60ItemModel()); this.addRenderLayer(new M60Layer(this)); @@ -79,17 +81,18 @@ public class M60ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M79ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M79ItemRenderer.java index d786e8e9c..5f6192bd7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M79ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M79ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.M79Layer; import com.atsuishio.superbwarfare.client.model.item.M79ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class M79ItemRenderer extends GeoItemRenderer { + public M79ItemRenderer() { super(new M79ItemModel()); this.addRenderLayer(new M79Layer(this)); @@ -79,17 +81,18 @@ public class M79ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M870ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M870ItemRenderer.java index 0b16e3ea6..114119f3c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M870ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M870ItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.M870Layer; import com.atsuishio.superbwarfare.client.model.item.M870ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.shotgun.M870Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class M870ItemRenderer extends GeoItemRenderer { + public M870ItemRenderer() { super(new M870ItemModel()); this.addRenderLayer(new M870Layer(this)); @@ -79,17 +81,18 @@ public class M870ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M98bItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M98bItemRenderer.java index 6d05e0d55..5ade334a4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M98bItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/M98bItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.M98bLayer; import com.atsuishio.superbwarfare.client.model.item.M98bItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.M98bItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class M98bItemRenderer extends GeoItemRenderer { + public M98bItemRenderer() { super(new M98bItemModel()); this.addRenderLayer(new M98bLayer(this)); @@ -79,27 +81,27 @@ public class M98bItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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("scope2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("scope2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - if (name.equals("qiang")) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden")); - } + if (name.equals("qiang")) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden")); } if (this.transformType.firstPerson() && renderingArms) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MarlinItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MarlinItemRenderer.java index ce0ebf982..b33455139 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MarlinItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MarlinItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.MarlinLayer; import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.MarlinItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class MarlinItemRenderer extends GeoItemRenderer { + public MarlinItemRenderer() { super(new MarlinItemModel()); this.addRenderLayer(new MarlinLayer(this)); @@ -79,17 +81,18 @@ public class MarlinItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MinigunItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MinigunItemRenderer.java index 03210fdd5..87288f46d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MinigunItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MinigunItemRenderer.java @@ -1,13 +1,14 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.MinigunHeatLayer; import com.atsuishio.superbwarfare.client.layer.MinigunLayer; import com.atsuishio.superbwarfare.client.model.item.MinigunItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -28,6 +29,7 @@ import java.util.HashSet; import java.util.Set; public class MinigunItemRenderer extends GeoItemRenderer { + public MinigunItemRenderer() { super(new MinigunItemModel()); this.addRenderLayer(new MinigunLayer(this)); @@ -81,16 +83,18 @@ public class MinigunItemRenderer extends GeoItemRenderer { } 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) (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 (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + + 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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mk14ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mk14ItemRenderer.java index 031bf811a..43e8f2c00 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mk14ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Mk14ItemRenderer.java @@ -5,6 +5,7 @@ import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.Mk14Layer; import com.atsuishio.superbwarfare.client.model.item.Mk14ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.Mk14Item; import com.atsuishio.superbwarfare.tools.GunsTool; import com.mojang.blaze3d.vertex.PoseStack; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class Mk14ItemRenderer extends GeoItemRenderer { + public Mk14ItemRenderer() { super(new Mk14ItemModel()); this.addRenderLayer(new Mk14Layer(this)); @@ -46,7 +48,6 @@ public class Mk14ItemRenderer extends GeoItemRenderer { public ItemDisplayContext transformType; protected Mk14Item animatable; private final Set hiddenBones = new HashSet<>(); - private final Set suppressedBones = new HashSet<>(); @Override public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { @@ -82,56 +83,55 @@ public class Mk14ItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); - - if (name.equals("qiaojia")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); - } - - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); - } - - if (name.equals("Cross3")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 - && (name.equals("hidden"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 - && (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (name.equals("flare")) { - 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 (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + if (name.equals("qiaojia")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); } + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); + } + + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); + } + + if (name.equals("Cross3")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 + && (name.equals("hidden"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 + && (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (name.equals("flare")) { + 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 localPlayer = mc.player; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java index 6d6191300..ec7f89f6e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.item.gun.sniper.MosinNagantItem; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.MosinNagantLayer; import com.atsuishio.superbwarfare.client.model.item.MosinNagantItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.item.gun.sniper.MosinNagantItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class MosinNagantItemRenderer extends GeoItemRenderer { + public MosinNagantItemRenderer() { super(new MosinNagantItemModel()); this.addRenderLayer(new MosinNagantLayer(this)); @@ -79,26 +81,26 @@ public class MosinNagantItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("rex")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("rex")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - if (name.equals("jia") || name.equals("b1") || name.equals("b2")) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden")); - } + 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 (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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Ntw20Renderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Ntw20Renderer.java index 1df84e72c..9c8fdfca6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Ntw20Renderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Ntw20Renderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.Ntw20Layer; import com.atsuishio.superbwarfare.client.model.item.Ntw20Model; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.Ntw20Item; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class Ntw20Renderer extends GeoItemRenderer { + public Ntw20Renderer() { super(new Ntw20Model()); this.addRenderLayer(new Ntw20Layer(this)); @@ -44,7 +46,6 @@ public class Ntw20Renderer extends GeoItemRenderer { public ItemDisplayContext transformType; protected Ntw20Item animatable; private final Set hiddenBones = new HashSet<>(); - private final Set suppressedBones = new HashSet<>(); @Override public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { @@ -80,26 +81,26 @@ public class Ntw20Renderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("rex")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("rex")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - if (name.equals("jing") || name.equals("action") || name.equals("body") || name.equals("base")) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } + if (name.equals("jing") || name.equals("action") || name.equals("body") || name.equals("base")) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java index 4f6c153f6..1a50f4d41 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/Qbz95ItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.Qbz95Layer; import com.atsuishio.superbwarfare.client.model.item.Qbz95ItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.Qbz95Item; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class Qbz95ItemRenderer extends GeoItemRenderer { + public Qbz95ItemRenderer() { super(new Qbz95ItemModel()); this.addRenderLayer(new Qbz95Layer(this)); @@ -80,66 +82,64 @@ public class Qbz95ItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); - - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } - - if (name.equals("tiba")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 0); - } - - if (name.equals("longbow")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); - } - - if (name.equals("under_rail")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); - } - - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); - } - - if (name.equals("Cross3")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 - && (name.equals("hidden"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 - && (name.equals("hidden2") || name.equals("jimiao2"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (name.equals("flare")) { - 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.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))); - } - } - - ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); } + if (name.equals("tiba")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 0); + } + + if (name.equals("longbow")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); + } + + if (name.equals("under_rail")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); + } + + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); + } + + if (name.equals("Cross3")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 + && (name.equals("hidden"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3 + && (name.equals("hidden2") || name.equals("jimiao2"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (name.equals("flare")) { + 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.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))); + } + } + + ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (this.transformType.firstPerson() && renderingArms) { AbstractClientPlayer localPlayer = mc.player; diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RocketItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RocketItemRenderer.java index c77a5e36e..6f36d1e9b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RocketItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RocketItemRenderer.java @@ -1,11 +1,12 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.item.common.ammo.Rocket; import com.atsuishio.superbwarfare.client.model.item.RocketItemModel; +import com.atsuishio.superbwarfare.item.common.ammo.Rocket; import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.renderer.GeoItemRenderer; public class RocketItemRenderer extends GeoItemRenderer { + public RocketItemRenderer() { super(new RocketItemModel()); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpgItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpgItemRenderer.java index c1043f0e5..1e1ae01fe 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpgItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpgItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.RpgLayer; import com.atsuishio.superbwarfare.client.model.item.RpgItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class RpgItemRenderer extends GeoItemRenderer { + public RpgItemRenderer() { super(new RpgItemModel()); this.addRenderLayer(new RpgLayer(this)); @@ -79,23 +81,22 @@ public class RpgItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - ItemStack itemStack = player.getMainHandItem(); + if (name.equals("Rockets")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("empty")); + } - if (name.equals("Rockets")) { - bone.setHidden(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 (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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpkItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpkItemRenderer.java index 32d479d57..24b69c0bb 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpkItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/RpkItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.RpkLayer; import com.atsuishio.superbwarfare.client.model.item.RpkItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.machinegun.RpkItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class RpkItemRenderer extends GeoItemRenderer { + public RpkItemRenderer() { super(new RpkItemModel()); this.addRenderLayer(new RpkLayer(this)); @@ -79,22 +81,22 @@ public class RpkItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("holo")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java index 62013accd..4704c850c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.SentinelLayer; import com.atsuishio.superbwarfare.client.model.item.SentinelItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; public class SentinelItemRenderer extends GeoItemRenderer { + public SentinelItemRenderer() { super(new SentinelItemModel()); this.addRenderLayer(new SentinelLayer(this)); @@ -80,34 +82,33 @@ public class SentinelItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - 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("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")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - AtomicBoolean flag = new AtomicBoolean(false); - itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( - iEnergyStorage -> flag.set(iEnergyStorage.getEnergyStored() > 0) - ); + AtomicBoolean flag = new AtomicBoolean(false); + itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( + iEnergyStorage -> flag.set(iEnergyStorage.getEnergyStored() > 0) + ); - if (name.equals("charge")) { - bone.setHidden(!flag.get()); - } + if (name.equals("charge")) { + bone.setHidden(!flag.get()); } if (this.transformType.firstPerson() && renderingArms) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java index d1dd643d0..30eb3426f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.SksLayer; import com.atsuishio.superbwarfare.client.model.item.SksItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.rifle.SksItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class SksItemRenderer extends GeoItemRenderer { + public SksItemRenderer() { super(new SksItemModel()); this.addRenderLayer(new SksLayer(this)); @@ -79,22 +81,22 @@ public class SksItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("holo")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - 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("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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java index a76109ed9..3daaa1dba 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java @@ -1,12 +1,13 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.layer.SvdLayer; import com.atsuishio.superbwarfare.client.model.item.SvdItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.sniper.SvdItem; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -27,6 +28,7 @@ import java.util.HashSet; import java.util.Set; public class SvdItemRenderer extends GeoItemRenderer { + public SvdItemRenderer() { super(new SvdItemModel()); this.addRenderLayer(new SvdLayer(this)); @@ -44,7 +46,6 @@ public class SvdItemRenderer extends GeoItemRenderer { public ItemDisplayContext transformType; protected SvdItem animatable; private final Set hiddenBones = new HashSet<>(); - private final Set suppressedBones = new HashSet<>(); @Override public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { @@ -80,34 +81,34 @@ public class SvdItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("holo")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } - if (name.equals("glass")) { + if (name.equals("glass")) { + bone.setHidden(true); + } + + if (name.equals("handguard")) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } + + if (name.equals("holo")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); + } + + if (name.equals("flare")) { + if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) { bone.setHidden(true); - } - - if (name.equals("handguard")) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } - - if (name.equals("holo")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom); - } - - 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))); - } + } 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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java index 67b4df356..9bfc70c6d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TaserItemRenderer.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.client.renderer.item; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.model.item.TaserItemModel; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.special.TaserItem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; @@ -13,6 +14,7 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.player.PlayerRenderer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import software.bernie.geckolib.cache.object.BakedGeoModel; @@ -24,6 +26,7 @@ import java.util.HashSet; import java.util.Set; public class TaserItemRenderer extends GeoItemRenderer { + public TaserItemRenderer() { super(new TaserItemModel()); } @@ -74,14 +77,19 @@ public class TaserItemRenderer extends GeoItemRenderer { bone.setHidden(this.hiddenBones.contains(name)); } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; + Player player = mc.player; + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (player == null) { + if (this.transformType.firstPerson() && renderingArms) { + AbstractClientPlayer localPlayer = mc.player; + + 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); @@ -89,7 +97,7 @@ public class TaserItemRenderer 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/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java index 8996b924d..2ddf21bd6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.TracheliumLayer; import com.atsuishio.superbwarfare.client.model.item.TracheliumItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class TracheliumItemRenderer extends GeoItemRenderer { + public TracheliumItemRenderer() { super(new TracheliumItemModel()); this.addRenderLayer(new TracheliumLayer(this)); @@ -81,60 +83,60 @@ public class TracheliumItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; - if (name.equals("humu")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0 && GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); - } + if (name.equals("humu")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0 && GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); + } - if (name.equals("qianzhunxing1")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) > 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) > 0); - } + if (name.equals("qianzhunxing1")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) > 0 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) > 0); + } - if (name.equals("railup")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); - } + if (name.equals("railup")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0); + } - if (name.equals("raildown")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); - } + if (name.equals("raildown")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.GRIP) == 0); + } - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); + } - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 - || itemStack.getOrCreateTag().getBoolean("ScopeAlt")); - } + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 + || itemStack.getOrCreateTag().getBoolean("ScopeAlt")); + } - if (name.equals("CrossAlt")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 - || !(itemStack.getOrCreateTag().getBoolean("ScopeAlt"))); - } + if (name.equals("CrossAlt")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2 + || !(itemStack.getOrCreateTag().getBoolean("ScopeAlt"))); + } - if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !itemStack.getOrCreateTag().getBoolean("ScopeAlt") && (name.equals("hidden"))) { - bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); - } + if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !itemStack.getOrCreateTag().getBoolean("ScopeAlt") && (name.equals("hidden"))) { + bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom); + } - ItemModelHelper.handleGunAttachments(bone, itemStack, name); + ItemModelHelper.handleGunAttachments(bone, itemStack, name); - if (name.equals("flare")) { - 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.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))); - } + if (name.equals("flare")) { + 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.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))); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java index 5c55da594..0f212b33b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java @@ -1,14 +1,15 @@ package com.atsuishio.superbwarfare.client.renderer.item; -import com.atsuishio.superbwarfare.tools.GunsTool; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.layer.VectorLayer; import com.atsuishio.superbwarfare.client.model.item.VectorItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; +import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.gun.smg.VectorItem; +import com.atsuishio.superbwarfare.tools.GunsTool; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; @@ -29,6 +30,7 @@ import java.util.HashSet; import java.util.Set; public class VectorItemRenderer extends GeoItemRenderer { + public VectorItemRenderer() { super(new VectorItemModel()); this.addRenderLayer(new VectorLayer(this)); @@ -81,40 +83,39 @@ public class VectorItemRenderer extends GeoItemRenderer { } Player player = mc.player; - if (player != null) { - ItemStack itemStack = player.getMainHandItem(); - - if (name.equals("Cross1")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") - || !ClientEventHandler.zoom - || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); - } - - if (name.equals("tuoxin")) { - bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.STOCK) == 0); - } - - if (name.equals("flare")) { - 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.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))); - } - } - - ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (player == null) return; + ItemStack itemStack = player.getMainHandItem(); + if (!itemStack.is(ModTags.Items.GUN)) return; + if (name.equals("Cross1")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1); } + if (name.equals("Cross2")) { + bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") + || !ClientEventHandler.zoom + || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2); + } + + if (name.equals("tuoxin")) { + bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.STOCK) == 0); + } + + if (name.equals("flare")) { + 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.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))); + } + } + + ItemModelHelper.handleGunAttachments(bone, itemStack, name); + if (this.transformType.firstPerson() && renderingArms) { AbstractClientPlayer localPlayer = mc.player;