From fe5de8a854984d53be087899aaf56508d452b31f Mon Sep 17 00:00:00 2001 From: vemacs Date: Mon, 1 Jun 2015 10:19:11 -0600 Subject: [PATCH] Fix #35, implement prefix and suffix methods for VaultHandler --- .../essentials/perm/VaultHandler.java | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/perm/VaultHandler.java b/Essentials/src/com/earth2me/essentials/perm/VaultHandler.java index 43ea54bd3..f0eddd18b 100644 --- a/Essentials/src/com/earth2me/essentials/perm/VaultHandler.java +++ b/Essentials/src/com/earth2me/essentials/perm/VaultHandler.java @@ -1,6 +1,7 @@ package com.earth2me.essentials.perm; import com.earth2me.essentials.Essentials; +import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.permission.Permission; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; @@ -12,6 +13,7 @@ public class VaultHandler extends SuperpermsHandler { private Essentials plugin; private static Permission perms = null; + private static Chat chat = null; public VaultHandler(Essentials plugin) { this.plugin = plugin; @@ -24,9 +26,11 @@ public class VaultHandler extends SuperpermsHandler { return false; } - RegisteredServiceProvider rsp = plugin.getServer().getServicesManager().getRegistration(Permission.class); - perms = rsp.getProvider(); - return perms != null; + RegisteredServiceProvider permsProvider = plugin.getServer().getServicesManager().getRegistration(Permission.class); + perms = permsProvider.getProvider(); + RegisteredServiceProvider chatProvider = plugin.getServer().getServicesManager().getRegistration(Chat.class); + chat = chatProvider.getProvider(); + return perms != null && chat != null; } @Override @@ -48,4 +52,26 @@ public class VaultHandler extends SuperpermsHandler { public boolean hasPermission(final Player base, String node) { return base.hasPermission(node); } + + @Override + public String getPrefix(final Player base) { + String playerPrefix = chat.getPlayerPrefix(base); + if (playerPrefix == null) { + String playerGroup = perms.getPrimaryGroup(base); + return chat.getGroupPrefix((String) null, playerGroup); + } else { + return playerPrefix; + } + } + + @Override + public String getSuffix(final Player base) { + String playerSuffix = chat.getPlayerSuffix(base); + if (playerSuffix == null) { + String playerGroup = perms.getPrimaryGroup(base); + return chat.getGroupSuffix((String) null, playerGroup); + } else { + return playerSuffix; + } + } }