/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java
ViewVC logotype

Contents of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/HoerupUtilsPlugin.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1950 - (show annotations) (download)
Sat Mar 23 10:14:42 2013 UTC (11 years, 1 month ago) by torben
File size: 7369 byte(s)
Add option for setting a (temporary) waypoint
1 package dk.thoerup.bukkit.hoeruputils;
2
3
4 import java.net.InetSocketAddress;
5 import java.util.ArrayList;
6 import java.util.List;
7 import java.util.logging.Level;
8
9 import org.bukkit.plugin.PluginManager;
10 import org.bukkit.plugin.java.JavaPlugin;
11
12 import com.sun.net.httpserver.HttpServer;
13
14 import dk.thoerup.bukkit.hoeruputils.chests.AdvancedChest;
15 import dk.thoerup.bukkit.hoeruputils.chests.ChestBean;
16 import dk.thoerup.bukkit.hoeruputils.creative.GeneralContractorCommands;
17 import dk.thoerup.bukkit.hoeruputils.message.MessageBean;
18 import dk.thoerup.bukkit.hoeruputils.message.MessageWrapper;
19 import dk.thoerup.bukkit.hoeruputils.secretdoor.DoorBlockListener;
20 import dk.thoerup.bukkit.hoeruputils.web.BanListener;
21 import dk.thoerup.bukkit.hoeruputils.web.StatusListener;
22 import dk.thoerup.bukkit.hoeruputils.web.WebUser;
23 import dk.thoerup.bukkit.hoeruputils.web.WebUserCommand;
24
25 public class HoerupUtilsPlugin extends JavaPlugin {
26
27 @Override
28 public void onDisable() {
29 if ( server != null ) {
30 server.stop( 0 );
31 }
32 }
33
34 MessageWrapper messageWrapper;
35 HttpServer server = null;
36
37
38 @Override
39 public void onEnable() {
40 System.out.println("Loading HoerupUtils plugin");
41 getCommand("whereis").setExecutor(new WhereisCommand(getServer()));
42 //getCommand("mapgen").setExecutor(new MapgenCommand(this));
43 getCommand("eternalday").setExecutor(new EternalDayCommand(this));
44 getCommand("getpos").setExecutor( new GetposCommand() );
45 getCommand("msg").setExecutor( new MsgCommand( this ) );
46 getCommand("tp").setExecutor( new TeleportCommand() );
47
48 getCommand("wall").setExecutor( new WallCommand() );
49 getCommand("weather").setExecutor( new WeatherCommand() );
50
51 getCommand("gc").setExecutor( new GcCommand() );
52
53
54 HomeCommand home = new HomeCommand(this);
55 getCommand("home").setExecutor( home );
56 getCommand("sethome").setExecutor( home );
57 getCommand("ophome").setExecutor( home );
58
59 DiverCommand diver = new DiverCommand(this );
60 getCommand("diver").setExecutor( diver );
61
62 getCommand("opkill").setExecutor( new OpkillCommand() );
63
64 GeneralContractorCommands generalContractor = new GeneralContractorCommands();
65 getCommand("replay").setExecutor( generalContractor );
66 getCommand("levelarea").setExecutor( generalContractor );
67 getCommand("fillarea").setExecutor( generalContractor );
68 getCommand("slopearea").setExecutor( generalContractor );
69 getCommand("setsurface").setExecutor( generalContractor );
70 getCommand("platform").setExecutor( generalContractor );
71 getCommand("cylinder").setExecutor( generalContractor );
72 getCommand("createcave").setExecutor( generalContractor );
73 getCommand("spawn").setExecutor( new SpawnCommand() );
74
75 getCommand("template").setExecutor( new TemplateCommand(this) );
76
77 LogintimeHandler logintimeHandler = new LogintimeHandler( this.getDataFolder() );
78
79
80 PluginManager pm = getServer().getPluginManager();
81
82
83 MotdHandler motd = new MotdHandler(this);
84 getCommand("motd").setExecutor( motd );
85 pm.registerEvents( motd, this);
86
87 WayPoint wp = new WayPoint(this);
88 getCommand("waypoint").setExecutor( wp );
89 getCommand("setwaypoint").setExecutor( wp );
90 pm.registerEvents( wp, this);
91
92
93 pm.registerEvents(logintimeHandler, this);
94 pm.registerEvents(logintimeHandler, this);
95
96
97 pm.registerEvents(diver, this);
98
99 pm.registerEvents(new EndermanStopper(), this);
100
101 Jail jail = new Jail(this);
102 pm.registerEvents(jail, this);
103 getCommand("jail").setExecutor( jail );
104
105 StickyChunk chunks = new StickyChunk();
106 pm.registerEvents(chunks, this);
107 getCommand("stickychunk").setExecutor(chunks);
108
109
110
111 Runnable ddlInstaller = new Runnable() {
112 @Override
113 public void run() {
114 System.out.println("installddl");
115 installDDL();
116 }
117 };
118 messageWrapper = new MessageWrapper(this, ddlInstaller);
119 pm.registerEvents( messageWrapper, this);
120
121 AdvancedChest locked = new AdvancedChest(this, ddlInstaller);
122 getCommand("chest").setExecutor(locked);
123 pm.registerEvents( locked, this);
124
125
126 getCommand("webuser").setExecutor( new WebUserCommand(this,ddlInstaller) );
127
128
129 //register web plugins
130 //pm.registerEvent(Event.Type.CUSTOM_EVENT, new StatusListener(getServer(), logintimeHandler.getConfig(), home.getConfig() ), Priority.Normal, this);
131 //pm.registerEvent(Event.Type.CUSTOM_EVENT, new MessageListener(getServer()), Priority.Normal, this);
132
133 /*try {
134 try {
135 //først probes om klassen i det hele taget findes
136 Class.forName("de.codeinfection.quickwango.ApiBukkit.ApiServer.ApiController"); //if it fails it throws an exception
137 WebLoader.getInstance().load(this, logintimeHandler.getConfig(), home.getConfig());
138
139 getLogger().info("ApiBukkit found, status listener registered");
140
141 } catch (ClassNotFoundException e) {
142 getLogger().warning("Could not find ApiBukkit - web status is disabled" );
143 }
144 } catch (Throwable e) { //instead of ClassNotFoundException + NoSuchMethodException + InvocationTargetException + IllegalAccessException
145 getLogger().warning("Could not find ApiBukkit - web status is disabled (" + e.getClass().getName() + ":" + e.getMessage() + ")" );
146 }*/
147
148 try {
149 InetSocketAddress adr = new InetSocketAddress("127.0.0.1", 9999);
150 server = HttpServer.create(adr, 20);
151 server.createContext("/bans", new BanListener(this, getServer()) );
152 server.createContext("/webstatus", new StatusListener(this, getServer(),logintimeHandler.getConfig(), home.getConfig()) );
153 server.start();
154
155 } catch(Exception e) {
156 getLogger().log(Level.SEVERE, "Error loading webserver", e);
157
158 }
159
160
161
162
163 DoorBlockListener secretDoor = new DoorBlockListener(this);
164 pm.registerEvents(secretDoor, this);
165 pm.registerEvents(secretDoor.getPlayerListener(), this);
166 }
167
168
169
170
171
172 public MessageWrapper getMessageWrapper() {
173 return messageWrapper;
174 }
175
176 //@SuppressWarnings({ "unchecked", "rawtypes" })
177 @Override
178 public List<Class<?>> getDatabaseClasses() {
179 List<Class<?>> list = new ArrayList<Class<?>>();
180
181 list.add(MessageBean.class);
182 list.add(ChestBean.class);
183 list.add(WebUser.class);
184
185 return list;
186 }
187
188 private void deprecated() {
189 /*
190 getCommand("stoner").setExecutor( new StonerCommand() );
191 getCommand("spawn").setExecutor( new SpawnCommand() );
192 getCommand("boom").setExecutor( new BoomCommand(this) );
193 getCommand("grass").setExecutor(new GrassCommand());
194
195 getCommand("zapme").setExecutor( new ZapmeCommand() );
196 getCommand("zap").setExecutor( new ZapCommand() );
197
198
199 PowerMiner powerMiner = new PowerMiner();
200 pm.registerEvent(Event.Type.BLOCK_DAMAGE, powerMiner, Priority.Normal, this);
201 pm.registerEvent(Event.Type.PLAYER_QUIT, powerMiner.getPlayerQuitListener(), Priority.Normal, this);
202 getCommand("powerminer").setExecutor(powerMiner);
203
204 SuperMiner superMiner = new SuperMiner();
205 pm.registerEvent(Event.Type.BLOCK_DAMAGE, superMiner, Priority.Normal, this);
206 pm.registerEvent(Event.Type.PLAYER_QUIT, superMiner.getPlayerQuitListener(), Priority.Normal, this);
207 getCommand("superminer").setExecutor(superMiner);
208
209
210 //pm.registerEvent(Event.Type.PROJECTILE_HIT, new ExplosiveSnowballs(), Priority.Normal, this);
211
212 //pm.registerEvent(Event.Type.PLAYER_RESPAWN, new RespawnHandler(this), Priority.Normal, this);
213 //pm.registerEvent(Event.Type.ENTITY_DEATH, new RespawnHandler.PlayerDeathListener(this.getDataFolder()), Priority.Normal, this);
214
215 */
216 }
217
218 }

  ViewVC Help
Powered by ViewVC 1.1.20