Add permission nodes for using gamemaster blocks and bypassing other features.#1691
Add permission nodes for using gamemaster blocks and bypassing other features.#1691Mickey42302 wants to merge 3 commits into
Conversation
|
Is there any update on how the Purpur Team feels about my pull request? |
|
I like the concept. Currently on mobile so can't fully look over the code rn. This seems like something that could be PR'd to Paper so it can benefit a wider audience. If you PR it to Paper and they end up denying it, I will review the code properly and merge it once it's ready. |
|
I've opened a discussion on the Paper repository with a link to the patches I created. I'll let you know how they respond to my suggestion. |
|
Since the code in this pull request was made for 1.21.7 and Mojang is preparing to release 1.21.11, I'm going to close it for now. The current version of the code is available in my pull requests for the Paper project. If any of the permission nodes are not merged to Paper, I'll submit a new pull request to Purpur with an updated version of the code. |
This patch adds permission nodes for more gamemaster blocks. This allows users to access some functionalities of these blocks, similar to how "minecraft.commandblock" grants access to Command Blocks/Minecarts.
The following blocks now have a permission node:
Structure Block ("minecraft.structureblock")
Jigsaw Block ("minecraft.jigsawblock")
Light Block ("minecraft.lightblock")
Note: This controls whether or not players can change the light level by interacting with a Light Block with one in their hand.
Lectern Block ("minecraft.lecternblock")
Note: This permission node controls whether or not a lectern with NBT can be placed. Regular players can still place the block with no NBT.
Test Block ("minecraft.testblock")
Test Instance Block ("minecraft.testinstanceblock")
The other patches also adds bypass permission nodes for built-in vanilla features:
Force Gamemode ("minecraft.force-gamemode.bypass")
Spawn Protection ("minecraft.spawn-protection.bypass")
Anti-spam ("minecraft.spam.bypass")
Movement ("minecraft.movement.bypass.vehicle", "minecraft.movement.bypass.client", "minecraft.movement.bypass.elytra")
Flight ("minecraft.flight.bypass.vehicle" and "minecraft.flight.bypass.client")