]> git.lizzy.rs Git - dragonfireclient.git/blob - doc/texture_packs.txt
40fdf2eeb4e601dea486f18a2e015c90cb447a92
[dragonfireclient.git] / doc / texture_packs.txt
1 Minetest Texture Pack Reference
2 ===============================
3
4 Texture packs allow you to replace textures provided by a mod with your own
5 textures.
6
7 Texture pack directory structure
8 --------------------------------
9
10     textures
11     |-- Texture Pack
12     |   |-- texture_pack.conf
13     |   |-- screenshot.png
14     |   |-- description.txt
15     |   |-- override.txt
16     |   |-- your_texture_1.png
17     |   |-- your_texture_2.png
18     `-- Another Texture Pack
19
20 ### Texture Pack
21 This is a directory containing the entire contents of a single texture pack.
22 It can be chosen more or less freely and will also become the name of the
23 texture pack. The name must not be “base”.
24
25 ### `texture_pack.conf`
26 A key-value config file with the following keys:
27
28 * `title` - human readable title
29 * `description` - short description, shown in the content tab
30
31 ### `description.txt`
32 **Deprecated**, you should use texture_pack.conf instead.
33
34 A file containing a short description of the texture pack to be shown in the
35 content tab.
36
37 ### `screenshot.png`
38 A preview image showing an in-game screenshot of this texture pack; it will be
39 shown in the texture packs tab. It should have an aspect ratio of 3:2 and a
40 minimum size of 300×200 pixels.
41
42 ### `your_texture_1.png`, `your_texture_2.png`, etc.
43 Any other PNG files will be interpreted as textures. They must have the same
44 names as the textures they are supposed to override. For example, to override
45 the apple texture of Minetest Game, add a PNG file named `default_apple.png`.
46
47 The custom textures do not necceessarily require the same size as their
48 originals, but this might be required for a few particular textures. When
49 unsure, just test your texture pack in-game.
50
51 Texture modifiers
52 -----------------
53
54 See lua_api.txt for texture modifiers
55
56 Special textures
57 ----------------
58
59 These texture names are hardcoded into the engine but can also be overwritten
60 by texture packs. All existing fallback textures can be found in the directory
61 `textures/base/pack`.
62
63 ### Gameplay textures
64
65 * `bubble.png`: the bubble texture when the player is drowning
66
67 * `crack_anylength.png`: node overlay texture when digging
68
69 * `crosshair.png`
70     * the crosshair texture in the center of the screen. The settings
71       `crosshair_color` and `crosshair_alpha` are used to create a cross
72       when no texture was found
73
74 * `halo.png`: used for the node highlighting mesh
75
76 * `heart.png`: used to display the health points of the player
77
78 * `minimap_mask_round.png`: round minimap mask, white gets replaced by the map
79 * `minimap_mask_square.png`: mask used for the square minimap
80 * `minimap_overlay_round.png`: overlay texture for the round minimap
81 * `minimap_overlay_square.png`: overlay texture for the square minimap
82 * `object_marker_red.png`: texture for players on the minimap
83 * `player_marker.png`: texture for the own player on the square minimap
84
85 * `player.png`: front texture of the 2D upright sprite player
86 * `player_back.png`: back texture of the 2D upright sprite player
87
88 * `progress_bar.png`: foreground texture of the loading screen's progress bar
89 * `progress_bar_bg.png`: background texture of the loading screen's progress bar
90
91 * `moon.png`: texture of the moon. Default texture is generated by Minetest
92 * `moon_tonemap.png`: tonemap to be used when `moon.png` was found
93 * `sun.png`: texture of the sun. Default texture is generated by Minetest
94 * `sun_tonemap.png`: tonemap to be used when `sun.png` was found
95 * `sunrisebg.png`: shown sky texture when the sun rises
96
97 * `smoke_puff.png`: texture used when an object died by punching
98
99 * `unknown_item.png`: shown texture when an item definition was not found
100 * `unknown_node.png`: shown texture when a node definition was not found
101 * `unknown_object.png`: shown texture when an entity definition was not found
102
103 * `wieldhand.png`: texture of the wieldhand
104
105 ### Mainmenu textures
106
107 * `menu_bg.png`: used as mainmenu background when the clouds are disabled
108 * `menu_header.png`: header texture when no texture pack is selected
109
110 * `no_screenshot.png`
111     * texture when no screenshot was found for a texture pack or mod
112
113 * `server_flags_creative.png`: icon for creative servers
114 * `server_flags_damage.png`: icon for enabled damage on servers
115 * `server_flags_favorite.png`: icon for your favorite servers
116 * `server_flags_pvp.png`: icon for enabled PvP on servers
117
118 ### Android textures
119
120 * `down_arrow.png`
121 * `left_arrow.png`
122 * `right_arrow.png`
123 * `up_arrow.png`
124
125 * `drop_btn.png`
126 * `fast_btn.png`
127 * `fly_btn.png`
128 * `jump_btn.png`
129 * `noclip_btn.png`
130
131 * `camera_btn.png`
132 * `chat_btn.png`
133 * `inventory_btn.png`
134 * `rangeview_btn.png`
135
136 * `debug_btn.png`
137 * `gear_icon.png`
138 * `rare_controls.png`
139
140 Texture Overrides
141 -----------------
142
143 You can override the textures of a node from a texture pack using
144 texture overrides. To do this, create a file in a texture pack
145 called override.txt
146
147 Each line in an override.txt file is a rule. It consists of
148
149         nodename face-selector texture
150
151 For example,
152
153         default:dirt_with_grass sides default_stone.png
154
155 You can use ^ operators as usual:
156
157         default:dirt_with_grass sides default_stone.png^[brighten
158
159 Here are face selectors you can choose from:
160
161 | face-selector | behavior                                          |
162 |---------------|---------------------------------------------------|
163 | left          | x-                                                |
164 | right         | x+                                                |
165 | front         | z-                                                |
166 | back          | z+                                                |
167 | top           | y+                                                |
168 | bottom        | y-                                                |
169 | sides         | x-, x+, z-, z+                                    |
170 | all           | All faces. You can also use '*' instead of 'all'. |
171
172 Designing leaves textures for the leaves rendering options
173 ----------------------------------------------------------
174
175 Minetest has three modes for rendering leaves nodes if the node has the
176 `allfaces_optional` drawtype.
177
178 ### Fancy
179
180 Uses the texture specified in the `tiles` nodedef field.
181 The texture should have some transparent pixels and be in the RGBA format so
182 that the transparent pixels can have color information.
183 Faces of every leaves node are rendered even if they are inside a solid volume
184 of leaves; this gives a dense appearance.
185
186 ### Opaque
187
188 Uses the texture specified in `tiles` but makes it opaque by converting each
189 transparent pixel into an opaque pixel that uses the color information of that
190 transparent pixel.
191 Due to this the `tiles` texture format must be RGBA not 'indexed alpha' to allow
192 each transparent pixel to have color information.
193
194 The colors of the transparent pixels should be set for a good appearance in
195 `opaque` mode. This can be done by painting the pixels the desired colors then
196 erasing them. Then when saving the texture, use the 'save color information from
197 transparent pixels' option (or equivalent).
198
199 ### Simple
200
201 Uses the texture specified in the `special_tiles` nodedef field if it exists, if
202 not, the `tiles` texture.
203 The `special_tiles` texture should have fewer transparent pixels than the
204 `tiles` texture and be in the 'indexed alpha' format.
205
206 This mode is between the other two in terms of appearance and rendering load.
207 The nodes are rendered using the `glasslike` drawtype, only showing the surface
208 faces for any solid volume of leaves, not the internal faces.
209 Due to this the `tiles` texture might appear lacking in density, so optionally a
210 `special_tiles` texture can be used to provide a texture with fewer transparent
211 pixels for a denser appearance.