Files
Purpur/purpur-server/minecraft-patches/sources/net/minecraft/server/commands/GameModeCommand.java.patch
granny 1f72458912 43/103 rejected minecraft source files applied
(idk what i was counting in the previous commit...)
2026-03-11 21:06:08 -07:00

22 lines
1.1 KiB
Diff

--- a/net/minecraft/server/commands/GameModeCommand.java
+++ b/net/minecraft/server/commands/GameModeCommand.java
@@ -47,6 +_,18 @@
}
private static int setMode(final CommandContext<CommandSourceStack> context, final Collection<ServerPlayer> players, final GameType type) {
+ // Purpur start - Gamemode extra permissions
+ if (org.purpurmc.purpur.PurpurConfig.commandGamemodeRequiresPermission) {
+ String gamemode = type.getName();
+ CommandSourceStack sender = context.getSource();
+ if (!sender.testPermission(Permissions.COMMANDS_GAMEMASTER, "minecraft.command.gamemode." + gamemode)) {
+ return 0;
+ }
+ if (sender.getEntity() instanceof ServerPlayer player && (players.size() > 1 || !players.contains(player)) && !sender.testPermission(Permissions.COMMANDS_GAMEMASTER, "minecraft.command.gamemode." + gamemode + ".other")) {
+ return 0;
+ }
+ }
+ // Purpur end - Gamemode extra permissions
int count = 0;
for (ServerPlayer player : players) {