diff options
Diffstat (limited to 'jeija')
90 files changed, 0 insertions, 2654 deletions
diff --git a/jeija/VERSION b/jeija/VERSION deleted file mode 100644 index 75b9e03..0000000 --- a/jeija/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.41 DEV diff --git a/jeija/alias.lua b/jeija/alias.lua deleted file mode 100644 index 8d091cc..0000000 --- a/jeija/alias.lua +++ /dev/null @@ -1,21 +0,0 @@ --- This file registers aliases for the /give /giveme commands. - -minetest.register_alias("jeija:meselamp", "jeija:meselamp_off") -minetest.register_alias("jeija:mesecon", "jeija:mesecon_off") -minetest.register_alias("jeija:object_detector", "jeija:object_detector_off") -minetest.register_alias("jeija:wireless_inverter", "jeija:wireless_inverter_on") -minetest.register_alias("jeija:wireless_receiver", "jeija:wireless_receiver_off") -minetest.register_alias("jeija:wireless_transmitter", "jeija:wireless_transmitter_off") -minetest.register_alias("jeija:switch", "jeija:mesecon_switch_off") -minetest.register_alias("jeija:wall_button", "jeija:wall_button_off") -minetest.register_alias("jeija:piston", "jeija:piston_normal") -minetest.register_alias("jeija:blinky_plant", "jeija:blinky_plant_off") -minetest.register_alias("jeija:mesecon_torch", "jeija:mesecon_torch_on") -minetest.register_alias("jeija:hydro_turbine", "jeija:hydro_turbine_off") -minetest.register_alias("jeija:pressure_plate_stone", "jeija:pressure_plate_stone_off") -minetest.register_alias("jeija:pressure_plate_wood", "jeija:pressure_plate_wood_off") - -if ENABLE_TEMPEREST==1 then -	minetest.register_alias("jeija:mesecon_socket", "jeija:mesecon_socket_off") -	minetest.register_alias("jeija:mesecon_inverter", "jeija:mesecon_inverter_on") -end
\ No newline at end of file diff --git a/jeija/button.lua b/jeija/button.lua deleted file mode 100644 index 13d2426..0000000 --- a/jeija/button.lua +++ /dev/null @@ -1,89 +0,0 @@ --- WALL BUTTON -minetest.register_node("jeija:wall_button_off", { -    drawtype = "signlike", -    tile_images = {"jeija_wall_button_off.png"}, -    inventory_image = "jeija_wall_button_off.png", -    wield_image = "jeija_wall_button_off.png", -    paramtype = "light", -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    walkable = false, -    selection_box = { -        type = "wallmounted", -    }, -    material = minetest.digprop_constanttime(0.3), -    description="Button", -}) -minetest.register_node("jeija:wall_button_on", { -    drawtype = "signlike", -    tile_images = {"jeija_wall_button_on.png"}, -    inventory_image = "jeija_wall_button_on.png", -    paramtype = "light", -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    walkable = false, -    selection_box = { -        type = "wallmounted", -    }, -    material = minetest.digprop_constanttime(0.3), -    drop = '"jeija:wall_button_off" 1', -    description="Button", -}) - -minetest.register_on_dignode( -    function(pos, oldnode, digger) -        if oldnode.name == "jeija:wall_button_on" then -            mesecon:receptor_off(pos) -        end     -    end -) -minetest.register_on_punchnode(function(pos, node, puncher) -	if node.name == "jeija:wall_button_off" then -		minetest.env:add_node(pos, {name="jeija:wall_button_on",param2=node.param2}) -		local rules_string="" -		if node.param2 == 5 then -			rules_string="button_z+" -		end -		if node.param2 == 3 then -			rules_string="button_x+" -		end -		if node.param2 == 4 then -			rules_string="button_z-" -		end -		if node.param2 == 2 then -			rules_string="button_x-" -		end -		mesecon:receptor_on(pos, rules_string) -	end -end) -minetest.register_abm({ -	nodenames = {"jeija:wall_button_on"}, -	interval = 0.1, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		minetest.env:add_node(pos, {name="jeija:wall_button_off",param2=node.param2}) - -		local rules_string="" -		if node.param2 == 5 then -			rules_string="button_z+" -		end -		if node.param2 == 3 then -			rules_string="button_x+" -		end -		if node.param2 == 4 then -			rules_string="button_z-" -		end -		if node.param2 == 2 then -			rules_string="button_x-" -		end -        	mesecon:receptor_off(pos, rules_string) -	end -}) -minetest.register_craft({ -	output = '"jeija:wall_button_off" 2', -	recipe = { -		{'"jeija:mesecon_off"','"default:stone"'}, -	} -}) -mesecon:add_receptor_node("jeija:wall_button") -mesecon:add_receptor_node_off("jeija:wall_button_off") diff --git a/jeija/depends.txt b/jeija/depends.txt deleted file mode 100644 index 4d77aa1..0000000 --- a/jeija/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -default -experimental diff --git a/jeija/detector.lua b/jeija/detector.lua deleted file mode 100644 index e62e89c..0000000 --- a/jeija/detector.lua +++ /dev/null @@ -1,85 +0,0 @@ ---SHORT RANGE DETECTORS -minetest.register_node("jeija:object_detector_off", { -	tile_images = {"default_steel_block.png", "default_steel_block.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png", "jeija_object_detector_off.png"}, -	paramtype = "light", -	walkable = true, -	material = minetest.digprop_stonelike(4), -	description="Player Detector", -}) - -minetest.register_node("jeija:object_detector_on", { -	tile_images = {"default_steel_block.png", "default_steel_block.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png", "jeija_object_detector_on.png"}, -	paramtype = "light", -	walkable = true, -	material = minetest.digprop_stonelike(4), -	drop = '"jeija:object_detector_off" 1', -	description="Player Detector", -}) - -minetest.register_craft({ -	output = '"jeija:object_detector_off" 1', -	recipe = { -		{"default:steelblock", '', "default:steelblock"}, -		{"default:steelblock", "jeija:ic", "default:steelblock"}, -		{"default:steelblock", "jeija:mesecon_off", "default:steelblock"}, -	} -}) - -minetest.register_abm( -	{nodenames = {"jeija:object_detector_off"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 6) -		for k, obj in pairs(objs) do -			if obj:get_entity_name()~="jeija:piston_pusher_sticky" and obj:get_entity_name()~="jeija:piston_pusher_normal" and obj:get_player_name()~=nil then -- Detected object is not piston pusher - will be changed if every entity has a type (like entity_type=mob) -				if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name=="default:sign_wall" then -					if obj:get_player_name()~=minetest.env:get_meta({x=pos.x, y=pos.y-1, z=pos.z}):get_text() then -						return -					end -				end -				local objpos=obj:getpos() -				minetest.env:add_node(pos, {name="jeija:object_detector_on"}) -				mesecon:receptor_on(pos, "pressureplate") -			end -		end	 -	end, -}) - -minetest.register_abm( -	{nodenames = {"jeija:object_detector_on"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 6) -		local objectfound=0 -		for k, obj in pairs(objs) do -			if obj:get_entity_name()~="jeija:piston_pusher_sticky" and obj:get_entity_name()~="jeija:piston_pusher_normal" and obj~=nil  -			and obj:get_player_name()~=nil then -				if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name=="default:sign_wall" then -					if minetest.env:get_meta({x=pos.x, y=pos.y-1, z=pos.z}):get_text() == obj:get_player_name() then -						objectfound=objectfound+1 -					end -				else --- Detected object is not piston pusher - will be changed if every entity has a type (like entity_type=mob) -					objectfound=objectfound + 1 -				end -			end -		end	 -		if objectfound==0 then -			minetest.env:add_node(pos, {name="jeija:object_detector_off"}) -			mesecon:receptor_off(pos, "pressureplate") -		end -	end, -}) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:object_detector_on" then -			mesecon:receptor_off(pos, "pressureplate") -		end	 -	end -) - -mesecon:add_receptor_node("jeija:object_detector_on") -mesecon:add_receptor_node_off("jeija:object_detector_off") diff --git a/jeija/init.lua b/jeija/init.lua deleted file mode 100644 index 81311b7..0000000 --- a/jeija/init.lua +++ /dev/null @@ -1,904 +0,0 @@ --- |\    /| ____ ____  ____ _____   ____         _____ --- | \  / | |    |     |    |      |    | |\   | | --- |  \/  | |___ ____  |___ |      |    | | \  | |____ --- |      | |        | |    |      |    | |  \ |     | --- |      | |___ ____| |___ |____  |____| |   \| ____| --- by Jeija and Minerd247 --- --- --- --- This mod adds mesecons[=minecraft redstone] and different receptors/effectors to minetest. --- --- See the documentation on the forum for additional information, especially about crafting --- ---Quick Developer documentation for the mesecon API ---================================================= --- ---RECEPTORS --- ---A receptor is a node that emits power, e.g. a solar panel, a switch or a power plant. ---Usually you create two blocks per receptor that have to be switched when switching the on/off state:  ---	# An off-state node (e.g. jeija:mesecon_switch_off" ---	# An on-state node (e.g. jeija:mesecon_switch_on" ---The on-state and off-state nodes should be registered in the mesecon api,  ---so that the Mesecon circuit can be recalculated. This can be done using --- ---mesecon:add_receptor_node(nodename) -- for on-state node ---mesecon:add_receptor_node_off(nodename) -- for off-state node ---example: mesecon:add_receptor_node("jeija:mesecon_switch_on") --- ---Turning receptors on and off ---Usually the receptor has to turn on and off. For this, you have to ---	# Remove the node and replace it with the node in the other state (e.g. replace on by off) ---	# Send the event to the mesecon circuit by using the api functions ---		mesecon:receptor_on (pos, rules) } These functions take the position of your receptor ---		mesecon:receptor_off(pos, rules) } as their parameter. --- ---You can specify the rules using the rules parameter. If you don't want special rules, just leave it out --- ---!! If a receptor node is removed, the circuit should be recalculated. This means you have to ---send an mesecon:receptor_off signal to the api when the function in minetest.register_on_dignode ---is called. --- ---EFFECTORS --- ---A receptor is a node that uses power and transfers the signal to a mechanical, optical whatever ---event. e.g. the meselamp, the movestone or the removestone. --- ---There are two callback functions for receptors. ---	# function mesecon:register_on_signal_on (action) ---	# function mesecon:register_on_signal_off(action) --- ---These functions will be called for each block next to a mesecon conductor. --- ---Example: The removestone ---The removestone only uses one callback: The mesecon:register_on_signal_on function --- ---mesecon:register_on_signal_on(function(pos, node) -- As the action prameter you have to use a function ---	if node.name=="jeija:removestone" then -- Check if it really is removestone. If you wouldn't use this, every node next to mesecons would be removed ---		minetest.env:remove_node(pos) -- The action: The removestone is removed ---	end -- end of if ---end) -- end of the function, )=end of the parameters of mesecon:register_on_signal_on - --- SETTINGS -ENABLE_TEMPEREST=0 -ENABLE_PISTON_ANIMATION=0 -BLINKY_PLANT_INTERVAL=3 -OLD_PISTON_DIRECTION=0 - --- PUBLIC VARIABLES -mesecon={} -- contains all functions and all global variables -mesecon.actions_on={} -- Saves registered function callbacks for mesecon on -mesecon.actions_off={} -- Saves registered function callbacks for mesecon off -mesecon.pwr_srcs={} -- this is public for now -mesecon.pwr_srcs_off={} -- this is public for now -mesecon.wireless_receivers={} -mesecon.mvps_stoppers={} - - --- MESECONS - -minetest.register_node("jeija:mesecon_off", { -	drawtype = "raillike", -	tile_images = {"jeija_mesecon_off.png", "jeija_mesecon_curved_off.png", "jeija_mesecon_t_junction_off.png", "jeija_mesecon_crossing_off.png"}, -	inventory_image = "jeija_mesecon_off.png", -	wield_image = "jeija_mesecon_off.png", -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.1), -    	description="Mesecons", -}) - -minetest.register_node("jeija:mesecon_on", { -	drawtype = "raillike", -	tile_images = {"jeija_mesecon_on.png", "jeija_mesecon_curved_on.png", "jeija_mesecon_t_junction_on.png", "jeija_mesecon_crossing_on.png"}, -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.1), -	drop = '"jeija:mesecon_off" 1', -	light_source = LIGHT_MAX-11, -}) - -minetest.register_craft({ -	output = '"jeija:mesecon_off" 16', -	recipe = { -		{'"default:mese"'}, -	} -}) - -function mesecon:is_power_on(p, x, y, z) -	local lpos = {} -	lpos.x=p.x+x -	lpos.y=p.y+y -	lpos.z=p.z+z -	local node = minetest.env:get_node(lpos) -	if node.name == "jeija:mesecon_on" or mesecon:is_receptor_node(node.name) then -		return 1 -	end -	return 0 -end - -function mesecon:is_power_off(p, x, y, z) -	local lpos = {} -	lpos.x=p.x+x -	lpos.y=p.y+y -	lpos.z=p.z+z -	local node = minetest.env:get_node(lpos) -	if node.name == "jeija:mesecon_off" or mesecon:is_receptor_node_off(node.name) then -		return 1 -	end -	return 0 -end - -function mesecon:turnon(p, x, y, z, firstcall, rules) -	if rules==nil then -		rules="default" -	end -	local lpos = {} -	lpos.x=p.x+x -	lpos.y=p.y+y -	lpos.z=p.z+z - -	mesecon:activate(lpos) - -	local node = minetest.env:get_node(lpos) -	if node.name == "jeija:mesecon_off" then -		--minetest.env:remove_node(lpos) -		minetest.env:add_node(lpos, {name="jeija:mesecon_on"}) -		nodeupdate(lpos) -	end -	if node.name == "jeija:mesecon_off" or firstcall then -		local rules=mesecon:get_rules(rules) -		local i=1 -		while rules[i]~=nil do  -			mesecon:turnon(lpos, rules[i].x, rules[i].y, rules[i].z, false, "default") -			i=i+1 -		end -	end -end - -function mesecon:turnoff(pos, x, y, z, firstcall, rules) -	if rules==nil then -		rules="default" -	end -	local lpos = {} -	lpos.x=pos.x+x -	lpos.y=pos.y+y -	lpos.z=pos.z+z - -	local node = minetest.env:get_node(lpos) -	local connected = 0 -	local checked = {} - -	if not mesecon:check_if_turnon(lpos) then -		mesecon:deactivate(lpos) -	end - -	if not(firstcall) and connected==0 then -		connected=mesecon:connected_to_pw_src(lpos, 0, 0, 0, checked)	 -	end - -	if connected == 0 and  node.name == "jeija:mesecon_on" then -		--minetest.env:remove_node(lpos) -		minetest.env:add_node(lpos, {name="jeija:mesecon_off"}) -		nodeupdate(lpos) -	end - - -	if node.name == "jeija:mesecon_on" or firstcall then -		if connected == 0 then -			local rules=mesecon:get_rules(rules) -			local i=1 -			while rules[i]~=nil do  -				mesecon:turnoff(lpos, rules[i].x, rules[i].y, rules[i].z, false, "default") -				i=i+1 -			end -		end -	end -end - - -function mesecon:connected_to_pw_src(pos, x, y, z, checked, firstcall) -	local i=1 -	local lpos = {} - -	lpos.x=pos.x+x -	lpos.y=pos.y+y -	lpos.z=pos.z+z - -	 -	local node = minetest.env:get_node_or_nil(lpos) - -	if not(node==nil) then -		repeat -			i=i+1 -			if checked[i]==nil then checked[i]={} break end -			if  checked[i].x==lpos.x and checked[i].y==lpos.y and checked[i].z==lpos.z then  -				return 0 -			end -		until false - -		checked[i].x=lpos.x -		checked[i].y=lpos.y -		checked[i].z=lpos.z - -		if mesecon:is_receptor_node(node.name) == true then -- receptor nodes (power sources) can be added using mesecon:add_receptor_node -			return 1 -		end - -		if node.name=="jeija:mesecon_on" or firstcall then -- add other conductors here -				local pw_source_found=0				 -				local rules=mesecon:get_rules("default") -				local i=1 -				while rules[i]~=nil do  -					pw_source_found=pw_source_found+mesecon:connected_to_pw_src(lpos, rules[i].x, rules[i].y, rules[i].z, checked, false) -					i=i+1 -				end -			if pw_source_found > 0 then -				return 1 -			end  -		end -	end -	return 0 -end - -function mesecon:check_if_turnon(pos) -	local getactivated=0 -	local rules=mesecon:get_rules("default") -	local i=1 -	while rules[i]~=nil do  -		getactivated=getactivated+mesecon:is_power_on(pos, rules[i].x, rules[i].y, rules[i].z) -		i=i+1 -	end -	if getactivated > 0 then -		return true -	end -	return false -end - -minetest.register_on_placenode(function(pos, newnode, placer) -	if mesecon:check_if_turnon(pos) then -		if newnode.name == "jeija:mesecon_off" then -			mesecon:turnon(pos, 0, 0, 0)		 -		else -			mesecon:activate(pos) -		end -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:mesecon_on" then -			mesecon:turnoff(pos, 0, 0, 0, true) -		end	 -	end -) - --- API API API API API API API API API API API API API API API API API API - -function mesecon:add_receptor_node(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.pwr_srcs[i]==nil then break end -	until false -	mesecon.pwr_srcs[i]=nodename -end - -function mesecon:add_receptor_node_off(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.pwr_srcs_off[i]==nil then break end -	until false -	mesecon.pwr_srcs_off[i]=nodename -end - -function mesecon:receptor_on(pos, rules) -	mesecon:turnon(pos, 0, 0, 0, true, rules) -end - -function mesecon:receptor_off(pos, rules) -	mesecon:turnoff(pos, 0, 0, 0, true, rules) -end - -function mesecon:register_on_signal_on(action) -	local i	= 1	 -	repeat -		i=i+1 -		if mesecon.actions_on[i]==nil then break end -	until false -	mesecon.actions_on[i]=action -end - -function mesecon:register_on_signal_off(action) -	local i	= 1	 -	repeat -		i=i+1 -		if mesecon.actions_off[i]==nil then break end -	until false -	mesecon.actions_off[i]=action -end - - - --- INTERNAL API - - -function mesecon:is_receptor_node(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.pwr_srcs[i]==nodename then return true end -	until mesecon.pwr_srcs[i]==nil -	return false -end - -function mesecon:is_receptor_node_off(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.pwr_srcs_off[i]==nodename then return true end -	until mesecon.pwr_srcs_off[i]==nil -	return false -end - - -function mesecon:activate(pos) -	local node = minetest.env:get_node(pos)	 -	local i = 1 -	repeat -		i=i+1 -		if mesecon.actions_on[i]~=nil then mesecon.actions_on[i](pos, node)  -		else break			 -		end -	until false -end - -function mesecon:deactivate(pos) -	local node = minetest.env:get_node(pos)	 -	local i = 1 -	local checked={}		 -	repeat -		i=i+1 -		if mesecon.actions_off[i]~=nil then mesecon.actions_off[i](pos, node)  -		else break			 -		end -	until false -end - - -mesecon:register_on_signal_on(function(pos, node) -	if node.name=="jeija:meselamp_off" then -		--minetest.env:remove_node(pos) -		minetest.env:add_node(pos, {name="jeija:meselamp_on"}) -		nodeupdate(pos) -	end -end) - -mesecon:register_on_signal_off(function(pos, node) -	if node.name=="jeija:meselamp_on" then -		--minetest.env:remove_node(pos) -		minetest.env:add_node(pos, {name="jeija:meselamp_off"}) -		nodeupdate(pos) -	end -end) - --- mesecon rules -function mesecon:get_rules(name) -	local rules={} -	rules[0]="dummy" -	if name=="default" then	 -		table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=-1, y=0,  z=0}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=-1, z=0}) -		table.insert(rules, {x=-1, y=1,  z=0}) -		table.insert(rules, {x=-1, y=-1, z=0}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=-1, z=1}) -		table.insert(rules, {x=0,  y=1,  z=-1}) -		table.insert(rules, {x=0,  y=-1, z=-1}) -	end -	if name=="movestone" then -		table.insert(rules, {x=0,  y=1,  z=-1}) -		table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=0,  y=-1, z=-1}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=-1, z=1}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=-1, z=0}) -		table.insert(rules, {x=-1, y=1,  z=0}) -		table.insert(rules, {x=-1, y=-1, z=0}) -		table.insert(rules, {x=-1, y=0,  z=0}) -	end -	if name=="piston" then -		table.insert(rules, {x=0,  y=1,  z=0}) -		table.insert(rules, {x=0,  y=-1,  z=0}) -		table.insert(rules, {x=0,  y=1,  z=-1}) -		table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=0,  y=-1, z=-1}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=-1, z=1}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=-1, z=0}) -		table.insert(rules, {x=-1, y=1,  z=0}) -		table.insert(rules, {x=-1, y=-1, z=0}) -		table.insert(rules, {x=-1, y=0,  z=0}) -	end -	if name=="pressureplate" then -		table.insert(rules, {x=0,  y=1,  z=-1}) -		table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=0,  y=-1, z=-1}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=-1, z=1}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=-1, z=0}) -		table.insert(rules, {x=-1, y=1,  z=0}) -		table.insert(rules, {x=-1, y=-1, z=0}) -		table.insert(rules, {x=-1, y=0,  z=0}) -		table.insert(rules, {x=0, y=-1,  z=0}) -		table.insert(rules, {x=0, y=1,  z=0}) -	end -	if name=="mesecontorch_x-" then -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=0,  y=0,  z=-1}) -	end -	if name=="mesecontorch_x+" then -		table.insert(rules, {x=-1,  y=0,  z=0}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=0,  y=0,  z=-1}) -	end -	if name=="mesecontorch_z-" then -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=-1,  y=0,  z=0}) -	end -	if name=="mesecontorch_z+" then -		table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=-1,  y=0,  z=0}) -	end -	if name=="mesecontorch_y-" then -	    table.insert(rules, {x=0,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=-1,  y=1,  z=0}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=1,  z=-1}) -	end -	if name=="mesecontorch_y+" then -	    table.insert(rules, {x=0,  y=-1,  z=0}) -		table.insert(rules, {x=1,  y=-1,  z=0}) -		table.insert(rules, {x=-1,  y=-1,  z=0}) -		table.insert(rules, {x=0,  y=-1,  z=1}) -		table.insert(rules, {x=0,  y=-1,  z=-1}) -	end - -	if name=="button_x+" or name=="button_x-" -	or name=="button_z-" or name=="button_z+" then --Is any button -table.insert(rules, {x=0,  y=0,  z=-1}) -		table.insert(rules, {x=1,  y=0,  z=0}) -		table.insert(rules, {x=-1, y=0,  z=0}) -		table.insert(rules, {x=0,  y=0,  z=1}) -		table.insert(rules, {x=1,  y=1,  z=0}) -		table.insert(rules, {x=1,  y=-1, z=0}) -		table.insert(rules, {x=-1, y=1,  z=0}) -		table.insert(rules, {x=-1, y=-1, z=0}) -		table.insert(rules, {x=0,  y=1,  z=1}) -		table.insert(rules, {x=0,  y=-1, z=1}) -		table.insert(rules, {x=0,  y=1,  z=-1}) -		table.insert(rules, {x=0,  y=-1, z=-1}) -		table.insert(rules, {x=0,  y=-1, z=0}) -	end -	if name=="button_x+" then	 -		table.insert(rules, {x=-2,  y=0,  z=0})	 -	end -	if name=="button_x-" then	 -		table.insert(rules, {x=2,  y=0,  z=0})	 -	end -	if name=="button_z+" then	 -		table.insert(rules, {x=0,  y=0,  z=-2})	 -	end -	if name=="button_z-" then	 -		table.insert(rules, {x=0,  y=0,  z=2})	 -	end -	return rules -end - - - - - - --- The POWER_PLANT - -minetest.register_node("jeija:power_plant", { -	drawtype = "plantlike", -	visual_scale = 1, -	tile_images = {"jeija_power_plant.png"}, -	inventory_image = "jeija_power_plant.png", -	paramtype = "light", -	walkable = false, -	material = minetest.digprop_leaveslike(0.2), -	light_source = LIGHT_MAX-9, -    	description="Power Plant", -}) - -minetest.register_craft({ -	output = '"jeija:power_plant" 1', -	recipe = { -		{'"jeija:mesecon_off"'}, -		{'"jeija:mesecon_off"'}, -		{'"default:junglegrass"'}, -	} -}) - -minetest.register_on_placenode(function(pos, newnode, placer) -	if newnode.name == "jeija:power_plant" then -		mesecon:receptor_on(pos) -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:power_plant" then -			mesecon:receptor_off(pos) -		end	 -	end -) - -mesecon:add_receptor_node("jeija:power_plant") - - --- The BLINKY_PLANT - -minetest.register_node("jeija:blinky_plant_off", { -	drawtype = "plantlike", -	visual_scale = 1, -	tile_images = {"jeija_blinky_plant_off.png"}, -	inventory_image = "jeija_blinky_plant_off.png", -	paramtype = "light", -	walkable = false, -	material = minetest.digprop_leaveslike(0.2), -    	description="Blinky Plant", -}) - -minetest.register_node("jeija:blinky_plant_on", { -	drawtype = "plantlike", -	visual_scale = 1, -	tile_images = {"jeija_blinky_plant_on.png"}, -	inventory_image = "jeija_blinky_plant_off.png", -	paramtype = "light", -	walkable = false, -	material = minetest.digprop_leaveslike(0.2), -	drop='"jeija:blinky_plant_off" 1', -	light_source = LIGHT_MAX-7, -    	description="Blinky Plant", -}) - -minetest.register_craft({ -	output = '"jeija:blinky_plant_off" 1', -	recipe = { -	{'','"jeija:mesecon_off"',''}, -	{'','"jeija:mesecon_off"',''}, -	{'"default:junglegrass"','"default:junglegrass"','"default:junglegrass"'}, -	} -}) - -minetest.register_abm( -	{nodenames = {"jeija:blinky_plant_off"}, -	interval = BLINKY_PLANT_INTERVAL, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		--minetest.env:remove_node(pos) -		minetest.env:add_node(pos, {name="jeija:blinky_plant_on"}) -		nodeupdate(pos)	 -		mesecon:receptor_on(pos) -	end, -}) - -minetest.register_abm({ -	nodenames = {"jeija:blinky_plant_on"}, -	interval = BLINKY_PLANT_INTERVAL, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		--minetest.env:remove_node(pos) -		minetest.env:add_node(pos, {name="jeija:blinky_plant_off"}) -		nodeupdate(pos)	 -		mesecon:receptor_off(pos) -	end, -}) - -mesecon:add_receptor_node("jeija:blinky_plant_on") -mesecon:add_receptor_node_off("jeija:blinky_plant_off") - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:blinky_plant_on" then -			mesecon:receptor_off(pos) -		end -	end -) - --- Silicon -minetest.register_craftitem("jeija:silicon", { -	image = "jeija_silicon.png", -	on_place_on_ground = minetest.craftitem_place_item, -    	description="Silicon", -}) - --- IC -minetest.register_craftitem("jeija:ic", { -	image = "jeija_ic.png", -	on_place_on_ground = minetest.craftitem_place_item, -    	description="IC", -}) - -minetest.register_craft({ -	output = 'craft "jeija:ic" 2', -	recipe = { -		{'jeija:silicon', 'jeija:silicon', 'jeija:mesecon_off'}, -		{'jeija:silicon', 'jeija:silicon', 'jeija:mesecon_off'}, -		{'jeija:mesecon_off', 'jeija:mesecon_off', ''}, -	} -}) - --- Solar Panel -minetest.register_node("jeija:solar_panel", { -	drawtype = "raillike", -	tile_images = {"jeija_solar_panel.png"}, -	inventory_image = "jeija_solar_panel.png", -	wield_image = "jeija_solar_panel.png", -	paramtype = "light", -	walkable = false, -	is_ground_content = true, -	selection_box = { -		type = "fixed", -	}, -	furnace_burntime = 5, -	material = minetest.digprop_dirtlike(0.1), -    	description="Solar Panel", -}) - -minetest.register_craft({ -	output = '"jeija:silicon" 4', -	recipe = { -		{'"default:sand"', '"default:sand"'}, -		{'"default:sand"', '"default:steel_ingot"'}, -	} -}) - -minetest.register_craft({ -	output = '"jeija:solar_panel" 1', -	recipe = { -		{'"jeija:silicon"', '"jeija:silicon"'}, -		{'"jeija:silicon"', '"jeija:silicon"'}, -	} -}) - -minetest.register_abm( -	{nodenames = {"jeija:solar_panel"}, -	interval = 0.1, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local light = minetest.env:get_node_light(pos, nil) -		if light == nil then light = 0 end -		if light >= 12 then -			mesecon:receptor_on(pos) -		else -			mesecon:receptor_off(pos) -		end -	end, -}) - - --- MESELAMPS -minetest.register_node("jeija:meselamp_on", { -	drawtype = "torchlike", -	tile_images = {"jeija_meselamp_on_ceiling_on.png", "jeija_meselamp_on_floor_on.png", "jeija_meselamp_on.png"}, -	inventory_image = "jeija_meselamp_on_floor_on.png", -	paramtype = "light", -	sunlight_propagates = true, -	walkable = false, -	legacy_wallmounted = true, -	paramtype2 = "wallmounted", -	light_source = LIGHT_MAX, -	selection_box = { -		--type = "wallmounted", -		--type = "fixed", -		fixed = {-0.38, -0.5, -0.1, 0.38, -0.2, 0.1}, -	}, -	material = minetest.digprop_constanttime(0.1), -	drop='"jeija:meselamp_off" 1', -    	description="Meselamp", -}) - -minetest.register_node("jeija:meselamp_off", { -	drawtype = "torchlike", -	tile_images = {"jeija_meselamp_on_ceiling_off.png", "jeija_meselamp_on_floor_off.png", "jeija_meselamp_off.png"}, -	inventory_image = "jeija_meselamp_on_floor_off.png", -	wield_image = "jeija_meselamp_on_ceiling_off.png", -	paramtype = "light", -	sunlight_propagates = true, -	walkable = false, -	wall_mounted = false, -	selection_box = { -		--type = "fixed", -		fixed = {-0.38, -0.5, -0.1, 0.38, -0.2, 0.1}, -	}, -	material = minetest.digprop_constanttime(0.1), -    	description="Meselamp", -}) - -minetest.register_craft({ -	output = '"jeija:meselamp_off" 1', -	recipe = { -		{'', '"default:glass"', ''}, -		{'"jeija:mesecon_off"', '"default:steel_ingot"', '"jeija:mesecon_off"'}, -		{'', '"default:glass"', ''}, -	} -}) - ---GLUE -minetest.register_craftitem("jeija:glue", { -	image = "jeija_glue.png", -	on_place_on_ground = minetest.craftitem_place_item, -    	description="Glue", -}) - -minetest.register_craft({ -	output = '"jeija:glue" 2', -	recipe = { -		{'"default:junglegrass"', '"default:junglegrass"'}, -		{'"default:junglegrass"', '"default:junglegrass"'}, -	} -}) - - --- HYDRO_TURBINE - -minetest.register_node("jeija:hydro_turbine_off", { -	tile_images = {"jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png"}, -	material = minetest.digprop_constanttime(0.5), -    	description="Water Turbine", -}) - -minetest.register_node("jeija:hydro_turbine_on", { -	tile_images = {"jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png"}, -	drop = '"jeija:hydro_turbine_off" 1', -	material = minetest.digprop_constanttime(0.5), -    	description="Water Turbine", -}) - - -minetest.register_abm({ -nodenames = {"jeija:hydro_turbine_off"}, -	interval = 1, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local waterpos={x=pos.x, y=pos.y+1, z=pos.z} -		if minetest.env:get_node(waterpos).name=="default:water_flowing" then -			--minetest.env:remove_node(pos) -			minetest.env:add_node(pos, {name="jeija:hydro_turbine_on"}) -			nodeupdate(pos) -			mesecon:receptor_on(pos) -		end -	end, -}) - -minetest.register_abm({ -nodenames = {"jeija:hydro_turbine_on"}, -	interval = 1, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local waterpos={x=pos.x, y=pos.y+1, z=pos.z} -		if minetest.env:get_node(waterpos).name~="default:water_flowing" then -			--minetest.env:remove_node(pos) -			minetest.env:add_node(pos, {name="jeija:hydro_turbine_off"}) -			nodeupdate(pos) -			mesecon:receptor_off(pos) -		end -	end, -}) - -mesecon:add_receptor_node("jeija:hydro_turbine_on") -mesecon:add_receptor_node_off("jeija:hydro_turbine_off") - -minetest.register_craft({ -	output = '"jeija:hydro_turbine_off" 2', -	recipe = { -	{'','"default:stick"', ''}, -	{'"default:stick"', '"default:steel_ingot"', '"default:stick"'}, -	{'','"default:stick"', ''}, -	} -}) - ---Launch TNT - -mesecon:register_on_signal_on(function(pos, node) -	if node.name=="experimental:tnt" then -		minetest.env:remove_node(pos) -		minetest.env:add_entity(pos, "experimental:tnt") -		nodeupdate(pos) -	end -end) - --- REMOVE_STONE - -minetest.register_node("jeija:removestone", { -	tile_images = {"jeija_removestone.png"}, -	inventory_image = minetest.inventorycube("jeija_removestone_inv.png"), -	material = minetest.digprop_stonelike(1.0), -    	description="Removestone", -}) - -minetest.register_craft({ -	output = '"jeija:removestone" 4', -	recipe = { -		{'', '"default:cobble"',''}, -		{'"default:cobble"', '"jeija:mesecon_off"', '"default:cobble"'}, -		{'', '"default:cobble"',''}, -	} -}) - -mesecon:register_on_signal_on(function(pos, node) -	if node.name=="jeija:removestone" then -		minetest.env:remove_node(pos) -	end -end) - - --- Include other files -dofile(minetest.get_modpath("jeija").."/movestone.lua") -dofile(minetest.get_modpath("jeija").."/button.lua") -dofile(minetest.get_modpath("jeija").."/torches.lua") -dofile(minetest.get_modpath("jeija").."/detector.lua") -dofile(minetest.get_modpath("jeija").."/pressureplates.lua") -dofile(minetest.get_modpath("jeija").."/wireless.lua") -dofile(minetest.get_modpath("jeija").."/alias.lua") -dofile(minetest.get_modpath("jeija").."/switch.lua") -dofile(minetest.get_modpath("jeija").."/pistons.lua") -dofile(minetest.get_modpath("jeija").."/lightstone.lua") -dofile(minetest.get_modpath("jeija").."/lever.lua") -dofile(minetest.get_modpath("jeija").."/temperest.lua") - ---INIT -mesecon:read_wlre_from_file() ---register stoppers for movestones/pistons -mesecon:register_mvps_stopper("default:chest") -mesecon:register_mvps_stopper("default:chest_locked") -mesecon:register_mvps_stopper("default:furnace") - -print("[MESEcons] Loaded!") - ---minetest.register_on_newplayer(function(player) -	--local i=1 -	--while mesecon.wireless_receivers[i]~=nil do -	--	pos=mesecon.wireless_receivers[i].pos -	--	request=mesecon.wireless_receivers[i].requested_state -	--	inverting=mesecon.wireless_receivers[i].inverting -	--	if request==inverting then -	--		mesecon:receptor_off(pos) -	--	end -	--	if request~=inverting  then -	--		mesecon:receptor_on(pos) -	--	end -	--end ---end) diff --git a/jeija/lever.lua b/jeija/lever.lua deleted file mode 100644 index 6f20fec..0000000 --- a/jeija/lever.lua +++ /dev/null @@ -1,86 +0,0 @@ --- WALL LEVER -minetest.register_node("jeija:wall_lever_off", { -    drawtype = "signlike", -    tile_images = {"jeija_wall_lever_off.png"}, -    inventory_image = "jeija_wall_lever_off.png", -    wield_image = "jeija_wall_lever_off.png", -    paramtype = "light", -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    walkable = false, -    selection_box = { -        type = "wallmounted", -    }, -    material = minetest.digprop_constanttime(0.3), -    description="Lever", -}) -minetest.register_node("jeija:wall_lever_on", { -    drawtype = "signlike", -    tile_images = {"jeija_wall_lever_on.png"}, -    inventory_image = "jeija_wall_lever_on.png", -    paramtype = "light", -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    walkable = false, -    selection_box = { -        type = "wallmounted", -    }, -    material = minetest.digprop_constanttime(0.3), -    drop = '"jeija:wall_lever_off" 1', -    description="Lever", -}) - -minetest.register_on_dignode( -    function(pos, oldnode, digger) -        if oldnode.name == "jeija:wall_lever_on" then -            mesecon:receptor_off(pos) -        end     -    end -) -minetest.register_on_punchnode(function(pos, node, puncher) -	if node.name == "jeija:wall_lever_off" then -		minetest.env:add_node(pos, {name="jeija:wall_lever_on",param2=node.param2}) -		local rules_string=nil -		if node.param2 == 5 then -			rules_string="button_z+" -		end -		if node.param2 == 3 then -			rules_string="button_x+" -		end -		if node.param2 == 4 then -			rules_string="button_z-" -		end -		if node.param2 == 2 then -			rules_string="button_x-" -		end -		mesecon:receptor_on(pos, rules_string) -	end -	if node.name == "jeija:wall_lever_on" then -		minetest.env:add_node(pos, {name="jeija:wall_lever_off",param2=node.param2}) -		local rules_string=nil -		if node.param2 == 5 then -			rules_string="button_z+" -		end -		if node.param2 == 3 then -			rules_string="button_x+" -		end -		if node.param2 == 4 then -			rules_string="button_z-" -		end -		if node.param2 == 2 then -			rules_string="button_x-" -		end -		mesecon:receptor_off(pos, rules_string) -	end -end) - -minetest.register_craft({ -	output = '"jeija:wall_lever_off" 2', -	recipe = { -	    {'"jeija:mesecon_off"'}, -		{'"default:stone"'}, -		{'"default:stick"'}, -	} -}) -mesecon:add_receptor_node("jeija:wall_lever") -mesecon:add_receptor_node_off("jeija:wall_lever_off") diff --git a/jeija/lightstone.lua b/jeija/lightstone.lua deleted file mode 100644 index d53d12c..0000000 --- a/jeija/lightstone.lua +++ /dev/null @@ -1,41 +0,0 @@ -function mesecon:lightstone_add(name, base_item, texture_off, texture_on) -    minetest.register_node("jeija:lightstone_" .. name .. "_off", { -	    tile_images = {texture_off}, -	    inventory_image = minetest.inventorycube(texture_off), -	    material = minetest.digprop_stonelike(0.5), -    	    description=name.." Lightstone", -    }) -    minetest.register_node("jeija:lightstone_" .. name .. "_on", { -	    tile_images = {texture_on}, -	    inventory_image = minetest.inventorycube(texture_on), -	    material = minetest.digprop_stonelike(0.5), -	    drop = "node jeija:lightstone_" .. name .. "_off 1", -	    light_source = LIGHT_MAX-2, -    	    description=name.." Lightstone", -    }) -    assert(loadstring('mesecon:register_on_signal_on(function(pos, node) \n \ -                    if node.name == "jeija:lightstone_' .. name .. '_off" then \n \ -                        minetest.env:add_node(pos, {name="jeija:lightstone_' .. name .. '_on"}) \n \ -                        nodeupdate(pos) \n \ -                    end \n \ -                end)'))() -    assert(loadstring('mesecon:register_on_signal_off(function(pos, node) \n \ -                    if node.name == "jeija:lightstone_' .. name .. '_on" then \n \ -                        minetest.env:add_node(pos, {name="jeija:lightstone_' .. name .. '_off"}) \n \ -                        nodeupdate(pos) \n \ -                    end \n \ -                end)'))() -    minetest.register_craft({ -	    output = "node jeija:lightstone_" .. name .. "_off 1", -	    recipe = { -		    {'',base_item,''}, -		    {base_item,'node default:torch 1',base_item}, -		    {'','node jeija:mesecon_off 1',''}, -	    } -    }) -end - -mesecon:lightstone_add("red", "craft default:clay_brick 1", "jeija_lightstone_red_off.png", "jeija_lightstone_red_on.png") -mesecon:lightstone_add("green", "node default:cactus 1", "jeija_lightstone_green_off.png", "jeija_lightstone_green_on.png") -mesecon:lightstone_add("gray", "node default:cobble 1", "jeija_lightstone_gray_off.png", "jeija_lightstone_gray_on.png") -mesecon:lightstone_add("darkgray", "node default:gravel 1", "jeija_lightstone_darkgray_off.png", "jeija_lightstone_darkgray_on.png") diff --git a/jeija/movestone.lua b/jeija/movestone.lua deleted file mode 100644 index 6831979..0000000 --- a/jeija/movestone.lua +++ /dev/null @@ -1,288 +0,0 @@ --- MOVESTONE - -function mesecon:is_mvps_stopper(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.mvps_stoppers[i]==nodename then return true end -	until mesecon.mvps_stoppers[i]==nil -	return false -end - -function mesecon:register_mvps_stopper(nodename) -	local i=1 -	repeat -		i=i+1 -		if mesecon.mvps_stoppers[i]==nil then break end -	until false -	mesecon.mvps_stoppers[i]=nodename -end - -function jeija_get_movestone_direction(pos) -	getactivated=0 -	local direction = {x=0, y=0, z=0} -	local lpos={x=pos.x, y=pos.y, z=pos.z} - -	local getactivated=0 -	local rules=mesecon:get_rules("movestone") - -	lpos.x=pos.x+0.499 - -	for k=1, 3 do -		getactivated=getactivated+mesecon:is_power_on(lpos, rules[k].x, rules[k].y, rules[k].z) -	end -	if getactivated>0 then direction.x=-1 return direction end -	lpos=pos -	lpos.x=pos.x-0.499 - -	for n=4, 6 do -		getactivated=getactivated+mesecon:is_power_on(lpos, rules[n].x, rules[n].y, rules[n].z) -	end - -	if getactivated>0 then direction.x=1 return direction end -	lpos=pos -	lpos.z=pos.z+0.499 - -	for j=7, 9 do -		getactivated=getactivated+mesecon:is_power_on(lpos, rules[j].x, rules[j].y, rules[j].z) -	end - -	if getactivated>0 then direction.z=-1 return direction end -	lpos=pos -	lpos.z=pos.z-0.499 - -	for l=10, 12 do -		getactivated=getactivated+mesecon:is_power_on(lpos, rules[l].x, rules[l].y, rules[l].z) -	end -	if getactivated>0 then direction.z=1 return direction end -	return direction -end - -minetest.register_node("jeija:movestone", { -	tile_images = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_arrows.png", "jeija_movestone_arrows.png"}, -	paramtype2 = "facedir", -	legacy_facedir_simple = true, -	material = minetest.digprop_stonelike(0.8), -    	description="Movestone", -}) - -minetest.register_entity("jeija:movestone_entity", { -	physical = false, -	visual = "sprite", -	textures = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_arrows.png", "jeija_movestone_arrows.png"}, -	collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, -	visual = "cube", -	--on_activate = function(self, staticdata) -		--self.object:setsprite({x=0,y=0}, 1, 0, true) -		--self.object:setvelocity({x=-3, y=0, z=0}) -	--end, - -	on_punch = function(self, hitter) -		self.object:remove() -		hitter:get_inventory():add_item("main", "jeija:movestone") -	end, - -	on_step = function(self, dtime) -		local pos = self.object:getpos() -		local colp = pos -		local velocity={} -		local direction=jeija_get_movestone_direction(colp) - -		--colp.x=colp.x-(direction.x/2.01) -		--colp.y=colp.y-direction.y -		--colp.z=colp.z-(direction.z/2.01) - -		if (direction.x==0 and direction.y==0 and direction.z==0) -		or (minetest.env:get_node_or_nil(pos).name ~="air"  -		and minetest.env:get_node_or_nil(pos).name ~= nil) then -			minetest.env:add_node(pos, {name="jeija:movestone"}) -			self.object:remove() -			return		 -		end  -		--if not mesecon:check_if_turnon(colp) then -		--	minetest.env:add_node(pos, {name="jeija:movestone"}) -		--	self.object:remove() -		--	return -		--end - -		velocity.x=direction.x*3 -		velocity.y=direction.y*3 -		velocity.z=direction.z*3 - -		self.object:setvelocity(velocity) - -		local np = {x=pos.x+direction.x, y=pos.y+direction.y, z=pos.z+direction.z}	 -		local coln = minetest.env:get_node(np) -		if coln.name ~= "air" and coln.name ~="water" then -			local thisp= {x=pos.x, y=pos.y, z=pos.z} -			local thisnode=minetest.env:get_node(thisp) -			local nextnode={} -			minetest.env:remove_node(thisp) -			repeat -				thisp.x=thisp.x+direction.x -				thisp.y=thisp.y+direction.y -				thisp.z=thisp.z+direction.z -				nextnode=minetest.env:get_node(thisp) -				minetest.env:add_node(thisp, {name=thisnode.name}) -				nodeupdate(thisp) -				thisnode=nextnode -			until thisnode.name=="air" or thisnode.name=="ignore" or thisnode.name=="default:water" or thisnode.name=="default:water_flowing" -		end -	end -}) - -minetest.register_craft({ -	output = '"jeija:movestone" 2', -	recipe = { -		{'"default:stone"', '"default:stone"', '"default:stone"'}, -		{'"jeija:mesecon_off"', '"jeija:mesecon_off"', '"jeija:mesecon_off"'}, -		{'"default:stone"', '"default:stone"', '"default:stone"'}, -	} -}) - - -mesecon:register_on_signal_on(function (pos, node) -	if node.name=="jeija:movestone" then -		local direction=jeija_get_movestone_direction({x=pos.x, y=pos.y, z=pos.z}) -		local checknode={} -		local collpos={x=pos.x, y=pos.y, z=pos.z} -		repeat -- Check if it collides with a stopper -			collpos={x=collpos.x+direction.x, y=collpos.y+direction.y, z=collpos.z+direction.z} -			checknode=minetest.env:get_node(collpos) -			if mesecon:is_mvps_stopper(checknode.name) then  -				return  -			end -		until checknode.name=="air" -		or checknode.name=="ignore"  -		or checknode.name=="default:water"  -		or checknode.name=="default:water_flowing"  -		minetest.env:remove_node(pos) -		nodeupdate(pos) -		minetest.env:add_entity(pos, "jeija:movestone_entity") -	end -end) - - - --- STICKY_MOVESTONE - -minetest.register_node("jeija:sticky_movestone", { -	tile_images = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_sticky_movestone.png", "jeija_sticky_movestone.png"}, -	inventory_image = minetest.inventorycube("jeija_sticky_movestone.png", "jeija_movestone_side.png", "jeija_movestone_side.png"), -	paramtype2 = "facedir", -	legacy_facedir_simple = true, -	material = minetest.digprop_stonelike(0.8), -    	description="Sticky Movestone", -}) - -minetest.register_craft({ -	output = '"jeija:sticky_movestone" 2', -	recipe = { -		{'"jeija:glue"', '"jeija:movestone"', '"jeija:glue"'}, -	} -}) - -minetest.register_entity("jeija:sticky_movestone_entity", { -	physical = false, -	visual = "sprite", -	textures = {"jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_movestone_side.png", "jeija_sticky_movestone.png", "jeija_sticky_movestone.png"}, -	collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, -	visual = "cube", - -	on_punch = function(self, hitter) -		self.object:remove() -		hitter:get_inventory():add_item("main", 'jeija:sticky_movestone') -	end, - -	on_step = function(self, dtime) -		local pos = self.object:getpos() -		local colp = pos -		local direction=jeija_get_movestone_direction(colp) -		local velocity={x=direction.x*3, y=direction.y*3, z=direction.z*3} - -		self.object:setvelocity(velocity) - -		local np = {x=pos.x+direction.x, y=pos.y+direction.y, z=pos.z+direction.z}	 -		local coln = minetest.env:get_node(np) -		if coln.name ~= "air" and coln.name ~="water" then -			local thisp= {x=pos.x, y=pos.y, z=pos.z} -			local thisnode=minetest.env:get_node(thisp) -			local nextnode={} -			minetest.env:remove_node(thisp) -			repeat -				thisp.x=thisp.x+direction.x -				thisp.y=thisp.y+direction.y -				thisp.z=thisp.z+direction.z -				nextnode=minetest.env:get_node(thisp) -				minetest.env:add_node(thisp, {name=thisnode.name}) -				nodeupdate(thisp) -				thisnode=nextnode -			until thisnode.name=="air" or thisnode.name=="ignore" or thisnode.name=="default:water" or thisnode.name=="default:water_flowing" -		end - -		--STICKY: -		local np1 = {x=pos.x-direction.x*0.5, y=pos.y-direction.y*0.5, z=pos.z-direction.z*0.5} -- 1 away -		local coln1 = minetest.env:get_node(np1) -		local np2 = {x=pos.x-direction.x*1.5, y=pos.y-direction.y*1.5, z=pos.z-direction.z*1.5} -- 2 away -		local coln2 = minetest.env:get_node(np2) - -		if (coln1.name == "air" or coln1.name =="water") and (coln2.name~="air" and coln2.name ~= water) then -			thisp= np2 -			local newpos={} -			local oldpos={} -			repeat -				newpos.x=thisp.x+direction.x -				newpos.y=thisp.y+direction.y -				newpos.z=thisp.z+direction.z -				minetest.env:add_node(newpos, {name=minetest.env:get_node(thisp).name}) -				nodeupdate(newpos) -				oldpos={x=thisp.x, y=thisp.y, z=thisp.z} -				thisp.x=thisp.x-direction.x -				thisp.y=thisp.y-direction.y -				thisp.z=thisp.z-direction.z -			until minetest.env:get_node(thisp).name=="air" or minetest.env:get_node(thisp).name=="ignore" or minetest.env:get_node(thisp).name=="default:water" or minetest.env:get_node(thisp).name=="default:water_flowing" -			minetest.env:remove_node(oldpos) -		end - -		if (direction.x==0 and direction.y==0 and direction.z==0) then -		--or (minetest.env:get_node_or_nil(pos).name ~="air"  -		--and minetest.env:get_node_or_nil(pos).name ~= nil) then -			minetest.env:add_node(pos, {name="jeija:sticky_movestone"}) -			self.object:remove() -			return		 -		end  -	end -}) - -mesecon:register_on_signal_on(function (pos, node) -	if node.name=="jeija:sticky_movestone" then -		local direction=jeija_get_movestone_direction({x=pos.x, y=pos.y, z=pos.z}) -		local checknode={} -		local collpos={x=pos.x, y=pos.y, z=pos.z} -		repeat -- Check if it collides with a stopper -			collpos={x=collpos.x+direction.x, y=collpos.y+direction.y, z=collpos.z+direction.z} -			checknode=minetest.env:get_node(collpos) -			if mesecon:is_mvps_stopper(checknode.name) then  -				return  -			end -		until checknode.name=="air" -		or checknode.name=="ignore"  -		or checknode.name=="default:water"  -		or checknode.name=="default:water_flowing"  -		repeat -- Check if it collides with a stopper (pull direction) -			collpos={x=collpos.x-direction.x, y=collpos.y-direction.y, z=collpos.z-direction.z} -			checknode=minetest.env:get_node(collpos) -			if mesecon:is_mvps_stopper(checknode.name) then -				return  -			end -		until checknode.name=="air" -		or checknode.name=="ignore"  -		or checknode.name=="default:water"  -		or checknode.name=="default:water_flowing"  - -		minetest.env:remove_node(pos) -		nodeupdate(pos) -		minetest.env:add_entity(pos, "jeija:sticky_movestone_entity") -	end -end) - diff --git a/jeija/pistons.lua b/jeija/pistons.lua deleted file mode 100644 index 3ad7aac..0000000 --- a/jeija/pistons.lua +++ /dev/null @@ -1,268 +0,0 @@ ---PISTONS ---registration normal one: -minetest.register_node("jeija:piston_normal", { -	tile_images = {"jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_side.png"}, -	material = minetest.digprop_stonelike(0.5), -	paramtype2="facedir", -    	description="Piston", -}) - -minetest.register_craft({ -	output = '"jeija:piston_normal" 2', -	recipe = { -		{"default:wood", "default:wood", "default:wood"}, -		{"default:cobble", "default:steel_ingot", "default:cobble"}, -		{"default:cobble", "jeija:mesecon_off", "default:cobble"}, -	} -}) - ---registration sticky one: -minetest.register_node("jeija:piston_sticky", { -	tile_images = {"jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_tb.png", "jeija_piston_sticky_side.png"}, -	material = minetest.digprop_stonelike(0.5), -	paramtype2="facedir", -    	description="Sticky Piston", -}) - -minetest.register_craft({ -	output = '"jeija:piston_sticky" 1', -	recipe = { -		{'"jeija:glue"'}, -		{'"jeija:piston_normal"'}, -	} -}) - --- get push direction normal -function mesecon:piston_get_direction(pos) -	local direction = {x=0, y=0, z=0} -	if OLD_PISTON_DIRECTION==1 then -		getactivated=0 -		local lpos={x=pos.x, y=pos.y, z=pos.z} -		local getactivated=0 -		local rules=mesecon:get_rules("piston") -	 -		getactivated=getactivated+mesecon:is_power_on(pos, rules[1].x, rules[1].y, rules[1].z) -		if getactivated>0 then direction.y=-1 return direction end -		getactivated=getactivated+mesecon:is_power_on(pos, rules[2].x, rules[2].y, rules[2].z) -		if getactivated>0 then direction.y=1 return direction end -		for k=3, 5 do -			getactivated=getactivated+mesecon:is_power_on(pos, rules[k].x, rules[k].y, rules[k].z) -		end -		if getactivated>0 then direction.z=1 return direction end -	 -		for n=6, 8 do -			getactivated=getactivated+mesecon:is_power_on(pos, rules[n].x, rules[n].y, rules[n].z) -		end - -		if getactivated>0 then direction.z=-1 return direction end -	 -		for j=9, 11 do -			getactivated=getactivated+mesecon:is_power_on(pos, rules[j].x, rules[j].y, rules[j].z) -		end - -		if getactivated>0 then direction.x=-1 return direction end - -		for l=12, 14 do -			getactivated=getactivated+mesecon:is_power_on(pos, rules[l].x, rules[l].y, rules[l].z) -		end -		if getactivated>0 then direction.x=1 return direction end -	else -		local node=minetest.env:get_node(pos) -		if node.param2==3 then -			return {x=1, y=0, z=0} -		end -		if node.param2==2 then -			return {x=0, y=0, z=1} -		end -		if node.param2==1 then -			return {x=-1, y=0, z=0} -		end -		if node.param2==0 then -			return {x=0, y=0, z=-1} -		end -	end -	return direction -end - --- get pull/push direction sticky -function mesecon:sticky_piston_get_direction(pos) -	if OLD_PISTON_DIRECTION==1 then -		getactivated=0 -		local direction = {x=0, y=0, z=0} -		local lpos={x=pos.x, y=pos.y, z=pos.z} -		local getactivated=0 -		local rules=mesecon:get_rules("piston") - -		getactivated=getactivated+mesecon:is_power_off(pos, rules[1].x, rules[1].y, rules[1].z) -		if getactivated>0 then direction.y=-1 return direction end -		getactivated=getactivated+mesecon:is_power_off(pos, rules[2].x, rules[2].y, rules[2].z) -		if getactivated>0 then direction.y=1 return direction end - -		for k=3, 5 do -			getactivated=getactivated+mesecon:is_power_off(pos, rules[k].x, rules[k].y, rules[k].z) -		end -		if getactivated>0 then direction.z=1 return direction end - -		for n=6, 8 do -			getactivated=getactivated+mesecon:is_power_off(pos, rules[n].x, rules[n].y, rules[n].z) -		end - -		if getactivated>0 then direction.z=-1 return direction end -	 -		for j=9, 11 do -			getactivated=getactivated+mesecon:is_power_off(pos, rules[j].x, rules[j].y, rules[j].z) -		end - -		if getactivated>0 then direction.x=-1 return direction end -	 -		for l=12, 14 do -			getactivated=getactivated+mesecon:is_power_off(pos, rules[l].x, rules[l].y, rules[l].z) -		end -		if getactivated>0 then direction.x=1 return direction end -	else -		local node=minetest.env:get_node(pos) -		if node.param2==3 then -			return {x=1, y=0, z=0} -		end -		if node.param2==2 then -			return {x=0, y=0, z=1} -		end -		if node.param2==1 then -			return {x=-1, y=0, z=0} -		end -		if node.param2==0 then -			return {x=0, y=0, z=-1} -		end -	end -	return direction -end - --- Push action -mesecon:register_on_signal_on(function (pos, node) -	if (node.name=="jeija:piston_normal" or node.name=="jeija:piston_sticky") then -		local direction=mesecon:piston_get_direction(pos) - -		local checknode={} -		local checkpos={x=pos.x, y=pos.y, z=pos.z} -		repeat -- Check if it collides with a stopper -			checkpos={x=checkpos.x+direction.x, y=checkpos.y+direction.y, z=checkpos.z+direction.z} -			checknode=minetest.env:get_node(checkpos) -			if mesecon:is_mvps_stopper(checknode.name) then  -				return  -			end -		until checknode.name=="air" -		or checknode.name=="ignore"  -		or checknode.name=="default:water"  -		or checknode.name=="default:water_flowing"  - -		local obj={} -		if node.name=="jeija:piston_normal" then -			obj=minetest.env:add_entity(pos, "jeija:piston_pusher_normal") -		elseif node.name=="jeija:piston_sticky" then -			obj=minetest.env:add_entity(pos, "jeija:piston_pusher_sticky") -		end -		 -		if ENABLE_PISTON_ANIMATION==1 then		 -			obj:setvelocity({x=direction.x*4, y=direction.y*4, z=direction.z*4}) -		else -			obj:moveto({x=pos.x+direction.x, y=pos.y+direction.y, z=pos.z+direction.z}, false) -		end -		 -		local np = {x=pos.x+direction.x, y=pos.y+direction.y, z=pos.z+direction.z}	 -		local coln = minetest.env:get_node(np) -		 -		or checknode.name=="ignore"  -		or checknode.name=="default:water"  -		or checknode.name=="default:water_flowing"  - -		if coln.name ~= "air" and coln.name ~="water" then -			local thisp= {x=np.x, y=np.y, z=np.z} -			local thisnode=minetest.env:get_node(thisp) -			local nextnode={} -			minetest.env:remove_node(thisp) -			repeat -				thisp.x=thisp.x+direction.x -				thisp.y=thisp.y+direction.y -				thisp.z=thisp.z+direction.z -				nextnode=minetest.env:get_node(thisp) -				minetest.env:add_node(thisp, {name=thisnode.name}) -				nodeupdate(thisp) -				thisnode=nextnode -			until thisnode.name=="air"  -			or thisnode.name=="ignore"  -			or thisnode.name=="default:water"  -			or thisnode.name=="default:water_flowing"  -		end -	end -end) - ---Pull action (sticky only) -mesecon:register_on_signal_off(function (pos, node) -	if node.name=="jeija:piston_sticky" or node.name=="jeija:piston_normal" then -		local objs = minetest.env:get_objects_inside_radius(pos, 2) -		for k, obj in pairs(objs) do -			obj:remove() -		end - -		if node.name=="jeija:piston_sticky" then -			local direction=mesecon:sticky_piston_get_direction(pos) -			local np = {x=pos.x+direction.x, y=pos.y+direction.y, z=pos.z+direction.z}	 -			local coln = minetest.env:get_node(np) -			if coln.name == "air" or coln.name =="water" then -				local thisp= {x=np.x+direction.x, y=np.y+direction.y, z=np.z+direction.z} -				local thisnode=minetest.env:get_node(thisp) -				if thisnode.name~="air" and thisnode.name~="water" and not mesecon:is_mvps_stopper(thisnode.name) then -					local newpos={} -					local oldpos={} -					minetest.env:add_node(np, {name=thisnode.name}) -					minetest.env:remove_node(thisp) -				end		 -			end -		end -	end -end) - ---Piston Animation -local PISTON_PUSHER_NORMAL={ -	physical = false, -	visual = "sprite", -	textures = {"default_wood.png", "default_wood.png", "jeija_piston_pusher_normal.png", "jeija_piston_pusher_normal.png", "jeija_piston_pusher_normal.png", "jeija_piston_pusher_normal.png"}, -	collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, -	visual = "cube", -	timer=0, -} - -function PISTON_PUSHER_NORMAL:on_step(dtime) -	self.timer=self.timer+dtime -	if self.timer>=0.24 then -		self.object:setvelocity({x=0, y=0, z=0}) -	end -end - -local PISTON_PUSHER_STICKY={ -	physical = false, -	visual = "sprite", -	textures = {"default_wood.png", "default_wood.png", "jeija_piston_pusher_sticky.png", "jeija_piston_pusher_sticky.png", "jeija_piston_pusher_sticky.png", "jeija_piston_pusher_sticky.png"}, -	collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5}, -	visual = "cube", -	timer=0, -} - -function PISTON_PUSHER_STICKY:on_step(dtime) -	self.timer=self.timer+dtime -	if self.timer>=0.24 then -		self.object:setvelocity({x=0, y=0, z=0}) -	end -end - -minetest.register_entity("jeija:piston_pusher_normal", PISTON_PUSHER_NORMAL) -minetest.register_entity("jeija:piston_pusher_sticky", PISTON_PUSHER_STICKY) - -minetest.register_on_dignode(function(pos, node) -	if node.name=="jeija:piston_normal" or node.name=="jeija:piston_sticky" then -		local objs = minetest.env:get_objects_inside_radius(pos, 2) -		for k, obj in pairs(objs) do -			obj:remove() -		end -	end -end) diff --git a/jeija/pressureplates.lua b/jeija/pressureplates.lua deleted file mode 100644 index edc96c0..0000000 --- a/jeija/pressureplates.lua +++ /dev/null @@ -1,153 +0,0 @@ --- PRESSURE PLATE WOOD - -minetest.register_node("jeija:pressure_plate_wood_off", { -	drawtype = "raillike", -	tile_images = {"jeija_pressure_plate_wood_off.png"}, -	inventory_image = "jeija_pressure_plate_wood_off.png", -	wield_image = "jeija_pressure_plate_wood_off.png", -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.3), -    	description="Wood Pressure Plate", -}) - -minetest.register_node("jeija:pressure_plate_wood_on", { -	drawtype = "raillike", -	tile_images = {"jeija_pressure_plate_wood_on.png"}, -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.3), -	drop='"jeija:pressure_plate_wood_off" 1', -}) - -minetest.register_craft({ -	output = '"jeija:pressure_plate_wood_off" 1', -	recipe = { -		{'"default:wood"', '"default:wood"'}, -	} -}) - -minetest.register_abm( -	{nodenames = {"jeija:pressure_plate_wood_off"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 1) -		for k, obj in pairs(objs) do -			local objpos=obj:getpos() -			if objpos.y>pos.y-1 and objpos.y<pos.y then -				minetest.env:add_node(pos, {name="jeija:pressure_plate_wood_on"}) -				mesecon:receptor_on(pos, "pressureplate") -			end -		end	 -	end, -}) - -minetest.register_abm( -	{nodenames = {"jeija:pressure_plate_wood_on"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 1) -		if objs[1]==nil then -			minetest.env:add_node(pos, {name="jeija:pressure_plate_wood_off"}) -			mesecon:receptor_off(pos, "pressureplate") -		end -	end, -}) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:pressure_plate_wood_on" then -			mesecon:receptor_off(pos, "pressureplate") -		end	 -	end -) - -mesecon:add_receptor_node("jeija:pressure_plate_wood_on") -mesecon:add_receptor_node_off("jeija:pressure_plate_wood_off") - --- PRESSURE PLATE STONE - -minetest.register_node("jeija:pressure_plate_stone_off", { -	drawtype = "raillike", -	tile_images = {"jeija_pressure_plate_stone_off.png"}, -	inventory_image = "jeija_pressure_plate_stone_off.png", -	wield_image = "jeija_pressure_plate_stone_off.png", -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.3), -    	description="Stone Pressure Plate", -}) - -minetest.register_node("jeija:pressure_plate_stone_on", { -	drawtype = "raillike", -	tile_images = {"jeija_pressure_plate_stone_on.png"}, -	paramtype = "light", -	is_ground_content = true, -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	material = minetest.digprop_constanttime(0.3), -	drop='"jeija:pressure_plate_stone_off" 1', -}) - -minetest.register_craft({ -	output = '"jeija:pressure_plate_stone_off" 1', -	recipe = { -		{'"default:cobble"', '"default:cobble"'}, -	} -}) - -minetest.register_abm( -	{nodenames = {"jeija:pressure_plate_stone_off"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 1) -		for k, obj in pairs(objs) do -			local objpos=obj:getpos() -			if objpos.y>pos.y-1 and objpos.y<pos.y then -				minetest.env:add_node(pos, {name="jeija:pressure_plate_stone_on"}) -				mesecon:receptor_on(pos, "pressureplate") -			end -		end	 -	end, -}) - -minetest.register_abm( -	{nodenames = {"jeija:pressure_plate_stone_on"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local objs = minetest.env:get_objects_inside_radius(pos, 1) -		if objs[1]==nil then -			minetest.env:add_node(pos, {name="jeija:pressure_plate_stone_off"}) -			mesecon:receptor_off(pos, "pressureplate") -		end -	end, -}) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:pressure_plate_stone_on" then -			mesecon:receptor_off(pos, "pressureplate") -		end	 -	end -) - -mesecon:add_receptor_node("jeija:pressure_plate_stone_on") -mesecon:add_receptor_node_off("jeija:pressure_plate_stone_off") diff --git a/jeija/switch.lua b/jeija/switch.lua deleted file mode 100644 index aca1c86..0000000 --- a/jeija/switch.lua +++ /dev/null @@ -1,48 +0,0 @@ --- MESECON_SWITCH - -minetest.register_node("jeija:mesecon_switch_off", { -	tile_images = {"jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_off.png"}, -	paramtype2="facedir", -	material = minetest.digprop_constanttime(0.5), -    	description="Switch", -}) - -minetest.register_node("jeija:mesecon_switch_on", { -	tile_images = {"jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_side.png", "jeija_mesecon_switch_on.png"}, -	paramtype2="facedir", -	material = minetest.digprop_constanttime(0.5), -	drop='"jeija:mesecon_switch_off" 1', -    	description="Switch", -}) - -mesecon:add_receptor_node("jeija:mesecon_switch_on") -mesecon:add_receptor_node_off("jeija:mesecon_switch_off") - -minetest.register_on_punchnode(function(pos, node, puncher) -	if node.name == "jeija:mesecon_switch_on" then -		minetest.env:add_node(pos, {name="jeija:mesecon_switch_off", param2=node.param2}) -		nodeupdate(pos) -		mesecon:receptor_off(pos) -	end -	if node.name == "jeija:mesecon_switch_off" then -		minetest.env:add_node(pos, {name="jeija:mesecon_switch_on", param2=node.param2}) -		nodeupdate(pos) -		mesecon:receptor_on(pos) -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:mesecon_switch_on" then -			mesecon:receptor_off(pos) -		end -	end -) - -minetest.register_craft({ -	output = '"jeija:mesecon_switch_off" 2', -	recipe = { -		{'"default:steel_ingot"', '"default:cobble"', '"default:steel_ingot"'}, -		{'"jeija:mesecon_off"','', '"jeija:mesecon_off"'}, -	} -}) diff --git a/jeija/temperest.lua b/jeija/temperest.lua deleted file mode 100644 index f118cba..0000000 --- a/jeija/temperest.lua +++ /dev/null @@ -1,220 +0,0 @@ ---TEMPEREST-PLUG - -minetest.register_node("jeija:mesecon_plug", { -	drawtype = "raillike", -	paramtype = "light", -	is_ground_content = true, -	tile_images = {"jeija_mesecon_plug.png"}, -	inventory_image = "jeija_mesecon_plug.png", -	wield_image = "jeija_mesecon_plug.png", -	material = minetest.digprop_constanttime(0.1), -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	description = "Plug", -}) - -local set_node_on -local set_node_off - -if ENABLE_TEMPEREST==1 then -	set_node_on = function(pos) -		local node = minetest.env:get_node(pos) -		if node.name=="jeija:mesecon_socket_off" then -			minetest.env:add_node(pos, {name="jeija:mesecon_socket_on"}) -			nodeupdate(pos) -			mesecon:receptor_on(pos) -		elseif node.name=="jeija:mesecon_inverter_on" then -			minetest.env:add_node(pos, {name="jeija:mesecon_inverter_off"}) -			nodeupdate(pos) -			mesecon:receptor_off(pos) -		end -	end -	 -	set_node_off = function(pos) -		node = minetest.env:get_node(pos) -		if node.name=="jeija:mesecon_socket_on" then -			minetest.env:add_node(pos, {name="jeija:mesecon_socket_off"}) -			nodeupdate(pos) -			mesecon:receptor_off(pos) -		elseif node.name=="jeija:mesecon_inverter_off" then -			minetest.env:add_node(pos, {name="jeija:mesecon_inverter_on"}) -			nodeupdate(pos) -			mesecon:receptor_on(pos) -		end -	end -else -	set_node_on = function(pos) -		local node = minetest.env:get_node(pos) -		if node.name=="jeija:mesecon_socket_off" then -			minetest.env:add_node(pos, {name="jeija:mesecon_socket_on"}) -			nodeupdate(pos) -			mesecon:receptor_on(pos) -		end -	end -	 -	set_node_off = function(pos) -		node = minetest.env:get_node(pos) -		if node.name=="jeija:mesecon_socket_on" then -			minetest.env:add_node(pos, {name="jeija:mesecon_socket_off"}) -			nodeupdate(pos) -			mesecon:receptor_off(pos) -		end -	end -end - -local plug_on = function(pos, node) -	if node.name=="jeija:mesecon_plug" then -		local lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_on({x=pos.x-2, y=pos.y, z=pos.z}) end -		 -		local lnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_on({x=pos.x+2, y=pos.y, z=pos.z}) end -		 -		local lnode = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z-1}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_on({x=pos.x, y=pos.y, z=pos.z-2}) end -		 -		local lnode = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z+1}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_on({x=pos.x, y=pos.y, z=pos.z+2}) end -	end -end - -local plug_off = function(pos, node) -	if node.name=="jeija:mesecon_plug" then -		lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_off({x=pos.x-2, y=pos.y, z=pos.z}) end -		 -		lnode = minetest.env:get_node({x=pos.x+1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_off({x=pos.x+2, y=pos.y, z=pos.z}) end -		 -		lnode = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z-1}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_off({x=pos.x, y=pos.y, z=pos.z-2}) end -		 -		lnode = minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z+1}) --a node between this node and the one two nodes away -		if lnode.name=="air" then set_node_off({x=pos.x, y=pos.y, z=pos.z+2}) end -	end -end - -mesecon:register_on_signal_on(plug_on) -mesecon:register_on_signal_off(plug_off) - -minetest.register_on_placenode(plug_off) -minetest.register_on_dignode(plug_off) - -minetest.register_craft({ -	output = 'node "jeija:mesecon_plug" 2', -	recipe = { -		{'', 'node "jeija:mesecon_off"', ''}, -		{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'}, -		{'', 'node "jeija:mesecon_off"', ''}, -	} -}) - ---TEMPEREST-SOCKET - -minetest.register_node("jeija:mesecon_socket_off", { -	description = "Socket", -	drawtype = "raillike", -	paramtype = "light", -	is_ground_content = true, -	tile_images = {"jeija_mesecon_socket_off.png"}, -	inventory_image = "jeija_mesecon_socket_off.png", -	wield_image = "jeija_mesecon_socket_off.png", -	material = minetest.digprop_constanttime(0.1), -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -}) - -minetest.register_node("jeija:mesecon_socket_on", { -	drawtype = "raillike", -	paramtype = "light", -	is_ground_content = true, -	tile_images = {"jeija_mesecon_socket_on.png"}, -	material = minetest.digprop_constanttime(0.1), -	walkable = false, -	selection_box = { -		type = "fixed", -	}, -	drop='"jeija:mesecon_socket_off" 1', -}) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:mesecon_socket_on" then -			mesecon:receptor_off(pos) -		end -	end -) - -mesecon:add_receptor_node("jeija:mesecon_socket_on") -mesecon:add_receptor_node_off("jeija:mesecon_socket_off") - -minetest.register_craft({ -	output = 'node "jeija:mesecon_socket_off" 2', -	recipe = { -		{'', 'craft "default:steel_ingot"', ''}, -		{'craft "default:steel_ingot"', 'node "jeija:mesecon_off"', 'craft "default:steel_ingot"'}, -		{'', 'craft "default:steel_ingot"', ''}, -	} -}) - ---TEMPEREST-INVERTER -if ENABLE_TEMPEREST==1 then -	minetest.register_node("jeija:mesecon_inverter_off", { -		drawtype = "raillike", -		paramtype = "light", -		is_ground_content = true, -		tile_images = {"jeija_mesecon_inverter_off.png"}, -		material = minetest.digprop_constanttime(0.1), -		walkable = false, -		selection_box = { -			type = "fixed", -		}, -		drop='"jeija:mesecon_inverter_on" 1', -	}) - -	minetest.register_node("jeija:mesecon_inverter_on", { -		description = "Inverter", -		drawtype = "raillike", -		paramtype = "light", -		is_ground_content = true, -		tile_images = {"jeija_mesecon_inverter_on.png"}, -		inventory_image = "jeija_mesecon_inverter_on.png", -		wield_image = "jeija_mesecon_inverter_on.png", -		material = minetest.digprop_constanttime(0.1), -		walkable = false, -		selection_box = { -			type = "fixed", -		}, -	}) - -	minetest.register_on_placenode(function(pos, node) -		if node.name=="jeija:mesecon_inverter_on" then -			mesecon:receptor_on(pos) -		end -	end -	) - -	minetest.register_on_dignode( -		function(pos, oldnode, digger) -			if oldnode.name == "jeija:mesecon_inverter_on" then -				mesecon:receptor_off(pos) -			end -		end -	) - -	mesecon:add_receptor_node("jeija:mesecon_inverter_on") -	mesecon:add_receptor_node_off("jeija:mesecon_inverter_off") - -	minetest.register_craft({ -		output = 'node "jeija:mesecon_inverter_on" 2', -		recipe = { -			{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'}, -			{'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'}, -			{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'}, -		} -	}) -end
\ No newline at end of file diff --git a/jeija/textures/jeija_blinky_plant_off.png b/jeija/textures/jeija_blinky_plant_off.png Binary files differdeleted file mode 100644 index ef9127e..0000000 --- a/jeija/textures/jeija_blinky_plant_off.png +++ /dev/null diff --git a/jeija/textures/jeija_blinky_plant_on.png b/jeija/textures/jeija_blinky_plant_on.png Binary files differdeleted file mode 100644 index b972115..0000000 --- a/jeija/textures/jeija_blinky_plant_on.png +++ /dev/null diff --git a/jeija/textures/jeija_glue.png b/jeija/textures/jeija_glue.png Binary files differdeleted file mode 100644 index b7f2370..0000000 --- a/jeija/textures/jeija_glue.png +++ /dev/null diff --git a/jeija/textures/jeija_hydro_turbine_off.png b/jeija/textures/jeija_hydro_turbine_off.png Binary files differdeleted file mode 100644 index 2de3c7e..0000000 --- a/jeija/textures/jeija_hydro_turbine_off.png +++ /dev/null diff --git a/jeija/textures/jeija_hydro_turbine_on.png b/jeija/textures/jeija_hydro_turbine_on.png Binary files differdeleted file mode 100644 index a5a2c22..0000000 --- a/jeija/textures/jeija_hydro_turbine_on.png +++ /dev/null diff --git a/jeija/textures/jeija_ic.png b/jeija/textures/jeija_ic.png Binary files differdeleted file mode 100644 index d487b02..0000000 --- a/jeija/textures/jeija_ic.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_darkgray_off.png b/jeija/textures/jeija_lightstone_darkgray_off.png Binary files differdeleted file mode 100644 index 0df4a5d..0000000 --- a/jeija/textures/jeija_lightstone_darkgray_off.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_darkgray_on.png b/jeija/textures/jeija_lightstone_darkgray_on.png Binary files differdeleted file mode 100644 index 502fad5..0000000 --- a/jeija/textures/jeija_lightstone_darkgray_on.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_gray_off.png b/jeija/textures/jeija_lightstone_gray_off.png Binary files differdeleted file mode 100644 index 576d2cc..0000000 --- a/jeija/textures/jeija_lightstone_gray_off.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_gray_on.png b/jeija/textures/jeija_lightstone_gray_on.png Binary files differdeleted file mode 100644 index 8796aef..0000000 --- a/jeija/textures/jeija_lightstone_gray_on.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_green_off.png b/jeija/textures/jeija_lightstone_green_off.png Binary files differdeleted file mode 100644 index 263b634..0000000 --- a/jeija/textures/jeija_lightstone_green_off.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_green_on.png b/jeija/textures/jeija_lightstone_green_on.png Binary files differdeleted file mode 100644 index 04110e3..0000000 --- a/jeija/textures/jeija_lightstone_green_on.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_red_off.png b/jeija/textures/jeija_lightstone_red_off.png Binary files differdeleted file mode 100644 index 7023038..0000000 --- a/jeija/textures/jeija_lightstone_red_off.png +++ /dev/null diff --git a/jeija/textures/jeija_lightstone_red_on.png b/jeija/textures/jeija_lightstone_red_on.png Binary files differdeleted file mode 100644 index 852b883..0000000 --- a/jeija/textures/jeija_lightstone_red_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_crossing_off.png b/jeija/textures/jeija_mesecon_crossing_off.png Binary files differdeleted file mode 100644 index 180c9d2..0000000 --- a/jeija/textures/jeija_mesecon_crossing_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_crossing_on.png b/jeija/textures/jeija_mesecon_crossing_on.png Binary files differdeleted file mode 100644 index e33af53..0000000 --- a/jeija/textures/jeija_mesecon_crossing_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_curved_off.png b/jeija/textures/jeija_mesecon_curved_off.png Binary files differdeleted file mode 100644 index d66b5bd..0000000 --- a/jeija/textures/jeija_mesecon_curved_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_curved_on.png b/jeija/textures/jeija_mesecon_curved_on.png Binary files differdeleted file mode 100644 index 69e39d1..0000000 --- a/jeija/textures/jeija_mesecon_curved_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_inverter_off.png b/jeija/textures/jeija_mesecon_inverter_off.png Binary files differdeleted file mode 100644 index e81f2f1..0000000 --- a/jeija/textures/jeija_mesecon_inverter_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_inverter_on.png b/jeija/textures/jeija_mesecon_inverter_on.png Binary files differdeleted file mode 100644 index 54794ae..0000000 --- a/jeija/textures/jeija_mesecon_inverter_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_off.png b/jeija/textures/jeija_mesecon_off.png Binary files differdeleted file mode 100644 index a9c6284..0000000 --- a/jeija/textures/jeija_mesecon_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_on.png b/jeija/textures/jeija_mesecon_on.png Binary files differdeleted file mode 100644 index 65b7740..0000000 --- a/jeija/textures/jeija_mesecon_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_plug.png b/jeija/textures/jeija_mesecon_plug.png Binary files differdeleted file mode 100644 index 37a87db..0000000 --- a/jeija/textures/jeija_mesecon_plug.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_socket_off.png b/jeija/textures/jeija_mesecon_socket_off.png Binary files differdeleted file mode 100644 index c2d830c..0000000 --- a/jeija/textures/jeija_mesecon_socket_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_socket_on.png b/jeija/textures/jeija_mesecon_socket_on.png Binary files differdeleted file mode 100644 index d4710a2..0000000 --- a/jeija/textures/jeija_mesecon_socket_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_switch_off.png b/jeija/textures/jeija_mesecon_switch_off.png Binary files differdeleted file mode 100644 index c583519..0000000 --- a/jeija/textures/jeija_mesecon_switch_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_switch_on.png b/jeija/textures/jeija_mesecon_switch_on.png Binary files differdeleted file mode 100644 index fc88c38..0000000 --- a/jeija/textures/jeija_mesecon_switch_on.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_switch_side.png b/jeija/textures/jeija_mesecon_switch_side.png Binary files differdeleted file mode 100644 index cad0dbe..0000000 --- a/jeija/textures/jeija_mesecon_switch_side.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_t_junction_off.png b/jeija/textures/jeija_mesecon_t_junction_off.png Binary files differdeleted file mode 100644 index b6e4502..0000000 --- a/jeija/textures/jeija_mesecon_t_junction_off.png +++ /dev/null diff --git a/jeija/textures/jeija_mesecon_t_junction_on.png b/jeija/textures/jeija_mesecon_t_junction_on.png Binary files differdeleted file mode 100644 index 8b19cea..0000000 --- a/jeija/textures/jeija_mesecon_t_junction_on.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_off.png b/jeija/textures/jeija_meselamp_off.png Binary files differdeleted file mode 100644 index c028706..0000000 --- a/jeija/textures/jeija_meselamp_off.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_on.png b/jeija/textures/jeija_meselamp_on.png Binary files differdeleted file mode 100644 index 3c2f682..0000000 --- a/jeija/textures/jeija_meselamp_on.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_on_ceiling_off.png b/jeija/textures/jeija_meselamp_on_ceiling_off.png Binary files differdeleted file mode 100644 index be584c2..0000000 --- a/jeija/textures/jeija_meselamp_on_ceiling_off.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_on_ceiling_on.png b/jeija/textures/jeija_meselamp_on_ceiling_on.png Binary files differdeleted file mode 100644 index f96dea3..0000000 --- a/jeija/textures/jeija_meselamp_on_ceiling_on.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_on_floor_off.png b/jeija/textures/jeija_meselamp_on_floor_off.png Binary files differdeleted file mode 100644 index 6736a7b..0000000 --- a/jeija/textures/jeija_meselamp_on_floor_off.png +++ /dev/null diff --git a/jeija/textures/jeija_meselamp_on_floor_on.png b/jeija/textures/jeija_meselamp_on_floor_on.png Binary files differdeleted file mode 100644 index 7f135d4..0000000 --- a/jeija/textures/jeija_meselamp_on_floor_on.png +++ /dev/null diff --git a/jeija/textures/jeija_movestone_arrows.png b/jeija/textures/jeija_movestone_arrows.png Binary files differdeleted file mode 100644 index da38bb2..0000000 --- a/jeija/textures/jeija_movestone_arrows.png +++ /dev/null diff --git a/jeija/textures/jeija_movestone_side.png b/jeija/textures/jeija_movestone_side.png Binary files differdeleted file mode 100644 index cad0dbe..0000000 --- a/jeija/textures/jeija_movestone_side.png +++ /dev/null diff --git a/jeija/textures/jeija_object_detector_off.png b/jeija/textures/jeija_object_detector_off.png Binary files differdeleted file mode 100644 index ea2357e..0000000 --- a/jeija/textures/jeija_object_detector_off.png +++ /dev/null diff --git a/jeija/textures/jeija_object_detector_on.png b/jeija/textures/jeija_object_detector_on.png Binary files differdeleted file mode 100644 index 10894ac..0000000 --- a/jeija/textures/jeija_object_detector_on.png +++ /dev/null diff --git a/jeija/textures/jeija_piston_pusher_normal.png b/jeija/textures/jeija_piston_pusher_normal.png Binary files differdeleted file mode 100644 index 3d59b6d..0000000 --- a/jeija/textures/jeija_piston_pusher_normal.png +++ /dev/null diff --git a/jeija/textures/jeija_piston_pusher_sticky.png b/jeija/textures/jeija_piston_pusher_sticky.png Binary files differdeleted file mode 100644 index b7d631c..0000000 --- a/jeija/textures/jeija_piston_pusher_sticky.png +++ /dev/null diff --git a/jeija/textures/jeija_piston_side.png b/jeija/textures/jeija_piston_side.png Binary files differdeleted file mode 100644 index 3d59b6d..0000000 --- a/jeija/textures/jeija_piston_side.png +++ /dev/null diff --git a/jeija/textures/jeija_piston_sticky_side.png b/jeija/textures/jeija_piston_sticky_side.png Binary files differdeleted file mode 100644 index b7d631c..0000000 --- a/jeija/textures/jeija_piston_sticky_side.png +++ /dev/null diff --git a/jeija/textures/jeija_piston_tb.png b/jeija/textures/jeija_piston_tb.png Binary files differdeleted file mode 100644 index 6c6303a..0000000 --- a/jeija/textures/jeija_piston_tb.png +++ /dev/null diff --git a/jeija/textures/jeija_power_plant.png b/jeija/textures/jeija_power_plant.png Binary files differdeleted file mode 100644 index 0d7c025..0000000 --- a/jeija/textures/jeija_power_plant.png +++ /dev/null diff --git a/jeija/textures/jeija_pressure_plate_stone_off.png b/jeija/textures/jeija_pressure_plate_stone_off.png Binary files differdeleted file mode 100644 index 194d8fc..0000000 --- a/jeija/textures/jeija_pressure_plate_stone_off.png +++ /dev/null diff --git a/jeija/textures/jeija_pressure_plate_stone_on.png b/jeija/textures/jeija_pressure_plate_stone_on.png Binary files differdeleted file mode 100644 index cce3ba6..0000000 --- a/jeija/textures/jeija_pressure_plate_stone_on.png +++ /dev/null diff --git a/jeija/textures/jeija_pressure_plate_wood_off.png b/jeija/textures/jeija_pressure_plate_wood_off.png Binary files differdeleted file mode 100644 index e6484be..0000000 --- a/jeija/textures/jeija_pressure_plate_wood_off.png +++ /dev/null diff --git a/jeija/textures/jeija_pressure_plate_wood_on.png b/jeija/textures/jeija_pressure_plate_wood_on.png Binary files differdeleted file mode 100644 index a223c2a..0000000 --- a/jeija/textures/jeija_pressure_plate_wood_on.png +++ /dev/null diff --git a/jeija/textures/jeija_removestone.png b/jeija/textures/jeija_removestone.png Binary files differdeleted file mode 100644 index 7d04474..0000000 --- a/jeija/textures/jeija_removestone.png +++ /dev/null diff --git a/jeija/textures/jeija_removestone_inv.png b/jeija/textures/jeija_removestone_inv.png Binary files differdeleted file mode 100644 index cf3dedd..0000000 --- a/jeija/textures/jeija_removestone_inv.png +++ /dev/null diff --git a/jeija/textures/jeija_silicon.png b/jeija/textures/jeija_silicon.png Binary files differdeleted file mode 100644 index 3048a58..0000000 --- a/jeija/textures/jeija_silicon.png +++ /dev/null diff --git a/jeija/textures/jeija_solar_panel.png b/jeija/textures/jeija_solar_panel.png Binary files differdeleted file mode 100644 index dfa78c9..0000000 --- a/jeija/textures/jeija_solar_panel.png +++ /dev/null diff --git a/jeija/textures/jeija_sticky_movestone.png b/jeija/textures/jeija_sticky_movestone.png Binary files differdeleted file mode 100644 index e410ba9..0000000 --- a/jeija/textures/jeija_sticky_movestone.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_off.png b/jeija/textures/jeija_torches_off.png Binary files differdeleted file mode 100644 index c78cfcc..0000000 --- a/jeija/textures/jeija_torches_off.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_off_ceiling.png b/jeija/textures/jeija_torches_off_ceiling.png Binary files differdeleted file mode 100644 index 104a062..0000000 --- a/jeija/textures/jeija_torches_off_ceiling.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_off_side.png b/jeija/textures/jeija_torches_off_side.png Binary files differdeleted file mode 100644 index e3b09a3..0000000 --- a/jeija/textures/jeija_torches_off_side.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_on.png b/jeija/textures/jeija_torches_on.png Binary files differdeleted file mode 100644 index 49efa71..0000000 --- a/jeija/textures/jeija_torches_on.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_on_ceiling.png b/jeija/textures/jeija_torches_on_ceiling.png Binary files differdeleted file mode 100644 index 104a062..0000000 --- a/jeija/textures/jeija_torches_on_ceiling.png +++ /dev/null diff --git a/jeija/textures/jeija_torches_on_side.png b/jeija/textures/jeija_torches_on_side.png Binary files differdeleted file mode 100644 index 304bb80..0000000 --- a/jeija/textures/jeija_torches_on_side.png +++ /dev/null diff --git a/jeija/textures/jeija_wall_button_off.png b/jeija/textures/jeija_wall_button_off.png Binary files differdeleted file mode 100644 index 2c18986..0000000 --- a/jeija/textures/jeija_wall_button_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wall_button_on.png b/jeija/textures/jeija_wall_button_on.png Binary files differdeleted file mode 100644 index d09701b..0000000 --- a/jeija/textures/jeija_wall_button_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wall_lever_off.png b/jeija/textures/jeija_wall_lever_off.png Binary files differdeleted file mode 100644 index ed2d460..0000000 --- a/jeija/textures/jeija_wall_lever_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wall_lever_on.png b/jeija/textures/jeija_wall_lever_on.png Binary files differdeleted file mode 100644 index 617fd7f..0000000 --- a/jeija/textures/jeija_wall_lever_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_inverter_off.png b/jeija/textures/jeija_wireless_inverter_off.png Binary files differdeleted file mode 100644 index 0db21fb..0000000 --- a/jeija/textures/jeija_wireless_inverter_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_inverter_on.png b/jeija/textures/jeija_wireless_inverter_on.png Binary files differdeleted file mode 100644 index 91c526d..0000000 --- a/jeija/textures/jeija_wireless_inverter_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_inverter_tb.png b/jeija/textures/jeija_wireless_inverter_tb.png Binary files differdeleted file mode 100644 index d2191c5..0000000 --- a/jeija/textures/jeija_wireless_inverter_tb.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_receiver_off.png b/jeija/textures/jeija_wireless_receiver_off.png Binary files differdeleted file mode 100644 index 213fdeb..0000000 --- a/jeija/textures/jeija_wireless_receiver_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_receiver_on.png b/jeija/textures/jeija_wireless_receiver_on.png Binary files differdeleted file mode 100644 index c651971..0000000 --- a/jeija/textures/jeija_wireless_receiver_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_receiver_tb_off.png b/jeija/textures/jeija_wireless_receiver_tb_off.png Binary files differdeleted file mode 100644 index d8e08a4..0000000 --- a/jeija/textures/jeija_wireless_receiver_tb_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_receiver_tb_on.png b/jeija/textures/jeija_wireless_receiver_tb_on.png Binary files differdeleted file mode 100644 index d8e08a4..0000000 --- a/jeija/textures/jeija_wireless_receiver_tb_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_transmitter_off.png b/jeija/textures/jeija_wireless_transmitter_off.png Binary files differdeleted file mode 100644 index 7deb06f..0000000 --- a/jeija/textures/jeija_wireless_transmitter_off.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_transmitter_on.png b/jeija/textures/jeija_wireless_transmitter_on.png Binary files differdeleted file mode 100644 index fc9d7e8..0000000 --- a/jeija/textures/jeija_wireless_transmitter_on.png +++ /dev/null diff --git a/jeija/textures/jeija_wireless_transmitter_tb.png b/jeija/textures/jeija_wireless_transmitter_tb.png Binary files differdeleted file mode 100644 index d8e08a4..0000000 --- a/jeija/textures/jeija_wireless_transmitter_tb.png +++ /dev/null diff --git a/jeija/torches.lua b/jeija/torches.lua deleted file mode 100644 index 28e9985..0000000 --- a/jeija/torches.lua +++ /dev/null @@ -1,130 +0,0 @@ ---MESECON TORCHES - -minetest.register_craft({ -    output = '"jeija:mesecon_torch_on" 4', -    recipe = { -        {'"jeija:mesecon_off"'}, -        {'craft "default:stick"'}, -    } -}) - -minetest.register_node("jeija:mesecon_torch_off", { -    drawtype = "torchlike", -    tile_images = {"jeija_torches_off.png", "jeija_torches_off_ceiling.png", "jeija_torches_off_side.png"}, -    inventory_image = "jeija_torches_off.png", -    paramtype = "light", -    walkable = false, -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    material = minetest.digprop_constanttime(0.5), -    drop = '"jeija:mesecon_torch_on" 1', -    description="Mesecon Torch", -}) - -minetest.register_node("jeija:mesecon_torch_on", { -    drawtype = "torchlike", -    tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"}, -    inventory_image = "jeija_torches_on.png", -    wield_image = "jeija_torches_on.png", -    paramtype = "light", -    sunlight_propagates = true, -    walkable = false, -    paramtype2 = "wallmounted", -    legacy_wallmounted = true, -    material = minetest.digprop_constanttime(0.5), -    light_source = LIGHT_MAX-5, -    description="Mesecon Torch", -}) - ---[[minetest.register_on_placenode(function(pos, newnode, placer) -	if (newnode.name=="jeija:mesecon_torch_off" or newnode.name=="jeija:mesecon_torch_on") -	and (newnode.param2==8 or newnode.param2==4) then -		minetest.env:remove_node(pos) -		--minetest.env:add_item(pos, "craft 'jeija:mesecon_torch_on' 1") -	end -end)]] - -minetest.register_abm({ -    nodenames = {"jeija:mesecon_torch_off","jeija:mesecon_torch_on"}, -    interval = 0.1, -    chance = 1, -    action = function(pos, node, active_object_count, active_object_count_wider) -        local pa = {x=0, y=0, z=0} -	    --pa.y = 1 -	    local rules_string="" - -	    if node.param2 == 4 then -		    pa.z = -2 -		    rules_string="mesecontorch_z+" -	    elseif node.param2 == 2 then -		    pa.x = -2 -		    rules_string="mesecontorch_x+" -	    elseif node.param2 == 5 then -		    pa.z = 2 -		    rules_string="mesecontorch_z-" -	    elseif node.param2 == 3 then -		    pa.x = 2 -		    rules_string="mesecontorch_x-" -	    elseif node.param2 == 1 then -		    pa.y = 2 -		    rules_string="mesecontorch_y-" -        elseif node.param2 == 0 then -		    pa.y = -2 -		    rules_string="mesecontorch_y+" -        end -        local postc = {x=pos.x-pa.x, y=pos.y-pa.y, z=pos.z-pa.z} -        --print("Checking at "..dump(postc).." with "..rules_string) -        if mesecon:is_power_on(postc,0,0,0)==1 then -            if node.name ~= "jeija:mesecon_torch_off" then -                minetest.env:add_node(pos, {name="jeija:mesecon_torch_off",param2=node.param2}) -                mesecon:receptor_off(pos, rules_string) -            end -        else -            if node.name ~= "jeija:mesecon_torch_on" then -                minetest.env:add_node(pos, {name="jeija:mesecon_torch_on",param2=node.param2}) -                mesecon:receptor_on(pos, rules_string) -            end -        end -    end -}) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:mesecon_torch_on" then -			mesecon:receptor_off(pos) -		end	 -	end -) - -minetest.register_on_placenode(function(pos, node, placer) -	if node.name == "jeija:mesecon_torch_on" then -		local rules_string="" - -		if node.param2 == 4 then -		    rules_string="mesecontorch_z+" -	    elseif node.param2 == 2 then -		    rules_string="mesecontorch_x+" -	    elseif node.param2 == 5 then -		    rules_string="mesecontorch_z-" -	    elseif node.param2 == 3 then -		    rules_string="mesecontorch_x-" -	    elseif node.param2 == 1 then -		    rules_string="mesecontorch_y-" -        elseif node.param2 == 0 then -		    rules_string="mesecontorch_y+" -        end -		 -		mesecon:receptor_on(pos, rules_string) -	end -end) - -mesecon:add_receptor_node("jeija:mesecon_torch_on") -mesecon:add_receptor_node_off("jeija:mesecon_torch_off") - --- Param2 Table (Block Attached To) --- 5 = z-1 --- 3 = x-1 --- 4 = z+1 --- 2 = x+1 --- 0 = y+1 --- 1 = y-1 diff --git a/jeija/wireless.lua b/jeija/wireless.lua deleted file mode 100644 index 36af390..0000000 --- a/jeija/wireless.lua +++ /dev/null @@ -1,318 +0,0 @@ ---COMMON WIRELESS FUNCTIONS - -function mesecon:read_wlre_from_file() -	print "[MESEcons] Reading Mesecon Data..." -	mesecon_file=io.open(minetest.get_modpath("jeija").."/mesecon_data", "r") -	if mesecon_file==nil then return end -	local row=mesecon_file:read() -	local i=1 -	while row~=nil do -		mesecon.wireless_receivers[i]={} -		mesecon.wireless_receivers[i].pos={} -		mesecon.wireless_receivers[i].pos.x=tonumber(mesecon_file:read()) -		mesecon.wireless_receivers[i].pos.y=tonumber(mesecon_file:read()) -		mesecon.wireless_receivers[i].pos.z=tonumber(mesecon_file:read()) -		mesecon.wireless_receivers[i].channel=mesecon_file:read() -		mesecon.wireless_receivers[i].requested_state=tonumber(mesecon_file:read()) -		mesecon.wireless_receivers[i].inverting=tonumber(mesecon_file:read()) -		i=i+1 -		row=mesecon_file:read() -	end -	mesecon_file:close()	 -	print "[MESEcons] Finished Reading Mesecon Data..." -end - - -function mesecon:register_wireless_receiver(pos, inverting) -	local i	= 1	 -	repeat -		if mesecon.wireless_receivers[i]==nil then break end -		i=i+1 -	until false - - -	local node_under_pos={} -	node_under_pos.x=pos.x -	node_under_pos.y=pos.y -	node_under_pos.z=pos.z - -	node_under_pos.y=node_under_pos.y-1 -	local node_under=minetest.env:get_node(node_under_pos) -	mesecon.wireless_receivers[i]={} -	mesecon.wireless_receivers[i].pos={} -	mesecon.wireless_receivers[i].pos.x=pos.x -	mesecon.wireless_receivers[i].pos.y=pos.y -	mesecon.wireless_receivers[i].pos.z=pos.z -	mesecon.wireless_receivers[i].channel=node_under.name -	mesecon.wireless_receivers[i].requested_state=0 -	mesecon.wireless_receivers[i].inverting=inverting -end - -function mesecon:remove_wireless_receiver(pos) -	local i = 1 -	while mesecon.wireless_receivers[i]~=nil do -		if mesecon.wireless_receivers[i].pos.x==pos.x and -		   mesecon.wireless_receivers[i].pos.y==pos.y and -		   mesecon.wireless_receivers[i].pos.z==pos.z then -			mesecon.wireless_receivers[i]=nil -			break -		end -		i=i+1 -	end -end - -function mesecon:set_wlre_channel(pos, channel) -	--local i = 1 -	--while mesecon.wireless_receivers[i]~=nil do -	--	if tonumber(mesecon.wireless_receivers[i].pos.x)==tonumber(pos.x) and -	--	   tonumber(mesecon.wireless_receivers[i].pos.y)==tonumber(pos.y) and -	--	   tonumber(mesecon.wireless_receivers[i].pos.z)==tonumber(pos.z) then -	--		mesecon.wireless_receivers[i].channel=channel -	--		break -	--	end -	--	i=i+1 -	--end -	local wlre=mesecon:get_wlre(pos) -	if wlre~=nil then  -		wlre.channel=channel -	end -end - -function mesecon:get_wlre(pos) -	local i=1 -	while mesecon.wireless_receivers[i]~=nil do -		if mesecon.wireless_receivers[i].pos.x==pos.x and -		   mesecon.wireless_receivers[i].pos.y==pos.y and -		   mesecon.wireless_receivers[i].pos.z==pos.z then -			return mesecon.wireless_receivers[i] -		end -		i=i+1 -	end -end - -minetest.register_on_placenode(function(pos, newnode, placer) -	pos.y=pos.y+1 -	if minetest.env:get_node(pos).name == "jeija:wireless_receiver_off" or -	   minetest.env:get_node(pos).name == "jeija:wireless_receiver_on"  or -	   minetest.env:get_node(pos).name == "jeija:wireless_inverter_off" or -	   minetest.env:get_node(pos).name == "jeija:wireless_inverter_on" then -		mesecon:set_wlre_channel(pos, newnode.name) -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		local channel -		pos.y=pos.y+1 -		if minetest.env:get_node(pos).name == "jeija:wireless_receiver_on" or -		   minetest.env:get_node(pos).name == "jeija:wireless_receiver_off" or -		   minetest.env:get_node(pos).name == "jeija:wireless_inverter_on" or -		   minetest.env:get_node(pos).name == "jeija:wireless_inverter_off" then -			mesecon:set_wlre_channel(pos, "air") -		end	 -	end -) - -minetest.register_abm( -	{nodenames = {"jeija:wireless_receiver_on", "jeija:wireless_receiver_off", -		      "jeija:wireless_inverter_on", "jeija:wireless_inverter_off"}, -	interval = 1.0, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local wlre=mesecon:get_wlre(pos) -		if (wlre==nil) then return end -		 -		if node.name=="jeija:wireless_receiver_on" and wlre.requested_state==0  then -			minetest.env:add_node(pos, {name="jeija:wireless_receiver_off"}) -			mesecon:receptor_off(pos) -		end -		if node.name=="jeija:wireless_receiver_off" and wlre.requested_state==1  then -			minetest.env:add_node(pos, {name="jeija:wireless_receiver_on"}) -			mesecon:receptor_on(pos) -		end -		if node.name=="jeija:wireless_inverter_off" and wlre.requested_state==0 and wlre.inverting==1 then -			minetest.env:add_node(pos, {name="jeija:wireless_inverter_on"}) -			mesecon:receptor_on(pos) -		end -		if node.name=="jeija:wireless_inverter_on" and wlre.requested_state==1 and wlre.inverting==1 then -			minetest.env:add_node(pos, {name="jeija:wireless_inverter_off"}) -			mesecon:receptor_off(pos) -		end -	end, -}) - ---WIRELESS RECEIVER - -minetest.register_node("jeija:wireless_receiver_off", { -	tile_images = {"jeija_wireless_receiver_tb_off.png", "jeija_wireless_receiver_tb_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png", "jeija_wireless_receiver_off.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_receiver_off.png"), -	material = minetest.digprop_constanttime(0.8), -    	description="Wireless Receiver", -}) - -minetest.register_node("jeija:wireless_receiver_on", { -	tile_images = {"jeija_wireless_receiver_tb_on.png", "jeija_wireless_receiver_tb_on.png", "jeija_wireless_receiver_on.png", "jeija_wireless_receiver_on.png", "jeija_wireless_receiver_on.png", "jeija_wireless_receiver_on.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_receiver_on.png"), -	material = minetest.digprop_constanttime(0.8), -	drop = 'jeija:wireless_receiver_off', -    	description="Wireless Receiver", -}) - -minetest.register_craft({ -	output = 'node "jeija:wireless_receiver_off" 2', -	recipe = { -		{'', 'node "jeija:mesecon_off"', ''}, -		{'', 'node "jeija:mesecon_off"', ''}, -		{'', 'craft "jeija:ic"', ''}, -	} -}) - -minetest.register_on_placenode(function(pos, newnode, placer) -	if newnode.name == "jeija:wireless_receiver_off" then -		mesecon:register_wireless_receiver(pos, 0) -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:wireless_receiver_on" then -			mesecon:remove_wireless_receiver(pos) -			mesecon:receptor_off(pos) -		end	 -		if oldnode.name == "jeija:wireless_receiver_off" then -			mesecon:remove_wireless_receiver(pos)		 -		end -	end -) - -minetest.register_abm( -- SAVE WIRELESS RECEIVERS TO FILE -	{nodenames = {"jeija:wireless_receiver_off", "jeija:wireless_receiver_on", "jeija:wireless_inverter_on", "jeija:wireless_inverter_off"}, -	interval = 10, -	chance = 1, -	action = function(pos, node, active_object_count, active_object_count_wider) -		local mesecon_file = io.open(minetest.get_modpath("jeija").."/mesecon_data", "w") -		local i=1 -		while mesecon.wireless_receivers[i]~=nil do -			mesecon_file:write("NEXT\n") -			mesecon_file:write(mesecon.wireless_receivers[i].pos.x.."\n") -			mesecon_file:write(mesecon.wireless_receivers[i].pos.y.."\n") -			mesecon_file:write(mesecon.wireless_receivers[i].pos.z.."\n") -			mesecon_file:write(mesecon.wireless_receivers[i].channel.."\n") -			mesecon_file:write(mesecon.wireless_receivers[i].requested_state.."\n") -			mesecon_file:write(mesecon.wireless_receivers[i].inverting.."\n") -			i=i+1 -		end -		mesecon_file:close() -	end,  -}) - -mesecon:add_receptor_node("jeija:wireless_receiver_on") -mesecon:add_receptor_node_off("jeija:wireless_receiver_off") - --- WIRELESS INVERTER OFF/ON BELONGS TO THE OUTPUT STATE (ON=INPUT OFF) - -minetest.register_node("jeija:wireless_inverter_off", { -	tile_images = {"jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_off.png", "jeija_wireless_inverter_off.png", "jeija_wireless_inverter_off.png", "jeija_wireless_inverter_off.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_inverter_off.png"), -	material = minetest.digprop_constanttime(0.8), -	drop = 'jeija:wireless_inverter_on', -    	description="Wireless Inverter", -}) - -minetest.register_node("jeija:wireless_inverter_on", { -	tile_images = {"jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_tb.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png", "jeija_wireless_inverter_on.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_inverter_on.png"), -	material = minetest.digprop_constanttime(0.8), -    	description="Wireless Inverter", -}) - -minetest.register_craft({ -	output = '"jeija:wireless_inverter_off" 2', -	recipe = { -		{'', 'default:steel_ingot', ''}, -		{'jeija:ic', 'jeija:mesecon_off', 'jeija:ic'}, -		{'', 'jeija:mesecon_off', ''}, -	} -}) - -minetest.register_on_placenode(function(pos, newnode, placer) -	if newnode.name == "jeija:wireless_inverter_on" then -		mesecon:register_wireless_receiver(pos, 1) -		mesecon:receptor_on(pos) -	end -end) - -minetest.register_on_dignode( -	function(pos, oldnode, digger) -		if oldnode.name == "jeija:wireless_inverter_on" then -			mesecon:remove_wireless_receiver(pos) -			mesecon:receptor_off(pos) -		end	 -		if oldnode.name == "jeija:wireless_inverter_off" then -			mesecon:remove_wireless_receiver(pos)		 -		end -	end -) - -mesecon:add_receptor_node("jeija:wireless_inverter_on") -mesecon:add_receptor_node_off("jeija:wireless_inverter_off") - --- WIRELESS TRANSMITTER - -function mesecon:wireless_transmit(channel, senderstate) -	local i = 1 -	while mesecon.wireless_receivers[i]~=nil do -		if mesecon.wireless_receivers[i].channel==channel then -			if senderstate==1 then -				mesecon.wireless_receivers[i].requested_state=1 -			elseif senderstate==0 then -				mesecon.wireless_receivers[i].requested_state=0 -			end -		end -		i=i+1 -	end -end - -minetest.register_node("jeija:wireless_transmitter_on", { -	tile_images = {"jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_on.png", "jeija_wireless_transmitter_on.png", "jeija_wireless_transmitter_on.png", "jeija_wireless_transmitter_on.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_transmitter_on.png"), -	material = minetest.digprop_constanttime(0.8), -	dug_item = 'node "jeija:wireless_transmitter_off" 1', -    	description="Wireless Transmitter", -}) - -minetest.register_node("jeija:wireless_transmitter_off", { -	tile_images = {"jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_tb.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png", "jeija_wireless_transmitter_off.png"}, -	inventory_image = minetest.inventorycube("jeija_wireless_transmitter_off.png"), -	material = minetest.digprop_constanttime(0.8), -    	description="Wireless Transmitter", -}) - -minetest.register_craft({ -	output = '"jeija:wireless_transmitter_off" 2', -	recipe = { -		{'default:steel_ingot', 'jeija:mesecon_off', 'default:steel_ingot'}, -		{'', 'jeija:mesecon_off', ''}, -		{'', 'jeija:ic', ''}, -	} -}) - -mesecon:register_on_signal_on(function(pos, node) -	if node.name=="jeija:wireless_transmitter_off" then -		minetest.env:add_node(pos, {name="jeija:wireless_transmitter_on"}) -		local node_under_pos=pos -		node_under_pos.y=node_under_pos.y-1 -		local node_under=minetest.env:get_node(node_under_pos) -		mesecon:wireless_transmit(node_under.name, 1) -	end -end) - -mesecon:register_on_signal_off(function(pos, node) -	if node.name=="jeija:wireless_transmitter_on" then -		minetest.env:add_node(pos, {name="jeija:wireless_transmitter_off"}) -		local node_under_pos=pos -		node_under_pos.y=node_under_pos.y-1 -		local node_under=minetest.env:get_node(node_under_pos) -		mesecon:wireless_transmit(node_under.name, 0) -	end -end)  | 
