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 numbered |
It is no longer possible to modify the coat via Variant number NBT SWEM Command: |
Coats appear white via /summon |
Summon specific coats via Default Coats: Custom Coats: |
Coats apply to a specific model | Continue 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+.
- Recommend naming + noting coat types, coat changes are possible but should be fine.
- Texture packs that override existing SWEM coats will continue to work if files are correctly named.
- Datapack (community creation) for naturally spawning horses is supported (compatible).
- Add-on mods may break, please be patient and allow the creators time to bug fix if necessary.
→ Currently Reported: Tre's Tackshop - Config settings need to be copied over to new folders to keep settings!
→ Common, Client and Recipe configs now generate inconfig/swem
→ Horse Data file now generates insaves/<save>/swem
Frequently Asked Questions (Dropdown)
FAQs
Can community packs support tack, breed models, animations?
Currently, no. It is planned to add tack and animation support at a later date - and expand on the models as part of development. Texture packs that add new models to override the default model should still work.
Can community packs add foal variants?
Currently, no. The current system only supports one foal per color tag (white, gray, black, brown etc) - supporting additional foals would require a more realistic genetics system. Of course if you want to overhaul foals anyway, you can continue to texture pack override the default coats.
Can community packs be used on servers?
Yes, provided all clients must the necessary resources (community pack). Please be mindful of creators and abide by their terms of using, including appropriate distribution of content files.
Can community packs be used server-side only (not needed by client)?
Probably not easily, or in such a way that does not violate terms of use for custom content creators.
Can server clients create a texture pack override for CUSTOM coats?
Clients can replace the PNG to override a specific coat - the replacement file must have the same name. The override will only be visible to them.
Can coats still be changed via NBT command?
Yes, the MC command is /data modify entity @e[type=swem:swem_horse,limit=1,sort=nearest] Behaviors[6].Coat set value <id:coat>
. Alternatively, use the simple command: /swem set coat <id:coat>
Can I use a different content pack for each save?
Community Packs apply to all saves for that instance or profile. You could manually switch out to packs to see different options, but that would probably be more effort than it is worth.
Can the natural spawning datapack (community creation) be used with these new coats?
Yes, this datapack was specifically tested and code/commands fixed to continue to support this.
Can custom coats appear from cantazarite conversion?
Yes, if conversion is allowed in configs.
Can you or what happens if...Add a new coat
→ You can safely add new community packs AND new coats at any time provided you quit and reload!
→ If you forget to add the json, the coat will not be registered (not an option to select coat, no cycling etc)
→ If you forget to add the png, the coat will be registered but will appear black.Alter coat information
Requires a game quit and reload!
→ You can safely modify credits, inspiration, obtaining, color tags
at any time provided you quit and reload!
→ If you change file name
or model path
this will remove the coat from any using it, and create a new coat.Remove a coat
→ You can safely remove community packs or coats at any time provided you quit and reload!
→ If you remove the json + png or just the json, the coat will not register and will appear white coat on next load.
→ If you only remove the PNG, the horse(s) using it will appear black.Join a server with packs the server does not have
→ TBC
Can I fix my horse after accidentally removing a pack or coat?
Yes - if a coat is removed, the still horse retains their information (but not texture) for that coat unless modified! You can easily add back the correct community pack and/or files with the same name and model information to see the correct texture again.
Can you alter the color tag data of default (SWEM) coats?
No, these are hard coded. You can continue to override the textures if you want to alter their appearance, but unless you do so with similar coats or colors the tags will not be logical when breeding.
Can I see the details of a coat (artist, name, tags etc) I get in game?
To be confirmed if this is officially supported (non-OP command or GUI display) but coat data can be shown using the command: /data get entity @e[type=swem:swem_horse,sort=nearest,limit=1] Behaviors[6].Coat
Using Community Packs
You can have multiple packs, but each FOLDER (no zips) must have a unique lowercase name, such as pack_1 and pack_2
To install a prepared community pack, simply paste the folder into config > swem > community-packs
To access the coat in game:
- Convert - requires
breeding tokens
config to be FALSE. - Cycle coats - requires
cycle coat
config andlapis_cyclable
json to be TRUE. - Breeding - requires
obtainable_by_breeding
json to be TRUE and color tags set. - Summon
/swem summon LEGACY swem:coat
OR/swem summon LEGACY pack_name:coat_artist
Creating & Modifying Community Packs
To create a new community pack:
- Inside
config > swem > community-packs
:
→ Create a folder with the pack name ✅kofi_coats
❌Kofi Coats
- Inside
pack_name
:
→ Create a folder calledjsons
→ Create a folder calledtextures
- Inside
jsons
:
→ Create a folder calledcoats
- Inside
textures
:
→ Create a folder calledcoats
- Inside
textures > coats
:
→ Create a folder calledlegacy
To add content to a new or existing community pack:
- Create or download the coat .png file
→ Name it usingcoat_artist_model
format ✅hidalgo_arishant_legacy
❌Hidalgo Arishant-legacy
→ Put this incommunity-packs > pack_name > textures > coats > legacy
- Create or download a .json file with the coat credits and information
→ Name it the same as the coat .png!
→ Put this incommunity-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
andobtainable_by_breeding
must betrue
orfalse
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 + |
Default JSON
{
"credits": "Artist(s)",
"inspiration": "N/A",
"models": {
"legacy": "default:coats/legacy/coatname_artist.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.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.
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 mods for their content every image you upload; nice if you do, but optional!
→ It should only be expected 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 not impossible that 2+ users might have the same idea, share the same reference, or take inspiration!
→ It should be expected that any work clearly and directly 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 may be less likely to reupload (or more likely to use) if files are accessible.
→ It is suggested to providing prepared creator pack(s) or themed 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 agreementUSE
→ This creationcan/not
be used in content (images, videos) - credits are optional but appreciated.
→ This creationcan/not
be used privately in singleplayer or a small private group.
→ This creationcan/not
be used publicly in multiplayer.
→ This creationcan/not
be used in reasonable commercial serviceswith/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 EULADISTRIBUTION
→ This creationcan/not
be reuploadedwith/without
consentand/or
creditsand/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 etcALTERATIONS
→ This creationcan/not
be alteredwith/without
consent andwith/without
credits forpublic/private
use.
✅🚫 Texture
✅🚫 Information (json: name, description, color tags etc)
✅🚫 Other conditions
Texturepack: Coat Overrides
You will still need to use a texture pack to override default SWEM coats. This has not changed with this update.
📂 TXP_name |
📂 assets | 📂 swem |
📂 textures |
📂 entity |
📂 horse |
📂 coats |
🖼️ coat_name.png |
🖼️ pack.png | 🖼️ coat_name.png | ||||||
🗒️ pack.mcmeta | 📂 foal (optional) |
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
Shown: Coat file names for all default SWEM coats in 1.20.1-1.5.0