diff options
Diffstat (limited to 'patches/api/0159-Make-the-default-permission-message-configurable.patch')
-rw-r--r-- | patches/api/0159-Make-the-default-permission-message-configurable.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/patches/api/0159-Make-the-default-permission-message-configurable.patch b/patches/api/0159-Make-the-default-permission-message-configurable.patch new file mode 100644 index 0000000000..8dac5d0ae4 --- /dev/null +++ b/patches/api/0159-Make-the-default-permission-message-configurable.patch @@ -0,0 +1,84 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Shane Freeder <[email protected]> +Date: Sun, 18 Nov 2018 19:44:54 +0000 +Subject: [PATCH] Make the default permission message configurable + + +diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java +index d60780a26e10f5f9c80446693552384281327b51..f248515862c3bc418b42b8e197feb43addfd122d 100644 +--- a/src/main/java/org/bukkit/Bukkit.java ++++ b/src/main/java/org/bukkit/Bukkit.java +@@ -2397,6 +2397,28 @@ public final class Bukkit { + return server.suggestPlayerNamesWhenNullTabCompletions(); + } + ++ /** ++ * Gets the default no permission message used on the server ++ * ++ * @return the default message ++ * @deprecated use {@link #permissionMessage()} ++ */ ++ @NotNull ++ @Deprecated ++ public static String getPermissionMessage() { ++ return server.getPermissionMessage(); ++ } ++ ++ /** ++ * Gets the default no permission message used on the server ++ * ++ * @return the default message ++ */ ++ @NotNull ++ public static net.kyori.adventure.text.Component permissionMessage() { ++ return server.permissionMessage(); ++ } ++ + /** + * Creates a PlayerProfile for the specified uuid, with name as null. + * +diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java +index 19e6cee94caabfe93c841da783c86a3c283ebcb9..69f236d965c631510b008a7eb38aa1b62a4e196a 100644 +--- a/src/main/java/org/bukkit/Server.java ++++ b/src/main/java/org/bukkit/Server.java +@@ -2086,6 +2086,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi + */ + boolean suggestPlayerNamesWhenNullTabCompletions(); + ++ /** ++ * Gets the default no permission message used on the server ++ * ++ * @return the default message ++ * @deprecated use {@link #permissionMessage()} ++ */ ++ @NotNull ++ @Deprecated ++ String getPermissionMessage(); ++ ++ /** ++ * Gets the default no permission message used on the server ++ * ++ * @return the default message ++ */ ++ @NotNull net.kyori.adventure.text.Component permissionMessage(); ++ + /** + * Creates a PlayerProfile for the specified uuid, with name as null. + * +diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java +index f7b78198d9983610fc2185124c3080e6b1c0fa35..b3a2c274f05156fd603bcc7a68ab41265f2eaf44 100644 +--- a/src/main/java/org/bukkit/command/Command.java ++++ b/src/main/java/org/bukkit/command/Command.java +@@ -184,10 +184,9 @@ 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 a mistake."); + // Paper start - use components for permissionMessage +- } else if (!permissionMessage.equals(net.kyori.adventure.text.Component.empty())) { ++ net.kyori.adventure.text.Component permissionMessage = this.permissionMessage != null ? this.permissionMessage : Bukkit.permissionMessage(); ++ if (!permissionMessage.equals(net.kyori.adventure.text.Component.empty())) { + target.sendMessage(permissionMessage.replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<permission>").replacement(permission).build())); + // Paper end + } |