# Community Packs Community Packs are our integrated system to dynamically add custom content made by the community without the requirement for additional code. # General Information General Information Community Packs -> Whole Packs (ex. a completed pack with all textures, names, and coins) Content Packs -> Sets of Content able to be put into Community Packs (ex. a few peices of tack textures with their matching jsons) # Community Packs

Community Packs are available for SWEM **1.20.1-1.5+**. This feature will not be backported to older releases!

#### Update Changes - Important The community pack feature allows users to add NEW coats to the game instead of overriding existing coats (texture pack). To support this feature, the following changes were made:
**Change****Information**
Coats are named, not numberedCoats cannot be altered via Variant NBT **New Command:** `/swem set coat `
Coats appear white via /summonCoats cannot be summoned via Minecraft's /summon. **New Command:** `/swem summon LEGACY swem:sweetboi` Default coats `/swem summon LEGACY pack_name:coat_artist` Custom coats `/swem summon random LEGACY` Random coat
Coats apply to a specific modelContinue to use legacy (original) until new models are supported.
--- #### Updating An Existing World

Please read this information carefully and **backup your save** (recommended) **before** updating to 1.20.1-1.5.0+.

- Existing coats should be unaffected. - Texture packs (swem override) should be unaffected. - Datapack (fan-made) for [naturally spawning horses](https://discord.com/channels/715626418893095012/840972393153691738/1022973584181841981) is patched to work as normal! - Config will need to be copied (or edited again) in new folders to keep settings: → Common, Client and Recipe configs now generate in `config/swem` - **THIS UPDATE WILL PROBABLY BREAK ADD-ONS: PLEASE BE PATIENT AS CREATORS UPDATE THEIR MODS! →** Reported: Tre's Tackshop --- #### Frequently Asked Questions (Dropdown)
FAQs **SUPPORT & FEATURES** **⮞ NEW MODELS?** It is planned to expand on the models as part of development, but breeds will not be added. This update will not break texture packs that override the SWEM model. ⮞ **NEW ANIMATIONS?** Support for new animations is planned for a later date. ⮞ **NEW TACK?** Support for new tack is in progress and will be released in the near future. ⮞ **NEW FOALS?** Foals are limited to 7 variants, one per possible color tag inherited from breeding. Support for additional foals will require an expanded genetics system - this is planned for future development. ⮞ **MODIFYING DEFAULT COAT INFO?** Information such as obtainable by breeding, color tags, lapis cycling cannot be edited for default coats, only custom coats. ⮞ **NATURALLY SPAWNING HORSES?** Custom coats can appear on converted vanilla or RHG horses, but default **or** custom coats do not naturally spawn in the wild. This update supports the community creation [datapack](https://discord.com/channels/715626418893095012/840972393153691738/1022973584181841981) for naturally spawning horses. ⮞ **BREEDING AND LAPIS CYCLING?** Custom coats can be obtained from lapis cycling or breeding if set to enabled in the coat json file. Coat cycling must be enabled in serverconfig to allow the use of lapis or redstone cycling coats. **USE ON SAVES & SERVERS** **⮞ EXISTING SAVES?** Community packs should be safe to use with existing save files. **⮞ DIFFERENT SAVE FILES?** Community packs apply to **all** saves for that instance or profile. It is not possible to have save-specific community packs without manually changing switching them each time. **⮞ MULTIPLAYER SERVERS?** Community packs should work on servers, provided all players have the community pack. Please be mindful of creators and do not distribute or use content in a way that is not explicitly permitted! **⮞ MULTIPLAYER SERVERS (SERVER SIDE ONLY)?** Community packs on server only may not be possible and would likely violate the terms of use for custom content. **⮞ OVERRIDE MULTIPLAYER SERVER COATS?** Community packs are essentially a resource pack when you are a client. You can replace png(s) with different textures, provided they are named the same. This will only be visible to you. **⮞ MODIFY THE JSON INFO OF A CUSTOM COAT ON MULTIPLAYER SERVERS?** Community packs use the data of the server or host - client side edits will only apply to your singleplayer saves. **⮞ PLAY SERVERS (NO CUSTOM COATS) WITH A COMMUNITY PACK INSTALLED?** TBC. Probably fine. **MODIFYING A COMMUNITY PACK** **⮞ ADD NEW COATS (EXISTING SAVE)** You can add a new coat at any time, but need to close and reload the game to apply the new coats. **⮞ MODIFY COATS (EXISTING SAVE)** You can modify coats at any time, but need to close and reload the game for changes to apply. → If you rename a coat, it will be registered as a NEW coat and any horses using it will turn white. → If you modify the model path, any horses using it will appear fully black unless a valid texture is provided. → If you alter json information, it will only apply to future instances (ie breeding colors to pass on). → **DO NOT REMOVE CREDITS** (original creator) or falsely claim ownership (plagiarism / art theft). **⮞ REMOVE COATS (EXISTING SAVE)** You can remove coats at any time, but need to close and reload the game for changes to apply. → If you remove a coat, any horses using retains their coat ID but becomes white unless a new coat is assigned. → If you only remove the PNG, any horses using it will appear fully black unless a texture is provided. **⮞ FIX ACCIDENTALLY REMOVED COATS (EXISTING SAVE)** You can fix white horses (default coat) by re-adding community packs or coat file(s) to restore them on next reload. **⮞ REASSIGN REMOVED COATS (EXISTING SAVE)** You can change coats easily with `/swem set coat ` or cycle with lapis (if enabled). An alternative command is: `/data modify entity @e[type=swem:swem_horse,limit=1,sort=nearest] Behaviors[6].Coat set value ` **OTHER** **⮞ SEE COAT NAME?** It is not currently possible to find out the name or artist for a coat in-game without using a command: `/data get entity @e[type=swem:swem_horse,sort=nearest,limit=1] Behaviors[6].Coat`
--- #### Using Community Packs To add a **prepared** (ready to use) community pack: **STEP ONE: GENERATE THE NEW FOLDERS (FIRST TIME LOAD)** 1. Install the mod update. 2. Load the game to the menu screen. 3. **Exit the game.** **STEP TWO: DOWNLOAD A COMMUNITY PACK** 1. Download a community pack. → A prepared community pack including FREE coat donations can be found [here](https://discord.com/channels/715626418893095012/737144919717707896/1266908931423469609)! 2. Unzip (if necessary) so the file is a folder. → You should have a folder with `pack_name > json / textures etc` → Check the folder is NOT embedded inside another ie `pack_name > pack_name` 3. Cut or copy the `pack_name` folder. 4. Go to `config > swem > community-packs` and paste it. → It should look like: `config > swem > community-packs > pack_name > json / textures etc` **OTHER INFORMATION** - You can have multiple packs but they must have a **unique** name ie `pack_1` and `pack_2` - You can rename a texture pack, but you should not if it is already **in use**. → Community packs must be in lowercase with underscores for any spaces. → ✅ `kofi_coats` **❌** `Kofi Coats` - You can add, alter or remove from community packs - see **FAQ** above. - You can access coats in game by the following methods: → Converting vanilla or RHG horses **if** `breeding tokens` config is **FALSE.** → Cycling coats **if** `cycle coat` in config **and** `lapis_cyclable` in json is **TRUE**. → Breeding **if** `obtainable_by_breeding` in json is **TRUE.** → Summon via `/swem summon LEGACY pack_name:coat_artist`

If you have not altered configs already, you probably do not need to do so, these should all be DEFAULT settings.

--- #### Creating & Modifying Custom Community Packs To create a **new** community pack: **OPTION A: DOWNLOAD THE TEMPLATES (DISCORD)** - A downloadable (blank) Community Pack and JSON can be found [HERE](https://discord.com/channels/715626418893095012/748632231257440336/1266941242630209589). **OPTION B: CREATE A COMMUNITY PACK** 1. Inside `config > swem > community-packs`: → Create a folder with the pack name ✅ `kofi_coats` **❌** `Kofi Coats` 2. Inside `pack_name`: → Create a folder called `jsons` → Create a folder called `textures` 3. Inside `jsons`: → Create a folder called `coats` 4. Inside `textures`: → Create a folder called `coats` 5. Inside `textures > coats`: → Create a folder called `legacy` To add content to a new or existing community pack: 1. Create or download the coat **.png** file → Name it using `coat_artist_model` format ✅ `hidalgo_arishant_legacy` **❌** `Hidalgo Arishant-legacy` → Put this in `community-packs > pack_name > textures > coats > legacy` 2. Create or download a **.json** file with the coat credits and information → Name it the same as the coat .png! → Put this in `community-packs > pack_name > jsons > coats`
📂 config 📂swem 📂community-packs 📂pack\_1 📂jsons📂coats 🗒️coat1\_artist.json
📂textures📂coats📂legacy 🖼️coat1\_artist.png
📂pack\_2 📂jsons 📂coats 🗒️coat2\_artist.json
🗒️coat3\_artist.json
📂textures 📂coats 📂legacy🖼️coat2\_artist.png
🖼️coat3\_artist.png

Shown: The file structure for community packs, this example shows 2 packs (1 + 2) with 3 total coats.

**File Type****Location****Description**
🖼️ .png`config > swem > community-packs > textures > coats > legacy`Texture to be used for the custom coat.
🗒️ .json`config > swem > community-packs > jsons > coats`Information on artist(s) and obtaining.
--- #### JSON files JSON is a file that contains the important information SWEM needs to integrate a custom asset into the game and systems such as coat cycling or breeding. This is essentially **code** and needs to be filled out carefully to avoid causing errors! - Type within the quotations `" "` unless directed to do otherwise. - Keep all formatting including brackets `( ) { } [ ]` - Separate coat tags by a comma (delete as applicable) **until the final variable.** ✅`["white","chestnut"]` **❌** `["white","chestnut",]` - `lapis_cyclable` and `obtainable_by_breeding` must be `true` or `false` - `base_colors` must use valid color tags options ✅ `["black","gray","white","creamy","brown","dark_brown","chestnut"]` **❌** `["buckskin","dun"]`
**Credits**The artist(s) to credit. This can be one, or multiple separated by a comma.
**Inspiration**The inspiration or reference, ie *"Secretariat"* or *"Bay Roan Sabino"*
**Models**The horse model it uses, this should use **legacy model (original)** until Destrier+ is added!
**Lapis Cyclable**Obtainable by cycling with lapis and redstone, if enabled.
**Obtainable By Breeding**Obtained by breeding, using color tags (below).
**Base Colors**Determines 'genetics' to pass on to foal, and selection of adult coats on growing up.

Set tags you would expect to **get a coat from** (**IE:** black foal -> black horse) and **NOT** the genetics the horse might **pass on**. Color tags and breeding outcomes are very basic and realism (**IE:** bay = red + black will result in unrealistic breeding and coat selection outcomes such as chestnut foal -> bay horse).

Default JSON { "credits": "Artist(s)", "inspiration": "N/A", "models": { "legacy": "default:coats/legacy/coatname\_artist\_legacy.png", "destrier": "", "heavy\_draft": "", "western\_sport": "", "english\_sport": "", "riding\_pony": "" }, "lapis\_cyclable": true, "obtainable\_by\_breeding": true, "base\_colors": \["black","gray","white","creamy","brown","dark\_brown","chestnut"\] }
Example JSON { "credits": "Bob Jones, Jon Bobs", "inspiration": "Inspired by Valegro (Dressage Horse)", "models": { "legacy": "default:coats/legacy/valegro\_bobjones\_legacy.png", "destrier": "", "heavy\_draft": "", "western\_sport": "", "english\_sport": "", "riding\_pony": "" }, "lapis\_cyclable": false, "obtainable\_by\_breeding": true, "base\_colors": \["brown","dark\_brown"\] }
--- #### PNG files To create a new coat, or edit and existing one for the SWEM horse model you will need to use a program like Blockbench. The resources for this are pinned in our blockbench channel on [Discord](https://discord.com/channels/715626418893095012/748632231257440336/1117996750842630194). --- #### Overriding Default Coats You will still need to use a texture pack to override **default** SWEM coats. This has not changed with this update.
Texturepack: Coat Overrides
📂 TXP\_name 📂 assets📂 swem 📂 textures 📂 entity 📂 horse 📂 coats 🖼️ coat\_name.png
🖼️ pack.png🖼️ coat\_name.png
🗒️ pack.mcmeta📂 foal **(optional)**

Shown: The file structure for texture packs overriding default horse +/- foal coats.

**File Type****Description****Note**
📂 TXP\_nameA folder with the name of your texture pack
🖼️ pack.pngPNG image for your pack - displayed in game.This must remain named `pack.png`
🗒️ pack.mcmetaInfo on your pack's credits, description and version(s)This is a text-type document (ie notepad)
🖼️ coat\_name.pngPNG for the coat to override.This must be named as in swem files

Coat names in SWEM files might not accurately align to in-game values. Example: `swem:sweetboi` = `13_m_sweetboi`

[![image.png](https://wiki.swequestrian.com/uploads/images/gallery/2024-07/scaled-1680-/image.png)](https://wiki.swequestrian.com/uploads/images/gallery/2024-07/image.png) **Shown:** Coat file names for all default SWEM coats in 1.20.1-1.5.0
--- #### Note To Content Creators This update will support you in sharing your content to a wider audience, as players no longer have to carefully pick and choose for a limited number of coats to override, and your coats can integrated into breeding and coat cycling (if enabled). To transition properly away from texture packs, we recommend: - Upload your content in an appropriate format, such as a pack or individual json and png files. → Continuing to provide texture packs is up to you! - Set **simple, clear and easy to follow** terms of use (TOU) **or** fair-use guidelines.
TOU Info + Example ##### **WARNING** By sharing your content publicly, you should acknowledge that **there is very limited legal recourse to enforce appropriate use of your content, license or not.** Using a highly restrictive terms of use is setting yourself up for frustration when it is inevitably violated, so for your sake and enjoyment of players we encourage sharing in a similar way to mods; allow anyone to use it for public or private use **provided downloads or support goes directly to the creator** (ie via Kofi). ##### **RECOMMENDATIONS**

Avoid **editing** an agreement or expecting users to remain informed of any minor (or major) alterations.

Post your agreement where it can be **easily referenced** when browsing or downloading your content. → It is ideal to have a public reference (ie Kofi post) and provide it with files or included in descriptions. → It is not recommended to require access to an external source (ie Discord server) **unless you host files there!**

Avoid **requiring** credit for use in media; it should be encouraged but **no credits does not equal insult!** → **It is not standard practice to credit every creation (ie mods!)** in images you upload; nice if you do, but optional! → It should only be "required" that users **credit where appropriate** (inspiration or reference), and **not falsely claim.**

Avoid **prohibiting** inspiration or reference; **similarity is not proof of plagiarism!** → It is possible for users to have the same idea, share the same reference, or take respectful inspiration! → It should be expected that any work **clearly and** **directly** referenced or inspired by your creation is credited.

Avoid **restrictive** use policies that are difficult to monitor and enforce. → It is an unfortunate reality that players +/- servers will violate agreements, especially if they are restrictive. → There is limited legal recourse to address this; so state what you are **willing and able to action if necessary!**

Consider providing content in a compact format with **minimal individual downloads**! → It is your choice, but players and servers will be less likely to distribute (or more likely to use) **easily** accessible files. → It is suggested to provide creator pack(s) in bundles such as 'Bays', 'Pintos', '2023 Coats'

Avoid uploading to **unsafe file hosting sites** or encouraging users to engage in **unsafe internet habits**. → It is recommended to use popular sites such as Kofi, Google Drive.

##### **EXAMPLE TERMS OF USE (NOT A LEGAL CONTRACT OR LICENSE)** - `OWNERSHIP & AGREEMENT` → The creator (name) retains all rights of ownership to this content → The right to use this content is granted to you (player) in accordance with this agreement - `USE` → This creation `can/not` be used in content (images, videos) - credits are optional but appreciated. → This creation `can/not` be used privately in singleplayer or a small private group. → This creation `can/not` be used publicly in multiplayer. → This creation `can/not` be used in reasonable commercial services `with/without` consent. ✅🚫 Offered as part of a service (ie random / selected coat change) requiring real money ✅🚫 Offered as a prize or reward for activity or events requiring real money ✅🚫 Offered as an unlock via crowdfunding or engagement (ie server cost covered -> unlock) **NOTE: Commercial services must abide by Minecraft's EULA** - `DISTRIBUTION` → This creation `can/not` be reuploaded `with/without` consent `and/or` credits `and/or` payment. ✅🚫 Limited private use by friends or small groups ✅🚫 Custom Community Packs (folder) ✅🚫 Custom Modpacks (zip) ✅🚫 Exceptions: Paid vs Free, Commissions (paid) or Gifts (prizes) ✅🚫 Other: File Hosting Sites, Discord Servers etc - `ALTERATIONS` → This creation `can/not` be altered `with/without` consent and `with/without` credits for `public/private` use. ✅🚫 Texture ✅🚫 Information (json: name, description, color tags etc) ✅🚫 Other conditions
--- #### Known Issues If you find an issue, please report it to our bugs channel on [Discord](https://discord.com/channels/715626418893095012/898242623716855868). We ask that you look to see if your issue was reported first! - Community Packs not loading - fixed in swem-1.20.1-1.5-beta-5 **(COMING ASAP)** --- #### Changelog
View Changes

This is not a complete list of version changes / fixes. It is a changelog of relevant wiki-related version information.

**MC Version****Release****Notes**
# Coats [WIP]

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

Community packs allow players to add NEW custom coats in-game without overriding the default variants. --- #### Important - Update Changes
**Features****Changes**
**Summon**Minecraft `/summon` results in 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 Data**NBT no longer uses `Variant: #` and instead uses `Behaviors[6].Coat` Data modify commands must set a valid 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 key restrictions - which may be useful to some servers.*

**Get the value (id + name) of a Horse's coat** `/data get entity @e[type=swem:swem_horse,sort=nearest,limit=1] Behaviors[6].Coat` **Change the value of a Horse's coat** `/data modify entity @e[type=swem:swem_horse,limit=1,sort=nearest] Behaviors[6].Coat set value <"id:coat">`
**Model**Coats and commands must specify model - this is to support **future** options. `LEGACY` Default model and the only one currently supported.
--- #### Frequently Asked Questions & Fundamentals This section has drop-downs for FAQs and expanded information about Community Packs.
\[1\] Community Pack & Content Packs **⮞ WHAT IS A COMMUNITY PACK?** Community Packs are folders that include all the files necessary to add NEW assets such as custom coats to SWEM. **⮞ WHAT IS A CONTENT PACK?** Content Packs is another name for a Community Pack. Content Packs generally have less content, or even a single file. On pasting, it will merge into any Community Pack with the same name. - Creators can use a single (or multiple) consistent pack names - Creators can provide updates and fixes to their pack for select or individual files - Players require fewer overall Community Packs - Players can easily search in-game by Creator **Example:** `arishant_kofi:` - \[OR\] Players can easily search in-game by Theme **Example:** `fantasy_mounts:` or `bays:` **⮞ HOW DO I KNOW IF A PACK IS PREMADE (READY TO USE)?** Community Packs should clearly state if they are a ready to use folder, or individual files. If that is not the case: - Look at the file contents (unzip the file if it comes zipped) ✅ Must be a folder with a lowercase name. **Example:** `arishant_kofi` ✅ Must have two folders inside it: `json` and `textures` ✅ Must have `coats` inside json and `coats > legacy` inside textures ✅ Must have at least one file inside each folder - only jsons (text file) and png (texture file) in relevant folders **❌** Individual files in a single folder **❌** PNG files in `json > coats` or JSON files in `textures > coats > legacy` **❌** Files or folders with spaces, symbols or capital letters

There can still be other errors that prevent a pack working, but this criteria means the pack is set up correctly!

**⮞ WHAT IF PACKS HAVE AN IDENTICAL NAME?** Community Packs could share a generic name like `free_coats` or `kofi_coats`. Generally, this is not an issue, but you should be aware: - Folders will merge into one that includes the files of each - File will not override or replace unless they have an identical name This is **unlikely** if Creators use the recommended format of `coatname_artist` This could replace updated (fixed) files with outdated ones that share the same name This could replace optional variant files with alternatives (ie coat with shoes vs coat without

Always check that merged files maintain the correct folder structure and file names are valid (ie not coat\_name\_copy)

**⮞ WHAT IF IT ASKS ME TO REPLACE FILES?** There is no correct answer to this: - Replacing existing files to update a texture error is usually fine. - Replacing existing files to update coat info for breeding tags, inspiration info is usually fine. - Replacing existing files with outdated files could revert changes (replace with pre-fix version) If you replace a file with a broken texture or non-functional json, you will need to fix it or re-download the original!
\[2\] Modified Packs & Files

Always read the Creator's Terms Of Use (TOU) as significant non-private alterations or reupload may be prohibited!

**⮞ CAN I UPLOAD A COMMUNITY PACK +/- MODIFIED?** `PNG FILES` The Creator has the right to set and enforce appropriate use of their content. - You should not modify, distribute or monetize their work without explicit consent - This includes uploading their work in any public platform (ie Discord, for use by a MP server) `JSON FILES` These files are an asset under SWEM and not the property of Creator(s). - You can re-upload them for **free.** - You can provide JSON override packs. This **excludes** any modification with **false credits**, **removed credits** or unreasonable modification to inspiration. This **excludes** any uploads that includes PNG files without Creator' consent. This must comply with any platform or community guidelines (ie no unapproved uploads). **⮞ CAN I RENAME A PACK? Multiplayer **No. This may prevent you from seeing any custom coats, even if you have all the correct files. ** Singleplayer **Yes, this can be useful to organize your custom content or use simpler in-game pack IDs. You must set a unique **lowercase** name with no spaces or symbols for the pack to remain valid. **⮞ CAN I RENAME A COAT? Multiplayer **No. This may prevent you from seeing any custom coats, even if you have all the correct files. ** Singleplayer **Yes, though this is **not recommended**. - Changes must be updated for json and png file, as well as the json texture path. - The coat will appear white on reload unless provided with alternative files for the previous ID + name.

You should continue to use standard naming format `coatname_artist` with **appropriate artist credit** by name!

**⮞ CAN I EDIT COAT INFORMATION (JSON)? Multiplayer **Yes, however: - Client-side edits will only apply to singleplayer worlds. - Server-side edits will apply to all players, regardless of their individual pack settings. `Texture Path` Players must replicate this to avoid seeing black horses (missing texture) ** Singleplayer **Yes, it is generally safe to modify coat info.

You should not remove or modify Artist credits +/- reference and inspiration comments.

\[3\] Multiplayer Use

Always read the Creator's Terms Of Use (TOU) significant non-private alterations or reupload may be prohibited!

--- #### Using A Community Pack This section has a step-by-step guide for installing **premade** Community Packs. To learn #### \[?\] Features #### Troubleshooting / Common Issues # Tack Tack # Animations Animations