# 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 [WIP]
This feature is available in **1.20.1-1.5+** and will **NOT** be added to outdated versions.
Community Packs is a feature that allows players to add NEW assets to the mod without the use of an add-on mod. --- #### Important- Update ChangesExisting worlds should be safe to update but always take a backup in case you encounter an issue!
To support community packs, some changes have been made. See additional pages for feature-specific changes. - Common, Client and Recipe configs now generate in `config/swem` - Community Pack features will likely break add-on mods. **PLEASE BE PATIENT AND ALLOW CREATOR'S TIME TO UPDATE THEIR MODS** --- #### Supported Features**Feature** | **Mod Version** | **Notes** |
Coats | **1.20.1-1.5 Beta +** | Custom coats that do not override default, and support coat cycling + breeding tags. |
Tack | **1.20.1-1.5 Release** | Custom tack that does not override default tack and can be purchased via EQ Shop. |
Animations | **1.20.1-1.5 Release** | Custom animations that can be triggered via command (loop). |
There can still be other errors that prevent a pack working, but this criteria means the pack is structured correctly!
**⮞ WHAT IF PACKS HAVE AN IDENTICAL NAME?** Community Packs that do not use recommended format could have a duplicate name like `free_coats` or `kofi_coats`. - Duplicate folders will merge into one with the files of both folders - Files will not override or replace each other **unless** they have identical names **Creators** - Avoid conflicting names with recommended unique format of `coatname_artist` in all files and packs - Avoid content 'options' with the same name - if you offer variants (ie braids vs roached) give them a unique name - Avoid creating packs with 'old' files that may override new versions (ie fixed or improved textures) - Update or remove old packs that may have any such files.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 safe. - 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! **⮞ CAN I HAVE MULTIPLE COMMUNITY PACKS?** Yes. You can install multiple Community Packs, but you should read **\[4\] Performance** if adding a lot of additional content.Always read the Creator's Terms Of Use (TOU) as significant non-private alterations or reupload may be prohibited!
**⮞ CAN I REUPLOAD A COMMUNITY PACK +/- MODIFIED?** **✅**`JSON FILES` You can edit and distribute json files or overrides freely. **❌**`PNG FILES` You should not modify, re-upload, distribute or monetize Creator's work without explicit consent. `PNG FILES` Creators have the right to set and enforce appropriate use of their content. - You must not modify, re-upload, distribute or monetize Creator's work without explicit consent. `JSON FILES` Creators can set reasonable requests on json modification, but do not own this asset. **✅** You can provide **FREE** override files or packs. **❌** You must not create and distribute files that violate platform (ie Discord) or Community (ie SWEM) rules. **❌** You must not monetize file edits to profit off the original Creator(s) work without consent. **❌**You must not provide premade packs that include the content (pngs) of Creator(s) without consent. **❌** You must not remove artist credits, or add false credits. **❌** You must not remove artist reference, excluding reasonable modification. `Esperanza from Spirit` -> ✅ `Palomino (Dreamwork's Spirit: "Esperanza")` **❌** `N/A` **⮞ CAN I RENAME A PACK (AS A PLAYER / CLIENT)?** ** Multiplayer **No. This may prevent you from seeing any custom coats, even if you have all the correct files. ** Singleplayer **Yes. This can sometimes help you organize custom content or shorten pack IDs. - You must use a unique **lowercase** name with **no spaces** or **symbols** - You should not edit information **in use by an existing save** (will need to change coats / tack affected). **⮞ CAN I RENAME A COAT / TACK ITEM?** ** Multiplayer **No. This may prevent you from seeing any custom coats or tack, even if you have all the correct files. ** Singleplayer **Yes, though this is **not recommended**. - You must use a unique **lowercase** name with **no spaces** or **symbols** - You must set this for the file names of both `json`, `png`, and the texture path inside the `json` file. - You should not edit information **in use by an existing save** (will need to change coats / tack affected).You should use standard naming format `coatname_artist` with **appropriate artist credit** by name!
**⮞ CAN I EDIT CUSTOM CONTENT INFORMATION (JSON)?** ** Multiplayer **Yes. Important information: - Client-side (player) edits will only apply to your singleplayer worlds. - Server-side edits will apply to all players, regardless of their individual pack settings. `Texture Path` Players must use the same path to avoid black horses (missing texture) ** Singleplayer **Yes, depending on type:**Content** | **Variable** | **Comments** |
Coats | ✅ Artist Credits \* ✅ Inspiration \* ✅ `lapis_cyclable` ✅ `obtainable_by_breeding` ✅ `base_colors` **❌** Model | Can include capital letters, spaces and symbols **inside the "" entry**. Can include capital letters, spaces and symbols **inside the "" entry**. Effect will apply to future lapis/redstone changes. **Must be true/false.** Effect will apply to future breeding. **Must be true/false.** Effect will apply to future breeding. Must use **valid tags.** Must use Legacy until additional models are supported. |
Tack | TBC | |
Animations | TBC |
You must not remove or (unreasonably) modify Artist credits +/- reference and inspiration comments.
See individual pages for troubleshooting common issues for each feature.
**⮞ CAN I USE THE OFFICIAL SWEM COMMUNITY PACK ON A SERVER?** Yes. You can use this on a multiplayer server provided it is free to all players, not re-uploaded externally or monetized. You should not modify the contents, except to remove unwanted files or edit obtaining information (tags, breeding etc). **⮞ CAN I USE CREATOR'S COMMUNITY PACK ON A SERVER?**Always read the Creator's Terms Of Use (TOU) as public multiplayer use, alterations or reupload may be prohibited!
PCs with limited resources or low performance may have a limit on how much custom content it can realistically support.
This section explains how to use **PREMADE** Community Packs \[1\] - see [Creators' Corner](https://wiki.swequestrian.com/books/swequestrian-mod/page/creators-corner-wip) to create your own.
Read **\[2\] Modifying Community Packs** before you edit any Community Pack files.
To install your custom content, you need to download or create a Community Pack or Content Pack. - You can install multiple packs if they have a unique and valid name such as `artist_packname`. - Content packs will merge into community packs of the same name, or work as a new pack if one does not exist. ** STEP ONE: GENERATE THE CONFIG FOLDER** This is only required the first time you add or update the 1.20.1-1.5+ mod file. 1. **\[Optional\]** Backup any existing saves files (recommended) 2. Install the latest 1.20.1-1.5 Beta file 3. Load the game to the menu screen 4. Exit the game ** STEP TWO: INSTALL THE COMMUNITY PACK** 1. Download or Create your Community Pack → Free Official Community Pack can be found [here](https://discord.com/channels/715626418893095012/737144919717707896/1266908931423469609)! → Free and Paid Community Packs can be found on many creators pages [here](https://discord.com/channels/715626418893095012/1198308571130122250)! 2. Check the file is ready to install → See **\[1\] Community & Content Packs** above (FAQ) 3. Copy the Community Pack 4. Go to `config > swem > community-packs` 5. Paste the Community Pack file → It should look like: `config > swem > community-packs > artist_pack_name` ** STEP THREE: VIEW THE CONTENT IN-GAME** 1. Load the game 2. Load into a save or (recommended) a new test world 3. See relevant pages: → [Coats](https://wiki.swequestrian.com/books/swequestrian-mod/page/coats-new) → [Tack](https://wiki.swequestrian.com/books/swequestrian-mod/page/tack-wip) → [Animations](https://wiki.swequestrian.com/books/swequestrian-mod/page/animations-wip) --- #### 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! \- **1.20.1-1.5.2** Pasture Blankets (equipped) disappear on world reload. --- #### ChangelogThis is not a complete list of version changes / fixes. It is a changelog of relevant wiki-related version information.
**MC Version** | **Release** | **Notes** |
1.20.1 | 1.20.1-1.5.2 | Bug Fix: Pasture Blankets not showing up on racks. |
1.20.1-1.5.0 | Public Release: Added support for custom tack and animations. | |
1.20.1-1.5-beta-7 | Bug Fix: Change JSON file formatting and fixed load errors. | |
1.20.1-1.5-beta-5 | Public Release: Added support for custom coats. |
You must read and follow the Content Creation Rules (below) to comply with SWEM's license and permitted use of assets.
**Star Worm Equestrian is PG13: appropriate for users of all ages.** Any content or creators that modify it to be or appear otherwise do so against the terms of use for this project.
**⮞ YOU MUST NOT SELL, PROMOTE OR FEATURE SWEM IN ANY CONTENT OR MEDIA THAT INCLUDES:** - Extreme violence or gore - Mature (18+) themes → Including realistic gender anatomy or animationsAvoid **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 casual images; nice if you do, but optional! → It should only be "required" to **credit where appropriate** (promotion, inspiration or reference), and **not falsely claim.**
Avoid **prohibiting** inspiration or reference; **similarity is not proof of plagiarism!** → It is possible for creators to have a similar idea, share the same reference, or take respectful inspiration! → It should be expected that work(s) **clearly and** **directly** referenced or inspired by your creation is fairly 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**! → 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 **unsecure 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 conditionsOfficial Community Pack version is updated to work with SWEM 1.5.2 - please use the Beta 5 pack found [here](https://discord.com/channels/715626418893095012/737144919717707896/1266908931423469609).
If you have a custom coat community pack for 1.20.1-1.5-beta7, you must modify it to stay compatible in newest release. 1. Close Minecraft 2. Locate your community pack(s) 3. Go inside `packname > jsons > coats` 4. Open the first coat file in a text editor 5. Change `"legacy": "default:coats/legacy/coat_artist.png"` to `"legacy": "legacy/coat_artist.png"` 6. Save and close the file 7. Repeat for all coat files +/- all outdated packsYou can skip step 1-3 by downloading a template community pack found on our [Discord](https://discord.com/channels/715626418893095012/748632231257440336/1266941242630209589).
You can skip or delete any folder that will not be used for your content (ie tack folders if you will not add any tack).
** READ ME: RESOURCES**📂 config | 📂swem | 📂community-packs | 📂artist\_packname | 📂jsons | 📂coats | 🗒️`artist_coat.json` files |
📂tack | 📂blanket | |||||
📂breast\_collar | ||||||
📂bridle | ||||||
📂girth\_strap | ||||||
📂halter | ||||||
📂horse\_armor | ||||||
📂leg\_wraps | ||||||
📂pasture\_blanket | ||||||
📂saddle | ||||||
📂saddle\_bag | ||||||
📂textures | 📂coats | 🗒️`artist_coat.png` files | ||||
📂tack | 📂blanket | |||||
📂breast\_collar | ||||||
📂bridle | ||||||
📂girth\_strap | ||||||
📂halter | ||||||
📂horse\_armor | ||||||
📂leg\_wraps | ||||||
📂pasture\_blanket | ||||||
📂saddle | ||||||
📂saddle\_bag | ||||||
📂tokens | 🗒️`token_name.png` files | |||||
🗒️ tokens.json | ||||||
Shown: The file structure for community packs, including correct placement inside `config > swem > community-packs` |
If you are making a pack for personal use, you can skip this. Content packs are aimed at Creators providing expansion content.
A Content Pack is exactly the same as a community pack, but differs in how and why it is used. - Content Packs use the same name as a 'core' community pack. - Content Packs merge into any packs with the same name, or work as a standalone if one does not exist. - Content Packs usually include less content, or content bundled by theme (ie Black Coats, Bay Coats)Unfortunately, downloads get renamed if they have the same name, ie `artist_pack [1]` and `artist_pack [2]` → There is no way to avoid this without **downloading packs one at a time**, or manually renaming them to merge files.
**RECOMMENDATION** → Set **one or two** tag(s) for a foal color you would expect to get the coat from **Example:** Black Foal -> Black Horse
**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 troubleshoot an issue you might have caused by altering 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 or symbols** ✅`artist_kofi` **❌** `Artist Kofi Coats (1)` **→** 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). → Paste the text [**here**](https://jsonlint.com/) and validate to check it has no errors. → 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**This is the standard format used in the Beta pack. It is recommended to use a consistent naming format as shown here.
**Type** | **Texture + Name** | **Comment** |
**Bridle** | `name_bridle_icon` | Inventory Icon |
`name_bridle_legacy` | Horse Texture | |
`name_bridle_bit_legacy` | Horse Texture | |
`rack_bridle_name_blanket` | Bridle Rack Texture | |
**Blanket** | `name_blanket_icon` | Inventory Icon |
`name_blanket_legacy` | Horse Texture | |
`rack_saddle_name_blanket` | Saddle Rack Texture | |
`rack_saddle_5_name_blanket` | Blanket Rack (5X) Texture | |
**Saddle** | `name_saddle_icon` | Inventory Icon |
`name_saddle_legacy` | Horse Texture | |
`rack_saddle_name_saddle` | Saddle Rack Texture | |
`rack_horse_armor_name_saddle` | Armor Rack Texture | |
**Girth Strap** | `name_girth_strap_icon` | Inventory Icon |
`name_girth_strap_legacy` | Horse Texture | |
`rack_saddle_name_girth_strap` | Saddle Rack Texture | |
**Breast Collar** | `name_breast_collar_icon` | Inventory Icon |
`name_breast_collar_legacy` | Horse Texture | |
**Leg Wraps** | `name_leg_wraps_icon` | Inventory Icon |
`name_leg_wraps_legacy` | Horse Texture | |
`name_leg_wraps_hoof_legacy` | Horse Texture (hoof) | |
**Saddlebag** | `name_saddle_bag_icon` | Inventory Icon |
`name_saddle_bag_legacy` | Horse Texture | |
**Horse Armor** | `name_horse_armor_icon` | Inventory Icon |
`name_horse_armor_legacy` | Horse Texture | |
`name_horse_armor_wings_legacy` | Horse Texture **Optional (Default: Amethyst Tier)** | |
`rack_horse_armor_name_horse_armor` | Armor Rack Texture | |
**Halter** | `name_halter_icon` | Inventory Icon |
`name_halter_legacy` | Horse Texture | |
`rack_halter_lead_name_halter` | Lead Rack Texture | |
**Pasture Blanket** | `name_pasture_blanket_icon` | Inventory Icon **Optional (One or Both)** |
`name_pasture_blanket_armored_icon` | Inventory Icon **Optional (One or Both)** | |
`name_pasture_blanket_legacy` | Horse Texture **Optional (One or Both)** | |
`name_pasture_blanket_armored_legacy` | Horse Texture **Optional (One or Both)** | |
`rack_pasture_blanket_3_short_name` | Pasture Blanket Rack (3X) Texture | |
`rack_pasture_blanket_5_long_name` | Pasture Blanket Rack (5X) Texture |
**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 troubleshoot an issue you might have caused by altering files!
**⮞ ISSUE \[2\]** - 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_tackpack` **❌** `Artist: Tack Pack!` **→** Pack includes at least one `.json` and `.png` file in the **correct folder** 📁 jsons > 📁 tack > 📁 \[type\] > `JSON FILES HERE` 📁 textures > 📁 tack > 📁 \[type\] > `PNG FILES HERE` If this is **ALL** correct the issue is not the community pack structure. **Go back to Step \[3\] above.** **⮞ ISSUE \[3\]** - Identify an item that is missing in game - Check the **.json** file for the tack item → File is listed as a `JSON File` type → File is directly in `community-packs > artist_packname > jsons > tack > [type]` <- Correct folder for the tack type → File has a valid **lowercase** name with **no spaces** ✅`name_type` **❌** `Itemname - Type` → File information uses the correct template for the tack type → Folder contains **.json** files only - **no .pngs or any other file type** If this is correct, the most likely issue is formatting (invalid json). → Paste the text [**here**](https://jsonlint.com/) and validate to check it has no errors. → Compare your **.json** to the template and note any missing `"` `,` or `{ }` or different indentation → If unsure, delete and repaste the .json file text from a valid template for the specific tack type → Reload the game and repeat **Step \[3\]** above. ** KNOWN ISSUE ** Opening or modifying a pack on a Mac creates a .DS\_store file. Should be fixed in 1.5.x. → This is usually invisible to Mac users and prevents the pack from working. [**Discord: Bug Report**](https://discord.com/channels/715626418893095012/1312075496640610325/1312075496640610325) 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 \[4\]** - Identify an item with a missing or incorrect texture - Check the **.json** file for the coat → File uses the correct path: `"icon":` for inventory textures `(horse > legacy >) "type":` for horse textures ** Note: ** Specific items have more than one texture, such as bridles (bit = halter + bridle) and leg wraps (wraps + hoof) → 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 > tack > [type]` → File has a valid **lowercase** name with **no spaces** ✅`name_type` **❌** `Item Name - Tack Type` → File uses the correct naming format (see **Files & Naming Format**) - `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. **⮞ \[5\] 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**This is a valid JSON File with no formatting errors! → Packs can still fail to register or work if the files and folders are incorrect or duplicated. → Packs can still fail to register if other files have format errors, or files have invalid or missing data.
[](https://wiki.swequestrian.com/uploads/images/gallery/2024-12/QYdimage.png)This is an invalid JSON where the `{` is missing after `"data":` making `"color":` invalid → You may not necessarily understand what it is telling you, but you can use this section to compare to examples. → If you cannot resolve your issue, sharing a screenshot of this output may assist helpers in tech help to find your issue.
It is recommended to provide a command list with Animation Packs, as they will not auto-fill in game.
This guide will not cover how to create animations, for information please read our \[RESOURCES\] on Discord. 1. Create your custom animation(s) in blockbench 2. Create an animation resource pack → Replace `assets > swem > animations > swem_horse.json` with a custom animation file → This must include all the existing animations **and** any new animations 3. Install the resource pack in the `resourcepack` folder 4. Use `/swem rrp anim**Credits:** Jenny
**HORSE TACK TEXTURES** 1. Download a copy of the latest SWEM .jar (mod file) 2. Unzip the .jar file to access the SWEM files 3. Download / Open Blockbench 4. File > Open Model → Open Horse Model: `assets > swem > geo > entity > horse > swem_horse` 5. View the blocks menu on the bottom right 6. Toggle all blocks to Off using the eye icon → This is to prevent accidental texturing of the wrong element → Each tack type renders specific blocks - ie painting neck for leg wraps will not show! 7. Toggle on only relevant elements for your chosen tack type → This might include multiple blocks - see chart below 8. ** TBC **Create a new texture that is 512 x 512 pixels (16x) → Alternatively, import a base texture to use as a template ** Note: ** These are found in `assets > swem > textures > entity > horse > [type]` 9. Switch to the paint tab and texture 10. Right click the completed texture in the texture menu > `save as` 11. Save the file as `name_type` or `name_type_descriptor` **✅** `midnight_blanket` `midnight_blanket_blue` → Using a descriptor is useful for multiple variant sets **✅** `blanket_blue` `blanket_red`Blockbench has a search function (magnifying glass) in the outliner (blocks) menu to search by name or keyword. | ||
**Tack Type** | **Group** | **Element(s)** |
Bridle (Western) | `Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleLeftBit` | WesternBridleLeftBit (5X) |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleLeftRein` | WesternBridleLeftRein | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleLeftRein1` | WesternBridleLeftRein1 | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleLeftRein2` | WesternBridleLeftRein2 | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleRightBit` | WesternBridleRightBit (5X) | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleRightRein` | WesternBridleRightRein | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleRightRein1` | WesternBridleRightRein1 | |
`Front > Neck > NeckJoint1 > Head > WesternBridle > WesternBridleRightRein2` | WesternBridleRightRein2 | |
** TBC: HEADPIECE ** | ||
Bridle (English) | ||
Bridle (Adv) | ||
Blanket | `Middle > BlanketMiddle` | Blanket Middle (2X) |
Saddle (Western) | `Middle > WesternSaddle` | WesternSaddle |
`Middle > WesternSaddle > WesternSaddleMiddle` | WesternSaddleMiddle (10X) | |
`Middle > WesternSaddle > WesternSaddleLeftSide` | WesternSaddleLeftSide (3X) | |
`Middle > WesternSaddle > WesternSaddleRightSide` | WesternSaddleRightSide (3X) | |
Saddle (English) | `Middle > EnglishSaddle > EnglishSaddleMiddle` | EnglishSaddleMiddle (3X) |
`Middle > EnglishSaddle > EnglishSaddleRightSide` | EnglishSaddleRightSide (4X) | |
`Middle > EnglishSaddle > EnglishSaddleLeftSide` | EnglishSaddleLeftSide (4X) | |
Saddle (Adv) | `Middle > AdventureSaddle` | AdventureSaddle |
`Middle > AdventureSaddle > AdventureSaddleMiddle` | AdventureSaddleMiddle (6X) | |
`Middle > AdventureSaddle > AdventureSaddleLeftSide` | AdventureSaddleLeftSide (3X) | |
`Middle > AdventureSaddle > AdventureSaddleRightSide` | AdventureSaddleRightSide (3X) | |
Girth Strap | `Middle > Belly > GirthStrapBelly` | GirthStrapBelly (2X) |
`Middle > GirthStrapMiddle` | GirthStrapMiddle (2X) | |
Breast Collar | `Front > BaseFront > BreastCollarBase` | BreastCollarBase (2X) |
`Front > BaseFront > BreastRight > BreastCollarBreastRight` | BreastCollarBreastRight | |
`Front > BaseFront > BreastLeft > BreastCollarBreastLeft` | BreastCollarBreastLeft | |
`Front > BaseFront > FrontLeft > BreastCollarFrontLeft` | BreastCollarFrontLeft (3X) | |
`Front > BaseFront > FrontRight > BreastCollarFrontRight` | BreastCollarFrontRight (3X) | |
`Middle > BreastCollarBelly` | BreastCollarBelly | |
`Middle > BreastCollarMiddle` | BreastCollarMiddle | |
Leg Wraps | Front > FrontLeft > FrontLeftLeg > .. > .. > LegWrapsFrontLeftHoof | LegWrapsFrontLeftHoof |
Front > FrontLeft > FrontLeftLeg > .. > .. > LegWrapsFrontLeft | LegWrapsFrontLeft | |
Front > FrontRight > FrontRightLeg > .. > .. > LegWrapsFrontRightHoof | LegWrapsFrontRightHoof | |
Front > FrontRight > FrontRightLeg > .. > .. > LegWrapsFrontRight | LegWrapsFrontRight | |
`Back > BackLeft > .. > .. > .. > .. > LegWrapsBackLeftHoof` | LegWrapsBackLeftHoof | |
`Back > BackLeft > Bone4 > KneeLeft > Bone6 > LegWrapsBackLeft` | LegWrapsBackLeft | |
`Back > BackRight > .. > .. > .. > .. > LegWrapsBackRightHoof` | LegWrapsBackRightHoof | |
`Back > BackRight > Bone7 > KneeRight > .. > LegWrapsBackRight` | LegWrapsBackRight | |
`Front > Neck > NeckJoint1 > Head > Skull > LegWrapsSkull` | LegWrapsSkull | |
`Front > . > . > . > Skull > BridgeOfNose > LegWrapsBridgeOfNose` | LegWrapsBridgeOfNose | |
Saddle Bag | `Back > Base > SaddleBag > SaddleBagLeft` | SaddleBagLeft |
`Back > Base > SaddleBag > SaddleBagRight` | SaddleBagRight | |
`Back > Base > BedRoll` | BedRoll (7X) | |
Horse Armor | `Front > FrontLeft > ArmorLeftShoulder` | ArmorLeftShoulder (4X) |
`Front > FrontRight > ArmorRightShoulder` | ArmorRightShoulder (4X) | |
`Front > Neck > NeckJoint1> MainNeck1 > ArmorNeck > ArmorNeck1` | ArmorNeck1 (3X) | |
`Front > Neck > NeckJoint1 > Head > ArmorHead > ArmorHead1` | ArmorHead1 (8X) | |
`Middle > ArmorCloth > ArmorClothLeft` | ArmorClothLeft | |
`Middle > ArmorCloth > ArmorClothRight` | ArmorClothRight | |
`Back > Base > ArmorButt > 10X` | ArmorButt (10X) | |
Wings | `Front > BaseFront > WingsScapular > LeftGROUP > WingsScapularLeft` | WingsScapularLeft |
`Front > BaseFront > WingsScapular > LeftGROUP > WingsMarginalLeft` | WingsMarginalLeft | |
`Front > BaseFront > WingsScapular > LeftGROUP > WingsMarginalLeft2` | WingsMarginalLeft2 | |
`Front > BaseFront > WingsScapular > LeftGROUP > WingsMarginalLeft2 > WingsAlulaLeft` | WingsAlulaLeft | |
`Front > BaseFront > WingsScapular > LeftGROUP > WingsMarginalLeft2 > WingsAlulaLeft > WingsFlightFeathersLeft` | WingsFlightFeathersLeft | |
`Front > BaseFront > WingsScapular > RightGROUP > WingsScapularRight` | WingsScapularRight | |
`Front > BaseFront > WingsScapular > RightGROUP > WingsMarginalRight` | WingsMarginalRight | |
`Front > BaseFront > WingsScapular > RightGROUP > WingsMarginalRight2` | WingsMarginalRight2 | |
`Front > BaseFront > WingsScapular > RightGROUP > WingsMarginalRight2 > WingsAlulaRight` | WingsAlulaRight | |
`Front > BaseFront > WingsScapular > RightGROUP > WingsMarginalRight2 > WingsAlulaRight > WingsFlightFeathersRight` | WingsFlightFeathersRight | |
Halter | `Front > Neck > NeckJoint1 > Head > Skull > HalterSkull` | HalterSkull |
`Front > Neck > NeckJoint1 > Head > Skull > BridgeOfNose > HalterBridgeOfNose` | HalterBridgeOfNose | |
`Front > Neck > NeckJoint1 > Head > Skull > Cheeks > HalterCheeks` | HalterCheeks | |
`Front > Neck > NeckJoint1 > Head > Mouth > HalterMouth` | HalterMouth | |
Pasture Blanket | `Front > FrontLeft > PBFrontLeft` | PBFrontLeft (4X) |
`Front > FrontRight > PBFrontRight` | PBFrontRight (4X) | |
`Middle > PBMiddle` | PBMiddle (5X) | |
`Back > Base > PBBack` | PBBack (6X) |
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.**Feature** | **Changes** |
Summon | Minecraft `/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 Data | Removed `Variant: #` NBT and changed to `Behaviors[6].Coat`
Data values for coat must set a value using ` *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">` **Note:** ID will be `swem:` for any swem coats. **EX:** `swem:sweetboi` Foals use `swem:foal_ |
Model | Coats and commands must state a supported model - this will be expanded in future. `LEGACY` Default model and the only one currently implemented. |
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.It is not recommended to edit community packs that you require on a server - try to keep server / client files the same!
Wrongly formatted JSON files can break your pack - use [Creators Corner](https://wiki.swequestrian.com/books/swequestrian-mod/page/creators-corner-wip#bkmrk-adding-custom-coats) for info if you don't know what you're doing!
**FOR VERSION 1.20.1-1.5 OR ABOVE, YOU NEED TO MANUALLY UPDATE THE OFFICIAL PACK. SEE [HERE](https://discord.com/channels/715626418893095012/997404105704210432/1311507572422869074) (DISCORD)**
- 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 **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 tack in-game without overriding the default variants. - Supports in-game purchase via tokens at an EQ Shop - Supports use on storage items such as tack racks (compatible items) - Supports buffs on armor items, including tier-specific perks and flight --- #### Important - Update Changes This update has not made any significant changes to default tack obtaining or use. Custom tack can be purchased via the **EQ Shop Block** using craftable **coins** . --- #### Frequently Asked Questions This section has drop-downs for FAQs and expanded information about Community Pack Tack. If your question is not answered here, check out [General Information.](https://wiki.swequestrian.com/books/swequestrian-mod/page/general-information-wip)This feature is available in **1.20.1-1.5+** and will **NOT** be backported to any outdated versions.
#### Features This update can support adding custom animations with or without overriding the default variants. It was not possible to add animations via community pack, **they require a resource pack.** - Animations must be triggered via the command `/swem rrp animCommunity 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 numbered | Coats cannot be altered via Variant NBT
**New Command:** `/swem set coat |
Coats appear white via /summon | Coats 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 model | Continue to use legacy (original) until new models are supported. |
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, Bagek's, Blossom EQ --- #### Frequently Asked Questions (Dropdown)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. |
**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). |
📂 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\_name | A folder with the name of your texture pack | |
🖼️ pack.png | PNG image for your pack - displayed in game. | This must remain named `pack.png` |
🗒️ pack.mcmeta | Info on your pack's credits, description and version(s) | This is a text-type document (ie notepad) |
🖼️ coat\_name.png | PNG 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`
[](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.0Avoid **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 conditionsThis is not a complete list of version changes / fixes. It is a changelog of relevant wiki-related version information.
**MC Version** | **Release** | **Notes** |
Resource Packs enable you to modify certain assets of Minecraft or Mods, like SWEM.
#### Purpose You can use Resource Packs to: - Modify **default** horse coats - Modify entity animations - **1.20.1-1.5+** Add new animations - Modify default horse model - Modify item inventory or block textures --- #### Limitations Resource packs are an **override**, meaning the content a resource pack contains will **replace** the default asset. You cannot\* use Resource Packs to: - Add new coats\* - Add new entities or breeds (see section on model overrides) \* *There are some clever Resource Packs out there with entity variations, but this is not straightforward or simple!*Model Overrides are used at your own "risk" and support for issues should be sought via the **Pack** **Creator** not SWEM.
**How do they work?** - In simple terms, it works by adding extra blocks to the default model - If a coat artist leaves the blocks uncolored (invisible) you will see all / some of the default horse - If a coat artist colors the blocks in, you will see those additional blocks on the default horse `EXAMPLE` If a coat texture color in blocks added around the hoof, a horse would have "feathers" **Can I use more than one model?** - If you install multiple model override packs, only the **highest in load order will apply** - If you want models from different Creators, they would have to merge their packs **Can I use model overrides with a community pack or coat replacement resource pack?** - If the model does not modify (only add on to) the default model, custom coats should work fine - If not, this may 'break' default or custom coats `Example:` Horses with no mane or tail using some models - It might be rare to get a 'custom model coat' if you are mostly using ones designed for the default model **Can I use model overrides with an animation pack (ie Dressage animations)?** - **TBC** It is unlikely custom models will support all animation packs - If you load a model pack **above** an animation pack, it will override any animations they both share - If you load a model pack **below** an animation pack, it may not correctly animate the custom model **Can I use model overrides on a server?** - `SERVER` You may be able to install a model resource pack server-side - `CLIENT (PLAYER)` If you install a model override in multiplayer, only you will see it → Read the section about community packs + coat replacements above (may affect what you see in game) → **TBC** Server packs may override client side unless you can opt out of using it **RELEVANT INFORMATION (CREATORS)**Model overrides use copyrighted SW assets and must be **FREE USE ONLY** → You can accept **optional** donations → You can sell coat textures that require your add on, provided it is 100% your own work (no SW coat edits)
- You should not modify any of the core blocks involved in tack rendering - You should **add to** (not modify where possible) the model to avoid breaking default + custom coats - You will need to adjust the default animations for any additional blocks added - You should be able to (optional) add support for custom animations in animation packs → Consent may be required to include a modified animation from other Creators → **TBC** If add on models can support "new" custom animations via 1.20.1-1.5+ featuresThis is to **override one or more default coats** - to add **new** coats use a [Community Pack](https://wiki.swequestrian.com/books/swequestrian-mod/page/creators-corner-wip)!
This guide will not cover how to create a coat, for information please read our [resources](https://discord.com/channels/715626418893095012/748632231257440336/1117996750842630194) on Discord.📂 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** |
📂 Pack Name | A folder with the name of your resource pack | |
🖼️ pack.png | PNG image for your pack - displayed in game. | This must remain named `pack.png` |
🗒️ pack.mcmeta | MCMETA file with your pack's description and version(s) | This must remain named `pack.mcmeta` |
🖼️ coat\_name.png | PNG for the coat to override. | This must be the name of a valid swem coat |
Coat names in files might not be identical to in-game names or values. **Example** `swem:sweetboi` = `13_m_sweetboi` → You must use the **file** names, a list of valid names can be found above
--- #### Custom Animation Overrides / Additions This guide will not cover how to create animations, for information please read our ** \[RESOURCES\] ** on Discord.📂 Pack Name | 📂 assets | 📂 swem | 📂 animations | 🗒️ swem\_horse.json |
🖼️ pack.png | 🗒️ swem\_horse\_foal.json | |||
🗒️ pack.mcmeta | ||||
Shown: The file structure for animation packs overriding default horse +/- foal coats. |
**File Type** | **Description** | **Note** |
📂 Pack Name | A folder with the name of your resource pack | |
🖼️ pack.png | PNG image for your pack - displayed in game. | This must remain named `pack.png` |
🗒️ pack.mcmeta | MCMETA file with your pack's description and version(s) | This must remain named `pack.mcmeta` |
🗒️ swem\_horse.json | JSON file with your new / modified animations | This must remain named `swem_horse.json` |