diff options
author | snowleo <schneeleo@gmail.com> | 2011-06-25 14:18:45 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-06-25 14:18:45 +0200 |
commit | ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26 (patch) | |
tree | 440581cbaecf6604858fd9720e6866cc3fab8791 | |
parent | ca9364d25bc3c50698fc5a79b1d9916615c11851 (diff) | |
download | Essentials-ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26.tar Essentials-ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26.tar.gz Essentials-ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26.tar.lz Essentials-ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26.tar.xz Essentials-ed06b29dd75e1abbfb39103c4bf8a8b933aa2d26.zip |
GroupManager fix (The commands didn't work)
This is the last fix for GroupManager, we will switch to Permissions 3 soon.
-rw-r--r-- | EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java | 64 | ||||
-rw-r--r-- | EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java | 6 |
2 files changed, 51 insertions, 19 deletions
diff --git a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java index bca7a89ed..cf0d09a35 100644 --- a/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java +++ b/EssentialsGroupBridge/src/com/nijikokun/bukkit/Permissions/Permissions.java @@ -7,8 +7,12 @@ import java.util.logging.Logger; import org.anjocaido.groupmanager.GroupManager; import org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy; import org.bukkit.Server; +import org.bukkit.event.Event.Priority; +import org.bukkit.event.Event.Type; import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerListener; +import org.bukkit.event.server.PluginEnableEvent; +import org.bukkit.event.server.ServerListener; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; @@ -55,23 +59,32 @@ public class Permissions extends JavaPlugin { PluginDescriptionFile pdfFile = this.getDescription(); if (Security == null) {//make sure we have only one instance - Plugin p = (Plugin)(this.getServer() == null ? new GroupManager() : this.getServer().getPluginManager().getPlugin("GroupManager")); - if (p != null) { - if (!p.isEnabled()) { - if (this.getServer() == null) { - p.onEnable(); - } else { - this.getServer().getPluginManager().enablePlugin(p); - } - } - GroupManager gm = (GroupManager) p; - groupManager = gm; - Security = new NijikoPermissionsProxy(gm); - } else { - System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!"); - this.getPluginLoader().disablePlugin(this); - } - } + Security = new NijikoPermissionsProxy(null); + } + + Plugin p = (this.getServer() == null) ? null : this.getServer().getPluginManager().getPlugin("GroupManager"); + if (p != null) { + if (p.isEnabled()) { + setGM(p); + } else { + if (this.getServer() != null) { + this.getServer().getPluginManager().registerEvent(Type.PLUGIN_ENABLE, new ServerListener() { + + @Override + public void onPluginEnable(PluginEnableEvent event) + { + if (event.getPlugin().getDescription().getName().equals("GroupManager")) { + Permissions.this.setGM(event.getPlugin()); + } + } + + }, Priority.Normal, this); + } + } + } else { + System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!"); + this.getPluginLoader().disablePlugin(this); + } // EXAMPLE: Custom code, here we just output some info so we can check all is well if (pdfFile != null) System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!"); @@ -81,17 +94,30 @@ public class Permissions extends JavaPlugin { //compiled code //throw new RuntimeException("Compiled Code"); } + + private void setGM(Plugin p) { + groupManager = (GroupManager)p; + ((NijikoPermissionsProxy)Security).setGM(p); + } public PermissionHandler getHandler() { //compiled code //throw new RuntimeException("Compiled Code"); //System.out.println("Alguem chamou o handler"); - checkEnable(); + if (Security == null) + { + Security = new NijikoPermissionsProxy(null); + } + //checkEnable(); return Security; } public void setupPermissions() { - checkEnable(); + if (Security == null) + { + Security = new NijikoPermissionsProxy(null); + } + //checkEnable(); } private void checkEnable() { diff --git a/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java b/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java index 18da0cd56..e26c10711 100644 --- a/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java +++ b/EssentialsGroupBridge/src/org/anjocaido/groupmanager/permissions/NijikoPermissionsProxy.java @@ -9,6 +9,7 @@ import java.io.File; import java.util.Map; import org.anjocaido.groupmanager.GroupManager; import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; import org.bukkit.util.config.Configuration; /** @@ -425,4 +426,9 @@ public class NijikoPermissionsProxy extends Control { return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name,permission); } + public void setGM(Plugin p) + { + this.plugin = (GroupManager)p; + } + } |