Files
Purpur/patches/server/0027-Fix-vanilla-command-permission-handler.patch
William Blake Galbreath 32fc651f97 Updated Upstream (Paper & Airplane)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
b470400d5c Add methods to find targets for lightning strikes (#6712)
381a1462b3 Fix unplaced block states after new chunk gen API (#6747)
523a55c609 Fix loading cmds in datapacks (#6641)
a61827df91 VanillaCommandWrapper didnt account for entity senders (#6586)
cd610df101 Re-readd root/admin user detection (#6703)
4a0d935cd0 Always allow item changing in EntityFireball (#5493)
54813dbb21 [ci skip] Misc gradle updates (#6763)
56e65fd3a7 Null check isApplicable for CraftBlockEntityState#update
8575248648 Use ChatRenderer.defaultRenderer() when legacy events have not modified the format (#6104)

Airplane Changes:
f96ca1ce5d Upstream
89cdb2c72a Update Paperweight deps
317e61bb48 We love CI testing
2021-10-13 07:51:40 -05:00

31 lines
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 28 Mar 2020 01:51:32 -0500
Subject: [PATCH] Fix vanilla command permission handler
diff --git a/src/main/java/com/mojang/brigadier/tree/CommandNode.java b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
index f64aa22ed6fcb4af67317b99f459ee5296392548..36c91793e0aa4895193623cf8cba7820d31f4eca 100644
--- a/src/main/java/com/mojang/brigadier/tree/CommandNode.java
+++ b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
@@ -34,6 +34,7 @@ public abstract class CommandNode<S> implements Comparable<CommandNode<S>> {
private final RedirectModifier<S> modifier;
private final boolean forks;
private Command<S> command;
+ private String permission = null; public String getPermission() { return permission; } public void setPermission(String permission) { this.permission = permission; } // Purpur
// CraftBukkit start
public void removeCommand(String name) {
this.children.remove(name);
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
index 4aa1dc543950b5de64345b3403a6d0bc41c521df..1c19a64da230268ceb9124bb7e1a141d78ac3393 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
@@ -89,6 +89,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
}
public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
+ if (vanillaCommand.getPermission() != null) return vanillaCommand.getPermission(); // Purpur
// Paper start
final String commandName;
if (vanillaCommand.getRedirect() == null) {