diff --git a/src/main/java/meteordevelopment/meteorclient/gui/screens/settings/ColorSettingScreen.java b/src/main/java/meteordevelopment/meteorclient/gui/screens/settings/ColorSettingScreen.java index b2e104fe53a..f33782695c0 100644 --- a/src/main/java/meteordevelopment/meteorclient/gui/screens/settings/ColorSettingScreen.java +++ b/src/main/java/meteordevelopment/meteorclient/gui/screens/settings/ColorSettingScreen.java @@ -365,7 +365,12 @@ public boolean toClipboard() { @Override public boolean fromClipboard() { - if (!NbtUtils.fromClipboard(setting.get())) { + if (NbtUtils.fromClipboard(setting.get())) { + // The color was deserialised onto the existing object, so Setting#set - + // and with it onChanged() - was never reached. + setting.get().validate(); + setting.onChanged(); + } else { String clipboard = mc.keyboardHandler.getClipboard().trim(); SettingColor parsed; @@ -378,7 +383,7 @@ public boolean fromClipboard() { setting.set(parsed); } - setting.get().validate(); + callAction(); if (parent instanceof WidgetScreen p) { p.reload();