package me.lethunderhawk.custom.item; import me.lethunderhawk.bazaarflux.service.Services; import me.lethunderhawk.bazaarflux.util.interfaces.BazaarFluxModule; import me.lethunderhawk.custom.item.command.CustomItemCommand; import me.lethunderhawk.custom.item.concrete.ClaimTool; import me.lethunderhawk.custom.item.listener.CustomItemListener; import me.lethunderhawk.custom.item.manager.CustomItemManager; import me.lethunderhawk.main.Main; import org.bukkit.command.CommandSender; import org.bukkit.event.HandlerList; public class CustomItemModule extends BazaarFluxModule{ private CustomItemManager itemManager; private CustomItemListener listener; public CustomItemModule() { super(Services.get(Main.class)); } private void registerCustomItems(){ itemManager.registerItem(new ClaimTool(plugin)); } @Override public String getPrefix() { return "[CustomItem]"; } @Override public void onEnable(){ itemManager = new CustomItemManager(plugin); registerCustomItems(); registerCommands(); listener = new CustomItemListener(itemManager); plugin.getServer().getPluginManager().registerEvents( listener, plugin ); } private void registerCommands() { CustomItemCommand customItemCommand = new CustomItemCommand(itemManager, this); Services.get(Main.class).getCommand("customItem").setExecutor(customItemCommand); Services.get(Main.class).getCommand("customItem").setTabCompleter(customItemCommand); } @Override public void onDisable() { HandlerList.unregisterAll(listener); itemManager = null; } public CustomItemManager getManager() { return itemManager; } public void reload(CommandSender sender, String[] strings) { if(sender.hasPermission("customItem.reload")) { onDisable(); onEnable(); } } }