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