Language

Switchy

Switchy

Modrinth

Play multiple characters in one world! Opt-in, customizable player profiles for hotseat multiplayer, lets plays, plural systems, RP servers, or just for fun!

81.5k downloads 256 followers updated 26d ago
latest v3.7.3+26.1 Modrinth
Fabric Forge Neoforge Quilt 1.18.2 – 26.1.2 LibrarySocialUtility
mod preview
Serverside player profiles for hotseat multiplayer, adventure maps, and plural systems.
Requires Connector and FFAPI on (neo)forge.

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 Styled Nicknames and Fabric Tailor (+SCH):

components

Support is also built-in (via data) for Lampblack Pronouns, Trinkets/Accessories, Pehkui (width/height), and Origins.

You can even fluently chat using the display names of other profiles, just like PluralKit:

chat tags

This is fully compatible with well-behaved chat bridges, like our cantilever fork!

Usage

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 <name> or by clicking <switch> in the profile list.

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 <name> tag <prefix>text<suffix> to match regular chat messages based on a pattern.

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 tmpfiles.org) and paste the link into /switchy import all <url>.

You can also import from PK (and import from / export to Utter) - 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:

// 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 existing examples.

Switching data outside player NBT requires an addon. API TBD - Interested addon devs can hit up the issues page.

Afterword

If you're a plural system (or a friend to one) and appreciate our work, please consider reading and sharing sys.guide, our plurality handbook.

Switchy was our first original minecraft mod, made during the mod jam ModFest: Singularity.

Since making it, the minecraft modding community has given us friendship, mentorship,

endless favours, an outlet for self-expression, and reinforced our passion for software as an art.

Everyone who's been a part of that - and you should know who you are - thank you.

Versions

Release
3.7.3+26.1
fabric · 26.1 · 26d ago
**Fix:** - equipment swapping not working on 26.1 (thanks [@klao](https://github.com/klao)!) Changelog:…
38
Release
3.7.2+26.1
fabric · 26.1, 26.1.1, 26.1.2 · 2mo ago
**Fix:** - not copying say profile when creating game profile shadows for proxying Changelog: https://github.com/sisby-folk/switchy/releases/tag/v3.7.2+1.20
1.1k
Release
3.7.1+26.1
fabric · 26.1 · 2mo ago
**Fix:** - typo preventing component importing Changelog: https://github.com/sisby-folk/switchy/releases/tag/v3.7.1+1.20
31
Release
3.7.1+1.21
fabric, neoforge, quilt · 1.21.1 · 2mo ago
**Fix:** - typo preventing component importing Changelog: https://github.com/sisby-folk/switchy/releases/tag/v3.7.1+1.20
1.5k
Release
3.7.1+1.20
fabric, forge, quilt · 1.20.1 · 2mo ago
**Fix:** - typo preventing component importing Changelog: https://github.com/sisby-folk/switchy/releases/tag/v3.7.1+1.20
1.5k
Release
3.7.0+26.1
fabric · 26.1 · 2mo ago
**Changes:** - add import support for [lampblack pronouns](https://modrinth.com/mod/lampblack) - add `/switchy import format` which allows changing the…
12
Release
3.7.0+1.21
fabric, neoforge, quilt · 1.21.1 · 2mo ago
**Changes:** - add import support for [lampblack pronouns](https://modrinth.com/mod/lampblack) - add `/switchy import format` which allows changing the…
24
Release
3.7.0+1.20
fabric, forge, quilt · 1.20.1 · 2mo ago
**Changes:** - add import support for [lampblack pronouns](https://modrinth.com/mod/lampblack) - add `/switchy import format` which allows changing the…
23
Release
3.6.0+26.1
fabric · 26.1 · 2mo ago
**Changes:** - add `components` config for quickly disabling a component server-wide, populated on data load - 26.1: fix crash with head renderer, and... fix…
86
Release
3.6.0+1.21
fabric, neoforge, quilt · 1.21.1 · 2mo ago
**Changes:** - add `components` config for quickly disabling a component server-wide, populated on data load - 26.1: fix crash with head renderer, and... fix…
287
Release
3.6.0+1.20
fabric, forge, quilt · 1.20.1 · 2mo ago
**Changes:** - add `components` config for quickly disabling a component server-wide, populated on data load - 26.1: fix crash with head renderer, and... fix…
490
Release
3.5.6+26.1
fabric · 26.1 · 2mo ago
**Changes:** - use vanilla heads instead of server chat heads on 26.1 Changelog: https://github.com/sisby-folk/switchy/releases/tag/v3.5.6+1.20
28

Comments 0

No comments yet. Be the first to share your thoughts.

Download Switchy

R 3.7.3+26.1 26.1 fabric 422 KB R 3.7.2+26.1 26.1, 26.1.1, 26.1.2 fabric 421 KB R 3.7.1+26.1 26.1 fabric 421 KB R 3.7.1+1.21 1.21.1 fabric, neoforge, quilt 418 KB R 3.7.1+1.20 1.20.1 fabric, forge, quilt 424 KB R 3.7.0+26.1 26.1 fabric 421 KB R 3.7.0+1.21 1.21.1 fabric, neoforge, quilt 418 KB R 3.7.0+1.20 1.20.1 fabric, forge, quilt 424 KB R 3.6.0+26.1 26.1 fabric 417 KB R 3.6.0+1.21 1.21.1 fabric, neoforge, quilt 414 KB R 3.6.0+1.20 1.20.1 fabric, forge, quilt 420 KB R 3.5.6+26.1 26.1 fabric 415 KB R 3.5.5+26.1 26.1 fabric 416 KB R 3.5.5+1.21 1.21.1 fabric, neoforge, quilt 414 KB R 3.5.5+1.20 1.20.1 fabric, forge, quilt 419 KB R 3.5.4+1.21 1.21.1 fabric, neoforge, quilt 414 KB R 3.5.4+1.20 1.20.1 fabric, forge, quilt 419 KB R 3.5.3+1.21 1.21.1 fabric, neoforge, quilt 413 KB R 3.5.3+1.20 1.20.1 fabric, forge, quilt 418 KB R 3.5.2+1.21 1.21.1 fabric, neoforge, quilt 412 KB R 3.5.2+1.20 1.20.1 fabric, forge, quilt 417 KB R 3.5.1+1.20 1.20.1 fabric, forge, quilt 417 KB R 3.5.0+1.21 1.21.1 fabric, neoforge, quilt 412 KB R 3.5.0+1.20 1.20.1 fabric, forge, quilt 417 KB R 3.4.0+1.21 1.21.1 fabric, neoforge, quilt 522 KB R 3.4.0+1.20 1.20.1 fabric, forge, quilt 527 KB R 3.3.1+1.21 1.21.1 fabric, neoforge, quilt 399 KB R 3.3.1+1.20 1.20.1 fabric, forge, quilt 404 KB R 3.3.0+1.21 1.21.1 fabric, neoforge, quilt 398 KB R 3.3.0+1.20 1.20.1 fabric, forge, quilt 404 KB R 3.2.7+1.21 1.21.1 fabric, neoforge, quilt 394 KB R 3.2.7+1.20 1.20.1 fabric, forge, quilt 400 KB R 3.2.6+1.21 1.21.1 fabric, neoforge, quilt 394 KB R 3.2.6+1.20 1.20.1 fabric, forge, quilt 400 KB R 3.2.5+1.21 1.21.1 fabric, neoforge, quilt 394 KB R 3.2.4+1.21 1.21.1 fabric, neoforge, quilt 394 KB R 3.2.4+1.20 1.20.1 fabric, forge, quilt 399 KB R 3.2.3+1.20 1.20.1 fabric, forge, quilt 399 KB R 3.2.2+1.21 1.21.1 fabric, neoforge, quilt 394 KB R 3.2.2+1.20 1.20.1 fabric, forge, quilt 399 KB R 3.2.1+1.21 1.21.1 fabric, neoforge, quilt 393 KB R 3.2.1+1.20 1.20.1 fabric, forge, quilt 398 KB R 3.2.0+1.21 1.21.1 fabric, neoforge, quilt 393 KB R 3.2.0+1.20 1.20.1 fabric, forge, quilt 398 KB R 3.1.1+1.21 1.21.1 fabric, neoforge, quilt 387 KB R 3.1.1+1.20 1.20.1 fabric, forge, quilt 391 KB R 3.1.0+1.21 1.21.1 fabric, neoforge, quilt 385 KB R 3.1.0+1.20 1.20.1 fabric, forge, quilt 390 KB B 3.0.0-beta.1+1.21 1.21.1 fabric, neoforge, quilt 384 KB B 3.0.0-beta.1+1.20 1.20.1 fabric, forge, quilt 383 KB

Files are served directly from the original source. Modgrid does not host or modify them.