summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Zhang <azhang9@gmail.com>2012-02-23 19:43:03 -0500
committerAnthony Zhang <azhang9@gmail.com>2012-02-23 19:43:03 -0500
commit8bdb2e86ad5ffcfbbd65117167920f61c3083241 (patch)
tree5e983f62aa0af23d532f36bd6d492d3fa2e60f95
parentcbd77d8f3d7a5957102481deff0728bc496f1c54 (diff)
downloadmesecons-8bdb2e86ad5ffcfbbd65117167920f61c3083241.tar
mesecons-8bdb2e86ad5ffcfbbd65117167920f61c3083241.tar.gz
mesecons-8bdb2e86ad5ffcfbbd65117167920f61c3083241.tar.bz2
mesecons-8bdb2e86ad5ffcfbbd65117167920f61c3083241.tar.xz
mesecons-8bdb2e86ad5ffcfbbd65117167920f61c3083241.zip
Change the ENABLE_TEMPEREST flag to affect only the inclusion of the inverter socket, since that is the only element that can lead to a crash.
-rw-r--r--jeija/init.lua5
-rw-r--r--jeija/temperest.lua172
2 files changed, 99 insertions, 78 deletions
diff --git a/jeija/init.lua b/jeija/init.lua
index 1a5fce7..9da01b5 100644
--- a/jeija/init.lua
+++ b/jeija/init.lua
@@ -877,10 +877,7 @@ 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")
---TEMPEREST's STUFF
-if ENABLE_TEMPEREST==1 then
- dofile(minetest.get_modpath("jeija").."/temperest.lua")
-end
+dofile(minetest.get_modpath("jeija").."/temperest.lua")
--INIT
mesecon:read_wlre_from_file()
diff --git a/jeija/temperest.lua b/jeija/temperest.lua
index 6a0e63a..267962d 100644
--- a/jeija/temperest.lua
+++ b/jeija/temperest.lua
@@ -15,29 +15,52 @@ minetest.register_node("jeija:mesecon_plug", {
description = "Plug",
})
-local set_node_on = function(pos)
- local node = minetest.env:get_node(pos)
- if node.name=="jeija:mesecon_socket_off" then
- minetest.env:add_node(pos, {name="jeija:mesecon_socket_on"})
- nodeupdate(pos)
- mesecon:receptor_on(pos)
- elseif node.name=="jeija:mesecon_inverter_on" then
- minetest.env:add_node(pos, {name="jeija:mesecon_inverter_off"})
- nodeupdate(pos)
- mesecon:receptor_off(pos)
+local set_node_on
+local set_node_off
+
+if ENABLE_TEMPEREST==1 then
+ set_node_on = function(pos)
+ local node = minetest.env:get_node(pos)
+ if node.name=="jeija:mesecon_socket_off" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_socket_on"})
+ nodeupdate(pos)
+ mesecon:receptor_on(pos)
+ elseif node.name=="jeija:mesecon_inverter_on" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_inverter_off"})
+ nodeupdate(pos)
+ mesecon:receptor_off(pos)
+ end
end
-end
-
-local set_node_off = function(pos)
- node = minetest.env:get_node(pos)
- if node.name=="jeija:mesecon_socket_on" then
- minetest.env:add_node(pos, {name="jeija:mesecon_socket_off"})
- nodeupdate(pos)
- mesecon:receptor_off(pos)
- elseif node.name=="jeija:mesecon_inverter_off" then
- minetest.env:add_node(pos, {name="jeija:mesecon_inverter_on"})
- nodeupdate(pos)
- mesecon:receptor_on(pos)
+
+ set_node_off = function(pos)
+ node = minetest.env:get_node(pos)
+ if node.name=="jeija:mesecon_socket_on" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_socket_off"})
+ nodeupdate(pos)
+ mesecon:receptor_off(pos)
+ elseif node.name=="jeija:mesecon_inverter_off" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_inverter_on"})
+ nodeupdate(pos)
+ mesecon:receptor_on(pos)
+ end
+ end
+else
+ set_node_on = function(pos)
+ local node = minetest.env:get_node(pos)
+ if node.name=="jeija:mesecon_socket_off" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_socket_on"})
+ nodeupdate(pos)
+ mesecon:receptor_on(pos)
+ end
+ end
+
+ set_node_off = function(pos)
+ node = minetest.env:get_node(pos)
+ if node.name=="jeija:mesecon_socket_on" then
+ minetest.env:add_node(pos, {name="jeija:mesecon_socket_off"})
+ nodeupdate(pos)
+ mesecon:receptor_off(pos)
+ end
end
end
@@ -139,58 +162,59 @@ minetest.register_craft({
})
--TEMPEREST-INVERTER
-
-minetest.register_node("jeija:mesecon_inverter_off", {
- drawtype = "raillike",
- paramtype = "light",
- is_ground_content = true,
- tile_images = {"jeija_mesecon_inverter_off.png"},
- material = minetest.digprop_constanttime(0.1),
- walkable = false,
- selection_box = {
- type = "fixed",
- },
- drop='"jeija:mesecon_inverter_on" 1',
-})
-
-minetest.register_node("jeija:mesecon_inverter_on", {
- description = "Inverter",
- drawtype = "raillike",
- paramtype = "light",
- is_ground_content = true,
- tile_images = {"jeija_mesecon_inverter_on.png"},
- inventory_image = "jeija_mesecon_inverter_on.png",
- wield_image = "jeija_mesecon_inverter_on.png",
- material = minetest.digprop_constanttime(0.1),
- walkable = false,
- selection_box = {
- type = "fixed",
- },
-})
-
-minetest.register_on_placenode(function(pos, node)
- if node.name=="jeija:mesecon_inverter" then
- mesecon:receptor_on(pos)
- end
-end
-)
-
-minetest.register_on_dignode(
- function(pos, oldnode, digger)
- if oldnode.name == "jeija:mesecon_inverter_on" then
- mesecon:receptor_off(pos)
+if ENABLE_TEMPEREST==1 then
+ minetest.register_node("jeija:mesecon_inverter_off", {
+ drawtype = "raillike",
+ paramtype = "light",
+ is_ground_content = true,
+ tile_images = {"jeija_mesecon_inverter_off.png"},
+ material = minetest.digprop_constanttime(0.1),
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ },
+ drop='"jeija:mesecon_inverter_on" 1',
+ })
+
+ minetest.register_node("jeija:mesecon_inverter_on", {
+ description = "Inverter",
+ drawtype = "raillike",
+ paramtype = "light",
+ is_ground_content = true,
+ tile_images = {"jeija_mesecon_inverter_on.png"},
+ inventory_image = "jeija_mesecon_inverter_on.png",
+ wield_image = "jeija_mesecon_inverter_on.png",
+ material = minetest.digprop_constanttime(0.1),
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ },
+ })
+
+ minetest.register_on_placenode(function(pos, node)
+ if node.name=="jeija:mesecon_inverter" then
+ mesecon:receptor_on(pos)
end
end
-)
-
-mesecon:add_receptor_node("jeija:mesecon_inverter_on")
-mesecon:add_receptor_node_off("jeija:mesecon_inverter_off")
+ )
-minetest.register_craft({
- output = 'node "jeija:mesecon_inverter_on" 2',
- recipe = {
- {'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
- {'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'},
- {'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
- }
-}) \ No newline at end of file
+ minetest.register_on_dignode(
+ function(pos, oldnode, digger)
+ if oldnode.name == "jeija:mesecon_inverter_on" then
+ mesecon:receptor_off(pos)
+ end
+ end
+ )
+
+ mesecon:add_receptor_node("jeija:mesecon_inverter_on")
+ mesecon:add_receptor_node_off("jeija:mesecon_inverter_off")
+
+ minetest.register_craft({
+ output = 'node "jeija:mesecon_inverter_on" 2',
+ recipe = {
+ {'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
+ {'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'},
+ {'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
+ }
+ })
+end \ No newline at end of file