From da05fdecc9cdaa066afc7c2857593dfb2164f178 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 18 May 2025 18:36:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86renderer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../renderer/gun/Hk416ItemRenderer.java | 49 +----------------- .../gun/HomemadeShotgunItemRenderer.java | 50 +------------------ .../renderer/gun/InsidiousItemRenderer.java | 50 +------------------ .../renderer/gun/JavelinItemRenderer.java | 17 +------ .../client/renderer/gun/M60ItemRenderer.java | 50 +------------------ .../client/renderer/gun/M79ItemRenderer.java | 50 +------------------ .../client/renderer/gun/M870ItemRenderer.java | 50 +------------------ .../client/renderer/gun/M98bItemRenderer.java | 50 +------------------ .../item/gun/launcher/JavelinItem.java | 6 --- .../item/gun/launcher/M79Item.java | 6 --- .../item/gun/machinegun/M60Item.java | 6 --- .../item/gun/rifle/Hk416Item.java | 6 --- .../item/gun/rifle/InsidiousItem.java | 6 --- .../item/gun/shotgun/HomemadeShotgunItem.java | 6 --- .../item/gun/shotgun/M870Item.java | 6 --- .../item/gun/sniper/M98bItem.java | 6 --- 16 files changed, 16 insertions(+), 398 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Hk416ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Hk416ItemRenderer.java index 293ebe413..3800ee663 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Hk416ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/Hk416ItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.model.item.Hk416ItemModel; import com.atsuishio.superbwarfare.data.gun.GunData; @@ -13,54 +14,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; +public class Hk416ItemRenderer extends CustomGunRenderer { -public class Hk416ItemRenderer extends GeoItemRenderer { public Hk416ItemRenderer() { super(new Hk416ItemModel()); } - @Override - public RenderType getRenderType(Hk416Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected Hk416Item animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, Hk416Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, Hk416Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -69,8 +31,6 @@ public class Hk416ItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -108,9 +68,4 @@ public class Hk416ItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(Hk416Item instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/HomemadeShotgunItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/HomemadeShotgunItemRenderer.java index a0da4d66a..8ce3cfff1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/HomemadeShotgunItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/HomemadeShotgunItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.model.item.HomemadeShotgunItemModel; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.shotgun.HomemadeShotgunItem; @@ -9,55 +10,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; - -public class HomemadeShotgunItemRenderer extends GeoItemRenderer { +public class HomemadeShotgunItemRenderer extends CustomGunRenderer { public HomemadeShotgunItemRenderer() { super(new HomemadeShotgunItemModel()); } - @Override - public RenderType getRenderType(HomemadeShotgunItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected HomemadeShotgunItem animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, HomemadeShotgunItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, HomemadeShotgunItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -66,8 +27,6 @@ public class HomemadeShotgunItemRenderer extends GeoItemRenderer { +public class InsidiousItemRenderer extends CustomGunRenderer { public InsidiousItemRenderer() { super(new InsidiousItemModel()); } - @Override - public RenderType getRenderType(InsidiousItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected InsidiousItem animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, InsidiousItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, InsidiousItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -66,8 +27,6 @@ public class InsidiousItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -84,9 +43,4 @@ public class InsidiousItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(InsidiousItem instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/JavelinItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/JavelinItemRenderer.java index cdda8f757..45bdf49ba 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/JavelinItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/JavelinItemRenderer.java @@ -1,25 +1,12 @@ package com.atsuishio.superbwarfare.client.renderer.gun; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; 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 class JavelinItemRenderer extends CustomGunRenderer { public JavelinItemRenderer() { super(new JavelinItemModel()); } - - @Override - public RenderType getRenderType(JavelinItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - @Override - public ResourceLocation getTextureLocation(JavelinItem instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M60ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M60ItemRenderer.java index ecda5fc8e..1c1236cf3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M60ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M60ItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.model.item.M60ItemModel; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.machinegun.M60Item; @@ -9,55 +10,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; - -public class M60ItemRenderer extends GeoItemRenderer { +public class M60ItemRenderer extends CustomGunRenderer { public M60ItemRenderer() { super(new M60ItemModel()); } - @Override - public RenderType getRenderType(M60Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected M60Item animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, M60Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, M60Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -66,8 +27,6 @@ public class M60ItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -82,9 +41,4 @@ public class M60ItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(M60Item instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M79ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M79ItemRenderer.java index a9236bb90..61be54d4e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M79ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M79ItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.model.item.M79ItemModel; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; @@ -9,55 +10,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; - -public class M79ItemRenderer extends GeoItemRenderer { +public class M79ItemRenderer extends CustomGunRenderer { public M79ItemRenderer() { super(new M79ItemModel()); } - @Override - public RenderType getRenderType(M79Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected M79Item animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, M79Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, M79Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -66,8 +27,6 @@ public class M79ItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -82,9 +41,4 @@ public class M79ItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(M79Item instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M870ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M870ItemRenderer.java index 0aa226e3c..f7db60f80 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M870ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M870ItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.model.item.M870ItemModel; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.shotgun.M870Item; @@ -9,55 +10,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; - -public class M870ItemRenderer extends GeoItemRenderer { +public class M870ItemRenderer extends CustomGunRenderer { public M870ItemRenderer() { super(new M870ItemModel()); } - @Override - public RenderType getRenderType(M870Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected M870Item animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, M870Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, M870Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -66,8 +27,6 @@ public class M870ItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -82,9 +41,4 @@ public class M870ItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(M870Item instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M98bItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M98bItemRenderer.java index 563b816f9..d9cc7d8e5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M98bItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/gun/M98bItemRenderer.java @@ -1,6 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.gun; import com.atsuishio.superbwarfare.client.AnimationHelper; +import com.atsuishio.superbwarfare.client.CustomGunRenderer; import com.atsuishio.superbwarfare.client.model.item.M98bItemModel; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.item.gun.GunItem; @@ -10,55 +11,15 @@ import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; -import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.GeoBone; -import software.bernie.geckolib.renderer.GeoItemRenderer; -import java.util.HashSet; -import java.util.Set; - -public class M98bItemRenderer extends GeoItemRenderer { +public class M98bItemRenderer extends CustomGunRenderer { public M98bItemRenderer() { super(new M98bItemModel()); } - @Override - public RenderType getRenderType(M98bItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected M98bItem animatable; - private final Set hiddenBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, M98bItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, int color) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, color); - if (this.renderArms) { - this.renderArms = false; - } - } - @Override public void renderRecursively(PoseStack stack, M98bItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { Minecraft mc = Minecraft.getInstance(); @@ -67,8 +28,6 @@ public class M98bItemRenderer extends GeoItemRenderer { if (name.equals("Lefthand") || name.equals("Righthand")) { bone.setHidden(true); renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); } var player = mc.player; @@ -91,9 +50,4 @@ public class M98bItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - @Override - public ResourceLocation getTextureLocation(M98bItem instance) { - return super.getTextureLocation(instance); - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java index e301c5d5d..b61cbc022 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java @@ -31,7 +31,6 @@ import net.minecraft.world.entity.animal.Pig; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; @@ -55,7 +54,6 @@ import java.util.function.Supplier; public class JavelinItem extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public JavelinItem() { super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary())); @@ -66,10 +64,6 @@ public class JavelinItem extends GunItem implements GeoItem { return JavelinItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java index 10e87e373..f15d00a67 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java @@ -17,7 +17,6 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import org.jetbrains.annotations.NotNull; @@ -34,7 +33,6 @@ import java.util.function.Supplier; public class M79Item extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; @Override public Set getReloadSound() { @@ -50,10 +48,6 @@ public class M79Item extends GunItem implements GeoItem { return M79ItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java index 075751092..08c0a4beb 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java @@ -13,7 +13,6 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.Level; @@ -32,7 +31,6 @@ import java.util.function.Supplier; public class M60Item extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public M60Item() { super(new Properties().stacksTo(1).rarity(Rarity.EPIC)); @@ -43,10 +41,6 @@ public class M60Item extends GunItem implements GeoItem { return M60ItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java index 609efb626..5a647cb20 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Hk416Item.java @@ -15,7 +15,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import software.bernie.geckolib.animatable.GeoItem; @@ -30,7 +29,6 @@ import java.util.function.Supplier; public class Hk416Item extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public Hk416Item() { super(new Properties().stacksTo(1).rarity(Rarity.RARE)); @@ -41,10 +39,6 @@ public class Hk416Item extends GunItem implements GeoItem { return Hk416ItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java index 2d6951ec3..783266b45 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java @@ -11,7 +11,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import software.bernie.geckolib.animatable.GeoItem; @@ -26,7 +25,6 @@ import java.util.function.Supplier; public class InsidiousItem extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public InsidiousItem() { super(new Properties().stacksTo(1).rarity(Rarity.EPIC)); @@ -37,10 +35,6 @@ public class InsidiousItem extends GunItem implements GeoItem { return InsidiousItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java index a7c130b1b..3febb4a62 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java @@ -19,7 +19,6 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import org.jetbrains.annotations.NotNull; @@ -36,7 +35,6 @@ import java.util.function.Supplier; public class HomemadeShotgunItem extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; @Override public Set getReloadSound() { @@ -69,10 +67,6 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { return HomemadeShotgunItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState idlePredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java index 4548c5b36..e0e833dd3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java @@ -13,7 +13,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import org.jetbrains.annotations.NotNull; @@ -30,7 +29,6 @@ import java.util.function.Supplier; public class M870Item extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public M870Item() { super(new Properties().stacksTo(1).rarity(Rarity.RARE)); @@ -41,10 +39,6 @@ public class M870Item extends GunItem implements GeoItem { return M870ItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java index be877d551..f4fd89096 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java @@ -11,7 +11,6 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import software.bernie.geckolib.animatable.GeoItem; @@ -26,7 +25,6 @@ import java.util.function.Supplier; public class M98bItem extends GunItem implements GeoItem { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public static ItemDisplayContext transformType; public M98bItem() { super(new Properties().stacksTo(1).rarity(Rarity.EPIC)); @@ -37,10 +35,6 @@ public class M98bItem extends GunItem implements GeoItem { return M98bItemRenderer::new; } - public void getTransformType(ItemDisplayContext type) { - transformType = type; - } - private PlayState fireAnimPredicate(AnimationState event) { LocalPlayer player = Minecraft.getInstance().player; if (player == null) return PlayState.STOP;