Fix an issue where config.yml was no longer being created...
This commit is contained in:
parent
a564da45be
commit
f0935e7a3b
2
pom.xml
2
pom.xml
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>eu.mathiasl</groupId>
|
||||
<artifactId>LegacyChatFix</artifactId>
|
||||
<version>0.1-SNAPSHOT</version>
|
||||
<version>0.5-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>LegacyChatFix</name>
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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<WrappedChatComponent> chatComponents = event.getPacket().getChatComponents();
|
||||
// If there are no chat components, return
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue