--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2012/01/27 12:21:27 1684 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2012/10/14 11:36:45 1856 @@ -1,15 +1,21 @@ package dk.thoerup.bukkit.hoeruputils; -import org.bukkit.event.Event; -import org.bukkit.event.Event.Priority; +import java.util.ArrayList; +import java.util.List; + import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; - +import dk.thoerup.bukkit.hoeruputils.chests.AdvancedChest; +import dk.thoerup.bukkit.hoeruputils.chests.ChestBean; +import dk.thoerup.bukkit.hoeruputils.creative.GeneralContractorCommands; +import dk.thoerup.bukkit.hoeruputils.message.MessageBean; +import dk.thoerup.bukkit.hoeruputils.message.MessageWrapper; import dk.thoerup.bukkit.hoeruputils.secretdoor.DoorBlockListener; -import dk.thoerup.bukkit.hoeruputils.web.MessageListener; -import dk.thoerup.bukkit.hoeruputils.web.StatusListener; +import dk.thoerup.bukkit.hoeruputils.web.WebLoader; +import dk.thoerup.bukkit.hoeruputils.web.WebUser; +import dk.thoerup.bukkit.hoeruputils.web.WebUserCommand; public class HoerupUtilsPlugin extends JavaPlugin { @@ -17,6 +23,8 @@ public void onDisable() { // TODO Auto-generated method stub } + + MessageWrapper messageWrapper; @Override @@ -26,7 +34,7 @@ //getCommand("mapgen").setExecutor(new MapgenCommand(this)); getCommand("eternalday").setExecutor(new EternalDayCommand(this)); getCommand("getpos").setExecutor( new GetposCommand() ); - getCommand("msg").setExecutor( new MsgCommand( getServer() ) ); + getCommand("msg").setExecutor( new MsgCommand( this ) ); getCommand("tp").setExecutor( new TeleportCommand() ); getCommand("wall").setExecutor( new WallCommand() ); @@ -38,10 +46,25 @@ HomeCommand home = new HomeCommand(this); getCommand("home").setExecutor( home ); getCommand("sethome").setExecutor( home ); + getCommand("ophome").setExecutor( home ); DiverCommand diver = new DiverCommand(this ); getCommand("diver").setExecutor( diver ); + getCommand("opkill").setExecutor( new OpkillCommand() ); + + GeneralContractorCommands generalContractor = new GeneralContractorCommands(); + getCommand("replay").setExecutor( generalContractor ); + getCommand("levelarea").setExecutor( generalContractor ); + getCommand("fillarea").setExecutor( generalContractor ); + getCommand("slopearea").setExecutor( generalContractor ); + getCommand("setsurface").setExecutor( generalContractor ); + getCommand("platform").setExecutor( generalContractor ); + getCommand("cylinder").setExecutor( generalContractor ); + getCommand("createcave").setExecutor( generalContractor ); + getCommand("spawn").setExecutor( new SpawnCommand() ); + + getCommand("template").setExecutor( new TemplateCommand(this) ); LogintimeHandler logintimeHandler = new LogintimeHandler( this.getDataFolder() ); @@ -49,19 +72,64 @@ PluginManager pm = getServer().getPluginManager(); + MotdHandler motd = new MotdHandler(this); + getCommand("motd").setExecutor( motd ); + pm.registerEvents( motd, this); + + pm.registerEvents(logintimeHandler, this); pm.registerEvents(logintimeHandler, this); pm.registerEvents(diver, this); + pm.registerEvents(new EndermanStopper(), this); - pm.registerEvents(new EndermanStopper(), this); + Jail jail = new Jail(this); + pm.registerEvents(jail, this); + getCommand("jail").setExecutor( jail ); + + + + + + Runnable ddlInstaller = new Runnable() { + @Override + public void run() { + System.out.println("installddl"); + installDDL(); + } + }; + messageWrapper = new MessageWrapper(this, ddlInstaller); + pm.registerEvents( messageWrapper, this); + + AdvancedChest locked = new AdvancedChest(this, ddlInstaller); + getCommand("chest").setExecutor(locked); + pm.registerEvents( locked, this); + + + getCommand("webuser").setExecutor( new WebUserCommand(this,ddlInstaller) ); + //register web plugins - pm.registerEvent(Event.Type.CUSTOM_EVENT, new StatusListener(getServer(), logintimeHandler.getConfig(), home.getConfig() ), Priority.Normal, this); - pm.registerEvent(Event.Type.CUSTOM_EVENT, new MessageListener(getServer()), Priority.Normal, this); + //pm.registerEvent(Event.Type.CUSTOM_EVENT, new StatusListener(getServer(), logintimeHandler.getConfig(), home.getConfig() ), Priority.Normal, this); + //pm.registerEvent(Event.Type.CUSTOM_EVENT, new MessageListener(getServer()), Priority.Normal, this); + + try { + try { + //først probes om klassen i det hele taget findes + Class.forName("de.codeinfection.quickwango.ApiBukkit.ApiServer.ApiController"); //if it fails it throws an exception + WebLoader.getInstance().load(this, logintimeHandler.getConfig(), home.getConfig()); + + getLogger().info("ApiBukkit found, status listener registered"); + + } catch (ClassNotFoundException e) { + getLogger().warning("Could not find ApiBukkit - web status is disabled" ); + } + } catch (Throwable e) { //instead of ClassNotFoundException + NoSuchMethodException + InvocationTargetException + IllegalAccessException + getLogger().warning("Could not find ApiBukkit - web status is disabled (" + e.getClass().getName() + ":" + e.getMessage() + ")" ); + } @@ -71,6 +139,22 @@ pm.registerEvents(secretDoor.getPlayerListener(), this); } + + public MessageWrapper getMessageWrapper() { + return messageWrapper; + } + + //@SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public List> getDatabaseClasses() { + List> list = new ArrayList>(); + + list.add(MessageBean.class); + list.add(ChestBean.class); + list.add(WebUser.class); + + return list; + } private void deprecated() { /*