Files
Purpur/patches/server/0023-Fix-vanilla-command-permission-handler.patch
Ben Kerllenevich 6bd246b947 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
2c6b1f048 Revert "Remove itneract event from boat" (Fixes #5677)
aae1c54a9 Add command line option to load extra plugin jars not in the plugins folder
322886c86 Avoid NPE due to PlayerBedFailEnterEvent
d3c9a195c removed duplicate ProjectileHitEvent for fireball (#5671)
7989028a5 More Enchantment API (#5588)
c0cb5c129 Adds methods for checking item repairability (#5651)
22399b07f Actually use extended/ambient in BeaconEffectEvent (#5647)
979135878 Add cause and cancel message to PlayerGameModeChangeEvent (#5638)
51e1e58d2 Fix Adventure support in UnknownCommandEvent (#5664)
45e19ffb0 [Auto] Updated Upstream (CraftBukkit)
151457628 Fix Counter#decrement recursive call (#5665)
21ac7dc98 [Auto] Updated Upstream (CraftBukkit)
18ad2c9dd Add environment variable (PAPER_DISABLE_SERVER_GUI) to disable server gui
2021-05-19 18:01:23 -04:00

31 lines
1.9 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 c0fac7369b111e65b896a15848ae22457e5e8914..5278997e522b495b83e53cac5968388d6eca45e4 100644
--- a/src/main/java/com/mojang/brigadier/tree/CommandNode.java
+++ b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
@@ -35,6 +35,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) {
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 56a0665127c7c55049b8438c91e72b6881ed11e0..575bc7d8a433cd6d4755757d82fe3a18da184d5a 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
@@ -87,6 +87,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
}
public static String getPermission(CommandNode<CommandListenerWrapper> vanillaCommand) {
+ if (vanillaCommand.getPermission() != null) return vanillaCommand.getPermission(); // Purpur
return "minecraft.command." + ((vanillaCommand.getRedirect() == null) ? vanillaCommand.getName() : vanillaCommand.getRedirect().getName());
}