summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
authorcheapie <no-email-for-you@example.com>2024-09-14 18:13:02 -0500
committercheapie <no-email-for-you@example.com>2024-09-14 18:13:02 -0500
commit3eafeea0a13133f57c1c48df4e2f344e2830507a (patch)
tree88544a3a46b88a74cb8c43566d8d26a3ec99fd30 /init.lua
parentfd67612c253376d9c2473ad9878fcbf770dd1173 (diff)
downloadmesecons_display-master.tar
mesecons_display-master.tar.gz
mesecons_display-master.tar.bz2
mesecons_display-master.tar.xz
mesecons_display-master.zip
Add luacheck configuration, plus some minor cleanups and a few small enhancementsHEADmaster
Descriptions are now capitalized properly, and inventory images actually show what color each node is
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua55
1 files changed, 36 insertions, 19 deletions
diff --git a/init.lua b/init.lua
index 16344e8..ac9f70d 100644
--- a/init.lua
+++ b/init.lua
@@ -1,26 +1,43 @@
-local function morelightstones_add(name, base_item, texture_off, texture_on)
- minetest.register_node(":mesecons_lightstone:lightstone_hc_" .. name .. "_off", {
+local function invimg(ontex,offtex)
+ --Create inventory images showing the on and off states
+ local oncube = "([inventorycube{"..ontex.."{"..ontex.."{"..ontex..")"
+ local offcube = "([inventorycube{"..offtex.."{"..offtex.."{"..offtex..")"
+
+ --Rotate them 90° so the orientation will be correct for [lowpart
+ oncube = "("..oncube.."^[transformR90)"
+ offcube = "("..offcube.."^[transformR90)"
+
+ --Start with the on texture, then copy the off texture over top of half of it
+ local tex = oncube
+ tex = tex.."^[lowpart:50:"..offcube
+
+ --Rotate the result back to right-side-up
+ tex = tex.."^[transformR270"
+ return tex
+end
+
+local function morelightstones_add(name,base_item,texture_off,texture_on)
+ minetest.register_node(":mesecons_lightstone:lightstone_hc_" .. name:lower() .. "_off", {
+ inventory_image = invimg(texture_on,texture_off),
tiles = {texture_off},
groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
description="High Contrast "..name.." Lightstone",
sounds = default.node_sound_stone_defaults(),
mesecons = {effector = {
- rules = lightstone_rules,
action_on = function (pos, node)
- minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_hc_" .. name .. "_on", param2 = node.param2})
+ minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_hc_" .. name:lower() .. "_on", param2 = node.param2})
end,
}}
})
- minetest.register_node(":mesecons_lightstone:lightstone_hc_" .. name .. "_on", {
+ minetest.register_node(":mesecons_lightstone:lightstone_hc_" .. name:lower() .. "_on", {
tiles = {texture_on},
groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
- drop = "mesecons_lightstone:lightstone_hc_" .. name .. "_off",
+ drop = "mesecons_lightstone:lightstone_hc_" .. name:lower() .. "_off",
light_source = default.LIGHT_MAX-2,
sounds = default.node_sound_stone_defaults(),
mesecons = {effector = {
- rules = lightstone_rules,
action_off = function (pos, node)
- minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_hc_" .. name .. "_off", param2 = node.param2})
+ minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_hc_" .. name:lower() .. "_off", param2 = node.param2})
end,
}}
})
@@ -35,14 +52,14 @@ local function morelightstones_add(name, base_item, texture_off, texture_on)
})
end
-morelightstones_add("red", "dye:red", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_red_on.png")
-morelightstones_add("green", "dye:green", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_green_on.png")
-morelightstones_add("blue", "dye:blue", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_blue_on.png")
-morelightstones_add("gray", "dye:grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_gray_on.png")
-morelightstones_add("yellow", "dye:yellow", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_yellow_on.png")
-morelightstones_add("cyan", "dye:cyan", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_cyan_on.png")
-morelightstones_add("magenta", "dye:magenta", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_magenta_on.png")
-morelightstones_add("orange", "dye:orange", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_orange_on.png")
-morelightstones_add("pink", "dye:pink", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_pink_on.png")
-morelightstones_add("violet", "dye:violet", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_violet_on.png")
-morelightstones_add("white", "dye:white", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_white_on.png")
+morelightstones_add("Red", "dye:red", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_red_on.png")
+morelightstones_add("Green", "dye:green", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_green_on.png")
+morelightstones_add("Blue", "dye:blue", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_blue_on.png")
+morelightstones_add("Gray", "dye:grey", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_gray_on.png")
+morelightstones_add("Yellow", "dye:yellow", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_yellow_on.png")
+morelightstones_add("Cyan", "dye:cyan", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_cyan_on.png")
+morelightstones_add("Magenta", "dye:magenta", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_magenta_on.png")
+morelightstones_add("Orange", "dye:orange", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_orange_on.png")
+morelightstones_add("Pink", "dye:pink", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_pink_on.png")
+morelightstones_add("Violet", "dye:violet", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_violet_on.png")
+morelightstones_add("White", "dye:white", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_white_on.png")