aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0628-Vanilla-command-permission-fixes.patch
diff options
context:
space:
mode:
authormaxcom1 <[email protected]>2024-03-23 22:26:17 +0100
committerGitHub <[email protected]>2024-03-23 17:26:17 -0400
commitb6001403e9703cadaa6e8c8558e732b91c3c6d6e (patch)
treea8c57bbc334a8ad48d4ad2b43db335667b142bee /patches/server/0628-Vanilla-command-permission-fixes.patch
parent9ec7dfcbc41c6e625de0050b6997160a75df9f44 (diff)
downloadPaper-b6001403e9703cadaa6e8c8558e732b91c3c6d6e.tar.gz
Paper-b6001403e9703cadaa6e8c8558e732b91c3c6d6e.zip
Add methods to change entity physics (#10334)
Diffstat (limited to 'patches/server/0628-Vanilla-command-permission-fixes.patch')
-rw-r--r--patches/server/0628-Vanilla-command-permission-fixes.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/patches/server/0628-Vanilla-command-permission-fixes.patch b/patches/server/0628-Vanilla-command-permission-fixes.patch
deleted file mode 100644
index 25c28237d6..0000000000
--- a/patches/server/0628-Vanilla-command-permission-fixes.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jason Penilla <[email protected]>
-Date: Wed, 25 Aug 2021 13:19:53 -0700
-Subject: [PATCH] Vanilla command permission fixes
-
-Fixes permission checks for vanilla commands which don't have a
-requirement, as well as for namespaced vanilla commands.
-
-== AT ==
-public-f com.mojang.brigadier.tree.CommandNode requirement
-
-diff --git a/src/main/java/com/mojang/brigadier/builder/ArgumentBuilder.java b/src/main/java/com/mojang/brigadier/builder/ArgumentBuilder.java
-index 899008b2980d13f1be6280cd8cb959c53a29bebf..d5f7da3502575f6847f3c22ab0e942848a7c6031 100644
---- a/src/main/java/com/mojang/brigadier/builder/ArgumentBuilder.java
-+++ b/src/main/java/com/mojang/brigadier/builder/ArgumentBuilder.java
-@@ -14,9 +14,17 @@ import java.util.Collections;
- import java.util.function.Predicate;
-
- public abstract class ArgumentBuilder<S, T extends ArgumentBuilder<S, T>> {
-+ // Paper start - Vanilla command permission fixes
-+ private static final Predicate<Object> DEFAULT_REQUIREMENT = s -> true;
-+
-+ @SuppressWarnings("unchecked")
-+ public static <S> Predicate<S> defaultRequirement() {
-+ return (Predicate<S>) DEFAULT_REQUIREMENT;
-+ }
-+ // Paper end - Vanilla command permission fixes
- private final RootCommandNode<S> arguments = new RootCommandNode<>();
- private Command<S> command;
-- private Predicate<S> requirement = s -> true;
-+ private Predicate<S> requirement = defaultRequirement(); // Paper - Vanilla command permission fixes
- private CommandNode<S> target;
- private RedirectModifier<S> modifier = null;
- private boolean forks;
-diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
-index c11977dceeba4120cdb63972c4ec486640d8114e..8be58d29f2a4753a241e68bd305b3e30186ca0e9 100644
---- a/src/main/java/net/minecraft/commands/Commands.java
-+++ b/src/main/java/net/minecraft/commands/Commands.java
-@@ -257,6 +257,13 @@ public class Commands {
- }
- this.vanillaCommandNodes.addAll(this.dispatcher.getRoot().getChildren()); // Paper - Add UnknownCommandEvent
-
-+ // Paper start - Vanilla command permission fixes
-+ for (final CommandNode<CommandSourceStack> node : this.dispatcher.getRoot().getChildren()) {
-+ if (node.getRequirement() == com.mojang.brigadier.builder.ArgumentBuilder.<CommandSourceStack>defaultRequirement()) {
-+ node.requirement = stack -> stack.source == CommandSource.NULL || stack.getBukkitSender().hasPermission(org.bukkit.craftbukkit.command.VanillaCommandWrapper.getPermission(node));
-+ }
-+ }
-+ // Paper end - Vanilla command permission fixes
- // CraftBukkit start
- }
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index 5e6645e16b185aaa6f719055ddbf670b8741fead..bda9a0b99184adce28bb7851612ed7f4e324826d 100644
---- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-@@ -86,7 +86,23 @@ public final class VanillaCommandWrapper extends BukkitCommand {
- }
-
- public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
-- return "minecraft.command." + ((vanillaCommand.getRedirect() == null) ? vanillaCommand.getName() : vanillaCommand.getRedirect().getName());
-+ // Paper start - Vanilla command permission fixes
-+ final String commandName;
-+ if (vanillaCommand.getRedirect() == null) {
-+ commandName = vanillaCommand.getName();
-+ } else {
-+ commandName = vanillaCommand.getRedirect().getName();
-+ }
-+ return "minecraft.command." + stripDefaultNamespace(commandName);
-+ }
-+
-+ private static String stripDefaultNamespace(final String maybeNamespaced) {
-+ final String prefix = "minecraft:";
-+ if (maybeNamespaced.startsWith(prefix)) {
-+ return maybeNamespaced.substring(prefix.length());
-+ }
-+ return maybeNamespaced;
-+ // Paper end - Vanilla command permission fixes
- }
-
- private String toDispatcher(String[] args, String name) {