From 00944ed3b2277fb56248c8d23fa982b1cf04617f Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Fri, 12 Dec 2025 11:56:50 +0800 Subject: [PATCH] Always fire onChange for node even if old and new values may be equal --- .../core/config/handle/BaseConfigurationHandle.java | 6 ++---- .../mvplugins/multiverse/core/world/WorldConfigNodes.java | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/mvplugins/multiverse/core/config/handle/BaseConfigurationHandle.java b/src/main/java/org/mvplugins/multiverse/core/config/handle/BaseConfigurationHandle.java index 5ad0a0ecd..2dbd45a87 100644 --- a/src/main/java/org/mvplugins/multiverse/core/config/handle/BaseConfigurationHandle.java +++ b/src/main/java/org/mvplugins/multiverse/core/config/handle/BaseConfigurationHandle.java @@ -179,10 +179,8 @@ public Try set(@NotNull CommandSender sender, @NotNull ValueNode no return node.validate(value).map(ignore -> { T oldValue = get(node); nodeValueMap.put(node, value); - if (!Objects.equals(oldValue, value)) { - node.onLoadAndChange(sender, oldValue, value); - node.onChange(sender, oldValue, value); - } + node.onLoadAndChange(sender, oldValue, value); + node.onChange(sender, oldValue, value); return null; }); } diff --git a/src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java b/src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java index baea0af2c..7ad69efd8 100644 --- a/src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java +++ b/src/main/java/org/mvplugins/multiverse/core/world/WorldConfigNodes.java @@ -61,6 +61,7 @@ NodeGroup getNodes() { private ConfigNode node(ConfigNode.Builder nodeBuilder) { nodeBuilder.onChange((oldValue, newValue) -> { + if (Objects.equals(oldValue, newValue)) return; if (world == null) return; MVWorldPropertyChangedEvent mvWorldPropertyChangeEvent = new MVWorldPropertyChangedEvent<>( world,