--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2012/05/28 15:36:28 1805 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java 2013/04/11 14:18:59 1968 @@ -1,21 +1,24 @@ package dk.thoerup.bukkit.hoeruputils; +import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; -import dk.thoerup.bukkit.hoeruputils.chests.LockedChest; -import dk.thoerup.bukkit.hoeruputils.chests.LockedChestBean; -import dk.thoerup.bukkit.hoeruputils.chests.SnitchingChest; -import dk.thoerup.bukkit.hoeruputils.chests.SnitchingChestBean; +import com.sun.net.httpserver.HttpServer; + +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.WebLoader; +import dk.thoerup.bukkit.hoeruputils.web.BanListener; +import dk.thoerup.bukkit.hoeruputils.web.StatusListener; import dk.thoerup.bukkit.hoeruputils.web.WebUser; import dk.thoerup.bukkit.hoeruputils.web.WebUserCommand; @@ -23,10 +26,13 @@ @Override public void onDisable() { - // TODO Auto-generated method stub + if ( server != null ) { + server.stop( 0 ); + } } MessageWrapper messageWrapper; + HttpServer server = null; @Override @@ -48,9 +54,12 @@ 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 ); @@ -61,7 +70,7 @@ getCommand("platform").setExecutor( generalContractor ); getCommand("cylinder").setExecutor( generalContractor ); getCommand("createcave").setExecutor( generalContractor ); - + getCommand("spawn").setExecutor( new SpawnCommand() ); getCommand("template").setExecutor( new TemplateCommand(this) ); @@ -71,6 +80,16 @@ PluginManager pm = getServer().getPluginManager(); + MotdHandler motd = new MotdHandler(this); + getCommand("motd").setExecutor( motd ); + pm.registerEvents( motd, this); + + WayPoint wp = new WayPoint(this); + getCommand("waypoint").setExecutor( wp ); + getCommand("setwaypoint").setExecutor( wp ); + pm.registerEvents( wp, this); + + pm.registerEvents(logintimeHandler, this); pm.registerEvents(logintimeHandler, this); @@ -78,10 +97,19 @@ pm.registerEvents(diver, this); pm.registerEvents(new EndermanStopper(), this); - - - - + + Jail jail = new Jail(this); + pm.registerEvents(jail, this); + getCommand("jail").setExecutor( jail ); + + StickyChunk chunks = new StickyChunk(); + pm.registerEvents(chunks, this); + getCommand("stickychunk").setExecutor(chunks); + + Mute mute = new Mute(this); + pm.registerEvents(mute, this); + getCommand("mute").setExecutor(mute); + getCommand("unmute").setExecutor(mute); Runnable ddlInstaller = new Runnable() { @@ -93,13 +121,9 @@ }; messageWrapper = new MessageWrapper(this, ddlInstaller); pm.registerEvents( messageWrapper, this); - - SnitchingChest snitch = new SnitchingChest(this, ddlInstaller); - getCommand("snitchingchest").setExecutor(snitch); - pm.registerEvents( snitch, this); - - LockedChest locked = new LockedChest(this, ddlInstaller); - getCommand("lockedchest").setExecutor(locked); + + AdvancedChest locked = new AdvancedChest(this, ddlInstaller); + getCommand("chest").setExecutor(locked); pm.registerEvents( locked, this); @@ -110,7 +134,7 @@ //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 { 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 @@ -123,6 +147,18 @@ } } catch (Throwable e) { //instead of ClassNotFoundException + NoSuchMethodException + InvocationTargetException + IllegalAccessException getLogger().warning("Could not find ApiBukkit - web status is disabled (" + e.getClass().getName() + ":" + e.getMessage() + ")" ); + }*/ + + try { + InetSocketAddress adr = new InetSocketAddress("127.0.0.1", 9999); + server = HttpServer.create(adr, 20); + server.createContext("/bans", new BanListener(this, getServer()) ); + server.createContext("/webstatus", new StatusListener(this, getServer(),logintimeHandler.getConfig(), home.getConfig()) ); + server.start(); + + } catch(Exception e) { + getLogger().log(Level.SEVERE, "Error loading webserver", e); + } @@ -130,10 +166,13 @@ DoorBlockListener secretDoor = new DoorBlockListener(this); pm.registerEvents(secretDoor, this); - pm.registerEvents(secretDoor.getPlayerListener(), this); - + pm.registerEvents(secretDoor.getPlayerListener(), this); } + + + + public MessageWrapper getMessageWrapper() { return messageWrapper; } @@ -144,8 +183,7 @@ List> list = new ArrayList>(); list.add(MessageBean.class); - list.add(SnitchingChestBean.class); - list.add(LockedChestBean.class); + list.add(ChestBean.class); list.add(WebUser.class); return list;