diff --git a/src/main/java/com/gmail/nossr50/config/AutoUpdateConfigLoader.java b/src/main/java/com/gmail/nossr50/config/AutoUpdateConfigLoader.java index 30fa038cb..f2c936a56 100644 --- a/src/main/java/com/gmail/nossr50/config/AutoUpdateConfigLoader.java +++ b/src/main/java/com/gmail/nossr50/config/AutoUpdateConfigLoader.java @@ -1,5 +1,6 @@ package com.gmail.nossr50.config; +import com.gmail.nossr50.mcMMO; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; @@ -31,7 +32,7 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader { protected void saveConfig() { try { - plugin.getLogger().info("Saving changes to config file - "+fileName); + mcMMO.p.getLogger().info("Saving changes to config file - "+fileName); config.save(configFile); } catch (IOException e) { e.printStackTrace(); @@ -39,13 +40,13 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader { } protected @NotNull FileConfiguration getInternalConfig() { - return YamlConfiguration.loadConfiguration(plugin.getResourceAsReader(fileName)); + return YamlConfiguration.loadConfiguration(mcMMO.p.getResourceAsReader(fileName)); } @Override protected void loadFile() { super.loadFile(); - FileConfiguration internalConfig = YamlConfiguration.loadConfiguration(plugin.getResourceAsReader(fileName)); + FileConfiguration internalConfig = YamlConfiguration.loadConfiguration(mcMMO.p.getResourceAsReader(fileName)); Set configKeys = config.getKeys(true); Set internalConfigKeys = internalConfig.getKeys(true); @@ -65,12 +66,12 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader { } // // for (String key : oldKeys) { -// plugin.debug("Detected potentially unused key: " + key); +// mcMMO.p.debug("Detected potentially unused key: " + key); // //config.set(key, null); // } for (String key : newKeys) { - plugin.debug("Adding new key: " + key + " = " + internalConfig.get(key)); + mcMMO.p.debug("Adding new key: " + key + " = " + internalConfig.get(key)); config.set(key, internalConfig.get(key)); } @@ -89,7 +90,7 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader { // Read the internal config to get comments, then put them in the new one try { // Read internal - BufferedReader reader = new BufferedReader(new InputStreamReader(plugin.getResource(fileName))); + BufferedReader reader = new BufferedReader(new InputStreamReader(mcMMO.p.getResource(fileName))); LinkedHashMap comments = new LinkedHashMap<>(); StringBuilder temp = new StringBuilder(); @@ -139,14 +140,21 @@ public abstract class AutoUpdateConfigLoader extends ConfigLoader { } // Save it + if(dataFolder == null) { + mcMMO.p.getLogger().severe("Data folder should never be null!"); + return; + } + try { String saveName = fileName; // At this stage we cannot guarantee that Config has been loaded, so we do the check directly here - if (!plugin.getConfig().getBoolean("General.Config_Update_Overwrite", true)) { + if (!mcMMO.p.getConfig().getBoolean("General.Config_Update_Overwrite", true)) { saveName += ".new"; } - BufferedWriter writer = new BufferedWriter(new FileWriter(new File(dataFolder, saveName))); + File newSaveFile = new File(dataFolder, saveName); + FileWriter fileWriter = new FileWriter(newSaveFile.getAbsolutePath()); + BufferedWriter writer = new BufferedWriter(fileWriter); writer.write(output); writer.flush(); writer.close(); diff --git a/src/main/java/com/gmail/nossr50/config/ConfigLoader.java b/src/main/java/com/gmail/nossr50/config/ConfigLoader.java index 4a168fa50..a1c75058d 100644 --- a/src/main/java/com/gmail/nossr50/config/ConfigLoader.java +++ b/src/main/java/com/gmail/nossr50/config/ConfigLoader.java @@ -9,11 +9,10 @@ import java.io.File; import java.util.List; public abstract class ConfigLoader { - protected static final mcMMO plugin = mcMMO.p; protected String fileName; protected final File configFile; protected FileConfiguration config; - protected @NotNull File dataFolder; + protected @NotNull final File dataFolder; public ConfigLoader(String relativePath, String fileName, @NotNull File dataFolder) { this.fileName = fileName; @@ -33,6 +32,7 @@ public abstract class ConfigLoader { public ConfigLoader(String relativePath, String fileName) { this.fileName = fileName; configFile = new File(mcMMO.p.getDataFolder(), relativePath + File.separator + fileName); + this.dataFolder = mcMMO.p.getDataFolder(); loadFile(); } @@ -40,22 +40,23 @@ public abstract class ConfigLoader { public ConfigLoader(String fileName) { this.fileName = fileName; configFile = new File(mcMMO.p.getDataFolder(), fileName); + this.dataFolder = mcMMO.p.getDataFolder(); loadFile(); } protected void loadFile() { if (!configFile.exists()) { - plugin.debug("Creating mcMMO " + fileName + " File..."); + mcMMO.p.debug("Creating mcMMO " + fileName + " File..."); try { - plugin.saveResource(fileName, false); // Normal files + mcMMO.p.saveResource(fileName, false); // Normal files } catch (IllegalArgumentException ex) { - plugin.saveResource(configFile.getParentFile().getName() + File.separator + fileName, false); // Mod files + mcMMO.p.saveResource(configFile.getParentFile().getName() + File.separator + fileName, false); // Mod files } } else { - plugin.debug("Loading mcMMO " + fileName + " File..."); + mcMMO.p.debug("Loading mcMMO " + fileName + " File..."); } config = YamlConfiguration.loadConfiguration(configFile); @@ -69,7 +70,7 @@ public abstract class ConfigLoader { protected boolean noErrorsInConfig(List issues) { for (String issue : issues) { - plugin.getLogger().warning(issue); + mcMMO.p.getLogger().warning(issue); } return issues.isEmpty(); @@ -77,12 +78,12 @@ public abstract class ConfigLoader { protected void validate() { if (validateKeys()) { - plugin.debug("No errors found in " + fileName + "!"); + mcMMO.p.debug("No errors found in " + fileName + "!"); } else { - plugin.getLogger().warning("Errors were found in " + fileName + "! mcMMO was disabled!"); - plugin.getServer().getPluginManager().disablePlugin(plugin); - plugin.noErrorsInConfigFiles = false; + mcMMO.p.getLogger().warning("Errors were found in " + fileName + "! mcMMO was disabled!"); + mcMMO.p.getServer().getPluginManager().disablePlugin(mcMMO.p); + mcMMO.p.noErrorsInConfigFiles = false; } } @@ -91,16 +92,16 @@ public abstract class ConfigLoader { } public void backup() { - plugin.getLogger().warning("You are using an old version of the " + fileName + " file."); - plugin.getLogger().warning("Your old file has been renamed to " + fileName + ".old and has been replaced by an updated version."); + mcMMO.p.getLogger().warning("You are using an old version of the " + fileName + " file."); + mcMMO.p.getLogger().warning("Your old file has been renamed to " + fileName + ".old and has been replaced by an updated version."); configFile.renameTo(new File(configFile.getPath() + ".old")); - if (plugin.getResource(fileName) != null) { - plugin.saveResource(fileName, true); + if (mcMMO.p.getResource(fileName) != null) { + mcMMO.p.saveResource(fileName, true); } - plugin.getLogger().warning("Reloading " + fileName + " with new values..."); + mcMMO.p.getLogger().warning("Reloading " + fileName + " with new values..."); loadFile(); loadKeys(); } diff --git a/src/main/java/com/gmail/nossr50/config/RankConfig.java b/src/main/java/com/gmail/nossr50/config/RankConfig.java index 9bdf00947..d164d64ca 100644 --- a/src/main/java/com/gmail/nossr50/config/RankConfig.java +++ b/src/main/java/com/gmail/nossr50/config/RankConfig.java @@ -127,7 +127,7 @@ public class RankConfig extends AutoUpdateConfigLoader { String key = getRankAddressKey(subSkillType, rank, retroMode); int defaultValue = getInternalConfig().getInt(key); config.set(key, defaultValue); - plugin.getLogger().info(key +" SET -> " + defaultValue); + mcMMO.p.getLogger().info(key +" SET -> " + defaultValue); } /** @@ -145,10 +145,10 @@ public class RankConfig extends AutoUpdateConfigLoader { if(badSkillSetup.isEmpty()) return; - plugin.getLogger().info("(FIXING CONFIG) mcMMO is correcting a few mistakes found in your skill rank config setup"); + mcMMO.p.getLogger().info("(FIXING CONFIG) mcMMO is correcting a few mistakes found in your skill rank config setup"); for(SubSkillType subSkillType : badSkillSetup) { - plugin.getLogger().info("(FIXING CONFIG) Resetting rank config settings for skill named - "+subSkillType.toString()); + mcMMO.p.getLogger().info("(FIXING CONFIG) Resetting rank config settings for skill named - "+subSkillType.toString()); fixBadEntries(subSkillType); } } @@ -180,7 +180,7 @@ public class RankConfig extends AutoUpdateConfigLoader { if(prevRank > curRank) { //We're going to allow this but we're going to warn them - plugin.getLogger().info("(CONFIG ISSUE) You have the ranks for the subskill "+ subSkillType.toString()+" set up poorly, sequential ranks should have ascending requirements"); + mcMMO.p.getLogger().info("(CONFIG ISSUE) You have the ranks for the subskill "+ subSkillType.toString()+" set up poorly, sequential ranks should have ascending requirements"); badSkillSetup.add(subSkillType); } } diff --git a/src/main/java/com/gmail/nossr50/config/SoundConfig.java b/src/main/java/com/gmail/nossr50/config/SoundConfig.java index 734e770aa..61960803d 100644 --- a/src/main/java/com/gmail/nossr50/config/SoundConfig.java +++ b/src/main/java/com/gmail/nossr50/config/SoundConfig.java @@ -1,5 +1,6 @@ package com.gmail.nossr50.config; +import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.sounds.SoundType; public class SoundConfig extends AutoUpdateConfigLoader { @@ -31,7 +32,7 @@ public class SoundConfig extends AutoUpdateConfigLoader { { if(config.getDouble("Sounds."+soundType.toString()+".Volume") < 0) { - plugin.getLogger().info("[mcMMO] Sound volume cannot be below 0 for "+soundType.toString()); + mcMMO.p.getLogger().info("[mcMMO] Sound volume cannot be below 0 for "+soundType.toString()); return false; } @@ -40,7 +41,7 @@ public class SoundConfig extends AutoUpdateConfigLoader { { if(config.getDouble("Sounds."+soundType.toString()+".Pitch") < 0) { - plugin.getLogger().info("[mcMMO] Sound pitch cannot be below 0 for "+soundType.toString()); + mcMMO.p.getLogger().info("[mcMMO] Sound pitch cannot be below 0 for "+soundType.toString()); return false; } } diff --git a/src/main/java/com/gmail/nossr50/config/mods/CustomArmorConfig.java b/src/main/java/com/gmail/nossr50/config/mods/CustomArmorConfig.java index 76686f82d..94c30580a 100644 --- a/src/main/java/com/gmail/nossr50/config/mods/CustomArmorConfig.java +++ b/src/main/java/com/gmail/nossr50/config/mods/CustomArmorConfig.java @@ -3,6 +3,7 @@ package com.gmail.nossr50.config.mods; import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.datatypes.skills.ItemType; import com.gmail.nossr50.datatypes.skills.MaterialType; +import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.repair.repairables.Repairable; import com.gmail.nossr50.skills.repair.repairables.RepairableFactory; import org.bukkit.Material; @@ -62,7 +63,7 @@ public class CustomArmorConfig extends ConfigLoader { Material armorMaterial = Material.matchMaterial(armorName); if (armorMaterial == null) { - plugin.getLogger().warning("Invalid material name. This item will be skipped. - " + armorName); + mcMMO.p.getLogger().warning("Invalid material name. This item will be skipped. - " + armorName); continue; } @@ -70,7 +71,7 @@ public class CustomArmorConfig extends ConfigLoader { Material repairMaterial = Material.matchMaterial(config.getString(armorType + "." + armorName + ".Repair_Material", "")); if (repairable && (repairMaterial == null)) { - plugin.getLogger().warning("Incomplete repair information. This item will be unrepairable. - " + armorName); + mcMMO.p.getLogger().warning("Incomplete repair information. This item will be unrepairable. - " + armorName); repairable = false; } diff --git a/src/main/java/com/gmail/nossr50/config/mods/CustomBlockConfig.java b/src/main/java/com/gmail/nossr50/config/mods/CustomBlockConfig.java index 2b30ec0cf..881b483fe 100644 --- a/src/main/java/com/gmail/nossr50/config/mods/CustomBlockConfig.java +++ b/src/main/java/com/gmail/nossr50/config/mods/CustomBlockConfig.java @@ -2,6 +2,7 @@ package com.gmail.nossr50.config.mods; import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.datatypes.mods.CustomBlock; +import com.gmail.nossr50.mcMMO; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; @@ -66,7 +67,7 @@ public class CustomBlockConfig extends ConfigLoader { Material blockMaterial = Material.matchMaterial(blockInfo[0]); if (blockMaterial == null) { - plugin.getLogger().warning("Invalid material name. This item will be skipped. - " + blockInfo[0]); + mcMMO.p.getLogger().warning("Invalid material name. This item will be skipped. - " + blockInfo[0]); continue; } diff --git a/src/main/java/com/gmail/nossr50/config/mods/CustomEntityConfig.java b/src/main/java/com/gmail/nossr50/config/mods/CustomEntityConfig.java index 549836152..64155043d 100644 --- a/src/main/java/com/gmail/nossr50/config/mods/CustomEntityConfig.java +++ b/src/main/java/com/gmail/nossr50/config/mods/CustomEntityConfig.java @@ -2,6 +2,7 @@ package com.gmail.nossr50.config.mods; import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.datatypes.mods.CustomEntity; +import com.gmail.nossr50.mcMMO; import org.apache.commons.lang.ClassUtils; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -32,8 +33,8 @@ public class CustomEntityConfig extends ConfigLoader { clazz = ClassUtils.getClass(className); } catch (ClassNotFoundException e) { - plugin.getLogger().warning("Invalid class (" + className + ") detected for " + entityName + "."); - plugin.getLogger().warning("This custom entity may not function properly."); + mcMMO.p.getLogger().warning("Invalid class (" + className + ") detected for " + entityName + "."); + mcMMO.p.getLogger().warning("This custom entity may not function properly."); } String entityTypeName = entityName.replace("_", "."); @@ -48,7 +49,7 @@ public class CustomEntityConfig extends ConfigLoader { int callOfTheWildAmount = config.getInt(entityName + ".COTW_Material_Amount"); if (canBeSummoned && (callOfTheWildMaterial == null || callOfTheWildAmount == 0)) { - plugin.getLogger().warning("Incomplete Call of the Wild information. This entity will not be able to be summoned by Call of the Wild."); + mcMMO.p.getLogger().warning("Incomplete Call of the Wild information. This entity will not be able to be summoned by Call of the Wild."); canBeSummoned = false; } diff --git a/src/main/java/com/gmail/nossr50/config/mods/CustomToolConfig.java b/src/main/java/com/gmail/nossr50/config/mods/CustomToolConfig.java index 104fb3726..28dd85b58 100644 --- a/src/main/java/com/gmail/nossr50/config/mods/CustomToolConfig.java +++ b/src/main/java/com/gmail/nossr50/config/mods/CustomToolConfig.java @@ -4,6 +4,7 @@ import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.datatypes.mods.CustomTool; import com.gmail.nossr50.datatypes.skills.ItemType; import com.gmail.nossr50.datatypes.skills.MaterialType; +import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.repair.repairables.Repairable; import com.gmail.nossr50.skills.repair.repairables.RepairableFactory; import org.bukkit.Material; @@ -70,7 +71,7 @@ public class CustomToolConfig extends ConfigLoader { Material toolMaterial = Material.matchMaterial(toolName); if (toolMaterial == null) { - plugin.getLogger().warning("Invalid material name. This item will be skipped. - " + toolName); + mcMMO.p.getLogger().warning("Invalid material name. This item will be skipped. - " + toolName); continue; } @@ -78,7 +79,7 @@ public class CustomToolConfig extends ConfigLoader { Material repairMaterial = Material.matchMaterial(config.getString(toolType + "." + toolName + ".Repair_Material", "")); if (repairable && (repairMaterial == null)) { - plugin.getLogger().warning("Incomplete repair information. This item will be unrepairable. - " + toolName); + mcMMO.p.getLogger().warning("Incomplete repair information. This item will be unrepairable. - " + toolName); repairable = false; } diff --git a/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfig.java b/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfig.java index c5ff8846c..02066fc98 100644 --- a/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfig.java +++ b/src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfig.java @@ -182,7 +182,7 @@ public class RepairConfig extends ConfigLoader { private boolean noErrorsInRepairable(List issues) { for (String issue : issues) { - plugin.getLogger().warning(issue); + mcMMO.p.getLogger().warning(issue); } return issues.isEmpty(); 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 66e107d09..47bc7acea 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 @@ -200,12 +200,12 @@ public class SalvageConfig extends ConfigLoader { private boolean noErrorsInSalvageable(List issues) { if (!issues.isEmpty()) { - plugin.getLogger().warning("Errors have been found in: " + fileName); - plugin.getLogger().warning("The following issues were found:"); + mcMMO.p.getLogger().warning("Errors have been found in: " + fileName); + mcMMO.p.getLogger().warning("The following issues were found:"); } for (String issue : issues) { - plugin.getLogger().warning(issue); + mcMMO.p.getLogger().warning(issue); } return issues.isEmpty(); diff --git a/src/main/java/com/gmail/nossr50/config/treasure/FishingTreasureConfig.java b/src/main/java/com/gmail/nossr50/config/treasure/FishingTreasureConfig.java index bfd814889..dc129344d 100755 --- a/src/main/java/com/gmail/nossr50/config/treasure/FishingTreasureConfig.java +++ b/src/main/java/com/gmail/nossr50/config/treasure/FishingTreasureConfig.java @@ -348,7 +348,7 @@ public class FishingTreasureConfig extends ConfigLoader { Enchantment enchantment = EnchantmentUtils.getByName(enchantmentName); if (enchantment == null) { - plugin.getLogger().warning("Skipping invalid enchantment in " + FILENAME + ": " + enchantmentName); + mcMMO.p.getLogger().warning("Skipping invalid enchantment in " + FILENAME + ": " + enchantmentName); continue; } diff --git a/src/main/java/com/gmail/nossr50/skills/child/ChildConfig.java b/src/main/java/com/gmail/nossr50/skills/child/ChildConfig.java index 3ac703ec8..4944fb97c 100644 --- a/src/main/java/com/gmail/nossr50/skills/child/ChildConfig.java +++ b/src/main/java/com/gmail/nossr50/skills/child/ChildConfig.java @@ -17,12 +17,12 @@ public class ChildConfig extends AutoUpdateConfigLoader { @Override protected void loadKeys() { - config.setDefaults(YamlConfiguration.loadConfiguration(plugin.getResourceAsReader("child.yml"))); + config.setDefaults(YamlConfiguration.loadConfiguration(mcMMO.p.getResourceAsReader("child.yml"))); FamilyTree.clearRegistrations(); // when reloading, need to clear statics for (PrimarySkillType skill : mcMMO.p.getSkillTools().CHILD_SKILLS) { - plugin.debug("Finding parents of " + skill.name()); + mcMMO.p.debug("Finding parents of " + skill.name()); EnumSet parentSkills = EnumSet.noneOf(PrimarySkillType.class); boolean useDefaults = false; // If we had an error we back out and use defaults @@ -34,7 +34,7 @@ public class ChildConfig extends AutoUpdateConfigLoader { parentSkills.add(parentSkill); } catch (IllegalArgumentException ex) { - plugin.getLogger().warning(name + " is not a valid skill type, or is a child skill!"); + mcMMO.p.getLogger().warning(name + " is not a valid skill type, or is a child skill!"); useDefaults = true; break; } @@ -53,7 +53,7 @@ public class ChildConfig extends AutoUpdateConfigLoader { // Register them for (PrimarySkillType parentSkill : parentSkills) { - plugin.debug("Registering " + parentSkill.name() + " as parent of " + skill.name()); + mcMMO.p.debug("Registering " + parentSkill.name() + " as parent of " + skill.name()); FamilyTree.registerParent(skill, parentSkill); } } diff --git a/src/main/java/com/gmail/nossr50/util/upgrade/UpgradeManager.java b/src/main/java/com/gmail/nossr50/util/upgrade/UpgradeManager.java index 55c747ffd..3ed01d378 100644 --- a/src/main/java/com/gmail/nossr50/util/upgrade/UpgradeManager.java +++ b/src/main/java/com/gmail/nossr50/util/upgrade/UpgradeManager.java @@ -2,6 +2,7 @@ package com.gmail.nossr50.util.upgrade; import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.datatypes.database.UpgradeType; +import com.gmail.nossr50.mcMMO; import java.util.Arrays; import java.util.EnumSet; @@ -40,7 +41,7 @@ public class UpgradeManager extends ConfigLoader { return; } - plugin.debug("Saving upgrade status for type " + type.toString() + "..."); + mcMMO.p.debug("Saving upgrade status for type " + type.toString() + "..."); config.set("Upgrades_Finished." + type.toString(), true); @@ -60,6 +61,6 @@ public class UpgradeManager extends ConfigLoader { } } - plugin.debug("Needed upgrades: " + Arrays.toString(setNeededUpgrades.toArray(new UpgradeType[setNeededUpgrades.size()]))); + mcMMO.p.debug("Needed upgrades: " + Arrays.toString(setNeededUpgrades.toArray(new UpgradeType[setNeededUpgrades.size()]))); } }