Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
Allows to use Hotkey F3 + N (and the F3+F4 Gamemode Switcher) for anyone that has /gamemode permissions. For Versions pre 1.21.5 use the original here: https://modrinth.com/plugin/f3nperm/versions Tested on a Paper Server 1.21.11. Other serversoftware might work, too. (please report bugs)
Introduction
If you press F3 + N or use the gamemode switcher (F3 + F4) on a Bukkit server with permissions for /gamemode, but without op, your Minecraft client will not allow you to actually change your gamemode. This is because the minecraft client requires to know that you are a server operator. This plugin was built solely to mitigate that issue.
As of Minecraft 1.21.6, the gamemode switcher additionally sends its own dedicated packet that the server checks against the player's real op level, completely independent of the client-side unlock above. This plugin intercepts that packet as well and performs the switch itself, so F3+N/F3+F4 keeps working exactly as before on 1.21.6 and newer (see PaperMC/Paper#13489 - there is currently no official Paper API for this).
Usage
Dropping the downloaded jar file in your plugins folder should be enough for everything to work. The plugin will attempt to use ProtocolLib if you have it installed, but should work without it as well.
If you don't want everyone with access to /gamemode to also have access to those debug hotkeys, you can customize that behavior by setting "enable-permission-check" to "true" in the "config.yml" of this plugin. With this enabled, you should be able to give people the f3nperm.use permission to give access to the hotkeys.
Custom gamemode actions
Instead of just switching gamemode, you can configure a command to run for any of the four F3+N options (Survival/Creative/Adventure/Spectator) - the switch itself is skipped when a command is set. Each mode can require its own extra permission (on top of the base one), and commands support both a %player% placeholder and, if PlaceholderAPI is installed, its full placeholder set. Commands are run from console, so they can do things a normal player couldn't (e.g. /time set day).
This is configured under gamemode-actions in config.yml and is opt-in - by default, nothing changes and F3+N behaves exactly as it always has.
Key combos
For more advanced setups, F3+N (or, in principle, any other supported action) can be turned into a one-shot "arm" for a completely different action instead. Selecting a mode arms a switch; the next matching action from that player (dropping an item, swapping hands, sneaking, sprinting, leaving a bed, jumping on a saddled horse, or - experimentally - a movement direction) "consumes" it and runs a command, optionally cancelling the action it hijacked, before disarming again. Any recognized action can serve as either the arming or the consuming trigger, so combos aren't limited to the four gamemode buttons.
This is configured under key-combos in config.yml, disabled by default, and fully independent from the custom gamemode actions above (though the two interact: a mode used to arm a combo takes priority over any command configured for it).
Supported versions
Supports Paper (and likely other Spigot-based forks) from 1.9 through the current 26.x releases, including Mojang's switch to unobfuscated server jars and year-based versioning as of 26.1. Some newer features (the 1.21.6+ gamemode-switch packet handling, and the movement-direction key combo trigger) rely on reflection targets that couldn't be verified against a live server for every version - if something doesn't work as expected on your setup, please open an issue with your server version and any console output.


