Texture packs allow you to replace textures provided by a mod with your own textures.
textures
|-- Texture Pack
| |-- texture_pack.conf
| |-- screenshot.png
| |-- description.txt
| |-- override.txt
| |-- your_texture_1.png
| |-- your_texture_2.png
`-- Another 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”.
texture_pack.conf
A key-value config file with the following keys:
name
: The texture pack name. Allows Minetest to determine the texture pack name even if
the folder is wrongly named.title
- human-readable titledescription
- short description, shown in the content tabauthor
: The author's ContentDB username.textdomain
: Textdomain used to translate title and description.
Defaults to the texture pack name.
See Translating content meta.description.txt
Deprecated, you should use texture_pack.conf instead.
A file containing a short description of the texture pack to be shown in the content 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 necessarily 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.
See lua_api.md for texture modifiers
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
.
bubble.png
: the bubble texture when the player is drowning
(default size: 12×12)bubble_gone.png
: like bubble.png
, but denotes lack of breath
(transparent by default, same size as bubble.png)
crack_anylength.png
: node overlay texture when digging
crosshair.png
crosshair_color
and crosshair_alpha
are used to create a cross
when no texture is found.object_crosshair.png
crosshair_color
and crosshair_alpha
are used to create a cross
when no texture is found.halo.png
: used for the node highlighting mesh
heart.png
: used to display the health points of the player
(default size: 12×12)
heart_gone.png
: like heart.png
, but denotes lack of health points
(transparent by default, same size as heart.png)
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
no_texture_airlike.png
: fallback inventory image for airlike nodes
no_texture.png
: fallback image for unspecified textures
player.png
: front texture of the 2D upright sprite player
player_back.png
: back texture of the 2D upright sprite player
progress_bar.png
: foreground texture of the loading screen's progress bar
progress_bar_bg.png
: background texture of the loading screen's progress bar
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
Note: The default textures of player.png
, player_back.png
and wieldhand.png
are placeholders intended to be overwritten by the game.
menu_bg.png
: used as mainmenu background when the clouds are disabledmenu_header.png
: header texture when no texture pack is selected
no_screenshot.png
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
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
exit_btn.png
You can override the textures of nodes and items from a texture pack using texture overrides. To do this, create one or more files in a texture pack called override.txt
Each line in an override.txt file is a rule. It consists of
itemname target texture
For example,
default:dirt_with_grass sides default_stone.png
or
default:sword_steel inventory my_steel_sword.png
You can list multiple targets on one line as a comma-separated list:
default:tree top,bottom my_special_tree.png
You can use texture modifiers, as usual:
default:dirt_with_grass sides default_stone.png^[brighten
Finally, if a line is empty or starts with '#' it will be considered a comment and not read as a rule. You can use this to better organize your override.txt files.
Here are targets you can choose from:
target | behavior |
---|---|
left | x- face |
right | x+ face |
front | z- face |
back | z+ face |
top | y+ face |
bottom | y- face |
sides | x-, x+, z-, z+ faces |
all | All faces. You can also use '*' instead of 'all'. |
special1 | The first entry in the special_tiles list |
special2 | The second entry in the special_tiles list |
special3 | The third entry in the special_tiles list |
special4 | The fourth entry in the special_tiles list |
special5 | The fifth entry in the special_tiles list |
special6 | The sixth entry in the special_tiles list |
inventory | The inventory texture |
wield | The texture used when held by the player |
align_world=N | Overrides the "world align" behavior of tiles ¹ |
Nodes support all targets, but other items only support 'inventory' and 'wield'.
¹ : N
is an integer [0,255]. Sets align_style = "world" and scale = N on the tile,
refer to lua_api.md for details.
The special* targets only apply to specific drawtypes:
flowingliquid
: special1 sets the top texture, special2 sets the side textureallfaces_optional
: special1 is used by simple mode, see belowglasslike_framed
: When containing a liquid, special1 sets the liquid textureglasslike_framed_optional
: Same as glasslike_framed
plantlike_rooted
: special1 sets the plant's textureMinetest has three modes for rendering leaves nodes if the node has the
allfaces_optional
drawtype.
Uses the texture specified in the tiles
nodedef field.
The texture should have some transparent pixels and be in the RGBA format so
that the transparent pixels can have color information.
Faces of every leaves node are rendered even if they are inside a solid volume
of leaves; this gives a dense appearance.
Uses the texture specified in tiles
but makes it opaque by converting each
transparent pixel into an opaque pixel that uses the color information of that
transparent pixel.
Due to this the tiles
texture format must be RGBA not 'indexed alpha' to allow
each transparent pixel to have color information.
The colors of the transparent pixels should be set for a good appearance in
opaque
mode. This can be done by painting the pixels the desired colors then
erasing them. Then when saving the texture, use the 'save color information from
transparent pixels' option (or equivalent).
Uses the texture specified in the special_tiles
nodedef field if it exists, if
not, the tiles
texture.
The special_tiles
texture should have fewer transparent pixels than the
tiles
texture and be in the 'indexed alpha' format.
This mode is between the other two in terms of appearance and rendering load.
The nodes are rendered using the glasslike
drawtype, only showing the surface
faces for any solid volume of leaves, not the internal faces.
Due to this the tiles
texture might appear lacking in density, so optionally a
special_tiles
texture can be used to provide a texture with fewer transparent
pixels for a denser appearance.