From b77b7beb6e8b8b8119222de5b217b1f35c04994d Mon Sep 17 00:00:00 2001 From: LordRalex Date: Thu, 27 Jun 2013 15:32:35 -0400 Subject: [PATCH] TotalPermissions: Add basic hook --- lib/TotalPermissions.jar | Bin 0 -> 88923 bytes pom.xml | 7 + src/net/milkbowl/vault/Vault.java | 4 + .../plugins/Permission_TotalPermissions.java | 211 ++++++++++++++++++ 4 files changed, 222 insertions(+) create mode 100644 lib/TotalPermissions.jar create mode 100644 src/net/milkbowl/vault/permission/plugins/Permission_TotalPermissions.java diff --git a/lib/TotalPermissions.jar b/lib/TotalPermissions.jar new file mode 100644 index 0000000000000000000000000000000000000000..907c0c57e8850187b8a18498d6bf75d945180c33 GIT binary patch literal 88923 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 BrDp&D literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 45003cc..25a10d4 100644 --- a/pom.xml +++ b/pom.xml @@ -273,6 +273,13 @@ SDFEconomy 0.1.0-SNAPSHOT + + net.ae97 + TotalPermissions + 0.2.1 + system + ${project.basedir}/lib/TotalPermissions.jar + clean install diff --git a/src/net/milkbowl/vault/Vault.java b/src/net/milkbowl/vault/Vault.java index afb420b..3646576 100644 --- a/src/net/milkbowl/vault/Vault.java +++ b/src/net/milkbowl/vault/Vault.java @@ -74,6 +74,7 @@ import net.milkbowl.vault.permission.plugins.Permission_Xperms; import net.milkbowl.vault.permission.plugins.Permission_bPermissions; import net.milkbowl.vault.permission.plugins.Permission_bPermissions2; import net.milkbowl.vault.permission.plugins.Permission_zPermissions; +import net.milkbowl.vault.permission.plugins.Permission_TotalPermissions; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; @@ -315,6 +316,9 @@ public class Vault extends JavaPlugin { // Try to load Xperms hookPermission("Xperms", Permission_Xperms.class, ServicePriority.Low, "com.github.sebc722.Xperms"); + //Try to load TotalPermissions + hookPermission("TotalPermissions", Permission_TotalPermissions.class, ServicePriority.Normal, "net.ae97.totalpermissions.TotalPermissions"); + Permission perms = new Permission_SuperPerms(this); sm.register(Permission.class, perms, this, ServicePriority.Lowest); log.info(String.format("[%s][Permission] SuperPermissions loaded as backup permission system.", getDescription().getName())); diff --git a/src/net/milkbowl/vault/permission/plugins/Permission_TotalPermissions.java b/src/net/milkbowl/vault/permission/plugins/Permission_TotalPermissions.java new file mode 100644 index 0000000..685f8e3 --- /dev/null +++ b/src/net/milkbowl/vault/permission/plugins/Permission_TotalPermissions.java @@ -0,0 +1,211 @@ +/* This file is part of Vault. + + Vault is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Vault is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with Vault. If not, see . + */ +package net.milkbowl.vault.permission.plugins; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import net.ae97.totalpermissions.PermissionManager; +import net.ae97.totalpermissions.TotalPermissions; +import net.ae97.totalpermissions.permission.PermissionBase; +import net.ae97.totalpermissions.permission.PermissionUser; +import net.milkbowl.vault.permission.Permission; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.server.PluginDisableEvent; +import org.bukkit.event.server.PluginEnableEvent; +import org.bukkit.plugin.Plugin; + +public class Permission_TotalPermissions extends Permission { + + private final String name = "TotalPermissions"; + private PermissionManager manager; + private TotalPermissions totalperms; + + public Permission_TotalPermissions(Plugin pl) { + this.plugin = pl; + } + + public class PermissionServerListener implements Listener { + + @EventHandler(priority = EventPriority.MONITOR) + public void onPluginEnable(PluginEnableEvent event) { + if (manager == null) { + Plugin permPlugin = event.getPlugin(); + if (permPlugin.getDescription().getName().equals(name)) { + totalperms = (TotalPermissions) permPlugin; + manager = totalperms.getManager(); + log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), name)); + } + } + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPluginDisable(PluginDisableEvent event) { + if (manager != null) { + if (event.getPlugin().getDescription().getName().equals(name)) { + totalperms = null; + manager = null; + log.info(String.format("[%s][Permission] %s un-hooked.", plugin.getDescription().getName(), name)); + } + } + } + } + + @Override + public String getName() { + return name; + } + + @Override + public boolean isEnabled() { + return plugin != null && plugin.isEnabled() && totalperms != null && totalperms.isEnabled(); + } + + @Override + public boolean hasSuperPermsCompat() { + return true; + } + + @Override + public boolean hasGroupSupport() { + return true; + } + + @Override + public boolean playerHas(String world, String player, String permission) { + PermissionBase user = manager.getUser(player); + return user.has(permission, world); + } + + @Override + public boolean playerAdd(String world, String player, String permission) { + try { + PermissionBase user = manager.getUser(player); + user.addPerm(permission, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public boolean playerRemove(String world, String player, String permission) { + try { + PermissionBase user = manager.getUser(player); + user.remPerm(permission, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public boolean groupHas(String world, String group, String permission) { + PermissionBase permGroup = manager.getGroup(group); + return permGroup.has(permission, world); + } + + @Override + public boolean groupAdd(String world, String group, String permission) { + try { + PermissionBase permGroup = manager.getGroup(group); + permGroup.addPerm(permission, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public boolean groupRemove(String world, String group, String permission) { + try { + PermissionBase permGroup = manager.getGroup(group); + permGroup.remPerm(permission, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public boolean playerInGroup(String world, String player, String group) { + PermissionUser user = manager.getUser(player); + List groups = user.getGroups(world); + return groups.contains(group); + } + + @Override + public boolean playerAddGroup(String world, String player, String group) { + try { + PermissionUser user = manager.getUser(player); + user.addGroup(group, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public boolean playerRemoveGroup(String world, String player, String group) { + try { + PermissionUser user = manager.getUser(player); + user.remGroup(group, world); + return true; + } catch (IOException ex) { + plugin.getLogger().log(Level.SEVERE, + String.format("[%s] An error occured while saving perms", totalperms.getDescription().getName()), ex); + return false; + } + } + + @Override + public String[] getPlayerGroups(String world, String player) { + PermissionUser user = manager.getUser(player); + List groups = user.getGroups(world); + if (groups == null) { + groups = new ArrayList(); + } + return groups.toArray(new String[groups.size()]); + } + + @Override + public String getPrimaryGroup(String world, String player) { + String[] groups = getPlayerGroups(world, player); + if (groups.length == 0) { + return ""; + } else { + return groups[0]; + } + } + + @Override + public String[] getGroups() { + return manager.getGroups(); + } +}