mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-03 21:52:05 -07:00
Co-authored-by: Bjarne Koll <git@lynxplay.dev> Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Co-authored-by: Noah van der Aa <ndvdaa@gmail.com> Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
25 lines
1.4 KiB
Diff
25 lines
1.4 KiB
Diff
--- a/net/minecraft/commands/PermissionSource.java
|
|
+++ b/net/minecraft/commands/PermissionSource.java
|
|
@@ -9,9 +_,20 @@
|
|
return this.hasPermission(2);
|
|
}
|
|
|
|
- public record Check<T extends PermissionSource>(@Override int requiredLevel) implements PermissionCheck<T> {
|
|
+ public record Check<T extends PermissionSource>(@Override int requiredLevel, java.util.concurrent.atomic.AtomicReference<com.mojang.brigadier.tree.CommandNode<CommandSourceStack>> vanillaNode) implements PermissionCheck<T> { // Paper
|
|
+ // Paper start - Vanilla Command permission checking
|
|
+ public Check(int requiredLevel) {
|
|
+ this(requiredLevel, new java.util.concurrent.atomic.AtomicReference<>());
|
|
+ }
|
|
+ // Paper end - Vanilla Command permission checking
|
|
@Override
|
|
public boolean test(T source) {
|
|
+ // Paper start - Vanilla Command permission checking
|
|
+ com.mojang.brigadier.tree.CommandNode<CommandSourceStack> currentCommand = vanillaNode.get();
|
|
+ if (currentCommand != null && source instanceof CommandSourceStack commandSourceStack) {
|
|
+ return commandSourceStack.hasPermission(this.requiredLevel, org.bukkit.craftbukkit.command.VanillaCommandWrapper.getPermission(currentCommand));
|
|
+ }
|
|
+ // Paper end - Vanilla Command permission checking
|
|
return source.hasPermission(this.requiredLevel);
|
|
}
|
|
}
|