diff --git a/mods/eventobjects/init.lua b/mods/eventobjects/init.lua index 31ed3641..3af6cbfb 100644 --- a/mods/eventobjects/init.lua +++ b/mods/eventobjects/init.lua @@ -11,4 +11,38 @@ minetest.register_tool("eventobjects:spleef_shovel", { }, damage_groups = {fleshy=4}, }, -}) \ No newline at end of file +}) + +minetest.register_node("eventobjects:surprise_node", { + description = "'?' block", + tiles = {"eventobjects_surprise_node.png"}, + inventory_image = "eventobjects_surprise_node.png", + wield_image = "eventobjects_surprise_node.png", +}) + +minetest.after(1,function() + minetest.override_item("eventobjects:surprise_node", { + on_punch = function(pos, node, puncher, pointed_things) + -- Spawn betweek 5 and 20 random nodes + for cnt = 1,math.random(5,20) do + local item = "" + local random_num = math.random(1,#minetest.registered_items)+math.random(-cnt,cnt) + if random_num <= 0 then random_num = 1 end + local random_count = 1 + for key, value in pairs(minetest.registered_items) do + if random_count == random_num then + item = key + break + end + random_count = random_count + 1 + end + print(table.getn(minetest.registered_items)) + local s_count = math.random(1,minetest.registered_items[item].max_count or 99) + local obj = minetest.spawn_item({x=pos.x, y = pos.y + 1,z=pos.z},{name = item, count = s_count}) + if not obj then return end + obj:setvelocity({x = 0, y = math.random(2,9), z = 0}) + end + minetest.remove_node(pos) + end, + }) +end) diff --git a/mods/eventobjects/textures/eventobjects_unkown_node.png b/mods/eventobjects/textures/eventobjects_surprise_node.png similarity index 100% rename from mods/eventobjects/textures/eventobjects_unkown_node.png rename to mods/eventobjects/textures/eventobjects_surprise_node.png