summaryrefslogtreecommitdiff
path: root/games/minimal/mods/testnodes
diff options
context:
space:
mode:
Diffstat (limited to 'games/minimal/mods/testnodes')
-rw-r--r--games/minimal/mods/testnodes/README.md11
-rw-r--r--games/minimal/mods/testnodes/drawtypes.lua517
-rw-r--r--games/minimal/mods/testnodes/init.lua10
-rw-r--r--games/minimal/mods/testnodes/light.lua48
-rw-r--r--games/minimal/mods/testnodes/liquids.lua91
-rw-r--r--games/minimal/mods/testnodes/meshes.lua145
-rw-r--r--games/minimal/mods/testnodes/mod.conf2
-rw-r--r--games/minimal/mods/testnodes/models/testnodes_ocorner.obj23
-rw-r--r--games/minimal/mods/testnodes/models/testnodes_pyramid.obj24
-rw-r--r--games/minimal/mods/testnodes/nodeboxes.lua80
-rw-r--r--games/minimal/mods/testnodes/param2.lua168
-rw-r--r--games/minimal/mods/testnodes/properties.lua270
-rw-r--r--games/minimal/mods/testnodes/settingtypes.txt4
-rw-r--r--games/minimal/mods/testnodes/textures.lua67
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_1.pngbin0 -> 107 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_1g.pngbin0 -> 104 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_1w.pngbin0 -> 121 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_1wg.pngbin0 -> 122 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_2.pngbin0 -> 112 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_2g.pngbin0 -> 110 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_2w.pngbin0 -> 134 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_2wg.pngbin0 -> 135 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_3.pngbin0 -> 105 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_3g.pngbin0 -> 103 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_3w.pngbin0 -> 112 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_3wg.pngbin0 -> 112 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_4.pngbin0 -> 97 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_4g.pngbin0 -> 95 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_4w.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_4wg.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_5.pngbin0 -> 98 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_5g.pngbin0 -> 98 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_5w.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_5wg.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_6.pngbin0 -> 100 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_6g.pngbin0 -> 98 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_6w.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_6wg.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_airlike.pngbin0 -> 92 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_allfaces.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_allfaces_optional.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_alpha.pngbin0 -> 96 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_alpha128.pngbin0 -> 136 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_alpha191.pngbin0 -> 132 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_alpha64.pngbin0 -> 134 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_anim.pngbin0 -> 274 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attached_bottom.pngbin0 -> 86 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attached_side.pngbin0 -> 98 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attached_top.pngbin0 -> 87 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attachedw_bottom.pngbin0 -> 130 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attachedw_side.pngbin0 -> 122 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_attachedw_top.pngbin0 -> 109 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_bouncy.pngbin0 -> 106 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_buildable_to.pngbin0 -> 89 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_climbable_nojump_side.pngbin0 -> 164 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_climbable_side.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_damage.pngbin0 -> 108 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_damage_neg.pngbin0 -> 121 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_drowning.pngbin0 -> 127 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_fall_damage_minus.pngbin0 -> 116 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_fall_damage_plus.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_fencelike.pngbin0 -> 90 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_firelike.pngbin0 -> 149 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslike.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslike_detail.pngbin0 -> 167 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslike_framed.pngbin0 -> 88 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslike_framed2.pngbin0 -> 118 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslike_framed_optional.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_glasslikeliquid.pngbin0 -> 122 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light.pngbin0 -> 117 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_1.pngbin0 -> 158 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_10.pngbin0 -> 147 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_11.pngbin0 -> 149 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_12.pngbin0 -> 138 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_13.pngbin0 -> 137 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_14.pngbin0 -> 132 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_2.pngbin0 -> 152 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_3.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_4.pngbin0 -> 157 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_5.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_6.pngbin0 -> 154 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_7.pngbin0 -> 146 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_8.pngbin0 -> 139 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_light_9.pngbin0 -> 149 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_line_crossing.pngbin0 -> 130 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_line_curved.pngbin0 -> 123 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_line_straight.pngbin0 -> 115 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_line_t_junction.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquid.pngbin0 -> 95 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing.pngbin0 -> 132 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r0.pngbin0 -> 162 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r1.pngbin0 -> 160 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r2.pngbin0 -> 154 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r3.pngbin0 -> 155 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r4.pngbin0 -> 154 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r5.pngbin0 -> 155 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r6.pngbin0 -> 155 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r7.pngbin0 -> 157 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r8.pngbin0 -> 152 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r0.pngbin0 -> 149 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r1.pngbin0 -> 152 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r2.pngbin0 -> 152 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r3.pngbin0 -> 152 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r4.pngbin0 -> 155 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r5.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r6.pngbin0 -> 148 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r7.pngbin0 -> 154 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_liquidsource_r8.pngbin0 -> 148 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_mesh_stripes.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_mesh_stripes2.pngbin0 -> 144 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_mesh_stripes3.pngbin0 -> 85 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_mesh_stripes4.pngbin0 -> 93 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_node.pngbin0 -> 89 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_node_falling.pngbin0 -> 112 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_nodebox.pngbin0 -> 112 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_nojump_side.pngbin0 -> 94 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_nojump_top.pngbin0 -> 121 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal.pngbin0 -> 92 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal1.pngbin0 -> 114 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal2.pngbin0 -> 122 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal3.pngbin0 -> 114 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal4.pngbin0 -> 106 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal5.pngbin0 -> 109 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_normal6.pngbin0 -> 111 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_palette_facedir.pngbin0 -> 87 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_palette_full.pngbin0 -> 568 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_palette_wallmounted.pngbin0 -> 136 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike.pngbin0 -> 183 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_degrotate.pngbin0 -> 176 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_leveled.pngbin0 -> 163 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_meshoptions.pngbin0 -> 164 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted.pngbin0 -> 182 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base.pngbin0 -> 101 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.pngbin0 -> 145 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_leveled.pngbin0 -> 127 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.pngbin0 -> 128 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_waving.pngbin0 -> 126 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.pngbin0 -> 176 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.pngbin0 -> 162 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_meshoptions.pngbin0 -> 162 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_waving.pngbin0 -> 125 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_plantlike_waving.pngbin0 -> 127 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail2_crossing.pngbin0 -> 246 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail2_curved.pngbin0 -> 253 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail2_straight.pngbin0 -> 246 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail2_t_junction.pngbin0 -> 254 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail_crossing.pngbin0 -> 151 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail_curved.pngbin0 -> 164 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail_straight.pngbin0 -> 133 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_rail_t_junction.pngbin0 -> 202 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_signlike.pngbin0 -> 150 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_slippery.pngbin0 -> 111 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_street_crossing.pngbin0 -> 137 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_street_curved.pngbin0 -> 115 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_street_straight.pngbin0 -> 101 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_street_t_junction.pngbin0 -> 126 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_sunlight_filter.pngbin0 -> 113 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_torchlike_ceiling.pngbin0 -> 157 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_torchlike_floor.pngbin0 -> 141 bytes
-rw-r--r--games/minimal/mods/testnodes/textures/testnodes_torchlike_wall.pngbin0 -> 158 bytes
161 files changed, 1460 insertions, 0 deletions
diff --git a/games/minimal/mods/testnodes/README.md b/games/minimal/mods/testnodes/README.md
new file mode 100644
index 000000000..13ed972c0
--- /dev/null
+++ b/games/minimal/mods/testnodes/README.md
@@ -0,0 +1,11 @@
+# Test Nodes
+
+This mod contains a bunch of basic nodes to test development stuff.
+Most nodes are kept as minimal as possible in order to show off one particular feature of the engine, to make testing stuff easier.
+
+This mod includes tests for:
+
+* drawtypes
+* paramtype2's
+* node properties such as damage, drowning, falling, etc.
+* other random stuff
diff --git a/games/minimal/mods/testnodes/drawtypes.lua b/games/minimal/mods/testnodes/drawtypes.lua
new file mode 100644
index 000000000..35fda960f
--- /dev/null
+++ b/games/minimal/mods/testnodes/drawtypes.lua
@@ -0,0 +1,517 @@
+--[[ Drawtype Test: This file tests out and provides examples for
+all drawtypes in Minetest. It is attempted to keep the node
+definitions as simple and minimal as possible to keep
+side-effects to a minimum.
+
+How to read the node definitions:
+There are two parts which are separated by 2 newlines:
+The first part contains the things that are more or less essential
+for defining the drawtype (except description, which is
+at the top for readability).
+The second part (after the 2 newlines) contains stuff that are
+unrelated to the drawtype, stuff that is mostly there to make
+testing this node easier and more convenient.
+]]
+
+local S = minetest.get_translator("testnodes")
+
+-- If set to true, will show an inventory image for nodes that have no inventory image as of Minetest 5.1.0.
+-- This is due to <https://github.com/minetest/minetest/issues/9209>.
+-- This is only added to make the items more visible to avoid confusion, but you will no longer see
+-- the default inventory images for these items. When you want to test the default inventory image of drawtypes,
+-- this should be turned off.
+-- TODO: Remove support for fallback inventory image as soon #9209 is fixed.
+local SHOW_FALLBACK_IMAGE = minetest.settings:get_bool("testnodes_show_fallback_image", false)
+
+local fallback_image = function(img)
+ if SHOW_FALLBACK_IMAGE then
+ return img
+ else
+ return nil
+ end
+end
+
+-- A regular cube
+minetest.register_node("testnodes:normal", {
+ description = S("Normal Drawtype Test Node"),
+ drawtype = "normal",
+ tiles = { "testnodes_normal.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+-- Standard glasslike node
+minetest.register_node("testnodes:glasslike", {
+ description = S("Glasslike Drawtype Test Node"),
+ drawtype = "glasslike",
+ paramtype = "light",
+ tiles = { "testnodes_glasslike.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+-- Glasslike framed with the two textures (normal and "detail")
+minetest.register_node("testnodes:glasslike_framed", {
+ description = S("Glasslike Framed Drawtype Test Node"),
+ drawtype = "glasslike_framed",
+ paramtype = "light",
+ tiles = {
+ "testnodes_glasslike_framed.png",
+ "testnodes_glasslike_detail.png",
+ },
+
+
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+-- Like the one above, but without the "detail" texture (texture 2).
+-- This node was added to see how the engine behaves when the "detail" texture
+-- is missing.
+minetest.register_node("testnodes:glasslike_framed_no_detail", {
+ description = S("Glasslike Framed without Detail Drawtype Test Node"),
+ drawtype = "glasslike_framed",
+ paramtype = "light",
+ tiles = { "testnodes_glasslike_framed2.png" },
+
+
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+
+minetest.register_node("testnodes:glasslike_framed_optional", {
+ description = S("Glasslike Framed Optional Drawtype Test Node"),
+ drawtype = "glasslike_framed_optional",
+ paramtype = "light",
+ tiles = {
+ "testnodes_glasslike_framed_optional.png",
+ "testnodes_glasslike_detail.png",
+ },
+
+
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+
+
+minetest.register_node("testnodes:allfaces", {
+ description = S("Allfaces Drawtype Test Node"),
+ drawtype = "allfaces",
+ paramtype = "light",
+ tiles = { "testnodes_allfaces.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:allfaces_optional", {
+ description = S("Allfaces Optional Drawtype Test Node"),
+ drawtype = "allfaces_optional",
+ paramtype = "light",
+ tiles = { "testnodes_allfaces_optional.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:allfaces_optional_waving", {
+ description = S("Waving Allfaces Optional Drawtype Test Node"),
+ drawtype = "allfaces_optional",
+ paramtype = "light",
+ tiles = { "testnodes_allfaces_optional.png^[brighten" },
+ waving = 2,
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:firelike", {
+ description = S("Firelike Drawtype Test Node"),
+ drawtype = "firelike",
+ paramtype = "light",
+ tiles = { "testnodes_firelike.png" },
+
+
+ walkable = false,
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:fencelike", {
+ description = S("Fencelike Drawtype Test Node"),
+ drawtype = "fencelike",
+ paramtype = "light",
+ tiles = { "testnodes_fencelike.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:torchlike", {
+ description = S("Wallmounted Torchlike Drawtype Test Node"),
+ drawtype = "torchlike",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ tiles = {
+ "testnodes_torchlike_floor.png",
+ "testnodes_torchlike_ceiling.png",
+ "testnodes_torchlike_wall.png",
+ },
+
+
+ walkable = false,
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+ inventory_image = fallback_image("testnodes_torchlike_floor.png"),
+})
+
+minetest.register_node("testnodes:signlike", {
+ description = S("Wallmounted Signlike Drawtype Test Node"),
+ drawtype = "signlike",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ tiles = { "testnodes_signlike.png" },
+
+
+ walkable = false,
+ groups = { dig_immediate = 3 },
+ sunlight_propagates = true,
+ inventory_image = fallback_image("testnodes_signlike.png"),
+})
+
+minetest.register_node("testnodes:plantlike", {
+ description = S("Plantlike Drawtype Test Node"),
+ drawtype = "plantlike",
+ paramtype = "light",
+ tiles = { "testnodes_plantlike.png" },
+
+
+ walkable = false,
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:plantlike_waving", {
+ description = S("Waving Plantlike Drawtype Test Node"),
+ drawtype = "plantlike",
+ paramtype = "light",
+ tiles = { "testnodes_plantlike_waving.png" },
+ waving = 1,
+
+
+ walkable = false,
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+
+
+-- param2 will rotate
+minetest.register_node("testnodes:plantlike_degrotate", {
+ description = S("Degrotate Plantlike Drawtype Test Node"),
+ drawtype = "plantlike",
+ paramtype = "light",
+ paramtype2 = "degrotate",
+ tiles = { "testnodes_plantlike_degrotate.png" },
+
+
+ walkable = false,
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+-- param2 will change height
+minetest.register_node("testnodes:plantlike_leveled", {
+ description = S("Leveled Plantlike Drawtype Test Node"),
+ drawtype = "plantlike",
+ paramtype = "light",
+ paramtype2 = "leveled",
+ tiles = {
+ { name = "testnodes_plantlike_leveled.png", tileable_vertical = true },
+ },
+
+
+ -- We set a default param2 here only for convenience, to make the "plant" visible after placement
+ place_param2 = 8,
+ walkable = false,
+ sunlight_propagates = true,
+ groups = { dig_immediate = 3 },
+})
+
+-- param2 changes shape
+minetest.register_node("testnodes:plantlike_meshoptions", {
+ description = S("Meshoptions Plantlike Drawtype Test Node"),
+ drawtype = "plantlike",
+ paramtype = "light",
+ paramtype2 = "meshoptions",
+ tiles = { "testnodes_plantlike_meshoptions.png" },
+
+
+ walkable = false,
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:plantlike_rooted", {
+ description = S("Rooted Plantlike Drawtype Test Node"),
+ drawtype = "plantlike_rooted",
+ paramtype = "light",
+ tiles = { "testnodes_plantlike_rooted_base.png" },
+ special_tiles = { "testnodes_plantlike_rooted.png" },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:plantlike_rooted_waving", {
+ description = S("Waving Rooted Plantlike Drawtype Test Node"),
+ drawtype = "plantlike_rooted",
+ paramtype = "light",
+ tiles = {
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base_side_waving.png",
+ },
+ special_tiles = { "testnodes_plantlike_rooted_waving.png" },
+ waving = 1,
+
+ groups = { dig_immediate = 3 },
+})
+
+-- param2 changes height
+minetest.register_node("testnodes:plantlike_rooted_leveled", {
+ description = S("Leveled Rooted Plantlike Drawtype Test Node"),
+ drawtype = "plantlike_rooted",
+ paramtype = "light",
+ paramtype2 = "leveled",
+ tiles = {
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base_side_leveled.png",
+ },
+ special_tiles = {
+ { name = "testnodes_plantlike_rooted_leveled.png", tileable_vertical = true },
+ },
+
+
+ -- We set a default param2 here only for convenience, to make the "plant" visible after placement
+ place_param2 = 8,
+ groups = { dig_immediate = 3 },
+})
+
+-- param2 changes shape
+minetest.register_node("testnodes:plantlike_rooted_meshoptions", {
+ description = S("Meshoptions Rooted Plantlike Drawtype Test Node"),
+ drawtype = "plantlike_rooted",
+ paramtype = "light",
+ paramtype2 = "meshoptions",
+ tiles = {
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base_side_meshoptions.png",
+ },
+ special_tiles = {
+ "testnodes_plantlike_rooted_meshoptions.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+-- param2 changes rotation
+minetest.register_node("testnodes:plantlike_rooted_degrotate", {
+ description = S("Degrotate Rooted Plantlike Drawtype Test Node"),
+ drawtype = "plantlike_rooted",
+ paramtype = "light",
+ paramtype2 = "degrotate",
+ tiles = {
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base.png",
+ "testnodes_plantlike_rooted_base_side_degrotate.png",
+ },
+ special_tiles = {
+ "testnodes_plantlike_rooted_degrotate.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+-- Demonstrative liquid nodes, source and flowing form. This is only the
+-- drawtype, no physical liquid properties are used
+minetest.register_node("testnodes:liquid", {
+ description = S("Source Liquid Drawtype Test Node"),
+ drawtype = "liquid",
+ paramtype = "light",
+ tiles = {
+ "testnodes_liquidsource.png",
+ },
+ special_tiles = {
+ {name="testnodes_liquidsource.png", backface_culling=false},
+ {name="testnodes_liquidsource.png", backface_culling=true},
+ },
+ use_texture_alpha = true,
+
+
+ walkable = false,
+ liquid_alternative_flowing = "testnodes:liquid_flowing",
+ liquid_alternative_source = "testnodes:liquid",
+ groups = { dig_immediate = 3 },
+})
+minetest.register_node("testnodes:liquid_flowing", {
+ description = S("Flowing Liquid Drawtype Test Node"),
+ drawtype = "flowingliquid",
+ paramtype = "light",
+ paramtype2 = "flowingliquid",
+ tiles = {
+ "testnodes_liquidflowing.png",
+ },
+ special_tiles = {
+ {name="testnodes_liquidflowing.png", backface_culling=false},
+ {name="testnodes_liquidflowing.png", backface_culling=false},
+ },
+ use_texture_alpha = true,
+
+
+ walkable = false,
+ liquid_alternative_flowing = "testnodes:liquid_flowing",
+ liquid_alternative_source = "testnodes:liquid",
+ groups = { dig_immediate = 3 },
+})
+minetest.register_node("testnodes:liquid_waving", {
+ description = S("Waving Source Liquid Drawtype Test Node"),
+ drawtype = "liquid",
+ paramtype = "light",
+ tiles = {
+ "testnodes_liquidsource.png^[brighten",
+ },
+ special_tiles = {
+ {name="testnodes_liquidsource.png^[brighten", backface_culling=false},
+ {name="testnodes_liquidsource.png^[brighten", backface_culling=true},
+ },
+ use_texture_alpha = true,
+ waving = 3,
+
+
+ walkable = false,
+ liquid_alternative_flowing = "testnodes:liquid_flowing",
+ liquid_alternative_source = "testnodes:liquid",
+ groups = { dig_immediate = 3 },
+})
+minetest.register_node("testnodes:liquid_flowing_waving", {
+ description = S("Waving Flowing Liquid Drawtype Test Node"),
+ drawtype = "flowingliquid",
+ paramtype = "light",
+ paramtype2 = "flowingliquid",
+ tiles = {
+ "testnodes_liquidflowing.png^[brighten",
+ },
+ special_tiles = {
+ {name="testnodes_liquidflowing.png^[brighten", backface_culling=false},
+ {name="testnodes_liquidflowing.png^[brighten", backface_culling=false},
+ },
+ use_texture_alpha = true,
+ waving = 3,
+
+
+ walkable = false,
+ liquid_alternative_flowing = "testnodes:liquid_flowing",
+ liquid_alternative_source = "testnodes:liquid",
+ groups = { dig_immediate = 3 },
+})
+
+
+
+-- Invisible node
+minetest.register_node("testnodes:airlike", {
+ description = S("Airlike Drawtype Test Node"),
+ drawtype = "airlike",
+ paramtype = "light",
+
+
+ walkable = false,
+ groups = { dig_immediate = 3 },
+ sunlight_propagates = true,
+ inventory_image = fallback_image("testnodes_airlike.png"),
+})
+
+-- param2 changes liquid height
+minetest.register_node("testnodes:glassliquid", {
+ description = S("Glasslike Liquid Level Drawtype Test Node"),
+ drawtype = "glasslike_framed",
+ paramtype = "light",
+ paramtype2 = "glasslikeliquidlevel",
+ tiles = {
+ "testnodes_glasslikeliquid.png",
+ },
+ special_tiles = {
+ "testnodes_liquid.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+-- Adding many raillike examples, primarily to demonstrate the behavior of
+-- "raillike groups". Nodes of the same type (rail, groupless, line, street)
+-- should connect to nodes of the same "rail type" (=same shape, different
+-- color) only.
+local rails = {
+ { "rail", {"testnodes_rail_straight.png", "testnodes_rail_curved.png", "testnodes_rail_t_junction.png", "testnodes_rail_crossing.png"} },
+ { "line", {"testnodes_line_straight.png", "testnodes_line_curved.png", "testnodes_line_t_junction.png", "testnodes_line_crossing.png"}, },
+ { "street", {"testnodes_street_straight.png", "testnodes_street_curved.png", "testnodes_street_t_junction.png", "testnodes_street_crossing.png"}, },
+ -- the "groupless" nodes are nodes in which the "connect_to_raillike" group is not set
+ { "groupless", {"testnodes_rail2_straight.png", "testnodes_rail2_curved.png", "testnodes_rail2_t_junction.png", "testnodes_rail2_crossing.png"} },
+}
+local colors = { "", "cyan", "red" }
+
+for r=1, #rails do
+ local id = rails[r][1]
+ local tiles = rails[r][2]
+ local raillike_group
+ if id ~= "groupless" then
+ raillike_group = minetest.raillike_group(id)
+ end
+ for c=1, #colors do
+ local color
+ if colors[c] ~= "" then
+ color = colors[c]
+ end
+ minetest.register_node("testnodes:raillike_"..id..c, {
+ description = S("Raillike Drawtype Test Node: @1 @2", id, c),
+ drawtype = "raillike",
+ paramtype = "light",
+ tiles = tiles,
+ groups = { connect_to_raillike = raillike_group, dig_immediate = 3 },
+
+
+ color = color,
+ selection_box = {
+ type = "fixed",
+ fixed = {{-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}},
+ },
+ sunlight_propagates = true,
+ walkable = false,
+ })
+ end
+end
+
+
+
+-- Add visual_scale variants of previous nodes for half and double size
+local scale = function(subname, desc_double, desc_half)
+ local original = "testnodes:"..subname
+ local def = table.copy(minetest.registered_items[original])
+ def.visual_scale = 2.0
+ def.description = desc_double
+ minetest.register_node("testnodes:"..subname.."_double", def)
+ def = table.copy(minetest.registered_items[original])
+ def.visual_scale = 0.5
+ def.description = desc_half
+ minetest.register_node("testnodes:"..subname.."_half", def)
+end
+
+scale("plantlike",
+ S("Double-sized Plantlike Drawtype Test Node"),
+ S("Half-sized Plantlike Drawtype Test Node"))
+scale("torchlike",
+ S("Double-sized Wallmounted Torchlike Drawtype Test Node"),
+ S("Half-sized Wallmounted Torchlike Drawtype Test Node"))
+scale("signlike",
+ S("Double-sized Wallmounted Signlike Drawtype Test Node"),
+ S("Half-sized Wallmounted Signlike Drawtype Test Node"))
+scale("firelike",
+ S("Double-sized Firelike Drawtype Test Node"),
+ S("Half-sized Firelike Drawtype Test Node"))
diff --git a/games/minimal/mods/testnodes/init.lua b/games/minimal/mods/testnodes/init.lua
new file mode 100644
index 000000000..92e2c5630
--- /dev/null
+++ b/games/minimal/mods/testnodes/init.lua
@@ -0,0 +1,10 @@
+local path = minetest.get_modpath(minetest.get_current_modname())
+
+dofile(path.."/drawtypes.lua")
+dofile(path.."/meshes.lua")
+dofile(path.."/nodeboxes.lua")
+dofile(path.."/param2.lua")
+dofile(path.."/properties.lua")
+dofile(path.."/liquids.lua")
+dofile(path.."/light.lua")
+dofile(path.."/textures.lua")
diff --git a/games/minimal/mods/testnodes/light.lua b/games/minimal/mods/testnodes/light.lua
new file mode 100644
index 000000000..94409e83f
--- /dev/null
+++ b/games/minimal/mods/testnodes/light.lua
@@ -0,0 +1,48 @@
+-- Test Nodes: Light test
+
+local S = minetest.get_translator("testnodes")
+
+-- All possible light levels
+for i=1, minetest.LIGHT_MAX do
+ minetest.register_node("testnodes:light"..i, {
+ description = S("Light Source (@1)", i),
+ paramtype = "light",
+ light_source = i,
+
+
+ tiles ={"testnodes_light_"..i..".png"},
+ drawtype = "glasslike",
+ walkable = false,
+ sunlight_propagates = true,
+ is_ground_content = false,
+ groups = {dig_immediate=3},
+ })
+end
+
+-- Lets light through, but not sunlight, leading to a
+-- reduction in light level when light passes through
+minetest.register_node("testnodes:sunlight_filter", {
+ description = S("Sunlight Filter"),
+ paramtype = "light",
+
+
+ drawtype = "glasslike",
+ tiles = {
+ "testnodes_sunlight_filter.png",
+ },
+ groups = { dig_immediate = 3 },
+})
+
+-- Lets light and sunlight through without obstruction
+minetest.register_node("testnodes:sunlight_propagator", {
+ description = S("Sunlight Propagator"),
+ paramtype = "light",
+ sunlight_propagates = true,
+
+
+ drawtype = "glasslike",
+ tiles = {
+ "testnodes_sunlight_filter.png^[brighten",
+ },
+ groups = { dig_immediate = 3 },
+})
diff --git a/games/minimal/mods/testnodes/liquids.lua b/games/minimal/mods/testnodes/liquids.lua
new file mode 100644
index 000000000..e316782ad
--- /dev/null
+++ b/games/minimal/mods/testnodes/liquids.lua
@@ -0,0 +1,91 @@
+-- Add liquids for ranges and viscosity levels 0-8
+
+for d=0, 8 do
+ minetest.register_node("testnodes:rliquid_"..d, {
+ description = "Test Liquid Source, Range "..d,
+ drawtype = "liquid",
+ tiles = {"testnodes_liquidsource_r"..d..".png"},
+ special_tiles = {
+ {name = "testnodes_liquidsource_r"..d..".png", backface_culling = false},
+ {name = "testnodes_liquidsource_r"..d..".png", backface_culling = true},
+ },
+ alpha = 192,
+ paramtype = "light",
+ walkable = false,
+ pointable = false,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ liquidtype = "source",
+ liquid_alternative_flowing = "testnodes:rliquid_flowing_"..d,
+ liquid_alternative_source = "testnodes:rliquid_"..d,
+ liquid_range = d,
+ })
+
+ minetest.register_node("testnodes:rliquid_flowing_"..d, {
+ description = "Flowing Test Liquid, Range "..d,
+ drawtype = "flowingliquid",
+ tiles = {"testnodes_liquidflowing_r"..d..".png"},
+ special_tiles = {
+ {name = "testnodes_liquidflowing_r"..d..".png", backface_culling = false},
+ {name = "testnodes_liquidflowing_r"..d..".png", backface_culling = false},
+ },
+ alpha = 192,
+ paramtype = "light",
+ paramtype2 = "flowingliquid",
+ walkable = false,
+ pointable = false,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ liquidtype = "flowing",
+ liquid_alternative_flowing = "testnodes:rliquid_flowing_"..d,
+ liquid_alternative_source = "testnodes:rliquid_"..d,
+ liquid_range = d,
+ })
+
+ local mod = "^[colorize:#000000:127"
+ minetest.register_node("testnodes:vliquid_"..d, {
+ description = "Test Liquid Source, Viscosity "..d,
+ drawtype = "liquid",
+ tiles = {"testnodes_liquidsource_r"..d..".png"..mod},
+ special_tiles = {
+ {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = false},
+ {name = "testnodes_liquidsource_r"..d..".png"..mod, backface_culling = true},
+ },
+ alpha = 192,
+ paramtype = "light",
+ walkable = false,
+ pointable = false,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ liquidtype = "source",
+ liquid_alternative_flowing = "testnodes:vliquid_flowing_"..d,
+ liquid_alternative_source = "testnodes:vliquid_"..d,
+ liquid_viscosity = d,
+ })
+
+ minetest.register_node("testnodes:vliquid_flowing_"..d, {
+ description = "Flowing Test Liquid, Viscosity "..d,
+ drawtype = "flowingliquid",
+ tiles = {"testnodes_liquidflowing_r"..d..".png"..mod},
+ special_tiles = {
+ {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false},
+ {name = "testnodes_liquidflowing_r"..d..".png"..mod, backface_culling = false},
+ },
+ alpha = 192,
+ paramtype = "light",
+ paramtype2 = "flowingliquid",
+ walkable = false,
+ pointable = false,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ liquidtype = "flowing",
+ liquid_alternative_flowing = "testnodes:vliquid_flowing_"..d,
+ liquid_alternative_source = "testnodes:vliquid_"..d,
+ liquid_viscosity = d,
+ })
+
+end
diff --git a/games/minimal/mods/testnodes/meshes.lua b/games/minimal/mods/testnodes/meshes.lua
new file mode 100644
index 000000000..900abc180
--- /dev/null
+++ b/games/minimal/mods/testnodes/meshes.lua
@@ -0,0 +1,145 @@
+-- Meshes
+
+local S = minetest.get_translator("testnodes")
+
+local ocorner_cbox = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
+ {-0.5, -0.25, -0.25, 0.25, 0, 0.5},
+ {-0.5, 0, 0, 0, 0.25, 0.5},
+ {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5}
+ }
+}
+
+local tall_pyr_cbox = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
+ { -0.375, -0.25, -0.375, 0.375, 0, 0.375},
+ { -0.25, 0, -0.25, 0.25, 0.25, 0.25},
+ { -0.125, 0.25, -0.125, 0.125, 0.5, 0.125}
+ }
+}
+
+-- Normal mesh
+minetest.register_node("testnodes:mesh", {
+ description = S("Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes2.png"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+-- Facedir mesh: outer corner slope
+minetest.register_node("testnodes:mesh_facedir", {
+ description = S("Facedir Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_ocorner.obj",
+ tiles = {"testnodes_mesh_stripes.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ collision_box = ocorner_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:mesh_colorfacedir", {
+ description = S("Color Facedir Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_ocorner.obj",
+ tiles = {"testnodes_mesh_stripes3.png"},
+ paramtype = "light",
+ paramtype2 = "colorfacedir",
+ palette = "testnodes_palette_facedir.png",
+ collision_box = ocorner_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+-- Wallmounted mesh: pyramid
+minetest.register_node("testnodes:mesh_wallmounted", {
+ description = S("Wallmounted Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes2.png"},
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ collision_box = tall_pyr_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:mesh_colorwallmounted", {
+ description = S("Color Wallmounted Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes3.png"},
+ paramtype = "light",
+ paramtype2 = "colorwallmounted",
+ palette = "testnodes_palette_wallmounted.png",
+ collision_box = tall_pyr_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+
+minetest.register_node("testnodes:mesh_double", {
+ description = S("Double-sized Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes2.png"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+ visual_scale = 2,
+
+ groups = {dig_immediate=3},
+})
+minetest.register_node("testnodes:mesh_half", {
+ description = S("Half-sized Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes2.png"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+ visual_scale = 0.5,
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:mesh_waving1", {
+ description = S("Plantlike-waving Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes4.png^[multiply:#B0FFB0"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+ waving = 1,
+
+ groups = {dig_immediate=3},
+})
+minetest.register_node("testnodes:mesh_waving2", {
+ description = S("Leaflike-waving Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes4.png^[multiply:#FFFFB0"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+ waving = 2,
+
+ groups = {dig_immediate=3},
+})
+minetest.register_node("testnodes:mesh_waving3", {
+ description = S("Liquidlike-waving Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_pyramid.obj",
+ tiles = {"testnodes_mesh_stripes4.png^[multiply:#B0B0FF"},
+ paramtype = "light",
+ collision_box = tall_pyr_cbox,
+ waving = 3,
+
+ groups = {dig_immediate=3},
+})
diff --git a/games/minimal/mods/testnodes/mod.conf b/games/minimal/mods/testnodes/mod.conf
new file mode 100644
index 000000000..4824c6ed0
--- /dev/null
+++ b/games/minimal/mods/testnodes/mod.conf
@@ -0,0 +1,2 @@
+name = testnodes
+description = Contains a bunch of basic example nodes for demonstrative purposes, development and testing
diff --git a/games/minimal/mods/testnodes/models/testnodes_ocorner.obj b/games/minimal/mods/testnodes/models/testnodes_ocorner.obj
new file mode 100644
index 000000000..231d7056b
--- /dev/null
+++ b/games/minimal/mods/testnodes/models/testnodes_ocorner.obj
@@ -0,0 +1,23 @@
+# Blender v2.73 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend'
+# www.blender.org
+o Cube_Cube.002
+v 0.500000 0.500000 0.500000
+v -0.500000 -0.500000 0.500000
+v 0.500000 -0.500000 0.500000
+v -0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 -0.500000
+vt 1.000000 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.000000
+vt 1.000000 0.000000
+vn 0.000000 -1.000000 -0.000000
+vn 1.000000 0.000000 0.000000
+vn 0.000000 -0.000000 1.000000
+vn -0.707100 0.707100 0.000000
+vn 0.000000 0.707100 -0.707100
+s off
+f 3/1/1 2/2/1 4/3/1 5/4/1
+f 1/2/2 3/3/2 5/4/2
+f 1/1/3 2/3/3 3/4/3
+f 1/1/4 4/3/4 2/4/4
+f 1/2/5 5/3/5 4/4/5
diff --git a/games/minimal/mods/testnodes/models/testnodes_pyramid.obj b/games/minimal/mods/testnodes/models/testnodes_pyramid.obj
new file mode 100644
index 000000000..b305af2f8
--- /dev/null
+++ b/games/minimal/mods/testnodes/models/testnodes_pyramid.obj
@@ -0,0 +1,24 @@
+# Blender v2.73 (sub 0) OBJ File: 'slope_test_pyramid_onetexture.blend'
+# www.blender.org
+o Cube
+v 0.500000 -0.500000 -0.500000
+v 0.500000 -0.500000 0.500000
+v -0.500000 -0.500000 0.500000
+v -0.500000 -0.500000 -0.500000
+v -0.000000 0.500000 -0.000000
+vt 1.000000 1.000000
+vt 0.000000 1.000000
+vt 0.000000 0.000000
+vt 1.000000 0.000000
+vt 0.500000 1.000000
+vn 0.000000 -1.000000 0.000000
+vn -0.894400 0.447200 -0.000000
+vn 0.000000 0.447200 -0.894400
+vn 0.894400 0.447200 0.000000
+vn -0.000000 0.447200 0.894400
+s off
+f 1/1/1 2/2/1 3/3/1 4/4/1
+f 3/4/2 5/5/2 4/3/2
+f 5/5/3 1/3/3 4/4/3
+f 1/4/4 5/5/4 2/3/4
+f 2/4/5 5/5/5 3/3/5
diff --git a/games/minimal/mods/testnodes/nodeboxes.lua b/games/minimal/mods/testnodes/nodeboxes.lua
new file mode 100644
index 000000000..ebd858337
--- /dev/null
+++ b/games/minimal/mods/testnodes/nodeboxes.lua
@@ -0,0 +1,80 @@
+local S = minetest.get_translator("testnodes")
+
+-- Nodebox examples and tests.
+
+-- An simple example nodebox with one centered box
+minetest.register_node("testnodes:nodebox_fixed", {
+ description = S("Fixed Nodebox Test Node"),
+ tiles = {"testnodes_nodebox.png"},
+ drawtype = "nodebox",
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+-- 50% higher than a regular node
+minetest.register_node("testnodes:nodebox_overhigh", {
+ description = S("Overhigh Nodebox Test Node"),
+ tiles = {"testnodes_nodebox.png"},
+ drawtype = "nodebox",
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, 1, 0.5},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+-- 100% higher than a regular node
+minetest.register_node("testnodes:nodebox_overhigh2", {
+ description = S("Double-height Nodebox Test Node"),
+ tiles = {"testnodes_nodebox.png"},
+ drawtype = "nodebox",
+ paramtype = "light",
+ node_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+-- Height of nodebox changes with its param2 value
+minetest.register_node("testnodes:nodebox_leveled", {
+ description = S("Leveled Nodebox Test Node"),
+ tiles = {"testnodes_nodebox.png"},
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "leveled",
+ node_box = {
+ type = "leveled",
+ fixed = {-0.5, 0.0, -0.5, 0.5, -0.499, 0.5},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+-- Wall-like nodebox that connects to neighbors
+minetest.register_node("testnodes:nodebox_connected", {
+ description = S("Connected Nodebox Test Node"),
+ tiles = {"testnodes_nodebox.png"},
+ groups = {connected_nodebox=1, dig_immediate=3},
+ drawtype = "nodebox",
+ paramtype = "light",
+ connects_to = {"group:connected_nodebox"},
+ connect_sides = {"front", "back", "left", "right"},
+ node_box = {
+ type = "connected",
+ fixed = {-0.125, -0.500, -0.125, 0.125, 0.500, 0.125},
+ connect_front = {-0.125, -0.500, -0.500, 0.125, 0.400, -0.125},
+ connect_back = {-0.125, -0.500, 0.125, 0.125, 0.400, 0.500},
+ connect_left = {-0.500, -0.500, -0.125, -0.125, 0.400, 0.125},
+ connect_right = {0.125, -0.500, -0.125, 0.500, 0.400, 0.125},
+ },
+})
+
diff --git a/games/minimal/mods/testnodes/param2.lua b/games/minimal/mods/testnodes/param2.lua
new file mode 100644
index 000000000..5d64376fa
--- /dev/null
+++ b/games/minimal/mods/testnodes/param2.lua
@@ -0,0 +1,168 @@
+-- This file is for misc. param2 tests that aren't covered in drawtypes.lua already.
+
+local S = minetest.get_translator("testnodes")
+
+minetest.register_node("testnodes:facedir", {
+ description = S("Facedir Test Node"),
+ paramtype2 = "facedir",
+ tiles = {
+ "testnodes_1.png",
+ "testnodes_2.png",
+ "testnodes_3.png",
+ "testnodes_4.png",
+ "testnodes_5.png",
+ "testnodes_6.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:facedir_nodebox", {
+ description = S("Facedir Nodebox Test Node"),
+ tiles = {
+ "testnodes_1.png",
+ "testnodes_2.png",
+ "testnodes_3.png",
+ "testnodes_4.png",
+ "testnodes_5.png",
+ "testnodes_6.png",
+ },
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "facedir",
+ node_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:wallmounted", {
+ description = S("Wallmounted Test Node"),
+ paramtype2 = "wallmounted",
+ tiles = {
+ "testnodes_1w.png",
+ "testnodes_2w.png",
+ "testnodes_3w.png",
+ "testnodes_4w.png",
+ "testnodes_5w.png",
+ "testnodes_6w.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:wallmounted_nodebox", {
+ description = S("Wallmounted Nodebox Test Node"),
+ paramtype2 = "wallmounted",
+ paramtype = "light",
+ tiles = {
+ "testnodes_1w.png",
+ "testnodes_2w.png",
+ "testnodes_3w.png",
+ "testnodes_4w.png",
+ "testnodes_5w.png",
+ "testnodes_6w.png",
+ },
+ drawtype = "nodebox",
+ node_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 },
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:color", {
+ description = S("Color Test Node"),
+ paramtype2 = "color",
+ palette = "testnodes_palette_full.png",
+ tiles = {
+ "testnodes_node.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:colorfacedir", {
+ description = S("Color Facedir Test Node"),
+ paramtype2 = "colorfacedir",
+ palette = "testnodes_palette_facedir.png",
+ tiles = {
+ "testnodes_1g.png",
+ "testnodes_2g.png",
+ "testnodes_3g.png",
+ "testnodes_4g.png",
+ "testnodes_5g.png",
+ "testnodes_6g.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:colorfacedir_nodebox", {
+ description = S("Color Facedir Nodebox Test Node"),
+ tiles = {
+ "testnodes_1g.png",
+ "testnodes_2g.png",
+ "testnodes_3g.png",
+ "testnodes_4g.png",
+ "testnodes_5g.png",
+ "testnodes_6g.png",
+ },
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "colorfacedir",
+ palette = "testnodes_palette_facedir.png",
+ node_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.2, 0.2, 0.2},
+ },
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:colorwallmounted", {
+ description = S("Color Wallmounted Test Node"),
+ paramtype2 = "colorwallmounted",
+ paramtype = "light",
+ palette = "testnodes_palette_wallmounted.png",
+ tiles = {
+ "testnodes_1wg.png",
+ "testnodes_2wg.png",
+ "testnodes_3wg.png",
+ "testnodes_4wg.png",
+ "testnodes_5wg.png",
+ "testnodes_6wg.png",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
+minetest.register_node("testnodes:colorwallmounted_nodebox", {
+ description = S("Color Wallmounted Nodebox Test Node"),
+ paramtype2 = "colorwallmounted",
+ paramtype = "light",
+ palette = "testnodes_palette_wallmounted.png",
+ tiles = {
+ "testnodes_1wg.png",
+ "testnodes_2wg.png",
+ "testnodes_3wg.png",
+ "testnodes_4wg.png",
+ "testnodes_5wg.png",
+ "testnodes_6wg.png",
+ },
+ drawtype = "nodebox",
+ node_box = {
+ type = "wallmounted",
+ wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
+ wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
+ wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 },
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
diff --git a/games/minimal/mods/testnodes/properties.lua b/games/minimal/mods/testnodes/properties.lua
new file mode 100644
index 000000000..e169d4b08
--- /dev/null
+++ b/games/minimal/mods/testnodes/properties.lua
@@ -0,0 +1,270 @@
+-- Test Nodes: Node property tests
+
+local S = minetest.get_translator("testnodes")
+
+-- Is supposed to fall when it doesn't rest on solid ground
+minetest.register_node("testnodes:falling", {
+ description = S("Falling Node"),
+ tiles = {
+ "testnodes_node.png",
+ "testnodes_node.png",
+ "testnodes_node_falling.png",
+ },
+ groups = { falling_node = 1, dig_immediate = 3 },
+})
+
+-- Same as falling node, but will stop falling on top of liquids
+minetest.register_node("testnodes:falling_float", {
+ description = S("Falling+Floating Node"),
+ groups = { falling_node = 1, float = 1, dig_immediate = 3 },
+
+
+ tiles = {
+ "testnodes_node.png",
+ "testnodes_node.png",
+ "testnodes_node_falling.png",
+ },
+ color = "cyan",
+})
+
+-- This node attaches to the floor and drops as item
+-- when the floor is gone.
+minetest.register_node("testnodes:attached", {
+ description = S("Floor-Attached Node"),
+ tiles = {
+ "testnodes_attached_top.png",
+ "testnodes_attached_bottom.png",
+ "testnodes_attached_side.png",
+ },
+ groups = { attached_node = 1, dig_immediate = 3 },
+})
+
+-- This node attaches to the side of a node and drops as item
+-- when the node it attaches to is gone.
+minetest.register_node("testnodes:attached_wallmounted", {
+ description = S("Wallmounted Attached Node"),
+ paramtype2 = "wallmounted",
+ tiles = {
+ "testnodes_attachedw_top.png",
+ "testnodes_attachedw_bottom.png",
+ "testnodes_attachedw_side.png",
+ },
+ groups = { attached_node = 1, dig_immediate = 3 },
+})
+
+-- Jump disabled
+minetest.register_node("testnodes:nojump", {
+ description = S("Non-jumping Node"),
+ groups = {disable_jump=1, dig_immediate=3},
+
+
+ tiles = {"testnodes_nojump_top.png", "testnodes_nojump_side.png"},
+})
+
+-- Climbable up and down with jump and sneak keys
+minetest.register_node("testnodes:climbable", {
+ description = S("Climbable Node"),
+ climbable = true,
+ walkable = false,
+
+
+ paramtype = "light",
+ sunlight_propagates = true,
+ is_ground_content = false,
+ tiles ={"testnodes_climbable_side.png"},
+ drawtype = "glasslike",
+ groups = {dig_immediate=3},
+})
+
+-- Climbable only downwards with sneak key
+minetest.register_node("testnodes:climbable_nojump", {
+ description = S("Downwards-climbable Node"),
+ climbable = true,
+ walkable = false,
+
+ groups = {disable_jump=1, dig_immediate=3},
+ drawtype = "glasslike",
+ tiles ={"testnodes_climbable_nojump_side.png"},
+ paramtype = "light",
+ sunlight_propagates = true,
+})
+
+-- A liquid in which you can't rise
+minetest.register_node("testnodes:liquid_nojump", {
+ description = S("Non-jumping Liquid Source Node"),
+ liquidtype = "source",
+ liquid_range = 1,
+ liquid_viscosity = 0,
+ liquid_alternative_flowing = "testnodes:liquidflowing_nojump",
+ liquid_alternative_source = "testnodes:liquid_nojump",
+ liquid_renewable = false,
+ groups = {disable_jump=1, dig_immediate=3},
+ walkable = false,
+
+ drawtype = "liquid",
+ tiles = {"testnodes_liquidsource.png^[colorize:#FF0000:127"},
+ special_tiles = {
+ {name = "testnodes_liquidsource.png^[colorize:#FF0000:127", backface_culling = false},
+ {name = "testnodes_liquidsource.png^[colorize:#FF0000:127", backface_culling = true},
+ },
+ use_texture_alpha = true,
+ paramtype = "light",
+ pointable = false,
+ liquids_pointable = true,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ post_effect_color = {a = 70, r = 255, g = 0, b = 200},
+})
+
+-- A liquid in which you can't rise (flowing variant)
+minetest.register_node("testnodes:liquidflowing_nojump", {
+ description = S("Non-jumping Flowing Liquid Node"),
+ liquidtype = "flowing",
+ liquid_range = 1,
+ liquid_viscosity = 0,
+ liquid_alternative_flowing = "testnodes:liquidflowing_nojump",
+ liquid_alternative_source = "testnodes:liquid_nojump",
+ liquid_renewable = false,
+ groups = {disable_jump=1, dig_immediate=3},
+ walkable = false,
+
+
+ drawtype = "flowingliquid",
+ tiles = {"testnodes_liquidflowing.png^[colorize:#FF0000:127"},
+ special_tiles = {
+ {name = "testnodes_liquidflowing.png^[colorize:#FF0000:127", backface_culling = false},
+ {name = "testnodes_liquidflowing.png^[colorize:#FF0000:127", backface_culling = false},
+ },
+ use_texture_alpha = true,
+ paramtype = "light",
+ paramtype2 = "flowingliquid",
+ pointable = false,
+ liquids_pointable = true,
+ diggable = false,
+ buildable_to = true,
+ is_ground_content = false,
+ post_effect_color = {a = 70, r = 255, g = 0, b = 200},
+})
+
+-- Nodes that modify fall damage (various damage modifiers)
+for i=-100, 100, 25 do
+ if i ~= 0 then
+ local subname, descnum
+ if i < 0 then
+ subname = "m"..math.abs(i)
+ descnum = tostring(i)
+ else
+ subname = tostring(i)
+ descnum = S("+@1", i)
+ end
+ local tex, color, desc
+ if i > 0 then
+ local val = math.floor((i/100)*255)
+ tex = "testnodes_fall_damage_plus.png"
+ color = { b=0, g=255-val, r=255, a=255 }
+ desc = S("Fall Damage Node (+@1%)", i)
+ else
+ tex = "testnodes_fall_damage_minus.png"
+ if i == -100 then
+ color = { r=0, b=0, g=255, a=255 }
+ else
+ local val = math.floor((math.abs(i)/100)*255)
+ color = { r=0, b=255, g=255-val, a=255 }
+ end
+ desc = S("Fall Damage Node (-@1%)", math.abs(i))
+ end
+ minetest.register_node("testnodes:damage"..subname, {
+ description = desc,
+ groups = {fall_damage_add_percent=i, dig_immediate=3},
+
+
+ tiles = { tex },
+ is_ground_content = false,
+ color = color,
+ })
+ end
+end
+
+-- Bouncy nodes (various bounce levels)
+for i=20, 180, 20 do
+ local val = math.floor(((i-20)/200)*255)
+ minetest.register_node("testnodes:bouncy"..i, {
+ description = S("Bouncy Node (@1%)", i),
+ groups = {bouncy=i, dig_immediate=3},
+
+
+ tiles ={"testnodes_bouncy.png"},
+ is_ground_content = false,
+ color = { r=255, g=255-val, b=val, a=255 },
+ })
+end
+
+-- Slippery nodes (various slippery levels)
+for i=1, 5 do
+ minetest.register_node("testnodes:slippery"..i, {
+ description = S("Slippery Node (@1)", i),
+ tiles ={"testnodes_slippery.png"},
+ is_ground_content = false,
+ groups = {slippery=i, dig_immediate=3},
+ color = { r=0, g=255, b=math.floor((i/5)*255), a=255 },
+ })
+end
+
+-- By placing something on the node, the node itself will be replaced
+minetest.register_node("testnodes:buildable_to", {
+ description = S("Replacable Node"),
+ buildable_to = true,
+ tiles = {"testnodes_buildable_to.png"},
+ is_ground_content = false,
+ groups = {dig_immediate=3},
+})
+
+-- Nodes that deal damage to players that are inside them.
+-- Negative damage nodes should heal.
+for d=-3,3 do
+ if d ~= 0 then
+ local sub, tile
+ if d > 0 then
+ sub = tostring(d)
+ tile = "testnodes_damage.png"
+ else
+ sub = "m" .. tostring(math.abs(d))
+ tile = "testnodes_damage_neg.png"
+ end
+ if math.abs(d) == 2 then
+ tile = tile .. "^[colorize:#000000:70"
+ elseif math.abs(d) == 3 then
+ tile = tile .. "^[colorize:#000000:140"
+ end
+ minetest.register_node("testnodes:damage_"..sub, {
+ description = S("Damage Node (@1 damage per second)", d),
+ damage_per_second = d,
+
+
+ walkable = false,
+ is_ground_content = false,
+ drawtype = "allfaces",
+ paramtype = "light",
+ sunlight_propagates = true,
+ tiles = { tile },
+ groups = {dig_immediate=3},
+ })
+ end
+end
+
+-- Causes drowning damage
+minetest.register_node("testnodes:drowning_1", {
+ description = S("Drowning Node (@1 damage)", 1),
+ drowning = 1,
+
+
+ walkable = false,
+ is_ground_content = false,
+ drawtype = "allfaces",
+ paramtype = "light",
+ sunlight_propagates = true,
+ tiles = { "testnodes_drowning.png" },
+ groups = {dig_immediate=3},
+})
+
diff --git a/games/minimal/mods/testnodes/settingtypes.txt b/games/minimal/mods/testnodes/settingtypes.txt
new file mode 100644
index 000000000..7f753bf3e
--- /dev/null
+++ b/games/minimal/mods/testnodes/settingtypes.txt
@@ -0,0 +1,4 @@
+# If set to true, will show an inventory image for nodes that have no inventory image as of Minetest 5.1.0.
+# This is due to <https://github.com/minetest/minetest/issues/9209>.
+# This is only added to make the items more visible to avoid confusion, but you will no longer see the default inventory images for these items. When you want to test the default inventory image of drawtypes, this should be turned off.
+testnodes_show_fallback_image (Use fallback inventory images) bool false
diff --git a/games/minimal/mods/testnodes/textures.lua b/games/minimal/mods/testnodes/textures.lua
new file mode 100644
index 000000000..f5db9ccbf
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures.lua
@@ -0,0 +1,67 @@
+-- Node texture tests
+
+local S = minetest.get_translator("testnodes")
+
+minetest.register_node("testnodes:6sides", {
+ description = S("Six Textures Test Node"),
+ tiles = {
+ "testnodes_normal1.png",
+ "testnodes_normal2.png",
+ "testnodes_normal3.png",
+ "testnodes_normal4.png",
+ "testnodes_normal5.png",
+ "testnodes_normal6.png",
+ },
+
+ groups = { dig_immediate = 2 },
+})
+
+minetest.register_node("testnodes:anim", {
+ description = S("Animated Test Node"),
+ tiles = {
+ { name = "testnodes_anim.png",
+ animation = {
+ type = "vertical_frames",
+ aspect_w = 16,
+ aspect_h = 16,
+ length = 4.0,
+ }, },
+ },
+
+ groups = { dig_immediate = 2 },
+})
+
+-- Node texture transparency test
+
+local alphas = { 64, 128, 191 }
+
+for a=1,#alphas do
+ local alpha = alphas[a]
+
+ -- Transparency taken from texture
+ minetest.register_node("testnodes:alpha_texture_"..alpha, {
+ description = S("Texture Alpha Test Node (@1)", alpha),
+ drawtype = "glasslike",
+ paramtype = "light",
+ tiles = {
+ "testnodes_alpha"..alpha..".png",
+ },
+ use_texture_alpha = true,
+
+ groups = { dig_immediate = 3 },
+ })
+
+ -- Transparency set via "alpha" parameter
+ minetest.register_node("testnodes:alpha_"..alpha, {
+ description = S("Alpha Test Node (@1)", alpha),
+ -- It seems that only the liquid drawtype supports the alpha parameter
+ drawtype = "liquid",
+ paramtype = "light",
+ tiles = {
+ "testnodes_alpha.png",
+ },
+ alpha = alpha,
+
+ groups = { dig_immediate = 3 },
+ })
+end
diff --git a/games/minimal/mods/testnodes/textures/testnodes_1.png b/games/minimal/mods/testnodes/textures/testnodes_1.png
new file mode 100644
index 000000000..6730997e2
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_1.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_1g.png b/games/minimal/mods/testnodes/textures/testnodes_1g.png
new file mode 100644
index 000000000..529298ece
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_1g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_1w.png b/games/minimal/mods/testnodes/textures/testnodes_1w.png
new file mode 100644
index 000000000..d24e571cc
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_1w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_1wg.png b/games/minimal/mods/testnodes/textures/testnodes_1wg.png
new file mode 100644
index 000000000..b2eba0e9a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_1wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_2.png b/games/minimal/mods/testnodes/textures/testnodes_2.png
new file mode 100644
index 000000000..6c87c868d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_2g.png b/games/minimal/mods/testnodes/textures/testnodes_2g.png
new file mode 100644
index 000000000..cb9060f7b
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_2g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_2w.png b/games/minimal/mods/testnodes/textures/testnodes_2w.png
new file mode 100644
index 000000000..b56874ee1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_2w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_2wg.png b/games/minimal/mods/testnodes/textures/testnodes_2wg.png
new file mode 100644
index 000000000..108dc87bb
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_2wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_3.png b/games/minimal/mods/testnodes/textures/testnodes_3.png
new file mode 100644
index 000000000..05b45629a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_3g.png b/games/minimal/mods/testnodes/textures/testnodes_3g.png
new file mode 100644
index 000000000..5c84f5882
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_3g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_3w.png b/games/minimal/mods/testnodes/textures/testnodes_3w.png
new file mode 100644
index 000000000..8b435cf01
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_3w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_3wg.png b/games/minimal/mods/testnodes/textures/testnodes_3wg.png
new file mode 100644
index 000000000..9ee900667
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_3wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_4.png b/games/minimal/mods/testnodes/textures/testnodes_4.png
new file mode 100644
index 000000000..15e6ffec7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_4g.png b/games/minimal/mods/testnodes/textures/testnodes_4g.png
new file mode 100644
index 000000000..8f144fae0
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_4g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_4w.png b/games/minimal/mods/testnodes/textures/testnodes_4w.png
new file mode 100644
index 000000000..214e0df9d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_4w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_4wg.png b/games/minimal/mods/testnodes/textures/testnodes_4wg.png
new file mode 100644
index 000000000..888b3d482
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_4wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_5.png b/games/minimal/mods/testnodes/textures/testnodes_5.png
new file mode 100644
index 000000000..1ef1c728c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_5.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_5g.png b/games/minimal/mods/testnodes/textures/testnodes_5g.png
new file mode 100644
index 000000000..30da4793a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_5g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_5w.png b/games/minimal/mods/testnodes/textures/testnodes_5w.png
new file mode 100644
index 000000000..b4cb42426
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_5w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_5wg.png b/games/minimal/mods/testnodes/textures/testnodes_5wg.png
new file mode 100644
index 000000000..fac9db28e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_5wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_6.png b/games/minimal/mods/testnodes/textures/testnodes_6.png
new file mode 100644
index 000000000..805813e57
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_6.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_6g.png b/games/minimal/mods/testnodes/textures/testnodes_6g.png
new file mode 100644
index 000000000..a88f4c9f8
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_6g.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_6w.png b/games/minimal/mods/testnodes/textures/testnodes_6w.png
new file mode 100644
index 000000000..e6bbf97d9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_6w.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_6wg.png b/games/minimal/mods/testnodes/textures/testnodes_6wg.png
new file mode 100644
index 000000000..29ca933e0
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_6wg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_airlike.png b/games/minimal/mods/testnodes/textures/testnodes_airlike.png
new file mode 100644
index 000000000..5a5664a2a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_airlike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_allfaces.png b/games/minimal/mods/testnodes/textures/testnodes_allfaces.png
new file mode 100644
index 000000000..c0a7dc550
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_allfaces.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_allfaces_optional.png b/games/minimal/mods/testnodes/textures/testnodes_allfaces_optional.png
new file mode 100644
index 000000000..1f6a17313
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_allfaces_optional.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_alpha.png b/games/minimal/mods/testnodes/textures/testnodes_alpha.png
new file mode 100644
index 000000000..157fa7386
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_alpha.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_alpha128.png b/games/minimal/mods/testnodes/textures/testnodes_alpha128.png
new file mode 100644
index 000000000..16babf6c7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_alpha128.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_alpha191.png b/games/minimal/mods/testnodes/textures/testnodes_alpha191.png
new file mode 100644
index 000000000..f165d2887
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_alpha191.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_alpha64.png b/games/minimal/mods/testnodes/textures/testnodes_alpha64.png
new file mode 100644
index 000000000..c343c32c3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_alpha64.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_anim.png b/games/minimal/mods/testnodes/textures/testnodes_anim.png
new file mode 100644
index 000000000..d321fe857
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_anim.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attached_bottom.png b/games/minimal/mods/testnodes/textures/testnodes_attached_bottom.png
new file mode 100644
index 000000000..e01ae576f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attached_bottom.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attached_side.png b/games/minimal/mods/testnodes/textures/testnodes_attached_side.png
new file mode 100644
index 000000000..9459cbb05
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attached_side.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attached_top.png b/games/minimal/mods/testnodes/textures/testnodes_attached_top.png
new file mode 100644
index 000000000..0148b41e0
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attached_top.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attachedw_bottom.png b/games/minimal/mods/testnodes/textures/testnodes_attachedw_bottom.png
new file mode 100644
index 000000000..488ad23a9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attachedw_bottom.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attachedw_side.png b/games/minimal/mods/testnodes/textures/testnodes_attachedw_side.png
new file mode 100644
index 000000000..a02facbc7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attachedw_side.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_attachedw_top.png b/games/minimal/mods/testnodes/textures/testnodes_attachedw_top.png
new file mode 100644
index 000000000..1f4fc7b85
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_attachedw_top.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_bouncy.png b/games/minimal/mods/testnodes/textures/testnodes_bouncy.png
new file mode 100644
index 000000000..eabbbdfe4
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_bouncy.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_buildable_to.png b/games/minimal/mods/testnodes/textures/testnodes_buildable_to.png
new file mode 100644
index 000000000..23b5e54d2
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_buildable_to.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_climbable_nojump_side.png b/games/minimal/mods/testnodes/textures/testnodes_climbable_nojump_side.png
new file mode 100644
index 000000000..d5ca13033
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_climbable_nojump_side.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_climbable_side.png b/games/minimal/mods/testnodes/textures/testnodes_climbable_side.png
new file mode 100644
index 000000000..c56ea90d7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_climbable_side.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_damage.png b/games/minimal/mods/testnodes/textures/testnodes_damage.png
new file mode 100644
index 000000000..9de2ab5e8
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_damage.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_damage_neg.png b/games/minimal/mods/testnodes/textures/testnodes_damage_neg.png
new file mode 100644
index 000000000..85811bc8e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_damage_neg.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_drowning.png b/games/minimal/mods/testnodes/textures/testnodes_drowning.png
new file mode 100644
index 000000000..57ffc8fcf
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_drowning.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_fall_damage_minus.png b/games/minimal/mods/testnodes/textures/testnodes_fall_damage_minus.png
new file mode 100644
index 000000000..88d3bdf58
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_fall_damage_minus.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_fall_damage_plus.png b/games/minimal/mods/testnodes/textures/testnodes_fall_damage_plus.png
new file mode 100644
index 000000000..61fdec2e3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_fall_damage_plus.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_fencelike.png b/games/minimal/mods/testnodes/textures/testnodes_fencelike.png
new file mode 100644
index 000000000..84dea1b7c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_fencelike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_firelike.png b/games/minimal/mods/testnodes/textures/testnodes_firelike.png
new file mode 100644
index 000000000..ee59b0db1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_firelike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslike.png b/games/minimal/mods/testnodes/textures/testnodes_glasslike.png
new file mode 100644
index 000000000..cf3e35414
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslike_detail.png b/games/minimal/mods/testnodes/textures/testnodes_glasslike_detail.png
new file mode 100644
index 000000000..30c9586e8
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslike_detail.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed.png b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed.png
new file mode 100644
index 000000000..8a513f21c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed2.png b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed2.png
new file mode 100644
index 000000000..4ea839c8b
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed_optional.png b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed_optional.png
new file mode 100644
index 000000000..37de77dd1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslike_framed_optional.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_glasslikeliquid.png b/games/minimal/mods/testnodes/textures/testnodes_glasslikeliquid.png
new file mode 100644
index 000000000..e1e96ffb9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_glasslikeliquid.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light.png b/games/minimal/mods/testnodes/textures/testnodes_light.png
new file mode 100644
index 000000000..4ba0081c3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_1.png b/games/minimal/mods/testnodes/textures/testnodes_light_1.png
new file mode 100644
index 000000000..57adf5a4a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_1.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_10.png b/games/minimal/mods/testnodes/textures/testnodes_light_10.png
new file mode 100644
index 000000000..483834770
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_10.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_11.png b/games/minimal/mods/testnodes/textures/testnodes_light_11.png
new file mode 100644
index 000000000..4c423d9b4
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_11.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_12.png b/games/minimal/mods/testnodes/textures/testnodes_light_12.png
new file mode 100644
index 000000000..bc7946d09
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_12.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_13.png b/games/minimal/mods/testnodes/textures/testnodes_light_13.png
new file mode 100644
index 000000000..0b63c84a6
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_13.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_14.png b/games/minimal/mods/testnodes/textures/testnodes_light_14.png
new file mode 100644
index 000000000..a817bd394
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_14.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_2.png b/games/minimal/mods/testnodes/textures/testnodes_light_2.png
new file mode 100644
index 000000000..852eaeff1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_3.png b/games/minimal/mods/testnodes/textures/testnodes_light_3.png
new file mode 100644
index 000000000..79fc834cc
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_4.png b/games/minimal/mods/testnodes/textures/testnodes_light_4.png
new file mode 100644
index 000000000..75f8c6136
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_5.png b/games/minimal/mods/testnodes/textures/testnodes_light_5.png
new file mode 100644
index 000000000..b6eede0ae
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_5.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_6.png b/games/minimal/mods/testnodes/textures/testnodes_light_6.png
new file mode 100644
index 000000000..ef54addec
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_6.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_7.png b/games/minimal/mods/testnodes/textures/testnodes_light_7.png
new file mode 100644
index 000000000..4a885b0f6
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_7.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_8.png b/games/minimal/mods/testnodes/textures/testnodes_light_8.png
new file mode 100644
index 000000000..b283301e3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_8.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_light_9.png b/games/minimal/mods/testnodes/textures/testnodes_light_9.png
new file mode 100644
index 000000000..2aa902358
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_light_9.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_line_crossing.png b/games/minimal/mods/testnodes/textures/testnodes_line_crossing.png
new file mode 100644
index 000000000..e566f2793
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_line_crossing.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_line_curved.png b/games/minimal/mods/testnodes/textures/testnodes_line_curved.png
new file mode 100644
index 000000000..ab9f8e720
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_line_curved.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_line_straight.png b/games/minimal/mods/testnodes/textures/testnodes_line_straight.png
new file mode 100644
index 000000000..4f33d9c6d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_line_straight.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_line_t_junction.png b/games/minimal/mods/testnodes/textures/testnodes_line_t_junction.png
new file mode 100644
index 000000000..5668f6ea3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_line_t_junction.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquid.png b/games/minimal/mods/testnodes/textures/testnodes_liquid.png
new file mode 100644
index 000000000..98ab270c2
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquid.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing.png
new file mode 100644
index 000000000..1736b89ba
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r0.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r0.png
new file mode 100644
index 000000000..e8a61039d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r0.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r1.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r1.png
new file mode 100644
index 000000000..b4e45b42f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r1.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r2.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r2.png
new file mode 100644
index 000000000..e064b8f2d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r3.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r3.png
new file mode 100644
index 000000000..bef773968
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r4.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r4.png
new file mode 100644
index 000000000..de1001b2d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r5.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r5.png
new file mode 100644
index 000000000..97b422e9a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r5.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r6.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r6.png
new file mode 100644
index 000000000..4cd8e4e8e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r6.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r7.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r7.png
new file mode 100644
index 000000000..711dd961c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r7.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r8.png b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r8.png
new file mode 100644
index 000000000..9cf22b8ca
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidflowing_r8.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource.png
new file mode 100644
index 000000000..b3f29b702
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r0.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r0.png
new file mode 100644
index 000000000..da0a99623
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r0.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r1.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r1.png
new file mode 100644
index 000000000..66bf2be8f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r1.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r2.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r2.png
new file mode 100644
index 000000000..fc5f65cb6
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r3.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r3.png
new file mode 100644
index 000000000..0f46e291e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r4.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r4.png
new file mode 100644
index 000000000..0693a04d7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r5.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r5.png
new file mode 100644
index 000000000..cc9d03992
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r5.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r6.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r6.png
new file mode 100644
index 000000000..e276a07ae
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r6.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r7.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r7.png
new file mode 100644
index 000000000..3534a4b15
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r7.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r8.png b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r8.png
new file mode 100644
index 000000000..ee1a8b169
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_liquidsource_r8.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes.png b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes.png
new file mode 100644
index 000000000..51b8e0025
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes2.png b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes2.png
new file mode 100644
index 000000000..9ea65c1ec
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes3.png b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes3.png
new file mode 100644
index 000000000..96bc55ac5
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes4.png b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes4.png
new file mode 100644
index 000000000..fca33727d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_mesh_stripes4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_node.png b/games/minimal/mods/testnodes/textures/testnodes_node.png
new file mode 100644
index 000000000..145099b3a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_node.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_node_falling.png b/games/minimal/mods/testnodes/textures/testnodes_node_falling.png
new file mode 100644
index 000000000..44153185c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_node_falling.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_nodebox.png b/games/minimal/mods/testnodes/textures/testnodes_nodebox.png
new file mode 100644
index 000000000..66e8dd663
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_nodebox.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_nojump_side.png b/games/minimal/mods/testnodes/textures/testnodes_nojump_side.png
new file mode 100644
index 000000000..6a64cfff0
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_nojump_side.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_nojump_top.png b/games/minimal/mods/testnodes/textures/testnodes_nojump_top.png
new file mode 100644
index 000000000..fe770838f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_nojump_top.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal.png b/games/minimal/mods/testnodes/textures/testnodes_normal.png
new file mode 100644
index 000000000..a1acfd9fd
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal1.png b/games/minimal/mods/testnodes/textures/testnodes_normal1.png
new file mode 100644
index 000000000..edaba77e4
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal1.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal2.png b/games/minimal/mods/testnodes/textures/testnodes_normal2.png
new file mode 100644
index 000000000..0080a9ee7
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal2.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal3.png b/games/minimal/mods/testnodes/textures/testnodes_normal3.png
new file mode 100644
index 000000000..0426ab216
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal3.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal4.png b/games/minimal/mods/testnodes/textures/testnodes_normal4.png
new file mode 100644
index 000000000..0d1922eb6
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal4.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal5.png b/games/minimal/mods/testnodes/textures/testnodes_normal5.png
new file mode 100644
index 000000000..0b7dcd2da
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal5.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_normal6.png b/games/minimal/mods/testnodes/textures/testnodes_normal6.png
new file mode 100644
index 000000000..f34a67d71
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_normal6.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_palette_facedir.png b/games/minimal/mods/testnodes/textures/testnodes_palette_facedir.png
new file mode 100644
index 000000000..8cf47bbbe
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_palette_facedir.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_palette_full.png b/games/minimal/mods/testnodes/textures/testnodes_palette_full.png
new file mode 100644
index 000000000..e0a5f8b34
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_palette_full.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_palette_wallmounted.png b/games/minimal/mods/testnodes/textures/testnodes_palette_wallmounted.png
new file mode 100644
index 000000000..682f3ac84
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_palette_wallmounted.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike.png
new file mode 100644
index 000000000..cc464444d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_degrotate.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_degrotate.png
new file mode 100644
index 000000000..01c81da8e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_degrotate.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_leveled.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_leveled.png
new file mode 100644
index 000000000..53504dbcd
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_leveled.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_meshoptions.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_meshoptions.png
new file mode 100644
index 000000000..d504d459f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_meshoptions.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted.png
new file mode 100644
index 000000000..79cf2125e
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base.png
new file mode 100644
index 000000000..b9ee9e5be
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png
new file mode 100644
index 000000000..85311cb2c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_degrotate.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_leveled.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_leveled.png
new file mode 100644
index 000000000..bc602bafe
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_leveled.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png
new file mode 100644
index 000000000..d10002375
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_meshoptions.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_waving.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_waving.png
new file mode 100644
index 000000000..527817bc1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_base_side_waving.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png
new file mode 100644
index 000000000..45e75bdd3
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_degrotate.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png
new file mode 100644
index 000000000..8954b2c34
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_leveled.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_meshoptions.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_meshoptions.png
new file mode 100644
index 000000000..a782d4874
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_meshoptions.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_waving.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_waving.png
new file mode 100644
index 000000000..112a0540f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_rooted_waving.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_plantlike_waving.png b/games/minimal/mods/testnodes/textures/testnodes_plantlike_waving.png
new file mode 100644
index 000000000..b584a8dc9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_plantlike_waving.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail2_crossing.png b/games/minimal/mods/testnodes/textures/testnodes_rail2_crossing.png
new file mode 100644
index 000000000..530bbba7a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail2_crossing.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail2_curved.png b/games/minimal/mods/testnodes/textures/testnodes_rail2_curved.png
new file mode 100644
index 000000000..4ed1ca00f
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail2_curved.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail2_straight.png b/games/minimal/mods/testnodes/textures/testnodes_rail2_straight.png
new file mode 100644
index 000000000..8749330d8
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail2_straight.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail2_t_junction.png b/games/minimal/mods/testnodes/textures/testnodes_rail2_t_junction.png
new file mode 100644
index 000000000..0517f6570
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail2_t_junction.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail_crossing.png b/games/minimal/mods/testnodes/textures/testnodes_rail_crossing.png
new file mode 100644
index 000000000..3916ce1ef
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail_crossing.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail_curved.png b/games/minimal/mods/testnodes/textures/testnodes_rail_curved.png
new file mode 100644
index 000000000..e44419848
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail_curved.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail_straight.png b/games/minimal/mods/testnodes/textures/testnodes_rail_straight.png
new file mode 100644
index 000000000..872d04fb9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail_straight.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_rail_t_junction.png b/games/minimal/mods/testnodes/textures/testnodes_rail_t_junction.png
new file mode 100644
index 000000000..7e4af5182
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_rail_t_junction.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_signlike.png b/games/minimal/mods/testnodes/textures/testnodes_signlike.png
new file mode 100644
index 000000000..33ffcba6c
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_signlike.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_slippery.png b/games/minimal/mods/testnodes/textures/testnodes_slippery.png
new file mode 100644
index 000000000..b990468a1
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_slippery.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_street_crossing.png b/games/minimal/mods/testnodes/textures/testnodes_street_crossing.png
new file mode 100644
index 000000000..d6e35ad7a
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_street_crossing.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_street_curved.png b/games/minimal/mods/testnodes/textures/testnodes_street_curved.png
new file mode 100644
index 000000000..251b7fb71
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_street_curved.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_street_straight.png b/games/minimal/mods/testnodes/textures/testnodes_street_straight.png
new file mode 100644
index 000000000..639e24b93
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_street_straight.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_street_t_junction.png b/games/minimal/mods/testnodes/textures/testnodes_street_t_junction.png
new file mode 100644
index 000000000..713621e06
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_street_t_junction.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_sunlight_filter.png b/games/minimal/mods/testnodes/textures/testnodes_sunlight_filter.png
new file mode 100644
index 000000000..b38ea4072
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_sunlight_filter.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_torchlike_ceiling.png b/games/minimal/mods/testnodes/textures/testnodes_torchlike_ceiling.png
new file mode 100644
index 000000000..5d9862cc9
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_torchlike_ceiling.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_torchlike_floor.png b/games/minimal/mods/testnodes/textures/testnodes_torchlike_floor.png
new file mode 100644
index 000000000..adf1e002d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_torchlike_floor.png
Binary files differ
diff --git a/games/minimal/mods/testnodes/textures/testnodes_torchlike_wall.png b/games/minimal/mods/testnodes/textures/testnodes_torchlike_wall.png
new file mode 100644
index 000000000..cb442b22d
--- /dev/null
+++ b/games/minimal/mods/testnodes/textures/testnodes_torchlike_wall.png
Binary files differ