diff --git a/src/client/java/dev/isxander/debugify/client/mixins/basic/mc197260/ArmorStandRendererMixin.java b/src/client/java/dev/isxander/debugify/client/mixins/basic/mc197260/ArmorStandRendererMixin.java index 0a03ba4f..7b0ead97 100644 --- a/src/client/java/dev/isxander/debugify/client/mixins/basic/mc197260/ArmorStandRendererMixin.java +++ b/src/client/java/dev/isxander/debugify/client/mixins/basic/mc197260/ArmorStandRendererMixin.java @@ -1,6 +1,5 @@ package dev.isxander.debugify.client.mixins.basic.mc197260; -import com.mojang.datafixers.util.Pair; import dev.isxander.debugify.fixes.BugFix; import dev.isxander.debugify.fixes.FixCategory; import net.minecraft.client.Minecraft; @@ -9,8 +8,6 @@ import net.minecraft.client.renderer.entity.state.ArmorStandRenderState; import org.spongepowered.asm.mixin.Mixin; -import java.util.Comparator; -import java.util.stream.IntStream; import net.minecraft.client.model.ArmorStandArmorModel; import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.entity.ArmorStandRenderer; @@ -39,13 +36,14 @@ protected ArmorStandRendererMixin(EntityRendererProvider.Context context) { BlockPos mainPos = BlockPos.containing(livingEntity.x, livingEntity.y, livingEntity.z); ClientLevel level = Minecraft.getInstance().level; - livingEntity.lightCoords = IntStream.of(-1, 0, 2, 3) - .mapToObj(operand -> { - BlockPos pos = mainPos.offset(0, operand, 0); - return Pair.of(level.getBrightness(LightLayer.BLOCK, pos), pos); - }) - .max(Comparator.comparingInt(Pair::getFirst)) - .map(p -> LightTexture.pack(p.getFirst(), level.getBrightness(LightLayer.SKY, p.getSecond()))) - .orElse(livingEntity.lightCoords); + int maxSkyLight = 0; + int maxBlockLight = 0; + for (int offset : new int[] { -1, 0, 2, 3 }) { + BlockPos pos = mainPos.offset(0, offset, 0); + maxSkyLight = Math.max(maxSkyLight, level.getBrightness(LightLayer.SKY, pos)); + maxBlockLight = Math.max(maxBlockLight, level.getBrightness(LightLayer.BLOCK, pos)); + } + + livingEntity.lightCoords = LightTexture.pack(maxBlockLight, maxSkyLight); } }