aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorWuzzy <Wuzzy@disroot.org>2022-09-16 13:18:55 +0200
committerGitHub <noreply@github.com>2022-09-16 13:18:55 +0200
commit1d04903c1973591e795d3275b900d76d7cb7877a (patch)
tree06891c6fe3075c1868832bc0007308e525cef70f /games
parentb5e7280708221cdcca89df7d16f2aea19e4b3c4c (diff)
downloadminetest-1d04903c1973591e795d3275b900d76d7cb7877a.tar.xz
Add paramtype2s for 4 horizontal rotations and 64 colors (#11431)
4dir is like facedir, but only for 4 horizontal directions: NESW. It is identical in behavior to facedir otherwise. The reason why game makers would want to use this over facedir is 1) simplicity and 2) you get 6 free bits. It can be used for things like chests and furnaces and you don't need or want them to "flip them on the side" (like you could with facedir). color4dir is like colorfacedir, but you get 64 colors instead of only 8.
Diffstat (limited to 'games')
-rw-r--r--games/devtest/mods/testnodes/meshes.lua25
-rw-r--r--games/devtest/mods/testnodes/nodeboxes.lua64
-rw-r--r--games/devtest/mods/testnodes/param2.lua74
-rw-r--r--games/devtest/mods/testnodes/textures/testnodes_palette_4dir.pngbin0 -> 197 bytes
4 files changed, 156 insertions, 7 deletions
diff --git a/games/devtest/mods/testnodes/meshes.lua b/games/devtest/mods/testnodes/meshes.lua
index 900abc180..76c2c0027 100644
--- a/games/devtest/mods/testnodes/meshes.lua
+++ b/games/devtest/mods/testnodes/meshes.lua
@@ -60,6 +60,31 @@ minetest.register_node("testnodes:mesh_colorfacedir", {
groups = {dig_immediate=3},
})
+minetest.register_node("testnodes:mesh_4dir", {
+ description = S("4dir Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_ocorner.obj",
+ tiles = {"testnodes_mesh_stripes.png"},
+ paramtype = "light",
+ paramtype2 = "4dir",
+ collision_box = ocorner_cbox,
+
+ groups = {dig_immediate=3},
+})
+
+minetest.register_node("testnodes:mesh_color4dir", {
+ description = S("Color 4dir Mesh Test Node"),
+ drawtype = "mesh",
+ mesh = "testnodes_ocorner.obj",
+ tiles = {"testnodes_mesh_stripes3.png"},
+ paramtype = "light",
+ paramtype2 = "color4dir",
+ palette = "testnodes_palette_4dir.png",
+ collision_box = ocorner_cbox,
+
+ groups = {dig_immediate=3},
+})
+
-- Wallmounted mesh: pyramid
minetest.register_node("testnodes:mesh_wallmounted", {
description = S("Wallmounted Mesh Test Node"),
diff --git a/games/devtest/mods/testnodes/nodeboxes.lua b/games/devtest/mods/testnodes/nodeboxes.lua
index 7e966fdce..e3c03b073 100644
--- a/games/devtest/mods/testnodes/nodeboxes.lua
+++ b/games/devtest/mods/testnodes/nodeboxes.lua
@@ -60,6 +60,25 @@ minetest.register_node("testnodes:nodebox_leveled", {
groups = {dig_immediate=3},
})
+
+local nodebox_wall = {
+ 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},
+}
+
+local nodebox_wall_thick = {
+ type = "connected",
+ fixed = {-0.25, -0.500, -0.25, 0.25, 0.500, 0.25},
+ connect_front = {-0.25, -0.500, -0.500, 0.25, 0.400, -0.25},
+ connect_back = {-0.25, -0.500, 0.25, 0.25, 0.400, 0.500},
+ connect_left = {-0.500, -0.500, -0.25, -0.25, 0.400, 0.25},
+ connect_right = {0.25, -0.500, -0.25, 0.500, 0.400, 0.25},
+}
+
-- Wall-like nodebox that connects to neighbors
minetest.register_node("testnodes:nodebox_connected", {
description = S("Connected Nodebox Test Node"),
@@ -69,13 +88,44 @@ minetest.register_node("testnodes:nodebox_connected", {
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},
+ node_box = nodebox_wall,
+})
+
+minetest.register_node("testnodes:nodebox_connected_facedir", {
+ description = S("Facedir Connected Nodebox Test Node"),
+ tiles = {
+ "testnodes_1.png",
+ "testnodes_2.png",
+ "testnodes_3.png",
+ "testnodes_4.png",
+ "testnodes_5.png",
+ "testnodes_6.png",
},
+ groups = {connected_nodebox=1, dig_immediate=3},
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "facedir",
+ connects_to = {"group:connected_nodebox"},
+ connect_sides = {"front", "back", "left", "right"},
+ node_box = nodebox_wall_thick,
+})
+
+minetest.register_node("testnodes:nodebox_connected_4dir", {
+ description = S("4Dir Connected Nodebox Test Node"),
+ tiles = {
+ "testnodes_1.png^[colorize:#FFFF00:127",
+ "testnodes_2.png^[colorize:#FFFF00:127",
+ "testnodes_3.png^[colorize:#FFFF00:127",
+ "testnodes_4.png^[colorize:#FFFF00:127",
+ "testnodes_5.png^[colorize:#FFFF00:127",
+ "testnodes_6.png^[colorize:#FFFF00:127",
+ },
+ groups = {connected_nodebox=1, dig_immediate=3},
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "4dir",
+ connects_to = {"group:connected_nodebox"},
+ connect_sides = {"front", "back", "left", "right"},
+ node_box = nodebox_wall_thick,
})
diff --git a/games/devtest/mods/testnodes/param2.lua b/games/devtest/mods/testnodes/param2.lua
index 5d64376fa..908b54bfc 100644
--- a/games/devtest/mods/testnodes/param2.lua
+++ b/games/devtest/mods/testnodes/param2.lua
@@ -17,6 +17,21 @@ minetest.register_node("testnodes:facedir", {
groups = { dig_immediate = 3 },
})
+minetest.register_node("testnodes:4dir", {
+ description = S("4dir Test Node"),
+ paramtype2 = "4dir",
+ tiles = {
+ "testnodes_1.png^[colorize:#FFFF00:127",
+ "testnodes_2.png^[colorize:#FFFF00:127",
+ "testnodes_3.png^[colorize:#FFFF00:127",
+ "testnodes_4.png^[colorize:#FFFF00:127",
+ "testnodes_5.png^[colorize:#FFFF00:127",
+ "testnodes_6.png^[colorize:#FFFF00:127",
+ },
+
+ groups = { dig_immediate = 3 },
+})
+
minetest.register_node("testnodes:facedir_nodebox", {
description = S("Facedir Nodebox Test Node"),
tiles = {
@@ -38,6 +53,27 @@ minetest.register_node("testnodes:facedir_nodebox", {
groups = {dig_immediate=3},
})
+minetest.register_node("testnodes:4dir_nodebox", {
+ description = S("4dir Nodebox Test Node"),
+ tiles = {
+ "testnodes_1.png^[colorize:#ffff00:127",
+ "testnodes_2.png^[colorize:#ffff00:127",
+ "testnodes_3.png^[colorize:#ffff00:127",
+ "testnodes_4.png^[colorize:#ffff00:127",
+ "testnodes_5.png^[colorize:#ffff00:127",
+ "testnodes_6.png^[colorize:#ffff00:127",
+ },
+ drawtype = "nodebox",
+ paramtype = "light",
+ paramtype2 = "4dir",
+ 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",
@@ -125,6 +161,44 @@ minetest.register_node("testnodes:colorfacedir_nodebox", {
groups = {dig_immediate=3},
})
+minetest.register_node("testnodes:color4dir", {
+ description = S("Color 4dir Test Node"),
+ paramtype2 = "color4dir",
+ palette = "testnodes_palette_4dir.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:color4dir_nodebox", {
+ description = S("Color 4dir 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 = "color4dir",
+ palette = "testnodes_palette_4dir.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",
diff --git a/games/devtest/mods/testnodes/textures/testnodes_palette_4dir.png b/games/devtest/mods/testnodes/textures/testnodes_palette_4dir.png
new file mode 100644
index 000000000..bf5ebf2d5
--- /dev/null
+++ b/games/devtest/mods/testnodes/textures/testnodes_palette_4dir.png
Binary files differ