From d838cfd32f5aaf5b47026d35162f9e5c054ba2ab Mon Sep 17 00:00:00 2001 From: gnembon Date: Sat, 20 Jun 2020 09:01:49 -0300 Subject: [PATCH] there can be more than 3 dimensions --- src/main/java/carpet/script/utils/ShapesRenderer.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index 35ffb61d..78020763 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -39,16 +39,13 @@ public class ShapesRenderer { this.client = minecraftClient; shapes = new HashMap<>(); - shapes.put(DimensionType.OVERWORLD, new Long2ObjectOpenHashMap<>()); - shapes.put(DimensionType.THE_NETHER, new Long2ObjectOpenHashMap<>()); - shapes.put(DimensionType.THE_END, new Long2ObjectOpenHashMap<>()); } public void render(Camera camera, float partialTick) { IWorld iWorld = this.client.world; DimensionType dimensionType = iWorld.getDimension().getType(); - if (shapes.get(dimensionType).isEmpty()) return; + if (shapes.get(dimensionType) == null || shapes.get(dimensionType).isEmpty()) return; long currentTime = client.world.getTime(); RenderSystem.disableTexture(); RenderSystem.enableDepthTest(); @@ -130,7 +127,7 @@ public class ShapesRenderer long key = rshape.key(); synchronized (shapes) { - RenderedShape existing = shapes.get(dim).get(key); + RenderedShape existing = shapes.computeIfAbsent(dim, d -> new Long2ObjectOpenHashMap<>()).get(key); if (existing != null) { // promoting previous shape existing.expiryTick = rshape.expiryTick;