From 29c5d70171f2f966ffad8c343a7fe9e4d3af0a3f Mon Sep 17 00:00:00 2001 From: Morippi Date: Wed, 24 Aug 2022 15:15:21 +0200 Subject: [PATCH] enabled and fixed ocean floor (light not working correctly) --- .../a7/datatype/column/render/ColumnBox.java | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java b/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java index bc28fd6fc..2128f499c 100644 --- a/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java +++ b/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java @@ -29,6 +29,8 @@ import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; public class ColumnBox { + private static boolean transparencyEnabled = true; + private static boolean fakeOceanFloor = true; private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); public static void addBoxQuadsToBuilder(LodQuadBuilder builder, short xSize, short ySize, short zSize, short x, @@ -39,25 +41,11 @@ public class ColumnBox short maxZ = (short) (z + zSize); byte skyLightTop = skyLight; byte skyLightBot = DataPointUtil.doesItExist(botData) ? DataPointUtil.getLightSky(botData) : 0; - boolean isTransparent = ColorUtil.getAlpha(color)<255; - - boolean transparencyEnabled = true; - boolean fakeOceanFloor = false; + boolean isTransparent = ColorUtil.getAlpha(color)<255 && transparencyEnabled; boolean isTopTransparent = DataPointUtil.getAlpha(topData)<255 && transparencyEnabled; boolean isBotTransparent = DataPointUtil.getAlpha(botData)<255 && transparencyEnabled; - if(fakeOceanFloor && transparencyEnabled) - { - if(!isTransparent && isTopTransparent) - { - ySize = (short) (DataPointUtil.getHeight(botData) - y -1); - } - else if(isTransparent && !isBotTransparent) - { - y = (short) (y + ySize - 1); - } - } // Up direction case boolean skipTop = DataPointUtil.doesItExist(topData) && ( @@ -67,7 +55,20 @@ public class ColumnBox (isTransparent && (DataPointUtil.getDepth(botData) == maxY)) || (!isTransparent && (DataPointUtil.getDepth(botData) == maxY) && !isBotTransparent)); + if(fakeOceanFloor && transparencyEnabled) + { + if(!isTransparent && isTopTransparent) + { + ySize = (short) (DataPointUtil.getHeight(topData) - y - 1); + } + else if(isTransparent && !isBotTransparent) + { + y = (short) (y + ySize - 1); + ySize = 1; + } + } + maxY = (short) (y + ySize); if (!skipTop) builder.addQuadUp(x, maxY, z, xSize, zSize, ColorUtil.applyShade(color, MC.getShade(ELodDirection.UP)), skyLightTop, blockLight); if (!skipBot) @@ -189,7 +190,7 @@ public class ColumnBox boolean isAdjTransparent = DataPointUtil.getAlpha(adjPoint) < 255; /**TODO disable this when disabling transparency */ - if (!isTransparent && isAdjTransparent) + if (!isTransparent && isAdjTransparent && transparencyEnabled) continue;