From c0ec3e3a19cc6ea0092d3c0be34486bc965aba19 Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Sun, 9 Jun 2024 09:17:28 +0100 Subject: [PATCH] Copyto is nullable --- .../core/configuration/Config.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/worldedit-core/src/main/java/com/fastasyncworldedit/core/configuration/Config.java b/worldedit-core/src/main/java/com/fastasyncworldedit/core/configuration/Config.java index 284b49fbe..794fe9a08 100644 --- a/worldedit-core/src/main/java/com/fastasyncworldedit/core/configuration/Config.java +++ b/worldedit-core/src/main/java/com/fastasyncworldedit/core/configuration/Config.java @@ -6,6 +6,7 @@ import com.sk89q.util.StringUtil; import com.sk89q.worldedit.internal.util.LogManagerCompat; import org.apache.logging.log4j.Logger; +import javax.annotation.Nullable; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.PrintWriter; @@ -32,6 +33,7 @@ public class Config { private static final Logger LOGGER = LogManagerCompat.getLogger(); private final Map removedKeyVals = new HashMap<>(); + @Nullable private Map> copyTo = new HashMap<>(); private boolean performCopyTo = false; private List existingMigrateNodes = null; @@ -80,14 +82,16 @@ public class Config { if (field.getAnnotation(Final.class) != null) { return; } - copyTo.remove(key); // Remove if the config field is already written - final Object finalValue = value; - copyTo.replaceAll((copyToNode, entry) -> { - if (!key.equals(entry.getKey())) { - return entry; - } - return new AbstractMap.SimpleEntry<>(key, finalValue); - }); + if (copyTo != null) { + copyTo.remove(key); // Remove if the config field is already written + final Object finalValue = value; + copyTo.replaceAll((copyToNode, entry) -> { + if (!key.equals(entry.getKey())) { + return entry; + } + return new AbstractMap.SimpleEntry<>(key, finalValue); + }); + } Migrate migrate = field.getAnnotation(Migrate.class); if (migrate != null) { existingMigrateNodes.add(migrate.value());