StaffCharacters

Server-side NeoForge mod that separates a regular player character from a staff character, including inventories, locations, game modes and PMMO / Jobs+ progression.

Staff Characters

Separate your regular player character from your staff character on a Minecraft NeoForge server, without installing a mod on the client.

Staff Characters gives one Minecraft account two independent character profiles:

  • a Player character for normal gameplay;
  • a Staff character for administration and moderation.

Switching is instant, secure and restricted to players with OP permission level 4.

Server-side only: players can join with a vanilla client. No client-side mod installation is required.

Features

Two fully separate profiles

Each character has its own state:

  • complete inventory, armor and off-hand;
  • selected hotbar slot;
  • vanilla XP, level and progress;
  • health and absorption;
  • hunger, saturation and exhaustion;
  • potion effects;
  • air supply and fire ticks;
  • position, dimension and rotation;
  • ender chest;
  • vanilla statistics;
  • player abilities;
  • persistent player data from compatible mods.

Automatic game modes

  • /staff on activates the staff character and forces Creative mode;
  • /staff off activates the player character and forces Survival mode;
  • the expected game mode is also reapplied when the requested character is already active.

Progression integrations

Project MMO — PMMO 2.10.43

The following progression data is separated between the player and staff characters:

  • skill XP;
  • skill levels;
  • scheduled XP.

PMMO client synchronization is refreshed after every character switch.

Jobs+ 9.0.0

The following data is separated:

  • selected jobs;
  • job levels and XP;
  • power-ups and their state;
  • player coins.

Jobs+ data is synchronized again after every character switch.

Generic compatibility

Staff Characters also captures data stored directly in a player’s persistent NBT by other mods.

Mods that store progression in global files, global SavedData, scoreboards, external databases or proprietary systems may require a dedicated integration.

Commands

For yourself

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
/staff on
/staff off
/staff status

Equivalent aliases:

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
/personnage staff
/personnage joueur
/personnage status

Targeting another player

From the console or as an OP level 4:

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
/staff <player> on
/staff <player> off
/staff <player> status

Aliases:

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
/personnage <player> staff
/personnage <player> joueur
/personnage <player> status

First activation

The first time /staff on is used, a clean staff profile is created at the player’s current location with:

  • an empty inventory;
  • an empty ender chest;
  • level 0 and 0 XP;
  • no effects;
  • empty vanilla statistics;
  • empty PMMO progression;
  • empty Jobs+ progression;
  • automatic Creative mode.

The existing player profile is not deleted or modified.

Saving and reconnecting

The last active character is remembered when the player reconnects.

Profiles are stored in the world player-data directory using a complementary file such as:

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
<uuid>.staffcharacters.dat

Death follows normal Minecraft behavior for the active character and does not erase the other character’s progression.

Server installation

  1. Install Minecraft 1.21.1.
  2. Install NeoForge 21.1.231 on the server.
  3. Install Java 21.
  4. Download <button class="not-prose border-border-medium bg-surface-secondary hover:bg-surface-tertiary hover:border-border-strong group my-0.5 inline-flex items-center gap-1 rounded border px-1 py-0 text-left align-middle transition-colors" type="button">staffcharacters-1.0.0.jar</button>.
  5. Place the file in the server’s mods folder.
  6. Install PMMO and Jobs+ as well if you want their progression integrations.
  7. Start the server.

No client-side installation is required.

Permissions

All Staff Characters commands require Minecraft permission level 4.

The console can use targeted commands, for example:

text
<button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ring-offset-2 focus-visible:ring-offset-surface-primary disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 text-sm text-interactive-active hover:text-interactive-normal active:text-text-tertiary font-normal relative rounded-lg p-[6px]" type="button" data-state="closed" data-slot="tooltip-trigger"></button>
/staff Steve on

Compatibility

  • Minecraft: 1.21.1
  • NeoForge: 21.1.231
  • Environment: server-side only
  • Client: vanilla clients are accepted
  • Recommended Java version: 21

Important

Back up your world before the first use, especially if PMMO or Jobs+ already contains important progression data.

Do not place two Staff Characters versions in the server’s mods folder at the same time.

Credits

Created for Minecraft servers that want to keep moderation activities separate from regular survival gameplay.

StaffCharacters Team

profile avatar
Owner
  • 2
    Followers
  • 12
    Projects
  • 4.3K
    Downloads
Donate

More from az1_57View all

  • Raritychests project image

    Raritychests

    RarityChests adds 5 tiers of treasure chests to Minecraft 1.21.1 (NeoForge): Copper → Iron → Emerald → Diamond → Netherite. They spawn naturally in the world, glow in the dark, and each one holds a unique loot — no two chests ever contain the same item

    • 178
    • September 12, 2026
  • OniriaEconomy project image

    OniriaEconomy

    OniriaEconomy adds a fully integrated virtual currency system based on OniriaCoins (OCS), with an in-game shop, premium rank handling, NPC rewards, chunk purchases, admin management tools and secure PayPal support.

    • 336
    • September 10, 2026
  • Questline project image

    Questline

    **Questline** is a complete quest system with NPCs, designed for RPG servers, adventure maps and modpacks. Everything is created and managed **in-game through graphical interfaces** — no file editing, no command knowledge required.

    • 708
    • August 24, 2026
  • UnclaimedChunkRegen project image

    UnclaimedChunkRegen

    Automatically regenerates unclaimed chunks on your Minecraft server so your world stays clean and pristine.

    • 75
    • August 24, 2026
  • Raritychests project image

    Raritychests

    RarityChests adds 5 tiers of treasure chests to Minecraft 1.21.1 (NeoForge): Copper → Iron → Emerald → Diamond → Netherite. They spawn naturally in the world, glow in the dark, and each one holds a unique loot — no two chests ever contain the same item

    • 178
    • September 12, 2026
  • OniriaEconomy project image

    OniriaEconomy

    OniriaEconomy adds a fully integrated virtual currency system based on OniriaCoins (OCS), with an in-game shop, premium rank handling, NPC rewards, chunk purchases, admin management tools and secure PayPal support.

    • 336
    • September 10, 2026
  • Questline project image

    Questline

    **Questline** is a complete quest system with NPCs, designed for RPG servers, adventure maps and modpacks. Everything is created and managed **in-game through graphical interfaces** — no file editing, no command knowledge required.

    • 708
    • August 24, 2026
  • UnclaimedChunkRegen project image

    UnclaimedChunkRegen

    Automatically regenerates unclaimed chunks on your Minecraft server so your world stays clean and pristine.

    • 75
    • August 24, 2026