VoxeLibre/mods/PLAYER/mcl_skins
teknomunk b582afeb1f Update documentation for Minetest rename to Luanti (#4706)
This updates the VoxeLibre documentation by replacing "Minetest" with "Luanti" and updating links.

Done:
* Update "Minetest" in documentation and comments to "Luanti"
* Update links to forums, ContentDB and Luanti project web page

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4706
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-11-28 20:55:48 +01:00
..
locale add capes 2024-01-13 19:50:04 +01:00
models Add advanced skin customization 2022-09-06 12:16:46 -05:00
textures Update more documentation to use VoxeLibre 2024-05-07 11:38:00 +00:00
.gitignore Re-add gitignore file to mcl_skins 2022-09-06 19:25:58 -06:00
edit_skin.lua Fix server crash when server restarts after a player dies but they didn't respawn (#4246) 2024-05-02 03:01:43 +00:00
init.lua Add simple skins skins support 2022-09-06 12:51:43 -05:00
LICENSE.txt Add simple skins skins support 2022-09-06 12:51:43 -05:00
list.json fix cape being registered twice 2024-01-13 19:50:09 +01:00
media_credits.txt Update documentation for Minetest rename to Luanti (#4706) 2024-11-28 20:55:48 +01:00
mesh_hand.lua Skins update 2023-05-26 20:27:11 +00:00
mod.conf Fix invisibility potion when changing skin 2022-09-15 12:04:20 -05:00
README.md Change MineClone 2 to VoxeLibre 2024-05-07 11:38:00 +00:00
simple_skins.lua Skins update 2023-05-26 20:27:11 +00:00

VoxeLibre Skins

This mod allows advanced skin customization. Use the /skin command to open the skin configuration screen.

To include custom skins in VoxeLibre, please download the mcl_custom_skins mod.

License

Code under MIT license Author: MrRar

See image_credits.txt for image licensing.

API

mcl_skins.register_item(item)

Register a skin item. item is a table with item properties listed below.

Item properties

type Set the item type. Valid values are: "base", "footwear", "eye", "mouth", "bottom", "top", "hair", "headwear"

texture Set to the image file that will be used. If this property is omitted "blank.png" is used.

mask Set the color mask texture. Coloring is only applied to non transparent areas of the texture. Coloring only works for "base", "bottom, "top", and "hair".

preview_rotation A table containing properties x and y. x and y represent the x and y rotation of the item preview.

template2 If set to true the item will be default for female template.

template1 If set to true the item will be default for male template.

rank This property is used to change the application order of the skin item when applied to a player. The default ranks for each item type are:

base: 10

footwear: 20

eye: 30

mouth: 40

bottom: 50

top: 60

hair: 70

headwear: 80

Lower ranks are applied to the player first and can thus be covered by higher rank items.

mcl_skins.show_formspec(player, active_tab, page_num)

Show the skin configuration screen.

player is a player ObjectRef.

active_tab is the tab that will be displayed. This parameter is optional. Can be one of: "arm", "base", "footwear", "eye", "mouth", "bottom", "top", "hair", "headwear"

page_num The page number to display of there are multiple pages of items. This parameter is optional. Must be a number. If it is not a valid page number the closest page number will be shown.

mcl_skins.get_skin_list()

This function is used by mods that want a list of skins to register nodes that use the player skin as a texture. Returns an array of tables containing information about each skin. Each table contains the following properties:

id: A string representing the node ID. A node can be registered using this node ID.

texture: A texture string that can be used in the node defintion.

slim_arms: A boolean value. If true, this texture is used with the "female" player mesh. Otherwise the regular mesh is to be used.

mcl_skins.get_node_id_by_player(player)

player is a player ObjectRef. Returns a string node ID based on players current skin for use by mods that want to register nodes that use the player skin.

mcl_skins.save(player)

Save player skin. player is a player ObjectRef.

mcl_skins.update_player_skin(player)

Update a player based on skin data in mcl_skins.players. player is a player ObjectRef.

mcl_skins.base_color

A table of ColorSpec integers that the player can select to color the base item. These colors are separate from mcl_skins.color because some mods register two nodes per base color so the amount of base colors needs to be limited.

mcl_skins.color

A table of ColorSpec integers that the player can select to color colorable skin items.

mcl_skins.player_skins

A table mapped by player ObjectRef containing tables holding the player's selected skin items and colors. Only stores skin information for logged in users.

mcl_skins.compile_skin(skin)

skin is a table with skin item properties. Returns an image string.

mcl_skins.register_simple_skin(skin)

skin is a table with the following properties:

texture The texture of the skin.

slim_arms A boolean value. If set to true, the slim armed player mesh will be used with this skin.