diff --git a/src/main/java/net/Indyuce/mmoitems/command/mmoitems/ReloadCommandTreeNode.java b/src/main/java/net/Indyuce/mmoitems/command/mmoitems/ReloadCommandTreeNode.java index 363f284f..aa816681 100644 --- a/src/main/java/net/Indyuce/mmoitems/command/mmoitems/ReloadCommandTreeNode.java +++ b/src/main/java/net/Indyuce/mmoitems/command/mmoitems/ReloadCommandTreeNode.java @@ -2,12 +2,11 @@ package net.Indyuce.mmoitems.command.mmoitems; import net.Indyuce.mmoitems.MMOItems; import net.mmogroup.mmolib.command.api.CommandTreeNode; - -import java.util.function.Consumer; - import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; +import java.util.function.Consumer; + public class ReloadCommandTreeNode extends CommandTreeNode { public ReloadCommandTreeNode(CommandTreeNode parent) { super(parent, "reload"); @@ -65,7 +64,7 @@ public class ReloadCommandTreeNode extends CommandTreeNode { } public void reloadRecipes(CommandSender sender) { - MMOItems.plugin.getRecipes().reloadRecipes(); + MMOItems.plugin.getRecipes().reload(); sender.sendMessage(MMOItems.plugin.getPrefix() + "Successfully reloaded recipes."); sender.sendMessage(MMOItems.plugin.getPrefix() + "- " + ChatColor.RED + (MMOItems.plugin.getRecipes().getLoadedRecipes().size() diff --git a/src/main/java/net/Indyuce/mmoitems/manager/BlockManager.java b/src/main/java/net/Indyuce/mmoitems/manager/BlockManager.java index ad09385f..6ede58dd 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/BlockManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/BlockManager.java @@ -1,19 +1,5 @@ package net.Indyuce.mmoitems.manager; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.logging.Level; - -import org.bukkit.Material; -import org.bukkit.block.BlockFace; -import org.bukkit.block.data.BlockData; -import org.bukkit.block.data.MultipleFacing; - import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.Type; import net.Indyuce.mmoitems.api.block.CustomBlock; @@ -22,8 +8,15 @@ import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate; import net.Indyuce.mmoitems.api.util.MushroomState; import net.Indyuce.mmoitems.stat.data.DoubleData; import net.Indyuce.mmoitems.stat.type.ItemStat; +import org.bukkit.Material; +import org.bukkit.block.BlockFace; +import org.bukkit.block.data.BlockData; +import org.bukkit.block.data.MultipleFacing; -public class BlockManager { +import java.util.*; +import java.util.logging.Level; + +public class BlockManager implements Reloadable { private final static List downIds = Arrays.asList(new Integer[] { 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, diff --git a/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java b/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java index 1fac6b53..1552637d 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java @@ -28,7 +28,7 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.logging.Level; -public class ConfigManager { +public class ConfigManager implements Reloadable { // cached config files private ConfigFile abilities, items, loreFormat, messages, potionEffects, stats, attackEffects, dynLore; diff --git a/src/main/java/net/Indyuce/mmoitems/manager/CraftingManager.java b/src/main/java/net/Indyuce/mmoitems/manager/CraftingManager.java index 6baaa446..3b039875 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/CraftingManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/CraftingManager.java @@ -1,49 +1,30 @@ package net.Indyuce.mmoitems.manager; -import java.io.File; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.logging.Level; - -import org.bukkit.Bukkit; -import org.bukkit.configuration.file.YamlConfiguration; - import com.google.gson.JsonParser; - import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.ConfigFile; import net.Indyuce.mmoitems.api.crafting.ConditionalDisplay; import net.Indyuce.mmoitems.api.crafting.CraftingStation; -import net.Indyuce.mmoitems.api.crafting.condition.ClassCondition; -import net.Indyuce.mmoitems.api.crafting.condition.Condition; -import net.Indyuce.mmoitems.api.crafting.condition.FoodCondition; -import net.Indyuce.mmoitems.api.crafting.condition.LevelCondition; -import net.Indyuce.mmoitems.api.crafting.condition.ManaCondition; -import net.Indyuce.mmoitems.api.crafting.condition.PermissionCondition; -import net.Indyuce.mmoitems.api.crafting.condition.StaminaCondition; +import net.Indyuce.mmoitems.api.crafting.condition.*; import net.Indyuce.mmoitems.api.crafting.ingredient.Ingredient; import net.Indyuce.mmoitems.api.crafting.ingredient.MMOItemIngredient; import net.Indyuce.mmoitems.api.crafting.ingredient.VanillaIngredient; -import net.Indyuce.mmoitems.api.crafting.trigger.CommandTrigger; -import net.Indyuce.mmoitems.api.crafting.trigger.MMOItemTrigger; -import net.Indyuce.mmoitems.api.crafting.trigger.MessageTrigger; -import net.Indyuce.mmoitems.api.crafting.trigger.SoundTrigger; -import net.Indyuce.mmoitems.api.crafting.trigger.Trigger; -import net.Indyuce.mmoitems.api.crafting.trigger.VanillaTrigger; +import net.Indyuce.mmoitems.api.crafting.trigger.*; import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicItemIngredient; import net.Indyuce.mmoitems.comp.mythicmobs.crafting.MythicMobsSkillTrigger; import net.mmogroup.mmolib.api.MMOLineConfig; import net.mmogroup.mmolib.api.item.NBTItem; import net.mmogroup.mmolib.api.util.AltChar; +import org.bukkit.Bukkit; +import org.bukkit.configuration.file.YamlConfiguration; -public class CraftingManager { +import java.io.File; +import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.logging.Level; + +public class CraftingManager implements Reloadable { /* * order matters when trying to recognize an ingredient type: if none diff --git a/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java b/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java index 25ffb2ab..8eddae6f 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/DropTableManager.java @@ -31,7 +31,7 @@ import java.util.Map; import java.util.Optional; import java.util.logging.Level; -public class DropTableManager implements Listener { +public class DropTableManager implements Listener, Reloadable { private final Map monsters = new HashMap<>(); private final Map blocks = new HashMap<>(); private final Map customBlocks = new HashMap<>(); diff --git a/src/main/java/net/Indyuce/mmoitems/manager/LayoutManager.java b/src/main/java/net/Indyuce/mmoitems/manager/LayoutManager.java index da1086d7..96d9fb0d 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/LayoutManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/LayoutManager.java @@ -1,17 +1,16 @@ package net.Indyuce.mmoitems.manager; +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.crafting.Layout; +import org.bukkit.configuration.file.YamlConfiguration; + import java.io.File; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; -import org.bukkit.configuration.file.YamlConfiguration; - -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.crafting.Layout; - -public class LayoutManager { +public class LayoutManager implements Reloadable { private final Map layouts = new HashMap<>(); public void reload() { diff --git a/src/main/java/net/Indyuce/mmoitems/manager/LoreFormatManager.java b/src/main/java/net/Indyuce/mmoitems/manager/LoreFormatManager.java index 09d913c5..e255f817 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/LoreFormatManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/LoreFormatManager.java @@ -1,5 +1,9 @@ package net.Indyuce.mmoitems.manager; +import net.Indyuce.mmoitems.MMOItems; +import org.apache.commons.lang3.Validate; +import org.bukkit.configuration.file.YamlConfiguration; + import java.io.File; import java.util.Collection; import java.util.HashMap; @@ -7,12 +11,7 @@ import java.util.List; import java.util.Map; import java.util.logging.Level; -import org.apache.commons.lang3.Validate; -import org.bukkit.configuration.file.YamlConfiguration; - -import net.Indyuce.mmoitems.MMOItems; - -public class LoreFormatManager { +public class LoreFormatManager implements Reloadable { private final Map> formats = new HashMap<>(); public void reload() { diff --git a/src/main/java/net/Indyuce/mmoitems/manager/RecipeManager.java b/src/main/java/net/Indyuce/mmoitems/manager/RecipeManager.java index 6b9daf7b..2af67ed1 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/RecipeManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/RecipeManager.java @@ -1,27 +1,5 @@ package net.Indyuce.mmoitems.manager; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.stream.Collectors; - -import org.bukkit.Bukkit; -import org.bukkit.Keyed; -import org.bukkit.Material; -import org.bukkit.NamespacedKey; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.inventory.BlastingRecipe; -import org.bukkit.inventory.CampfireRecipe; -import org.bukkit.inventory.FurnaceRecipe; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.Recipe; -import org.bukkit.inventory.RecipeChoice; -import org.bukkit.inventory.SmokingRecipe; - import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.Type; import net.Indyuce.mmoitems.api.item.template.MMOItemTemplate; @@ -31,8 +9,23 @@ import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.MMOItemIngredient; import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.VanillaIngredient; import net.Indyuce.mmoitems.api.recipe.workbench.ingredients.WorkbenchIngredient; import net.mmogroup.mmolib.MMOLib; +import org.bukkit.Bukkit; +import org.bukkit.Keyed; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.Player; +import org.bukkit.inventory.*; -public class RecipeManager { +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.logging.Level; +import java.util.stream.Collectors; + +public class RecipeManager implements Reloadable { /** * Custom recipes which are handled by MMOItems */ @@ -163,7 +156,7 @@ public class RecipeManager { /** * Unregisters bukkit recipes and loads everything again */ - public void reloadRecipes() { + public void reload() { Bukkit.getScheduler().runTask(MMOItems.plugin, () -> { for (NamespacedKey recipe : getNamespacedKeys()) Bukkit.removeRecipe(recipe); diff --git a/src/main/java/net/Indyuce/mmoitems/manager/Reloadable.java b/src/main/java/net/Indyuce/mmoitems/manager/Reloadable.java new file mode 100644 index 00000000..30585c54 --- /dev/null +++ b/src/main/java/net/Indyuce/mmoitems/manager/Reloadable.java @@ -0,0 +1,5 @@ +package net.Indyuce.mmoitems.manager; + +public interface Reloadable { + public void reload(); +} diff --git a/src/main/java/net/Indyuce/mmoitems/manager/SetManager.java b/src/main/java/net/Indyuce/mmoitems/manager/SetManager.java index 793d9be1..7472cfd8 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/SetManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/SetManager.java @@ -1,15 +1,15 @@ package net.Indyuce.mmoitems.manager; +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.ConfigFile; +import net.Indyuce.mmoitems.api.ItemSet; + import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.ConfigFile; -import net.Indyuce.mmoitems.api.ItemSet; - -public class SetManager { +public class SetManager implements Reloadable { private final Map itemSets = new HashMap<>(); public SetManager() { diff --git a/src/main/java/net/Indyuce/mmoitems/manager/TemplateManager.java b/src/main/java/net/Indyuce/mmoitems/manager/TemplateManager.java index 2f729b78..ed438e47 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/TemplateManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/TemplateManager.java @@ -18,7 +18,7 @@ import java.util.Map; import java.util.Random; import java.util.logging.Level; -public class TemplateManager { +public class TemplateManager implements Reloadable { /* * registered mmoitem templates diff --git a/src/main/java/net/Indyuce/mmoitems/manager/TierManager.java b/src/main/java/net/Indyuce/mmoitems/manager/TierManager.java index 171ffce8..73f3508e 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/TierManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/TierManager.java @@ -1,19 +1,18 @@ package net.Indyuce.mmoitems.manager; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.logging.Level; - -import org.apache.commons.lang.Validate; - import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.ConfigFile; import net.Indyuce.mmoitems.api.ItemTier; import net.Indyuce.mmoitems.api.item.mmoitem.MMOItem; import net.Indyuce.mmoitems.stat.type.ItemStat; +import org.apache.commons.lang.Validate; -public class TierManager { +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Level; + +public class TierManager implements Reloadable { private final Map tiers = new HashMap<>(); public TierManager() { diff --git a/src/main/java/net/Indyuce/mmoitems/manager/TypeManager.java b/src/main/java/net/Indyuce/mmoitems/manager/TypeManager.java index e408a4ff..8f07b256 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/TypeManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/TypeManager.java @@ -1,19 +1,18 @@ package net.Indyuce.mmoitems.manager; +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.ConfigFile; +import net.Indyuce.mmoitems.api.Type; +import net.Indyuce.mmoitems.manager.ConfigManager.DefaultFile; +import org.apache.commons.lang.Validate; + import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.logging.Level; -import org.apache.commons.lang.Validate; - -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.ConfigFile; -import net.Indyuce.mmoitems.api.Type; -import net.Indyuce.mmoitems.manager.ConfigManager.DefaultFile; - -public class TypeManager { +public class TypeManager implements Reloadable { private final Map map = new LinkedHashMap<>(); /** diff --git a/src/main/java/net/Indyuce/mmoitems/manager/UpgradeManager.java b/src/main/java/net/Indyuce/mmoitems/manager/UpgradeManager.java index 1ac814a2..89b0ffc6 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/UpgradeManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/UpgradeManager.java @@ -1,17 +1,16 @@ package net.Indyuce.mmoitems.manager; +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.ConfigFile; +import net.Indyuce.mmoitems.api.UpgradeTemplate; +import org.bukkit.configuration.file.FileConfiguration; + import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; -import org.bukkit.configuration.file.FileConfiguration; - -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.ConfigFile; -import net.Indyuce.mmoitems.api.UpgradeTemplate; - -public class UpgradeManager { +public class UpgradeManager implements Reloadable { private final Map templates = new HashMap<>(); public UpgradeManager() { diff --git a/src/main/java/net/Indyuce/mmoitems/manager/WorldGenManager.java b/src/main/java/net/Indyuce/mmoitems/manager/WorldGenManager.java index 5974129b..aec83499 100644 --- a/src/main/java/net/Indyuce/mmoitems/manager/WorldGenManager.java +++ b/src/main/java/net/Indyuce/mmoitems/manager/WorldGenManager.java @@ -1,10 +1,9 @@ package net.Indyuce.mmoitems.manager; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.logging.Level; - +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.ConfigFile; +import net.Indyuce.mmoitems.api.block.CustomBlock; +import net.Indyuce.mmoitems.api.block.WorldGenTemplate; import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -15,12 +14,12 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.world.ChunkLoadEvent; -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.ConfigFile; -import net.Indyuce.mmoitems.api.block.CustomBlock; -import net.Indyuce.mmoitems.api.block.WorldGenTemplate; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; +import java.util.logging.Level; -public class WorldGenManager implements Listener { +public class WorldGenManager implements Listener, Reloadable { private final Map templates = new HashMap<>(); /*