summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPilcrow <pilcrowjesus@gmail.com>2013-09-13 11:09:57 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2013-09-13 11:09:57 -0400
commitcedb49d887b3a6782c4472813dc7b6ebeeedc2ea (patch)
treea51c10311b5b358a0ed43bf7ec0d08e5bdc1d34d
parent59362e3d205941144d30439471aeb786a69f5e5d (diff)
downloadpipeworks-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.lua17
-rw-r--r--node_breaker.lua17
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