Add ability to register commands
This commit is contained in:
parent
1d3a0f7488
commit
257cc9648d
1 changed files with 36 additions and 5 deletions
|
@ -1,4 +1,4 @@
|
||||||
From c1770b3e3510e19c075d5e21902fe348b73508fb Mon Sep 17 00:00:00 2001
|
From c623ae16ce7c29abf83a755cff088df3542e73a0 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Thu, 20 Jun 2013 17:35:57 +1000
|
Date: Thu, 20 Jun 2013 17:35:57 +1000
|
||||||
Subject: [PATCH] Spigot Configuration
|
Subject: [PATCH] Spigot Configuration
|
||||||
|
@ -37,9 +37,18 @@ index 3a4ddea..de052bd 100644
|
||||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 00326c1..814baa1 100644
|
index 00326c1..92c6c88 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
|
@@ -213,7 +213,7 @@ public final class CraftServer implements Server {
|
||||||
|
updater.getOnBroken().addAll(configuration.getStringList("auto-updater.on-broken"));
|
||||||
|
updater.getOnUpdate().addAll(configuration.getStringList("auto-updater.on-update"));
|
||||||
|
updater.check(serverVersion);
|
||||||
|
-
|
||||||
|
+ org.spigotmc.SpigotConfig.registerCommands( commandMap ); // Spigot
|
||||||
|
loadPlugins();
|
||||||
|
enablePlugins(PluginLoadOrder.STARTUP);
|
||||||
|
}
|
||||||
@@ -556,6 +556,7 @@ public final class CraftServer implements Server {
|
@@ -556,6 +556,7 @@ public final class CraftServer implements Server {
|
||||||
playerList.getIPBans().load();
|
playerList.getIPBans().load();
|
||||||
playerList.getNameBans().load();
|
playerList.getNameBans().load();
|
||||||
|
@ -48,7 +57,7 @@ index 00326c1..814baa1 100644
|
||||||
for (WorldServer world : console.worlds) {
|
for (WorldServer world : console.worlds) {
|
||||||
world.difficulty = difficulty;
|
world.difficulty = difficulty;
|
||||||
world.setSpawnFlags(monsters, animals);
|
world.setSpawnFlags(monsters, animals);
|
||||||
@@ -570,6 +571,7 @@ public final class CraftServer implements Server {
|
@@ -570,12 +571,14 @@ public final class CraftServer implements Server {
|
||||||
} else {
|
} else {
|
||||||
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
|
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
|
||||||
}
|
}
|
||||||
|
@ -56,12 +65,19 @@ index 00326c1..814baa1 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginManager.clearPlugins();
|
pluginManager.clearPlugins();
|
||||||
|
commandMap.clearCommands();
|
||||||
|
resetRecipes();
|
||||||
|
|
||||||
|
+ org.spigotmc.SpigotConfig.registerCommands( commandMap ); // Spigot
|
||||||
|
int pollCount = 0;
|
||||||
|
|
||||||
|
// Wait for at most 2.5 seconds for plugins to close their threads
|
||||||
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..43d94fe
|
index 0000000..933500d
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||||
@@ -0,0 +1,98 @@
|
@@ -0,0 +1,113 @@
|
||||||
+package org.spigotmc;
|
+package org.spigotmc;
|
||||||
+
|
+
|
||||||
+import com.google.common.base.Throwables;
|
+import com.google.common.base.Throwables;
|
||||||
|
@ -70,9 +86,13 @@ index 0000000..43d94fe
|
||||||
+import java.lang.reflect.InvocationTargetException;
|
+import java.lang.reflect.InvocationTargetException;
|
||||||
+import java.lang.reflect.Method;
|
+import java.lang.reflect.Method;
|
||||||
+import java.lang.reflect.Modifier;
|
+import java.lang.reflect.Modifier;
|
||||||
|
+import java.util.HashMap;
|
||||||
+import java.util.List;
|
+import java.util.List;
|
||||||
|
+import java.util.Map;
|
||||||
+import java.util.logging.Level;
|
+import java.util.logging.Level;
|
||||||
+import org.bukkit.Bukkit;
|
+import org.bukkit.Bukkit;
|
||||||
|
+import org.bukkit.command.Command;
|
||||||
|
+import org.bukkit.command.SimpleCommandMap;
|
||||||
+import org.bukkit.configuration.file.YamlConfiguration;
|
+import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
+
|
+
|
||||||
+public class SpigotConfig
|
+public class SpigotConfig
|
||||||
|
@ -93,6 +113,7 @@ index 0000000..43d94fe
|
||||||
+ /*========================================================================*/
|
+ /*========================================================================*/
|
||||||
+ static YamlConfiguration config;
|
+ static YamlConfiguration config;
|
||||||
+ static int version;
|
+ static int version;
|
||||||
|
+ static Map<String, Command> commands;
|
||||||
+ /*========================================================================*/
|
+ /*========================================================================*/
|
||||||
+
|
+
|
||||||
+ public static void init()
|
+ public static void init()
|
||||||
|
@ -101,10 +122,20 @@ index 0000000..43d94fe
|
||||||
+ config.options().header( HEADER );
|
+ config.options().header( HEADER );
|
||||||
+ config.options().copyDefaults( true );
|
+ config.options().copyDefaults( true );
|
||||||
+
|
+
|
||||||
|
+ commands = new HashMap<String, Command>();
|
||||||
|
+
|
||||||
+ version = getInt( "config-version", 1 );
|
+ version = getInt( "config-version", 1 );
|
||||||
+ readConfig( SpigotConfig.class, null );
|
+ readConfig( SpigotConfig.class, null );
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ public static void registerCommands(SimpleCommandMap commandMap)
|
||||||
|
+ {
|
||||||
|
+ for ( Map.Entry<String, Command> entry : commands.entrySet() )
|
||||||
|
+ {
|
||||||
|
+ commandMap.register( entry.getKey(), "Spigot", entry.getValue() );
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ static void readConfig(Class<?> clazz, Object instance)
|
+ static void readConfig(Class<?> clazz, Object instance)
|
||||||
+ {
|
+ {
|
||||||
+ for ( Method method : SpigotConfig.class.getDeclaredMethods() )
|
+ for ( Method method : SpigotConfig.class.getDeclaredMethods() )
|
||||||
|
|
Loading…
Reference in a new issue