diff --git a/README.md b/README.md index 193eb4c..972fc2c 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ who helped make this mod bigger and better throughout it's release :) - Increase bamboo leaf decay radius - Switch ethereal coral to new plantlike_rooted drawtype (thanks Niklp) - Switch seaweed to new plantlike_rooted drawtype (thanks Niklp) + - Added 'ethereal.logs' setting that adds decorative fallen tree logs to biomes ### 1.30 - New fish textures by SirroBzeroone and BlueTangs Rock diff --git a/init.lua b/init.lua index 520f824..ed064a4 100644 --- a/init.lua +++ b/init.lua @@ -7,7 +7,7 @@ ]] -ethereal = {version = "20230814"} +ethereal = {version = "20240125"} local function setting(stype, name, default) @@ -69,6 +69,7 @@ setting("number", "reefs", 1) setting("number", "sakura", 1) setting("number", "tundra", 1) setting("number", "mediterranean", 1) +setting("number", "logs", 1) local path = minetest.get_modpath("ethereal") diff --git a/schems.lua b/schems.lua index 44681d7..5ce84fe 100644 --- a/schems.lua +++ b/schems.lua @@ -335,3 +335,147 @@ if ethereal.reefs == 1 then rotation = "random" }) end + + +-- tree logs +if ethereal.logs == 1 then + +if ethereal.grassy == 1 or ethereal.prairie == 1 then +minetest.register_decoration({ + name = "default:apple_log", + deco_type = "schematic", + place_on = {"default:dirt_with_grass", "ethereal:prairie_dirt"}, + place_offset_y = 1, + sidelen = 16, + fill_ratio = 0.001, + biomes = {"deciduous_forest", "jumble", "swamp", "prairie"}, + y_max = 100, + y_min = 1, + schematic = dpath .. "apple_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = {"default:dirt_with_grass", "ethereal:prairie_dirt"}, + num_spawn_by = 8 + }) +end + +if ethereal.junglee == 1 then + minetest.register_decoration({ + name = "default:jungle_log", + deco_type = "schematic", + place_on = {"default:dirt_with_rainforest_litter"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.005, + biomes = {"junglee"}, + y_max = 100, + y_min = 1, + schematic = dpath .. "jungle_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dirt_with_rainforest_litter", + num_spawn_by = 8 + }) +end + +if ethereal.snowy == 1 then + minetest.register_decoration({ + name = "default:pine_log", + deco_type = "schematic", + place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.0018, + biomes = {"taiga", "coniferous_forest"}, + y_max = 100, + y_min = 4, + schematic = dpath .. "pine_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"}, + num_spawn_by = 8 + }) +end + +if ethereal.savanna == 1 then + minetest.register_decoration({ + name = "default:acacia_log", + deco_type = "schematic", + place_on = {"default:dry_dirt_with_dry_grass"}, + place_offset_y = 1, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.001, + spread = {x = 250, y = 250, z = 250}, + seed = 2, + octaves = 3, + persist = 0.66 + }, + biomes = {"savanna"}, + y_max = 100, + y_min = 1, + schematic = dpath .. "acacia_log.mts", + flags = "place_center_x", + rotation = "random", + spawn_by = "default:dry_dirt_with_dry_grass", + num_spawn_by = 8 + }) +end + +if ethereal.plains == 1 then + minetest.register_decoration({ + name = "ethereal:scorched_log", + deco_type = "schematic", + place_on = {"ethereal:dry_dirt"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.0018, + biomes = {"plains"}, + y_max = 100, + y_min = 4, + + schematic = { + size = {x = 3, y = 1, z = 1}, + data = { + {name = "ethereal:scorched_tree", param1 = 201, param2 = 16}, + {name = "ethereal:scorched_tree", param1 = 255, param2 = 16}, + {name = "ethereal:scorched_tree", param1 = 255, param2 = 16} + } + }, + flags = "place_center_x", + rotation = "random", + spawn_by = "ethereal:dry_dirt", + num_spawn_by = 8 + }) +end + +if ethereal.grove == 1 then + minetest.register_decoration({ + name = "ethereal:banana_log", + deco_type = "schematic", + place_on = {"ethereal:grove_dirt"}, + place_offset_y = 1, + sidelen = 80, + fill_ratio = 0.0018, + biomes = {"grove"}, + y_max = 100, + y_min = 4, + + schematic = { + size = {x = 3, y = 1, z = 1}, + data = { + {name = "ethereal:banana_trunk", param1 = 255, param2 = 16}, + {name = "ethereal:banana_trunk", param1 = 255, param2 = 16}, + {name = "ethereal:banana_trunk", param1 = 201, param2 = 16} + } + }, + flags = "place_center_x", + rotation = "random", + spawn_by = "ethereal:grove_dirt", + num_spawn_by = 8 + }) +end + +end + diff --git a/settingtypes.txt b/settingtypes.txt index 2f206c3..9976cde 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -37,6 +37,7 @@ ethereal.reefs (MT5 Coral biome, 1 = Enable / 0 = Disable) int 1 ethereal.sakura (Sakura biome, 1 = Enable / 0 = Disable) int 1 ethereal.tundra (Tundra biome, 1 = Enable / 0 = Disable) int 1 ethereal.mediterranean (Mediterranean biome, 1 = Enable / 0 = Disable) int 1 +ethereal.logs (Tree log decor, 1 = Enable / 0 = Disable) int 1 ethereal.flightpotion_duration (Flight Potion Duration) int 300