{"id":151190,"date":"2026-06-09T05:52:21","date_gmt":"2026-06-09T02:52:21","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/"},"modified":"2026-06-09T05:52:21","modified_gmt":"2026-06-09T02:52:21","slug":"switchy","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/","title":{"rendered":"Switchy"},"content":{"rendered":"<p><!--suppress HtmlDeprecatedTag, XmlDeprecatedElement --><br \/>\n<center><img decoding=\"async\" alt=\"mod preview\" src=\"https:\/\/cdn.modrinth.com\/data\/ss0QuCRx\/images\/0fd2d9d7ccb66e457f7604e09803c1b6457418c6.png\"\/><\/center><\/p>\n<p><center><br \/>\nServerside player profiles for hotseat multiplayer, adventure maps, and plural systems.<br \/>\n<b>Requires Connector and FFAPI on (neo)forge.<br \/><\/b><br \/>\n<\/center><\/p>\n<p>&#8212;<\/p>\n<p>**Switchy** allows players to create and switch between **player profiles**, which save part of their player data.<\/p>\n<p>This is both **data-driven** and **player-customizable**. Here&#8217;s a profile with Styled Nicknames and Fabric Tailor (+SCH):<\/br><br \/>\n![components](https:\/\/cdn.modrinth.com\/data\/ss0QuCRx\/images\/23cde9633791796124d060c13133428f67c3c662.png)<br \/>\nSupport is also built-in (via data) for Lampblack Pronouns, [Trinkets](modrinth.com\/mod\/trinkets)\/Accessories, Pehkui (width\/height), and Origins.<\/p>\n<p>You can even fluently chat using the display names of other profiles, just like PluralKit:<br \/>\n![chat tags](https:\/\/cdn.modrinth.com\/data\/ss0QuCRx\/images\/07265dba2d427ecfadc8c0c919389b81e3173c52.gif)<\/br><br \/>\nThis is fully compatible with well-behaved chat bridges, like our cantilever fork!<\/p>\n<p>## Usage<\/p>\n<p>> _**Disclaimer**: All mods that manipulate player data have a save corruption risk!<br \/>\nAlways take backups of your worlds, especially when updating mods._<\/p>\n<p>**Just run `\/switchy` and follow the hints!** This covers renaming, toggling components, and making new profiles.<\/p>\n<p>After this, you can freely switch profiles via `\/switch <name>` or by clicking `<switch>` in the profile list.<br \/>\nSwitching into a profile restores component data to **the state it was in was when the profile was last used**.<br \/> <br \/>\nSo to change e.g. a fabric tailor skin for a profile, switch into the profile first, set the skin, and switch out.<\/p>\n<p>You can use `\/switchy say` to send a chat message as if you were switched into a specific profile.<br \/>\nUse `\/switchy edit <name> tag <prefix>text<suffix>` to match regular chat messages based on a pattern.<br \/>\nDisplay names look slightly different to styled nicknames\/chat, so just adjust their configs to match.<\/p>\n<p>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 \/>\nTo import, upload the file (e.g. to tmpfiles.org) and paste the link into `\/switchy import all <url>`.<br \/>\nYou can also import from PK (and import from \/ export to Utter) &#8211; use `\/switchy import <member\/group>` to filter imports.<\/p>\n<p>## Compatibility<\/p>\n<p>> Note: If Switchy crashes your 1.20 modpack, set `fastSingleplayerReconnect` to `false` in `config\/switchy.toml`<\/p>\n<p>For compatibility with new mods, components are defined like so:<\/p>\n<p>&#8220;`json5<br \/>\n\/\/ data\/minecraft\/switchy_components\/inventory\/ender_chest.json (minecraft:inventory\/ender_chest)<br \/>\n{<br \/>\n  &#8220;enabled&#8221;: true, \/\/ whether to load the component at all. use this instead of deleting default files, as they&#8217;ll regenerate.<br \/>\n  &#8220;codec&#8221;: &#8220;inventory&#8221;, \/\/ which codec (from the registry in SwitchyComponentTypes) to use to deserialize the data. defaults to &#8220;nbt&#8221; (passthrough)<br \/>\n  &#8220;path&#8221;: &#8220;EnderItems&#8221;, \/\/ NBT path targeting the part of player.dat to load from \/ modify to<br \/>\n  &#8220;preview&#8221;: &#8220;inventory&#8221;, \/\/ which text previewer (from the registry in SwitchyComponentTypes) to use in chat. null = toString(), use &#8220;trunc&#8221; for long data. Start with $ to use an NBT path for passthrough components.<br \/>\n  &#8220;prefix&#8221;: &#8220;\ud83d\udc41 &#8220;, \/\/ a prefix to add to the text preview, for glanceability<br \/>\n  &#8220;emptyChecker&#8221;: &#8220;inventory&#8221;, \/\/ 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.<br \/>\n  &#8220;group&#8221;: &#8220;inventory&#8221;, \/\/ components with a matching group ID will be previewed and toggled as if they&#8217;re one component<br \/>\n  &#8220;default&#8221;: [], \/\/ default value. JSON serialized. set to &#8220;$copy&#8221; to copy the value from previous. set to null or omit to delete the key from player data as the initial value.<br \/>\n  &#8220;hidden&#8221;: false \/\/ hides the component preview in the profiles list (still shown in the components list)<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Feel free to PR components (and previewers\/etc with **no dependencies**) into the main mod &#8211; see existing examples.<\/p>\n<p>Switching data outside player NBT requires an addon. API TBD &#8211; Interested addon devs can hit up the issues page.<\/p>\n<p>## Afterword<\/p>\n<p>If you&#8217;re a plural system (or a friend to one) and appreciate our work, please consider reading and sharing sys.guide, our plurality handbook.<\/p>\n<p>Switchy was our first original minecraft mod, made during the mod jam ModFest: Singularity.<br \/>\nSince making it, the minecraft modding community has given us friendship, mentorship,<br \/>\nendless favours, an outlet for self-expression, and reinforced our passion for software as an art.<br \/>\nEveryone who&#8217;s been a part of that &#8211; and you should know who you are &#8211; thank you.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Play multiple characters in one world! Opt-in, customizable player profiles for hotseat multiplayer, lets plays, plural systems, RP servers, or just for fun!<\/p>\n","protected":false},"featured_media":151191,"template":"","meta":{"_minecraft_slug":"switchy","_minecraft_project_id":"ss0QuCRx","_minecraft_author":"sisby-folk","_minecraft_license":"LGPL-3.0-only","_minecraft_downloads":77124,"_minecraft_follows":248,"_minecraft_client_side":"optional","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"switchy.zip","_minecraft_size_bytes":172542149,"_minecraft_version_count":245,"_minecraft_updated_at":"2026-05-16T00:23:20.779208Z","_minecraft_date_created":"2022-08-15T07:49:47.088108Z","_minecraft_date_modified":"2026-04-13T13:53:21.318177Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/switchy","_minecraft_icon_attachment_id":151191,"_minecraft_imported_at":"2026-06-09T02:52:22+00:00","_minecraft_import_hash":"019c5631e9f9355ef43f8f26beef8d1c","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,104,873,126,158,98,867,92],"mod_loader":[99,106,160,100],"minecraft_version":[53,56,57,58,36,94,37,83,167,163],"class_list":["post-151190","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-forge","mod_category-library","mod_category-management","mod_category-neoforge","mod_category-quilt","mod_category-social","mod_category-utility","mod_loader-fabric","mod_loader-forge","mod_loader-neoforge","mod_loader-quilt","minecraft_version-1-18-2","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20-1","minecraft_version-1-20-4","minecraft_version-1-21-1","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Switchy - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Switchy - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Play multiple characters in one world! Opt-in, customizable player profiles for hotseat multiplayer, lets plays, plural systems, RP servers, or just for fun!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.modrinth.com\/data\/ss0QuCRx\/images\/0fd2d9d7ccb66e457f7604e09803c1b6457418c6.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/\",\"name\":\"Switchy - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png\",\"datePublished\":\"2026-06-09T02:52:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png\",\"width\":128,\"height\":128},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/switchy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Switchy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Switchy - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/","og_locale":"en_US","og_type":"article","og_title":"Switchy - Minecraft","og_description":"Play multiple characters in one world! Opt-in, customizable player profiles for hotseat multiplayer, lets plays, plural systems, RP servers, or just for fun!","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/","og_site_name":"Minecraft","og_image":[{"url":"https:\/\/cdn.modrinth.com\/data\/ss0QuCRx\/images\/0fd2d9d7ccb66e457f7604e09803c1b6457418c6.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/","name":"Switchy - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png","datePublished":"2026-06-09T02:52:21+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/switchy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/switchy-icon-d29491353c92008b39e0aace0c9f8ca25da21ee5.png","width":128,"height":128},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/switchy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Switchy"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/151190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/151191"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=151190"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=151190"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=151190"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=151190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}