diff options
-rw-r--r-- | init.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..6b1b4be --- /dev/null +++ b/init.lua @@ -0,0 +1,23 @@ +local channel = minetest.mod_channel_join("randomblocks") + +local nodes = {} + +minetest.register_on_mods_loaded(function() + for nodename, nodedef in pairs(minetest.registered_nodes) do + if nodedef.node_placement_prediction ~= "" and nodename ~= "ignore" and nodename ~= "air" then + table.insert(nodes, nodename) + end + end +end) + +minetest.register_on_modchannel_message(function(channel_name, _, message) + if channel_name == "randomblocks" then + local pos = minetest.string_to_pos(message) + if pos then + local node = minetest.get_node(pos) + if node and node.name ~= "air" and node.name ~= "ignore" and node.name ~= "mcl_core:obsidian" and node.name ~= "mcl_core:bedrock" and node.name ~= "mcl_portals:nether_portal" then + minetest.set_node(pos, {name = nodes[math.random(#nodes)]}) + end + end + end +end) |