diff --git a/src/main/java/xyz/alexcrea/cuanvil/api/ConflictAPI.java b/src/main/java/xyz/alexcrea/cuanvil/api/ConflictAPI.java index 28fccd2..d5b4a8d 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/api/ConflictAPI.java +++ b/src/main/java/xyz/alexcrea/cuanvil/api/ConflictAPI.java @@ -118,7 +118,7 @@ public class ConflictAPI { ConfigHolder.CONFLICT_HOLDER.getConflictManager().removeConflict(conflict); // Write as null and save to file - ConfigHolder.CONFLICT_HOLDER.getConfig().set(conflict.getName(), null); + ConfigHolder.CONFLICT_HOLDER.delete(conflict.getName()); prepareSaveTask(); // Remove from gui diff --git a/src/main/java/xyz/alexcrea/cuanvil/api/CustomAnvilRecipeApi.java b/src/main/java/xyz/alexcrea/cuanvil/api/CustomAnvilRecipeApi.java index 69bfad2..f879539 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/api/CustomAnvilRecipeApi.java +++ b/src/main/java/xyz/alexcrea/cuanvil/api/CustomAnvilRecipeApi.java @@ -74,7 +74,7 @@ public class CustomAnvilRecipeApi { ConfigHolder.CUSTOM_RECIPE_HOLDER.getRecipeManager().cleanRemove(recipe); // Write as null and save to file - ConfigHolder.CUSTOM_RECIPE_HOLDER.getConfig().set(recipe.getName(), null); + ConfigHolder.CUSTOM_RECIPE_HOLDER.delete(recipe.getName()); prepareSaveTask(); // Remove from gui diff --git a/src/main/java/xyz/alexcrea/cuanvil/api/MaterialGroupApi.java b/src/main/java/xyz/alexcrea/cuanvil/api/MaterialGroupApi.java index b3283aa..91db14c 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/api/MaterialGroupApi.java +++ b/src/main/java/xyz/alexcrea/cuanvil/api/MaterialGroupApi.java @@ -145,7 +145,7 @@ public class MaterialGroupApi { ConfigHolder.ITEM_GROUP_HOLDER.getItemGroupsManager().groupMap.remove(group.getName()); // Write as null and save to file - ConfigHolder.ITEM_GROUP_HOLDER.getConfig().set(group.getName(), null); + ConfigHolder.ITEM_GROUP_HOLDER.delete(group.getName()); prepareSaveTask(); // Remove from gui diff --git a/src/main/java/xyz/alexcrea/cuanvil/config/ConfigHolder.java b/src/main/java/xyz/alexcrea/cuanvil/config/ConfigHolder.java index a5102e7..cfce8fd 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/config/ConfigHolder.java +++ b/src/main/java/xyz/alexcrea/cuanvil/config/ConfigHolder.java @@ -251,6 +251,15 @@ public abstract class ConfigHolder { return this.deletedListConfig.getBoolean(objectPath, false); } + /** + * Delete a certain object by its path. do not save the config. + * @param objectPath The object path to delete. + * @return True if successful. + */ + public boolean delete(String objectPath){ + return delete(objectPath, false, false); + } + /** * Delete a certain object by its path. * @param objectPath The object path to delete. diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java index 8656a39..2baafca 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/CustomRecipeSubSettingGui.java @@ -120,7 +120,7 @@ public class CustomRecipeSubSettingGui extends MappedToListSubSettingGui { cleanAndBeUnusable(); // Update config file storage - ConfigHolder.CUSTOM_RECIPE_HOLDER.getConfig().set(this.anvilRecipe.toString(), null); + ConfigHolder.CUSTOM_RECIPE_HOLDER.delete(this.anvilRecipe.toString()); // Save boolean success = true; diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/EnchantConflictSubSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/EnchantConflictSubSettingGui.java index 56c4420..3a907e6 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/EnchantConflictSubSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/EnchantConflictSubSettingGui.java @@ -127,7 +127,7 @@ public class EnchantConflictSubSettingGui extends MappedToListSubSettingGui impl cleanAndBeUnusable(); // Update config file storage - ConfigHolder.CONFLICT_HOLDER.getConfig().set(this.enchantConflict.toString(), null); + ConfigHolder.CONFLICT_HOLDER.delete(this.enchantConflict.toString()); // Save boolean success = true; diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/GroupConfigSubSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/GroupConfigSubSettingGui.java index 29d412b..bcf66db 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/GroupConfigSubSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/list/elements/GroupConfigSubSettingGui.java @@ -129,7 +129,7 @@ public class GroupConfigSubSettingGui extends MappedToListSubSettingGui implemen cleanAndBeUnusable(); // Update config file storage - ConfigHolder.CUSTOM_RECIPE_HOLDER.getConfig().set(this.group.getName(), null); + ConfigHolder.CUSTOM_RECIPE_HOLDER.delete(this.group.getName()); // Save boolean success = true; diff --git a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/DoubleSettingGui.java b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/DoubleSettingGui.java index 5c2692f..6ff7469 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/DoubleSettingGui.java +++ b/src/main/java/xyz/alexcrea/cuanvil/gui/config/settings/DoubleSettingGui.java @@ -316,7 +316,11 @@ public class DoubleSettingGui extends AbstractSettingGui { @Override public boolean onSave() { if(isNull()){ - this.holder.config.getConfig().set(this.holder.configPath, null); + if(this.holder.config instanceof ConfigHolder.DeletableResource deletableResource){ + deletableResource.delete(this.holder.configPath); + }else{ + this.holder.config.getConfig().set(this.holder.configPath, null); + } }else{ this.holder.config.getConfig().set(this.holder.configPath, now.doubleValue()); }