CustomItemModule.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package me.lethunderhawk.custom.item;
  2. import me.lethunderhawk.bazaarflux.service.Services;
  3. import me.lethunderhawk.bazaarflux.util.interfaces.BazaarFluxModule;
  4. import me.lethunderhawk.custom.item.command.CustomItemCommand;
  5. import me.lethunderhawk.custom.item.concrete.ClaimTool;
  6. import me.lethunderhawk.custom.item.listener.CustomItemListener;
  7. import me.lethunderhawk.custom.item.manager.CustomItemManager;
  8. import me.lethunderhawk.main.Main;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.event.HandlerList;
  11. public class CustomItemModule extends BazaarFluxModule{
  12. private CustomItemManager itemManager;
  13. private CustomItemListener listener;
  14. public CustomItemModule() {
  15. super(Services.get(Main.class));
  16. }
  17. private void registerCustomItems(){
  18. itemManager.registerItem(new ClaimTool(plugin));
  19. }
  20. @Override
  21. public String getPrefix() {
  22. return "[CustomItem]";
  23. }
  24. @Override
  25. public void onEnable(){
  26. itemManager = new CustomItemManager(plugin);
  27. registerCustomItems();
  28. registerCommands();
  29. listener = new CustomItemListener(itemManager);
  30. plugin.getServer().getPluginManager().registerEvents(
  31. listener,
  32. plugin
  33. );
  34. }
  35. private void registerCommands() {
  36. CustomItemCommand customItemCommand = new CustomItemCommand(itemManager, this);
  37. Services.get(Main.class).getCommand("customItem").setExecutor(customItemCommand);
  38. Services.get(Main.class).getCommand("customItem").setTabCompleter(customItemCommand);
  39. }
  40. @Override
  41. public void onDisable() {
  42. HandlerList.unregisterAll(listener);
  43. itemManager = null;
  44. }
  45. public CustomItemManager getManager() {
  46. return itemManager;
  47. }
  48. public void reload(CommandSender sender, String[] strings) {
  49. if(sender.hasPermission("customItem.reload")) {
  50. onDisable();
  51. onEnable();
  52. }
  53. }
  54. }