Skip to content

Pixelmon Team Editor

Lets players open Pixelmon's Pokemon Editor without Creative mode, and keeps an editor item in their hotbar. Built for the events battle arena, where players are in Adventure mode.

What it does

Pixelmon's pixelmon:pokemon_editor item only opens in Creative mode. In Adventure it silently does nothing. This mod fixes that for players who have permission:

  • Right-click the editor item to open your team in the Pokemon Editor. Works whether you are looking at the air or at a block.
  • /pokeeditor opens the same screen, for keybinds, menu buttons, or a lost item.
  • Gives the item in a set hotbar slot on login and respawn. It never gives a second one, and leaves it where you put it if you moved it.
  • Stops the item being dropped.
  • Never forfeits your battle. Pixelmon forfeits a battle if you open the editor mid-battle. This mod refuses to open instead and shows Pixelmon's "can't change party in battle" message.
  • Locks borrowed teams. While a player has a temporary team (a draft or tournament roster), the editor will not open and any edit or delete sent from the client is refused, with Your team is locked while a tournament or draft party is active.

Server-side only. Players install nothing.

How players use it

  1. Right-click the Pokemon Editor in your hotbar (or type /pokeeditor).
  2. Edit your Pokemon in Pixelmon's editor screen and save.

You cannot open it during a battle, or while you are using a draft or tournament team.

Staff guide

The permission is Pixelmon's own node, pixelmon.pokemoneditor.use. It is off by default, so grant it in LuckPerms to the group that should use the editor, for example:

/lp group default permission set pixelmon.pokemoneditor.use true server=events

Pixelmon must also allow editors: allow-pokemon-editors: true in config/pixelmon/items.yml.

Ops (level 2+) skip the permission check entirely. Test as a non-op.

Configuration

config/pixelmonteameditor-common.toml. Values are read at boot. Restart after changing them.

Key Default Meaning
right_click_opens true Right-click opens the editor. With false, only /pokeeditor works
give_on_join true Give the item on login and respawn
hotbar_slot 0 Slot 0 to 8 (0 is leftmost). If taken, the first free slot is used
prevent_dropping true Stop players dropping the item

Data and storage

None. The mod saves nothing.

Troubleshooting

Symptom Cause Fix
Right-click does nothing, no message Player lacks pixelmon.pokemoneditor.use, or allow-pokemon-editors is false Grant the node. Check items.yml. Test as a non-op
Works for staff but not players Staff are op and skip the check Grant the node to the players' group
"Your team is locked..." The player has a draft or tournament team Expected until the event ends
Editor will not open in battle By design Finish the battle first
Players have two editors Should not happen; the mod checks the whole inventory Check for another plugin giving the item

Boot lines that show it loaded:

Pixelmon Team Editor active: pokemon_editor works without Creative mode
Registered /pokeeditor

Maintainer notes

  • Pixelmon's PokemonEditorItem.use() checks player.isCreative() and the permission, and still returns SUCCESS either way, so the failure is silent. Only the open step checks Creative. The packets that save edits (UpdatePlayerPokemonPacket, DeletePokemonPacket) check only the permission. So the mod re-does just the open step, minus the Creative check, behind the same permission. A player who can open the screen is exactly a player whose edits are accepted.
  • Pixelmon's permission check is allow-pokemon-editors plus pixelmon.pokemoneditor.use. The node is registered by Pixelmon with a default of false. Looking up an unregistered node throws, so this mod loads AFTER Pixelmon.
  • Both RightClickItem and RightClickBlock are handled, because right-clicking while facing a nearby block fires only the second. On a flat arena floor that is most clicks.
  • Two mixins (UpdatePlayerPokemonPacketMixin, DeletePokemonPacketMixin) cancel client edits and deletes while the party is in temporary mode. Without them, a player with the editor could rewrite a drafted team one Pokemon at a time, because Pixelmon does not check whose party it is.
  • Deploy bundle, traps and acceptance tests: manual_uploads/2026-09-01-events-arena-setup/ in the ops repo.

Building

JAVA_HOME="$(/usr/libexec/java_home -v 21)" ./gradlew clean build

pixelmon_jar in gradle.properties must point at the same Pixelmon version the server runs. The build fails if that jar is missing, instead of quietly compiling against stubs.

Full command, permission and config tables: Reference.