From 051566db7f9df74c78c5ee9f9641033ffc79a5a0 Mon Sep 17 00:00:00 2001 From: granny Date: Mon, 30 Jun 2025 10:47:48 -0700 Subject: [PATCH] check for purpur.debug.f3n on new serverbound change gamemode packet, closes #1683 --- .../network/ServerGamePacketListenerImpl.java.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/server/network/ServerGamePacketListenerImpl.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/server/network/ServerGamePacketListenerImpl.java.patch index f3c9a2115..093d93a7b 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/server/network/ServerGamePacketListenerImpl.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/server/network/ServerGamePacketListenerImpl.java.patch @@ -222,3 +222,12 @@ packet.dispatch( new ServerboundInteractPacket.Handler() { private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit +@@ -3538,7 +_,7 @@ + @Override + public void handleChangeGameMode(ServerboundChangeGameModePacket packet) { + PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level()); +- if (!this.player.hasPermissions(2)) { ++ if (!this.player.hasPermissions(2) && !player.getBukkitEntity().hasPermission("purpur.debug.f3n")) { // Purpur - Add permission for F3+N debug + LOGGER.warn( + "Player {} tried to change game mode to {} without required permissions", + this.player.getGameProfile().getName(),