aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/armor_stand.lua36
-rw-r--r--src/main/flower_spread.lua8
-rw-r--r--src/main/lucky_block.lua29
3 files changed, 59 insertions, 14 deletions
diff --git a/src/main/armor_stand.lua b/src/main/armor_stand.lua
new file mode 100644
index 0000000..e15f177
--- /dev/null
+++ b/src/main/armor_stand.lua
@@ -0,0 +1,36 @@
+local armor_parts = {"head", "torso", "legs", "feet"}
+skycraft.armor_list = {}
+for _, n in pairs(armor_parts) do
+ skycraft.armor_list[n] = skycraft.register_group_list("armor_" .. n)
+end
+skycraft.head_list = skycraft.register_group_list("head")
+
+function skycraft.place_and_fill_armor_stand(pos, player)
+ minetest.set_node(pos, {name = "mcl_armor_stand:armor_stand"})
+ local nodedef = minetest.registered_nodes["mcl_armor_stand:armor_stand"]
+ local node = minetest.get_node(pos)
+ local armor_pieces = {}
+ for _, n in pairs(armor_parts) do
+ local piece_list = skycraft.armor_list[n]
+ table.insert(armor_pieces, ItemStack(piece_list[math.random(#piece_list)]))
+ end
+ local function equip_armor(i)
+ local piece = armor_pieces[i]
+ if not piece then return end
+ nodedef.on_rightclick(pos, node, player, ItemStack(piece))
+ minetest.after(0.5, equip_armor, i + 1)
+ end
+ minetest.after(0.5, equip_armor, 1)
+end
+
+minetest.register_chatcommand("armorstand", {
+ description = "Spawn an armor stand at your position and fill it with random armor",
+ privs = {server = true}
+ func = function(name)
+ local player = minetest.get_player_by_name(name)
+ if not player then return false, "You have to be online to use this command" end
+ skycraft.place_and_fill_armor_stand(vector.floor(player:get_pos()), player)
+ return true, "Armor stand spawned, equipping."
+ end
+})
+
diff --git a/src/main/flower_spread.lua b/src/main/flower_spread.lua
index a808d9b..015253e 100644
--- a/src/main/flower_spread.lua
+++ b/src/main/flower_spread.lua
@@ -1,3 +1,6 @@
+skycraft.register_group_list("flower")
+skycraft.group_lists["flower"] = {"mcl_flowers:fern", "mcl_flowers:double_fern", "mcl_flowers:tallgrass", "mcl_flowers:double_grass"}
+local flower_list = skycraft.get_group_list("flower")
minetest.register_abm({
nodenames = {"mcl_core:dirt_with_grass"},
interval = 300,
@@ -5,9 +8,8 @@ minetest.register_abm({
action = function(pos, node)
pos.y = pos.y + 1
local light = minetest.get_node_light(pos) or 0
- if minetest.get_node(pos).name == "air" and light > 12 and not minetest.find_node_near(pos, 2, {"group:flora"}) then
- local flowers = {"mcl_flowers:blue_orchid", "mcl_flowers:azure_bluet", "mcl_flowers:allium", "mcl_flowers:tulip_white", "mcl_flowers:tulip_red", "mcl_flowers:tulip_pink", "mcl_flowers:tulip_orange", "mcl_flowers:oxeye_daisy", "mcl_flowers:dandelion", "mcl_flowers:poppy", "mcl_flowers:fern", "mcl_flowers:tallgrass", "mcl_flowers:double_grass"}
- minetest.set_node(pos, {name = flowers[math.random(#flowers)]})
+ if minetest.get_node(pos).name == "air" and light > 12 and not minetest.find_node_near(pos, 2, {"group:flower"}) then
+ minetest.set_node(pos, {name = flower_list[math.random(#flower_list)]})
end
end
})
diff --git a/src/main/lucky_block.lua b/src/main/lucky_block.lua
index 7bb00d4..f5f5b00 100644
--- a/src/main/lucky_block.lua
+++ b/src/main/lucky_block.lua
@@ -1,3 +1,5 @@
+skycraft.glazed_terracotta_list = {}
+
local old_on_dig = minetest.registered_nodes["lucky_block:lucky_block"].on_dig
minetest.override_item("lucky_block:lucky_block", {
@@ -15,21 +17,26 @@ minetest.override_item("lucky_block:void_mirror", {
minetest.register_alias_force("lucky_block:super_lucky_block", "lucky_block:lucky_block")
-minetest.clear_craft({output = "lucky_block:lucky_block"})
-
-local discs = {}
-for i=1, 8 do
- table.insert(discs, "mcl_jukebox:record_" .. tostring(i))
-end
-
lucky_block:add_blocks({
- {"dro", {"mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel"}, 100},
- {"dro", discs, 1},
+ {"dro", {"mcl_core:goldblock", "mcl_core:gold_ingot", "mcl_core:gold_nugget"}, 256},
+ {"dro", {"mcl_core:dirt", "mcl_core:sand", "mcl_core:gravel"}, 64},
{"spw", "mobs_mc:zombie", 5},
+ {"spw", "mobs_mc:husk", 5},
{"spw", "mobs_mc:spider", 4},
+ {"spw", "mobs_mc:cave_spider", 4},
{"spw", "mobs_mc:skeleton", 2},
+ {"spw", "mobs_mc:stray", 2},
{"spw", "mobs_mc:creeper", 1},
{"spw", "mobs_mc:enderman", 1},
-
+ {"spw", "mobs_mc:mooshroom", 1},
+ {"spw", "mobs_mc:slime", 1},
+ {"spw", "mobs_mc:bat", 10},
+ {"nod", "mcl_cake:cake"},
+ {"nod", "mcl_farming:pumpkin"},
+ {"dro", skycraft.register_group_list("music_record"), 1},
+ {"dro", skycraft.register_group_list("horse_armor"), 1},
+ {"nod", skycraft.register_group_list("glazed_terracotta")},
+ {"nod", skycraft.register_group_list("hardened_clay")},
+ {"nod", skycraft.register_group_list("concrete")},
+ {"cus", skycraft.place_and_fill_armor_stand},
})
-