From b701e500aad5ed9d17696b2cb6480ceb10935fe6 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Tue, 16 Jul 2019 20:28:40 +0200 Subject: [PATCH] Support for icesheet dungeons in dungeon_loot --- game_api.txt | 5 +++-- mods/dungeon_loot/loot.lua | 31 +++++++++++++++++++++---------- mods/dungeon_loot/mapgen.lua | 2 ++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/game_api.txt b/game_api.txt index 841c6e20..4f1ff9a2 100644 --- a/game_api.txt +++ b/game_api.txt @@ -276,7 +276,7 @@ The mod that places chests with loot in dungeons provides an API to register add name = "item:name", chance = 0.5, -- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen - -- due to an extra step in the selection process, 0.5 does not(!) mean that + -- Due to an extra step in the selection process, 0.5 does not(!) mean that -- on average every second chest will have this item count = {1, 4}, -- ^ table with minimum and maximum amounts of this item @@ -286,7 +286,8 @@ The mod that places chests with loot in dungeons provides an API to register add -- optional, defaults to no height restrictions types = {"desert"}, -- ^ table with types of dungeons this item can be found in - -- supported types: "normal" (the cobble/mossycobble one), "sandstone", "desert" + -- supported types: "normal" (the cobble/mossycobble one), "sandstone" + -- "desert" and "ice" -- optional, defaults to no type restrictions diff --git a/mods/dungeon_loot/loot.lua b/mods/dungeon_loot/loot.lua index 3fe0bff6..7eb08cd8 100644 --- a/mods/dungeon_loot/loot.lua +++ b/mods/dungeon_loot/loot.lua @@ -1,10 +1,13 @@ dungeon_loot.registered_loot = { -- buckets {name = "bucket:bucket_empty", chance = 0.55}, - -- water in deserts or above ground, lava otherwise - {name = "bucket:bucket_water", chance = 0.45, types = {"sandstone", "desert"}}, - {name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, types = {"normal"}}, - {name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, types = {"normal"}}, + -- 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"}}, -- various items {name = "default:stick", chance = 0.6, count = {3, 6}}, @@ -16,8 +19,10 @@ dungeon_loot.registered_loot = { {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"}}, + {name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, + types = {"normal"}}, + {name = "default:cactus", chance = 0.4, count = {1, 4}, + types = {"sandstone", "desert"}}, -- minerals {name = "default:coal_lump", chance = 0.9, count = {1, 12}}, @@ -31,10 +36,16 @@ dungeon_loot.registered_loot = { {name = "default:axe_diamond", chance = 0.05}, -- natural materials - {name = "default:sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"normal"}}, - {name = "default:desert_sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, types = {"sandstone"}}, - {name = "default:desert_cobble", chance = 0.8, count = {4, 32}, types = {"desert"}}, - {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}}, + {name = "default:sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, + types = {"normal"}}, + {name = "default:desert_sand", chance = 0.8, count = {4, 32}, y = {-64, 32768}, + types = {"sandstone"}}, + {name = "default:desert_cobble", chance = 0.8, count = {4, 32}, + types = {"desert"}}, + {name = "default:snow", chance = 0.8, count = {8, 64}, y = {-64, 32768}, + types = {"ice"}}, + {name = "default:dirt", chance = 0.6, count = {2, 16}, y = {-64, 32768}, + types = {"normal", "sandstone", "desert"}}, {name = "default:obsidian", chance = 0.25, count = {1, 3}, y = {-32768, -512}}, {name = "default:mese", chance = 0.15, y = {-32768, -512}}, } diff --git a/mods/dungeon_loot/mapgen.lua b/mods/dungeon_loot/mapgen.lua index 12946d4c..06b3bd79 100644 --- a/mods/dungeon_loot/mapgen.lua +++ b/mods/dungeon_loot/mapgen.lua @@ -59,6 +59,8 @@ local function find_walls(cpos) type = "desert" elseif biome:find("sandstone_desert") == 1 then type = "sandstone" + elseif biome:find("icesheet") == 1 then + type = "ice" end return {