Wardrobe

A wardrobe that can be used to register & set new player skins.

Player Effects / Power Ups

Description:

Provides a simple way to change skins on the default character mesh.

Forked from prestidigitator's wardrobe mod.

Note: This only provides the default skin. New skins must be registered with the wardrobe. There are many available on the Addis Open MT-Skin Database. Some skins are provided by wardrobe_outfits.

Licensing:

Usage:

Changing skins is done via a "wardrobe" node, which brings up a form with skin names when you right-click on it. Choosing a skin instantly changes your character's appearance, and this change is kept if you log out.

Registering skins:

There are two ways to register skins:

  1. adding the filenames to skins.txt located in this mod's directory or the world path (see "Skins file syntax" below)
  2. using the wardrobe.registerSkin method:

wardrobe.registerSkin(texture, displayname)

  • texture: real filename of texture (e.g. "my_skin.png")
  • displayname: text shown to player (e.g. "My Skin")

Minetest recognizes skins located in a mod's textures sub-directory (e.g. <mod_path>/textures), <minetest_install>/textures, & textures installed to the current user's home directory:

  • on Linux/Unix-like systems, this is ~/.minetest/textures
  • on Windows, this is %AppData%/Minetest/textures (only if built with -DRUN_IN_PLACE=FALSE flag)
Skins file syntax:

A comment line starts with two dashes (like in Lua), but must be the only thing on the line:

-- This is a comment and has no effect.

Except for empty lines and comments, each line names a texture (file) and a name, separated by optional whitespace and a colon (:):

texture_file_name.png: My Skin skin_other_texture_file_name.png: Other Skin

The first string (e.g. "texture_file_name.png") will be passed to the Minetest API just like any other node or item texture. Generally it is simply the whole file name of an image in a mod "texture" directory or texture pack. The second string (e.g. "My Skin") is presented to the player in-world as the name of the texture. If this name is omitted, as in:

texture_file_name.png skin_other_texture_file_name.png

Then a name is constructed by removing any ".png" suffix any optional "skin_" or "wardrobe_skin_" prefix, and replacing underscores with spaces. So the above skins would be named "texture file name" and "other texture file name", respectively.

To remove a skin that was added elsewhere (for example, to remove a skin in a particular world), prepend a minus sign (-) to the line:

-skin_other_texture_file_name.png

This would remove the "skin_other_texture_file_name.png" skin no matter where it was specified or what name it was given.

Creating a preview image:

If previews are enabled, the mod will use an image following the naming convention <skin_file_name>-preview.png for the preview. If you want to generate a preview from a skin image, I have created a Python script to do so. It requires the ImageMagick executables to be installed.

There are also templates available if you want to create your own skin.

Settings:
wardrobe.skins_per_page
  - determines how many skins are shown on each page
  - type:    int
  - min:     1
  - max:     8
  - default: 8

wardrobe.previews
  - determines if preview images are shown in form
  - type:    bool
  - default: true
Crafting:

See: README

Requirements:

Alternative mods:

  • wardrobe
  • simple_skins
  • skinsdb
  • skinmaker
  • homedecor (homedecor_wardrobe)

Reviews

Review

Do you recommend this mod?

  • No reviews, yet.

Used By