aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-11-02 11:22:31 +0100
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-11-02 11:22:31 +0100
commit2c4fe511d7bfd36990a8bd131236a3de6e6194e9 (patch)
tree3ae9a901cfe7401de308a525774471243d42a6f2
downloadrandomblocks-2c4fe511d7bfd36990a8bd131236a3de6e6194e9.tar.xz
Initial Commit
-rw-r--r--init.lua23
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)