]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
DevTest: Add nodes and items for testing overlays (#12304)
authorWuzzy <Wuzzy@disroot.org>
Fri, 27 May 2022 19:39:36 +0000 (19:39 +0000)
committerGitHub <noreply@github.com>
Fri, 27 May 2022 19:39:36 +0000 (21:39 +0200)
games/devtest/mods/testitems/init.lua [new file with mode: 0644]
games/devtest/mods/testitems/mod.conf [new file with mode: 0644]
games/devtest/mods/testitems/textures/testitems_overlay_base.png [new file with mode: 0644]
games/devtest/mods/testitems/textures/testitems_overlay_overlay.png [new file with mode: 0644]
games/devtest/mods/testnodes/init.lua
games/devtest/mods/testnodes/overlays.lua [new file with mode: 0644]
games/devtest/mods/testnodes/textures/testnodes_overlay.png [new file with mode: 0644]
games/devtest/mods/testnodes/textures/testnodes_overlayable.png [new file with mode: 0644]

diff --git a/games/devtest/mods/testitems/init.lua b/games/devtest/mods/testitems/init.lua
new file mode 100644 (file)
index 0000000..33ebf50
--- /dev/null
@@ -0,0 +1,55 @@
+local S = minetest.get_translator("testitems")
+
+--
+-- Texture overlays for items
+--
+
+-- For the global overlay color test
+local GLOBAL_COLOR_ARG = "orange"
+
+-- Punch handler to set random color with "color" argument in item metadata
+local overlay_on_use = function(itemstack, user, pointed_thing)
+       local meta = itemstack:get_meta()
+       local color = math.random(0x0, 0xFFFFFF)
+       local colorstr = string.format("#%06x", color)
+       meta:set_string("color", colorstr)
+       minetest.log("action", "[testitems] Color of "..itemstack:get_name().." changed to "..colorstr)
+       return itemstack
+end
+-- Place handler to clear item metadata color
+local overlay_on_place = function(itemstack, user, pointed_thing)
+       local meta = itemstack:get_meta()
+       meta:set_string("color", "")
+       return itemstack
+end
+
+minetest.register_craftitem("testitems:overlay_meta", {
+       description = S("Texture Overlay Test Item, Meta Color") .. "\n" ..
+               S("Image must be a square with rainbow cross (inventory and wield)") .. "\n" ..
+               S("Item meta color must only change square color") .. "\n" ..
+               S("Punch: Set random color") .. "\n" ..
+               S("Place: Clear color"),
+       -- Base texture: A grayscale square (can be colorized)
+       inventory_image = "testitems_overlay_base.png",
+       wield_image = "testitems_overlay_base.png",
+       -- Overlay: A rainbow cross (NOT to be colorized!)
+       inventory_overlay = "testitems_overlay_overlay.png",
+       wield_overlay = "testitems_overlay_overlay.png",
+
+       on_use = overlay_on_use,
+       on_place = overlay_on_place,
+       on_secondary_use = overlay_on_place,
+})
+minetest.register_craftitem("testitems:overlay_global", {
+       description = S("Texture Overlay Test Item, Global Color") .. "\n" ..
+               S("Image must be an orange square with rainbow cross (inventory and wield)"),
+       -- Base texture: A grayscale square (to be colorized)
+       inventory_image = "testitems_overlay_base.png",
+       wield_image = "testitems_overlay_base.png",
+       -- Overlay: A rainbow cross (NOT to be colorized!)
+       inventory_overlay = "testitems_overlay_overlay.png",
+       wield_overlay = "testitems_overlay_overlay.png",
+       color = GLOBAL_COLOR_ARG,
+})
+
+
diff --git a/games/devtest/mods/testitems/mod.conf b/games/devtest/mods/testitems/mod.conf
new file mode 100644 (file)
index 0000000..f91febe
--- /dev/null
@@ -0,0 +1,2 @@
+name = testitems
+description = Test mod to test misc. items that are neither tools nor nodes
diff --git a/games/devtest/mods/testitems/textures/testitems_overlay_base.png b/games/devtest/mods/testitems/textures/testitems_overlay_base.png
new file mode 100644 (file)
index 0000000..f473623
Binary files /dev/null and b/games/devtest/mods/testitems/textures/testitems_overlay_base.png differ
diff --git a/games/devtest/mods/testitems/textures/testitems_overlay_overlay.png b/games/devtest/mods/testitems/textures/testitems_overlay_overlay.png
new file mode 100644 (file)
index 0000000..75a7d9f
Binary files /dev/null and b/games/devtest/mods/testitems/textures/testitems_overlay_overlay.png differ
index 92e2c5630de33025e5d9acf520b2e0850ba383a3..d355c4278e5fcef3afaed8275998329005952032 100644 (file)
@@ -8,3 +8,4 @@ dofile(path.."/properties.lua")
 dofile(path.."/liquids.lua")
 dofile(path.."/light.lua")
 dofile(path.."/textures.lua")
+dofile(path.."/overlays.lua")
diff --git a/games/devtest/mods/testnodes/overlays.lua b/games/devtest/mods/testnodes/overlays.lua
new file mode 100644 (file)
index 0000000..294e06a
--- /dev/null
@@ -0,0 +1,93 @@
+local S = minetest.get_translator("testnodes")
+
+minetest.register_node("testnodes:overlay", {
+       description = S("Texture Overlay Test Node") .. "\n" ..
+               S("Uncolorized"),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_color_all", {
+       description = S("Texture Overlay Test Node, Colorized") .. "\n" ..
+               S("param2 changes color"),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_color_overlay", {
+       description = S("Texture Overlay Test Node, Colorized Overlay") .. "\n" ..
+               S("param2 changes color of overlay"),
+       tiles = {{name = "testnodes_overlayable.png", color="white"}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_color_overlayed", {
+       description = S("Texture Overlay Test Node, Colorized Base") .. "\n" ..
+               S("param2 changes color of base texture"),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png", color="white"}},
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
+
+local global_overlay_color = "#FF2000"
+minetest.register_node("testnodes:overlay_global", {
+       description = S("Texture Overlay Test Node, Global Color") .. "\n" ..
+               S("Global color = @1", global_overlay_color),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       color = global_overlay_color,
+
+
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_global_color_all", {
+       description = S("Texture Overlay Test Node, Global Color + Colorized") .. "\n" ..
+               S("Global color = @1", global_overlay_color) .. "\n" ..
+               S("param2 changes color"),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       color = global_overlay_color,
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_global_color_overlay", {
+       description = S("Texture Overlay Test Node, Global Color + Colorized Overlay") .. "\n" ..
+               S("Global color = @1", global_overlay_color) .. "\n" ..
+               S("param2 changes color of overlay"),
+       tiles = {{name = "testnodes_overlayable.png", color=global_overlay_color}},
+       overlay_tiles = {{name = "testnodes_overlay.png"}},
+       color = global_overlay_color,
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
+minetest.register_node("testnodes:overlay_global_color_overlayed", {
+       description = S("Texture Overlay Test Node, Global Color + Colorized Base") .. "\n" ..
+               S("Global color = @1", global_overlay_color) .. "\n" ..
+               S("param2 changes color of base texture"),
+       tiles = {{name = "testnodes_overlayable.png"}},
+       overlay_tiles = {{name = "testnodes_overlay.png", color=global_overlay_color}},
+       color = global_overlay_color,
+       paramtype2 = "color",
+       palette = "testnodes_palette_full.png",
+
+
+       groups = { dig_immediate = 2 },
+})
diff --git a/games/devtest/mods/testnodes/textures/testnodes_overlay.png b/games/devtest/mods/testnodes/textures/testnodes_overlay.png
new file mode 100644 (file)
index 0000000..1c69b5e
Binary files /dev/null and b/games/devtest/mods/testnodes/textures/testnodes_overlay.png differ
diff --git a/games/devtest/mods/testnodes/textures/testnodes_overlayable.png b/games/devtest/mods/testnodes/textures/testnodes_overlayable.png
new file mode 100644 (file)
index 0000000..431bc94
Binary files /dev/null and b/games/devtest/mods/testnodes/textures/testnodes_overlayable.png differ