清理部分冗余代码,提取渲染方法

This commit is contained in:
17146 2025-05-18 16:50:40 +08:00 committed by Light_Quanta
parent 8fcfae98b4
commit 9978935a4a
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
23 changed files with 39 additions and 448 deletions

View file

@ -6,6 +6,8 @@ import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.Nullable;
import org.joml.Matrix4f;
import software.bernie.geckolib.animatable.GeoAnimatable;
@ -18,10 +20,34 @@ import software.bernie.geckolib.util.RenderUtil;
public class CustomRenderer<T extends Item & GeoAnimatable> extends GeoItemRenderer<T> {
protected T animatable;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
public CustomRenderer(GeoModel<T> model) {
super(model);
}
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, T 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 defaultRender(PoseStack poseStack, T animatable, MultiBufferSource bufferSource, @Nullable RenderType renderType, @Nullable VertexConsumer buffer, float yaw, float partialTick, int packedLight) {
poseStack.pushPose();

View file

@ -16,16 +16,11 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FastColor;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import org.joml.Matrix4f;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.util.RenderUtil;
import java.util.HashSet;
import java.util.Set;
public class BocekItemRenderer extends CustomRenderer<BocekItem> {
public BocekItemRenderer() {
@ -38,12 +33,6 @@ public class BocekItemRenderer extends CustomRenderer<BocekItem> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected BocekItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void illuminatedRender(PoseStack poseStack, BocekItem animatable, GeoBone bone, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight,
@ -73,26 +62,6 @@ public class BocekItemRenderer extends CustomRenderer<BocekItem> {
poseStack.popPose();
}
@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, BocekItem 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, BocekItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
@ -101,8 +70,6 @@ public class BocekItemRenderer extends CustomRenderer<BocekItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> {
public Glock17ItemRenderer() {
@ -31,32 +26,6 @@ public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Glock17Item animatable;
private final Set<String> 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, Glock17Item 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, Glock17Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> {
public Glock18ItemRenderer() {
@ -31,32 +26,6 @@ public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Glock18Item animatable;
private final Set<String> 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, Glock18Item 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, Glock18Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
public HuntingRifleItemRenderer() {
@ -31,32 +26,6 @@ public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected HuntingRifleItem animatable;
private final Set<String> 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, HuntingRifleItem 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, HuntingRifleItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class K98ItemRenderer extends CustomRenderer<K98Item> {
public K98ItemRenderer() {
@ -31,32 +26,6 @@ public class K98ItemRenderer extends CustomRenderer<K98Item> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected K98Item animatable;
private final Set<String> 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, K98Item 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, K98Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class K98ItemRenderer extends CustomRenderer<K98Item> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -16,14 +16,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class M4ItemRenderer extends CustomRenderer<M4Item> {
public M4ItemRenderer() {
@ -36,32 +31,6 @@ public class M4ItemRenderer extends CustomRenderer<M4Item> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected M4Item animatable;
private final Set<String> 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, M4Item 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, M4Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -71,8 +40,6 @@ public class M4ItemRenderer extends CustomRenderer<M4Item> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
public MarlinItemRenderer() {
@ -31,32 +26,6 @@ public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected MarlinItem animatable;
private final Set<String> 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, MarlinItem 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, MarlinItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -12,14 +12,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
public MinigunItemRenderer() {
@ -32,32 +27,6 @@ public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected MinigunItem animatable;
private final Set<String> 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, MinigunItem 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, MinigunItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -67,8 +36,6 @@ public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,14 +11,9 @@ 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 java.util.HashSet;
import java.util.Set;
public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
public Mp443ItemRenderer() {
@ -31,32 +26,6 @@ public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Mp443Item animatable;
private final Set<String> 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, Mp443Item 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, Mp443Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -66,8 +35,6 @@ public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,20 +11,13 @@ 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 java.util.HashSet;
import java.util.Set;
public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclysm> {
public SecondaryCataclysmRenderer() {
super(new SecondaryCataclysmModel());
// TODO layer
// this.addRenderLayer(new SecondaryCataclysmLightLayer(this));
}
@Override
@ -33,32 +26,6 @@ public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclys
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected SecondaryCataclysm animatable;
private final Set<String> 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, SecondaryCataclysm 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, SecondaryCataclysm animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -68,8 +35,6 @@ public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclys
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -11,15 +11,10 @@ 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 net.neoforged.neoforge.capabilities.Capabilities;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
public SentinelItemRenderer() {
@ -32,32 +27,6 @@ public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected SentinelItem animatable;
private final Set<String> 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, SentinelItem 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, SentinelItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
@ -67,8 +36,6 @@ public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
var player = mc.player;

View file

@ -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;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Glock17Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Glock17Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -39,10 +37,6 @@ public class Glock17Item extends GunItem implements GeoItem {
return Glock17ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Glock17Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -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;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Glock18Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Glock18Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -39,10 +37,6 @@ public class Glock18Item extends GunItem implements GeoItem {
return Glock18ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Glock18Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -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;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Mp443Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Mp443Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -39,10 +37,6 @@ public class Mp443Item extends GunItem implements GeoItem {
return Mp443ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Mp443Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.item.gun.launcher;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.item.SecondaryCataclysmRenderer;
import com.atsuishio.superbwarfare.client.tooltip.component.SecondaryCataclysmImageComponent;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
@ -10,7 +11,6 @@ import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.perk.AmmoPerk;
import com.atsuishio.superbwarfare.perk.Perk;
import com.atsuishio.superbwarfare.tools.ParticleTool;
@ -26,7 +26,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
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.component.ItemAttributeModifiers;
import net.minecraft.world.level.Level;
@ -45,7 +44,6 @@ import java.util.function.Supplier;
public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public SecondaryCataclysm() {
super(new Properties().stacksTo(1).fireResistant().rarity(ModEnumExtensions.getLegendary()));
@ -73,10 +71,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag
return SecondaryCataclysmRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState reloadAnimPredicate(AnimationState<SecondaryCataclysm> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -10,7 +10,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
@ -23,7 +22,6 @@ import java.util.function.Supplier;
public class MinigunItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public MinigunItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -39,10 +37,6 @@ public class MinigunItem extends GunItem implements GeoItem {
return MinigunItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<MinigunItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -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 M4Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public M4Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -41,10 +39,6 @@ public class M4Item extends GunItem implements GeoItem {
return M4ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<M4Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -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 MarlinItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public MarlinItem() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -37,10 +35,6 @@ public class MarlinItem extends GunItem implements GeoItem {
return MarlinItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<MarlinItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -78,9 +72,7 @@ public class MarlinItem extends GunItem implements GeoItem {
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
var data = GunData.from(stack);
if (transformType != null && transformType.firstPerson()) {
if (player.isSprinting()
&& player.onGround()
if (player.isSprinting() && player.onGround()
&& ClientEventHandler.cantSprint == 0
&& ClientEventHandler.drawTime < 0.01
&& !data.reloading()) {
@ -94,8 +86,6 @@ public class MarlinItem extends GunItem implements GeoItem {
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.marlin.idle"));
return PlayState.CONTINUE;
}
return PlayState.STOP;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {

View file

@ -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 HuntingRifleItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public HuntingRifleItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -42,10 +40,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
return HuntingRifleItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<HuntingRifleItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -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 K98Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public K98Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -37,10 +35,6 @@ public class K98Item extends GunItem implements GeoItem {
return K98ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<K98Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -3,12 +3,12 @@ package com.atsuishio.superbwarfare.item.gun.sniper;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.item.SentinelItemRenderer;
import com.atsuishio.superbwarfare.client.tooltip.component.SentinelImageComponent;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.data.gun.GunData;
import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
@ -17,7 +17,6 @@ import net.minecraft.world.entity.Entity;
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.Level;
import net.neoforged.neoforge.capabilities.Capabilities;
@ -35,7 +34,6 @@ import java.util.function.Supplier;
public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public SentinelItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -64,10 +62,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
return SentinelItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<SentinelItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;

View file

@ -23,7 +23,6 @@ import net.minecraft.world.entity.Entity;
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 net.minecraft.world.level.Level;
@ -42,7 +41,6 @@ import java.util.function.Supplier;
public class BocekItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public BocekItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -53,10 +51,6 @@ public class BocekItem extends GunItem implements GeoItem {
return BocekItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<BocekItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;