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

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.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.world.item.Item; 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.jetbrains.annotations.Nullable;
import org.joml.Matrix4f; import org.joml.Matrix4f;
import software.bernie.geckolib.animatable.GeoAnimatable; 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> { 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) { public CustomRenderer(GeoModel<T> model) {
super(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 @Override
public void defaultRender(PoseStack poseStack, T animatable, MultiBufferSource bufferSource, @Nullable RenderType renderType, @Nullable VertexConsumer buffer, float yaw, float partialTick, int packedLight) { public void defaultRender(PoseStack poseStack, T animatable, MultiBufferSource bufferSource, @Nullable RenderType renderType, @Nullable VertexConsumer buffer, float yaw, float partialTick, int packedLight) {
poseStack.pushPose(); poseStack.pushPose();

View file

@ -16,16 +16,11 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FastColor; import net.minecraft.util.FastColor;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import org.joml.Matrix4f; import org.joml.Matrix4f;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.util.RenderUtil; import software.bernie.geckolib.util.RenderUtil;
import java.util.HashSet;
import java.util.Set;
public class BocekItemRenderer extends CustomRenderer<BocekItem> { public class BocekItemRenderer extends CustomRenderer<BocekItem> {
public BocekItemRenderer() { public BocekItemRenderer() {
@ -38,12 +33,6 @@ public class BocekItemRenderer extends CustomRenderer<BocekItem> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @Override
public void illuminatedRender(PoseStack poseStack, BocekItem animatable, GeoBone bone, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, 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(); 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 @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) { 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(); Minecraft mc = Minecraft.getInstance();
@ -101,8 +70,6 @@ public class BocekItemRenderer extends CustomRenderer<BocekItem> {
if (name.equals("Lefthand") || name.equals("Righthand")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> { public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> {
public Glock17ItemRenderer() { public Glock17ItemRenderer() {
@ -31,32 +26,6 @@ public class Glock17ItemRenderer extends CustomRenderer<Glock17Item> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> { public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> {
public Glock18ItemRenderer() { public Glock18ItemRenderer() {
@ -31,32 +26,6 @@ public class Glock18ItemRenderer extends CustomRenderer<Glock18Item> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> { public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
public HuntingRifleItemRenderer() { public HuntingRifleItemRenderer() {
@ -31,32 +26,6 @@ public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class K98ItemRenderer extends CustomRenderer<K98Item> { public class K98ItemRenderer extends CustomRenderer<K98Item> {
public K98ItemRenderer() { public K98ItemRenderer() {
@ -31,32 +26,6 @@ public class K98ItemRenderer extends CustomRenderer<K98Item> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class M4ItemRenderer extends CustomRenderer<M4Item> { public class M4ItemRenderer extends CustomRenderer<M4Item> {
public M4ItemRenderer() { public M4ItemRenderer() {
@ -36,32 +31,6 @@ public class M4ItemRenderer extends CustomRenderer<M4Item> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class MarlinItemRenderer extends CustomRenderer<MarlinItem> { public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
public MarlinItemRenderer() { public MarlinItemRenderer() {
@ -31,32 +26,6 @@ public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class MinigunItemRenderer extends CustomRenderer<MinigunItem> { public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
public MinigunItemRenderer() { public MinigunItemRenderer() {
@ -32,32 +27,6 @@ public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> { public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
public Mp443ItemRenderer() { public Mp443ItemRenderer() {
@ -31,32 +26,6 @@ public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclysm> { public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclysm> {
public SecondaryCataclysmRenderer() { public SecondaryCataclysmRenderer() {
super(new SecondaryCataclysmModel()); super(new SecondaryCataclysmModel());
// TODO layer
// this.addRenderLayer(new SecondaryCataclysmLightLayer(this));
} }
@Override @Override
@ -33,32 +26,6 @@ public class SecondaryCataclysmRenderer extends CustomRenderer<SecondaryCataclys
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; 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.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.capabilities.Capabilities;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone; import software.bernie.geckolib.cache.object.GeoBone;
import java.util.HashSet;
import java.util.Set;
public class SentinelItemRenderer extends CustomRenderer<SentinelItem> { public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
public SentinelItemRenderer() { public SentinelItemRenderer() {
@ -32,32 +27,6 @@ public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
} }
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; 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 @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) { 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")) { if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = true; renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
} }
var player = mc.player; var player = mc.player;

View file

@ -11,7 +11,6 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Glock17Item extends GunItem implements GeoItem { public class Glock17Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Glock17Item() { public Glock17Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -39,10 +37,6 @@ public class Glock17Item extends GunItem implements GeoItem {
return Glock17ItemRenderer::new; return Glock17ItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Glock17Item> event) { private PlayState fireAnimPredicate(AnimationState<Glock17Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Glock18Item extends GunItem implements GeoItem { public class Glock18Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Glock18Item() { public Glock18Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE)); super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -39,10 +37,6 @@ public class Glock18Item extends GunItem implements GeoItem {
return Glock18ItemRenderer::new; return Glock18ItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Glock18Item> event) { private PlayState fireAnimPredicate(AnimationState<Glock18Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -28,7 +27,6 @@ import java.util.function.Supplier;
public class Mp443Item extends GunItem implements GeoItem { public class Mp443Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public Mp443Item() { public Mp443Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -39,10 +37,6 @@ public class Mp443Item extends GunItem implements GeoItem {
return Mp443ItemRenderer::new; return Mp443ItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<Mp443Item> event) { private PlayState fireAnimPredicate(AnimationState<Mp443Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.Mod;
import com.atsuishio.superbwarfare.client.renderer.item.SecondaryCataclysmRenderer; import com.atsuishio.superbwarfare.client.renderer.item.SecondaryCataclysmRenderer;
import com.atsuishio.superbwarfare.client.tooltip.component.SecondaryCataclysmImageComponent; 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.entity.projectile.GunGrenadeEntity;
import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions; 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.init.ModSounds;
import com.atsuishio.superbwarfare.item.EnergyStorageItem; import com.atsuishio.superbwarfare.item.EnergyStorageItem;
import com.atsuishio.superbwarfare.item.gun.GunItem; 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.AmmoPerk;
import com.atsuishio.superbwarfare.perk.Perk; import com.atsuishio.superbwarfare.perk.Perk;
import com.atsuishio.superbwarfare.tools.ParticleTool; 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.entity.player.Player;
import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.inventory.tooltip.TooltipComponent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.item.component.ItemAttributeModifiers;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@ -45,7 +44,6 @@ import java.util.function.Supplier;
public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorageItem { public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public SecondaryCataclysm() { public SecondaryCataclysm() {
super(new Properties().stacksTo(1).fireResistant().rarity(ModEnumExtensions.getLegendary())); super(new Properties().stacksTo(1).fireResistant().rarity(ModEnumExtensions.getLegendary()));
@ -73,10 +71,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag
return SecondaryCataclysmRenderer::new; return SecondaryCataclysmRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState reloadAnimPredicate(AnimationState<SecondaryCataclysm> event) { private PlayState reloadAnimPredicate(AnimationState<SecondaryCataclysm> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
@ -23,7 +22,6 @@ import java.util.function.Supplier;
public class MinigunItem extends GunItem implements GeoItem { public class MinigunItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public MinigunItem() { public MinigunItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary())); super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -39,10 +37,6 @@ public class MinigunItem extends GunItem implements GeoItem {
return MinigunItemRenderer::new; return MinigunItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<MinigunItem> event) { private PlayState idlePredicate(AnimationState<MinigunItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -30,7 +29,6 @@ import java.util.function.Supplier;
public class M4Item extends GunItem implements GeoItem { public class M4Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public M4Item() { public M4Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE)); super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -41,10 +39,6 @@ public class M4Item extends GunItem implements GeoItem {
return M4ItemRenderer::new; return M4ItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<M4Item> event) { private PlayState idlePredicate(AnimationState<M4Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -26,7 +25,6 @@ import java.util.function.Supplier;
public class MarlinItem extends GunItem implements GeoItem { public class MarlinItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public MarlinItem() { public MarlinItem() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -37,10 +35,6 @@ public class MarlinItem extends GunItem implements GeoItem {
return MarlinItemRenderer::new; return MarlinItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<MarlinItem> event) { private PlayState fireAnimPredicate(AnimationState<MarlinItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
@ -78,23 +72,19 @@ public class MarlinItem extends GunItem implements GeoItem {
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP; if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
var data = GunData.from(stack); var data = GunData.from(stack);
if (transformType != null && transformType.firstPerson()) { if (player.isSprinting() && player.onGround()
if (player.isSprinting() && ClientEventHandler.cantSprint == 0
&& player.onGround() && ClientEventHandler.drawTime < 0.01
&& ClientEventHandler.cantSprint == 0 && !data.reloading()) {
&& ClientEventHandler.drawTime < 0.01 if (ClientEventHandler.tacticalSprint) {
&& !data.reloading()) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run_fast"));
if (ClientEventHandler.tacticalSprint) { } else {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run_fast")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run"));
} else {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.marlin.run"));
}
} }
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.marlin.idle"));
return PlayState.CONTINUE;
} }
return PlayState.STOP;
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.marlin.idle"));
return PlayState.CONTINUE;
} }
@Override @Override

View file

@ -11,7 +11,6 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -26,7 +25,6 @@ import java.util.function.Supplier;
public class HuntingRifleItem extends GunItem implements GeoItem { public class HuntingRifleItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public HuntingRifleItem() { public HuntingRifleItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC)); super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -42,10 +40,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
return HuntingRifleItemRenderer::new; return HuntingRifleItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<HuntingRifleItem> event) { private PlayState idlePredicate(AnimationState<HuntingRifleItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -26,7 +25,6 @@ import java.util.function.Supplier;
public class K98Item extends GunItem implements GeoItem { public class K98Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public K98Item() { public K98Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE)); super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -37,10 +35,6 @@ public class K98Item extends GunItem implements GeoItem {
return K98ItemRenderer::new; return K98ItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<K98Item> event) { private PlayState fireAnimPredicate(AnimationState<K98Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.Mod;
import com.atsuishio.superbwarfare.client.renderer.item.SentinelItemRenderer; import com.atsuishio.superbwarfare.client.renderer.item.SentinelItemRenderer;
import com.atsuishio.superbwarfare.client.tooltip.component.SentinelImageComponent; 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.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions; import com.atsuishio.superbwarfare.init.ModEnumExtensions;
import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.item.EnergyStorageItem; import com.atsuishio.superbwarfare.item.EnergyStorageItem;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.data.gun.GunData;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation; 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.entity.player.Player;
import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.inventory.tooltip.TooltipComponent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.capabilities.Capabilities;
@ -35,7 +34,6 @@ import java.util.function.Supplier;
public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem { public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public SentinelItem() { public SentinelItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary())); super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -64,10 +62,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
return SentinelItemRenderer::new; return SentinelItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<SentinelItem> event) { private PlayState fireAnimPredicate(AnimationState<SentinelItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; 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.entity.player.Player;
import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.inventory.tooltip.TooltipComponent;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@ -42,7 +41,6 @@ import java.util.function.Supplier;
public class BocekItem extends GunItem implements GeoItem { public class BocekItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public BocekItem() { public BocekItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC)); super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -53,10 +51,6 @@ public class BocekItem extends GunItem implements GeoItem {
return BocekItemRenderer::new; return BocekItemRenderer::new;
} }
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<BocekItem> event) { private PlayState idlePredicate(AnimationState<BocekItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;