--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2011/04/23 13:14:39 1378 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2012/03/21 19:24:25 1762 @@ -1,13 +1,15 @@ 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.web.MessageListener; -import dk.thoerup.bukkit.hoeruputils.web.StatusListener; +import dk.thoerup.bukkit.hoeruputils.creative.GeneralContractorCommands; +import dk.thoerup.bukkit.hoeruputils.secretdoor.DoorBlockListener; +import dk.thoerup.bukkit.hoeruputils.web.WebLoader; public class HoerupUtilsPlugin extends JavaPlugin { @@ -21,21 +23,110 @@ public void onEnable() { System.out.println("Loading HoerupUtils plugin"); getCommand("whereis").setExecutor(new WhereisCommand(getServer())); - getCommand("mapgen").setExecutor(new MapgenCommand(this)); + //getCommand("mapgen").setExecutor(new MapgenCommand(this)); getCommand("eternalday").setExecutor(new EternalDayCommand(this)); + getCommand("getpos").setExecutor( new GetposCommand() ); + getCommand("msg").setExecutor( new MsgCommand( getServer() ) ); + getCommand("tp").setExecutor( new TeleportCommand() ); + + getCommand("wall").setExecutor( new WallCommand() ); + getCommand("weather").setExecutor( new WeatherCommand() ); + + getCommand("gc").setExecutor( new GcCommand() ); + + + HomeCommand home = new HomeCommand(this); + getCommand("home").setExecutor( home ); + getCommand("sethome").setExecutor( home ); + + 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.registerEvents(logintimeHandler, this); + pm.registerEvents(logintimeHandler, this); + + pm.registerEvents(diver, this); + + + pm.registerEvents(new EndermanStopper(), this); + + //register web plugins - pm.registerEvent(Event.Type.CUSTOM_EVENT, new StatusListener(getServer()), 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().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.registerEvents(secretDoor, this); + pm.registerEvents(secretDoor.getPlayerListener(), this); - AdminDestroy adminDestroy = new AdminDestroy(); - pm.registerEvent(Event.Type.BLOCK_DAMAGE, adminDestroy, Priority.Normal, this); - getCommand("admindestroy").setExecutor(adminDestroy); + } + + private void deprecated() { +/* + getCommand("stoner").setExecutor( new StonerCommand() ); + getCommand("spawn").setExecutor( new SpawnCommand() ); + getCommand("boom").setExecutor( new BoomCommand(this) ); + getCommand("grass").setExecutor(new GrassCommand()); + + getCommand("zapme").setExecutor( new ZapmeCommand() ); + getCommand("zap").setExecutor( new ZapCommand() ); + + + PowerMiner powerMiner = new PowerMiner(); + pm.registerEvent(Event.Type.BLOCK_DAMAGE, powerMiner, Priority.Normal, this); + pm.registerEvent(Event.Type.PLAYER_QUIT, powerMiner.getPlayerQuitListener(), Priority.Normal, this); + getCommand("powerminer").setExecutor(powerMiner); + + SuperMiner superMiner = new SuperMiner(); + pm.registerEvent(Event.Type.BLOCK_DAMAGE, superMiner, Priority.Normal, this); + pm.registerEvent(Event.Type.PLAYER_QUIT, superMiner.getPlayerQuitListener(), Priority.Normal, this); + getCommand("superminer").setExecutor(superMiner); + + + //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); + +*/ } }