diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/BufferQuad.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/BufferQuad.java index 9bd290581..ff3931157 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/BufferQuad.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/BufferQuad.java @@ -157,8 +157,8 @@ public final class BufferQuad return false; // make sure these quads share the same perpendicular axis - if ((mergeDirection == BufferMergeDirectionEnum.EastWest && this.y != quad.y) || - (mergeDirection == BufferMergeDirectionEnum.NorthSouthOrUpDown && this.x != quad.x)) + if ((mergeDirection == BufferMergeDirectionEnum.EastWest && this.y != quad.y) + || (mergeDirection == BufferMergeDirectionEnum.NorthSouthOrUpDown && this.x != quad.x)) { return false; } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java index 77c76360b..17d46a569 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/ColumnBox.java @@ -24,7 +24,6 @@ import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.enums.EDhDirection; import com.seibel.distanthorizons.core.level.IDhClientLevel; import com.seibel.distanthorizons.core.pooling.PhantomArrayListCheckout; -import com.seibel.distanthorizons.core.pooling.PhantomArrayListPool; import com.seibel.distanthorizons.core.util.ColorUtil; import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.util.RenderDataPointUtil; @@ -46,7 +45,6 @@ public class ColumnBox - //=========// // builder // //=========// @@ -249,10 +247,10 @@ public class ColumnBox } private static void makeAdjVerticalQuad( - LodQuadBuilder builder, PhantomArrayListCheckout phantomArrayCheckout, - @NotNull ColumnArrayView adjColumnView, boolean adjacentIsSameDetailLevel, int caveCullingMaxY, EDhDirection direction, - short x, short yMin, short z, short horizontalWidth, short ySize, - int color, byte irisBlockMaterialId, byte blockLight) + LodQuadBuilder builder, PhantomArrayListCheckout phantomArrayCheckout, + @NotNull ColumnArrayView adjColumnView, boolean adjacentIsSameDetailLevel, int caveCullingMaxY, EDhDirection direction, + short x, short yMin, short z, short horizontalWidth, short ySize, + int color, byte irisBlockMaterialId, byte blockLight) { // pooled arrays LongArrayList segments = phantomArrayCheckout.getLongArray(0, 0); @@ -311,9 +309,10 @@ public class ColumnBox long adjBelowPoint = (adjIndex + 1 < adjCount) ? adjColumnView.get(adjIndex + 1) : RenderDataPointUtil.EMPTY_DATA; boolean adjOverVoid = !RenderDataPointUtil.doesDataPointExist(adjBelowPoint); - boolean adjTransparent = !adjOverVoid - && RenderDataPointUtil.getAlpha(adjPoint) < 255 - && transparencyEnabled; + boolean adjTransparent = + !adjOverVoid + && RenderDataPointUtil.getAlpha(adjPoint) < 255 + && transparencyEnabled; byte adjSkyLight = RenderDataPointUtil.getLightSky(adjPoint); byte lightToApply; @@ -323,14 +322,14 @@ public class ColumnBox // Adjacent is opaque boolean adjacentCoversThis = !adjacentIsSameDetailLevel - && RenderDataPointUtil.getYMax(adjPoint) >= caveCullingMaxY - && - ( - (x == 0 && direction == EDhDirection.WEST) - || (z == 0 && direction == EDhDirection.NORTH) - || (x == 256 && direction == EDhDirection.EAST) - || (z == 256 && direction == EDhDirection.SOUTH) - ); + && RenderDataPointUtil.getYMax(adjPoint) >= caveCullingMaxY + && + ( + (x == 0 && direction == EDhDirection.WEST) + || (z == 0 && direction == EDhDirection.NORTH) + || (x == 256 && direction == EDhDirection.EAST) + || (z == 256 && direction == EDhDirection.SOUTH) + ); lightToApply = adjacentCoversThis ? adjSkyLight : SKYLIGHT_COVERED; } @@ -363,10 +362,10 @@ public class ColumnBox { long segment = segments.getLong(i); tryAddVerticalFaceWithSkyLightToBuilder( - builder, direction, - x, z, horizontalWidth, - color, irisBlockMaterialId, blockLight, - YSegmentUtil.getSkyLight(segment), inputTransparent, YSegmentUtil.getEndY(segment), YSegmentUtil.getStartY(segment) + builder, direction, + x, z, horizontalWidth, + color, irisBlockMaterialId, blockLight, + YSegmentUtil.getSkyLight(segment), inputTransparent, YSegmentUtil.getEndY(segment), YSegmentUtil.getStartY(segment) ); } } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java index 936b10f65..3d86f4bf3 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/render/bufferBuilding/LodQuadBuilder.java @@ -148,8 +148,18 @@ public class LodQuadBuilder throw new IllegalArgumentException("addQuadAdj() is only for adj direction! Not UP or Down!"); } + + ArrayList quadList; + if (this.doTransparency && ColorUtil.getAlpha(color) < 255) + { + quadList = this.transparentQuads[dir.ordinal()]; + } + else + { + quadList = this.opaqueQuads[dir.ordinal()]; + } + BufferQuad quad = new BufferQuad(x, y, z, widthEastWest, widthNorthSouthOrUpDown, color, irisBlockMaterialId, skyLight, blockLight, dir); - ArrayList quadList = (this.doTransparency && ColorUtil.getAlpha(color) < 255) ? this.transparentQuads[dir.ordinal()] : this.opaqueQuads[dir.ordinal()]; if (!quadList.isEmpty() && ( quadList.get(quadList.size() - 1).tryMerge(quad, BufferMergeDirectionEnum.EastWest)