13
0
geforkt von Mirrors/Paper

Fix EntityArgument and EntitySelectorParser 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
Dieser Commit ist enthalten in:
Jason Penilla 2022-10-26 13:13:12 -07:00
Ursprung f161307a0f
Commit 7c7eff2c01
2 geänderte Dateien mit 23 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -36,3 +36,17 @@
} else {
return entityselector;
}
@@ -129,7 +135,12 @@
StringReader stringreader = new StringReader(suggestionsbuilder.getInput());
stringreader.setCursor(suggestionsbuilder.getStart());
- EntitySelectorParser argumentparserselector = new EntitySelectorParser(stringreader, EntitySelectorParser.allowSelectors(icompletionprovider));
+ // Paper start - Fix EntityArgument 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);
+ // Paper end - Fix EntityArgument permissions
try {
argumentparserselector.parse();

Datei anzeigen

@ -1,5 +1,14 @@
--- a/net/minecraft/commands/arguments/selector/EntitySelectorParser.java
+++ b/net/minecraft/commands/arguments/selector/EntitySelectorParser.java
@@ -133,7 +133,7 @@
boolean flag;
if (source instanceof SharedSuggestionProvider icompletionprovider) {
- if (icompletionprovider.hasPermission(2)) {
+ if (source instanceof net.minecraft.commands.CommandSourceStack stack ? stack.bypassSelectorPermissions || stack.hasPermission(2, "minecraft.command.selector") : icompletionprovider.hasPermission(2)) { // Paper - Fix EntityArgument permissions
flag = true;
return flag;
}
@@ -158,7 +158,7 @@
axisalignedbb = this.createAabb(this.deltaX == null ? 0.0D : this.deltaX, this.deltaY == null ? 0.0D : this.deltaY, this.deltaZ == null ? 0.0D : this.deltaZ);
}