diff --git a/pom.xml b/pom.xml
index 4420c25..65e4dc5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
eu.mathiasl
LegacyChatFix
- 0.1-SNAPSHOT
+ 0.5-SNAPSHOT
jar
LegacyChatFix
diff --git a/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFix.java b/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFix.java
index 623c851..3a18994 100644
--- a/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFix.java
+++ b/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFix.java
@@ -6,12 +6,16 @@ import org.bukkit.plugin.java.JavaPlugin;
public final class LegacyChatFix extends JavaPlugin {
- ConfigManager configManager = new ConfigManager(this);
+ ConfigManager configManager;
LegacyChatFixPacketAdapter adapter;
@Override
public void onEnable() {
+ configManager = new ConfigManager(this);
+ configManager.saveDefaultConfig("config.yml");
+ configManager.checkAndUpdateConfig("config.yml");
+
adapter = new LegacyChatFixPacketAdapter(this, configManager);
ProtocolLibrary.getProtocolManager().addPacketListener(adapter);
}
@@ -20,5 +24,8 @@ public final class LegacyChatFix extends JavaPlugin {
public void onDisable() {
// Plugin shutdown logic
ProtocolLibrary.getProtocolManager().removePacketListener(adapter);
+ configManager.saveConfig("config.yml");
}
+
+
}
diff --git a/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFixPacketAdapter.java b/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFixPacketAdapter.java
index 4c63a95..d05fb57 100644
--- a/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFixPacketAdapter.java
+++ b/src/main/java/eu/mathiasl/legacychatfix/LegacyChatFixPacketAdapter.java
@@ -103,6 +103,8 @@ public class LegacyChatFixPacketAdapter extends PacketAdapter {
*/
@Override
public void onPacketSending(PacketEvent event) {
+ if (legacyColors == null) return;
+
// Get the chat components from the packet
StructureModifier chatComponents = event.getPacket().getChatComponents();
// If there are no chat components, return
diff --git a/src/main/java/eu/mathiasl/legacychatfix/config/ConfigManager.java b/src/main/java/eu/mathiasl/legacychatfix/config/ConfigManager.java
index b9481ff..810bc9e 100644
--- a/src/main/java/eu/mathiasl/legacychatfix/config/ConfigManager.java
+++ b/src/main/java/eu/mathiasl/legacychatfix/config/ConfigManager.java
@@ -6,6 +6,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
import java.util.HashMap;
import java.util.Map;
@@ -61,4 +62,38 @@ public class ConfigManager {
}
return configFiles.get(configName);
}
+
+
+ public void checkAndUpdateConfig(String configName) {
+ File configFile = new File(plugin.getDataFolder(), configName);
+ if (!configFile.exists()) {
+ plugin.saveResource(configName, false);
+ return;
+ }
+
+ FileConfiguration config = YamlConfiguration.loadConfiguration(configFile);
+ String configVersion = config.getString("ConfigVersion", "0"); // Default to "0" if not found
+ if (!"1.0".equals(configVersion)) {
+ backupAndReplaceConfig(configName);
+
+ // After backing up and copying new ones, you might want to reload these configs into your ConfigManager
+ // assuming you have such a method in your ConfigManager
+ reloadConfig(configName);
+ }
+ }
+
+ private void backupAndReplaceConfig(String fileName) {
+ File configFile = new File(plugin.getDataFolder(), fileName);
+ File backupFile = new File(plugin.getDataFolder(), fileName + ".BACKUP");
+
+ // Backup the old file
+ try {
+ Files.move(configFile.toPath(), backupFile.toPath());
+ } catch (IOException e) {
+ plugin.getLogger().warning("Could not backup " + fileName + ": " + e.getMessage());
+ }
+
+ // Copy new file from resources
+ plugin.saveResource(fileName, false);
+ }
}