From f8ac52c35073875e2ba1872532577c27f9677c3d Mon Sep 17 00:00:00 2001 From: Jeija Date: Mon, 5 Mar 2012 19:19:31 +0100 Subject: [PATCH] Prepare for major code reorganization --- jeija/VERSION | 1 - jeija/alias.lua | 21 - jeija/button.lua | 89 -- jeija/depends.txt | 2 - jeija/detector.lua | 85 -- jeija/init.lua | 904 ------------------ jeija/lever.lua | 86 -- jeija/lightstone.lua | 41 - jeija/movestone.lua | 288 ------ jeija/pistons.lua | 268 ------ jeija/pressureplates.lua | 153 --- jeija/switch.lua | 48 - jeija/temperest.lua | 220 ----- jeija/textures/jeija_blinky_plant_off.png | Bin 496 -> 0 bytes jeija/textures/jeija_blinky_plant_on.png | Bin 569 -> 0 bytes jeija/textures/jeija_glue.png | Bin 298 -> 0 bytes jeija/textures/jeija_hydro_turbine_off.png | Bin 312 -> 0 bytes jeija/textures/jeija_hydro_turbine_on.png | Bin 304 -> 0 bytes jeija/textures/jeija_ic.png | Bin 245 -> 0 bytes .../jeija_lightstone_darkgray_off.png | Bin 174 -> 0 bytes .../textures/jeija_lightstone_darkgray_on.png | Bin 174 -> 0 bytes jeija/textures/jeija_lightstone_gray_off.png | Bin 174 -> 0 bytes jeija/textures/jeija_lightstone_gray_on.png | Bin 174 -> 0 bytes jeija/textures/jeija_lightstone_green_off.png | Bin 174 -> 0 bytes jeija/textures/jeija_lightstone_green_on.png | Bin 174 -> 0 bytes jeija/textures/jeija_lightstone_red_off.png | Bin 123 -> 0 bytes jeija/textures/jeija_lightstone_red_on.png | Bin 123 -> 0 bytes jeija/textures/jeija_mesecon_crossing_off.png | Bin 163 -> 0 bytes jeija/textures/jeija_mesecon_crossing_on.png | Bin 163 -> 0 bytes jeija/textures/jeija_mesecon_curved_off.png | Bin 130 -> 0 bytes jeija/textures/jeija_mesecon_curved_on.png | Bin 130 -> 0 bytes jeija/textures/jeija_mesecon_inverter_off.png | Bin 261 -> 0 bytes jeija/textures/jeija_mesecon_inverter_on.png | Bin 265 -> 0 bytes jeija/textures/jeija_mesecon_off.png | Bin 145 -> 0 bytes jeija/textures/jeija_mesecon_on.png | Bin 146 -> 0 bytes jeija/textures/jeija_mesecon_plug.png | Bin 257 -> 0 bytes jeija/textures/jeija_mesecon_socket_off.png | Bin 250 -> 0 bytes jeija/textures/jeija_mesecon_socket_on.png | Bin 258 -> 0 bytes jeija/textures/jeija_mesecon_switch_off.png | Bin 715 -> 0 bytes jeija/textures/jeija_mesecon_switch_on.png | Bin 721 -> 0 bytes jeija/textures/jeija_mesecon_switch_side.png | Bin 806 -> 0 bytes .../textures/jeija_mesecon_t_junction_off.png | Bin 167 -> 0 bytes .../textures/jeija_mesecon_t_junction_on.png | Bin 167 -> 0 bytes jeija/textures/jeija_meselamp_off.png | Bin 158 -> 0 bytes jeija/textures/jeija_meselamp_on.png | Bin 158 -> 0 bytes .../jeija_meselamp_on_ceiling_off.png | Bin 163 -> 0 bytes .../textures/jeija_meselamp_on_ceiling_on.png | Bin 163 -> 0 bytes .../textures/jeija_meselamp_on_floor_off.png | Bin 155 -> 0 bytes jeija/textures/jeija_meselamp_on_floor_on.png | Bin 155 -> 0 bytes jeija/textures/jeija_movestone_arrows.png | Bin 762 -> 0 bytes jeija/textures/jeija_movestone_side.png | Bin 806 -> 0 bytes jeija/textures/jeija_object_detector_off.png | Bin 302 -> 0 bytes jeija/textures/jeija_object_detector_on.png | Bin 326 -> 0 bytes jeija/textures/jeija_piston_pusher_normal.png | Bin 716 -> 0 bytes jeija/textures/jeija_piston_pusher_sticky.png | Bin 729 -> 0 bytes jeija/textures/jeija_piston_side.png | Bin 716 -> 0 bytes jeija/textures/jeija_piston_sticky_side.png | Bin 729 -> 0 bytes jeija/textures/jeija_piston_tb.png | Bin 797 -> 0 bytes jeija/textures/jeija_power_plant.png | Bin 639 -> 0 bytes .../jeija_pressure_plate_stone_off.png | Bin 814 -> 0 bytes .../jeija_pressure_plate_stone_on.png | Bin 799 -> 0 bytes .../jeija_pressure_plate_wood_off.png | Bin 704 -> 0 bytes .../textures/jeija_pressure_plate_wood_on.png | Bin 696 -> 0 bytes jeija/textures/jeija_removestone.png | Bin 830 -> 0 bytes jeija/textures/jeija_removestone_inv.png | Bin 923 -> 0 bytes jeija/textures/jeija_silicon.png | Bin 309 -> 0 bytes jeija/textures/jeija_solar_panel.png | Bin 182 -> 0 bytes jeija/textures/jeija_sticky_movestone.png | Bin 807 -> 0 bytes jeija/textures/jeija_torches_off.png | Bin 198 -> 0 bytes jeija/textures/jeija_torches_off_ceiling.png | Bin 186 -> 0 bytes jeija/textures/jeija_torches_off_side.png | Bin 190 -> 0 bytes jeija/textures/jeija_torches_on.png | Bin 199 -> 0 bytes jeija/textures/jeija_torches_on_ceiling.png | Bin 186 -> 0 bytes jeija/textures/jeija_torches_on_side.png | Bin 190 -> 0 bytes jeija/textures/jeija_wall_button_off.png | Bin 174 -> 0 bytes jeija/textures/jeija_wall_button_on.png | Bin 158 -> 0 bytes jeija/textures/jeija_wall_lever_off.png | Bin 189 -> 0 bytes jeija/textures/jeija_wall_lever_on.png | Bin 173 -> 0 bytes .../textures/jeija_wireless_inverter_off.png | Bin 298 -> 0 bytes jeija/textures/jeija_wireless_inverter_on.png | Bin 292 -> 0 bytes jeija/textures/jeija_wireless_inverter_tb.png | Bin 179 -> 0 bytes .../textures/jeija_wireless_receiver_off.png | Bin 225 -> 0 bytes jeija/textures/jeija_wireless_receiver_on.png | Bin 208 -> 0 bytes .../jeija_wireless_receiver_tb_off.png | Bin 197 -> 0 bytes .../jeija_wireless_receiver_tb_on.png | Bin 197 -> 0 bytes .../jeija_wireless_transmitter_off.png | Bin 227 -> 0 bytes .../jeija_wireless_transmitter_on.png | Bin 228 -> 0 bytes .../jeija_wireless_transmitter_tb.png | Bin 197 -> 0 bytes jeija/torches.lua | 130 --- jeija/wireless.lua | 318 ------ 90 files changed, 2654 deletions(-) delete mode 100644 jeija/VERSION delete mode 100644 jeija/alias.lua delete mode 100644 jeija/button.lua delete mode 100644 jeija/depends.txt delete mode 100644 jeija/detector.lua delete mode 100644 jeija/init.lua delete mode 100644 jeija/lever.lua delete mode 100644 jeija/lightstone.lua delete mode 100644 jeija/movestone.lua delete mode 100644 jeija/pistons.lua delete mode 100644 jeija/pressureplates.lua delete mode 100644 jeija/switch.lua delete mode 100644 jeija/temperest.lua delete mode 100644 jeija/textures/jeija_blinky_plant_off.png delete mode 100644 jeija/textures/jeija_blinky_plant_on.png delete mode 100644 jeija/textures/jeija_glue.png delete mode 100644 jeija/textures/jeija_hydro_turbine_off.png delete mode 100644 jeija/textures/jeija_hydro_turbine_on.png delete mode 100644 jeija/textures/jeija_ic.png delete mode 100644 jeija/textures/jeija_lightstone_darkgray_off.png delete mode 100644 jeija/textures/jeija_lightstone_darkgray_on.png delete mode 100644 jeija/textures/jeija_lightstone_gray_off.png delete mode 100644 jeija/textures/jeija_lightstone_gray_on.png delete mode 100644 jeija/textures/jeija_lightstone_green_off.png delete mode 100644 jeija/textures/jeija_lightstone_green_on.png delete mode 100644 jeija/textures/jeija_lightstone_red_off.png delete mode 100644 jeija/textures/jeija_lightstone_red_on.png delete mode 100644 jeija/textures/jeija_mesecon_crossing_off.png delete mode 100644 jeija/textures/jeija_mesecon_crossing_on.png delete mode 100644 jeija/textures/jeija_mesecon_curved_off.png delete mode 100644 jeija/textures/jeija_mesecon_curved_on.png delete mode 100644 jeija/textures/jeija_mesecon_inverter_off.png delete mode 100644 jeija/textures/jeija_mesecon_inverter_on.png delete mode 100644 jeija/textures/jeija_mesecon_off.png delete mode 100644 jeija/textures/jeija_mesecon_on.png delete mode 100644 jeija/textures/jeija_mesecon_plug.png delete mode 100644 jeija/textures/jeija_mesecon_socket_off.png delete mode 100644 jeija/textures/jeija_mesecon_socket_on.png delete mode 100644 jeija/textures/jeija_mesecon_switch_off.png delete mode 100644 jeija/textures/jeija_mesecon_switch_on.png delete mode 100644 jeija/textures/jeija_mesecon_switch_side.png delete mode 100644 jeija/textures/jeija_mesecon_t_junction_off.png delete mode 100644 jeija/textures/jeija_mesecon_t_junction_on.png delete mode 100644 jeija/textures/jeija_meselamp_off.png delete mode 100644 jeija/textures/jeija_meselamp_on.png delete mode 100644 jeija/textures/jeija_meselamp_on_ceiling_off.png delete mode 100644 jeija/textures/jeija_meselamp_on_ceiling_on.png delete mode 100644 jeija/textures/jeija_meselamp_on_floor_off.png delete mode 100644 jeija/textures/jeija_meselamp_on_floor_on.png delete mode 100644 jeija/textures/jeija_movestone_arrows.png delete mode 100644 jeija/textures/jeija_movestone_side.png delete mode 100644 jeija/textures/jeija_object_detector_off.png delete mode 100644 jeija/textures/jeija_object_detector_on.png delete mode 100644 jeija/textures/jeija_piston_pusher_normal.png delete mode 100644 jeija/textures/jeija_piston_pusher_sticky.png delete mode 100644 jeija/textures/jeija_piston_side.png delete mode 100644 jeija/textures/jeija_piston_sticky_side.png delete mode 100644 jeija/textures/jeija_piston_tb.png delete mode 100644 jeija/textures/jeija_power_plant.png delete mode 100644 jeija/textures/jeija_pressure_plate_stone_off.png delete mode 100644 jeija/textures/jeija_pressure_plate_stone_on.png delete mode 100644 jeija/textures/jeija_pressure_plate_wood_off.png delete mode 100644 jeija/textures/jeija_pressure_plate_wood_on.png delete mode 100644 jeija/textures/jeija_removestone.png delete mode 100644 jeija/textures/jeija_removestone_inv.png delete mode 100644 jeija/textures/jeija_silicon.png delete mode 100644 jeija/textures/jeija_solar_panel.png delete mode 100644 jeija/textures/jeija_sticky_movestone.png delete mode 100644 jeija/textures/jeija_torches_off.png delete mode 100644 jeija/textures/jeija_torches_off_ceiling.png delete mode 100644 jeija/textures/jeija_torches_off_side.png delete mode 100644 jeija/textures/jeija_torches_on.png delete mode 100644 jeija/textures/jeija_torches_on_ceiling.png delete mode 100644 jeija/textures/jeija_torches_on_side.png delete mode 100644 jeija/textures/jeija_wall_button_off.png delete mode 100644 jeija/textures/jeija_wall_button_on.png delete mode 100644 jeija/textures/jeija_wall_lever_off.png delete mode 100644 jeija/textures/jeija_wall_lever_on.png delete mode 100644 jeija/textures/jeija_wireless_inverter_off.png delete mode 100644 jeija/textures/jeija_wireless_inverter_on.png delete mode 100644 jeija/textures/jeija_wireless_inverter_tb.png delete mode 100644 jeija/textures/jeija_wireless_receiver_off.png delete mode 100644 jeija/textures/jeija_wireless_receiver_on.png delete mode 100644 jeija/textures/jeija_wireless_receiver_tb_off.png delete mode 100644 jeija/textures/jeija_wireless_receiver_tb_on.png delete mode 100644 jeija/textures/jeija_wireless_transmitter_off.png delete mode 100644 jeija/textures/jeija_wireless_transmitter_on.png delete mode 100644 jeija/textures/jeija_wireless_transmitter_tb.png delete mode 100644 jeija/torches.lua delete mode 100644 jeija/wireless.lua 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.ypos.y-1 and objpos.yPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3=|R;6~IAFrvLx|9cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HN0a-~zK~y-)m6AbA0$~t_pDzW$ zj0M3`!9yU@v5PP#PZ9lv=)8ZRqZjKBbeC>k`Uy&xg-(K(E`i8W2gwX!yTsb2@pWid zR^25X7?^iv-gky?K1Ga)$UBhsq1)|t57^X1?tD6(e%0&sy)e0V|MGVQyW=SUt7TI&3yW1}vzh07 zIG*?IVHidx$k)t*wpum-cE?l6fHW9S7!4h2Wcc7Vqm|zGnC|?)4TEj0000=G`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3=|R?VyNGJ?a%xttNX z;9z8*_3@?%D^8aaQ3e)vhnd-TXB9J0tJ%NCW1avQ29MS1*>mPay>5FV1&OYD-S(2S zMx1Cii~E)(H*wyw z?u*^sSLmS4&DTHH*X3fa4jK)+?fZpm{eIssTsInaJ4tIMkp~CHyW3la+uLIR4iAmh z<6~oCt`Y%St=1@k8z)ZizV=oCK32af{sY=)o_}&DL^Nb+$zg8~`u+ZJG`fF)vnjLo z8J&|*0h}InD3!CKMT5a041NY-_!yE(r4}_`Dre>Nr~^RfBvht0UHUz|Za}G=6|WoM z_r8hs%u?ypO90+%J(b*A8m}7wkXuWWDQL70(Y)*K0-AbW|YuPgg)9w`w~_CM_@Yk@+tnIRD+&iT2y zsd*(pE(3#eQEFmIYKlU6W=V#EyQgnJie4%^P`uI8#WBR<^wP=RdKb!jc z)_#7f=%y$0 hVY!N=X=c`@_v9u=#C?|8wbm2lN>5immvv4FO#sLoW<>x1 diff --git a/jeija/textures/jeija_hydro_turbine_off.png b/jeija/textures/jeija_hydro_turbine_off.png deleted file mode 100644 index 2de3c7e7e6dc9152c03b87bfadb44e577899ceb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9w`xX)xOZ=OrX#XPZ!4!jq`JZ z6on2e2*hylHLgErFYuS0sd>dI?*LI#j(>p@>qCw!KRV^Zn(4)nnd$%b?!CL`?#V2i z@@RSjLtA3Tn`uFtT6SFH?71fQ+wS4XolEU3zlWX3RCGC{$nr62V%Jj#xtMIeo@+%4 zoM9rLW{9@j(31JImcfZ*eyy#WnU&-cCE5noV3eJ zJkxT+((aO{3#%oPFKo5BU(`5F;p+E3!*_fC3ZE%+%3M{dvQL70(Y)*K0-AbW|YuPgg)9w`x1i~Fg$MnItro-U3d8t0Q! z($dltST`6L7|7UEOz^n+?b|mWfosS6hD(yBE`&CZ=p`Z0xy^rS#Gw*KUqg zecj#89}mk;o4I4kySb+(%$wI|Jms68>vOAg;|DxpCYdIByV!hyWS4x%za`6;8?O+U r{NsV515d({S$qEf``fL3lbJzU!O`^B#;4^#w=;OU`njxgN@xNAZ7gi6 diff --git a/jeija/textures/jeija_ic.png b/jeija/textures/jeija_ic.png deleted file mode 100644 index d487b029717cd69046fac4e43f75a6c5d2e1a5e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5}C6Re8hw1@=H8+02lL66gHf+|;}hAeVu`xhOTUBsE2$ zJhLQ2!QIn0AVn{g9Vi~>>Eak-ar)}yKrRMF4wqW*@AjSLbN-%86*l9tPhxjjaWHO? z$EGel?Nu=go-!x=QunM8+Od0=<{9Tbw&$C7b~dO;CQRJUnf6Q3aaXi5M@~XVYSSl~ hDb*XC4}8qs!QL70(Y)*K0-AbW|YuPgf z5`LU_U`$9%NJyA*b(Yh#XIoxb^7!zGGzBud@k*F7FiB{hJ;yL}Evx+Fjfu~IIvG4& L{an^LB{Ts58`>`- diff --git a/jeija/textures/jeija_lightstone_darkgray_on.png b/jeija/textures/jeija_lightstone_darkgray_on.png deleted file mode 100644 index 502fad531204224e018a1fbb01590646176b01dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgfya|ZVqh@{nl+a(?JcYP+ufZ;K%ESp Lu6{1-oD!MQL70(Y)*K0-AbW|YuPgf)&Pa{JY5_^EKVn< zBqaPe@4%Rln2?ZgV^b=3BH diff --git a/jeija/textures/jeija_lightstone_gray_on.png b/jeija/textures/jeija_lightstone_gray_on.png deleted file mode 100644 index 8796aef232f5498861554f27b9af724e3bca5b66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf;DHI-FfXocHJpiTx) LS3j3^P6QL70(Y)*K0-AbW|YuPgfJY5_^EKVn< zBqaPe@4%Rln2?Zgya|ZVqh@{nl+d4^ifv%(#yw}0(CNY My85}Sb4q9e0H`A|fdBvi diff --git a/jeija/textures/jeija_lightstone_green_on.png b/jeija/textures/jeija_lightstone_green_on.png deleted file mode 100644 index 04110e39a644400f98671c837b4f308c673e0073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgf^X)dx~%fk<#sIu>SXYA L^>bP0l+XkKEH*9J diff --git a/jeija/textures/jeija_lightstone_red_off.png b/jeija/textures/jeija_lightstone_red_off.png deleted file mode 100644 index 70230387b0c67e63a3f357ff735fd1d57e75d0c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfmdKI;Vst01;6k?f?J) diff --git a/jeija/textures/jeija_mesecon_crossing_off.png b/jeija/textures/jeija_mesecon_crossing_off.png deleted file mode 100644 index 180c9d20d8697b556405b61dd927216cf964cc95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5|;JJ-(V)>3cvSQ%@Ji5R22v2?v;Gy^{QAe%1KT@#Sru zjZOwx49v{R`y?EmT{le%KkcD0i*3KSgj?_<1p@{KUkw4NGa^^s01aU9boFyt=akR{ E0RNOM9RL6T diff --git a/jeija/textures/jeija_mesecon_crossing_on.png b/jeija/textures/jeija_mesecon_crossing_on.png deleted file mode 100644 index e33af53407e6102e411377a3ae83a187c208f415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5|;JeUTX|m!ATKOg&v3Lo7}wCmdk@_dor||Nr)f>ua)R zNNBJuW-~A_c+|}((%N(5s*zCFvV-qg+b&MA;NW3kuu&G}p2Ej@9%ulAr>mdKI;Vst E0EWXY$N&HU diff --git a/jeija/textures/jeija_mesecon_curved_off.png b/jeija/textures/jeija_mesecon_curved_off.png deleted file mode 100644 index d66b5bdc36dd48745204d1f72c9d5ae7ef4b4716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf diff --git a/jeija/textures/jeija_mesecon_curved_on.png b/jeija/textures/jeija_mesecon_curved_on.png deleted file mode 100644 index 69e39d1475c82be96ab20cdaa77374031cba5cdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfE-3DRt`?{w;$3r1joB*D8(FH%yw$wL3g2Gj+e_5m)5K;-L+l#WKQe5 z6)}SM4|Sb996zITmnMUF**(sf8=g%W4^EXceoiXbb7+(48lZz1JYD@<);T3K0RU`X BVfp|7 diff --git a/jeija/textures/jeija_mesecon_inverter_on.png b/jeija/textures/jeija_mesecon_inverter_on.png deleted file mode 100644 index 54794ae3ac4b1bee29ac5334893273665555b933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfi8?6keW=vBM&isB|7(Vk#|7_XO|UH5;1ML+^fOaJbAN1ldAz@i zgw55!l}h_sjooJLzaU&1#GtiikMN2OlUP`sfZ5|;JIq7r9P96gaDSNs&hFF|VPB_3k>y_j`^Q*>xjxTTP mY;-cnI diff --git a/jeija/textures/jeija_mesecon_on.png b/jeija/textures/jeija_mesecon_on.png deleted file mode 100644 index 65b7740e216b16c50c802dcd52522d1829a4649b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5|;JY2!AQsg*z>6;Bt(5R22vfByfsXU;poG4;>+4sTXr l=GKHO4S~#Vyb?M<8*GJGWh2_yKLOPhfKK_vBy%J?s;gdHAozKpQbDqknT{xv$_}2M^vdrgy6;55Bz)~~&#?4(Fk6&Gr vtxkRT|IjJF_#c}d4&^(O?Z7jb;U3Umd7r>mdKI;Vst0G2IR?f?J) diff --git a/jeija/textures/jeija_mesecon_socket_on.png b/jeija/textures/jeija_mesecon_socket_on.png deleted file mode 100644 index d4710a215fea034d56bdb37ff81e958cd213b059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85sDEfH31!Z9ZwBAbW|YuPgfNFv+bZc-zQNo07|=Bgp00i_>zopr0M{s8YXATM diff --git a/jeija/textures/jeija_mesecon_switch_off.png b/jeija/textures/jeija_mesecon_switch_off.png deleted file mode 100644 index c5835198f46f401546908932f1ca1975300a320a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 715 zcmV;+0yO=JP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>Fg&1>XxaCYfXtGI2GF8M10v+}0O@9v13BZ>3+M)t(Dpz1Wkz6z?7cy%aoJ@GFRS zJ+4BmT`^hGRrf965R;6%*&YND_c{L_`2Ant?(XjO^|fIb`Fvhclw2+s1VI>vgTX-8 zb&PQw$L)4IP17Vv^7*{zy6(clLaWt62>HH$d3o8KI|4EQ000i&dEXdgl}hF8?98$( zNs>^OWsODyLfGka;y7;39f4Q;wSG-ZOaK5VrQL3q5F)Co8bwhM1eDS!ihv5<(C_y# z#?#Z&obzh6id0p_7?(;V2%)a)Ua)x2d z&dzF@mZoW;P-wMUk|cSaH#Rl~x3{;SFXH=t7>0z9z5V@{NPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>Fg$8U$IMmH+?(V@X6oR4C77 zlD$joP#DI~dy=$G$ceQn_E0}Uu~3nqLk9<4{SyQWcN4Cwi<^tk-NC`j1#!BF;GZCl z7j$e35m9VPs2}|Zc!+6^ZO$Ep-plPf|9->sJTDv{A3r`mnx>gfr&U!=rBa^f`MxiN zFbqRclrRjt-EI^`gTWx3PRowttgNhbIvtF$>$-P$cb6BJ0t7+`1nhj@VT_f_<=fla zd_JE@Byb$Z?RFagdc9s4hGQBbBtV@0Je`}HLkLky`~5y4MAkGd2m;UZD5XIVjOnp6 z8jTc1SzKJ?oY!hKtZAB}D1|}+01U%G6DLU$V@#5ye!o9IKaV-*x~}K*`Q_#1WHJc? z{-r^HuIoV%+}zwmQA7yAmSs^&Ip>6sx3{;-x60T70f*JY_xJZ)E~l#M>+5T?*_1Xm zHVnhKzP{$1udlDialH9^v-qn>f6y&w>+|#T`S}?D78Vv-t=8=9tYq7^VHh(rGlfDy zmgQ_Vn@Xij(_C6w(sezGqHH$X>2wl_M6=nA4)H z>T0=MuGj0X>)N*c_1=V#Uav1KIqEP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipV% z3KcaP;_fX?ka8=iuPr>FJ3&J3Au?LesQ$uq=xp2;cVs06fnpNm8v=34&l* zcClDA8Vxc{Q;y?wUEkZ=gAf))0U^W~V~ly8FUykSxG0K-!(oynJkJBuG$Dj(nyRY0 zSS(&%UIal91R=|^@9%HJFnr%{x7(}LYCfMwQAC}boCtz&b#;}d>GAP#Q52FS&FAyU zWMWy?-{0SCHX{gPdwY92of?Kg^?E%)5HwBebUFZlX0utV)f7dsZJXn`BuSdh=5o2L zR;zDsZ?Y^C7Z(?6k@xp^-}iZ*uh;9kt}_h7^ZeuEqa;a1QLJZ%VSr&6pP!$O;~X6w zK?t9ppUbk8WjV{T`}=!>Aaq?HkH=vc20@UfDaf)+Q51$@Mx)W`>FJs*3_}3GYPE{v zm|++I0LC~?QBa>sglZJTC~sKSH@@m}x`>kN^Mx07*qoM6N<$g5_{z;{X5v diff --git a/jeija/textures/jeija_mesecon_t_junction_off.png b/jeija/textures/jeija_mesecon_t_junction_off.png deleted file mode 100644 index b6e450228a53e39447e5185c97ea35d1896d1930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5|;JZ6)JR%@sf)OHUWa5R22v2?v;Gy^{QAe%1KT@#Sru zjZOwx49v{R`y?EmT{le%_uj&2@|lTyBUfQ%W1@*F9}_df$-R8CGx;Cr01aXAboFyt I=akR{0L)=6IRF3v diff --git a/jeija/textures/jeija_mesecon_t_junction_on.png b/jeija/textures/jeija_mesecon_t_junction_on.png deleted file mode 100644 index 8b19cea5e29993cf3771d3d391f5b8ecc2b75097..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5|;JO>XD1%4t9$OHUWa5R22v2?v<}{ZIe#|G)j=`kJg6 z5*jRv*$fN}9(6N{wD#P%DwNA`cFzH)E%B0tyUR>e`L-}J{Kyd!40$`}3eXS+Pgg&e IbxsLQ063a3`sfZ5~kpX^m<7&wKz18F;!lhFF|VPLRkr;IYol)AQv2l-pJB y?(F>k{M_8%=MMmZ%Sv%KUJ28L2a}9K85z`Ob5^%VHoOJuW$<+Mb6Mw<&;$TK`7oyd diff --git a/jeija/textures/jeija_meselamp_on.png b/jeija/textures/jeija_meselamp_on.png deleted file mode 100644 index 3c2f682c68b89994b49a5ca903cbb869dc3fa6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~kpSuW95tw}&315X#n5R22v2@)9xJl45+dY=5Ba=YsP x%&-4{pI`Ie*Z>FuU$q7@yYWiwSmG1Pz%VO_V|n`etYbjE44$rjF6*2UngDQiEj9oE diff --git a/jeija/textures/jeija_meselamp_on_ceiling_off.png b/jeija/textures/jeija_meselamp_on_ceiling_off.png deleted file mode 100644 index be584c268542213871204d7ec2615232a4c13fab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~kpC4mi=Kd%6VOg&v3Lo7}wCp0j5dY=5x`sfZ5~kpC7t!Ah6L;41`h^?Jr+EH(`M>20u5mBboFyt=akR{ E0PG(t_W%F@ diff --git a/jeija/textures/jeija_meselamp_on_floor_off.png b/jeija/textures/jeija_meselamp_on_floor_off.png deleted file mode 100644 index 6736a7b1fb41e72de3696da1c8b575651c6190e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~kpMZq`1vl@Xyx}GkMAr_~T6C_v{Cx`^F8YmT?n``}j vzJ#xvn_EGxk3rj#B~R*;a*wW>7Q@WIWzVVOd%%VpsFA_b)z4*}Q$iB}K3XS& diff --git a/jeija/textures/jeija_meselamp_on_floor_on.png b/jeija/textures/jeija_meselamp_on_floor_on.png deleted file mode 100644 index 7f135d40d36b93f367e1ba2a2b6782fa6d685859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~kp7496i>HB~}x}GkMAr_~T6C_v{Cx`^F8YmUNv)}yB wzemk=<>G=`AA`0fOPPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>FR!E=**uMF0Q-j7da6R4C7V z%E4>ePyomA=S$KwF~+A^YD^WWb!$Rvcks5+Q5m$b%X%6VcH0iU?T_hU_g;4ygR!x) zZqQlqAVLd;719=KqM|j#n3u#Px`XHLd-}ld7dt#W)HF>H1cVU7FpG+2X}mSuHauhnV*0G4GTgf}-gmSyR>uBxi0X-i8> zG))tgN@Y5ok|c>Sb{vPMX+=>m#-b=9gfPbGbeiM1D2hze%x1HYWm(5@uCK2>&vP6n znM{UZD9f^87`0lBqNpf}D2iHLT`iZ(S65e%Wm$@%_SMT+EXMPE_2gt>VPQBNzS;Vs zC`u3n1VPxgO%TLzILznsa59;290vf{Mn7qq1^_%hI&xhX0I%PfCavFo>dhN0MOXmnf z-1FKD!;mEDy6$8$VOf@_R;#}6w7q$b91xb?^6`Dv$NA`wMbDEQ>he$ zFq6qdQ3L=G1OY-w)AZ@-X`xU!J3A8uL6W3;y`InK2~}0k&(9G;8yg#)PN&&yB7{bx s5yrS!Ec(8$C`vpY55q8#Nbo%W4-I}nng9R*07*qoM6N<$f)+$prvLx| diff --git a/jeija/textures/jeija_movestone_side.png b/jeija/textures/jeija_movestone_side.png deleted file mode 100644 index cad0dbe2b428e955f6a345baccefba3c5428dfeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmV+>1KIqEP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipV% z3KcaP;_fX?ka8=iuPr>FJ3&J3Au?LesQ$uq=xp2;cVs06fnpNm8v=34&l* zcClDA8Vxc{Q;y?wUEkZ=gAf))0U^W~V~ly8FUykSxG0K-!(oynJkJBuG$Dj(nyRY0 zSS(&%UIal91R=|^@9%HJFnr%{x7(}LYCfMwQAC}boCtz&b#;}d>GAP#Q52FS&FAyU zWMWy?-{0SCHX{gPdwY92of?Kg^?E%)5HwBebUFZlX0utV)f7dsZJXn`BuSdh=5o2L zR;zDsZ?Y^C7Z(?6k@xp^-}iZ*uh;9kt}_h7^ZeuEqa;a1QLJZ%VSr&6pP!$O;~X6w zK?t9ppUbk8WjV{T`}=!>Aaq?HkH=vc20@UfDaf)+Q51$@Mx)W`>FJs*3_}3GYPE{v zm|++I0LC~?QBa>sglZJTC~sKSH@@m}x`>kN^Mx07*qoM6N<$g5_{z;{X5v diff --git a/jeija/textures/jeija_object_detector_off.png b/jeija/textures/jeija_object_detector_off.png deleted file mode 100644 index ea2357e2548b0e6492f17278e200576c00c24036..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0XB zj({-ZRBb+KpdfpRr>`sfZ5}xR1MPLkpDO`{4tTmahFF|lI@wmJ$v~iWe@c#oRQFnq z9SwIHOXM8JYwEZ1597!D<%U5{`9o-Q1?Du1~hM77n-`Cg8JW%aFQ8ddtHEiAL2Sxjs z4E)4y85~=qe52_si_#=D4q^YbU)|XaZ!HT9m%O*%GYnqT6${bcC(8B{ P=pzPCS3j3^P6Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>*#TB?AM?pyJ^zHP0RNXpN$3Z|) z|KlIuCm!EF*o`!YBo(8C;MrP1Bm%?AArmcYH4zj}E1e4_Ji2{T0vQ2lF-%?yV3mUx z2(&0=h^j7fQ#)xF!_dcMFl>JbW=8DJy!YN1O_7ZiIl^EIi$=1O*MiChmpazhrOSd?vfuLxYRZ)6B z^%rLnK-@V1BZM|+CG|7E`}`gL?(3^3LzE8T`pN=ie0p*ZC6eFu8A%!d`1t18AN}(E zm%9&+jYdFQ*9B^e^=8EvBrVcRRW8wmiK5&^)rhiDN|gqi$qMA_UZtEQr{@53Bs)^qU*;oRLIV15X#5otcEO`MHwk)VoqYS-eRGVXs(yFNVH#TiE8jOqA8^)otx*l zzrQD>bk5P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>*?2B)8wZxc~qF9cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HN0zyedK~yNum6A_L6mb;CzrUH^ z%+5?RyXtPPQ|{UZ8mMKYL{dazo$ORz1d)QEqM$?Iu|pI@(78hp9lGVAK&bFoq!N~{ zAY1F7E&uGsuFn3Mb!T>F_t(KCD7*NM?|r}TeID--UDvUfpa6#Z{UQPNP`hLa1dOlR z7NKx`3THdKDpxgC;yk`$(R?(Pq5!O{!6=H~@&Q>y2(o5UGcA=Wnt6@&E7I`;2yNNN*AvuW8z~ zOYLnfYVNFjVWss`=f*$Mj<^h4RJSy*WX;zR*o6 zv8yfs4uGb&#u~Q(ta>+h8|H&4+bj^LEQ_>eNdNr4Qwtdy0IY^l8JXkeX2Z#7Fgc|xi?8x4zbp#i=*b?(aX97* z$M{iU6aXXa-uT68B@^imtQ^b$FdH1bsTt8M2cVd@vT0*+G5P%5bd7`I{=j&2=9{!o zOLz^>c7D5t)Ye=tDgv#z`kEZ?$pSbs>F<~hG`kJKb>&d0Y4w0{<85D^BF)586hOr) z6wJIVD{4U=e0Z3-uIrSGB{L&I^~&C_^y*RPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>*#TB?AM?pyJ^zHP0RNXpN$3Z|) z|KlIuCm!EF*o`!YBo(8C;MrP1Bm%?AArmcYH4zj}E1e4_Ji2{T0vQ2lF-%?yV3mUx z2(&0=h^j7fQ#)xF!_dcMFl>JbW=8DJy!YN1O_7ZiIl^EIi$=1O*MiChmpazhrOSd?vfuLxYRZ)6B z^%rLnK-@V1BZM|+CG|7E`}`gL?(3^3LzE8T`pN=ie0p*ZC6eFu8A%!d`1t18AN}(E zm%9&+jYdFQ*9B^e^=8EvBrVcRRW8wmiK5&^)rhiDN|gqi$qMA_UZtEQr{@53Bs)^qU*;oRLIV15X#5otcEO`MHwk)VoqYS-eRGVXs(yFNVH#TiE8jOqA8^)otx*l zzrQD>bk5P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>*?2B)8wZxc~qF9cffpbVF}# zZDnqB0000007G(RVRU6=Aa`kWXdp*PO;BVmWd{HN0zyedK~yNum6A_L6mb;CzrUH^ z%+5?RyXtPPQ|{UZ8mMKYL{dazo$ORz1d)QEqM$?Iu|pI@(78hp9lGVAK&bFoq!N~{ zAY1F7E&uGsuFn3Mb!T>F_t(KCD7*NM?|r}TeID--UDvUfpa6#Z{UQPNP`hLa1dOlR z7NKx`3THdKDpxgC;yk`$(R?(Pq5!O{!6=H~@&Q>y2(o5UGcA=Wnt6@&E7I`;2yNNN*AvuW8z~ zOYLnfYVNFjVWss`=f*$Mj<^h4RJSy*WX;zR*o6 zv8yfs4uGb&#u~Q(ta>+h8|H&4+bj^LEQ_>eNdNr4Qwtdy0IY^l8JXkeX2Z#7Fgc|xi?8x4zbp#i=*b?(aX97* z$M{iU6aXXa-uT68B@^imtQ^b$FdH1bsTt8M2cVd@vT0*+G5P%5bd7`I{=j&2=9{!o zOLz^>c7D5t)Ye=tDgv#z`kEZ?$pSbs>F<~hG`kJKb>&d0Y4w0{<85D^BF)586hOr) z6wJIVD{4U=e0Z3-uIrSGB{L&I^~&C_^y*RPx#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RW3>*scQmORt@Njc;)9rTY{kzu34ob)6 zV%F^W@xfqFE|(#Mgpm9DdsS7hudmbTbUYp>gy_2N-?qLu|4I@PnBawlg{!Np?d|PG zqoM11y5AQtEl$+S*#b-{0KaY_(c4 z1S}Ak5GYVI8jX_4WVhSZG;Ml%nse^D?$XlI-QC@AIE7-kA#`zZ;W*C0!9f^?J3BkcWYRE<;c)o&_n!sl zXs)0=%W1K~Ye|xHUAJvJolXM)mY0_e!;mBiLfC4xE-x>2|9mj;C7%O5rq*gT*LA}% ztX8Y-cDqukxUTCs&e+&kv)S}KPf-*-rurPfpI%P9zro*`?^TXN%d(y)gTUwC?2Q$1 b^hy37tx#Lr%m*GO00000NkvXXu0mjf7}S5~ diff --git a/jeija/textures/jeija_power_plant.png b/jeija/textures/jeija_power_plant.png deleted file mode 100644 index 0d7c025570af48c44048c2af258c9af79be2334d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmV-_0)YLAP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3=e_Q&A9xpSigt zX-pc^R!ACJ5Q;Y7N0oFXNCffYCn(~s8+ZN&$yR@WJ8|O=5beq!h#*mkC?PgrZAotN zBQnvac@rhul zAz}$wzTX&Lij>83*-Wa!0|%Gk9kqWZ3EFv8%?Dc$u|yU1l9a>?un%zAsOHB=yu{|; ziRihD3xh)u z!-<64$l|nXfBe)B&&--yytNr!yR+yWP_57!Qk0`D2tny#8jKJTs^Lu;Jdm zQBRz@9CO~ScR~QQtzY7FI}%UCjrC$vuH9YMKm`El6;lB&++6bHskV83-;(od8O`RB zJbO^**y<6Q+b!l7X1w2%OA;84^optRbcoeUM`={sWOGRx)wU06Znv;^9OCH^^{0CR Z@EiRi3E6&5xaR->002ovPDHLkV1j7?7+(MY diff --git a/jeija/textures/jeija_pressure_plate_stone_off.png b/jeija/textures/jeija_pressure_plate_stone_off.png deleted file mode 100644 index 194d8fc7ecac019e347633dc2798c29fa57a87cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 814 zcmV+}1JV46P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipuD z5FHgyjG$%!00OQ_L_t(2&n42!O6x!XfZ<$bGKop2Z9-};+IlGx#TzKN(1mW~yoRrG zUQ2Kz_MqZMg|=t~6{BrwVofG#E|Z*vkMQ&T?9R@PD2kFKiJ}Mq008{_{3JAGI4)uJd;RaH?GN~!Prgb)rwNC!Z==`S}@Rj4{sh-19u!wte4UTwI(?Cd1+I`}>=3Hk-SOOm8YrPAy5>h*e26pErGNpgOE4lu^D zEDr{QgM$Nv(9_dXS(d7*=6U|`@W8UHWm(;BHw?od2u7n3D2hVUG)a=~@9$4ePJYS4 zFa!WhCX?B0CP@+iAdcfSO(BF_nx;VzL{Zdkw;vxL%d%`V8etgvz7GJfZQFI-R;$JH ze7D=pvWz!P6GB)N#ogWA!otG(`ufMm$6zpsPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3?2|3Gq$XDSO5S5u}MThR4C6S z(%DMmPym48Eazk~OWTChEZVvhsp19-Ug(A1IP)4l%FJsC-iRF+yiuVoT0y1JrZiEL zbJ8p)nF}A`=lkictt~+iL{St30RR91`2PM*lB6t4j^kLC&9W?x<2=s^Aw16m2;s@e z$#^{0H0|T#qu1-Ludl1BT9)P8+Z)GmVHoc0>|9@8+qQjkbHiGeWmy&g0Aq|0;(5N^ zZexrM!>CrP7-LP-WLYMJ1VMlhVjzSFq37r4>2!(^s#Gd@p4+zVy6(lr1%!|g0wG*p zUf$T)@O__w5JCtS7Z+)oR#kOjVS(c~-}fa+YPZ{2ma!}wh9S$czVEB53J4*xEL)Z( z2tvQ#FN%Wa`JYNfQ831`EF*;a{k~xs9LIr5rDB?9nx=+fc%Jw4^rWh)s;YUO`@Ziu zP7nn1^YfF*WHcImetxozMq_(>`|Rv2P1F7T{h}ypwc4LQe}Db@cX|0c%d+?PcbcXf zjmGQiYmy`YA%rpB-QBfqo1&<-wKaqgMNt$*IgaCb-pb0#a5xl25g|kfp$`ua4-O8h z)#}U3OArK#qDYct+qNi*ilX#-y;`kS6oo9yNs^qNo&r@>B}p0#277yZJkLKqK9*&v zXA%w@r$DK|G%*@OzEiEw&Gdnv=2%#uS*L8+r zc%DB$KW{dholZyBb<;GjuCC%ZrdzER!!V|4T9!2$jlRCV>h*dY#}q|z92dv2EXzM{ dGYsSV{(m#~Zf4W*gL?n~002ovPDHLkV1m74XAuAZ diff --git a/jeija/textures/jeija_pressure_plate_wood_off.png b/jeija/textures/jeija_pressure_plate_wood_off.png deleted file mode 100644 index e6484bea5b74a10a7f0a774856badea23b7f46fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmV;x0zdtUP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipuD z1sgC(Ke9Xk00KZsL_t(2&jrD|jvPf40MPrYM|amu@9eJE9wDtDz$74%AQ2Jsy?g^A zaOTuc(I&@N;~&4i zun6KLt^@E0N@aK$>arI9^9M%lKlMB z@z38MOPuB=g)D%s%UN3^*qkt^?03N$0dXO8|Ni|!jB_rGDsE>wbo-c++dr`V0AL}$ zB4LLjPDC(mWlKfS?RLi>hjN|gv@8<>80H3CYgw1tS!CI2Ud`Y;Yr8N=iPM*l@6d?m zwbh)~f+Qp_PNxZVGSo$Op&!%@{q2MJulRV7A07r3&ZPoqt2zcj1ZKVsKG(9$+nQTA z976BkzW*YJm&adzd!2J8Ek;-jcjJKxpyXEDG{w`?S)1+#-wngZZz`?9a*5aZ@^qT7 z*EEQFX8<|o>Yaf`yRpxuwW3<_a=wTV5kj~LSj$~7B)r5;#P)=}_uH25?rxFDJL?1n zXQk$~#%Y=_UDs#jEhTBCEX#RKy$@mEef#=p+z*a}=|fS#?~gZzDd!xwO%)7dsSN>` mP{cNc!Smp4u1ZX6EdK-PP(N#=odoIt0000Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3?2m>2rqn`WdHyIN=ZaPR4C5{ z!OM=+MiclVHp!ar!%F`$NS3lq8Fiur6H2}KI zN3E4$wZfpX-T1}`i1ohx_m6+XSZn>DVmGEmyA3hg?aj+y-T~-ezyCzS7DcRxU|jPW zv!LB<_K*5}o~Ag@BLWy^0IXG~xwH+ktR*d`cWu+OzLy-vFCRak5lu@iDJ~gF-v0LF za2QcXLv3K|yIyVIUEYZMinlxY@upYdlna2?qJtMiVCGBjQpxkQE~)z6&Ufzp-(O_+ zVE^pJhi^Q#enjyTf!o$6nM~1IQs2 zXAM-^3|-2#X4QhH<4J^w5d4M5lCQiW;W?}#O-I-{x31~x>Jo{ZZLC0V8!2fiVH~GZ z+jdELjZtdO^L$)l=e*yx-@bktw!LLP)%-wtmgVK;6_kB?m8;u4yJUm=n zTRr`>Mf+}xn+>+9)s+BD7K za7YkDp-}LBKOT>V!(rRDkB*MI-R{}hS*20|03075qse4a*L4iTXqwh_Jraq`&CLx4 z1Jg7!nT%l=mSv4bqhhfbjYd%vMb_5VD2nQII;LsH2yM&kSxnDFE6O?`wYWi80NZeKA*q7zCJ%cw{6>X-K(ps@$vDQnVHAO$CHzj!C){y zKM!b{4g>tYy|NF=)5?&<02)69mFXRTKAJg?boG7MuFhH0Ar0OzZD^ayEnC;$Ke07*qo IM6N<$g6jT@o&W#< diff --git a/jeija/textures/jeija_removestone_inv.png b/jeija/textures/jeija_removestone_inv.png deleted file mode 100644 index cf3dedd3c07bb2c5023f24a5eb6a908f4d1d49fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 923 zcmW+!Yb;w~7(VCJWqL~!nxRFvxDyf*i}+JT5FEl}RDZ1I2S3!3A}KP}uvjuPGc(;K zBsPg9?#s$Dja39;gt}!Rb&qC@6mjpK?rToZ`M&Rc-{*Os=Y5t&$8(tOOoAXdi3zdk zc=K$}EeiiH8}cLYB9-a!5~Ayua1R@Y+@$ze!fN}q{^)4LiPPhRY$ZW(M{N(;6vP$a z(6Kl%CC>3T`!?T`df$7=AP9yaF*f?X{|w1v{JkQr1d*JSw79r~ZFBR<$qA3gJ2*HH3WZv&mLy5J zTz+(Pgp-YpjnL50LWSaKO$~+AR}BsM1qD7nK5J`h$YHbDuCA_retvsp0G)WE<%2M33nn;U>|x!jqVnZv_F4u?}#UjDkV5g-7hrlzL0 zx3{CBqH?6t9GPrlVgeE4+{i43!Lnxe|pO?vG*p7^hP!fp*%76(}LMEHVs?umYJw2VAoLbx3 z`g(iSYPH2;nVz1843(9YcEQ2HySuyg_V(xmA511wRaiJ&TTAHm+Lji|Y(73dMpvVw zqY%Rm3)u*TKDdA~8jYsEzaRc#!3v6^5Em8}h7a5>FE87Hy}P?R5YErfVbk#NuxWk$ zQ+qqMxik&+pzPe-Ty=Hz)zwuXoxZ-0G`(Onf-p$#@9#4rA|lW? zw9m@U{ysDWK_N8mq*5tF1NH5^JaKgN2cZyEU?^oY8V3glALZq}(`r!?`A|I|AONN! zg2iG@PEKm7sw&lLkc9CJXJ_YcI^CP5CQKz<#|UC}mX?;l0i%Hl#Rvnx*kXY#b!@h6 zykjI1g+hVyXnkd61*3j?dKwfIWH1=uW_Wn`<>e)y(7@-8j-1jbfB5(6KG}3njH6?_ IBo8(J077P>D*ylh diff --git a/jeija/textures/jeija_silicon.png b/jeija/textures/jeija_silicon.png deleted file mode 100644 index 3048a5800df17aa86fc6f829b8d1ea21b2aaf82e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0XB zj({-ZRBb+KpdfpRr>`sfZ5~m6BRMWhrSm|c#Ar`04PV(k!G7xd~kL7duwq%FQ zV=jl~QsvEwP6|FZm^u4{*q1H)v&wky@yjnWwgqw=cw5D;;CW6t z?QwJNpA$t*3JeblZp`jy6T9c8*soK6KU#QwBe(z6ZEJsKJUEnB*03yd%Jl z_wx5X^J6;y4{a$iuMQ3E;E2k;^u_2utGtd9L-&Ujty}k<-oz5ol5RZXkWy1n*SgnX z({q_8JlDT4&rGk2X|3sDgPQH93in9&R;+#V|B|qRZoXpFv@8~&ml!-<{an^LB{Ts5 D4e5HX diff --git a/jeija/textures/jeija_solar_panel.png b/jeija/textures/jeija_solar_panel.png deleted file mode 100644 index dfa78c90eb739f878311cdef62ef46b005bee2ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~lReXA2w4wwRkWHUn|N}Tg^b5rw5fLsO!=c3falGGH1 z^30M91$R&1fE2w{cA&Vtr;B5V#`)v~1@1LT2@$R;&7C2eGuJmJUb(z@-Z4G~w<6*H TAzK#j0GZ+G>gTe~DWM4fDuXa( diff --git a/jeija/textures/jeija_sticky_movestone.png b/jeija/textures/jeija_sticky_movestone.png deleted file mode 100644 index e410ba9e2e2814f44cc52dfa280b2d41fe532589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmV+?1K9kDP)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3>p*}5v~lU!QiaJcCkJw{`MTHVC7#1aTpTEP;>^w-b>Q{{SbiCR~h~m^itS(1UmV z12kl3FEAlNUYump;2hxInoMfh*0H{NAae72`W(K5BuRxrf#W!qWxKk%XqqmSN{XU5 zj>9mF%jIgf+x2?A)9GAYU9l`nhC-o?zSvTQIudXNY2jA z8itXIr;fQ}+MsvDoke-^h&|FB-Ktmv=78KSOHs*x+dqw`bGaPC7`t39AizS_=Icr9 z;1l*_3vDMY1ewnpPjGd%y$#NmbQmv)O9348uS^ zpRZc2>V)2Q+Be6eXJ2pp?kr(WnSFQq5{X145~2G0`)jpYVmC1+jsbiEfaHrkY~$78jy`_!8vqD`xMkmpp*%%VBgTkM=nm=dO+KH`x7%$p7K>FX72CG= z_xIy${2*{(IL1_dYPvWb>5afQh_mrC>TKo5O7day{QR6)Utc#(6Cva{j%8VbAhcR7 zMN!;t_tw^yAPA*WiQ_n)=M_Z>1OlWeirH+IW!Y#nTCG+O4-Z+Ey}Z2CG%XwscRHQ% l@o|sGW1419PY=T|e*v%fM;){Y0~G)O002ovPDHLkV1mqZYa9Ro diff --git a/jeija/textures/jeija_torches_off.png b/jeija/textures/jeija_torches_off.png deleted file mode 100644 index c78cfcc21062bf5fb9a24853e44b47be5035a2ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMA~R1H#}EtuP-!BwAl+Zfx*+&&t;ucLK6UrYdYru diff --git a/jeija/textures/jeija_torches_off_ceiling.png b/jeija/textures/jeija_torches_off_ceiling.png deleted file mode 100644 index 104a062c2f1503eb3169c8abb21e283c0c3ec2ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@WbWzW z7-Hd{oN$17&J>IP$8W9rb9_15`a1^33@>E)CLK;nIJ{uxyodHiYBzr}=QEu2le_9r c$HBm$dsc7i2ItayKqDADUHx3vIVCg!02VqpKmY&$ diff --git a/jeija/textures/jeija_torches_off_side.png b/jeija/textures/jeija_torches_off_side.png deleted file mode 100644 index e3b09a3c9eabdc0ae501098f8a560df1f5ffeaf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@WbNtV z7-Hd{oFKv4Y{4??mE^y}29f7n%no>Vezw=^xm=LKoRk~-@9`lQNr!3T8#0-ynwzuQ edZk)87#Zfs>P_vHRPzTK!{F)a=d#Wzp$Py!f;FfB diff --git a/jeija/textures/jeija_torches_on.png b/jeija/textures/jeija_torches_on.png deleted file mode 100644 index 49efa712ec5d27c2553ac7b464aa851bf293450c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMB6Cj{#}Etuf;_js1QIv~wZRJ3O8sd{zQbN^MW<(D<) nFgI)~;#tG3@r@~#mw{pKd#l1OwNrjTBN#kg{an^LB{Ts5!>>A( diff --git a/jeija/textures/jeija_torches_on_ceiling.png b/jeija/textures/jeija_torches_on_ceiling.png deleted file mode 100644 index 104a062c2f1503eb3169c8abb21e283c0c3ec2ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@WbWzW z7-Hd{oN$17&J>IP$8W9rb9_15`a1^33@>E)CLK;nIJ{uxyodHiYBzr}=QEu2le_9r c$HBm$dsc7i2ItayKqDADUHx3vIVCg!02VqpKmY&$ diff --git a/jeija/textures/jeija_torches_on_side.png b/jeija/textures/jeija_torches_on_side.png deleted file mode 100644 index 304bb8071fa8c2ddae6fa3c27f9e76452661cea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%K$t-4F{@WbNtV z7-Hd{oFKv4Y{ByHfBFyp!zq@+HyPAb&;8$F;CFZ;Z^zcqpZ(mzsSJ^E2bOWZ;N@E- fX_h6R#KLg>xmDqh$ulE>#xQug`njxgN@xNAJoPq} diff --git a/jeija/textures/jeija_wall_button_off.png b/jeija/textures/jeija_wall_button_off.png deleted file mode 100644 index 2c18986e8bee1cb513c5a79dfaa4d45d7ce7bf71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfk8#Zh=w5jO5?0Y&>st z*50`K(8wVwYL;U_z=VS*PINqce}6wue%zxC95X-vw?Fif|NYU&M%5xbRtyYD6`~S; TXP9+>7BYCc`njxgN@xNAt;als diff --git a/jeija/textures/jeija_wall_button_on.png b/jeija/textures/jeija_wall_button_on.png deleted file mode 100644 index d09701b45fb4831c70aed7cced445cc5392e24ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf-}=tOQod_GKe#23`=EuR^2tM+^68DOhqo_rx%GCPhD`IvFd;66 zsA>b_JF=lmuUX&GWmR%IH#3N9@As=Z|F#xC{J^fZJxo|td^v9z&;kZeS3j3^P6M*kAB}h>jWDu^@b=cdJoneXPo6Ms+OefPhZ%NUmcQ5C&b_a4X6t2!Jqp*tp6;J4q<-zg jfu~H94jLFVBrz}?ijoL^c_Vl#(0&F_S3j3^P6`sfZ5}ChQ-kyOerN)PWHUn|N}Tg^b5rw5fLsO!=c3falGGH1 z^30M91$R&1fE2w{cA)rVPZ!4!jq}L~3e0P?x2aE32|vFp>31Ip@Ws4(u!)C<#|MZV z_p(2nsj1ag3~tc)mbT#Z_G@tI+w;hR6N(V%dKr$RhzaAd+EM}jf~zJrdOR^ zXT93k!l>L*>V0K$W8=a_i`sfZ5}ChW2V4hK7F8&Y-UJAiF1B#Zfaf$kjuc}T$GwvlA5AW zo>`Ki;O^-gkfN8$4ixY8ba4#PIKOn#ZO#S*9@qS%jJqa2;D~i?KheJK5r@Panhca=(?aeAQyYO`njxgN@xNAx)o%z diff --git a/jeija/textures/jeija_wireless_inverter_tb.png b/jeija/textures/jeija_wireless_inverter_tb.png deleted file mode 100644 index d2191c5a1b0523d29b83ba594bfe4b44e08a3dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5}ChW0mH(?n^)++02lL66gHf+|;}hAeVu`xhOTUBsE2$ zJhLQ2!QIn0AVn{g9Vjm2>EaloaXvXgfq9MgHuXs=;pbQIE;b7|%{GaFp?^W!!Mr_L Q2SEmSy85}Sb4q9e0A*7xssI20 diff --git a/jeija/textures/jeija_wireless_receiver_off.png b/jeija/textures/jeija_wireless_receiver_off.png deleted file mode 100644 index 213fdeb40e2dcd7303690cd37afd0ae175febb98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9w~NH#ie;SZUcp6GeaUuobz*Y zQ}arITm}Z`qSVBa)D(sC%#sWRcTeAd6une-ptyyni(`n!`Q!uz<~7>e)F-KgpMS7@ z;YvBJOCkPSczwU}ScLMo@T#;69jV|@y2fANA}!s~Ypuk{@a0;ssQZbV+dzhUy85}S Ib4q9e0C7)0TmS$7 diff --git a/jeija/textures/jeija_wireless_receiver_on.png b/jeija/textures/jeija_wireless_receiver_on.png deleted file mode 100644 index c6519719d192474cff2acf3d999c0eb5823b54c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sfZ5~NBIm5g6KJWvDWHUn|N}Tg^b5rw5fLsO!=c3falGGH1 z^30M91$R&1fE2w{cA&VWr;B5V#`)v~1?Dx{+teqigr9$~{o&#I6(`#NyWIZp(4N`v vDsv+9$%QP2a!nmynPn~>V@rD6=fS{mJAD3HUm?-|Ak#fv{an^LB{Ts5W@0@Z diff --git a/jeija/textures/jeija_wireless_receiver_tb_off.png b/jeija/textures/jeija_wireless_receiver_tb_off.png deleted file mode 100644 index d8e08a48c445e48f763a64a6541ed678f3243666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!WN3g9C;g>Odjc%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6^dC@$ma;uxZFJ~=^wd5!iq^+_t>=U4D9 fHVZh-Hi?0ue?i;9yggY5K?Zob`njxgN@xNAdW19B diff --git a/jeija/textures/jeija_wireless_receiver_tb_on.png b/jeija/textures/jeija_wireless_receiver_tb_on.png deleted file mode 100644 index d8e08a48c445e48f763a64a6541ed678f3243666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!WN3g9C;g>Odjc%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6^dC@$ma;uxZFJ~=^wd5!iq^+_t>=U4D9 fHVZh-Hi?0ue?i;9yggY5K?Zob`njxgN@xNAdW19B diff --git a/jeija/textures/jeija_wireless_transmitter_off.png b/jeija/textures/jeija_wireless_transmitter_off.png deleted file mode 100644 index 7deb06fbe027868189e646ee37659b2131c7c68a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9w|{N-Gynln}I^InIRD+&iT2y zsd*(pE(3#eQEFmIYKlU6W=V#EyQgnJie4%^P~6JX#W6(Vd~$*U^BV1K>XTH$&rjH} zaOFH8YK)Mc^=e^`k1cZsbLK*pLjJJu#O;ic%(*!VX74&!7(}1;imEY&6o8EPboFyt I=akR{0PLDS9{>OV diff --git a/jeija/textures/jeija_wireless_transmitter_on.png b/jeija/textures/jeija_wireless_transmitter_on.png deleted file mode 100644 index fc9d7e8f89f98109813d27cd1fee35cf23980d1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!WN9fl3#HZ9pN}%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6^dC~ocP;uxZFJ~=^wd5!iq^+_t>=O=7< z_`kmG|9{Djtw4r`bntnGTMkhgwLi`?xVzkJSkq``CLmqz!o;v;-U3y&AMA`E^F3Yt KT-G@yGywo}2||Sc diff --git a/jeija/textures/jeija_wireless_transmitter_tb.png b/jeija/textures/jeija_wireless_transmitter_tb.png deleted file mode 100644 index d8e08a48c445e48f763a64a6541ed678f3243666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@ z;DWu&Cj&(|3p^r=85p>QL70(Y)*K0-AbW|YuPgg)9!WN3g9C;g>Odjc%#er@=ltB< z)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6^dC@$ma;uxZFJ~=^wd5!iq^+_t>=U4D9 fHVZh-Hi?0ue?i;9yggY5K?Zob`njxgN@xNAdW19B 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)