-
Notifications
You must be signed in to change notification settings - Fork 100
Custom Skins
MCA 7.0+ uses a new, layer-based skin system that allows combinations and genetics to work. Since the actual naked skin texture, as well as faces, are too hardcoded, you can only extend clothes and hairs.
Check out this example pack: https://github.com/Luke100000/minecraft-comes-alive/tree/1.19.2/example/skins
The pack consists both of assets and data and thus needs to be installed both as a datapack (in the worlds data directory, or in the servers datapack folder) and as a resource pack.
Adding clothes is easy. Inside your resource pack, make sure the following files exist: (as of 7.3.0 this file structure became optional, but it's recommended to stick to it)
assets/[yourNamespace]/skins/clothing/[type]/[gender]/[profession]/[nr].png
-
yourNamespaceis your pack id -
typeis eithernormalorzombie, and you should have both variants. -
genderis eithermale,femaleorneutralif the clothes should be worn by both genders. -
professionis the profession without a namespace, e.g.armorerornone -
nris a number, starting by 0
Skins are 64px by 64px Steve format files, only the clothes. The second layer is supported.
And inside your datapack:
data/[yourNamespace]/skins/clothing/[gender].json
Gender is either male, female or neutral.
The .json file contains a map of your skins, make sure the values match the textures available. Each skin can have additional settings.
-
countif set, a bulk of similar clothes are loaded.%din the key will be replaced by the increasing number, starting from 0. Bulk clothes will never overwrite individual clothes. -
professionthe full identifier of the profession this clothing is limited to, or null if it's neutral (default null) -
chancethe weight this clothing will appear (default 1) -
excludeexclude this clothing from randomly choosing it as it might be a special clothing (e.g. baby clothes). -
temperaturean indicator of the target temperature, ranging between -2 (very cold) to 2 (very hot). Default is 0.
For example:
{
"mca:skins/clothing/normal/female/none/%d.png": {
"count": 10,
"profession": "minecraft:none",
"chance": 0.85
},
"mca:skins/clothing/normal/female/armorer/%d.png": {
"count": 5,
"profession": "minecraft:armorer"
},
"mca:skins/clothing/normal/female/armorer/5.png": {
"profession": "minecraft:armorer",
"temperature": 2
}
}
Hair is similar. Inside your resource pack, make sure the following files exist:
assets/[yourNamespace]/skins/hair/[gender]/[nr].png
assets/[yourNamespace]/skins/hair/[gender]/[nr]_overlay.png (optional)
Hair is also a 64px by 64px file, the second layer is also supported. However, since hair color is multiplied onto it at runtime, hair should be black and white. The brightest part should be white, the darkest part gray (since black would always result in pitch black no matter the hair color).
Optionally you can create a [nr]_overlay.png texture. This texture is drawn above the hair, without any hair color applied. Should be used for any accessories.
And inside your datapack:
data/[yourNamespace]/skins/hair/[gender].json
Settings are the same as for clothing but lack profession.
Sirben Cult Was Here