summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java64
1 files changed, 50 insertions, 14 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java
index b3b5ff1c1..34632dd40 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPluginListener.java
@@ -6,40 +6,76 @@ import java.util.logging.Logger;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.event.server.ServerListener;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.PluginManager;
public class EssentialsPluginListener extends ServerListener
{
- private final Methods methods;
- private static final Logger logger = Logger.getLogger("Minecraft");
+ private final transient IEssentials ess;
+ private static final Logger LOGGER = Logger.getLogger("Minecraft");
- public EssentialsPluginListener(Methods methods)
+ public EssentialsPluginListener(final IEssentials ess)
{
- this.methods = methods;
+ this.ess = ess;
}
-
+
@Override
- public void onPluginEnable(PluginEnableEvent event)
+ public void onPluginEnable(final PluginEnableEvent event)
{
- if (!methods.hasMethod())
+ checkPermissions();
+ if (!ess.getPaymentMethod().hasMethod() && ess.getPaymentMethod().setMethod(event.getPlugin()))
{
- if (methods.setMethod(event.getPlugin()))
- {
- logger.log(Level.INFO, "[Essentials] Payment method found (" + methods.getMethod().getName() + " version: " + methods.getMethod().getVersion() + ")");
- }
+ LOGGER.log(Level.INFO, "[Essentials] Payment method found (" + ess.getPaymentMethod().getMethod().getName() + " version: " + ess.getPaymentMethod().getMethod().getVersion() + ")");
+
}
}
@Override
public void onPluginDisable(PluginDisableEvent event)
{
+ checkPermissions();
// Check to see if the plugin thats being disabled is the one we are using
- if (methods != null && methods.hasMethod())
+ if (ess.getPaymentMethod() != null && ess.getPaymentMethod().hasMethod() && ess.getPaymentMethod().checkDisabled(event.getPlugin()))
{
- if (methods.checkDisabled(event.getPlugin()))
+ LOGGER.log(Level.INFO, "[Essentials] Payment method was disabled. No longer accepting payments.");
+ }
+ }
+
+ private void checkPermissions()
+ {
+ final PluginManager pm = ess.getServer().getPluginManager();
+ final Plugin permissionsExPlugin = pm.getPlugin("PermissionsEx");
+
+ if (permissionsExPlugin == null || !permissionsExPlugin.isEnabled())
+ {
+ final Plugin permissionsPlugin = pm.getPlugin("Permissions");
+ if (permissionsPlugin == null || !permissionsPlugin.isEnabled())
{
- logger.log(Level.INFO, "[Essentials] Payment method was disabled. No longer accepting payments.");
+ if (ess.getSettings().useBukkitPermissions())
+ {
+ ess.setPermissionsHandler(new BukkitPermissionsHandler());
+ }
+ else
+ {
+ ess.setPermissionsHandler(new ConfigPermissionsHandler(ess));
+ }
}
+ else
+ {
+ if (permissionsPlugin.getDescription().getVersion().charAt(0) == '3')
+ {
+ ess.setPermissionsHandler(new Permissions3Handler(permissionsPlugin));
+ }
+ else
+ {
+ ess.setPermissionsHandler(new Permissions2Handler(permissionsPlugin));
+ }
+ }
+ }
+ else
+ {
+ ess.setPermissionsHandler(new PermissionsExHandler());
}
}
}