Remove dead parts of the mod/dead textures/wireless mesecons
@@ -1,4 +0,0 @@
 | 
			
		||||
Please note:
 | 
			
		||||
The mesecons modules in here have been disabled for various reasons:
 | 
			
		||||
They are old and deprecated, are not needed anymore or are buggy atm.
 | 
			
		||||
You can create a module out of them, but it is not recommended to use any of them.
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
--read README
 | 
			
		||||
@@ -1,2 +0,0 @@
 | 
			
		||||
mesecons
 | 
			
		||||
mesecons_materials
 | 
			
		||||
@@ -1,313 +0,0 @@
 | 
			
		||||
--COMMON WIRELESS FUNCTIONS
 | 
			
		||||
 | 
			
		||||
mesecon.wireless_receivers={}
 | 
			
		||||
 | 
			
		||||
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 == "mesecons_wireless:wireless_receiver_off" or
 | 
			
		||||
		minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_on"  or
 | 
			
		||||
		minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" or
 | 
			
		||||
		minetest.env:get_node(pos).name == "mesecons_wireless: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 == "mesecons_wireless:wireless_receiver_on" or
 | 
			
		||||
			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_receiver_off" or
 | 
			
		||||
			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_on" or
 | 
			
		||||
			minetest.env:get_node(pos).name == "mesecons_wireless:wireless_inverter_off" then
 | 
			
		||||
			mesecon:set_wlre_channel(pos, "air")
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
minetest.register_abm(
 | 
			
		||||
	{nodenames = {"mesecons_wireless:wireless_receiver_on", "mesecons_wireless:wireless_receiver_off",
 | 
			
		||||
		"mesecons_wireless:wireless_inverter_on", "mesecons_wireless: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=="mesecons_wireless:wireless_receiver_on" and wlre.requested_state==0  then
 | 
			
		||||
			minetest.env:add_node(pos, {name="mesecons_wireless:wireless_receiver_off"})
 | 
			
		||||
			mesecon:receptor_off(pos)
 | 
			
		||||
		end
 | 
			
		||||
		if node.name=="mesecons_wireless:wireless_receiver_off" and wlre.requested_state==1  then
 | 
			
		||||
			minetest.env:add_node(pos, {name="mesecons_wireless:wireless_receiver_on"})
 | 
			
		||||
			mesecon:receptor_on(pos)
 | 
			
		||||
		end
 | 
			
		||||
		if node.name=="mesecons_wireless:wireless_inverter_off" and wlre.requested_state==0 and wlre.inverting==1 then
 | 
			
		||||
			minetest.env:add_node(pos, {name="mesecons_wireless:wireless_inverter_on"})
 | 
			
		||||
			mesecon:receptor_on(pos)
 | 
			
		||||
		end
 | 
			
		||||
		if node.name=="mesecons_wireless:wireless_inverter_on" and wlre.requested_state==1 and wlre.inverting==1 then
 | 
			
		||||
			minetest.env:add_node(pos, {name="mesecons_wireless:wireless_inverter_off"})
 | 
			
		||||
			mesecon:receptor_off(pos)
 | 
			
		||||
		end
 | 
			
		||||
	end,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--WIRELESS RECEIVER
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	description="Wireless Receiver",
 | 
			
		||||
	after_place_node = function(pos)
 | 
			
		||||
		mesecon:register_wireless_receiver(pos, 0)
 | 
			
		||||
	end,
 | 
			
		||||
	after_dig_node = function(pos)
 | 
			
		||||
		mesecon:remove_wireless_receiver(pos)
 | 
			
		||||
		mesecon:receptor_off(pos)
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	drop = 'mesecons_wireless:wireless_receiver_off',
 | 
			
		||||
	description="Wireless Receiver",
 | 
			
		||||
	after_place_node = function(pos)
 | 
			
		||||
		mesecon:register_wireless_receiver(pos, 0)
 | 
			
		||||
	end,
 | 
			
		||||
	after_dig_node = function(pos)
 | 
			
		||||
		mesecon:remove_wireless_receiver(pos)
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = '"mesecons_wireless:wireless_receiver_off" 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', "group:mesecon_conductor_craftable", ''},
 | 
			
		||||
		{'', "group:mesecon_conductor_craftable", ''},
 | 
			
		||||
		{'', "mesecons_materials:ic", ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_abm( -- SAVE WIRELESS RECEIVERS TO FILE
 | 
			
		||||
	{nodenames = {"mesecons_wireless:wireless_receiver_off", "mesecons_wireless:wireless_receiver_on", "mesecons_wireless:wireless_inverter_on", "mesecons_wireless: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("mesecons_wireless:wireless_receiver_on")
 | 
			
		||||
mesecon:add_receptor_node_off("mesecons_wireless:wireless_receiver_off")
 | 
			
		||||
 | 
			
		||||
-- WIRELESS INVERTER OFF/ON BELONGS TO THE OUTPUT STATE (ON=INPUT OFF)
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	drop = 'mesecons_wireless:wireless_inverter_on',
 | 
			
		||||
    	description = "Wireless Inverter",
 | 
			
		||||
	after_place_node = function(pos)
 | 
			
		||||
		mesecon:register_wireless_receiver(pos, 1)
 | 
			
		||||
		mesecon:receptor_on(pos)
 | 
			
		||||
	end,
 | 
			
		||||
	after_dig_node = function(pos)
 | 
			
		||||
		mesecon:remove_wireless_receiver(pos)
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	description = "Wireless Inverter",
 | 
			
		||||
	after_place_node = function(pos)
 | 
			
		||||
		mesecon:register_wireless_receiver(pos, 1)
 | 
			
		||||
		mesecon:receptor_on(pos)
 | 
			
		||||
	end,
 | 
			
		||||
	after_dig_node = function(pos)
 | 
			
		||||
		mesecon:remove_wireless_receiver(pos)
 | 
			
		||||
		mesecon:receptor_off(pos)
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = '"mesecons_wireless:wireless_inverter_off" 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'', 'default:steel_ingot', ''},
 | 
			
		||||
		{'mesecons_materials:ic', 'group:mesecon_conductor_craftable', 'mesecons_materials:ic'},
 | 
			
		||||
		{'', 'group:mesecon_conductor_craftable', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
mesecon:add_receptor_node("mesecons_wireless:wireless_inverter_on")
 | 
			
		||||
mesecon:add_receptor_node_off("mesecons_wireless: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("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	drop = {'"mesecons_wireless:wireless_transmitter_off" 1'},
 | 
			
		||||
	description="Wireless Transmitter",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node("mesecons_wireless: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"),
 | 
			
		||||
	groups = {choppy=2},
 | 
			
		||||
	description="Wireless Transmitter",
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = '"mesecons_wireless:wireless_transmitter_off" 2',
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{'default:steel_ingot', 'group:mesecon_conductor_craftable', 'default:steel_ingot'},
 | 
			
		||||
		{'', 'group:mesecon_conductor_craftable', ''},
 | 
			
		||||
		{'', 'mesecons_materials:ic', ''},
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
mesecon:register_on_signal_on(function(pos, node)
 | 
			
		||||
	if node.name=="mesecons_wireless:wireless_transmitter_off" then
 | 
			
		||||
		minetest.env:add_node(pos, {name="mesecons_wireless: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=="mesecons_wireless:wireless_transmitter_on" then
 | 
			
		||||
		minetest.env:add_node(pos, {name="mesecons_wireless: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)
 | 
			
		||||
 | 
			
		||||
mesecon:read_wlre_from_file()
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 462 B  | 
| 
		 Before Width: | Height: | Size: 635 B  | 
| 
		 Before Width: | Height: | Size: 715 B  | 
| 
		 Before Width: | Height: | Size: 678 B  | 
| 
		 Before Width: | Height: | Size: 579 B  | 
| 
		 Before Width: | Height: | Size: 620 B  | 
| 
		 Before Width: | Height: | Size: 678 B  | 
| 
		 Before Width: | Height: | Size: 678 B  | 
| 
		 Before Width: | Height: | Size: 590 B  | 
| 
		 Before Width: | Height: | Size: 621 B  | 
| 
		 Before Width: | Height: | Size: 678 B  |