mirror of
				https://github.com/minetest-mods/mesecons.git
				synced 2025-11-03 20:45:26 +01:00 
			
		
		
		
	Compat shim for minetest.swap_node, lightstone conducts from the bottom.
This commit is contained in:
		@@ -0,0 +1,5 @@
 | 
			
		||||
minetest.swap_node = minetest.swap_node or function(pos, node)
 | 
			
		||||
	local data = minetest.get_meta(pos):to_table()
 | 
			
		||||
	minetest.add_node(pos, node)
 | 
			
		||||
	minetest.get_meta(pos):from_table(data)
 | 
			
		||||
end
 | 
			
		||||
@@ -1,15 +1,32 @@
 | 
			
		||||
local lightstone_rules = {
 | 
			
		||||
	{x=0,  y=0,  z=-1},
 | 
			
		||||
	{x=1,  y=0,  z=0},
 | 
			
		||||
	{x=-1, y=0,  z=0},
 | 
			
		||||
	{x=0,  y=0,  z=1},
 | 
			
		||||
	{x=1,  y=1,  z=0},
 | 
			
		||||
	{x=1,  y=-1, z=0},
 | 
			
		||||
	{x=-1, y=1,  z=0},
 | 
			
		||||
	{x=-1, y=-1, z=0},
 | 
			
		||||
	{x=0,  y=1,  z=1},
 | 
			
		||||
	{x=0,  y=-1, z=1},
 | 
			
		||||
	{x=0,  y=1,  z=-1},
 | 
			
		||||
	{x=0,  y=-1, z=-1},
 | 
			
		||||
	{x=0,  y=-1, z=0},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mesecon:lightstone_add(name, base_item, texture_off, texture_on)
 | 
			
		||||
	minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_off", {
 | 
			
		||||
	tiles = {texture_off},
 | 
			
		||||
	groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
 | 
			
		||||
	description=name.." Lightstone",
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	mesecons = {effector = {
 | 
			
		||||
		action_on = function (pos, node)
 | 
			
		||||
			minetest.swap_node(pos, {name = "mesecons_lightstone:lightstone_" .. name .. "_on", param2 = node.param2})
 | 
			
		||||
		end
 | 
			
		||||
	}}
 | 
			
		||||
    })
 | 
			
		||||
		tiles = {texture_off},
 | 
			
		||||
		groups = {cracky=2, mesecon_effector_off = 1, mesecon = 2},
 | 
			
		||||
		description=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_" .. name .. "_on", param2 = node.param2})
 | 
			
		||||
			end,
 | 
			
		||||
		}}
 | 
			
		||||
	})
 | 
			
		||||
	minetest.register_node("mesecons_lightstone:lightstone_" .. name .. "_on", {
 | 
			
		||||
	tiles = {texture_on},
 | 
			
		||||
	groups = {cracky=2,not_in_creative_inventory=1, mesecon = 2},
 | 
			
		||||
@@ -17,9 +34,10 @@ function mesecon:lightstone_add(name, base_item, texture_off, texture_on)
 | 
			
		||||
	light_source = 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_" .. name .. "_off", param2 = node.param2})
 | 
			
		||||
		end
 | 
			
		||||
		end,
 | 
			
		||||
	}}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user