diff --git a/pom.xml b/pom.xml index 933bcee..daaddf9 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 ru.tehkode Modifyworld - 1.19.6 + 1.19.7-SNAPSHOT Modifyworld https://github.com/t3hk0d3/Modifyworld @@ -67,7 +67,7 @@ org.bukkit bukkit - 1.4.7-R1.0 + 1.6.2-R0.1 jar @@ -75,12 +75,21 @@ PermissionsEx 1.19.6 + + net.milkbowl + vault + 1.2.27 + - + bukkit-repo http://repo.bukkit.org/content/groups/public + + vault-repo + http://ci.herocraftonline.com/plugin/repository/everything + UTF-8 diff --git a/src/main/java/ru/tehkode/modifyworld/PlayerInformer.java b/src/main/java/ru/tehkode/modifyworld/PlayerInformer.java index ece7020..b9e0e1f 100644 --- a/src/main/java/ru/tehkode/modifyworld/PlayerInformer.java +++ b/src/main/java/ru/tehkode/modifyworld/PlayerInformer.java @@ -1,5 +1,7 @@ package ru.tehkode.modifyworld; +import net.milkbowl.vault.chat.Chat; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.configuration.ConfigurationSection; @@ -37,9 +39,7 @@ public class PlayerInformer { private void loadConfig(ConfigurationSection config) { this.defaultMessage = config.getString("default-message", this.defaultMessage); - this.messageFormat = config.getString("message-format", this.messageFormat); - this.individualMessages = config.getBoolean("individual-messages", this.individualMessages); this.importMessages(config); @@ -79,41 +79,79 @@ public class PlayerInformer { } public String getMessage(Player player, String permission) { - boolean permissionsExExists = true; - try { - Class permissionsExClass = Class.forName("ru.tehkode.permissions.bukkit.PermissionsEx"); - } catch (ClassNotFoundException e) { - permissionsExExists = false; + String message = null; + if (Bukkit.getServer().getPluginManager().isPluginEnabled("Vault")) { + message = getMessageVault(player, permission); } - if (permissionsExExists) { - if (PermissionsEx.isAvailable()) { - PermissionUser user = PermissionsEx.getUser(player); - - String message; - String perm = permission; - int index; - - while ((index = perm.lastIndexOf(".")) != -1) { - perm = perm.substring(0, index); - - message = user.getOption("permission-denied-" + perm, player.getWorld().getName(), null); - if (message == null) { - continue; - } - - return message; - } - - message = user.getOption("permission-denied", player.getWorld().getName(), null); - - if (message != null) { - return message; - } + if (message == null) { + try { + Class.forName("ru.tehkode.permissions.bukkit.PermissionsEx"); + message = getMessagePEX(player, permission); + } catch (ClassNotFoundException ignore) { } } + + if (message != null) { + return message; + } + return getMessage(permission); } + public String getMessagePEX(Player player, String permission) { + if (PermissionsEx.isAvailable()) { + PermissionUser user = PermissionsEx.getUser(player); + + String message; + String perm = permission; + int index; + + while ((index = perm.lastIndexOf(".")) != -1) { + perm = perm.substring(0, index); + + message = user.getOption("permission-denied-" + perm, player.getWorld().getName(), null); + if (message == null) { + continue; + } + + return message; + } + + message = user.getOption("permission-denied", player.getWorld().getName(), null); + + if (message != null) { + return message; + } + } + return null; + } + + private String getMessageVault(Player player, String permission) { + Chat chat = Bukkit.getServer().getServicesManager().load(Chat.class); + if (chat != null) { + String message; + String perm = permission; + int index; + + while ((index = perm.lastIndexOf(".")) != -1) { + perm = perm.substring(0, index); + + message = chat.getPlayerInfoString(player.getWorld(), player.getName(), "permission-denied-" + perm, null); + if (message == null) { + continue; + } + + return message; + } + + message = chat.getPlayerInfoString(player.getWorld(), player.getName(), "permission-denied", null); + if (message != null) { + return message; + } + } + return null; + } + public void informPlayer(Player player, String permission, Object... args) { if (!enabled) { return; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 1a23331..b2163f5 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: Modifyworld main: ru.tehkode.modifyworld.bukkit.Modifyworld -soft-depend: [ PermissionsEx ] +soft-depend: [ PermissionsEx, Vault ] version: "${project.version}" author: t3hk0d3 website: www.bukkit.org