CustomRecipeModule.java 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package me.lethunderhawk.custom.recipes;
  2. import me.lethunderhawk.custom.recipes.command.RecipeEditorCommand;
  3. import me.lethunderhawk.custom.recipes.enchantedVariant.EnchantedVariantRecipeManager;
  4. import me.lethunderhawk.fluxapi.FluxService;
  5. import me.lethunderhawk.fluxapi.util.config.ConfigLoader;
  6. import me.lethunderhawk.fluxapi.util.interfaces.FluxAPIModule;
  7. import org.bukkit.configuration.serialization.ConfigurationSerialization;
  8. import org.bukkit.event.HandlerList;
  9. import org.bukkit.plugin.java.JavaPlugin;
  10. public class CustomRecipeModule extends FluxAPIModule {
  11. private EnchantedVariantRecipeManager enchantedVariantRecipeManager;
  12. private RecipeManager recipeManager;
  13. public CustomRecipeModule(JavaPlugin plugin) {
  14. super(plugin);
  15. }
  16. @Override
  17. public String getPrefix() {
  18. return "[Custom Recipe]";
  19. }
  20. @Override
  21. public void onEnable() {
  22. ConfigurationSerialization.registerClass(CraftingTableRecipe.class);
  23. this.recipeManager = new RecipeManager(plugin);
  24. FluxService.register(RecipeManager.class, recipeManager);
  25. recipeManager.loadRecipes(FluxService.get(ConfigLoader.class));
  26. plugin.getServer().getPluginManager().registerEvents(recipeManager, plugin);
  27. RecipeEditorCommand command = new RecipeEditorCommand(this);
  28. plugin.getCommand("customrecipe").setExecutor(command);
  29. plugin.getCommand("customrecipe").setExecutor(command);
  30. }
  31. @Override
  32. public void onDisable() {
  33. if(recipeManager != null) {
  34. recipeManager.saveRecipes(FluxService.get(ConfigLoader.class));
  35. HandlerList.unregisterAll(recipeManager);
  36. }
  37. }
  38. }