From d56eda65123cb5114eba93f0e5e7ab623c8ebe9c Mon Sep 17 00:00:00 2001 From: hyperdefined Date: Fri, 6 Mar 2026 20:59:17 -0500 Subject: [PATCH] added more missing config values --- .../toolstats/tools/config/ConfigUpdater.java | 1 + .../tools/config/versions/Version16.java | 77 +++++++++++++++++++ src/main/resources/config.yml | 6 +- 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 src/main/java/lol/hyper/toolstats/tools/config/versions/Version16.java diff --git a/src/main/java/lol/hyper/toolstats/tools/config/ConfigUpdater.java b/src/main/java/lol/hyper/toolstats/tools/config/ConfigUpdater.java index 6687fde..5350608 100644 --- a/src/main/java/lol/hyper/toolstats/tools/config/ConfigUpdater.java +++ b/src/main/java/lol/hyper/toolstats/tools/config/ConfigUpdater.java @@ -42,6 +42,7 @@ public class ConfigUpdater { case 12 -> new Version13(toolStats).update(); // 12 to 13 case 13 -> new Version14(toolStats).update(); // 13 to 14 case 14 -> new Version15(toolStats).update(); // 14 to 15 + case 15 -> new Version16(toolStats).update(); // 15 to 16 } } } \ No newline at end of file diff --git a/src/main/java/lol/hyper/toolstats/tools/config/versions/Version16.java b/src/main/java/lol/hyper/toolstats/tools/config/versions/Version16.java new file mode 100644 index 0000000..81162c1 --- /dev/null +++ b/src/main/java/lol/hyper/toolstats/tools/config/versions/Version16.java @@ -0,0 +1,77 @@ +/* + * This file is part of ToolStats. + * + * ToolStats is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ToolStats is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ToolStats. If not, see . + */ + +package lol.hyper.toolstats.tools.config.versions; + +import lol.hyper.toolstats.ToolStats; + +import java.io.File; +import java.io.IOException; + +public class Version16 { + + private final ToolStats toolStats; + + /** + * Used for updating from version 15 to 16. + * + * @param toolStats ToolStats instance. + */ + public Version16(ToolStats toolStats) { + this.toolStats = toolStats; + } + + /** + * Perform the config update. + */ + public void update() { + // save the old config first + try { + toolStats.config.save("plugins" + File.separator + "ToolStats" + File.separator + "config-15.yml"); + } catch (IOException exception) { + toolStats.logger.error("Unable to save config-15.yml!", exception); + } + + // we make this super verbose so that admins can see what's being added + toolStats.logger.info("Updating config.yml to version 16."); + toolStats.config.set("config-version", 16); + + toolStats.logger.info("Adding enabled.crafted-on.shield to config.yml."); + toolStats.config.set("enabled.crafted-on.shield", true); + toolStats.logger.info("Adding enabled.crafted-by.shield to config.yml."); + toolStats.config.set("enabled.crafted-by.shield", true); + + toolStats.logger.info("Adding enabled.traded-on.shield to config.yml."); + toolStats.config.set("enabled.traded-on.shield", true); + toolStats.logger.info("Adding enabled.traded-by.shield to config.yml."); + toolStats.config.set("enabled.traded-by.shield", true); + + toolStats.logger.info("Adding enabled.looted-on.shield to config.yml."); + toolStats.config.set("enabled.looted-on.shield", true); + toolStats.logger.info("Adding enabled.looted-by.shield to config.yml."); + toolStats.config.set("enabled.looted-by.shield", true); + + // save the config and reload it + try { + toolStats.config.save("plugins" + File.separator + "ToolStats" + File.separator + "config.yml"); + } catch (IOException exception) { + toolStats.logger.error("Unable to save config.yml!", exception); + } + toolStats.loadConfig(); + toolStats.logger.info("Config has been updated to version 16. A copy of version 6 has been saved as config-15.yml"); + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 122473f..d4e5b17 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -195,6 +195,7 @@ enabled: mace: true fishing-rod: true spear: true + shield: true # Will show "Crafted on " crafted-on: pickaxe: true @@ -208,6 +209,7 @@ enabled: mace: true fishing-rod: true spear: true + shield: true # Will show "Fished by " fished-by: pickaxe: true @@ -243,7 +245,6 @@ enabled: fishing-rod: true spear: true shield: true - elytra: true # Will show "Found on " looted-on: pickaxe: true @@ -257,7 +258,6 @@ enabled: fishing-rod: true spear: true shield: true - elytra: true # Will show "Traded by " traded-by: pickaxe: true @@ -269,6 +269,7 @@ enabled: bow: true armor: true fishing-rod: true + shield: true # Will show "Traded on " traded-on: pickaxe: true @@ -280,6 +281,7 @@ enabled: bow: true armor: true fishing-rod: true + shield: true damage-done: sword: true axe: true