diff options
| -rw-r--r-- | .luacheckrc | 7 | ||||
| -rw-r--r-- | depends.txt | 2 | ||||
| -rw-r--r-- | init.lua | 55 | ||||
| -rw-r--r-- | mod.conf | 3 | 
4 files changed, 46 insertions, 21 deletions
| diff --git a/.luacheckrc b/.luacheckrc new file mode 100644 index 0000000..e6534f0 --- /dev/null +++ b/.luacheckrc @@ -0,0 +1,7 @@ +max_line_length = 160 + +read_globals = { +	"minetest", +	"mesecon", +	"default", +} diff --git a/depends.txt b/depends.txt deleted file mode 100644 index 23711f7..0000000 --- a/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -mesecons_lightstone -mesecons_lamp
\ No newline at end of file @@ -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") diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..2dfda63 --- /dev/null +++ b/mod.conf @@ -0,0 +1,3 @@ +name = mesecons_display +depends = mesecons_lightstone,mesecons_lamp,default +description = High-Contrast Mesecons Lightstone | 
