From a7a5a82c359cef264ad4514c7480ad171ffa05ff Mon Sep 17 00:00:00 2001 From: gnembon Date: Mon, 27 Jul 2020 04:40:53 -0300 Subject: [PATCH] fixed value not updating for labels --- .../carpet/script/utils/ShapesRenderer.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index 2259f5ff..a9da47b5 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -148,7 +148,7 @@ public class ShapesRenderer RenderedShape existing = shapes.computeIfAbsent(dim, d -> new Long2ObjectOpenHashMap<>()).get(key); if (existing != null) { // promoting previous shape - existing.expiryTick = rshape.expiryTick; + existing.promoteWith(rshape); } else { @@ -201,6 +201,11 @@ public class ShapesRenderer { return false; } + + public void promoteWith(RenderedShape rshape) + { + expiryTick = rshape.expiryTick; + } } public static class RenderedText extends RenderedShape @@ -290,6 +295,20 @@ public class ShapesRenderer { return true; } + + @Override + public void promoteWith(RenderedShape rshape) + { + super.promoteWith(rshape); + try + { + this.shape.value = ((ShapeDispatcher.Text) rshape.shape).value; + } + catch (ClassCastException ignored) + { + CarpetSettings.LOG.error("shape "+rshape.shape.getClass()+" cannot cast to a Label"); + } + } } public static class RenderedBox extends RenderedShape