-
Notifications
You must be signed in to change notification settings - Fork 62
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
Adding clothes is easy. Inside your resource pack, make sure 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
-
yourNamespace
is your pack id -
type
is eithernormal
orzombie
, and you should have both variants. -
gender
is eithermale
,female
orneutral
if the clothes should be worn by both genders. -
profession
is the profession without namespace, e.g.armorer
ornone
-
nr
is 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.
-
count
if set, a bulk of similar clothes are loaded.%d
in the key will be replaced by the increasing number, starting from 0. Bulk clothes will never overwrite individual clothes. -
profession
the full identifier of the profession this clothing is limited to, or null if it's neutral (default null) -
chance
the weight this clothing will appear (default 1) -
exclude
exclude this clothing from randomly choosing it as it might be a special clothing (e.g. baby clothes). -
temperature
an 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 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 lacks profession.
Sirben Cult Was Here