From fd7d80492401a0bdfe046667ca7e0aa513df85f2 Mon Sep 17 00:00:00 2001 From: Sleaker Date: Fri, 28 Oct 2011 17:02:07 -0700 Subject: [PATCH] P3 support seems messed up - hacked it together - please update --- lib/{Permissions3.jar => Permissions.jar} | Bin lib/Permissions2.jar | Bin 33576 -> 0 bytes src/net/milkbowl/vault/Vault.java | 57 ++--- .../vault/chat/plugins/Chat_Permissions2.java | 228 ------------------ .../vault/chat/plugins/Chat_Permissions3.java | 50 ++-- .../plugins/Permission_Permissions2.java | 210 ---------------- .../plugins/Permission_Permissions3.java | 29 +-- 7 files changed, 59 insertions(+), 515 deletions(-) rename lib/{Permissions3.jar => Permissions.jar} (100%) delete mode 100644 lib/Permissions2.jar delete mode 100644 src/net/milkbowl/vault/chat/plugins/Chat_Permissions2.java delete mode 100644 src/net/milkbowl/vault/permission/plugins/Permission_Permissions2.java diff --git a/lib/Permissions3.jar b/lib/Permissions.jar similarity index 100% rename from lib/Permissions3.jar rename to lib/Permissions.jar diff --git a/lib/Permissions2.jar b/lib/Permissions2.jar deleted file mode 100644 index c0fe57c05d0abda52c70a6ebb3b252276e4a5037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33576 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

si 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 diff --git a/src/net/milkbowl/vault/Vault.java b/src/net/milkbowl/vault/Vault.java index 2d5f3d0..dfe1eee 100644 --- a/src/net/milkbowl/vault/Vault.java +++ b/src/net/milkbowl/vault/Vault.java @@ -39,7 +39,6 @@ import net.milkbowl.vault.economy.plugins.Economy_iConomy5; import net.milkbowl.vault.economy.plugins.Economy_iConomy6; import net.milkbowl.vault.permission.Permission; import net.milkbowl.vault.permission.plugins.Permission_GroupManager; -import net.milkbowl.vault.permission.plugins.Permission_Permissions2; import net.milkbowl.vault.permission.plugins.Permission_Permissions3; import net.milkbowl.vault.permission.plugins.Permission_PermissionsBukkit; import net.milkbowl.vault.permission.plugins.Permission_PermissionsEx; @@ -86,7 +85,7 @@ public class Vault extends JavaPlugin { // Try to load PermissionsEx if (packageExists(new String[] { "ru.tehkode.permissions.bukkit.PermissionsEx" })) { Chat eChat = new Chat_PermissionsEx(this); - getServer().getServicesManager().register(net.milkbowl.vault.chat.Chat.class, eChat, this, ServicePriority.Highest); + getServer().getServicesManager().register(Chat.class, eChat, this, ServicePriority.Highest); log.info(String.format("[%s][Chat] PermissionsEx found: %s", getDescription().getName(), eChat.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Chat] PermissionsEx not found.", getDescription().getName())); @@ -95,7 +94,7 @@ public class Vault extends JavaPlugin { //Try loading mChat if (packageExists(new String[] {"net.D3GN.MiracleM4n.mChat"} )) { Chat mChat = new Chat_mChat(this); - getServer().getServicesManager().register(net.milkbowl.vault.chat.Chat.class, mChat, this, ServicePriority.Highest); + getServer().getServicesManager().register(Chat.class, mChat, this, ServicePriority.Highest); log.info(String.format("[%s][Chat] mChat found: %s", getDescription().getName(), mChat.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Chat] mChat not found.", getDescription().getName())); @@ -104,7 +103,7 @@ public class Vault extends JavaPlugin { //try loading bPermissions if (packageExists(new String[] {"de.bananaco.permissions.worlds.WorldPermissionsManager"})) { Chat bPerms = new Chat_bPermissions(this); - getServer().getServicesManager().register(net.milkbowl.vault.chat.Chat.class, bPerms, this, ServicePriority.High); + getServer().getServicesManager().register(Chat.class, bPerms, this, ServicePriority.High); log.info(String.format("[%s][Chat] bPermissions found: %s", getDescription().getName(), bPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Chat] bPermissions not found.", getDescription().getName())); @@ -113,7 +112,7 @@ public class Vault extends JavaPlugin { // Try to load GroupManager if (packageExists(new String[] { "org.anjocaido.groupmanager.GroupManager" })) { Chat gPerms = new Chat_GroupManager(this); - getServer().getServicesManager().register(net.milkbowl.vault.chat.Chat.class, gPerms, this, ServicePriority.High); + getServer().getServicesManager().register(Chat.class, gPerms, this, ServicePriority.High); log.info(String.format("[%s][Chat] GroupManager found: %s", getDescription().getName(), gPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Chat] GroupManager not found.", getDescription().getName())); @@ -122,20 +121,11 @@ public class Vault extends JavaPlugin { // Try to load Permissions 3 (Yeti) if (packageExists(new String[] { "com.nijiko.permissions.ModularControl" })) { Chat nPerms = new Chat_Permissions3(this); - getServer().getServicesManager().register(net.milkbowl.vault.chat.Chat.class, nPerms, this, ServicePriority.High); + getServer().getServicesManager().register(Chat.class, nPerms, this, ServicePriority.High); log.info(String.format("[%s][Chat] Permissions 3 (Yeti) found: %s", getDescription().getName(), nPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Chat] Permissions 3 (Yeti) not found.", getDescription().getName())); } - - // Try to load Permissions 2 (Phoenix) - if (packageExists(new String[] { "com.nijiko.permissions.Control" })) { - Permission oPerms = new Permission_Permissions2(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, oPerms, this, ServicePriority.Low); - log.info(String.format("[%s][Chat] Permissions 2 (Phoenix) found: %s", getDescription().getName(), oPerms.isEnabled() ? "Loaded" : "Waiting")); - } else { - log.info(String.format("[%s][Chat] Permissions 2 (Phoenix) not found.", getDescription().getName())); - } } /** @@ -145,7 +135,7 @@ public class Vault extends JavaPlugin { // Try to load MultiCurrency if (packageExists(new String[] { "me.ashtheking.currency.Currency", "me.ashtheking.currency.CurrencyList" })) { Economy econ = new Economy_MultiCurrency(this); - getServer().getServicesManager().register(net.milkbowl.vault.economy.Economy.class, econ, this, ServicePriority.Normal); + getServer().getServicesManager().register(Economy.class, econ, this, ServicePriority.Normal); log.info(String.format("[%s][Economy] MultiCurrency found: %s", getDescription().getName(), econ.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Economy] MultiCurrency not found.", getDescription().getName())); @@ -154,7 +144,7 @@ public class Vault extends JavaPlugin { // Try to load 3co if (packageExists(new String[] { "me.ic3d.eco.ECO" })) { Economy econ = new Economy_3co(this); - getServer().getServicesManager().register(net.milkbowl.vault.economy.Economy.class, econ, this, ServicePriority.Normal); + getServer().getServicesManager().register(Economy.class, econ, this, ServicePriority.Normal); log.info(String.format("[%s][Economy] 3co found: %s", getDescription().getName(), econ.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Economy] 3co not found.", getDescription().getName())); @@ -163,7 +153,7 @@ public class Vault extends JavaPlugin { // Try to load BOSEconomy if (packageExists(new String[] { "cosine.boseconomy.BOSEconomy", "cosine.boseconomy.CommandManager" })) { Economy bose6 = new Economy_BOSE6(this); - getServer().getServicesManager().register(net.milkbowl.vault.economy.Economy.class, bose6, this, ServicePriority.Normal); + getServer().getServicesManager().register(Economy.class, bose6, this, ServicePriority.Normal); log.info(String.format("[%s][Economy] BOSEconomy6 found: %s", getDescription().getName(), bose6.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Economy] BOSEconomy6 not found.", getDescription().getName())); @@ -206,7 +196,7 @@ public class Vault extends JavaPlugin { // Try to load iConomy 6 if (packageExists(new String[] { "com.iCo6.iConomy" })) { Economy icon6 = new Economy_iConomy6(this); - getServer().getServicesManager().register(net.milkbowl.vault.economy.Economy.class, icon6, this, ServicePriority.High); + getServer().getServicesManager().register(Economy.class, icon6, this, ServicePriority.High); log.info(String.format("[%s][Economy] iConomy 6 found: %s", getDescription().getName(), icon6.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Economy] iConomy 6 not found.", getDescription().getName())); @@ -220,7 +210,7 @@ public class Vault extends JavaPlugin { // Try to load PermissionsEx if (packageExists(new String[] { "ru.tehkode.permissions.bukkit.PermissionsEx" })) { Permission ePerms = new Permission_PermissionsEx(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, ePerms, this, ServicePriority.Highest); + getServer().getServicesManager().register(Permission.class, ePerms, this, ServicePriority.Highest); log.info(String.format("[%s][Permission] PermissionsEx found: %s", getDescription().getName(), ePerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Permission] PermissionsEx not found.", getDescription().getName())); @@ -229,14 +219,14 @@ public class Vault extends JavaPlugin { //Try loading PermissionsBukkit if (packageExists(new String[] {"com.platymuus.bukkit.permissions.PermissionsPlugin"} )) { Permission pPerms = new Permission_PermissionsBukkit(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, pPerms, this, ServicePriority.Highest); + getServer().getServicesManager().register(Permission.class, pPerms, this, ServicePriority.Highest); log.info(String.format("[%s][Permission] PermissionsBukkit found: %s", getDescription().getName(), pPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Permission] PermissionsBukkit not found.", getDescription().getName())); } if (packageExists(new String[] {"de.bananaco.permissions.worlds.WorldPermissionsManager"} )) { Permission bPerms = new Permission_bPermissions(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, bPerms, this, ServicePriority.Highest); + getServer().getServicesManager().register(Permission.class, bPerms, this, ServicePriority.Highest); log.info(String.format("[%s][Permission] bPermissions found: %s", getDescription().getName(), bPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Permission] bPermissions not found.", getDescription().getName())); @@ -244,7 +234,7 @@ public class Vault extends JavaPlugin { // Try to load GroupManager if (packageExists(new String[] { "org.anjocaido.groupmanager.GroupManager" })) { Permission gPerms = new Permission_GroupManager(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, gPerms, this, ServicePriority.High); + getServer().getServicesManager().register(Permission.class, gPerms, this, ServicePriority.High); log.info(String.format("[%s][Permission] GroupManager found: %s", getDescription().getName(), gPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Permission] GroupManager not found.", getDescription().getName())); @@ -253,23 +243,14 @@ public class Vault extends JavaPlugin { // Try to load Permissions 3 (Yeti) if (packageExists(new String[] { "com.nijiko.permissions.ModularControl" })) { Permission nPerms = new Permission_Permissions3(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, nPerms, this, ServicePriority.High); + getServer().getServicesManager().register(Permission.class, nPerms, this, ServicePriority.High); log.info(String.format("[%s][Permission] Permissions 3 (Yeti) found: %s", getDescription().getName(), nPerms.isEnabled() ? "Loaded" : "Waiting")); } else { log.info(String.format("[%s][Permission] Permissions 3 (Yeti) not found.", getDescription().getName())); } - - // Try to load Permissions 2 (Phoenix) - if (packageExists(new String[] { "com.nijiko.permissions.Control" })) { - Permission oPerms = new Permission_Permissions2(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, oPerms, this, ServicePriority.Low); - log.info(String.format("[%s][Permission] Permissions 2 (Phoenix) found: %s", getDescription().getName(), oPerms.isEnabled() ? "Loaded" : "Waiting")); - } else { - log.info(String.format("[%s][Permission] Permissions 2 (Phoenix) not found.", getDescription().getName())); - } Permission perms = new Permission_SuperPerms(this); - getServer().getServicesManager().register(net.milkbowl.vault.permission.Permission.class, perms, this, ServicePriority.Lowest); + getServer().getServicesManager().register(Permission.class, perms, this, ServicePriority.Lowest); log.info(String.format("[%s][Permission] SuperPermissions loaded as backup permission system.", getDescription().getName())); } @@ -293,7 +274,7 @@ public class Vault extends JavaPlugin { // Get String of Registered Economy Services String registeredEcons = null; - Collection> econs = this.getServer().getServicesManager().getRegistrations(net.milkbowl.vault.economy.Economy.class); + Collection> econs = this.getServer().getServicesManager().getRegistrations(Economy.class); for (RegisteredServiceProvider econ : econs) { Economy e = econ.getProvider(); if (registeredEcons == null) { @@ -305,7 +286,7 @@ public class Vault extends JavaPlugin { // Get String of Registered Permission Services String registeredPerms = null; - Collection> perms = this.getServer().getServicesManager().getRegistrations(net.milkbowl.vault.permission.Permission.class); + Collection> perms = this.getServer().getServicesManager().getRegistrations(Permission.class); for (RegisteredServiceProvider perm : perms) { Permission p = perm.getProvider(); if (registeredPerms == null) { @@ -316,8 +297,8 @@ public class Vault extends JavaPlugin { } // Get Economy & Permission primary Services - Economy econ = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class).getProvider(); - Permission perm = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class).getProvider(); + Economy econ = getServer().getServicesManager().getRegistration(Economy.class).getProvider(); + Permission perm = getServer().getServicesManager().getRegistration(Permission.class).getProvider(); // Send user some info! sender.sendMessage(String.format("[%s] Vault v%s Information", getDescription().getName(), getDescription().getVersion())); diff --git a/src/net/milkbowl/vault/chat/plugins/Chat_Permissions2.java b/src/net/milkbowl/vault/chat/plugins/Chat_Permissions2.java deleted file mode 100644 index 1001ff7..0000000 --- a/src/net/milkbowl/vault/chat/plugins/Chat_Permissions2.java +++ /dev/null @@ -1,228 +0,0 @@ -package net.milkbowl.vault.chat.plugins; - -import java.util.logging.Logger; - -import net.milkbowl.vault.chat.Chat; - -import org.bukkit.event.Event.Priority; -import org.bukkit.event.Event.Type; -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; - -import com.nijiko.permissions.Control; -import com.nijikokun.bukkit.Permissions.Permissions; - -public class Chat_Permissions2 extends Chat { - private static final Logger log = Logger.getLogger("Minecraft"); - - private String name = "Permissions 2 (Phoenix) - Chat"; - private Control perms; - private Plugin plugin = null; - private PluginManager pluginManager = null; - private Permissions chat = null; - private PermissionServerListener permissionServerListener = null; - - public Chat_Permissions2(Plugin plugin) { - this.plugin = plugin; - pluginManager = this.plugin.getServer().getPluginManager(); - - permissionServerListener = new PermissionServerListener(this); - - this.pluginManager.registerEvent(Type.PLUGIN_ENABLE, permissionServerListener, Priority.Monitor, plugin); - this.pluginManager.registerEvent(Type.PLUGIN_DISABLE, permissionServerListener, Priority.Monitor, plugin); - - // Load Plugin in case it was loaded before - if (chat == null) { - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Permissions"); - if (perms != null) { - if (perms.isEnabled() && perms.getDescription().getVersion().startsWith("2")) { - chat = (Permissions) perms; - this.perms = (Control) chat.getHandler(); - log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), name)); - } - } - } - } - - private class PermissionServerListener extends ServerListener { - Chat_Permissions2 permission = null; - - public PermissionServerListener(Chat_Permissions2 permission) { - this.permission = permission; - } - - public void onPluginEnable(PluginEnableEvent event) { - if (permission.chat == null) { - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Permissions"); - - if (perms != null) { - if (perms.isEnabled()) { - permission.chat = (Permissions) perms; - log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), permission.name)); - } - } - } - } - - public void onPluginDisable(PluginDisableEvent event) { - if (permission.chat != null) { - if (event.getPlugin().getDescription().getName().equals("Permissions")) { - permission.chat = null; - log.info(String.format("[%s][Permission] %s un-hooked.", plugin.getDescription().getName(), permission.name)); - } - } - } - } - - @Override - public String getName() { - return name; - } - - @Override - public boolean isEnabled() { - if (chat == null) { - return false; - } else { - return chat.isEnabled(); - } - } - - @Override - public int getPlayerInfoInteger(String world, String playerName, String node, int defaultValue) { - int i = this.perms.getPermissionInteger(world, playerName, node); - return (i == -1) ? defaultValue : i; - } - - @Override - public void setPlayerInfoInteger(String world, String playerName, String node, int value) { - setPlayerInfo(world, playerName, node, value); - } - - private void setPlayerInfo(String world, String playerName, String node, Object value) { - this.perms.addUserInfo(world, playerName, node, value); - } - - public void setGroupInfo(String world, String groupName, String node, Object value) { - this.perms.addGroupInfo(world, groupName, node, value); - } - - @Override - public int getGroupInfoInteger(String world, String groupName, String node, int defaultValue) { - int i = this.perms.getGroupPermissionInteger(world, groupName, node); - return (i == -1) ? defaultValue : i; - } - - @Override - public void setGroupInfoInteger(String world, String groupName, String node, int value) { - setGroupInfo(world, groupName, node, value); - } - - @Override - public double getPlayerInfoDouble(String world, String playerName, String node, double defaultValue) { - double d = this.perms.getPermissionDouble(world, playerName, node); - return (d == -1) ? defaultValue : d; - } - - @Override - public void setPlayerInfoDouble(String world, String playerName, String node, double value) { - setPlayerInfo(world, playerName, node, value); - } - - @Override - public double getGroupInfoDouble(String world, String groupName, String node, double defaultValue) { - double d = this.perms.getGroupPermissionDouble(world, groupName, node); - return (d == -1) ? defaultValue : d; - } - - @Override - public void setGroupInfoDouble(String world, String groupName, String node, double value) { - setGroupInfo(world, groupName, node, value); - } - - @Override - public boolean getPlayerInfoBoolean(String world, String playerName, String node, boolean defaultValue) { - // Warning does not support default value - return this.perms.getPermissionBoolean(world, playerName, node); - } - - @Override - public void setPlayerInfoBoolean(String world, String playerName, String node, boolean value) { - setPlayerInfo(world, playerName, node, value); - } - - @Override - public boolean getGroupInfoBoolean(String world, String groupName, String node, boolean defaultValue) { - return this.perms.getGroupPermissionBoolean(world, groupName, node); - } - - @Override - public void setGroupInfoBoolean(String world, String groupName, String node, boolean value) { - setGroupInfo(world, groupName, node, value); - } - - @Override - public String getPlayerInfoString(String world, String playerName, String node, String defaultValue) { - String s = this.perms.getPermissionString(world, playerName, node); - return (s == "" || s == null) ? defaultValue : s; - } - - @Override - public void setPlayerInfoString(String world, String playerName, String node, String value) { - setPlayerInfo(world, playerName, node, value); - } - - @Override - public String getGroupInfoString(String world, String groupName, String node, String defaultValue) { - String s = this.perms.getGroupPermissionString(world, groupName, node); - return (s == "" || s == null) ? defaultValue : s; - } - - @Override - public void setGroupInfoString(String world, String groupName, String node, String value) { - setGroupInfo(world, groupName, node, value); - } - - @Override - public String getPlayerPrefix(String world, String playerName) { - return this.perms.getPermissionString(world, playerName, "prefix"); - } - - @Override - public String getPlayerSuffix(String world, String playerName) { - return this.perms.getPermissionString(world, playerName, "suffix"); - } - - @Override - public void setPlayerSuffix(String world, String player, String suffix) { - setPlayerInfo(world, player, "suffix", suffix); - } - - @Override - public void setPlayerPrefix(String world, String player, String prefix) { - setPlayerInfo(world, player, "prefix", prefix); - } - - @Override - public String getGroupPrefix(String world, String group) { - return perms.getGroupPrefix(world, group); - } - - @Override - public void setGroupPrefix(String world, String group, String prefix) { - setGroupInfo(world, group, "prefix", prefix); - } - - @Override - public String getGroupSuffix(String world, String group) { - return perms.getGroupSuffix(world, group); - } - - @Override - public void setGroupSuffix(String world, String group, String suffix) { - setGroupInfo(world, group, "suffix", suffix); - } -} diff --git a/src/net/milkbowl/vault/chat/plugins/Chat_Permissions3.java b/src/net/milkbowl/vault/chat/plugins/Chat_Permissions3.java index ad5288f..04d1af1 100644 --- a/src/net/milkbowl/vault/chat/plugins/Chat_Permissions3.java +++ b/src/net/milkbowl/vault/chat/plugins/Chat_Permissions3.java @@ -84,50 +84,49 @@ public class Chat_Permissions3 extends Chat { } @Override public int getPlayerInfoInteger(String world, String playerName, String node, int defaultValue) { - Integer i = this.perms.getInfoInteger(world, playerName, node, false); + Integer i = this.perms.getPermissionInteger(world, playerName, node); return (i == null) ? defaultValue : i; } @Override public double getPlayerInfoDouble(String world, String playerName, String node, double defaultValue) { - Double d = this.perms.getInfoDouble(world, playerName, node, false); + Double d = this.perms.getPermissionDouble(world, playerName, node); return (d == null) ? defaultValue : d; } @Override public boolean getPlayerInfoBoolean(String world, String playerName, String node, boolean defaultValue) { - Boolean b = this.perms.getInfoBoolean(world, playerName, node, false); + Boolean b = this.perms.getPermissionBoolean(world, playerName, node); return (b == null) ? defaultValue : b; } @Override public String getPlayerInfoString(String world, String playerName, String node, String defaultValue) { - String s = this.perms.getInfoString(world, playerName, node, false); + String s = this.perms.getPermissionString(world, playerName, node); return (s == null) ? defaultValue : s; } @Override public String getPlayerPrefix(String world, String playerName) { - return this.perms.getUserPrefix(world, playerName); + return getPlayerInfoString(world, playerName, "prefix", null); } @Override public String getPlayerSuffix(String world, String playerName) { - return this.perms.getUserSuffix(world, playerName); + return getPlayerInfoString(world, playerName, "suffix", null); } @Override public void setPlayerSuffix(String world, String player, String suffix) { - this.perms.addUserInfo(world, player, "suffix", suffix); } @Override public void setPlayerPrefix(String world, String player, String prefix) { - this.perms.addUserInfo(world, player, "prefix", prefix); + //this.perms.addUserInfo(world, player, "prefix", prefix); } public void setPlayerInfo(String world, String playerName, String node, Object value) { - this.perms.addUserInfo(world, playerName, node, value); + //this.perms.addUserInfo(world, playerName, node, value); } @Override @@ -152,8 +151,9 @@ public class Chat_Permissions3 extends Chat { @Override public int getGroupInfoInteger(String world, String groupName, String node, int defaultValue) { - Integer i = this.perms.getInfoInteger(world, groupName, node, true); - return (i == null) ? defaultValue : i; + //Integer i = this.perms.getInfoInteger(world, groupName, node, true); + //return (i == null) ? defaultValue : i; + return defaultValue; } @@ -168,8 +168,9 @@ public class Chat_Permissions3 extends Chat { @Override public double getGroupInfoDouble(String world, String groupName, String node, double defaultValue) { - Double d = this.perms.getInfoDouble(world, groupName, node, true); - return (d == null) ? defaultValue : d; + //Double d = this.perms.getInfoDouble(world, groupName, node, true); + //return (d == null) ? defaultValue : d; + return defaultValue; } @Override @@ -179,8 +180,9 @@ public class Chat_Permissions3 extends Chat { @Override public boolean getGroupInfoBoolean(String world, String groupName, String node, boolean defaultValue) { - Boolean b = this.perms.getInfoBoolean(world, groupName, node, true); - return (b == null) ? defaultValue : b; + //Boolean b = this.perms.getInfoBoolean(world, groupName, node, true); + //return (b == null) ? defaultValue : b; + return defaultValue; } @Override @@ -190,8 +192,9 @@ public class Chat_Permissions3 extends Chat { @Override public String getGroupInfoString(String world, String groupName, String node, String defaultValue) { - String s = this.perms.getInfoString(world, groupName, node, true); - return (s == null) ? defaultValue : s; + //String s = this.perms.getInfoString(world, groupName, node, true); + //return (s == null) ? defaultValue : s; + return null; } @Override @@ -201,11 +204,11 @@ public class Chat_Permissions3 extends Chat { @Override public String getGroupPrefix(String world, String group) { - try { - return perms.safeGetGroup(world, group).getPrefix(); - } catch(Exception e) { + //try { + // return perms.safeGetGroup(world, group).getPrefix(); + //} catch(Exception e) { return null; - } + //} } @Override @@ -215,11 +218,12 @@ public class Chat_Permissions3 extends Chat { @Override public String getGroupSuffix(String world, String group) { + /* try { return perms.safeGetGroup(world, group).getSuffix(); - } catch(Exception e) { + } catch(Exception e) { */ return null; - } + //} } @Override diff --git a/src/net/milkbowl/vault/permission/plugins/Permission_Permissions2.java b/src/net/milkbowl/vault/permission/plugins/Permission_Permissions2.java deleted file mode 100644 index 62bd763..0000000 --- a/src/net/milkbowl/vault/permission/plugins/Permission_Permissions2.java +++ /dev/null @@ -1,210 +0,0 @@ -package net.milkbowl.vault.permission.plugins; - -import java.util.HashSet; -import java.util.Set; -import java.util.logging.Logger; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.entity.Player; -import org.bukkit.event.Event.Priority; -import org.bukkit.event.Event.Type; -import org.bukkit.event.server.PluginDisableEvent; -import org.bukkit.event.server.PluginEnableEvent; -import org.bukkit.event.server.ServerListener; -import org.bukkit.permissions.PermissionAttachment; -import org.bukkit.permissions.PermissionAttachmentInfo; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginManager; - -import com.nijiko.permissions.Control; -import com.nijiko.permissions.Group; -import com.nijikokun.bukkit.Permissions.Permissions; - -import net.milkbowl.vault.permission.Permission; - -public class Permission_Permissions2 extends Permission { - private static final Logger log = Logger.getLogger("Minecraft"); - - private String name = "Permissions 2 (Phoenix)"; - private Control perms; - private Plugin plugin = null; - private PluginManager pluginManager = null; - private Permissions permission = null; - private PermissionServerListener permissionServerListener = null; - - public Permission_Permissions2(Plugin plugin) { - this.plugin = plugin; - pluginManager = this.plugin.getServer().getPluginManager(); - - permissionServerListener = new PermissionServerListener(this); - - this.pluginManager.registerEvent(Type.PLUGIN_ENABLE, permissionServerListener, Priority.Monitor, plugin); - this.pluginManager.registerEvent(Type.PLUGIN_DISABLE, permissionServerListener, Priority.Monitor, plugin); - - // Load Plugin in case it was loaded before - if (permission == null) { - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Permissions"); - if (perms != null) { - if (perms.isEnabled() && perms.getDescription().getVersion().startsWith("2")) { - permission = (Permissions) perms; - this.perms = (Control) permission.getHandler(); - log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), name)); - } - } - } - } - - private class PermissionServerListener extends ServerListener { - Permission_Permissions2 permission = null; - - public PermissionServerListener(Permission_Permissions2 permission) { - this.permission = permission; - } - - public void onPluginEnable(PluginEnableEvent event) { - if (permission.permission == null) { - Plugin perms = plugin.getServer().getPluginManager().getPlugin("Permissions"); - - if (perms != null) { - if (perms.isEnabled()) { - permission.permission = (Permissions) perms; - log.info(String.format("[%s][Permission] %s hooked.", plugin.getDescription().getName(), permission.name)); - } - } - } - } - - public void onPluginDisable(PluginDisableEvent event) { - if (permission.permission != null) { - if (event.getPlugin().getDescription().getName().equals("Permissions")) { - permission.permission = null; - log.info(String.format("[%s][Permission] %s un-hooked.", plugin.getDescription().getName(), permission.name)); - } - } - } - } - - @Override - public String getName() { - return name; - } - - @Override - public boolean isEnabled() { - if (permission == null) { - return false; - } else { - return permission.isEnabled(); - } - } - - @Override - public boolean playerHas(String worldName, String playerName, String permission) { - Player p = plugin.getServer().getPlayer(playerName); - if (p != null) { - if (p.hasPermission(permission)) - return true; - } - return this.perms.has(worldName, playerName, permission); - } - - @Override - public boolean playerAdd(String worldName, String playerName, String permission) { - this.perms.addUserPermission(worldName, playerName, permission); - return true; - } - - @Override - public boolean playerRemove(String worldName, String playerName, String permission) { - this.perms.removeUserPermission(worldName, playerName, permission); - return true; - } - - @Override - public boolean groupHas(String worldName, String groupName, String permission) { - throw new UnsupportedOperationException(getName() + " cannot get group Permissions."); - } - - @Override - public boolean groupAdd(String worldName, String groupName, String permission) { - this.perms.addGroupPermission(worldName, groupName, permission); - return true; - } - - @Override - public boolean groupRemove(String worldName, String groupName, String permission) { - this.perms.removeGroupPermission(worldName, groupName, permission); - return true; - } - - @Override - public boolean playerInGroup(String worldName, String playerName, String groupName) { - return this.perms.inGroup(worldName, playerName, groupName); - } - - @Override - public boolean playerAddGroup(String worldName, String playerName, String groupName) { - throw new UnsupportedOperationException(getName() + " cannot modify permissions."); - } - - @Override - public boolean playerRemoveGroup(String worldName, String playerName, String groupName) { - throw new UnsupportedOperationException(getName() + " cannot modify permissions."); - } - - @Override - public String[] getPlayerGroups(String world, String playerName) { - return this.perms.getGroups(world, playerName); - } - - @Override - public String getPrimaryGroup(String world, String playerName) { - return this.perms.getGroup(world, playerName); - } - - @Override - public boolean playerAddTransient(String world, String player, String permission) { - Player p = plugin.getServer().getPlayer(player); - if (p == null) { - throw new UnsupportedOperationException(getName() + " does not support offline player transient permissions!"); - } - - for (PermissionAttachmentInfo paInfo : p.getEffectivePermissions()) { - if (paInfo.getAttachment().getPlugin().equals(plugin)) { - paInfo.getAttachment().setPermission(permission, true); - return true; - } - } - - PermissionAttachment attach = p.addAttachment(plugin); - attach.setPermission(permission, true); - - return true; - } - - @Override - public boolean playerRemoveTransient(String world, String player, String permission) { - Player p = plugin.getServer().getPlayer(player); - if (p == null) { - throw new UnsupportedOperationException(getName() + " does not support offline player transient permissions!"); - } - for (PermissionAttachmentInfo paInfo : p.getEffectivePermissions()) { - if (paInfo.getAttachment().getPlugin().equals(plugin)) { - return paInfo.getAttachment().getPermissions().remove(permission); - } - } - return false; - } - - @Override - public String[] getGroups() { - Set groupNames = new HashSet(); - for (World world : Bukkit.getServer().getWorlds()) { - for (Group group : perms.getGroups(world.getName())) { - groupNames.add(group.getName()); - } - } - return groupNames.toArray(new String[0]); - } -} diff --git a/src/net/milkbowl/vault/permission/plugins/Permission_Permissions3.java b/src/net/milkbowl/vault/permission/plugins/Permission_Permissions3.java index 87a500b..bfbd9f8 100644 --- a/src/net/milkbowl/vault/permission/plugins/Permission_Permissions3.java +++ b/src/net/milkbowl/vault/permission/plugins/Permission_Permissions3.java @@ -141,25 +141,17 @@ public class Permission_Permissions3 extends Permission { @Override public boolean groupAdd(String worldName, String groupName, String permission) { - this.perms.addGroupPermission(worldName, groupName, permission); - return true; + return false; } @Override public boolean groupRemove(String worldName, String groupName, String permission) { - this.perms.removeGroupPermission(worldName, groupName, permission); - return true; + return false; } @Override public boolean groupHas(String worldName, String groupName, String permission) { - try { - Group group = this.perms.safeGetGroup(worldName, groupName); - return group.hasPermission(permission); - } catch (Exception e) { - // lowut? - return false; - } + return false; } @Override @@ -168,7 +160,7 @@ public class Permission_Permissions3 extends Permission { } public String getPrimaryGroup(String world, String playerName) { - return this.perms.getPrimaryGroup(world, playerName); + return getPlayerGroups(world, playerName)[0]; } @Override @@ -184,32 +176,37 @@ public class Permission_Permissions3 extends Permission { @Override public boolean playerAddTransient(String world, String player, String permission) { - try { + /*try { perms.safeGetUser(world, player).addTimedPermission(permission, 0); return true; } catch(Exception e) { return false; - } + } */ + return false; } @Override public boolean playerRemoveTransient(String world, String player, String permission) { + /* try { perms.safeGetUser(world, player).removeTimedPermission(permission); return true; } catch (Exception e) { return false; } + */ + return false; } @Override public String[] getGroups() { - Set groupNames = new HashSet(); + + Set groupNames = new HashSet();/* for (World world : Bukkit.getServer().getWorlds()) { for (Group group : perms.getGroups(world.getName())) { groupNames.add(group.getName()); } - } + }*/ return groupNames.toArray(new String[0]); } }