From c96cb95443e322b69c51589bd0732c5d5784f2b9 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Sat, 8 Nov 2025 13:40:05 -0800 Subject: [PATCH] Fixed bug where salvage and repair configs would re-add any deleted entry that existed in the default config Fixes #5223 --- Changelog.txt | 4 +++- src/main/java/com/gmail/nossr50/config/BukkitConfig.java | 5 +++-- .../nossr50/config/skills/repair/RepairConfigManager.java | 2 +- .../gmail/nossr50/config/skills/salvage/SalvageConfig.java | 4 ++-- .../nossr50/config/skills/salvage/SalvageConfigManager.java | 4 ++-- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 6011cac09..1e5d2d160 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,6 +1,8 @@ Version 2.2.045 - Fixed an error that could happen when replanting crops with Green Thumb Green Thumb now replants harvested plants faster + Fixed an error that could happen when replanting crops with Green Thumb + Fixed a bug where salvage.vanilla.yml was readding deleted entries on server restart + Fixed a bug where repair.vanilla.yml was readding deleted entries on server restart NOTES: The delay from a plant being replanted from Green Thumb is intentional, and while looking into bugs it seemd maybe a tad slow, so I sped it up a bit. diff --git a/src/main/java/com/gmail/nossr50/config/BukkitConfig.java b/src/main/java/com/gmail/nossr50/config/BukkitConfig.java index d3b431551..f8be04070 100644 --- a/src/main/java/com/gmail/nossr50/config/BukkitConfig.java +++ b/src/main/java/com/gmail/nossr50/config/BukkitConfig.java @@ -8,12 +8,13 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import java.util.logging.Level; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; public abstract class BukkitConfig { - boolean copyDefaults = true; + boolean copyDefaults; protected final String fileName; protected final File configFile; protected YamlConfiguration defaultYamlConfig; @@ -58,7 +59,7 @@ public abstract class BukkitConfig { savedDefaults = true; } } catch (IOException e) { - e.printStackTrace(); + mcMMO.p.getLogger().log(Level.SEVERE, "Unable to save config file: " + fileName, e); } } diff --git a/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfigManager.java b/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfigManager.java index bab50ce38..7c2445ae6 100644 --- a/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfigManager.java +++ b/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfigManager.java @@ -15,7 +15,7 @@ public class RepairConfigManager { Pattern pattern = Pattern.compile("repair\\.(?:.+)\\.yml"); File dataFolder = plugin.getDataFolder(); - RepairConfig mainRepairConfig = new RepairConfig(REPAIR_VANILLA_YML, true); + RepairConfig mainRepairConfig = new RepairConfig(REPAIR_VANILLA_YML, false); repairables.addAll(mainRepairConfig.getLoadedRepairables()); for (String fileName : dataFolder.list()) { diff --git a/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfig.java b/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfig.java index 3a95334bb..c01473db9 100644 --- a/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfig.java +++ b/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfig.java @@ -43,8 +43,8 @@ public class SalvageConfig extends BukkitConfig { private final HashSet notSupported; private Set salvageables; - public SalvageConfig(String fileName, boolean copyDefaults) { - super(fileName, copyDefaults); + public SalvageConfig(String fileName) { + super(fileName, false); notSupported = new HashSet<>(); loadKeys(); } diff --git a/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfigManager.java b/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfigManager.java index 08477658a..17c34f187 100644 --- a/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfigManager.java +++ b/src/main/java/com/gmail/nossr50/config/skills/salvage/SalvageConfigManager.java @@ -16,7 +16,7 @@ public class SalvageConfigManager { Pattern pattern = Pattern.compile("salvage\\.(?:.+)\\.yml"); File dataFolder = plugin.getDataFolder(); - SalvageConfig mainSalvageConfig = new SalvageConfig(SALVAGE_VANILLA_YML, true); + SalvageConfig mainSalvageConfig = new SalvageConfig(SALVAGE_VANILLA_YML); salvageables.addAll(mainSalvageConfig.getLoadedSalvageables()); for (String fileName : dataFolder.list()) { @@ -34,7 +34,7 @@ public class SalvageConfigManager { continue; } - SalvageConfig salvageConfig = new SalvageConfig(fileName, false); + SalvageConfig salvageConfig = new SalvageConfig(fileName); salvageables.addAll(salvageConfig.getLoadedSalvageables()); } }