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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1760 - (hide annotations) (download)
Wed Mar 21 17:04:29 2012 UTC (12 years, 2 months ago) by torben
File size: 5005 byte(s)
Make apibukkit a soft-dependency and don't crash if the API could not be found
1 torben 1236 package dk.thoerup.bukkit.hoeruputils;
2    
3    
4 torben 1760 import java.lang.reflect.Method;
5    
6     import org.bukkit.configuration.Configuration;
7 torben 1236 import org.bukkit.plugin.PluginManager;
8     import org.bukkit.plugin.java.JavaPlugin;
9    
10 torben 1723 import dk.thoerup.bukkit.hoeruputils.creative.GeneralContractorCommands;
11 torben 1531 import dk.thoerup.bukkit.hoeruputils.secretdoor.DoorBlockListener;
12 torben 1241
13 torben 1236 public class HoerupUtilsPlugin extends JavaPlugin {
14    
15     @Override
16     public void onDisable() {
17     // TODO Auto-generated method stub
18     }
19    
20    
21     @Override
22     public void onEnable() {
23     System.out.println("Loading HoerupUtils plugin");
24     getCommand("whereis").setExecutor(new WhereisCommand(getServer()));
25 torben 1589 //getCommand("mapgen").setExecutor(new MapgenCommand(this));
26 torben 1242 getCommand("eternalday").setExecutor(new EternalDayCommand(this));
27 torben 1472 getCommand("getpos").setExecutor( new GetposCommand() );
28 torben 1499 getCommand("msg").setExecutor( new MsgCommand( getServer() ) );
29 torben 1586 getCommand("tp").setExecutor( new TeleportCommand() );
30 torben 1590
31     getCommand("wall").setExecutor( new WallCommand() );
32 torben 1592 getCommand("weather").setExecutor( new WeatherCommand() );
33    
34 torben 1673 getCommand("gc").setExecutor( new GcCommand() );
35 torben 1592
36 torben 1673
37 torben 1592 HomeCommand home = new HomeCommand(this);
38     getCommand("home").setExecutor( home );
39     getCommand("sethome").setExecutor( home );
40 torben 1667
41 torben 1671 DiverCommand diver = new DiverCommand(this );
42     getCommand("diver").setExecutor( diver );
43 torben 1723
44     GeneralContractorCommands generalContractor = new GeneralContractorCommands();
45 torben 1729 getCommand("replay").setExecutor( generalContractor );
46 torben 1723 getCommand("levelarea").setExecutor( generalContractor );
47     getCommand("fillarea").setExecutor( generalContractor );
48     getCommand("slopearea").setExecutor( generalContractor );
49     getCommand("setsurface").setExecutor( generalContractor );
50 torben 1730 getCommand("platform").setExecutor( generalContractor );
51 torben 1733 getCommand("cylinder").setExecutor( generalContractor );
52 torben 1751 getCommand("createcave").setExecutor( generalContractor );
53 torben 1667
54 torben 1738
55 torben 1739 getCommand("template").setExecutor( new TemplateCommand(this) );
56 torben 1671
57 torben 1667 LogintimeHandler logintimeHandler = new LogintimeHandler( this.getDataFolder() );
58 torben 1236
59 torben 1592
60 torben 1236 PluginManager pm = getServer().getPluginManager();
61 torben 1602
62    
63 torben 1680 pm.registerEvents(logintimeHandler, this);
64     pm.registerEvents(logintimeHandler, this);
65 torben 1667
66 torben 1671
67 torben 1680 pm.registerEvents(diver, this);
68 torben 1667
69 torben 1671
70 torben 1680 pm.registerEvents(new EndermanStopper(), this);
71 torben 1667
72    
73 torben 1241 //register web plugins
74 torben 1685 //pm.registerEvent(Event.Type.CUSTOM_EVENT, new StatusListener(getServer(), logintimeHandler.getConfig(), home.getConfig() ), Priority.Normal, this);
75     //pm.registerEvent(Event.Type.CUSTOM_EVENT, new MessageListener(getServer()), Priority.Normal, this);
76    
77 torben 1760 try {
78     try {
79     //først probes om klassen i det hele taget findes
80     Class.forName("de.codeinfection.quickwango.ApiBukkit.ApiServer.ApiController");
81    
82     Class<?>webloader = Class.forName("dk.thoerup.bukkit.hoeruputils.web.WebLoader");
83     Method load = webloader.getMethod("load", HoerupUtilsPlugin.class, Configuration.class, Configuration.class);
84     Object args[] = {this, logintimeHandler.getConfig(), home.getConfig() };
85     load.invoke(null, args);
86    
87     getLogger().warning("ApiBukkit found, status listener registered");
88    
89     } catch (ClassNotFoundException e) {
90     getLogger().warning("Could not find ApiBukkit - web status is disabled" );
91     }
92    
93     } catch (Throwable e) { //instead of ClassNotFoundException + NoSuchMethodException + InvocationTargetException + IllegalAccessException
94     getLogger().warning("Could not find ApiBukkit - web status is disabled (" + e.getClass().getName() + ":" + e.getMessage() + ")" );
95     }
96 torben 1378
97    
98 torben 1653
99    
100     DoorBlockListener secretDoor = new DoorBlockListener(this);
101 torben 1680 pm.registerEvents(secretDoor, this);
102     pm.registerEvents(secretDoor.getPlayerListener(), this);
103 torben 1653
104     }
105    
106     private void deprecated() {
107     /*
108     getCommand("stoner").setExecutor( new StonerCommand() );
109 torben 1654 getCommand("spawn").setExecutor( new SpawnCommand() );
110 torben 1653 getCommand("boom").setExecutor( new BoomCommand(this) );
111     getCommand("grass").setExecutor(new GrassCommand());
112    
113     getCommand("zapme").setExecutor( new ZapmeCommand() );
114     getCommand("zap").setExecutor( new ZapCommand() );
115    
116    
117 torben 1385 PowerMiner powerMiner = new PowerMiner();
118     pm.registerEvent(Event.Type.BLOCK_DAMAGE, powerMiner, Priority.Normal, this);
119 torben 1388 pm.registerEvent(Event.Type.PLAYER_QUIT, powerMiner.getPlayerQuitListener(), Priority.Normal, this);
120 torben 1385 getCommand("powerminer").setExecutor(powerMiner);
121 torben 1522
122     SuperMiner superMiner = new SuperMiner();
123     pm.registerEvent(Event.Type.BLOCK_DAMAGE, superMiner, Priority.Normal, this);
124     pm.registerEvent(Event.Type.PLAYER_QUIT, superMiner.getPlayerQuitListener(), Priority.Normal, this);
125     getCommand("superminer").setExecutor(superMiner);
126 torben 1524
127 torben 1525
128 torben 1593 //pm.registerEvent(Event.Type.PROJECTILE_HIT, new ExplosiveSnowballs(), Priority.Normal, this);
129    
130 torben 1680 //pm.registerEvent(Event.Type.PLAYER_RESPAWN, new RespawnHandler(this), Priority.Normal, this);
131     //pm.registerEvent(Event.Type.ENTITY_DEATH, new RespawnHandler.PlayerDeathListener(this.getDataFolder()), Priority.Normal, this);
132    
133 torben 1653 */
134 torben 1236 }
135    
136     }

  ViewVC Help
Powered by ViewVC 1.1.20