Skip to content

Commit 9559561

Browse files
committed
Fix enchantment glint not rendering on cone armor
1 parent 444c1f3 commit 9559561

File tree

1 file changed

+8
-21
lines changed

1 file changed

+8
-21
lines changed

common/src/main/java/juuxel/adorn/client/renderer/ConeEntityRenderer.java

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,19 @@
99
import net.minecraft.client.MinecraftClient;
1010
import net.minecraft.client.model.ModelPart;
1111
import net.minecraft.client.render.OverlayTexture;
12-
import net.minecraft.client.render.RenderLayer;
13-
import net.minecraft.client.render.VertexConsumer;
12+
import net.minecraft.client.render.TexturedRenderLayers;
1413
import net.minecraft.client.render.VertexConsumerProvider;
1514
import net.minecraft.client.render.block.BlockModelRenderer;
1615
import net.minecraft.client.render.entity.EntityRenderer;
1716
import net.minecraft.client.render.entity.EntityRendererFactory;
1817
import net.minecraft.client.render.entity.model.BipedEntityModel;
1918
import net.minecraft.client.render.item.ItemRenderer;
2019
import net.minecraft.client.render.model.BakedModelManager;
21-
import net.minecraft.client.texture.SpriteAtlasTexture;
2220
import net.minecraft.client.util.math.MatrixStack;
2321
import net.minecraft.item.ItemStack;
2422
import net.minecraft.registry.DynamicRegistryManager;
2523
import net.minecraft.registry.RegistryKey;
2624
import net.minecraft.registry.entry.RegistryEntry;
27-
import net.minecraft.util.Identifier;
2825

2926
import java.util.Optional;
3027

@@ -42,7 +39,7 @@ public ConeEntityRenderer(EntityRendererFactory.Context context) {
4239
public void render(ConeEntityRenderState state, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light) {
4340
matrices.push();
4441
matrices.translate(-0.5f, 0, -0.5f);
45-
renderCone(modelManager, state.variant, matrices, vertexConsumers, light, VertexConsumerFactory.ENTITY);
42+
renderCone(modelManager, state.variant, matrices, vertexConsumers, light, false);
4643
matrices.pop();
4744
super.render(state, matrices, vertexConsumers, light);
4845
}
@@ -58,10 +55,10 @@ public void updateRenderState(ConeEntity entity, ConeEntityRenderState state, fl
5855
state.variant = getEffectiveVariant(entity.getRegistryManager(), entity.getVariant()).orElse(ConeVariant.Keys.ORANGE);
5956
}
6057

61-
private static void renderCone(BakedModelManager modelManager, RegistryKey<ConeVariant> variant, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, VertexConsumerFactory vertexConsumerFactory) {
58+
private static void renderCone(BakedModelManager modelManager, RegistryKey<ConeVariant> variant, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, boolean glint) {
6259
var model = ModelBridge.get().getModel(modelManager, CustomModelKeys.CONES.getEager(variant));
6360
var matrix = matrices.peek();
64-
var vertexConsumer = vertexConsumerFactory.createVertexConsumer(vertexConsumers, SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);
61+
var vertexConsumer = ItemRenderer.getItemGlintConsumer(vertexConsumers, TexturedRenderLayers.getEntitySolid(), false, glint);
6562
BlockModelRenderer.render(matrix, vertexConsumer, model, 1, 1, 1, light, OverlayTexture.DEFAULT_UV);
6663
}
6764

@@ -71,15 +68,15 @@ public static void renderOnHead(MatrixStack matrices, VertexConsumerProvider ver
7168
var registryManager = client.world.getRegistryManager();
7269
var variant = getEffectiveVariant(registryManager, stack).orElse(ConeVariant.Keys.ORANGE);
7370

74-
var vertexConsumerFactory = stack.hasGlint() ? VertexConsumerFactory.ARMOR_WITH_GLINT : VertexConsumerFactory.ARMOR_WITHOUT_GLINT;
7571
var modelManager = client.getBakedModelManager();
7672
matrices.push();
7773
contextModel.getRootPart().applyTransform(matrices);
7874
contextModel.getHead().applyTransform(matrices);
7975
float headSize = getHeadHeight(matrices, contextModel);
80-
matrices.translate(SIZE * 0.5f, -headSize, SIZE * 0.5f);
81-
matrices.scale(-SIZE, -SIZE, -SIZE);
82-
renderCone(modelManager, variant, matrices, vertexConsumers, light, vertexConsumerFactory);
76+
matrices.scale(-1, -1, 1);
77+
matrices.translate(-SIZE * 0.5f, headSize, -SIZE * 0.5f);
78+
matrices.scale(SIZE, SIZE, SIZE);
79+
renderCone(modelManager, variant, matrices, vertexConsumers, light, stack.hasGlint());
8380
matrices.pop();
8481
}
8582

@@ -117,14 +114,4 @@ public void accept(MatrixStack.Entry matrix, String path, int index, ModelPart.C
117114
if (headHeight == 0) headHeight = (cuboid.maxY - cuboid.minY) / 16f;
118115
}
119116
}
120-
121-
@FunctionalInterface
122-
private interface VertexConsumerFactory {
123-
VertexConsumerFactory ENTITY = (vertexConsumers, texture) -> vertexConsumers.getBuffer(RenderLayer.getEntityCutout(texture));
124-
VertexConsumerFactory ARMOR_WITHOUT_GLINT = (vertexConsumers, texture) -> vertexConsumers.getBuffer(RenderLayer.getArmorCutoutNoCull(texture));
125-
// TODO: Figure out why the glint doesn't render
126-
VertexConsumerFactory ARMOR_WITH_GLINT = (vertexConsumers, texture) -> ItemRenderer.getArmorGlintConsumer(vertexConsumers, RenderLayer.getArmorCutoutNoCull(texture), true);
127-
128-
VertexConsumer createVertexConsumer(VertexConsumerProvider vertexConsumers, Identifier texture);
129-
}
130117
}

0 commit comments

Comments
 (0)