handle the no permission message component directly, closes #1421

This commit is contained in:
granny
2023-08-26 23:18:39 -07:00
parent 4240de4a38
commit ab6cc70354

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Gamemode extra permissions
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index f03fd95412883a3a5bbe2b91c603874bf147e6cb..431ad4151023a9fc8549fbd485018457b7efa2e0 100644 index f03fd95412883a3a5bbe2b91c603874bf147e6cb..873659dcf8c8431f21bd2b23b8d7bdb4ea7e03e8 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -227,6 +227,21 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy @@ -227,6 +227,19 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
} }
// CraftBukkit end // CraftBukkit end
@@ -17,11 +17,9 @@ index f03fd95412883a3a5bbe2b91c603874bf147e6cb..431ad4151023a9fc8549fbd485018457
+ if (hasPermission(i, bukkitPermission)) { + if (hasPermission(i, bukkitPermission)) {
+ return true; + return true;
+ } + }
+ String permissionMessage = getLevel().getServer().server.getPermissionMessage(); + net.kyori.adventure.text.Component permissionMessage = getLevel().getServer().server.permissionMessage();
+ if (!permissionMessage.isBlank()) { + if (!permissionMessage.equals(net.kyori.adventure.text.Component.empty())) {
+ for (String line : permissionMessage.replace("<permission>", bukkitPermission).split("\n")) { + sendFailure(io.papermc.paper.adventure.PaperAdventure.asVanilla(permissionMessage.replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<permission>").replacement(bukkitPermission).build())));
+ sendFailure(Component.literal(line));
+ }
+ } + }
+ return false; + return false;
+ } + }
@@ -75,7 +73,7 @@ index 2959f713ce75a1df9c6c7cf5e021690cfcb6e1e7..3fa9539cfb2c35beeba6d44fa05cee97
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a212357e968393f4d303364e63092defad3d7835..3d0fc534454cd8b543e4fa55aa9dfe1e55ee1b49 100644 index 85a41b50a1f0a89264585ecd621e7e5a1de67efc..a66c35ce86437311b38d1787c766bbe179cc5dfa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -233,6 +233,7 @@ public class PurpurConfig { @@ -233,6 +233,7 @@ public class PurpurConfig {