29 Zeilen
1.9 KiB
Diff
29 Zeilen
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
|
|
Date: Wed, 26 Oct 2022 13:13:12 -0700
|
|
Subject: [PATCH] Fix EntityArgument suggestion permissions to align with
|
|
EntitySelector#checkPermissions
|
|
|
|
Fixes where the user has permission for selectors but not their
|
|
suggestions, which especially matters when we force suggestions to
|
|
the server for this type
|
|
|
|
diff --git a/src/main/java/net/minecraft/commands/arguments/EntityArgument.java b/src/main/java/net/minecraft/commands/arguments/EntityArgument.java
|
|
index d93698fd814683d451a3c8e8bcbb9cd475c79515..8d79cfa371546996ef65f94232c1d344e7c590ec 100644
|
|
--- a/src/main/java/net/minecraft/commands/arguments/EntityArgument.java
|
|
+++ b/src/main/java/net/minecraft/commands/arguments/EntityArgument.java
|
|
@@ -128,7 +128,12 @@ public class EntityArgument implements ArgumentType<EntitySelector> {
|
|
StringReader stringreader = new StringReader(suggestionsbuilder.getInput());
|
|
|
|
stringreader.setCursor(suggestionsbuilder.getStart());
|
|
- EntitySelectorParser argumentparserselector = new EntitySelectorParser(stringreader, icompletionprovider.hasPermission(2), true); // Paper - tell clients to ask server for suggestions for EntityArguments
|
|
+ // Paper start - Fix EntityArgument suggestion permissions
|
|
+ final boolean permission = object instanceof CommandSourceStack stack
|
|
+ ? stack.bypassSelectorPermissions || stack.hasPermission(2, "minecraft.command.selector")
|
|
+ : icompletionprovider.hasPermission(2);
|
|
+ EntitySelectorParser argumentparserselector = new EntitySelectorParser(stringreader, permission, true); // Paper - tell clients to ask server for suggestions for EntityArguments
|
|
+ // Paper end - Fix EntityArgument suggestion permissions
|
|
|
|
try {
|
|
argumentparserselector.parse();
|