# Coats [NEW]

This feature is available in **1.20.1-1.5+** and will **NOT** be backported to any outdated versions.

#### Features Community packs add NEW custom coats in-game without overriding the default variants. - Supports simple breeding "color tags" - Supports lapis / redstone cycling (if enabled) - Supports summon command - Supports natural spawning **via compatible community datapacks** --- #### Important - Update Changes This update has made changes to coat NBT data, summon commands as well as some smaller (less gameplay significant) changes. Expand the drop-down to read more about specific changes and how that might impact you as a player or creator.
\[EXPAND\] Changelog
**Feature****Changes**
SummonMinecraft `/summon` spawns white horses only (cannot randomize). ** NEW SWEM SUMMON COMMANDS** `/swem summon LEGACY swem:coat` Summon a default coat. **EX:** `swem:sweetboi` `/swem summon LEGACY pack_name:coat_artist` Summon a custom coat. **EX:** `kofi:hidalgo_arishant` `/swem summon random LEGACY` Summon a random coat
Coat DataRemoved `Variant: #` NBT and changed to `Behaviors[6].Coat` Data values for coat must set a value using `` (see below for info) ** NEW SWEM COAT CHANGE COMMANDS** `/swem set coat` Displays a list of all valid choices `/swem set coat swem:coat` Change to a default coat. **EX:** `swem:sweetboi` `/swem set coat pack_name:coat_artist` Change to a custom coat. **EX:** `kofi:hidalgo_arishant` **MINECRAFT COMMANDS (OP)**

*MC Commands are exempt from role keys (ie swem:mod) - which may be useful to servers.*

**Identify a coat (ID)** `/data get entity @e[type=swem:swem_horse,sort=nearest,limit=1] Behaviors[6].Coat` **Change a coat** `/data modify entity @e[type=swem:swem_horse,limit=1,sort=nearest] Behaviors[6].Coat set value <"id:coat">`
ModelCoats and commands must state a supported model - this will be expanded in future. `LEGACY` Default model and the only one currently implemented.
--- #### Frequently Asked Questions This section has drop-downs for FAQs and expanded information about Community Pack Coats. If your question is not answered here, check out [General Information.](https://wiki.swequestrian.com/books/swequestrian-mod/page/general-information-wip)
\[EXPAND\] FAQs **⮞ CAN COMMUNITY PACKS ADD NEW FOAL VARIANTS?** No. The current system allows for 1 foal per color tag; support for additional foals will require an expanded breeding system. ⮞ **CAN COMMUNITY PACKS MODIFY DEFAULT SWEM COATS?** No. Information such as obtainable by breeding, color tags, lapis cycling is hard coded for default coats (included in SWEM). You can use a resource pack to override any coat texture if you want to replace it. **⮞ CAN COMMUNITY PACKS ADD NEW MODELS?** No. It should continue to work with resource packs that override the SWEM model. This feature will support the new Destrier model (and any others) when it is released in future. ⮞ **CAN CUSTOM COATS APPEAR NATURALLY ON HORSES?** Yes. If the coat information (json) file allows breeding and cycling, it can occur when a horse is summoned or converted. ⮞ **CAN CUSTOM COATS NATURALLY SPAWN?** No. Neither default nor custom coats naturally spawn in the wild (replace MC horses) unless you use a custom datapack.

This update has been modified to continue support for Ace's Datapack found [**HERE**](https://discord.com/channels/715626418893095012/840972393153691738/1022973584181841981) in our Discord.

⮞ **CAN CUSTOM COATS SUPPORT LAPIS / REDSTONE CYCLING?** Yes. This must be set to true for `lapis_cycling` in the coat json file, and `allowCoatCycling` in the [server config](https://wiki.swequestrian.com/books/swequestrian-mod/page/server-config) file. ⮞ **CAN CUSTOM COATS APPEAR FROM BREEDING DEFAULT +/- CUSTOM COATS?** Yes. This must be set to true for `obtainable_by_breeding` in the coat json file. You must set at least one `base_colors` tag - this will determine which color tags your horse can pass on if bred, as well as which foal color(s) can grow up into this coat. ⮞ **CAN I MAKE A CUSTOM COAT 'SECRET'?** Yes, but not in the same way as special default coats. You can set `lapis_cycling` and `obtainable_by_breeding` to **false** in the coat json file, which will prevent cycling and appearance by breeding or converting. **The coat will only appear if summoned via command.** If you have the right kind of knowledge, you could probably create a custom datapack or redstone system loop to check for and convert horses that meet 'secret coat criteria' (ie height and name), or other crafty ways to achieve this result.
--- #### Using A Community Pack To install a Content Pack or **PREMADE** Community Pack, see [General Information](https://wiki.swequestrian.com/books/swequestrian-mod/page/general-information-wip).
\[EXPAND\] Community Pack vs Content Pack **⮞ WHAT IS A COMMUNITY PACK?** Community Packs are folders that include all the files necessary to add NEW assets and are ready to play once installed. **⮞ WHAT IS A CONTENT PACK?** Content Packs is also a Community Pack, but usually with less content. It will merge into any Community Packs with the same name, like an 'expansion' pack or add-on.
--- #### Creating A Community Pack Coat To create or modify a Content Pack or Community pack, see [Creators' Corner](https://wiki.swequestrian.com/books/swequestrian-mod/page/creators-corner-wip). --- #### Troubleshooting If you experience an issue with content packs in game, please follow this troubleshooting guide.
\[EXPAND\] Troubleshooting Errors ** COMMUNITY PACK TROUBLESHOOTING FOLLOW EACH STEP CAREFULLY + NOTE ISSUES AS YOU GO. ONLY REQUEST HELP AFTER USING THIS!** **⮞ \[1\] MOD VERSION** - **Double check** you are using the latest 1.20.1 Beta version. **→** Even if you feel sure, go and check it. It's the most common error! **→** `Curseforge App` Will not auto-install beta files, go to `mod's page > versions > install` **→** `Multiplayer Servers` Check server is on latest release **→** `Multiplayer Users` Check client + server use same version ⚠️ **Community Packs are for 1.20.1-1.5 and above only.** ⮞ **\[2\] OFFICIAL COMMUNITY PACK VERSION** - Skip this step if you are not using the official Community Pack. **→** Check you have `swem_community_pack_beta_5` or above. **→** Check this is the latest version posted - it may have a new release! **→** `Multiplayer Servers` Check server has the correct pack **→** `Multiplayer Users` Check clients have the same pack name + contents as server **⮞ \[3\] COMMUNITY PACK LOADING** - Open the game and load into a world - Type `/swem summon LEGACY` **→** Is the pack listed? **→** Is **any** pack listed (excluding `swem:`) ✅ Pack(s) are recognized **❌** Pack(s) are not recognized, specific packs are invalid or have no valid files. **Go to solutions \[3\].** **⮞ \[4\] COAT REGISTERED** - Type `/swem summon LEGACY packname:` **→** Is the coat(s) you expect to see listed? **Example** `kofi_coats:spirit_arishant_legacy` ✅ Coat(s) have registered. **❌** Coats have not registered OR specific coat(s) are invalid. **Go to solutions \[4\].** **⮞ \[5\] JSON -> TEXTURE PATH** - Summon coat(s) from the pack **→** Do coat(s) have a texture that is correct for that horse? ✅ Coat(s) have the correct texture **❌** `Black Texture` Texture path or file name is invalid or missing. **Go to solutions \[5\]. `Multiplayer` Player is missing the pack or no texture for that coat path. **Go to solutions \[5\].** **❌** `Wrong Coat` Texture path or file name is incorrect. **Go to solutions \[4\]. ❌** `Looks Wrong` Texture or UV map error. **Contact Coat Artist or request help.** **⮞ \[6\] OTHER** - `Lapis Cycling` **→** If you cannot cycle **any** coats using lapis or redstone, it is disabled in server config. **→** If you can cycle coats, but some options are missing, it is disabled in the coat **.json** file. - `White Texture` **→** If a coat is white, the pack or coat .json files were removed or renamed **→** If that is not the case, information in .json may have an error (invalid format) **Go to solutions \[5\].** - `Texture Error` **→** If a coat appears broken (color in wrong places, missing pixels, marker blocks) it needs a texture or UV fix. **→** If you are not the coat artist, contact the original creator. - `Error On Load / Crashing` **→** Too many potential causes **→** Paste your **latest.log** file in [Tech Help](https://discord.com/channels/715626418893095012/997404105704210432) in our Discord with a description of the issue(s). **SOLUTIONS & SUGGESTIONS** **ALWAYS SHUT DOWN THE GAME + RELOAD AFTER MAKING CHANGES**

**It is not recommended to modify packs from a Creator unless you intend to customize it and solve any issues.** ✅ You should follow this troubleshooting guide to identify your likely issue first. ✅ You should notify Creator's of potential problems with the **default pack** (might need a fix or update). **❌** You should NOT expect Creator's to investigate issues you might have caused by altering their original files!

**⮞ ISSUE \[3\]** - Check the community pack: → Pack is directly in `config > swem > community-packs` → Pack is a **folder** and not a zip file! **→** Pack has a valid **lowercase** name with **no spaces** ✅`artist_kofi` **❌** `Artist Kofi Coats` **→** Pack includes at least one `.json` and `.png` file in the **correct folder** 📁 jsons > 📁 coats > `JSON FILES HERE` 📁 textures > 📁 coats > 📁 legacy > `PNG FILES HERE` If this is **ALL** correct the issue is not the community pack structure. **Go back to Step \[4\] above.** **⮞ ISSUE \[4\]** - Identify a coat that is missing in game - Check the **.json** file for the coat → File is listed as a `JSON File` type → File is directly in `community-packs > artist_packname > jsons > coats` → File has a valid **lowercase** name with **no spaces** ✅`coatname_artist` **❌** `Coat - Artist` → File texture path uses ✅ `"legacy": "legacy/coatname_artist.png"` **❌** `"legacy": "default:legacy/` If this is correct, the most likely issue is formatting (invalid json). → Compare your json to the template and note any missing `"` `,` or `{ }` or different indentation → If unsure, delete and rewrite the .json file using a blank template → Reload the game and repeat **Step \[4\]** above. If this is **ALL** correct or changes did not work, paste your **.json** file in [Tech Help](https://discord.com/channels/715626418893095012/997404105704210432) in our Discord **⮞ ISSUE \[5\]** - Identify a coat with a black (missing) texture - Check the **.json** file for the coat → File uses `legacy` model line (not any for future models) → File texture path uses ✅ `"legacy": "legacy/coatname_artist.png"` **❌** `"legacy": "default:legacy/` → File texture path has the **exact** name used by the coat texture **.png** file - Check the .png file for the coat → File is listed as a `PNG File` type → File is directly in `community-packs > artist_packname > textures > coats > legacy` → File has a valid **lowercase** name with **no spaces** ✅`coatname_artist` **❌** `Coat - Artist` - `MULTIPLAYER SERVERS` → Client (player) has community pack(s) with the same name (ID) as those on the server. → Client (player) has **.png** files with the same names as those in the server pack. If you cannot check this due to permissions, you will need to contact server admins. **⮞ \[6\] OTHER OR NOTHING WORKED** - Create a post in [Tech Help](https://discord.com/channels/715626418893095012/997404105704210432) in our Discord → Describe your issue(s) and **what you have tried** → Upload your latest.log file to provide info that may help others assist you ** DO NOT UPLOAD PAID/PRIVATE PACKS WITH TEXTURES FROM CREATORS WITHOUT CONSENT **