diff --git a/lib/Xperms.jar b/lib/Xperms.jar index 7e488f8..640164a 100644 Binary files a/lib/Xperms.jar and b/lib/Xperms.jar differ diff --git a/src/net/milkbowl/vault/permission/plugins/Permission_Xperms.java b/src/net/milkbowl/vault/permission/plugins/Permission_Xperms.java index 5da0bdf..ce8f683 100644 --- a/src/net/milkbowl/vault/permission/plugins/Permission_Xperms.java +++ b/src/net/milkbowl/vault/permission/plugins/Permission_Xperms.java @@ -15,8 +15,6 @@ */ package net.milkbowl.vault.permission.plugins; -import java.util.ArrayList; - import net.milkbowl.vault.permission.Permission; import com.github.sebc722.xperms.core.Main; @@ -32,148 +30,150 @@ import org.bukkit.plugin.Plugin; public class Permission_Xperms extends Permission { private final String name = "Xperms"; - private Main permission = null; + private Main perms = null; public Permission_Xperms(Plugin plugin) { - this.plugin = plugin; - Bukkit.getServer().getPluginManager().registerEvents(new PermissionServerListener(), plugin) - - if(permission == null){ - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Xperms"); - if(perms != null){ - if(perms.isEnabled()){ - try{ - if(Double.valueOf(perms.getDescription().getVersion()) < 1.1){ - log.info(String.format("[%s] [Permission] %s Current version is not compatible with vault! Please Update!", plugin.getDescription().getName(), name)); - } - } catch(NumberFormatException e){ - // version is first release, numbered 1.0.0 - log.info(String.format("[%s] [Permission] %s Current version is not compatibe with vault! Please Update!", plugin.getDescription().getName(), name); - } - } - permission = (Main) perms; + this.plugin = plugin; + Bukkit.getServer().getPluginManager().registerEvents(new PermissionServerListener(this), plugin); + + if(perms == null){ + Plugin perms = plugin.getServer().getPluginManager().getPlugin("Xperms"); + if(this.perms != null){ + if(perms.isEnabled()){ + try{ + if(Double.valueOf(perms.getDescription().getVersion()) < 1.1){ + log.info(String.format("[%s] [Permission] %s Current version is not compatible with vault! Please Update!", plugin.getDescription().getName(), name)); + } + } catch(NumberFormatException e){ + // version is first release, numbered 1.0.0 + log.info(String.format("[%s] [Permission] %s Current version is not compatibe with vault! Please Update!", plugin.getDescription().getName(), name)); + } + } + this.perms = (Main) perms; log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), name)); - } - } + } + } } public class PermissionServerListener implements Listener { - Main permission = null; - - public PermissionServerListener(Permission_Xperms permission){ - this.permission = permission; - } - + Permission_Xperms permission = null; + + public PermissionServerListener(Permission_Xperms permission){ + this.permission = permission; + } + @EventHandler(priority = EventPriority.MONITOR) - public void onPluginEnable(PluginEnableEvent event) { - this.plugin = plugin; - Bukkit.getServer().getPluginManager().registerEvents(new PermissionServerListener(), plugin) - - if(permission == null){ - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Xperms"); - if(perms != null){ - try{ - if(Double.valueOf(perms.getDescription().getVersion()) < 1.1){ - log.info(String.format("[%s] [Permission] %s Current version is not compatible with vault! Please Update!", plugin.getDescription().getName(), name)); - } - } catch(NumberFormatException e){ - // version is first release, numbered 1.0.0 - log.info(String.format("[%s] [Permission] %s Current version is not compatibe with vault! Please Update!", plugin.getDescription().getName(), name); - } - permission.permission = (Main) perms; + public void onPluginEnable(PluginEnableEvent event) { + if(permission == null){ + Plugin perms = plugin.getServer().getPluginManager().getPlugin("Xperms"); + if(perms != null){ + try{ + if(Double.valueOf(perms.getDescription().getVersion()) < 1.1){ + log.info(String.format("[%s] [Permission] %s Current version is not compatible with vault! Please Update!", plugin.getDescription().getName(), name)); + } + } catch(NumberFormatException e){ + // version is first release, numbered 1.0.0 + log.info(String.format("[%s] [Permission] %s Current version is not compatibe with vault! Please Update!", plugin.getDescription().getName(), name)); + } + permission.perms = (Main) perms; log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), name)); - } - } + } + } } @EventHandler(priority = EventPriority.MONITOR) public void onPluginDisable(PluginDisableEvent event) { - if(permission.permission != null){ - if(event.getPlugin().getName().equals("Xperms")){ - permission.permission = null; + if(permission.perms != null){ + if(event.getPlugin().getName().equals("Xperms")){ + permission.perms = null; log.info(String.format("[%s][Permission] %s un-hooked.", plugin.getDescription().getName(), permission.name)); - } - } + } + } } } @Override public String getName() { - return name; + return name; } @Override public boolean isEnabled() { - return permission.isEnabled(); + return perms.isEnabled(); } @Override public boolean hasSuperPermsCompat() { - return true; + return true; } @Override public boolean playerHas(String world, String player, String permission) { - return permission.getXplayer().hasPerm(world, player, permission); + return perms.getXplayer().hasPerm(world, player, permission); } @Override public boolean playerAdd(String world, String player, String permission) { - return permission.getXplayer().addNode(world, player, permission); + return perms.getXplayer().addNode(world, player, permission); } @Override public boolean playerRemove(String world, String player, String permission) { - return permission.getXplayer().removeNode(world, player, permission); + return perms.getXplayer().removeNode(world, player, permission); } @Override public boolean groupHas(String world, String group, String permission) { - return permission.getXgroup().hasPerm(group, permission); + return perms.getXgroup().hasPerm(group, permission); } @Override public boolean groupAdd(String world, String group, String permission) { - permission.getXgroup().addNode(group, permission); - return true; + perms.getXgroup().addNode(group, permission); + return true; } @Override public boolean groupRemove(String world, String group, String permission) { - return permission.getXgroup().removeNode(group, permission) + return perms.getXgroup().removeNode(group, permission); } @Override public boolean playerInGroup(String world, String player, String group) { - String groupForWorld = permission.getXplayer().getGroupForWorld(player, world); - if(groupForWorld.equals(group)){ - return true; - } - return false; + String groupForWorld = perms.getXplayer().getGroupForWorld(player, world); + if(groupForWorld.equals(group)){ + return true; + } + return false; } @Override public boolean playerAddGroup(String world, String player, String group) { - return permission.getXplayer().setPlayerGroup(world, player, group); + return perms.getXplayer().setPlayerGroup(world, player, group); } @Override public boolean playerRemoveGroup(String world, String player, String group) { - return permission.getXplayer().setPlayerDefault(world, player); + return perms.getXplayer().setPlayerDefault(world, player); } @Override public String[] getPlayerGroups(String world, String player) { - return permission.getXplayer().getPlayerGroups(player); + return perms.getXplayer().getPlayerGroups(player); } @Override public String getPrimaryGroup(String world, String player) { - return permission.getXplayer().getGroupForWorld(player, world); + return perms.getXplayer().getGroupForWorld(player, world); } @Override public String[] getGroups() { - return permission.getXgroup().getGroups(); + return perms.getXgroup().getGroups(); + } + + @Override + public boolean hasGroupSupport() { + return true; } } \ No newline at end of file