Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Switchy

Switchy

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

63.3k
224
Library
Social
Utility

Compatibility

Minecraft: Java Edition

1.21.1
1.20.4
1.20.1
1.19.2–1.19.4
1.18.2

Platforms

Fabric
Forge
NeoForge
Quilt

Supported environments

Server-side
Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source

Creators

sisby-folk
sisby-folk Co-Authors
GardenSystem
GardenSystem Contributor/s

Details

Licensed LGPL-3.0-only
Created 3 years ago
Updated 2 days ago
DescriptionGalleryChangelogVersions
mod preview
Serverside player profiles for hotseat multiplayer, adventure maps, and plural systems.
Requires Connector and FFAPI on (neo)forge.

Disclaimer: All mods that manipulate player data have a save corruption risk!
Always take backups of your worlds, especially when updating mods.


Switchy allows players to create profiles, which have their own partial player data, and can be switched between.

Profile data is defined by player-toggleable components, including:

  • Vanilla health, hunger, status effects, inventory, ender chest, location, spawn point, and xp
  • Fabric Tailor skins
  • Styled Nicknames nicknames
  • Trinkets slots
  • Origins origins

This means you can adjust profiles to only contain some of the above, e.g. just nicknames, skins, and origins.

Usage

Switchy utilizes a command-based text interface with tooltips and clickable text.

Running /switchy help will provide a list of top-level commands, but in short:

  • Run /switchy to edit and switch between profiles
  • Run /switchy components to toggle components
  • Run /switchy import [url].json to import profiles from a Switchy/PK export
  • Run /switchy export to export name/skin data to the clipboard (upload somewhere to import)
    • Switchy exports can also be created/edited using Utter, which preserves exported skin data.

Compatibility

Switchy can be used to switch modded data in a modpack by setting up switchy components in a datapack:

// 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 browse the included components for examples.

You're welcome to PR datapack components (with load conditions), along with any additional previewers etc.

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.

Modrinth is open source.

main@81b0922

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.