--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2011/12/23 10:27:05 1673 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2012/03/21 17:04:29 1760 @@ -1,15 +1,14 @@ package dk.thoerup.bukkit.hoeruputils; -import org.bukkit.event.Event; -import org.bukkit.event.Event.Priority; +import java.lang.reflect.Method; + +import org.bukkit.configuration.Configuration; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; - +import dk.thoerup.bukkit.hoeruputils.creative.GeneralContractorCommands; import dk.thoerup.bukkit.hoeruputils.secretdoor.DoorBlockListener; -import dk.thoerup.bukkit.hoeruputils.web.MessageListener; -import dk.thoerup.bukkit.hoeruputils.web.StatusListener; public class HoerupUtilsPlugin extends JavaPlugin { @@ -41,42 +40,66 @@ DiverCommand diver = new DiverCommand(this ); getCommand("diver").setExecutor( diver ); + + 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("template").setExecutor( new TemplateCommand(this) ); LogintimeHandler logintimeHandler = new LogintimeHandler( this.getDataFolder() ); PluginManager pm = getServer().getPluginManager(); - //pm.registerEvent(Event.Type.PLAYER_RESPAWN, new RespawnHandler(this), Priority.Normal, this); - //pm.registerEvent(Event.Type.ENTITY_DEATH, new RespawnHandler.PlayerDeathListener(this.getDataFolder()), Priority.Normal, this); - pm.registerEvent(Event.Type.PLAYER_LOGIN, logintimeHandler, Priority.Normal, this); - pm.registerEvent(Event.Type.PLAYER_QUIT, logintimeHandler, Priority.Normal, this); + pm.registerEvents(logintimeHandler, this); + pm.registerEvents(logintimeHandler, this); - pm.registerEvent(Event.Type.PLAYER_QUIT, diver.getQuitHandler(), Priority.Normal, this); + pm.registerEvents(diver, this); - pm.registerEvent(Event.Type.ENDERMAN_PICKUP, new EndermanStopper(), Priority.Normal, this); + pm.registerEvents(new EndermanStopper(), this); //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"); + + Classwebloader = Class.forName("dk.thoerup.bukkit.hoeruputils.web.WebLoader"); + Method load = webloader.getMethod("load", HoerupUtilsPlugin.class, Configuration.class, Configuration.class); + Object args[] = {this, logintimeHandler.getConfig(), home.getConfig() }; + load.invoke(null, args); + + getLogger().warning("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() + ")" ); + } - - - - DoorBlockListener secretDoor = new DoorBlockListener(this); - pm.registerEvent(Event.Type.BLOCK_BREAK, secretDoor, Priority.Normal, this); - pm.registerEvent(Event.Type.SIGN_CHANGE, secretDoor, Priority.Normal, this); - pm.registerEvent(Event.Type.REDSTONE_CHANGE, secretDoor, Priority.Normal, this); - pm.registerEvent(Event.Type.PLAYER_INTERACT, secretDoor.getPlayerListener(), Priority.Normal, this); + pm.registerEvents(secretDoor, this); + pm.registerEvents(secretDoor.getPlayerListener(), this); } @@ -104,6 +127,9 @@ //pm.registerEvent(Event.Type.PROJECTILE_HIT, new ExplosiveSnowballs(), Priority.Normal, this); + //pm.registerEvent(Event.Type.PLAYER_RESPAWN, new RespawnHandler(this), Priority.Normal, this); + //pm.registerEvent(Event.Type.ENTITY_DEATH, new RespawnHandler.PlayerDeathListener(this.getDataFolder()), Priority.Normal, this); + */ }