diff options
author | Pilcrow <pilcrowjesus@gmail.com> | 2013-09-13 11:09:57 -0400 |
---|---|---|
committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2013-09-13 11:09:57 -0400 |
commit | cedb49d887b3a6782c4472813dc7b6ebeeedc2ea (patch) | |
tree | a51c10311b5b358a0ed43bf7ec0d08e5bdc1d34d | |
parent | 59362e3d205941144d30439471aeb786a69f5e5d (diff) | |
download | pipeworks-cedb49d887b3a6782c4472813dc7b6ebeeedc2ea.tar pipeworks-cedb49d887b3a6782c4472813dc7b6ebeeedc2ea.tar.gz pipeworks-cedb49d887b3a6782c4472813dc7b6ebeeedc2ea.tar.bz2 pipeworks-cedb49d887b3a6782c4472813dc7b6ebeeedc2ea.tar.xz pipeworks-cedb49d887b3a6782c4472813dc7b6ebeeedc2ea.zip |
Fix hacky_swap_node to not repeatedly swap the same node in over and over
-rw-r--r-- | deployer.lua | 17 | ||||
-rw-r--r-- | node_breaker.lua | 17 |
2 files changed, 20 insertions, 14 deletions
diff --git a/deployer.lua b/deployer.lua index 4a17ddf..1e8ae17 100644 --- a/deployer.lua +++ b/deployer.lua @@ -88,13 +88,16 @@ minetest.register_craft({ }) function hacky_swap_node(pos,name) - local node=minetest.get_node(pos) - local meta=minetest.get_meta(pos) - local meta0=meta:to_table() - node.name=name - minetest.add_node(pos, node) - local meta=minetest.get_meta(pos) - meta:from_table(meta0) + local node=minetest.get_node(pos) + local meta=minetest.get_meta(pos) + local meta0=meta:to_table() + if node.name == name then + return + end + node.name=name + minetest.add_node(pos, node) + local meta=minetest.get_meta(pos) + meta:from_table(meta0) end deployer_on = function(pos, node) diff --git a/node_breaker.lua b/node_breaker.lua index ed12d9e..5ed7f86 100644 --- a/node_breaker.lua +++ b/node_breaker.lua @@ -15,13 +15,16 @@ minetest.register_craft({ }) function hacky_swap_node(pos,name) - local node=minetest.get_node(pos) - local meta=minetest.get_meta(pos) - local meta0=meta:to_table() - node.name=name - minetest.add_node(pos, node) - local meta=minetest.get_meta(pos) - meta:from_table(meta0) + local node=minetest.get_node(pos) + local meta=minetest.get_meta(pos) + local meta0=meta:to_table() + if node.name == name then + return + end + node.name=name + minetest.add_node(pos, node) + local meta=minetest.get_meta(pos) + meta:from_table(meta0) end --define the functions from https://github.com/minetest/minetest/pull/834 while waiting for the devs to notice it |