From 619d82bd8d889fa6ababf87d4e3200d1694f55ca Mon Sep 17 00:00:00 2001 From: arpruss Date: Wed, 7 Oct 2015 11:14:10 -0500 Subject: [PATCH] getAllNodes API --- raspberryjammod/init.lua | 6 ++++++ raspberryjammod/mcpipy/randomnodes.py | 12 ++++++++++++ 2 files changed, 18 insertions(+) create mode 100755 raspberryjammod/mcpipy/randomnodes.py diff --git a/raspberryjammod/init.lua b/raspberryjammod/init.lua index 53eaaf4..13a8d30 100644 --- a/raspberryjammod/init.lua +++ b/raspberryjammod/init.lua @@ -521,6 +521,12 @@ function handle_world(cmd, args) elseif cmd == "getNode" then local node = minetest.get_node({x=tonumber(args[1]),y=tonumber(args[2]),z=-tonumber(args[3])}) return node.name .. "," .. node.param2 + elseif cmd == "getAllNodes" then + local nodes = {} + for name,_ in pairs(minetest.registered_nodes) do + table.insert(nodes,name) + end + return table.concat(nodes,'|') elseif cmd == "getBlockWithData" or cmd == "getBlock" then local node = minetest.get_node({x=tonumber(args[1]),y=tonumber(args[2]),z=-tonumber(args[3])}) local id, meta = block.node_to_id_meta(node) diff --git a/raspberryjammod/mcpipy/randomnodes.py b/raspberryjammod/mcpipy/randomnodes.py new file mode 100755 index 0000000..02867ec --- /dev/null +++ b/raspberryjammod/mcpipy/randomnodes.py @@ -0,0 +1,12 @@ +from mc import * +from random import choice,randint + +mc = Minecraft() +nodes = mc.conn.sendReceive("world.getAllNodes").split("|") +pos = mc.player.getTilePos() + +for i in range(1000): + n = choice(nodes) + if "lava" in n or "fire" in n or "water" in n: continue + mc.conn.send("world.setNode", pos.x+randint(0,29), pos.y+randint(0,29), + pos.z+randint(0,29), n) \ No newline at end of file