Switchy
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
🖼️ Gallery (3 images)
🔍 Analysis
- 👍 0.3% endorsement rate
- 🏆 #16 of 983 fabric mods in this game by downloads
📋 About This Mod
<!--suppress HtmlDeprecatedTag, XmlDeprecatedElement --> <center><img alt="mod preview" src="https://cdn.modrinth.com/data/ss0QuCRx/images/0fd2d9d7ccb66e457f7604e09803c1b6457418c6.png"/></center> <center> Serverside player profiles for hotseat multiplayer, adventure maps, and plural systems.<br/> <b>Requires <a href="https://modrinth.com/mod/connector">Connector</a> and <a href="https://modrinth.com/mod/forgified-fabric-api">FFAPI</a> on (neo)forge.<br/></b> </center> --- **Switchy** allows players to create and switch between **player profiles**, which save part of their player data. This is both **data-driven** and **player-customizable**. Here's a profile with (https://modrinth.com/mod/styled-nicknames) and (https://modrinth.com/mod/fabrictailor) (+(https://github.com/sisby-folk/ServerChatHeads/releases/tag/1.0.0)):</br> !(https://cdn.modrinth.com/data/ss0QuCRx/images/23cde9633791796124d060c13133428f67c3c662.png)<br/> Support is also built-in (via data) for (https://modrinth.com/mod/lampblack), (modrinth.com/mod/trinkets)/(https://modrinth.com/mod/accessories), (https://modrinth.com/mod/pehkui) (width/height), and (https://modrinth.com/mod/origins). You can even fluently chat using the display names of other profiles, just like (https://pluralkit.me/):<br/> !(https://cdn.modrinth.com/data/ss0QuCRx/images/07265dba2d427ecfadc8c0c919389b81e3173c52.gif)</br> This is fully compatible with well-behaved chat bridges, like (https://github.com/sisby-folk/cantilever/releases/tag/2.0-tailor)! ## Usage > _**Disclaimer**: All mods that manipulate player data have a save corruption risk!<br/> Always take backups of your worlds, especially when updating mods._ **Just run `/switchy` and follow the hints!** This covers renaming, toggling components, and making new profiles. After this, you can freely switch profiles via `/switch <name>` or by clicking `<switch>` in the profile list.<br/> Switching into a profile restores component data to **the state it was in was when the profile was last used**.<br/> So to change e.g. a fabric tailor skin for a profile, switch into the profile first, set the skin, and switch out. You can use `/switchy say` to send a chat message as if you were switched into a specific profile.<br/> Use `/switchy edit <name> tag <prefix>text<suffix>` to match regular chat messages based on a pattern.<br/> Display names look slightly different to styled nicknames/chat, so just adjust their configs to match. Profiles are per-world, so speed things up by running `/switchy export` to get your name/skin data to save to a .json file.<br/> To import, upload the file (e.g. to (https://tmpfiles.org/)) and paste the link into `/switchy import all <url>`.<br/> You can also import from (https://pluralkit.me/guide/#exporting-your-pluralkit-data) (and import from / export to (https://utter.y2k.diy/)) - use `/switchy import <member/group>` to filter imports. ## Compatibility > Note: If Switchy crashes your 1.20 modpack, set `fastSingleplayerReconnect` to `false` in `config/switchy.toml` For compatibility with new mods, components are defined like so: ```json5 // data/minecraft/switchy_components/inventory/ender_chest.json (minecraft:inventory/ender_chest) { "enabled": true, // whether to load the component at all. use this instead of deleting default files, as they'll regenerate. "codec": "inventory", // which codec (from the registry in SwitchyComponentTypes) to use to deserialize the data. defaults to "nbt" (passthrough) "path": "EnderItems", // NBT path targeting the part of player.dat to load from / modify to "preview": "inventory", // which text previewer (from the registry in SwitchyComponentTypes) to use in chat. null = toString(), use "trunc" for long data. Start with $ to use an NBT path for passthrough components. "prefix": "👁 ", // a prefix to add to the text preview, for glanceability "emptyChecker": "inventory", // which empty checker (from the registry in SwitchyComponentTypes) to use to prevent profile deletion for precious data. Start with $ to use an NBT path for passthrough components. "group": "inventory", // components with a matching group ID will be previewed and toggled as if they're one component "default": , // default value. JSON serialized. set to "$copy" to copy the value from previous. set to null or omit to delete the key from player data as the initial value. "hidden": false // hides the component preview in the profiles list (still shown in the components list) } ``` Feel free to PR components (and previewers/etc with **no dependencies**) into the main mod - see (https://github.com/sisby-folk/switchy/tree/1.20/src/main/resources/data). Switching data outside player NBT requires an addon. API TBD - Interested addon devs can hit up the (https:/

Switchy allows players to create and switch between player profiles, which save part of their player data.
This is both data-driven and player-customizable. Here's a profile with (https://modrinth.com/mod/styled-nicknames) and (https://modrinth.com/mod/fabrictailor) (+(https://github.com/sisby-folk/ServerChatHeads/releases/tag/1. 0. 0)): !(https://cdn.modrinth.com/data/ss0QuCRx/images/23cde9633791796124d060c13133428f67c3c662.png)
Support is also built-in (via data) for (https://modrinth.com/mod/lampblack), (modrinth.com/mod/trinkets)/(https://modrinth.com/mod/accessories), (https://modrinth.com/mod/pehkui) (width/height), and (https://modrinth.com/mod/origins).
You can even fluently chat using the display names of other profiles, just like (https://pluralkit.me/):
!(https://cdn.modrinth.com/data/ss0QuCRx/images/07265dba2d427ecfadc8c0c919389b81e3173c52.gif) This is fully compatible with well-behaved chat bridges, like (https://github.com/sisby-folk/cantilever/releases/tag/2. 0-tailor)!
> _Disclaimer: All mods that manipulate player data have a save corruption risk!
Always take backups of your worlds, especially when updating mods._
Just run `/switchy` and follow the hints! This covers renaming, toggling components, and making new profiles.
After this, you can freely switch profiles via `/switch
Switching into a profile restores component data to the state it was in was when the profile was last used. So to change e.g. a fabric tailor skin for a profile, switch into the profile first, set the skin, and switch out.
You can use `/switchy say` to send a chat message as if you were switched into a specific profile.
Use `/switchy edit
Display names look slightly different to styled nicknames/chat, so just adjust their configs to match.
Profiles are per-world, so speed things up by running `/switchy export` to get your name/skin data to save to a .json file.
To import, upload the file (e.g. to (https://tmpfiles.org/)) and paste the link into `/switchy import all
You can also import from (https://pluralkit.me/guide/#exporting-your-pluralkit-data) (and import from / export to (https://utter.y2k.diy/)) - use `/switchy import
## Compatibility
> Note: If Switchy crashes your 1. 20 modpack, set `fastSingleplayerReconnect` to `false` in `config/switchy.toml`
For compatibility with new mods, components are defined like so:
```json5 // data/minecraft/switchy_components/inventory/ender_chest.json (minecraft:inventory/ender_chest) { "enabled": true, // whether to load the component at all. use this instead of deleting default files, as they'll regenerate. "codec": "inventory", // which codec (from the registry in SwitchyComponentTypes) to use to deserialize the data. defaults to "nbt" (passthrough) "path": "EnderItems", // NBT path targeting the part of player.dat to load from / modify to "preview": "inventory", // which text previewer (from the registry in SwitchyComponentTypes) to use in chat. null = toString(), use "trunc" for long data. Start with $ to use an NBT path for passthrough components. "prefix": "👁 ", // a prefix to add to the text preview, for glanceability "emptyChecker": "inventory", // which empty checker (from the registry in SwitchyComponentTypes) to use to prevent profile deletion for precious data. Start with $ to use an NBT path for passthrough components. "group": "inventory", // components with a matching group ID will be previewed and toggled as if they're one component "default": [], // default value. JSON serialized. set to "$copy" to copy the value from previous. set to null or omit to delete the key from player data as the initial value. "hidden": false // hides the component preview in the profiles list (still shown in the components list) } ```
Feel free to PR components (and previewers/etc with no dependencies) into the main mod - see (https://github.com/sisby-folk/switchy/tree/1. 20/src/main/resources/data).
Switching data outside player NBT requires an addon. API TBD - Interested addon devs can hit up the (https:/
📊 Mod Details
- Game
- Minecraft Mods
- Author
- sleepingdragoninn
- Version
- 3.7.3+26.1
- Downloads
- 87,726
- Endorsements
- 265
- Category
- fabric
- Created
- 8/15/2022
- Updated
- 5/25/2026
- Game Versions
- 26.1, 26.1.1, 26.1.2
- Tags
- library, social, utility
🔧 How to Install Minecraft Mods Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Mods →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Mods versions does Switchy support?
The author lists 26.1, 26.1.1, 26.1.2. Other versions may work but are untested by the author.
What is the latest version of Switchy?
Version 3.7.3+26.1, published 2026-05-25 with 87,726 downloads recorded at the source.
Keep browsing — more Minecraft Mods mods await

