From 23ea237f2c3c9f627150d4cff52fc2b6735ecc81 Mon Sep 17 00:00:00 2001 From: Ben Staddon Date: Thu, 9 Nov 2017 22:32:43 +0000 Subject: [PATCH] Fix incorrect lighting of item models (#4493) --- .../minecraftforge/client/model/ItemLayerModel.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java index 6520fdbd2e..a249461f9d 100644 --- a/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java +++ b/src/main/java/net/minecraftforge/client/model/ItemLayerModel.java @@ -372,7 +372,7 @@ public final class ItemLayerModel implements IModel float v1 = 16f * (1f - y1 - dy); return buildQuad( - format, transform, side.getOpposite(), sprite, tint, // getOpposite is related either to the swapping of V direction, or something else + format, transform, remap(side), sprite, tint, x0, y0, z0, sprite.getInterpolatedU(u0), sprite.getInterpolatedV(v0), x1, y1, z0, sprite.getInterpolatedU(u1), sprite.getInterpolatedV(v1), x1, y1, z1, sprite.getInterpolatedU(u1), sprite.getInterpolatedV(v1), @@ -380,7 +380,13 @@ public final class ItemLayerModel implements IModel ); } - private static final BakedQuad buildQuad( + private static EnumFacing remap(EnumFacing side) + { + // getOpposite is related to the swapping of V direction + return side.getAxis() == EnumFacing.Axis.Y ? side.getOpposite() : side; + } + + private static BakedQuad buildQuad( VertexFormat format, Optional transform, EnumFacing side, TextureAtlasSprite sprite, int tint, float x0, float y0, float z0, float u0, float v0, float x1, float y1, float z1, float u1, float v1,