diff --git a/mods/bucket/init.lua b/mods/bucket/init.lua index 2cf431cac5b5857bc366fb306275a741069bfa11..ebdf2e74ebdde3bc307da3f6328e3c2fb24cb7dc 100644 --- a/mods/bucket/init.lua +++ b/mods/bucket/init.lua @@ -225,3 +225,16 @@ minetest.register_craft({ replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, }) +-- Register buckets as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "bucket:bucket_empty", chance = 0.55}, + -- water in deserts/ice or above ground, lava otherwise + {name = "bucket:bucket_water", chance = 0.45, + types = {"sandstone", "desert", "ice"}}, + {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, + types = {"normal"}}, + {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, + types = {"normal"}}, + }) +end diff --git a/mods/bucket/mod.conf b/mods/bucket/mod.conf index 1c60a099632f625284e7513d54fa05bbf16cab00..fef46873412e10d2ff30e2e78e7292e33a2bd966 100644 --- a/mods/bucket/mod.conf +++ b/mods/bucket/mod.conf @@ -1,3 +1,4 @@ name = bucket description = Minetest Game mod: bucket depends = default +optional_depends = dungeon_loot diff --git a/mods/carts/init.lua b/mods/carts/init.lua index a5aa9cb56a16ec4b77339d5f06d7a20d8e290ad3..69d59d9f7a080f1425f9ac50b309b71fe66471b6 100644 --- a/mods/carts/init.lua +++ b/mods/carts/init.lua @@ -19,3 +19,10 @@ carts.path_distance_max = 3 dofile(carts.modpath.."/functions.lua") dofile(carts.modpath.."/rails.lua") dofile(carts.modpath.."/cart_entity.lua") + +-- Register rails as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "carts:rail", chance = 0.35, count = {1, 6} + }) +end diff --git a/mods/carts/mod.conf b/mods/carts/mod.conf index 20357e3e618112358f9213bc9639fe36e39deda9..0eab35c31317b079dfcd97d43b823ea3babd83c6 100644 --- a/mods/carts/mod.conf +++ b/mods/carts/mod.conf @@ -1,3 +1,4 @@ name = carts description = Carts (formerly boost_cart) depends = default, player_api +optional_depends = dungeon_loot diff --git a/mods/dungeon_loot/loot.lua b/mods/dungeon_loot/loot.lua index 7eb08cd8cb8812d79e2f95d3ec236df715ccdefe..a5a40973759a8ff48543e68250fdc5b981ac3da7 100644 --- a/mods/dungeon_loot/loot.lua +++ b/mods/dungeon_loot/loot.lua @@ -1,26 +1,13 @@ -dungeon_loot.registered_loot = { - -- buckets - {name = "bucket:bucket_empty", chance = 0.55}, - -- water in deserts/ice or above ground, lava otherwise - {name = "bucket:bucket_water", chance = 0.45, - types = {"sandstone", "desert", "ice"}}, - {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, - types = {"normal"}}, - {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, - types = {"normal"}}, +-- Loot from the `default` mod is registered here, +-- with the rest being registered in the respective mods +dungeon_loot.registered_loot = { -- various items {name = "default:stick", chance = 0.6, count = {3, 6}}, {name = "default:flint", chance = 0.4, count = {1, 3}}, - {name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}}, - {name = "carts:rail", chance = 0.35, count = {1, 6}}, -- farming / consumable - {name = "farming:string", chance = 0.5, count = {1, 8}}, - {name = "farming:wheat", chance = 0.5, count = {2, 5}}, {name = "default:apple", chance = 0.4, count = {1, 4}}, - {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, - types = {"normal"}}, {name = "default:cactus", chance = 0.4, count = {1, 4}, types = {"sandstone", "desert"}}, diff --git a/mods/farming/init.lua b/mods/farming/init.lua index e6dfd579f5a5ddd7344ed50b672e4f108b25d25b..96672fa10ead9a2ab4cabf4949086b413a49c364 100644 --- a/mods/farming/init.lua +++ b/mods/farming/init.lua @@ -144,3 +144,13 @@ minetest.register_craft({ recipe = "farming:hoe_wood", burntime = 5, }) + +-- Register farming items as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + {name = "farming:string", chance = 0.5, count = {1, 8}}, + {name = "farming:wheat", chance = 0.5, count = {2, 5}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, + types = {"normal"}}, + }) +end diff --git a/mods/farming/mod.conf b/mods/farming/mod.conf index c26c28fc26883825063add788ffbddc2c8ffee99..9a76a6a7d0409f29c99784974ec914812c83bcfc 100644 --- a/mods/farming/mod.conf +++ b/mods/farming/mod.conf @@ -1,3 +1,4 @@ name = farming description = Minetest Game mod: farming depends = default, wool, stairs +optional_depends = dungeon_loot diff --git a/mods/vessels/init.lua b/mods/vessels/init.lua index b330efc224e54ef9b8aeee49b08bb928d410f1e6..71a0689335a7c3da0aeaacc28841810027bcd10b 100644 --- a/mods/vessels/init.lua +++ b/mods/vessels/init.lua @@ -228,3 +228,10 @@ minetest.register_craft({ recipe = "vessels:shelf", burntime = 30, }) + +-- Register glass fragments as dungeon loot +if minetest.global_exists("dungeon_loot") then + dungeon_loot.register({ + name = "vessels:glass_fragments", chance = 0.35, count = {1, 4} + }) +end diff --git a/mods/vessels/mod.conf b/mods/vessels/mod.conf index 7551b54ab79dbf6fb4dc8f0109e2f80e999be367..eba9076f6af7ec3fa49e8ef70914e7fafb8151ca 100644 --- a/mods/vessels/mod.conf +++ b/mods/vessels/mod.conf @@ -1,3 +1,4 @@ name = vessels description = Minetest Game mod: vessels depends = default +optional_depends = dungeon_loot