13
0
geforkt von Mirrors/Paper

[Bleeding] Implemented customizable permission messages.

By: Wesley Wolfe <weswolf@aol.com>
Dieser Commit ist enthalten in:
Bukkit/Spigot 2012-02-08 17:03:50 -06:00
Ursprung 3dadfe5e85
Commit 0293f10d23
2 geänderte Dateien mit 34 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -21,6 +21,7 @@ public abstract class Command {
protected String description = "";
protected String usageMessage;
private String permission;
private String permissionMessage;
protected Command(String name) {
this(name, "", "/" + name, new ArrayList<String>());
@ -86,7 +87,14 @@ public abstract class Command {
return true;
}
if (permissionMessage == null) {
target.sendMessage(ChatColor.RED + "I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error.");
} else if (permissionMessage.length() != 0) {
for (String line : permissionMessage.replace("<permission>", permission).split("\n")) {
target.sendMessage(line);
}
}
return false;
}
@ -171,6 +179,15 @@ public abstract class Command {
return activeAliases;
}
/**
* Returns a message to be displayed on a failed permission check for this command
*
* @return Permission check failed message
*/
public String getPermissionMessage() {
return permissionMessage;
}
/**
* Gets a brief description of this command
*
@ -214,6 +231,17 @@ public abstract class Command {
return this;
}
/**
* Sets the message sent when a permission check fails
*
* @param permissionMessage New permission message, null to indicate default message, or an empty string to indicate no message
* @return This command object, for linking
*/
public Command setPermissionMessage(String permissionMessage) {
this.permissionMessage = permissionMessage;
return this;
}
/**
* Sets the example usage of this command
*

Datei anzeigen

@ -27,6 +27,7 @@ public class PluginCommandYamlParser {
Object usage = entry.getValue().get("usage");
Object aliases = entry.getValue().get("aliases");
Object permission = entry.getValue().get("permission");
Object permissionMessage = entry.getValue().get("permission-message");
if (description != null) {
newCmd.setDescription(description.toString());
@ -54,6 +55,10 @@ public class PluginCommandYamlParser {
newCmd.setPermission(permission.toString());
}
if (permissionMessage != null) {
newCmd.setPermissionMessage(permissionMessage.toString());
}
pluginCmds.add(newCmd);
}
}