From 52e54c0a477e1b272397ad7a9ffb8b9516e694e2 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 15 Jul 2020 03:43:06 -0300 Subject: [PATCH] nbt values retain their string representation forever. --- .../carpet/script/value/NBTSerializableValue.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/value/NBTSerializableValue.java b/src/main/java/carpet/script/value/NBTSerializableValue.java index c2ff37e0..abb60969 100644 --- a/src/main/java/carpet/script/value/NBTSerializableValue.java +++ b/src/main/java/carpet/script/value/NBTSerializableValue.java @@ -436,6 +436,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa return false; } } + if (modifiedTag) dirty(); return modifiedTag; } @@ -582,13 +583,23 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa } } + private void dirty() + { + nbtString = null; + } + @Override public boolean delete(Value where) { NbtPathArgumentType.NbtPath path = cachePath(where.getString()); ensureOwnership(); int removed = path.remove(getTag()); - return removed > 0; + if (removed > 0) + { + dirty(); + return true; + } + return false; } public static class InventoryLocator