Minetest Texture Pack Reference
===============================

Texture packs allow you to replace textures provided by a mod with your own
textures.

Texture pack directory structure
--------------------------------

    textures
    |-- Texture Pack
    |   |-- screenshot.png
    |   |-- description.txt
    |   |-- override.txt
    |   |-- your_texture_1.png
    |   |-- your_texture_2.png
    `-- Another Texture Pack

### Texture Pack
This is a directory containing the entire contents of a single texture pack.
It can be chosen more or less freely and will also become the name of the
texture pack. The name must not be “base”.

### `description.txt`
A file containing a short description of the texture pack to be shown in the
texture packs tab.

### `screenshot.png`
A preview image showing an in-game screenshot of this texture pack; it will be
shown in the texture packs tab. It should have an aspect ratio of 3:2 and a
minimum size of 300×200 pixels.

### `your_texture_1.png`, `your_texture_2.png`, etc.
Any other PNG files will be interpreted as textures. They must have the same
names as the textures they are supposed to override. For example, to override
the apple texture of Minetest Game, add a PNG file named `default_apple.png`.

The custom textures do not necceessarily require the same size as their
originals, but this might be required for a few particular textures. When
unsure, just test your texture pack in-game.

Texture modifiers
-----------------

See lua_api.txt for texture modifiers

Special textures
----------------

These texture names are hardcoded into the engine but can also be overwritten
by texture packs. All existing fallback textures can be found in the directory
`textures/base/pack`.

### Gameplay textures

* `bubble.png`: the bubble texture when the player is drowning

* `crack_anylength.png`: node overlay texture when digging

* `crosshair.png`
    * the crosshair texture in the center of the screen. The settings
      `crosshair_color` and `crosshair_alpha` are used to create a cross
      when no texture was found

* `halo.png`: used for the node highlighting mesh

* `heart.png`: used to display the health points of the player

* `minimap_mask_round.png`: round minimap mask, white gets replaced by the map
* `minimap_mask_square.png`: mask used for the square minimap
* `minimap_overlay_round.png`: overlay texture for the round minimap
* `minimap_overlay_square.png`: overlay texture for the square minimap
* `object_marker_red.png`: texture for players on the minimap
* `player_marker.png`: texture for the own player on the square minimap

* `player.png`: front texture of the 2D upright sprite player
* `player_back.png`: back texture of the 2D upright sprite player

* `moon.png`: texture of the moon. Default texture is generated by Minetest
* `moon_tonemap.png`: tonemap to be used when `moon.png` was found
* `sun.png`: texture of the sun. Default texture is generated by Minetest
* `sun_tonemap.png`: tonemap to be used when `sun.png` was found
* `sunrisebg.png`: shown sky texture when the sun rises

* `smoke_puff.png`: texture used when an object died by punching

* `unknown_item.png`: shown texture when an item definition was not found
* `unknown_node.png`: shown texture when a node definition was not found
* `unknown_object.png`: shown texture when an entity definition was not found

* `wieldhand.png`: texture of the wieldhand

### Mainmenu textures

* `menu_bg.png`: used as mainmenu background when the clouds are disabled
* `menu_header.png`: header texture when no texture pack is selected

* `no_screenshot.png`
    * texture when no screenshot was found for a texture pack or mod

* `server_flags_creative.png`: icon for creative servers
* `server_flags_damage.png`: icon for enabled damage on servers
* `server_flags_favorite.png`: icon for your favorite servers
* `server_flags_pvp.png`: icon for enabled PvP on servers

### Android textures

* `down_arrow.png`
* `left_arrow.png`
* `right_arrow.png`
* `up_arrow.png`

* `drop_btn.png`
* `fast_btn.png`
* `fly_btn.png`
* `jump_btn.png`
* `noclip_btn.png`

* `camera_btn.png`
* `chat_btn.png`
* `inventory_btn.png`
* `rangeview_btn.png`

* `debug_btn.png`
* `gear_icon.png`
* `rare_controls.png`

Texture Overrides
-----------------

You can override the textures of a node from a texture pack using
texture overrides. To do this, create a file in a texture pack
called override.txt

Each line in an override.txt file is a rule. It consists of

	nodename face-selector texture

For example,

	default:dirt_with_grass sides default_stone.png

You can use ^ operators as usual:

	default:dirt_with_grass sides default_stone.png^[brighten

Here are face selectors you can choose from:

| face-selector | behavior                                          |
|---------------|---------------------------------------------------|
| left          | x-                                                |
| right         | x+                                                |
| front         | z-                                                |
| back          | z+                                                |
| top           | y+                                                |
| bottom        | y-                                                |
| sides         | x-, x+, z-, z+                                    |
| all           | All faces. You can also use '*' instead of 'all'. |
