package me.lethunderhawk.custom.recipes; import me.lethunderhawk.custom.recipes.command.RecipeEditorCommand; import me.lethunderhawk.custom.recipes.enchantedVariant.EnchantedVariantRecipeManager; import me.lethunderhawk.fluxapi.FluxService; import me.lethunderhawk.fluxapi.util.config.ConfigLoader; import me.lethunderhawk.fluxapi.util.interfaces.FluxAPIModule; import org.bukkit.configuration.serialization.ConfigurationSerialization; import org.bukkit.event.HandlerList; import org.bukkit.plugin.java.JavaPlugin; public class CustomRecipeModule extends FluxAPIModule { private EnchantedVariantRecipeManager enchantedVariantRecipeManager; private RecipeManager recipeManager; public CustomRecipeModule(JavaPlugin plugin) { super(plugin); } @Override public String getPrefix() { return "[Custom Recipe]"; } @Override public void onEnable() { ConfigurationSerialization.registerClass(CraftingTableRecipe.class); this.recipeManager = new RecipeManager(plugin); FluxService.register(RecipeManager.class, recipeManager); recipeManager.loadRecipes(FluxService.get(ConfigLoader.class)); plugin.getServer().getPluginManager().registerEvents(recipeManager, plugin); RecipeEditorCommand command = new RecipeEditorCommand(this); plugin.getCommand("customrecipe").setExecutor(command); plugin.getCommand("customrecipe").setExecutor(command); } @Override public void onDisable() { if(recipeManager != null) { recipeManager.saveRecipes(FluxService.get(ConfigLoader.class)); HandlerList.unregisterAll(recipeManager); } } }