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;