write something there

This commit is contained in:
N-Nachtigal 2025-05-04 16:01:41 +02:00
commit b4b6c08f4f
8546 changed files with 309825 additions and 0 deletions

View file

@ -0,0 +1,26 @@
MIT License
Copyright (c) 2022 Skandarella
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Textures and Models by Liil/Wilhelmine/ under (MIT) License (c) 2022
Thanks to ShadMOrdre (https://github.com/ShadMOrdre) for fixing the schematics/leaf decay.

View file

@ -0,0 +1,620 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:alderswamp_litter", {
description = S("Alder Swamp dirt with Grass"),
tiles = {"naturalbiomes_alderswamp_litter.png", "naturalbiomes_alderswamp_dirt.png",
{name = "naturalbiomes_alderswamp_dirt.png^naturalbiomes_alderswamp_litter_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "naturalbiomes:alderswamp_dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("naturalbiomes:alderswamp_dirt", {
description = S("Alder Swamp Dirt"),
tiles = {"naturalbiomes_alderswamp_dirt.png"},
groups = {crumbly = 3, soil = 1, falling_node = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:alderswamp",
node_top = "naturalbiomes:alderswamp_litter",
depth_top = 1,
node_filler = "naturalbiomes:alderswamp_dirt",
depth_filler = 3,
node_riverbed = "naturalbiomes:alderswamp_dirt",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 5,
y_min = 0,
heat_point = 55,
humidity_point = 70,
})
-- Schematics
minetest.register_decoration({
name = "naturalbiomes:alder_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:alderswamp_litter"},
place_offset_y = 0,
sidelen = 16,
noise_params = {
offset = -0.002,
scale = 0.01,
spread = {x = 100, y = 20, z = 100},
seed = 5555,
octaves = 1,
persistence = 0.75,
flags = "eased"
},
biomes = {"naturalbiomes:alderswamp"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_aldertree_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:alder_tree2",
deco_type = "schematic",
place_on = {"naturalbiomes:alderswamp_litter"},
place_offset_y = 0,
sidelen = 16,
noise_params = {
offset = -0.002,
scale = 0.01,
spread = {x = 100, y = 20, z = 100},
seed = 5556,
octaves = 1,
persistence = 0.75,
flags = "eased"
},
biomes = {"naturalbiomes:alderswamp"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_aldertree2_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:alder_tree3",
deco_type = "schematic",
place_on = {"naturalbiomes:alderswamp_litter"},
place_offset_y = 0,
sidelen = 16,
noise_params = {
offset = -0.002,
scale = 0.01,
spread = {x = 100, y = 20, z = 100},
seed = 5557,
octaves = 1,
persistence = 0.75,
flags = "eased"
},
biomes = {"naturalbiomes:alderswamp"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_aldertree3_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
--
-- Tree generation
--
-- New alder tree
local function grow_new_alder_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 3, y = pos.y - 0, z = pos.z - 3}, modpath.."/schematics/naturalbiomes_aldertree_0_270.mts", "0", nil, false)
end
-- alder trunk
minetest.register_node("naturalbiomes:alder_trunk", {
description = S("Alder Trunk"),
tiles = {
"naturalbiomes_alderswamp_alder_trunk_top.png",
"naturalbiomes_alderswamp_alder_trunk_top.png",
"naturalbiomes_alderswamp_alder_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- alder wood
minetest.register_node("naturalbiomes:alder_wood", {
description = S("Alder Wood"),
tiles = {"naturalbiomes_alderswamp_alder_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:alder_wood 4",
recipe = {{"naturalbiomes:alder_trunk"}}
})
minetest.register_node("naturalbiomes:alder_leaves", {
description = S("Alder Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_alderswamp_alder_leaves.png"},
special_tiles = {"naturalbiomes_alderswamp_alder_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:alder_sapling'},
rarity = 50,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:alder_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:alder_sapling", {
description = S("Alder Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_alderswamp_sapling.png"},
inventory_image = "naturalbiomes_alderswamp_sapling.png",
wield_image = "naturalbiomes_alderswamp_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_alder_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:alder_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_alderswamp_alder_wood",
"naturalbiomes:alder_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alderswamp_alder_wood.png"},
S("Alder Stair"),
S("Alder Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_alderswamp_alder_trunk",
"naturalbiomes:alder_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alderswamp_alder_trunk_top.png", "naturalbiomes_alderswamp_alder_trunk_top.png", "naturalbiomes_alderswamp_alder_trunk.png"},
S("Alder Trunk Stair"),
S("Alder Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_alder_wood",
{
description = S("Alder Wood Fence Gate"),
texture = "naturalbiomes_alderswamp_alder_wood.png",
material = "naturalbiomes:alder_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_alder_wood",
{
description = S("Alder Fence"),
texture = "naturalbiomes_adler_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_alderswamp_alder_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_alderswamp_alder_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alder_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_alder_wood",
{
description = S("Alder Fence Rail"),
texture = "naturalbiomes_adler_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_alderswamp_alder_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_alderswamp_alder_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alder_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_node("naturalbiomes:alderswamp_reed", {
description = S"Alderswamp reed",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_alderswamp_reeds.png"},
inventory_image = "naturalbiomes_alderswamp_reeds.png",
wield_image = "naturalbiomes_alderswamp_reeds.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alderswamp_reed",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 6,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:alderswamp_reed",
spawn_by = "naturalbiomes:alderswamp_litter"
})
minetest.register_node("naturalbiomes:alderswamp_reed", {
description = S"Alderswamp reed",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_alderswamp_reeds.png"},
inventory_image = "naturalbiomes_alderswamp_reeds.png",
wield_image = "naturalbiomes_alderswamp_reeds.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alderswamp_reed2",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 3,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:alderswamp_reed2",
spawn_by = "naturalbiomes:alderswamp_litter"
})
minetest.register_node("naturalbiomes:alderswamp_reed2", {
description = S"Alderswamp reed",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_alderswamp_reeds2.png"},
inventory_image = "naturalbiomes_alderswamp_reeds2.png",
wield_image = "naturalbiomes_alderswamp_reeds2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alderswamp_reed3",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
fill_ratio = 0.09,
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:alderswamp_reed3",
spawn_by = "naturalbiomes:alderswamp_litter"
})
minetest.register_node("naturalbiomes:alderswamp_reed3", {
description = S"Alderswamp reed",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_alderswamp_reeds3.png"},
inventory_image = "naturalbiomes_alderswamp_reeds3.png",
wield_image = "naturalbiomes_alderswamp_reeds3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alder_log",
deco_type = "schematic",
place_on = {"naturalbiomes:alderswamp_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0012,
scale = 0.0007,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"naturalbiomes:alderswamp"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_alder_log_0_90.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "naturalbiomes:alderswamp_litter",
num_spawn_by = 8,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
spawn_by = {"naturalbiomes:alderswamp_litter"},
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.00085,
y_max = 31000,
y_min = 1,
place_offset_y = -1,
decoration = "default:water_source",
biomes = {"alderswamp"},
flags = "force_placement",
})
minetest.register_decoration({
name = "naturalbiomes:waterlily",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
noise_params = {
offset = -0.12,
scale = 0.3,
spread = {x = 100, y = 100, z = 100},
seed = 33,
octaves = 3,
persist = 0.7
},
y_max = 0,
y_min = 0,
decoration = "naturalbiomes:waterlily",
param2 = 0,
param2_max = 3,
place_offset_y = 1,
})
minetest.register_node("naturalbiomes:waterlily", {
description = S("Waterlily"),
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "facedir",
tiles = {"naturalbiomes_alderswamp_waterlily.png", "naturalbiomes_alderswamp_waterlily_bottom.png"},
inventory_image = "naturalbiomes_alderswamp_waterlily.png",
wield_image = "naturalbiomes_alderswamp_waterlily.png",
use_texture_alpha = "clip",
liquids_pointable = true,
walkable = false,
buildable_to = true,
floodable = true,
groups = {snappy = 3, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
node_placement_prediction = "",
node_box = {
type = "fixed",
fixed = {-0.5, -31 / 64, -0.5, 0.5, -15 / 32, 0.5}
},
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, -15 / 32, 7 / 16}
},
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
local node = minetest.get_node(pointed_thing.under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick then
return def.on_rightclick(pointed_thing.under, node, placer, itemstack,
pointed_thing)
end
if def and def.liquidtype == "source" and
minetest.get_item_group(node.name, "water") > 0 then
local player_name = placer and placer:get_player_name() or ""
if not minetest.is_protected(pos, player_name) then
minetest.set_node(pos, {name = "naturalbiomes:waterlily",
param2 = math.random(0, 3)})
if not (creative and creative.is_enabled_for
and creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
else
minetest.chat_send_player(player_name, ("Node is protected."))
minetest.record_protection_violation(pos, player_name)
end
end
return itemstack
end
})
minetest.register_decoration({
name = "naturalbiomes:alderswamp_yellowflower",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 7,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:alderswamp_yellowflower",
spawn_by = "naturalbiomes:alderswamp_litter"
})
minetest.register_node("naturalbiomes:alderswamp_yellowflower", {
description = S"Alderswamp flower",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_adler_yellowflower.png"},
inventory_image = "naturalbiomes_adler_yellowflower.png",
wield_image = "naturalbiomes_adler_yellowflower.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alderswamp_brownreed",
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
noise_params = {
offset = -0.1,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 7,
persist = 1,
},
y_max = 1,
y_min = 0,
decoration = "naturalbiomes:alderswamp_brownreed",
spawn_by = "naturalbiomes:alderswamp_litter"
})
minetest.register_node("naturalbiomes:alderswamp_brownreed", {
description = S"Alderswamp reed",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_alderswamp_reedbrown.png"},
inventory_image = "naturalbiomes_alderswamp_reedbrown.png",
wield_image = "naturalbiomes_alderswamp_reedbrown.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:alderswamp_litter"},
sidelen = 16,
fill_ratio = 0.35,
y_min = 1,
y_max = 31000,
decoration = {"default:grass_2", "default:grass_3", "default:grass_4","default:grass_5"}
})

View file

@ -0,0 +1,786 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:alpine_litter", {
description = S("Dirt with Alpine Grass"),
tiles = {"naturalbiomes_alpine_litter.png", "default_dirt.png",
{name = "default_dirt.png^naturalbiomes_alpine_litter_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "naturalbiomes:alpine_rock",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("naturalbiomes:alpine_rock", {
description = S("Alpine Rock"),
tiles = {"naturalbiomes_alpine_rock.png"},
groups = {cracky = 3, stone = 1},
drop = "naturalbiomes:alpine_rock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:alpine",
node_top = "naturalbiomes:alpine_litter",
depth_top = 1,
node_filler = "naturalbiomes:alpine_rock",
depth_filler = 50,
node_riverbed = "default:gravel",
depth_riverbed = 2,
node_dungeon = "default:stone",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 30,
heat_point = 55,
humidity_point = 60,
})
-- Schematics
minetest.register_decoration({
name = "naturalbiomes:alppine1_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:alpine_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00315,
biomes = {"naturalbiomes:alpine"},
y_max = 31000,
y_min = 12,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_alpine_pine1_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:alppine2_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:alpine_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00715,
biomes = {"naturalbiomes:alpine"},
y_max = 11,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_alpine_pine2_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:cowberry_bush",
deco_type = "schematic",
place_on = {"naturalbiomes:alpine_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:alpine"},
y_max = 31000,
y_min = 30,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_alpine_cowberrybush.mts",
flags = "place_center_x, place_center_z",
})
-- Tree generation
--
-- New pine tree
local function grow_new_alppine1_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 5, y = pos.y - 0, z = pos.z - 5}, modpath.."/schematics/naturalbiomes_alpine_pine1_0_90.mts", "0", nil, false)
end
-- Pine1 trunk
minetest.register_node("naturalbiomes:alppine1_trunk", {
description = S("Silver Fir Trunk"),
tiles = {
"naturalbiomes_alpine_pine1_trunk_top.png",
"naturalbiomes_alpine_pine1_trunk_top.png",
"naturalbiomes_alpine_pine1_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- Pine wood
minetest.register_node("naturalbiomes:alppine1_wood", {
description = S("Silver Fir Wood"),
tiles = {"naturalbiomes_alpine_pine1_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:alppine1_wood 4",
recipe = {{"naturalbiomes:alppine1_trunk"}}
})
minetest.register_node("naturalbiomes:alppine1_leaves", {
description = S("Silver Fir Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_alpine_pine1_leaves.png"},
special_tiles = {"naturalbiomes_alpine_pine1_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:alppine1_sapling'},
rarity = 50,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:alppine1_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:alppine1_sapling", {
description = S("Silver Fir Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_alpine_pine1_sapling.png"},
inventory_image = "naturalbiomes_alpine_pine1_sapling.png",
wield_image = "naturalbiomes_alpine_pine1_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_alppine1_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:alppine1_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_alpine_pine1_wood",
"naturalbiomes:alppine1_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alpine_pine1_wood.png"},
S("Silver Fir Stair"),
S("Silver Fir Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_alpine_pine1_trunk",
"naturalbiomes:alppine1_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alpine_pine1_trunk_top.png", "naturalbiomes_alpine_pine1_trunk_top.png", "naturalbiomes_alpine_pine1_trunk.png"},
S("Silver Fir Trunk Stair"),
S("Silver Fir Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_alppine1_wood",
{
description = S("Silver Fir Wood Fence Gate"),
texture = "naturalbiomes_alpine_pine1_wood.png",
material = "naturalbiomes:alppine1_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_alppine1_wood",
{
description = S("Silver Fir Fence"),
texture = "naturalbiomes_pine_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_alpine_pine1_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_alpine_pine1_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alppine1_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_alppine1_wood",
{
description = S("Silver Fir Fence Rail"),
texture = "naturalbiomes_pine_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_alpine_pine1_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_alpine_pine1_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alppine1_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
-- Tree generation
--
-- New alppine2 tree
local function grow_new_alppine2_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 3, y = pos.y - 0, z = pos.z - 3}, modpath.."/schematics/naturalbiomes_alpine_pine2_0_90.mts", "0", nil, false)
end
-- Pine2 trunk
minetest.register_node("naturalbiomes:alppine2_trunk", {
description = S("Jack Pine Trunk"),
tiles = {
"naturalbiomes_alpine_pine2_trunk_top.png",
"naturalbiomes_alpine_pine2_trunk_top.png",
"naturalbiomes_alpine_pine2_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- Pine2 wood
minetest.register_node("naturalbiomes:alppine2_wood", {
description = S("Jack Pine Wood"),
tiles = {"naturalbiomes_alpine_pine2_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:alppine2_wood 4",
recipe = {{"naturalbiomes:alppine2_trunk"}}
})
minetest.register_node("naturalbiomes:alppine2_leaves", {
description = S("Jack Pine Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_alpine_pine2_leaves.png"},
special_tiles = {"naturalbiomes_alpine_pine2_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:alppine2_sapling'},
rarity = 15,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:alppine2_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:alppine2_sapling", {
description = S("Jack Pine Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_alpine_pine2_sapling.png"},
inventory_image = "naturalbiomes_alpine_pine2_sapling.png",
wield_image = "naturalbiomes_alpine_pine2_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_alppine2_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:alppine2_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_alpine_pine2_wood",
"naturalbiomes:alppine2_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alpine_pine2_wood.png"},
S("Jack Pine Stair"),
S("Jack Pine Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_alpine_pine2_trunk",
"naturalbiomes:alppine2_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_alpine_pine2_trunk_top.png", "naturalbiomes_alpine_pine2_trunk_top.png", "naturalbiomes_alpine_pine2_trunk.png"},
S("Jack Pine Trunk Stair"),
S("Jack Pine Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_alppine2_wood",
{
description = S("Jack Pine Wood Fence Gate"),
texture = "naturalbiomes_alpine_pine2_wood.png",
material = "naturalbiomes:alppine2_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_pine2_wood",
{
description = S("Jack Pine Fence"),
texture = "naturalbiomes_pine2_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_alpine_pine2_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_alpine_pine2_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alppine2_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_pine2_wood",
{
description = S("Jack Pine Fence Rail"),
texture = "naturalbiomes_pine2_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_alpine_pine2_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_alpine_pine2_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:alppine2_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
-- Tree generation
--
-- New cowberry bush
local function grow_new_outback_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 2, y = pos.y - 0, z = pos.z - 2}, modpath.."/schematics/naturalbiomes_alpine_cowberrybush.mts", "0", nil, false)
end
minetest.register_node("naturalbiomes:alpine_cowberrybush_stem", {
description = S("Cowberry Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"naturalbiomes_alpine_cowberry_stem.png"},
inventory_image = "naturalbiomes_alpine_cowberry_stem.png",
wield_image = "naturalbiomes_alpine_cowberry_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:alpine_cowberrybush_leaves", {
description = S("Cowberry Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_alpine_cowberry_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:alpine_cowberrybush_sapling"}, rarity = 20},
{items = {"naturalbiomes:cowberry"}, rarity = 2},
{items = {"naturalbiomes:alpine_cowberrybush_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:alpine_cowberrybush_sapling", {
description = S("Cowberry Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_alpine_cowberry_sapling.png"},
inventory_image = "naturalbiomes_alpine_cowberry_sapling.png",
wield_image = "naturalbiomes_alpine_cowberry_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_outback_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:alpine_cowberrybush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_node("naturalbiomes:cowberry", {
description = S("Cowberry"),
drawtype = "torchlike",
tiles = {"naturalbiomes_alpine_cowberry_fruit.png"},
inventory_image = "naturalbiomes_alpine_cowberry_fruit.png",
wield_image = "naturalbiomes_alpine_cowberry_fruit.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1, winleafdecay_drop = 1, winleafdecay = 3
},
drop = "naturalbiomes:cowberry",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:cowberry", param2 = 1})
end
end
})
minetest.register_node("naturalbiomes:alpine_mushroom", {
description = S("Alpine Mushroom"),
tiles = {"naturalbiomes_alpine_mushroom.png"},
inventory_image = "naturalbiomes_alpine_mushroom.png",
wield_image = "naturalbiomes_alpine_mushroom.png",
drawtype = "plantlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {mushroom = 1, food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
on_use = minetest.item_eat(1),
selection_box = {
type = "fixed",
fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, -2 / 16, 3 / 16},
}
})
minetest.register_node("naturalbiomes:alpine_grass1", {
description = S"Alpine Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_alpine_grass1.png"},
inventory_image = "naturalbiomes_alpine_grass1.png",
wield_image = "naturalbiomes_alpine_grass1.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_node("naturalbiomes:alpine_grass2", {
description = S"Alpine Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_alpine_grass2.png"},
inventory_image = "naturalbiomes_alpine_grass2.png",
wield_image = "naturalbiomes_alpine_grass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_node("naturalbiomes:alpine_grass3", {
description = S"Alpine Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_alpine_grass3.png"},
inventory_image = "naturalbiomes_alpine_grass3.png",
wield_image = "naturalbiomes_alpine_grass3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alpine_grass3",
deco_type = "simple",
place_on = {"naturalbiomes:alpine_litter"},
sidelen = 16,
fill_ratio = 0.175,
y_max = 31000,
y_min = 1,
decoration = {
"naturalbiomes:alpine_grass1",
"naturalbiomes:alpine_grass2",
"naturalbiomes:alpine_grass3",
},
})
minetest.register_decoration({
name = "naturalbiomes:alpine_dandelion",
deco_type = "simple",
place_on = {"naturalbiomes:alpine_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 4,
persist = 1,
},
y_max = 31000,
y_min = 1,
decoration = "naturalbiomes:alpine_dandelion",
spawn_by = "naturalbiomes:alpine_litter"
})
minetest.register_node("naturalbiomes:alpine_dandelion", {
description = S"Alpine Dandelion Flower",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_alpine_dandelion.png"},
inventory_image = "naturalbiomes_alpine_dandelion.png",
wield_image = "naturalbiomes_alpine_dandelion.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, color_yellow = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alpine_edelweiss",
deco_type = "simple",
place_on = {"naturalbiomes:alpine_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 4,
persist = 1,
},
y_max = 31000,
y_min = 1,
decoration = "naturalbiomes:alpine_edelweiss",
})
minetest.register_node("naturalbiomes:alpine_edelweiss", {
description = S"Edelweiss Flower",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_alpine_edelweiss.png"},
inventory_image = "naturalbiomes_alpine_edelweiss.png",
wield_image = "naturalbiomes_alpine_edelweiss.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, color_white = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:alpine_log",
deco_type = "schematic",
place_on = {"naturalbiomes:alpine_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0012,
scale = 0.0007,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"naturalbiomes:alpine"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes__alpine_pine1_log_0_90.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "naturalbiomes:alpine_litter",
num_spawn_by = 4,
})
minetest.register_decoration({
name = "naturalbiomes:alpine_log2",
deco_type = "schematic",
place_on = {"naturalbiomes:alpine_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0012,
scale = 0.0007,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"naturalbiomes:alpine"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_alpine_pine2_log_0_90.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "naturalbiomes:alpine_litter",
num_spawn_by = 4,
})
minetest.register_decoration({
deco_type = "simple",
place_on = {
"naturalbiomes:alpine_litter",
"naturalbiomes:alppine1_leaves",
"naturalbiomes:alppine2_leaves",
},
sidelen = 16,
noise_params = {
offset = -0.75,
scale = -1,
spread = {x = 100, y = 100, z = 100},
seed = 456,
octaves = 2,
persist = 1.0
},
biomes = {"alpine"},
y_max = 31000,
y_min = 1,
decoration = "default:snow",
})

View file

@ -0,0 +1,544 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:bambooforest_litter", {
description = S("Bamboo Forest Litter"),
tiles = {"naturalbiomes_bambooforest_litter.png", "naturalbiomes_bambooforest_rock.png",
{name = "naturalbiomes_bambooforest_rock.png^naturalbiomes_bambooforest_litter_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "naturalbiomes:bambooforest_rock",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_biome({
name = "bambooforest",
node_top = "naturalbiomes:bambooforest_litter",
depth_top = 1,
node_filler = "naturalbiomes:bambooforest_rock",
depth_filler = 70,
node_riverbed = "default:clay",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 5,
heat_point = 89,
humidity_point = 77,
})
-- Tree generation
--
-- New bamboo tree
local function grow_new_bamboo_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 3, y = pos.y - 0, z = pos.z - 3}, modpath.."/schematics/naturalbiomes_bambootree_large_0_270.mts", "0", nil, false)
end
-- bamboo trunk
minetest.register_node("naturalbiomes:bamboo_trunk", {
description = S("Bamboo Trunk"),
tiles = {
"naturalbiomes_bambooforest_bamboo_trunk_top.png",
"naturalbiomes_bambooforest_bamboo_trunk_top.png",
"naturalbiomes_bambooforest_bamboo_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- bamboo wood
minetest.register_node("naturalbiomes:bamboo_wood", {
description = S("Bamboo Wood"),
tiles = {"naturalbiomes_bambooforest_bamboo_wood2.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:bamboo_wood 4",
recipe = {{"naturalbiomes:bamboo_trunk"}}
})
minetest.register_node("naturalbiomes:bamboo_leaves", {
description = S("Bamboo Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_Bambooforest_bamboo_leaves.png"},
special_tiles = {"naturalbiomes_Bambooforest_bamboo_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:bamboo_sapling'},
rarity = 10,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:bamboo_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:bamboo_sapling", {
description = S("Bamboo Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_bambooforest_bamboo_sapling.png"},
inventory_image = "naturalbiomes_bambooforest_bamboo_sapling.png",
wield_image = "naturalbiomes_bambooforest_bamboo_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_bamboo_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:bamboo_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_bambooforest_bamboo_wood2",
"naturalbiomes:bamboo_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_bambooforest_bamboo_wood2.png"},
S("Bamboo Stair"),
S("Bamboo Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_bambooforest_bamboo_trunk",
"naturalbiomes:bamboo_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_bambooforest_bamboo_trunk_top.png", "naturalbiomes_bambooforest_bamboo_trunk_top.png", "naturalbiomes_bambooforest_bamboo_trunk.png"},
S("Bamboo Trunk Stair"),
S("Bamboo Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_bamboo_wood",
{
description = S("Bamboo Wood Fence Gate"),
texture = "naturalbiomes_bambooforest_bamboo_wood2.png",
material = "naturalbiomes:bamboo_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_bamboo_wood",
{
description = S("Bamboo Fence"),
texture = "naturalbiomes_bamboo_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_bambooforest_bamboo_wood2.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_bambooforest_bamboo_wood2.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:bamboo_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_bamboo_wood",
{
description = S("Bamboo Fence Rail"),
texture = "naturalbiomes_bamboo_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_bambooforest_bamboo_wood2.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_bambooforest_bamboo_wood2.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:bamboo_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:bamboo_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:bambooforest_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.02115,
biomes = {"naturalbiomes:bambooforest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_bambootree_large_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:bamboo_tree2",
deco_type = "schematic",
place_on = {"naturalbiomes:bambooforest_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.02115,
biomes = {"naturalbiomes:bambooforest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_bambootree_small_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:smallbamboo",
deco_type = "schematic",
place_on = {"naturalbiomes:bambooforest_litter"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.05,
spread = {x = 100, y = 100, z = 100},
seed = 936,
octaves = 3,
persist = 0.7
},
biomes = {"naturalbiomes:bambooforest"},
y_max = 31000,
y_min = 0,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bambootree_small_micro_0_270.mts",
})
minetest.register_node("naturalbiomes:smallbamboo", {
description = S("Small Bamboo Grass"),
drawtype = "plantlike",
tiles = {"naturalbiomes_bambooforest_bamboo_trunksmall.png"},
inventory_image = "naturalbiomes_bambooforest_bamboo_trunksmall.png",
wield_image = "naturalbiomes_bambooforest_bamboo_trunksmall.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("naturalbiomes:bambooforest_rock", {
description = S("Bamboo Forest Rock"),
tiles = {"naturalbiomes_bambooforest_rock.png"},
groups = {cracky = 3, stone = 1},
drop = "naturalbiomes:bambooforest_rock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_decoration({
name = "naturalbiomes:bambooforest_groundgrass",
deco_type = "simple",
place_on = {"naturalbiomes:bambooforest_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 7,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:bambooforest_groundgrass",
spawn_by = "naturalbiomes:bambooforest_litter"
})
minetest.register_node("naturalbiomes:bambooforest_groundgrass", {
description = S"Babmooforest Gorund Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bambooforest_groundgrass.png"},
inventory_image = "naturalbiomes_bambooforest_groundgrass.png",
wield_image = "naturalbiomes_bambooforest_groundgrass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:bambooforest_groundgrass2",
deco_type = "simple",
place_on = {"naturalbiomes:bambooforest_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 7,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:bambooforest_groundgrass2",
spawn_by = "naturalbiomes:bambooforest_litter"
})
minetest.register_node("naturalbiomes:bambooforest_groundgrass2", {
description = S"Babmooforest Gorund Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bambooforest_groundgrass2.png"},
inventory_image = "naturalbiomes_bambooforest_groundgrass2.png",
wield_image = "naturalbiomes_bambooforest_groundgrass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
--
-- Tree generation
--
-- New banana tree
local function grow_new_banana_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 4, y = pos.y - 0, z = pos.z - 3}, modpath.."/schematics/naturalbiomes_banana_palm_0_90.mts", "0", nil, false)
end
-- banana trunk
minetest.register_node("naturalbiomes:banana_trunk", {
description = S("Banana Trunk"),
tiles = {
"naturalbiomes__banana_trunk_top.png",
"naturalbiomes__banana_trunk_top.png",
"naturalbiomes__banana_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- banana wood
minetest.register_node("naturalbiomes:banana_wood", {
description = S("Banana Wood"),
tiles = {"naturalbiomes__banana_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:banana_wood 4",
recipe = {{"naturalbiomes:banana_trunk"}}
})
minetest.register_node("naturalbiomes:banana_leaves", {
description = S("Banana Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes__banana_leaf.png"},
special_tiles = {"naturalbiomes__banana_leaf.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:banana_sapling'},
rarity = 10,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:banana_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:banana_sapling", {
description = S("Banana Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes__banana_tree_sapling.png"},
inventory_image = "naturalbiomes__banana_tree_sapling.png",
wield_image = "naturalbiomes__banana_tree_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_banana_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:banana_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_banana_wood",
"naturalbiomes:banana_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_banana_wood.png"},
S("Banana Stair"),
S("Banana Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_banana_trunk",
"naturalbiomes:banana_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_banana_trunk_top.png", "naturalbiomes_banana_trunk_top.png", "naturalbiomes_banana_trunk.png"},
S("Banana Trunk Stair"),
S("Banana Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_banana_wood",
{
description = S("Banana Wood Fence Gate"),
texture = "naturalbiomes_banana_wood.png",
material = "naturalbiomes:banana_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_banana_wood",
{
description = S("Banana Fence"),
texture = "naturalbiomes_banana_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_banana_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_banana_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:banana_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_banana_wood",
{
description = S("Banana Fence Rail"),
texture = "naturalbiomes_banana_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_banana_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_banana_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:banana_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:banana_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:bambooforest_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00515,
biomes = {"naturalbiomes:bambooforest"},
y_max = 31000,
y_min = 5,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_banana_palm_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})

View file

@ -0,0 +1,992 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:bushland_bushlandlitter2", {
description = S("Bushland Litter"),
tiles = {
"naturalbiomes_bushland_bushlandlitter2_top.png",
"naturalbiomes_bushland_bushlandlitter2_bottom.png",
"naturalbiomes_bushland_bushlandlitter2_right.png",
"naturalbiomes_bushland_bushlandlitter2_left.png",
"naturalbiomes_bushland_bushlandlitter2_back.png",
"naturalbiomes_bushland_bushlandlitter2_front.png"},
groups = {crumbly = 3, sand = 1, falling_node = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("naturalbiomes:bushland_bushlandlitter3", {
description = S("Bushland Litter"),
tiles = {
"naturalbiomes_bushland_bushlandlitter3_top.png",
"naturalbiomes_bushland_bushlandlitter3_bottom.png",
"naturalbiomes_bushland_bushlandlitter3_right.png",
"naturalbiomes_bushland_bushlandlitter3_left.png",
"naturalbiomes_bushland_bushlandlitter3_back.png",
"naturalbiomes_bushland_bushlandlitter3_front.png"},
groups = {crumbly = 3, sand = 1, falling_node = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:bushland",
node_top = "naturalbiomes:bushland_bushlandlitter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 5,
node_riverbed = "default:sand",
depth_riverbed = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone",
y_max = 500,
y_min = 1,
heat_point = 68,
humidity_point = 83,
})
minetest.register_node("naturalbiomes:bushland_bushlandlitter", {
description = S("Bushland Litter"),
tiles = {"naturalbiomes_bushland_bushlandlitter.png", "default_dirt.png",
{name = "default_dirt.png^naturalbiomes_bushland_bushlandlitter_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
place_offset_y = -1,
flags = "force_placement",
fill_ratio = 0.3,
y_max = 20,
y_min = 3,
decoration = "naturalbiomes:bushland_bushlandlitter2"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
place_offset_y = -1,
flags = "force_placement",
fill_ratio = 0.3,
y_max = 500,
y_min = 3,
decoration = "naturalbiomes:bushland_bushlandlitter3"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
place_offset_y = -1,
flags = "force_placement",
fill_ratio = 10,
y_max = 3,
y_min = 0,
decoration = "default:sand"
})
-- Schematics
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_blackberrybush.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_blackberrybush2.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_blackberrybush3.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_wildrosebush.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_wildrosebush2.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 697,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_wildrosebush3.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -3,
sidelen = 16,
fill_ratio = 0.00215,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_hazelnutbush.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -3,
sidelen = 16,
fill_ratio = 0.00215,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_hazelnutbush2.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -3,
sidelen = 16,
fill_ratio = 0.00215,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_hazelnutbush3.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.00115,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_deadbush3.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.00115,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_deadbush2.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.00115,
biomes = {"naturalbiomes:bushland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_bushland_deadbush.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_node("naturalbiomes:bushland_grass", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_bushland_grass.png"},
inventory_image = "naturalbiomes_bushland_grass.png",
wield_image = "naturalbiomes_bushland_grass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 9478,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass",
})
minetest.register_node("naturalbiomes:bushland_grass2", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_bushland_grass2.png"},
inventory_image = "naturalbiomes_bushland_grass2.png",
wield_image = "naturalbiomes_bushland_grass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass2",
})
minetest.register_node("naturalbiomes:bushland_grass3", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_bushland_grass3.png"},
inventory_image = "naturalbiomes_bushland_grass3.png",
wield_image = "naturalbiomes_bushland_grass3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter2", "naturalbiomes:bushland_bushlandlitter3"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 1549,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass3",
})
minetest.register_node("naturalbiomes:bushland_grass4", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bushland_grass4.png"},
inventory_image = "naturalbiomes_bushland_grass4.png",
wield_image = "naturalbiomes_bushland_grass4.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 6687,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass4",
})
minetest.register_node("naturalbiomes:bushland_grass5", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bushland_grass5.png"},
inventory_image = "naturalbiomes_bushland_grass5.png",
wield_image = "naturalbiomes_bushland_grass5.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter2", "naturalbiomes:bushland_bushlandlitter3"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4663,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass5",
})
minetest.register_node("naturalbiomes:bushland_grass6", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bushland_grass6.png"},
inventory_image = "naturalbiomes_bushland_grass6.png",
wield_image = "naturalbiomes_bushland_grass6.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter2", "naturalbiomes:bushland_bushlandlitter3"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass6",
})
minetest.register_node("naturalbiomes:bushland_grass7", {
description = S"Bushland Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 2.0,
tiles = {"naturalbiomes_bushland_grass7.png"},
inventory_image = "naturalbiomes_bushland_grass7.png",
wield_image = "naturalbiomes_bushland_grass7.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"naturalbiomes:bushland_bushlandlitter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 9932,
octaves = 9,
persist = 1,
},
y_max = 30000,
y_min = 3,
decoration = "naturalbiomes:bushland_grass7",
})
-- New blackberry bush
local function grow_new_blackberry_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 2, y = pos.y - 0, z = pos.z - 2}, modpath.."/schematics/naturalbiomes_bushland_blackberrybush.mts", "0", nil, false)
end
minetest.register_node("naturalbiomes:bushland_blackberry_stem", {
description = S("Blackberry Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"naturalbiomes_bushland_blackberry_stem.png"},
inventory_image = "naturalbiomes_bushland_blackberry_stem.png",
wield_image = "naturalbiomes_bushland_blackberry_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:bushland_blackberry_leaves2", {
description = S("Blackberry Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_bushland_blackberry_leaves2.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_blackberrybush_sapling"}, rarity = 3},
{items = {"naturalbiomes:blackberry"}, rarity = 2},
{items = {"naturalbiomes:bushland_blackberry_leaves2"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_blackberry_leaves", {
description = S("Blackberry Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_bushland_blackberry_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_blackberrybush_sapling"}, rarity = 25},
{items = {"naturalbiomes:blackberry"}, rarity = 2},
{items = {"naturalbiomes:bushland_blackberry_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_blackberrybush_sapling", {
description = S("Blackberry Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_bushland_blackberry_sapling.png"},
inventory_image = "naturalbiomes_bushland_blackberry_sapling.png",
wield_image = "naturalbiomes_bushland_blackberry_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_blackberry_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:bushland_blackberrybush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_node("naturalbiomes:blackberry", {
description = S("Blackberry"),
drawtype = "torchlike",
tiles = {"naturalbiomes_bushland_blackberries.png"},
inventory_image = "naturalbiomes_bushland_blackberries.png",
wield_image = "naturalbiomes_bushland_blackberries.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "naturalbiomes:blackberry",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:blackberry", param2 = 1})
end
end
})
-- New wildrose bush
local function grow_new_wildrose_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 1, y = pos.y - 0, z = pos.z - 1}, modpath.."/schematics/naturalbiomes_bushland_wildrosebush.mts", "0", nil, false)
end
minetest.register_node("naturalbiomes:bushland_wildrose_stem", {
description = S("Wildrose Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.40,
tiles = {"naturalbiomes_bushland_wildrose_stem.png"},
inventory_image = "naturalbiomes_bushland_wildrose_stem.png",
wield_image = "naturalbiomes_bushland_wildrose_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:bushland_wildrose_leaves2", {
description = S("Wildrose Bush Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_bushland_wildrose_leaves2.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_wildrosebush_sapling"}, rarity = 3},
{items = {"naturalbiomes:wildrose"}, rarity = 2},
{items = {"naturalbiomes:bushland_wildrose_leaves2"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_wildrose_leaves", {
description = S("Wildrose Bush Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_bushland_wildrose_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_wildrosebush_sapling"}, rarity = 25},
{items = {"naturalbiomes:wildrose"}, rarity = 2},
{items = {"naturalbiomes:bushland_wildrose_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_wildrosebush_sapling", {
description = S("Wildrose Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_bushland_wildrose_sapling.png"},
inventory_image = "naturalbiomes_bushland_wildrose_sapling.png",
wield_image = "naturalbiomes_bushland_wildrose_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_wildrose_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:bushland_wildrosebush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_node("naturalbiomes:wildrose", {
description = S("Wildrose"),
drawtype = "torchlike",
tiles = {"naturalbiomes_bushland_wildrose.png"},
inventory_image = "naturalbiomes_bushland_wildrose.png",
wield_image = "naturalbiomes_bushland_wildrose.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "naturalbiomes:wildrose",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:wildrose", param2 = 1})
end
end
})
-- New hazelnut bush
local function grow_new_hazelnut_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 3, y = pos.y - 0, z = pos.z - 3}, modpath.."/schematics/naturalbiomes_bushland_hazelnutbush.mts", "0", nil, false)
end
minetest.register_node("naturalbiomes:bushland_hazelnut_stem", {
description = S("Hazelnut Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"naturalbiomes_bushland_hazelnut_stem.png"},
inventory_image = "naturalbiomes_bushland_hazelnut_stem.png",
wield_image = "naturalbiomes_bushland_hazelnut_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:bushland_hazelnut_leaves2", {
description = S("Hazelnut Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_bushland_hazelnut_leaves2.png"},
paramtype = "light",
waving = 1,
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_hazelnutbush_sapling"}, rarity = 25},
{items = {"naturalbiomes:hazelnut"}, rarity = 2},
{items = {"naturalbiomes:bushland_hazelnut_leaves2"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_hazelnut_leaves", {
description = S("Hazelnut Bush Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_bushland_hazelnut_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_hazelnutbush_sapling"}, rarity = 25},
{items = {"naturalbiomes:hazelnut"}, rarity = 2},
{items = {"naturalbiomes:bushland_hazelnut_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:bushland_hazelnutbush_sapling", {
description = S("Hazelnut Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_bushland_hazelnut_sapling.png"},
inventory_image = "naturalbiomes_bushland_hazelnut_sapling.png",
wield_image = "naturalbiomes_bushland_hazelnut_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_hazelnut_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:bushland_hazelnutbush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_node("naturalbiomes:hazelnut", {
description = S("Hazelnut"),
drawtype = "torchlike",
tiles = {"naturalbiomes_bushland_hazelnut.png"},
inventory_image = "naturalbiomes_bushland_hazelnut.png",
wield_image = "naturalbiomes_bushland_hazelnut.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "naturalbiomes:hazelnut",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:hazelnut", param2 = 1})
end
end
})
--- dead bush
minetest.register_node("naturalbiomes:bushland_deadbush_leaves", {
description = S("Dead Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_bushland_deadbush_leaves.png"},
paramtype = "light",
waving = 1,
groups = {snappy = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:bushland_deadbush_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
-- cracked hazelnut
minetest.register_craftitem("naturalbiomes:hazelnut_cracked", {
description = S("Cracked Hazelnut"),
inventory_image = "naturalbiomes_bushland_hazelnut_cracked.png",
on_use = minetest.item_eat(5),
groups = {food = 1, flammable = 2},
})
xpanes.register_pane("hazelnut_pane", {
description = S("Hazelnut Woven Fence"),
textures = {"naturalbiomes_bushland_hazelnut_fence.png", "", "naturalbiomes_bushland_hazelnut_fence.png"},
inventory_image = "naturalbiomes_bushland_hazelnut_fence.png",
wield_image = "naturalbiomes_bushland_hazelnut_fence.png",
sounds = default.node_sound_wood_defaults(),
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
recipe = {
{"", "farming:string", ""},
{"naturalbiomes:bushland_hazelnut_stem", "naturalbiomes:bushland_hazelnut_stem", "naturalbiomes:bushland_hazelnut_stem"}
}
})

View file

@ -0,0 +1,692 @@
local S = minetest.get_translator("naturalbiomes")
stairs.register_stair_and_slab(
"naturalbiomes_adler_reed_bundle",
"naturalbiomes:reed_bundle",
{snappy = 3, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_adler_reed_bundle.png"},
S("Reed Bundle Stair"),
S("Reed Bundle Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_alpine_rock_brick",
"naturalbiomes:alpine_brick",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_alpine_rock_brick.png"},
S("Alpine Brick Stair"),
S("Alpine Brick Slab"),
default.node_sound_wood_defaults()
)
--[[stairs.register_stair_and_slab( -- bamboo is disabled
"naturalbiomes_bambooforest_rock_brick",
"naturalbiomes:bamboo_brick",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_bambooforest_rock_brick.png"},
S("Bamboo Brick Stair"),
S("Bamboo Brick Slab"),
default.node_sound_wood_defaults()
)]]
--[[stairs.register_stair_and_slab(
"naturalbiomes_beach_rock_brick",
"naturalbiomes:beach_brick",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_beach_rock_brick.png"},
S("Beach Brick Stair"),
S("Beach Brick Slab"),
default.node_sound_wood_defaults()
)]]
stairs.register_stair_and_slab(
"naturalbiomes_mediterran_rock_brick",
"naturalbiomes:med_brick",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_mediterran_rock_brick.png"},
S("Med Brick Stair"),
S("Med Brick Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_outback_rock_brick",
"naturalbiomes:outback_brick",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"naturalbiomes_outback_rock_brick.png"},
S("Outback Brick Stair"),
S("Outback Brick Slab"),
default.node_sound_wood_defaults()
)
walls.register(":naturalbiomes:alpine_brick_wall", S"Alpine Brick Wall", "naturalbiomes_alpine_rock_brick.png",
"naturalbiomes:alpine_brick_wall", default.node_sound_stone_defaults())
--[[walls.register(":naturalbiomes:bamboo_brick_wall", S"Bambooforest Wall", "naturalbiomes_bambooforest_rock_brick.png",
"naturalbiomes:bamboo_brick_wall", default.node_sound_stone_defaults())]]
walls.register(":naturalbiomes:med_brick_wall", S"Mediterranean Wall", "naturalbiomes_mediterran_rock_brick.png",
"naturalbiomes:med_brick_wall", default.node_sound_stone_defaults())
walls.register(":naturalbiomes:outback_brick_wall", S"Outback Wall", "naturalbiomes_outback_rock_brick.png",
"naturalbiomes:outback_brick_wall", default.node_sound_stone_defaults())
--[[walls.register(":naturalbiomes:beach_brick_wall", S"Palmbeach Wall", "naturalbiomes_beach_rock_brick.png",
"naturalbiomes:beach_brick_wall", default.node_sound_stone_defaults())]]
minetest.register_node("naturalbiomes:reed_bundle", {
description = S("Reed Bundle"),
tiles = {
"naturalbiomes_adler_reed_bundle_top.png",
"naturalbiomes_adler_reed_bundle_top.png",
"naturalbiomes_adler_reed_bundle.png"
},
is_ground_content = false,
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_node("naturalbiomes:alpine_brick", {
description = S("Alpine Brick"),
tiles = {"naturalbiomes_alpine_rock_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
--[[minetest.register_node("naturalbiomes:bamboo_brick", {
description = S("Bambooforest Brick"),
tiles = {"naturalbiomes_bambooforest_rock_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})]]
--[[minetest.register_node("naturalbiomes:beach_brick", {
description = S("Beach Brick"),
tiles = {"naturalbiomes_beach_rock_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})]]
minetest.register_node("naturalbiomes:med_brick", {
description = S("Meditteranean Brick"),
tiles = {"naturalbiomes_mediterran_rock_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("naturalbiomes:outback_brick", {
description = S("Outback Brick"),
tiles = {"naturalbiomes_outback_rock_brick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:reed_bundle",
type = "shapeless",
recipe =
{"naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_reed"}
})
minetest.register_craft({
output = "naturalbiomes:reed_bundle",
type = "shapeless",
recipe =
{"naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed2"}
})
minetest.register_craft({
output = "naturalbiomes:reed_bundle",
type = "shapeless",
recipe =
{"naturalbiomes:alderswamp_reed3", "naturalbiomes:alderswamp_reed3"}
})
minetest.register_craft({
output = "naturalbiomes:alpine_brick",
type = "shapeless",
recipe =
{"naturalbiomes:alpine_rock", "naturalbiomes:alpine_rock"}
})
--[[minetest.register_craft({
output = "naturalbiomes:bamboo_brick",
type = "shapeless",
recipe =
{"naturalbiomes:bambooforest_rock", "naturalbiomes:bambooforest_rock"}
})]]
--[[minetest.register_craft({
output = "naturalbiomes:beach_brick",
type = "shapeless",
recipe =
{"naturalbiomes:palmbeach_rock", "naturalbiomes:palmbeach_rock"}
})]]
minetest.register_craft({
output = "naturalbiomes:med_brick",
type = "shapeless",
recipe =
{"naturalbiomes:mediterran_rock", "naturalbiomes:mediterran_rock"}
})
minetest.register_craft({
output = "naturalbiomes:outback_brick",
type = "shapeless",
recipe =
{"naturalbiomes:outback_rock", "naturalbiomes:outback_rock"}
})
----
minetest.register_craft({
output = "naturalbiomes:alpine_brick_wall",
type = "shapeless",
recipe =
{"naturalbiomes:alpine_brick"}
})
--[[minetest.register_craft({
output = "naturalbiomes:bamboo_brick_wall",
type = "shapeless",
recipe =
{"naturalbiomes:bamboo_brick"}
})]]
--[[minetest.register_craft({
output = "naturalbiomes:beach_brick",
type = "shapeless",
recipe =
{"naturalbiomes:beach_brick"}
})]]
minetest.register_craft({
output = "naturalbiomes:med_brick_wall",
type = "shapeless",
recipe =
{"naturalbiomes:med_brick"}
})
minetest.register_craft({
output = "naturalbiomes:outback_brick_wall",
type = "shapeless",
recipe =
{"naturalbiomes:outback_brick"}
})
--- doors
doors.register_trapdoor("naturalbiomes:acacia_trapdoor", {
description = S"Wet Savanna Acacia Trapdoor",
inventory_image = "naturalbiomes_acacia_trapdoor.png",
wield_image = "naturalbiomes_acacia_trapdoor.png",
tile_front = "naturalbiomes_acacia_trapdoor.png",
tile_side = "naturalbiomes_acacia_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:acacia_trapdoor 2",
recipe = {
{"naturalbiomes:acacia_wood", "naturalbiomes:acacia_wood", "naturalbiomes:acacia_wood"},
{"naturalbiomes:acacia_wood", "naturalbiomes:acacia_trunk", "naturalbiomes:acacia_wood"},
}
})
doors.register("naturalbiomes_acacia_door", {
tiles = {{ name = "naturalbiomes_acacia_door.png", backface_culling = true }},
description = S"Wet Savanna Acacia Door",
inventory_image = "naturalbiomes_item_acacia_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:acacia_wood", "naturalbiomes:acacia_wood"},
{"naturalbiomes:acacia_trunk", "naturalbiomes:acacia_trunk"},
{"naturalbiomes:acacia_wood", "naturalbiomes:acacia_wood"},
}
})
doors.register_trapdoor("naturalbiomes:alder_trapdoor", {
description = S"Alder Trapdoor",
inventory_image = "naturalbiomes_alder_trapdoor.png",
wield_image = "naturalbiomes_alder_trapdoor.png",
tile_front = "naturalbiomes_alder_trapdoor.png",
tile_side = "naturalbiomes_alder_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:alder_trapdoor 2",
recipe = {
{"naturalbiomes:alder_wood", "naturalbiomes:alder_wood", "naturalbiomes:alder_wood"},
{"naturalbiomes:alder_wood", "naturalbiomes:alder_trunk", "naturalbiomes:alder_wood"},
}
})
doors.register("naturalbiomes_alder_door", {
tiles = {{ name = "naturalbiomes_alder_door.png", backface_culling = true }},
description = S"Alder Door",
inventory_image = "naturalbiomes_item_alder_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:alder_wood", "naturalbiomes:alder_wood"},
{"naturalbiomes:alder_trunk", "naturalbiomes:alder_trunk"},
{"naturalbiomes:alder_wood", "naturalbiomes:alder_wood"},
}
})
doors.register_trapdoor("naturalbiomes:alpine_trapdoor", {
description = S"Alpine Underground Trapdoor",
inventory_image = "naturalbiomes_alpine1_trapdoor.png",
wield_image = "naturalbiomes_alpine1_trapdoor.png",
tile_front = "naturalbiomes_alpine1_trapdoor.png",
tile_side = "naturalbiomes_alpine1_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:alpine_trapdoor 2",
recipe = {
{"naturalbiomes:alppine1_wood", "naturalbiomes:alppine1_wood", "naturalbiomes:alppine1_wood"},
{"naturalbiomes:alppine1_wood", "naturalbiomes:alppine1_trunk", "naturalbiomes:alppine1_wood"},
}
})
doors.register("naturalbiomes_alpine_door", {
tiles = {{ name = "naturalbiomes_alpine1_door.png", backface_culling = true }},
description = S"Alpine Underground Door",
inventory_image = "naturalbiomes_item_alpine1_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:alppine1_wood", "naturalbiomes:alppine1_wood"},
{"naturalbiomes:alppine1_trunk", "naturalbiomes:alppine1_trunk"},
{"naturalbiomes:alppine1_wood", "naturalbiomes:alppine1_wood"},
}
})
doors.register_trapdoor("naturalbiomes:alpine2_trapdoor", {
description = S"Alpine Trapdoor",
inventory_image = "naturalbiomes_alpine2_trapdoor.png",
wield_image = "naturalbiomes_alpine2_trapdoor.png",
tile_front = "naturalbiomes_alpine2_trapdoor.png",
tile_side = "naturalbiomes_alpine2_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:alpine2_trapdoor 2",
recipe = {
{"naturalbiomes:alppine2_wood", "naturalbiomes:alppine2_wood", "naturalbiomes:alppine2_wood"},
{"naturalbiomes:alppine2_wood", "naturalbiomes:alppine2_trunk", "naturalbiomes:alppine2_wood"},
}
})
doors.register("naturalbiomes_alpine2_door", {
tiles = {{ name = "naturalbiomes_alpine2_door.png", backface_culling = true }},
description = S"Alpine Door",
inventory_image = "naturalbiomes_item_alpine2_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:alppine2_wood", "naturalbiomes:alppine2_wood"},
{"naturalbiomes:alppine2_trunk", "naturalbiomes:alppine2_trunk"},
{"naturalbiomes:alppine2_wood", "naturalbiomes:alppine2_wood"},
}
})
--[[doors.register_trapdoor("naturalbiomes:bamboo_trapdoor", {
description = S"Bamboo Trapdoor",
inventory_image = "naturalbiomes_bamboo_trapdoor.png",
wield_image = "naturalbiomes_bamboo_trapdoor.png",
tile_front = "naturalbiomes_bamboo_trapdoor.png",
tile_side = "naturalbiomes_bamboo_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})]]
--[[minetest.register_craft({
output = "naturalbiomes:bamboo_trapdoor 2",
recipe = {
{"naturalbiomes:bamboo_wood", "naturalbiomes:bamboo_wood", "naturalbiomes:bamboo_wood"},
{"naturalbiomes:bamboo_wood", "naturalbiomes:bamboo_trunk", "naturalbiomes:bamboo_wood"},
}
})]]
--[[doors.register("naturalbiomes_bamboo_door", {
tiles = {{ name = "naturalbiomes_bamboo_door.png", backface_culling = true }},
description = S"Bamboo Door",
inventory_image = "naturalbiomes_item_bamboo_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:bamboo_wood", "naturalbiomes:bamboo_wood"},
{"naturalbiomes:bamboo_trunk", "naturalbiomes:bamboo_trunk"},
{"naturalbiomes:bamboo_wood", "naturalbiomes:bamboo_wood"},
}
})]]
--[[doors.register_trapdoor("naturalbiomes:banana_trapdoor", {
description = S"Banana Trapdoor",
inventory_image = "naturalbiomes_banana_trapdoor.png",
wield_image = "naturalbiomes_banana_trapdoor.png",
tile_front = "naturalbiomes_banana_trapdoor.png",
tile_side = "naturalbiomes_banana_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})]]
--[[minetest.register_craft({
output = "naturalbiomes:banana_trapdoor 2",
recipe = {
{"naturalbiomes:banana_wood", "naturalbiomes:banana_wood", "naturalbiomes:banana_wood"},
{"naturalbiomes:banana_wood", "naturalbiomes:banana_trunk", "naturalbiomes:banana_wood"},
}
})]]
--[[doors.register("naturalbiomes_banana_door", {
tiles = {{ name = "naturalbiomes_banana_door.png", backface_culling = true }},
description = S"Banana Door",
inventory_image = "naturalbiomes_item_banana_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:banana_wood", "naturalbiomes:banana_wood"},
{"naturalbiomes:banana_trunk", "naturalbiomes:banana_trunk"},
{"naturalbiomes:banana_wood", "naturalbiomes:banana_wood"},
}
})]]
doors.register_trapdoor("naturalbiomes:birch_trapdoor", {
description = S"Birch Trapdoor",
inventory_image = "naturalbiomes_birch_trapdoor.png",
wield_image = "naturalbiomes_birch_trapdoor.png",
tile_front = "naturalbiomes_birch_trapdoor.png",
tile_side = "naturalbiomes_birch_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:birch_trapdoor 2",
recipe = {
{"naturalbiomes:heath_birch_wood", "naturalbiomes:heath_birch_wood", "naturalbiomes:heath_birch_wood"},
{"naturalbiomes:heath_birch_wood", "naturalbiomes:heath_birch_trunk", "naturalbiomes:heath_birch_wood"},
}
})
doors.register("naturalbiomes_birch_door", {
tiles = {{ name = "naturalbiomes_birch_door.png", backface_culling = true }},
description = S"Birch Door",
inventory_image = "naturalbiomes_item_birch_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:heath_birch_wood", "naturalbiomes:heath_birch_wood"},
{"naturalbiomes:heath_birch_trunk", "naturalbiomes:heath_birch_trunk"},
{"naturalbiomes:heath_birch_wood", "naturalbiomes:heath_birch_wood"},
}
})
--[[doors.register_trapdoor("naturalbiomes:coconut_trapdoor", {
description = S"Coconut Trapdoor",
inventory_image = "naturalbiomes_cocopalm_trapdoor.png",
wield_image = "naturalbiomes_cocopalm_trapdoor.png",
tile_front = "naturalbiomes_cocopalm_trapdoor.png",
tile_side = "naturalbiomes_cocopalm_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})]]
--[[minetest.register_craft({
output = "naturalbiomes:coconut_trapdoor 2",
recipe = {
{"naturalbiomes:palm_wood", "naturalbiomes:palm_wood", "naturalbiomes:palm_wood"},
{"naturalbiomes:palm_wood", "naturalbiomes:palm_trunk", "naturalbiomes:palm_wood"},
}
})]]
--[[doors.register("naturalbiomes_coconut_door", {
tiles = {{ name = "naturalbiomes_cocopalm_door.png", backface_culling = true }},
description = S"Coconut Door",
inventory_image = "naturalbiomes_item_cocopalm_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:palm_wood", "naturalbiomes:palm_wood"},
{"naturalbiomes:palm_trunk", "naturalbiomes:palm_trunk"},
{"naturalbiomes:palm_wood", "naturalbiomes:palm_wood"},
}
})]]
doors.register_trapdoor("naturalbiomes:juniper_trapdoor", {
description = S"Juniper Trapdoor",
inventory_image = "naturalbiomes_juniper_trapdoor.png",
wield_image = "naturalbiomes_juniper_trapdoor.png",
tile_front = "naturalbiomes_juniper_trapdoor.png",
tile_side = "naturalbiomes_juniper_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:juniper_trapdoor 2",
recipe = {
{"naturalbiomes:heath_juniper_wood", "naturalbiomes:heath_juniper_wood", "naturalbiomes:heath_juniper_wood"},
{"naturalbiomes:heath_juniper_wood", "naturalbiomes:heath_juniper_trunk", "naturalbiomes:heath_juniper_wood"},
}
})
doors.register("naturalbiomes_juniper_door", {
tiles = {{ name = "naturalbiomes_juniper_door.png", backface_culling = true }},
description = S"Juniper Door",
inventory_image = "naturalbiomes_item_juniper_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:heath_juniper_wood", "naturalbiomes:heath_juniper_wood"},
{"naturalbiomes:heath_juniper_trunk", "naturalbiomes:heath_juniper_trunk"},
{"naturalbiomes:heath_juniper_wood", "naturalbiomes:heath_juniper_wood"},
}
})
doors.register_trapdoor("naturalbiomes:medpine_trapdoor", {
description = S"Mediterranean Pine Trapdoor",
inventory_image = "naturalbiomes_medpine_trapdoor.png",
wield_image = "naturalbiomes_medpine_trapdoor.png",
tile_front = "naturalbiomes_medpine_trapdoor.png",
tile_side = "naturalbiomes_medpine_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:medpine_trapdoor 2",
recipe = {
{"naturalbiomes:pine_wood", "naturalbiomes:pine_wood", "naturalbiomes:pine_wood"},
{"naturalbiomes:pine_wood", "naturalbiomes:pine_trunk", "naturalbiomes:pine_wood"},
}
})
doors.register("naturalbiomes_medpine_door", {
tiles = {{ name = "naturalbiomes_medpine_door.png", backface_culling = true }},
description = S"Mediterranean Pine Door",
inventory_image = "naturalbiomes_item_medpine_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:pine_wood", "naturalbiomes:pine_wood"},
{"naturalbiomes:pine_trunk", "naturalbiomes:pine_trunk"},
{"naturalbiomes:pine_wood", "naturalbiomes:pine_wood"},
}
})
doors.register_trapdoor("naturalbiomes:olive_trapdoor", {
description = S"Olive Trapdoor",
inventory_image = "naturalbiomes_olive_trapdoor.png",
wield_image = "naturalbiomes_olive_trapdoor.png",
tile_front = "naturalbiomes_olive_trapdoor.png",
tile_side = "naturalbiomes_olive_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:olive_trapdoor 2",
recipe = {
{"naturalbiomes:olive_wood", "naturalbiomes:olive_wood", "naturalbiomes:olive_wood"},
{"naturalbiomes:olive_wood", "naturalbiomes:olive_trunk", "naturalbiomes:olive_wood"},
}
})
doors.register("naturalbiomes_olive_door", {
tiles = {{ name = "naturalbiomes_olive_door.png", backface_culling = true }},
description = S"Olive Door",
inventory_image = "naturalbiomes_item_olive_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:olive_wood", "naturalbiomes:olive_wood"},
{"naturalbiomes:olive_trunk", "naturalbiomes:olive_trunk"},
{"naturalbiomes:olive_wood", "naturalbiomes:olive_wood"},
}
})
doors.register_trapdoor("naturalbiomes:eucalyptus_trapdoor", {
description = S"Eucalyptus Trapdoor",
inventory_image = "naturalbiomes_outback_trapdoor.png",
wield_image = "naturalbiomes_outback_trapdoor.png",
tile_front = "naturalbiomes_outback_trapdoor.png",
tile_side = "naturalbiomes_outback_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:eucalyptus_trapdoor 2",
recipe = {
{"naturalbiomes:outback_wood", "naturalbiomes:outback_wood", "naturalbiomes:outback_wood"},
{"naturalbiomes:outback_wood", "naturalbiomes:outback_trunk", "naturalbiomes:outback_wood"},
}
})
doors.register("naturalbiomes_eucalyptus_door", {
tiles = {{ name = "naturalbiomes_outback_door.png", backface_culling = true }},
description = S"Eucalyptus Door",
inventory_image = "naturalbiomes_item_outback_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:outback_wood", "naturalbiomes:outback_wood"},
{"naturalbiomes:outback_trunk", "naturalbiomes:outback_trunk"},
{"naturalbiomes:outback_wood", "naturalbiomes:outback_wood"},
}
})
doors.register_trapdoor("naturalbiomes:willow_trapdoor", {
description = S"Willow Trapdoor",
inventory_image = "naturalbiomes_willow_trapdoor.png",
wield_image = "naturalbiomes_willow_trapdoor.png",
tile_front = "naturalbiomes_willow_trapdoor.png",
tile_side = "naturalbiomes_willow_trapdoor_side.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
gain_open = 0.06,
gain_close = 0.13,
})
minetest.register_craft({
output = "naturalbiomes:willow_trapdoor 2",
recipe = {
{"naturalbiomes:heath_willow_wood", "naturalbiomes:heath_willow_wood", "naturalbiomes:heath_willow_wood"},
{"naturalbiomes:heath_willow_wood", "naturalbiomes:heath_willow_trunk", "naturalbiomes:heath_willow_wood"},
}
})
doors.register("naturalbiomes_willow_door", {
tiles = {{ name = "naturalbiomes_willow_door.png", backface_culling = true }},
description = S"Willow Door",
inventory_image = "naturalbiomes_item_willow_door.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = {
{"naturalbiomes:heath_willow_wood", "naturalbiomes:heath_willow_wood"},
{"naturalbiomes:heath_willow_trunk", "naturalbiomes:heath_willow_trunk"},
{"naturalbiomes:heath_willow_wood", "naturalbiomes:heath_willow_wood"},
}
})

View file

@ -0,0 +1,6 @@
default
stairs
doors
xpanes
hunger_ng?
ethereal?

View file

@ -0,0 +1 @@
Adds 7 new biomes to your Minetest Game world.

127
mods/naturalbiomes/dye.lua Normal file
View file

@ -0,0 +1,127 @@
local S = minetest.get_translator("naturalbiomes")
minetest.register_craft({
output = "dye:yellow 2",
recipe = {
{"naturalbiomes:alderswamp_yellowflower"}
},
})
minetest.register_craft({
output = "dye:orange 2",
recipe = {
{"naturalbiomes:alpine_dandelion"}
},
})
minetest.register_craft({
output = "dye:red 2",
recipe = {
{"naturalbiomes:cowberry"}
},
})
minetest.register_craft({
output = "dye:white 2",
recipe = {
{"naturalbiomes:alpine_edelweiss"}
},
})
minetest.register_craft({
output = "dye:pink 2",
recipe = {
{"naturalbiomes:med_flower1"}
},
})
minetest.register_craft({
output = "dye:violet 2",
recipe = {
{"naturalbiomes:med_flower3"}
},
})
minetest.register_craft({
output = "dye:brown 2",
recipe = {
{"naturalbiomes:med_grass2"}
},
})
minetest.register_craft({
output = "dye:brown 2",
recipe = {
{"naturalbiomes:med_grass1"}
},
})
minetest.register_craft({
output = "dye:orange 2",
recipe = {
{"naturalbiomes:outback_grass6"}
},
})
minetest.register_craft({
output = "dye:brown 2",
recipe = {
{"naturalbiomes:savanna_flowergrass"}
},
})
minetest.register_craft({
output = "dye:green 2",
recipe = {
{"naturalbiomes:palmbeach_grass1"}
},
})
minetest.register_craft({
output = "dye:violet 2",
recipe = {
{"naturalbiomes:heatherflower"}
},
})
minetest.register_craft({
output = "dye:magenta 2",
recipe = {
{"naturalbiomes:heatherflower2"}
},
})
minetest.register_craft({
output = "dye:violet 2",
recipe = {
{"naturalbiomes:heatherflower3"}
},
})
minetest.register_craft({
output = "dye:pink 2",
recipe = {
{"naturalbiomes:heatherflower4"}
},
})
minetest.register_craft({
output = "dye:white 2",
recipe = {
{"naturalbiomes:med_flower2"}
},
})
minetest.register_craft({
output = "dye:grey 2",
recipe = {
{"naturalbiomes:outback_grass5"}
},
})
minetest.register_craft({
output = "dye:dark_green 2",
recipe = {
{"naturalbiomes:outback_grass2"}
},
})

1189
mods/naturalbiomes/heath.lua Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,42 @@
if minetest.get_modpath("hunger_ng") ~= nil then
hunger_ng.add_hunger_data('naturalbiomes:alpine_mushroom', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:olives', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:coconut', {
satiates = 3.0,
})
hunger_ng.add_hunger_data('naturalbiomes:coconut_slice', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:banana', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:banana_bunch', {
satiates = 5.0,
})
hunger_ng.add_hunger_data('naturalbiomes:cowberry', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:blackberry', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:wildrose', {
satiates = 1.0,
})
hunger_ng.add_hunger_data('naturalbiomes:hazelnut_cracked', {
satiates = 2.0,
})
end

View file

@ -0,0 +1,49 @@
--This creates the naturalbiomes object.
naturalbiomes = {}
--This creates the naturalbiomes.settings object, and fills it with either the menu selected choices as defined in settingtypes.txt, or default values, (In this case, false).
naturalbiomes.settings = {
clear_biomes = minetest.settings:get_bool("naturalbiomes.clear_biomes") or false,
clear_decos = minetest.settings:get_bool("naturalbiomes.clear_decos") or false,
clear_ores = minetest.settings:get_bool("naturalbiomes.clear_ores") or false,
}
if naturalbiomes.settings.clear_biomes then
minetest.clear_registered_biomes()
end
if naturalbiomes.settings.clear_decos then
minetest.clear_registered_decorations()
end
if naturalbiomes.settings.clear_ores then
minetest.clear_registered_ores()
end
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
-- Load support for intllib.
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
local S = minetest.get_translator and minetest.get_translator("naturalbiomes") or
dofile(path .. "intllib.lua")
-- biomes
dofile(path .. "wetsavanna.lua") --
dofile(path .. "alderswamp.lua") --
dofile(path .. "alpine.lua") --
--dofile(path .. "bambooforest.lua") -- biome is disabled
--dofile(path .. "palmbeach.lua") -- biome is disabled
dofile(path .. "outback.lua") --
dofile(path .. "mediterranean.lua") --
dofile(path .. "crafting.lua") --
dofile(path .. "heath.lua") --
dofile(path .. "dye.lua") --
dofile(path .. "bushland.lua") --
dofile(path .. "leafdecay.lua") --
dofile(path .. "hunger.lua") --

View file

@ -0,0 +1,3 @@
-- Support for the old multi-load method
dofile(minetest.get_modpath("intllib").."/init.lua")

View file

@ -0,0 +1,114 @@
default.register_leafdecay({
trunks = {"naturalbiomes:alder_trunk"},
leaves = {"naturalbiomes:alder_leaves"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:alppine1_trunk"},
leaves = {"naturalbiomes:alppine1_leaves"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:alppine2_trunk"},
leaves = {"naturalbiomes:alppine2_leaves"},
radius = 6
})
--[[default.register_leafdecay({ -- bamboo is disabled
trunks = {"naturalbiomes:bamboo_trunk"},
leaves = {"naturalbiomes:bamboo_leaves"},
radius = 4
})]]
--[[default.register_leafdecay({ -- banana is disabled
trunks = {"naturalbiomes:banana_trunk"},
leaves = {"naturalbiomes:banana_leaves", "naturalbiomes:banana", "naturalbiomes:banana_bunch"},
radius = 4
})]]
default.register_leafdecay({
trunks = {"naturalbiomes:olive_trunk"},
leaves = {"naturalbiomes:olive_leaves", "naturalbiomes:olives"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:pine_trunk"},
leaves = {"naturalbiomes:pine_leaves"},
radius = 8
})
default.register_leafdecay({
trunks = {"naturalbiomes:med_bush_stem"},
leaves = {"naturalbiomes:med_bush_leaves"},
radius = 16
})
default.register_leafdecay({
trunks = {"naturalbiomes:outback_trunk"},
leaves = {"naturalbiomes:outback_leaves"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:outback_bush_stem"},
leaves = {"naturalbiomes:outback_bush_leaves"},
radius = 6
})
--[[default.register_leafdecay({
trunks = {"naturalbiomes:palm_trunk"},
leaves = {"naturalbiomes:palm_leaves", "naturalbiomes:coconut"},
radius = 6
})]]
--[[default.register_leafdecay({
trunks = {"naturalbiomes:beach_bush_stem"},
leaves = {"naturalbiomes:beach_bush_leaves"},
radius = 6
})]]
default.register_leafdecay({
trunks = {"naturalbiomes:acacia_trunk"},
leaves = {"naturalbiomes:acacia_leaves"},
radius = 7
})
default.register_leafdecay({
trunks = {"naturalbiomes:heath_willow_trunk"},
leaves = {"naturalbiomes:heath_willow_leaves2"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:heath_juniper_trunk"},
leaves = {"naturalbiomes:heath_juniper_leaves"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:heath_birch_trunk"},
leaves = {"naturalbiomes:heath_birch_leaves"},
radius = 6
})
default.register_leafdecay({
trunks = {"naturalbiomes:bushland_hazelnut_stem"},
leaves = {"naturalbiomes:bushland_hazelnut_leaves", "naturalbiomes:bushland_hazelnut_leaves2"},
radius = 4
})
default.register_leafdecay({
trunks = {"naturalbiomes:bushland_wildrose_stem"},
leaves = {"naturalbiomes:bushland_wildrose_leaves2", "naturalbiomes:bushland_wildrose_leaves"},
radius = 4
})
default.register_leafdecay({
trunks = {"naturalbiomes:bushland_blackberry_stem"},
leaves = {"naturalbiomes:bushland_blackberry_leaves2", "naturalbiomes:bushland_blackberry_leaves"},
radius = 4
})

View file

@ -0,0 +1,280 @@
# textdomain: naturalbiomes
Alder Swamp dirt with Grass=Erlensumpfschlamm mit Gras
Alder Swamp Dirt=Erlensumpfschlamm
Alder Trunk=Erlenstamm
Alder Wood=Erlenholz
Alder Leaves=Erlenblätter
Alder Sapling=Erlensetzling
Alder Stair=Erlenholztreppe
Alder Slab=Erlenholzplatte
Alder Trunk Stair=Erlenstamm Treppe
Alder Trunk Slab=Erlenstamm Platte
Alder Wood Fence Gate=Erlenholz Zauntor
Alder Fence=Erlenzaun
Alder Fence Rail=Erlenholz Geländer
Alderswamp reed=Erlensumpf Schilf
Waterlily=Kleine Seerosen
Alderswamp flower=Sumpfdotterblume
Dirt with Alpine Grass=Dreck mit Alpinem Gras
Alpine Rock=Alpiner Stein
Silver Fir Trunk=Weißtannenstamm
Silver Fir Wood=Weißtannenholz
Silver Fir Leaves=Weißtannen Nadeln
Silver Fir Sapling=Weißtannensetzling
Silver Fir Stair=Weißtannentreppe
Silver Fir Slab=Weißtannenplatte
Silver Fir Trunk Stair=Weißtannen Stamm Treppe
Silver Fir Trunk Slab=Weißtannen Stamm Platte
Silver Fir Wood Fence Gate=Weißtannen Holzzauntor
Silver Fir Fence=Weißtannenzaun
Silver Fir Fence Rail=Weißtannengeländer
Jack Pine Trunk=Banks Kiefer Stamm
Jack Pine Wood=Banks Kiefer Holz
Jack Pine Leaves=Banks Kiefer Nadeln
Jack Pine Sapling=Banks Kiefer Setzling
Jack Pine Stair=Banks Kiefer Holztreppe
Jack Pine Slab=Banks Kiefer Holzplatte
Jack Pine Trunk Stair=Banks Kiefer Stamm Treppe
Jack Pine Trunk Slab=Banks Kiefer Stamm Platte
Jack Pine Wood Fence Gate=Banks Kiefer Holzzauntor
Jack Pine Fence=Banks Kiefer Holzzaun
Jack Pine Fence Rail=Banks Kiefer Geländer
Cowberry Bush Stem=Preiselbeerstamm
Cowberry Bush Leaves=Preiselbeerblätter
Cowberry Bush Sapling=Preiselbeer Setzling
Cowberry=Preiselbeeren
Alpine Mushroom=Alpiner Pilz
Alpine Grass=Alpines Gras
Alpine Dandelion Flower=Alpiner Löwenzahn
Edelweiss Flower=Eidelweiss
Bamboo Forest Litter=Bumbuswald Boden
Bamboo Trunk=Bambusstamm
Bamboo Wood=Bambusholz
Bamboo Leaves=Bambusblätter
Bamboo Sapling=Bambussetzling
Bamboo Stair=Bambus Holztreppe
Bamboo Slab=Bambus Holzplatte
Bamboo Trunk Stair=Bambus Stammtreppe
Bamboo Trunk Slab=Bambus Stammplatte
Bamboo Wood Fence Gate=Bambus Holzzauntor
Bamboo Fence=Bambuszaun
Bamboo Fence Rail=Bambusgeländer
Small Bamboo Grass=Kleiner Bambus
Bamboo Forest Rock=Bambuswald Fels
Babmooforest Gorund Grass=Bambuswald Bodenbewuchs
Banana Trunk=Bananenstamm
Banana Wood=Bananenholz
Banana Leaves=Bananenwedel
Banana Sapling=Bananensetzling
Banana Stair=Bananenholz Treppe
Banana Slab=Bananenholz Platte
Banana Trunk Stair=Bananenstamm Streppe
Banana Trunk Slab=Bananenstamm Platte
Banana Wood Fence Gate=Bananen Holzzauntor
Banana Fence=Bananenzaun
Banana Fence Rail=Bananengeländer
Reed Bundle Stair=Schilfbündeltreppe
Reed Bundle Slab=Schilfbündelplatte
Alpine Brick Stair=Alpine Ziegeltreppe
Alpine Brick Slab=Alpine Ziegelplatte
Bamboo Brick Stair=Bambuswald Ziegeltreppe
Bamboo Brick Slab=Bambuswald Ziegelplatte
Beach Brick Stair=Strandziegel Treppe
Beach Brick Slab=Strandziegel Platte
Med Brick Stair=Mediterrane Ziegeltreppe
Med Brick Slab=Mediterrane Ziegelplatte
Outback Brick Stair=Outback Ziegeltreppe
Outback Brick Slab=Outback Ziegelplatte
Alpine Brick Wall=Alpine Ziegelmauer
Bambooforest Wall=Bambuswald Ziegelmauer
Mediterranean Wall=Mediterrane Ziegelmauer
Outback Wall=Outback Ziegelmauer
Palmbeach Wall=Strand Ziegelmauer
Reed Bundle=Schilfbündel
Alpine Brick=Alpine Ziegel
Bambooforest Brick=Bambuswald Ziegel
Beach Brick=Strandziegel
Meditteranean Brick=Mediterrane Ziegel
Outback Brick=Outback Ziegel
Heath sand with dirt=Heidesand mit Dreck
Heath Grass=Heidegras
Heather Flower=Heideblume
Swamp Grass=Sumpfgras
Willow Trunk=Weidenstamm
Willow Wood=Weidenholz
Willow Leaves=Weidenblätter
Willow Sapling=Weidensetzling
Willow Stair=Weidenholztreppe
Willow Slab=Weidenholzplatte
Willow Trunk Stair=Weidenstamm Treppe
Willow Trunk Slab=Weidenstamm Platte
Willow Wood Fence Gate=Weiden Holzzauntor
Willow Fence=Weidenholzzaun
Willow Fence Rail=Weidengeländer
Juniper Trunk=Wacholder Stamm
Juniper Wood=Wacholder Holz
Juniper Leaves=Wacholder Nadeln
Juniper Sapling=Wacholder Setzling
Juniper Stair=Wacholder Treppe
Juniper Slab=Wacholder Platte
Juniper Trunk Stair=Wacholder Stammtreppe
Juniper Trunk Slab=Wacholder Stammplatte
Juniper Wood Fence Gate=Wacholder Holzzauntor
Juniper Fence=Wacholderzaun
Juniper Fence Rail= Wacholder Geländer
Birch Trunk=Birkenstamm
Birch Wood=Birkenholz
Birch Leaves=Birkenblätter
Birch Sapling=Birkensetzling
Birch Stair=Birkenholz Treppe
Birch Slab=Birkenholz Platte
Birch Trunk Stair=Birkenstamm Treppe
Birch Trunk Slab=Birkenstamm Platte
Birch Wood Fence Gate=Birken Zauntor
Birch Fence=Birkenzaun
Birch Fence Rail=Birkengeländer
Heather Flower Node=Heidekrautblock
Mediterranean litter with grass=Mediterraner Boden mit Gras
Mediterranean Rock=Mediterraner Fels
Mediterranean Ruin=Mediterrane Ruine
Mediterranean Ruin Column=Mediterrane Säule
Olive Trunk=Olivenstamm
Olive Wood=Olivenholz
Olive Leaves=Olivenblätter
Olive Sapling=Olivensetzling
Olive Stair=Olivenholz Treppe
Olive Slab=Olivenholz Platte
Alder Trunk Stair=Olivenstamm Treppe
Alder Trunk Slab=Olivenstamm Platte
Olive Wood Fence Gate=Oliven Holzzauntor
Olive Fence=Olivenzaun
Olive Fence Rail=Olivengeländer
Mediterranean Pine Trunk=Mediterraner Kiefernstamm
Mediterranean Pine Wood=Mediterranes Kiefernholz
Mediterranean Pine Leaves=Mediterrane Kiefernnadeln
Mediterranean Pine Sapling=Mediterraner Kiefernsetzling
Mediterranean Pine Stair=Mediterrane Kiefernholz Treppe
Mediterranean Pine Slab=Mediterrane Kiefernholz Platte
Mediterranean Pine Trunk Stair=Mediterrane Kiefernstamm Treppe
Mediterranean Pine Trunk Slab=Mediterrane Kiefernstamm Platte
Mediterranean Pine Wood Fence Gate=Mediterranes Kiefernholztor
Mediterranean Pine Fence=Mediterraner Kiefernzaun
Mediterranean Pine Fence Rail=Mediterranes Kieferngeländer
Cypress Bush Stem=Zypressenstamm
Cypress Bush Leaves=Zypressennadeln
Cypress Bush Sapling=Zypressensetzling
Mediterranean Flower=Mediterrane Blume
Lavender=Lavendel
Mediterranean Grass=Mediterranes Gras
Fresh Olives=Frische Oliven
Outback ground with grass=Outback Boden
Outback Rock=Outback Fels
Outback Ground Sand=Outback Bodensand
Outback Eucalyptus Trunk=Eukalyptus Stamm
Outback Eucalyptus Wood=Eukalyptus Holz
Outback Eucalyptus Leaves=Eukalyptus Blätter
Outback Eucalyptus Sapling=Eukalyptus Setzling
Outback Eucalyptus Stair=Eukalyptus Holztreppe
Outback Eucalyptus Slab=Eukalyptus Holzplatte
Outback Eucalyptus Trunk Stair=Eukalyptus Stammtreppe
Outback Eucalyptus Trunk Slab=Eukalyptus Stammplatte
Outback Eucalyptus Wood Fence Gate=Eukalyptus Holzzauntor
Outback Eucalyptus Fence=Eukalyptus Zaun
Outback Eucalyptus Fence Rail=Eukalyptus Geländer
Outback Bush Stem=Outback Buschstamm
Outback Bush Leaves=Outback Buschblätter
Outback Bush Sapling=Outback Buschsetzling
Outback Grass=Outback Gras
Outback Rock Formation=Outback Fels
Beach Sand=Strandsand
Beach Rock=Strandfels
Coconut Palm Trunk=Kokospalmen Stamm
Coconut Palm Wood=Kokospalmen Holz
Coconut Palm Leaves=Kokospalmen Wedel
Coconut Palm Sapling=Kokospalmen Setzling
Coconut Palm Stair=Kokospalmen Holztreppe
Coconut Palm Slab=Kokospalmen Holzplatte
Coconut Palm Trunk Stair=Kokospalmen Stammtreppe
Coconut Palm Trunk Slab=Kokospalmen Stammplatte
Coconut Palm Wood Fence Gate=Kokospalmen Holzzauntor
Coconut Palm Fence=Kokospalmenzaun
Coconut Palm Fence Rail=Kokospalmengeländer
Beach Bush Stem=Strandbuschstamm
Beach Bush Leaves=Strandbuschblätter
Beach Bush Sapling=Strandbuschsetzling
Palmbeach Grass=Strandgras
Banana Bunch=Bananenstaude
Banana=Banane
Coconut Slice=Kokosnusstück
Coconut=Kokosnuss
Wet Savanna dirt with Grass=Feuchtsavannenboden mit Gras
Acacia Trunk=Akazienstamm
Acacia Wood=Akazienholz
Acacia Leaves=Akazienblätter
Acacia Sapling=Akaziensetzling
Acacia Stair=Akazien Holztreppe
Acacia Slab=Akazien Holzplatte
Acacia Trunk Stair=Akazien Stammtreppe
Acacia Trunk Slab=Akazien Stammplatte
Acacia Wood Fence Gate=Akazien Holzzauntor
Acacia Fence=Akazienzaun
Acacia Fence Rail=Akaziengeländer
Savanna Grass=Savannengras
Savanna Flowergrass=Savannen Blumengras
Bushland Litter=Buschland Boden
Bushland Grass=Buschland Gras
Blackberry Bush Stem=Brombeerbusch Stamm
Blackberry Bush Leaves=Brombeerblätter
Blackberry Bush Sapling=Brombeerbusch Setzling
Blackberry=Brombeere
Wildrose Bush Stem=Wildrosenbusch Stamm
Wildrose Bush Leaves=Wildrosenbusch Blätter
Wildrose Bush Sapling=Wildrosenbusch Setzling
Wildrose=Hagebutte
Hazelnut Bush Stem=Haselnussbusch Stamm
Hazelnut Bush Leaves=Haselnussbusch Blätter
Hazelnut Bush Sapling=Haselnussbusch Setzling
Hazelnut=Haselnuss
Dead Bush Leaves=Verwelkte Buschblätter
Cracked Hazelnut=Geknackte Haselnuss
Hazelnut Woven Fence=Haselnuss Flechtzaun
Wet Savanna Acacia Trapdoor=Akazien Falltür
Wet Savanna Acacia Door=Akazientür
Alder Trapdoor=Erlen Falltür
Alder Door=Erlentür
Alpine Underground Door=Alpine Untergrundtür
Alpine Underground Trapdoor=Alpine Untergrundfalltür
Alpine Trapdoor=Alm Falltür
Alpine Door=Almtür
Bamboo Trapdoor=Bambus Falltür
Bamboo Door=Bambustür
Banana Door=Bananentür
Banana Trapdoor=Bananen Falltür
Birch Trapdoor=Birken Falltür
Birch Door=Birkentür
Coconut Trapdoor=Kokospalmen Falltür
Coconut Door=Kokospalmentür
Juniper Trapdoor=Wacholder Falltür
Juniper Door=Wacholder Tür
Mediterranean Pine Trapdoor=Mediterrane Pinien Falltür
Mediterranean Pine Door=Mediterrane Pinientür
Olive Trapdoor=Oliven Falltür
Olive Door=Oliventür
Eucalyptus Trapdoor=Eukalyptus Falltür
Eucalyptus Door=Eukalyptus Tür
Willow Trapdoor=Weiden Falltür
Willow Door=Weidentür

View file

@ -0,0 +1,820 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:mediterran_litter", {
description = S("Mediterranean litter with grass"),
tiles = {"naturalbiomes_mediterran_litter.png", "default_dirt.png",
{name = "default_dirt.png^naturalbiomes_mediterran_litte_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("naturalbiomes:mediterran_rock", {
description = S("Mediterranean Rock"),
tiles = {"naturalbiomes_mediterran_rock.png"},
groups = {cracky = 3, stone = 1},
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("naturalbiomes:mediterran_ruin", {
description = S("Mediterranean Ruin"),
tiles = {"naturalbiomes_mediterran_ruins.png"},
groups = {cracky = 3, stone = 1},
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("naturalbiomes:mediterran_ruin2", {
description = S("Mediterranean Ruin Column"),
tiles = {"naturalbiomes_mediterran_ruins2.png"},
groups = {cracky = 3, stone = 1},
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:mediterranean",
node_top = "naturalbiomes:mediterran_litter",
depth_top = 1,
node_filler = "naturalbiomes:mediterran_rock",
depth_filler = 50,
node_riverbed = "default:gravel",
depth_riverbed = 2,
node_dungeon = "default:sandstone",
node_dungeon_alt = "default:desert_stonebrick",
node_dungeon_stair = "stairs:stair_desert_stone",
y_max = 100,
y_min = 5,
heat_point = 58,
humidity_point = 30,
})
-- Tree generation
--
-- New olive tree
local function grow_new_olive_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 5, y = pos.y - 0, z = pos.z - 5}, modpath.."/schematics/naturalbiomes_olive_tree2_0_90.mts", "0", nil, false)
end
-- olive trunk
minetest.register_node("naturalbiomes:olive_trunk", {
description = S("Olive Trunk"),
tiles = {
"naturalbiomes_mediterran_olive_trunk_top.png",
"naturalbiomes_mediterran_olive_trunk_top.png",
"naturalbiomes_mediterran_olive_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- olive wood
minetest.register_node("naturalbiomes:olive_wood", {
description = S("Olive Wood"),
tiles = {"naturalbiomes_mediterran_olive_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:olive_wood 4",
recipe = {{"naturalbiomes:olive_trunk"}}
})
minetest.register_node("naturalbiomes:olive_leaves", {
description = S("Olive Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_mediterran_olive_leaves.png"},
special_tiles = {"naturalbiomes_mediterran_olive_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:olive_sapling'},
rarity = 50,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:olive_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:olive_sapling", {
description = S("Olive Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_mediterran_olive_sapling.png"},
inventory_image = "naturalbiomes_mediterran_olive_sapling.png",
wield_image = "naturalbiomes_mediterran_olive_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_olive_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:olive_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_mediterran_olive_wood",
"naturalbiomes:olive_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_mediterran_olive_wood.png"},
S("Olive Stair"),
S("Olive Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_mediterran_olive_trunk",
"naturalbiomes:olive_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_mediterran_olive_trunk_top.png", "naturalbiomes_mediterran_olive_trunk_top.png", "naturalbiomes_mediterran_olive_trunk.png"},
S("Alder Trunk Stair"),
S("Alder Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_olive_wood",
{
description = S("Olive Wood Fence Gate"),
texture = "naturalbiomes_mediterran_olive_wood.png",
material = "naturalbiomes:olive_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_olive_wood",
{
description = S("Olive Fence"),
texture = "naturalbiomes_olive_fence_woode.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_mediterran_olive_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_mediterran_olive_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:olive_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_olive_wood",
{
description = S("Olive Fence Rail"),
texture = "naturalbiomes_olive_fence_woode.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_mediterran_olive_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_mediterran_olive_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:olive_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:olive_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = -2,
sidelen = 16,
fill_ratio = 0.00105,
biomes = {"naturalbiomes:mediterranean"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_olive_tree2_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Tree generation
--
-- New pine tree
local function grow_new_pine_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 9, y = pos.y - 0, z = pos.z - 8}, modpath.."/schematics/naturalbiomes_med_pinetree_0_90.mts", "0", nil, false)
end
-- pine trunk
minetest.register_node("naturalbiomes:pine_trunk", {
description = S("Mediterranean Pine Trunk"),
tiles = {
"naturalbiomes_mediterran_pine_trunk_top.png",
"naturalbiomes_mediterran_pine_trunk_top.png",
"naturalbiomes_mediterran_pine_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- pine wood
minetest.register_node("naturalbiomes:pine_wood", {
description = S("Mediterranean Pine Wood"),
tiles = {"naturalbiomes_mediterran_pine_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:pine_wood 4",
recipe = {{"naturalbiomes:pine_trunk"}}
})
minetest.register_node("naturalbiomes:pine_leaves", {
description = S("Mediterranean Pine Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_mediterran_pine_leaves.png"},
special_tiles = {"naturalbiomes_mediterran_pine_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:pine_sapling'},
rarity = 50,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:pine_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:pine_sapling", {
description = S("Mediterranean Pine Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_mediterran_pine_sapling.png"},
inventory_image = "naturalbiomes_mediterran_pine_sapling.png",
wield_image = "naturalbiomes_mediterran_pine_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_pine_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:pine_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_mediterran_pine_wood",
"naturalbiomes:pine_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_mediterran_pine_wood.png"},
S("Mediterranean Pine Stair"),
S("Mediterranean Pine Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_mediterran_pine_trunk",
"naturalbiomes:pine_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_mediterran_pine_trunk_top.png", "naturalbiomes_mediterran_pine_trunk_top.png", "naturalbiomes_mediterran_pine_trunk.png"},
S("Mediterranean Pine Trunk Stair"),
S("Mediterranean Pine Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_pine_wood",
{
description = S("Mediterranean Pine Wood Fence Gate"),
texture = "naturalbiomes_mediterran_pine_wood.png",
material = "naturalbiomes:pine_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_pine_wood",
{
description = S("Mediterranean Pine Fence"),
texture = "naturalbiomes_medpine_fence_woode.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_mediterran_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_mediterran_pine_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:pine_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_pine_wood",
{
description = S("Mediterranean Pine Fence Rail"),
texture = "naturalbiomes_medpine_fence_woode.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_mediterran_pine_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_mediterran_pine_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:pine_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:pine_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00115,
biomes = {"naturalbiomes:mediterranean"},
y_max = 31,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_med_pinetree_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:pine_treesmall",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00105,
biomes = {"naturalbiomes:mediterranean"},
y_max = 31,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_med_pinetree_small_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Cypress Bush
-- New cypress tree
local function grow_new_cypress_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 2, y = pos.y - 0, z = pos.z - 2}, modpath.."/schematics/naturalbiomes_cypress_0_90.mts", "0", nil, false)
end
minetest.register_decoration({
name = "naturalbiomes:med_bush",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = {x = 100, y = 100, z = 100},
seed = 3876,
octaves = 3,
persist = 0.4,
},
biomes = {"naturalbiomes:mediterranean"},
y_max = 31000,
y_min = 3,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_cypress_0_90.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_node("naturalbiomes:med_bush_stem", {
description = S("Cypress Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"naturalbiomes_mediterran_cypress_stem.png"},
inventory_image = "naturalbiomes_mediterran_cypress_stem.png",
wield_image = "naturalbiomes_mediterran_cypress_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:med_bush_leaves", {
description = S("Cypress Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_mediterran_cypress_leavese.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:med_bush_sapling"}, rarity = 25},
{items = {"naturalbiomes:med_bush_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:med_bush_sapling", {
description = S("Cypress Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_mediterran_cypress_stem.png"},
inventory_image = "naturalbiomes_mediterran_cypress_stem.png",
wield_image = "naturalbiomes_mediterran_cypress_stem.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_cypress_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:med_bush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_decoration({
name = "naturalbiomes:med_flower1",
deco_type = "simple",
place_on = {"naturalbiomes:mediterranean_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 4,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:med_flower1",
spawn_by = "naturalbiomes:mediterran_litter"
})
minetest.register_node("naturalbiomes:med_flower1", {
description = S"Mediterranean Flower",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_mediterran_flower1.png"},
inventory_image = "naturalbiomes_mediterran_flower1.png",
wield_image = "naturalbiomes_mediterran_flower1.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:med_flower2",
deco_type = "simple",
place_on = {"naturalbiomes:mediterran_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 4,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:med_flower2",
spawn_by = "naturalbiomes:mediterran_litter"
})
minetest.register_node("naturalbiomes:med_flower2", {
description = S"Mediterranean Flower",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_mediterran_flower2.png"},
inventory_image = "naturalbiomes_mediterran_flower2.png",
wield_image = "naturalbiomes_mediterran_flower2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:med_flower3",
deco_type = "simple",
place_on = {"naturalbiomes:mediterran_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 4,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:med_flower3",
spawn_by = "naturalbiomes:mediterran_litter"
})
minetest.register_node("naturalbiomes:med_flower3", {
description = S"Lavender",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_mediterran_flower3.png"},
inventory_image = "naturalbiomes_mediterran_flower3.png",
wield_image = "naturalbiomes_mediterran_flower3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:med_grass1",
deco_type = "simple",
place_on = {"naturalbiomes:mediterran_litter"},
sidelen = 16,
fill_ratio = 0.075,
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:med_grass1",
spawn_by = "naturalbiomes:mediterran_litter"
})
minetest.register_node("naturalbiomes:med_grass1", {
description = S"Mediterranean Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_mediterran_grass.png"},
inventory_image = "naturalbiomes_mediterran_grass.png",
wield_image = "naturalbiomes_mediterran_grass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:med_grass2",
deco_type = "simple",
place_on = {"naturalbiomes:mediterran_litter"},
sidelen = 16,
fill_ratio = 0.075,
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:med_grass2",
spawn_by = "naturalbiomes:mediterran_litter"
})
minetest.register_node("naturalbiomes:med_grass2", {
description = S"Mediterranean Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_mediterran_grass2.png"},
inventory_image = "naturalbiomes_mediterran_grass2.png",
wield_image = "naturalbiomes_mediterran_grass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:med_ruin1",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.008,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 1,
persist = 0.1,
},
biomes = {"naturalbiomes:mediterranean"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_medruin1_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:med_ruin2",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.008,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 1,
persist = 0.1,
},
biomes = {"naturalbiomes:mediterranean"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_medruin2_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:med_ruin3",
deco_type = "schematic",
place_on = {"naturalbiomes:mediterran_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.008,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 1,
persist = 0.1,
},
biomes = {"naturalbiomes:mediterranean"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_medruin3_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Olives
minetest.register_node("naturalbiomes:olives", {
description = S("Fresh Olives"),
drawtype = "plantlike",
tiles = {"naturalbiomes__fresholives.png"},
inventory_image = "naturalbiomes__fresholives.png",
wield_image = "naturalbiomes__fresholives.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1, winleafdecay_drop = 1, winleafdecay = 3
},
drop = "naturalbiomes:olives",
on_use = minetest.item_eat(6),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:olives", param2 = 1})
end
end
})

View file

@ -0,0 +1,4 @@
name = naturalbiomes
description = 7 New Biomes
depends = default, stairs, doors, xpanes
optional_depends = hunger_ng, ethereal

View file

@ -0,0 +1,698 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:outback_litter", {
description = S("Outback ground with grass"),
tiles = {"naturalbiomes_outbacklitter.png", "naturalbiomes_outback_ground.png",
{name = "naturalbiomes_outback_ground.png^naturalbiomes_outbacklitter_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "naturalbiomes:outback_ground",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
minetest.register_node("naturalbiomes:outback_rock", {
description = S("Outback Rock"),
tiles = {"naturalbiomes_outback_rock.png"},
groups = {cracky = 3, stone = 1},
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("naturalbiomes:outback_ground", {
description = S("Outback Ground Sand"),
tiles = {"naturalbiomes_outback_ground.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:outback",
node_top = "naturalbiomes:outback_litter",
depth_top = 1,
node_filler = "naturalbiomes:outback_ground",
depth_filler = 50,
node_riverbed = "default:clay",
depth_riverbed = 2,
node_dungeon = "default:sandstone",
node_dungeon_alt = "default:desert_stonebrick",
node_dungeon_stair = "stairs:stair_desert_stone",
y_max = 40,
y_min = 3,
heat_point = 82,
humidity_point = 32,
})
-- Schematics
minetest.register_decoration({
name = "naturalbiomes:outback_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.001,
biomes = {"naturalbiomes:outback"},
y_max = 31,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_outback_tree1_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:outback_tree2",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.00075,
biomes = {"naturalbiomes:outback"},
y_max = 31,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_outback_tree2_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:outback_bush",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 391,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 3,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_bush_small2_0_270.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
name = "naturalbiomes:outback_rockformation1",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = -1,
sidelen = 16,
fill_ratio = 0.00005,
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_rock1_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:outback_rockformation2",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = -2,
sidelen = 16,
fill_ratio = 0.00005,
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_rock2_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:outback_rockformation3",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = -3,
sidelen = 16,
fill_ratio = 0.00005,
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_rock3_0_90.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:outback_bush2",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 391,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 3,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_bush2_0_90.mts",
flags = "place_center_x, place_center_z",
})
-- Tree generation
--
-- New outback tree
local function grow_new_outback_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 4, y = pos.y - 0, z = pos.z - 4}, modpath.."/schematics/naturalbiomes_outback_tree1_0_90.mts", "0", nil, false)
end
-- outback trunk
minetest.register_node("naturalbiomes:outback_trunk", {
description = S("Outback Eucalyptus Trunk"),
tiles = {
"naturalbiomes_outbackeukalyptus_trunk_top.png",
"naturalbiomes_outbackeukalyptus_trunk_top.png",
"naturalbiomes_outbackeucalyptus_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- outback wood
minetest.register_node("naturalbiomes:outback_wood", {
description = S("Outback Eucalyptus Wood"),
tiles = {"naturalbiomes_outback_eukalyptus_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:outback_wood 4",
recipe = {{"naturalbiomes:outback_trunk"}}
})
minetest.register_node("naturalbiomes:outback_leaves", {
description = S("Outback Eucalyptus Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_outbackeukalyptus_leaves.png"},
special_tiles = {"naturalbiomes_outbackeukalyptus_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:outback_sapling'},
rarity = 50,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:outback_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:outback_sapling", {
description = S("Outback Eucalyptus Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_outbackeukaplyptus_sapling.png"},
inventory_image = "naturalbiomes_outbackeukaplyptus_sapling.png",
wield_image = "naturalbiomes_outbackeukaplyptus_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_outback_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:outback_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_outback_eukalyptus_wood",
"naturalbiomes:outback_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_outback_eukalyptus_wood.png"},
S("Outback Eucalyptus Stair"),
S("Outback Eucalyptus Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_outbackeucalyptus_trunk",
"naturalbiomes:outback_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_outbackeukalyptus_trunk_top.png", "naturalbiomes_outbackeukalyptus_trunk_top.png", "naturalbiomes_outbackeucalyptus_trunk.png"},
S("Outback Eucalyptus Trunk Stair"),
S("Outback Eucalyptus Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_outback_wood",
{
description = S("Outback Eucalyptus Wood Fence Gate"),
texture = "naturalbiomes_outback_eukalyptus_wood.png",
material = "naturalbiomes:outback_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_outback_wood",
{
description = S("Outback Eucalyptus Fence"),
texture = "naturalbiomes_eukalyptus_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_outback_eukalyptus_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_outback_eukalyptus_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:outback_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_outback_wood",
{
description = S("Outback Eucalyptus Fence Rail"),
texture = "naturalbiomes_eukalyptus_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_outback_eukalyptus_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_outback_eukalyptus_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:outback_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:outback_log",
deco_type = "schematic",
place_on = {"naturalbiomes:outback_litter"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0002,
scale = 0.0005,
spread = {x = 550, y = 550, z = 550},
seed = 2,
octaves = 3,
persist = 0.36
},
biomes = {"naturalbiomes:outback"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_outback_log_0_90.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "naturalbiomes:outback_litter",
num_spawn_by = 2,
})
-- Outback Bush
-- New outback bush
local function grow_new_outback_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 2, y = pos.y - 0, z = pos.z - 2}, modpath.."/schematics/naturalbiomes_outback_bush_small2_0_270.mts", "0", nil, false)
end
minetest.register_node("naturalbiomes:outback_bush_stem", {
description = S("Outback Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"naturalbiomes_outback_bush_stem.png"},
inventory_image = "naturalbiomes_outback_bush_stem.png",
wield_image = "naturalbiomes_outback_bush_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:outback_bush_leaves", {
description = S("Outback Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_outbackbush_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:outback_bush_sapling"}, rarity = 50},
{items = {"naturalbiomes:outback_bush_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:outback_bush_sapling", {
description = S("Outback Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_outback_bush_stem.png"},
inventory_image = "naturalbiomes_outback_bush_stem.png",
wield_image = "naturalbiomes_outback_bush_stem.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_outback_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:outback_bush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 4,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:outback_grass",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_outbackgrass.png"},
inventory_image = "naturalbiomes_outbackgrass.png",
wield_image = "naturalbiomes_outbackgrass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass2",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 500, y = 500, z = 500},
seed = 687,
octaves = 3,
persist = 2,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:outback_grass2",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass2", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_outbackgrass2.png"},
inventory_image = "naturalbiomes_outbackgrass2.png",
wield_image = "naturalbiomes_outbackgrass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass3",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 500, y = 500, z = 500},
seed = 6072,
octaves = 2,
persist = 3,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:outback_grass3",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass3", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_outbackgrass3.png"},
inventory_image = "naturalbiomes_outbackgrass3.png",
wield_image = "naturalbiomes_outbackgrass3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass4",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 500, y = 500, z = 500},
seed = 457,
octaves = 3,
persist = 1,
},
y_max = 31000,
y_min = 1,
decoration = "naturalbiomes:outback_grass4",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass4", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_outbackgrass4.png"},
inventory_image = "naturalbiomes_outbackgrass4.png",
wield_image = "naturalbiomes_outbackgrass4.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass5",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 4602,
octaves = 6,
persist = 1,
},
y_max = 31000,
y_min = 1,
decoration = "naturalbiomes:outback_grass5",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass5", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
noise_params = {
offset = -0.03,
scale = 0.15,
spread = {x = 500, y = 500, z = 500},
seed = 457,
octaves = 3,
persist = 1,
},
tiles = {"naturalbiomes_outbackgrass5.png"},
inventory_image = "naturalbiomes_outbackgrass5.png",
wield_image = "naturalbiomes_outbackgrass5.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:outback_grass6",
deco_type = "simple",
place_on = {"naturalbiomes:outback_litter"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 3602,
octaves = 5,
persist = 1,
},
y_max = 30000,
y_min = 1,
decoration = "naturalbiomes:outback_grass6",
spawn_by = "naturalbiomes:outback_litter"
})
minetest.register_node("naturalbiomes:outback_grass6", {
description = S"Outback Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_outbackgrass6.png"},
inventory_image = "naturalbiomes_outbackgrass6.png",
wield_image = "naturalbiomes_outbackgrass6.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_node("naturalbiomes:outback_rockformation1", {
description = S("Outback Rock Formation"),
tiles = {"naturalbiomes_beach_rock.png"},
groups = {cracky = 3, stone = 1},
drop = "naturalbiomes:palmbeach_rock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})

View file

@ -0,0 +1,668 @@
local S = minetest.get_translator("naturalbiomes")
local modname = "naturalbiomes"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
minetest.register_node("naturalbiomes:palmbeach_sand", {
description = S("Beach Sand"),
tiles = {"naturalbiomes_beach_sand.png"},
groups = {crumbly = 3, sand = 1, falling_node = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_biome({
name = "naturalbiomes:palmbeach",
node_top = "naturalbiomes:palmbeach_sand",
depth_top = 3,
node_filler = "default:sandstone",
depth_filler = 5,
node_riverbed = "naturalbiomes:palmbeach_sand",
depth_riverbed = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone",
y_max = 5,
y_min = -1,
heat_point = 86,
humidity_point = 78,
})
minetest.register_node("naturalbiomes:palmbeach_rock", {
description = S("Beach Rock"),
tiles = {"naturalbiomes_beach_rock.png"},
groups = {cracky = 3, stone = 1},
drop = "naturalbiomes:palmbeach_rock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_decoration({
name = "naturalbiomes:beach_rock",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:palmbeach"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_beachrock_large_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:beach_rock2",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:palmbeach"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_beachrock_small_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:beach_rock3",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = -2,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:palmbeach"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_beachrock_medium2_0_180.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "naturalbiomes:beach_rock4",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = -2,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:palmbeach"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_beachrock_medium_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Tree generation
--
-- New palm tree
local function grow_new_palm_tree(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 4, y = pos.y - 0, z = pos.z - 4}, modpath.."/schematics/naturalbiomes_cocopalm_tree_0_270.mts", "0", nil, false)
end
-- palm trunk
minetest.register_node("naturalbiomes:palm_trunk", {
description = S("Coconut Palm Trunk"),
tiles = {
"naturalbiomes_savannapalm_trunk_top.png",
"naturalbiomes_savannapalm_trunk_top.png",
"naturalbiomes_savannapalm_trunk.png"
},
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
on_place = minetest.rotate_node,
})
-- palm wood
minetest.register_node("naturalbiomes:palm_wood", {
description = S("Coconut Palm Wood"),
tiles = {"naturalbiomes_savannapalm_wood.png"},
is_ground_content = false,
groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "naturalbiomes:palm_wood 4",
recipe = {{"naturalbiomes:palm_trunk"}}
})
minetest.register_node("naturalbiomes:palm_leaves", {
description = S("Coconut Palm Leaves"),
drawtype = "allfaces_optional",
waving = 1,
tiles = {"naturalbiomes_savannapalm_leaves.png"},
special_tiles = {"naturalbiomes_savannapalm_leaves.png"},
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{
-- player will get sapling with 1/50 chance
items = {'naturalbiomes:palm_sapling'},
rarity = 35,
},
{
-- player will get leaves only if he get no saplings,
-- this is because max_items is 1
items = {'naturalbiomes:palm_leaves'},
}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("naturalbiomes:palm_sapling", {
description = S("Coconut Palm Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_savannapalm_sapling.png"},
inventory_image = "naturalbiomes_savannapalm_sapling.png",
wield_image = "naturalbiomes_savannapalm_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_palm_tree,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:palm_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
stairs.register_stair_and_slab(
"naturalbiomes_savannapalm_wood",
"naturalbiomes:palm_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_savannapalm_wood.png"},
S("Coconut Palm Stair"),
S("Coconut Palm Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"naturalbiomes_savannapalm_trunk",
"naturalbiomes:palm_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"naturalbiomes_savannapalm_trunk_top.png", "naturalbiomes_savannapalm_trunk_top.png", "naturalbiomes_savannapalm_trunk.png"},
S("Coconut Palm Trunk Stair"),
S("Coconut Palm Trunk Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"naturalbiomes:gate_palm_wood",
{
description = S("Coconut Palm Wood Fence Gate"),
texture = "naturalbiomes_savannapalm_wood.png",
material = "naturalbiomes:palm_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"naturalbiomes:fence_palm_wood",
{
description = S("Coconut Palm Fence"),
texture = "naturalbiomes_palm_fence_wood.png",
inventory_image = "default_fence_overlay.png^naturalbiomes_savannapalm_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^naturalbiomes_savannapalm_wood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:palm_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"naturalbiomes:fence_rail_palm_wood",
{
description = S("Coconut Palm Fence Rail"),
texture = "naturalbiomes_palm_fence_wood.png",
inventory_image = "default_fence_rail_overlay.png^naturalbiomes_savannapalm_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^naturalbiomes_savannapalm_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "naturalbiomes:palm_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
minetest.register_decoration({
name = "naturalbiomes:palm_tree",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = 0,
sidelen = 16,
fill_ratio = 0.01115,
biomes = {"naturalbiomes:palmbeach"},
y_max = 5,
y_min = 2,
schematic = minetest.get_modpath("naturalbiomes").."/schematics/naturalbiomes_cocopalm_tree_0_270.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Beach Bush
-- New palm buh
local function grow_new_palm_bush(pos)
if not default.can_grow(pos) then
-- try a bit later again
minetest.get_node_timer(pos):start(math.random(240, 600))
return
end
minetest.remove_node(pos)
minetest.place_schematic({x = pos.x - 1, y = pos.y - 0, z = pos.z - 1}, modpath.."/schematics/naturalbiomes_beach_bush_0_270.mts", "0", nil, false)
end
minetest.register_decoration({
name = "naturalbiomes:beach_bush",
deco_type = "schematic",
place_on = {"naturalbiomes:palmbeach_sand"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.06,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"naturalbiomes:palmbeach"},
y_max = 31000,
y_min = 3,
schematic = minetest.get_modpath("naturalbiomes") .. "/schematics/naturalbiomes_beach_bush_0_270.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_node("naturalbiomes:beach_bush_stem", {
description = S("Beach Bush Stem"),
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"naturalbiomes_beach_bush_stem.png"},
inventory_image = "naturalbiomes_beach_bush_stem.png",
wield_image = "naturalbiomes_beach_bush_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("naturalbiomes:beach_bush_leaves", {
description = S("Beach Bush Leaves"),
drawtype = "allfaces_optional",
tiles = {"naturalbiomes_beach_bush_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1, winleafdecay = 3},
drop = {
max_items = 1,
items = {
{items = {"naturalbiomes:beach_bush_sapling"}, rarity = 3},
{items = {"naturalbiomes:beach_bush_leaves"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = after_place_leaves,
})
minetest.register_node("naturalbiomes:beach_bush_sapling", {
description = S("Beach Bush Sapling"),
drawtype = "plantlike",
tiles = {"naturalbiomes_beach_bush_stem.png"},
inventory_image = "naturalbiomes_beach_bush_stem.png",
wield_image = "naturalbiomes_beach_bush_stem.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = grow_new_palm_bush,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"naturalbiomes:beach_bush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_decoration({
name = "naturalbiomes:palmbeach_grass1",
deco_type = "simple",
place_on = {"naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 1987,
octaves = 3,
persist = 2,
},
y_max = 30000,
y_min = 2,
decoration = "naturalbiomes:palmbeach_grass1",
spawn_by = "naturalbiomes:palmbeach_sand"
})
minetest.register_node("naturalbiomes:palmbeach_grass1", {
description = S"Palmbeach Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_beach_grass.png"},
inventory_image = "naturalbiomes_beach_grass.png",
wield_image = "naturalbiomes_beach_grass.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:palmbeach_grass2",
deco_type = "simple",
place_on = {"naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 834,
octaves = 3,
persist = 2,
},
y_max = 30000,
y_min = 2,
decoration = "naturalbiomes:palmbeach_grass2",
spawn_by = "naturalbiomes:palmbeach_sand"
})
minetest.register_node("naturalbiomes:palmbeach_grass2", {
description = S"Palmbeach Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_beach_grass2.png"},
inventory_image = "naturalbiomes_beach_grass2.png",
wield_image = "naturalbiomes_beach_grass2.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
minetest.register_decoration({
name = "naturalbiomes:palmbeach_grass3",
deco_type = "simple",
place_on = {"naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.03,
scale = 0.1,
spread = {x = 100, y = 100, z = 100},
seed = 834,
octaves = 3,
persist = 2,
},
y_max = 30000,
y_min = 2,
decoration = "naturalbiomes:palmbeach_grass3",
spawn_by = "naturalbiomes:palmbeach:_sand"
})
minetest.register_node("naturalbiomes:palmbeach_grass3", {
description = S"Palmbeach Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.0,
tiles = {"naturalbiomes_beach_grass3.png"},
inventory_image = "naturalbiomes_beach_grass3.png",
wield_image = "naturalbiomes_beach_grass3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, beautiflowers = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
})
-- Banana Bunch
minetest.register_node("naturalbiomes:banana_bunch", {
description = S("Banana Bunch"),
drawtype = "plantlike",
tiles = {"naturalbiomes_banana_bunch.png"},
inventory_image = "naturalbiomes_banana_bunch.png",
wield_image = "naturalbiomes_banana_bunch.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1, winleafdecay_drop = 1, winleafdecay = 3
},
drop = "naturalbiomes:banana_bunch",
on_use = minetest.item_eat(6),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:banana_bunch", param2 = 1})
end
end
})
-- Bunch to Single
minetest.register_craft({
type = "shapeless",
output = "naturalbiomes:banana 3",
recipe = {"naturalbiomes:banana_bunch"}
})
minetest.register_craft({
type = "shapeless",
output = "naturalbiomes:banana_bunch",
recipe = {"naturalbiomes:banana", "naturalbiomes:banana", "naturalbiomes:banana"}
})
minetest.register_node("naturalbiomes:banana", {
description = S("Banana"),
drawtype = "torchlike",
tiles = {"naturalbiomes_banana_single.png"},
inventory_image = "naturalbiomes_banana_single.png",
wield_image = "naturalbiomes_banana_single.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "naturalbiomes:banana",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:banana", param2 = 1})
end
end
})
minetest.register_node("naturalbiomes:coconut_slice", {
description = S("Coconut Slice"),
drawtype = "torchlike",
tiles = {"naturalbiomes_coconut_slice.png"},
inventory_image = "naturalbiomes_coconut_slice.png",
wield_image = "naturalbiomes_coconut_slice.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
food_banana = 1, fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1
},
drop = "naturalbiomes:naturalbiomes:coconut_slice",
on_use = minetest.item_eat(2),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:coconut_slice", param2 = 1})
end
end
})
-- Coco
minetest.register_node("naturalbiomes:coconut", {
description = S("Coconut"),
drawtype = "plantlike",
tiles = {"naturalbiomes_coconut.png"},
inventory_image = "naturalbiomes_coconut.png",
wield_image = "naturalbiomes_coconut.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {
fleshy = 3, dig_immediate = 3, flammable = 2,
leafdecay = 1, leafdecay_drop = 1, winleafdecay_drop = 1, winleafdecay = 3
},
drop = "naturalbiomes:coconut",
on_use = minetest.item_eat(6),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "naturalbiomes:coconut", param2 = 1})
end
end
})
-- Bunch to Single
minetest.register_craft({
type = "shapeless",
output = "naturalbiomes:coconut_bunch",
recipe = {"naturalbiomes:coconut_slice", "naturalbiomes:coconut_slice", "naturalbiomes:coconut_slice"}
})

View file

@ -0,0 +1,10 @@
#naturalbiomes settings
#If enabled, will clear all registered biomes.
naturalbiomes.clear_biomes (Enable to clear registered biomes. true / false) bool true
#If enabled, will clear all registered decorations.
naturalbiomes.clear_decos (Enable to clear registered decorations. true / false) bool true
#If enabled, will clear all registered ores.
naturalbiomes.clear_ores (Enable to clear registered ores. true / false) bool false

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Some files were not shown because too many files have changed in this diff Show more