mirror of
https://github.com/minetest/minetest.git
synced 2025-07-01 23:50:22 +02:00
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.
This commit is contained in:
@ -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"),
|
||||
|
@ -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,
|
||||
})
|
||||
|
||||
|
@ -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",
|
||||
|
BIN
games/devtest/mods/testnodes/textures/testnodes_palette_4dir.png
Normal file
BIN
games/devtest/mods/testnodes/textures/testnodes_palette_4dir.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 197 B |
Reference in New Issue
Block a user