diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index 6b517bb0..2259f5ff 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -84,10 +84,11 @@ public class ShapesRenderer shapes.get(dimensionType).long2ObjectEntrySet().removeIf( entry -> entry.getValue().isExpired(currentTime) ); + shapes.get(dimensionType).values().forEach( s -> { - if ( s.shouldRender(dimensionType)) + if ( !s.lastCall() && s.shouldRender(dimensionType)) s.renderFaces(tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick); } ); @@ -95,10 +96,20 @@ public class ShapesRenderer shapes.get(dimensionType).values().forEach( s -> { - if ( s.shouldRender(dimensionType)) + if ( !s.lastCall() && s.shouldRender(dimensionType)) s.renderLines(tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick); } ); + //texts + // maybe we can move it laster to lines and makes sure we don't overpass and don't have blinky transparency problems + shapes.get(dimensionType).values().forEach( + s -> + { + if ( s.lastCall() && s.shouldRender(dimensionType)) + s.renderLines(tessellator, bufferBuilder, cameraX, cameraY, cameraZ, partialTick); + } + ); + } RenderSystem.enableCull(); RenderSystem.depthMask(true); @@ -186,6 +197,10 @@ public class ShapesRenderer if (client.world.getEntityById(shape.followEntity) == null) return false; return true; } + public boolean lastCall() + { + return false; + } } public static class RenderedText extends RenderedShape @@ -264,10 +279,16 @@ public class ShapesRenderer immediate.draw(); RenderSystem.popMatrix(); RenderSystem.enableCull(); - RenderSystem.enableDepthTest(); - RenderSystem.depthFunc(515); - RenderSystem.enableAlphaTest(); - RenderSystem.alphaFunc(GL11.GL_GREATER, 0.003f); + //RenderSystem.enableDepthTest(); + //RenderSystem.depthFunc(515); + //RenderSystem.enableAlphaTest(); + //RenderSystem.alphaFunc(GL11.GL_GREATER, 0.003f); + } + + @Override + public boolean lastCall() + { + return true; } }