From 3eafeea0a13133f57c1c48df4e2f344e2830507a Mon Sep 17 00:00:00 2001 From: cheapie Date: Sat, 14 Sep 2024 18:13:02 -0500 Subject: Add luacheck configuration, plus some minor cleanups and a few small enhancements Descriptions are now capitalized properly, and inventory images actually show what color each node is --- init.lua | 55 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 19 deletions(-) (limited to 'init.lua') 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") -- cgit v1.2.3