capturetheflag/mods/mtg/default/nodes.lua

2240 lines
61 KiB
Lua
Raw Normal View History

2015-07-16 17:44:01 +00:00
-- mods/default/nodes.lua
2017-10-06 00:25:34 +00:00
--[[ Node name convention:
Although many node names are in combined-word form, the required form for new
node names is words separated by underscores. If both forms are used in written
language (for example pinewood and pine wood) the underscore form should be used.
--]]
2015-07-16 17:44:01 +00:00
--[[ Index:
Stone
-----
2017-10-06 00:25:34 +00:00
(1. Material 2. Cobble variant 3. Brick variant 4. Modified forms)
2015-07-16 17:44:01 +00:00
default:stone
default:cobble
default:stonebrick
2017-10-06 00:25:34 +00:00
default:stone_block
2015-07-16 17:44:01 +00:00
default:mossycobble
default:desert_stone
default:desert_cobble
default:desert_stonebrick
2017-10-06 00:25:34 +00:00
default:desert_stone_block
2015-07-16 17:44:01 +00:00
default:sandstone
default:sandstonebrick
2017-10-06 00:25:34 +00:00
default:sandstone_block
default:desert_sandstone
default:desert_sandstone_brick
default:desert_sandstone_block
default:silver_sandstone
default:silver_sandstone_brick
default:silver_sandstone_block
2015-07-16 17:44:01 +00:00
default:obsidian
default:obsidianbrick
2017-10-06 00:25:34 +00:00
default:obsidian_block
2015-07-16 17:44:01 +00:00
Soft / Non-Stone
----------------
2017-10-06 00:25:34 +00:00
(1. Material 2. Modified forms)
2015-07-16 17:44:01 +00:00
default:dirt
default:dirt_with_grass
default:dirt_with_grass_footsteps
2017-10-06 00:25:34 +00:00
default:dirt_with_dry_grass
2015-07-16 17:44:01 +00:00
default:dirt_with_snow
2017-10-06 00:25:34 +00:00
default:dirt_with_rainforest_litter
2019-01-08 21:24:35 +00:00
default:dirt_with_coniferous_litter
default:dry_dirt
default:dry_dirt_with_dry_grass
2019-01-08 21:24:35 +00:00
default:permafrost
default:permafrost_with_stones
default:permafrost_with_moss
2015-07-16 17:44:01 +00:00
default:sand
default:desert_sand
2017-10-06 00:25:34 +00:00
default:silver_sand
2015-07-16 17:44:01 +00:00
default:gravel
default:clay
default:snow
default:snowblock
default:ice
2019-01-08 21:24:35 +00:00
default:cave_ice
2015-07-16 17:44:01 +00:00
Trees
-----
2017-10-06 00:25:34 +00:00
(1. Trunk 2. Fabricated trunk 3. Leaves 4. Sapling 5. Fruits)
2015-07-16 17:44:01 +00:00
default:tree
default:wood
default:leaves
default:sapling
default:jungletree
default:junglewood
default:jungleleaves
default:junglesapling
2019-01-08 21:24:35 +00:00
default:emergent_jungle_sapling
2015-07-16 17:44:01 +00:00
2017-10-06 00:25:34 +00:00
default:pine_tree
default:pine_wood
2015-07-16 17:44:01 +00:00
default:pine_needles
default:pine_sapling
2017-10-06 00:25:34 +00:00
default:acacia_tree
default:acacia_wood
default:acacia_leaves
default:acacia_sapling
default:aspen_tree
default:aspen_wood
default:aspen_leaves
default:aspen_sapling
2015-07-16 17:44:01 +00:00
Ores
----
2017-10-06 00:25:34 +00:00
(1. In stone 2. Blocks)
2015-07-16 17:44:01 +00:00
default:stone_with_coal
default:coalblock
default:stone_with_iron
default:steelblock
default:stone_with_copper
default:copperblock
2017-10-06 00:25:34 +00:00
default:stone_with_tin
default:tinblock
2015-07-16 17:44:01 +00:00
default:bronzeblock
default:stone_with_gold
default:goldblock
default:stone_with_mese
default:mese
default:stone_with_diamond
default:diamondblock
2017-10-06 00:25:34 +00:00
Plantlife
---------
2015-07-16 17:44:01 +00:00
default:cactus
2019-01-08 21:24:35 +00:00
default:large_cactus_seedling
2015-07-16 17:44:01 +00:00
default:papyrus
default:dry_shrub
default:junglegrass
2017-10-06 00:25:34 +00:00
2015-07-16 17:44:01 +00:00
default:grass_1
default:grass_2
default:grass_3
default:grass_4
default:grass_5
2017-10-06 00:25:34 +00:00
default:dry_grass_1
default:dry_grass_2
default:dry_grass_3
default:dry_grass_4
default:dry_grass_5
2019-01-08 21:24:35 +00:00
default:fern_1
default:fern_2
default:fern_3
default:marram_grass_1
default:marram_grass_2
default:marram_grass_3
2017-10-06 00:25:34 +00:00
default:bush_stem
default:bush_leaves
default:bush_sapling
default:acacia_bush_stem
default:acacia_bush_leaves
default:acacia_bush_sapling
2019-01-08 21:24:35 +00:00
default:pine_bush_stem
default:pine_bush_needles
default:pine_bush_sapling
default:blueberry_bush_leaves_with_berries
default:blueberry_bush_leaves
default:blueberry_bush_sapling
default:sand_with_kelp
2017-10-06 00:25:34 +00:00
Corals
------
default:coral_brown
default:coral_orange
default:coral_skeleton
2015-07-16 17:44:01 +00:00
Liquids
-------
(1. Source 2. Flowing)
default:water_source
default:water_flowing
default:river_water_source
default:river_water_flowing
default:lava_source
default:lava_flowing
Tools / "Advanced" crafting / Non-"natural"
-------------------------------------------
2017-10-06 00:25:34 +00:00
2015-07-16 17:44:01 +00:00
default:bookshelf
2017-10-06 00:25:34 +00:00
default:sign_wall_wood
default:sign_wall_steel
default:ladder_wood
default:ladder_steel
2015-07-16 17:44:01 +00:00
default:fence_wood
2017-10-06 00:25:34 +00:00
default:fence_acacia_wood
default:fence_junglewood
default:fence_pine_wood
default:fence_aspen_wood
2015-07-16 17:44:01 +00:00
default:glass
default:obsidian_glass
default:brick
default:meselamp
2017-10-06 00:25:34 +00:00
default:mese_post_light
2015-07-16 17:44:01 +00:00
Misc
----
2017-10-06 00:25:34 +00:00
2015-07-16 17:44:01 +00:00
default:cloud
--]]
--
-- Stone
--
minetest.register_node("default:stone", {
description = "Stone",
tiles = {"default_stone.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, stone = 1},
2015-07-16 17:44:01 +00:00
drop = 'default:cobble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:cobble", {
description = "Cobblestone",
tiles = {"default_cobble.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, stone = 2},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stonebrick", {
description = "Stone Brick",
2017-10-06 00:25:34 +00:00
paramtype2 = "facedir",
place_param2 = 0,
2015-07-16 17:44:01 +00:00
tiles = {"default_stone_brick.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stone_block", {
description = "Stone Block",
tiles = {"default_stone_block.png"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:mossycobble", {
description = "Mossy Cobblestone",
tiles = {"default_mossycobble.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, stone = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:desert_stone", {
description = "Desert Stone",
tiles = {"default_desert_stone.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, stone = 1},
2015-07-16 17:44:01 +00:00
drop = 'default:desert_cobble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:desert_cobble", {
description = "Desert Cobblestone",
tiles = {"default_desert_cobble.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, stone = 2},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:desert_stonebrick", {
description = "Desert Stone Brick",
2017-10-06 00:25:34 +00:00
paramtype2 = "facedir",
place_param2 = 0,
2015-07-16 17:44:01 +00:00
tiles = {"default_desert_stone_brick.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 2, stone = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:desert_stone_block", {
description = "Desert Stone Block",
tiles = {"default_desert_stone_block.png"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:sandstone", {
description = "Sandstone",
tiles = {"default_sandstone.png"},
2017-10-06 00:25:34 +00:00
groups = {crumbly = 1, cracky = 3},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:sandstonebrick", {
description = "Sandstone Brick",
2017-10-06 00:25:34 +00:00
paramtype2 = "facedir",
place_param2 = 0,
2015-07-16 17:44:01 +00:00
tiles = {"default_sandstone_brick.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 2},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:sandstone_block", {
description = "Sandstone Block",
tiles = {"default_sandstone_block.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
2015-07-16 17:44:01 +00:00
2017-10-06 00:25:34 +00:00
minetest.register_node("default:desert_sandstone", {
description = "Desert Sandstone",
tiles = {"default_desert_sandstone.png"},
groups = {crumbly = 1, cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:desert_sandstone_brick", {
description = "Desert Sandstone Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_desert_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:desert_sandstone_block", {
description = "Desert Sandstone Block",
tiles = {"default_desert_sandstone_block.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:silver_sandstone", {
description = "Silver Sandstone",
tiles = {"default_silver_sandstone.png"},
groups = {crumbly = 1, cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:silver_sandstone_brick", {
description = "Silver Sandstone Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_silver_sandstone_brick.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:silver_sandstone_block", {
description = "Silver Sandstone Block",
tiles = {"default_silver_sandstone_block.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
minetest.register_node("default:obsidian", {
description = "Obsidian",
tiles = {"default_obsidian.png"},
sounds = default.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
minetest.register_node("default:obsidianbrick", {
description = "Obsidian Brick",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_obsidian_brick.png"},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
minetest.register_node("default:obsidian_block", {
description = "Obsidian Block",
tiles = {"default_obsidian_block.png"},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
groups = {cracky = 1, level = 2},
})
2015-07-16 17:44:01 +00:00
--
-- Soft / Non-Stone
--
minetest.register_node("default:dirt", {
description = "Dirt",
tiles = {"default_dirt.png"},
2017-10-06 00:25:34 +00:00
groups = {crumbly = 3, soil = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:dirt_with_grass", {
description = "Dirt with Grass",
2017-10-06 00:25:34 +00:00
tiles = {"default_grass.png", "default_dirt.png",
{name = "default_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
2015-07-16 17:44:01 +00:00
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
2017-10-06 00:25:34 +00:00
footstep = {name = "default_grass_footstep", gain = 0.25},
2015-07-16 17:44:01 +00:00
}),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:dirt_with_grass_footsteps", {
description = "Dirt with Grass and Footsteps",
tiles = {"default_grass.png^default_footprint.png", "default_dirt.png",
{name = "default_dirt.png^default_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, not_in_creative_inventory = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:dirt_with_dry_grass", {
description = "Dirt with Dry Grass",
tiles = {"default_dry_grass.png",
"default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
2015-07-16 17:44:01 +00:00
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
2017-10-06 00:25:34 +00:00
footstep = {name = "default_grass_footstep", gain = 0.4},
2015-07-16 17:44:01 +00:00
}),
})
minetest.register_node("default:dirt_with_snow", {
description = "Dirt with Snow",
2017-10-06 00:25:34 +00:00
tiles = {"default_snow.png", "default_dirt.png",
{name = "default_dirt.png^default_snow_side.png",
tileable_vertical = false}},
2019-01-08 21:24:35 +00:00
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1},
2015-07-16 17:44:01 +00:00
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
2019-01-08 21:24:35 +00:00
footstep = {name = "default_snow_footstep", gain = 0.2},
2015-07-16 17:44:01 +00:00
}),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:dirt_with_rainforest_litter", {
description = "Dirt with Rainforest Litter",
tiles = {
"default_rainforest_litter.png",
"default_dirt.png",
{name = "default_dirt.png^default_rainforest_litter_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.4},
}),
})
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
minetest.register_node("default:dirt_with_coniferous_litter", {
description = "Dirt with Coniferous Litter",
tiles = {
"default_coniferous_litter.png",
"default_dirt.png",
{name = "default_dirt.png^default_coniferous_litter_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.4},
}),
})
minetest.register_node("default:dry_dirt", {
description = "Savanna Dirt",
tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:dry_dirt_with_dry_grass", {
description = "Savanna Dirt with Savanna Grass",
tiles = {"default_dry_grass.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1},
drop = "default:dry_dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4},
}),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:permafrost", {
description = "Permafrost",
tiles = {"default_permafrost.png"},
groups = {cracky = 3, crumbly = 2},
2019-01-08 21:24:35 +00:00
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:permafrost_with_stones", {
description = "Permafrost with Stones",
tiles = {"default_permafrost.png^default_stones.png",
"default_permafrost.png"},
groups = {cracky = 3, crumbly = 2},
2019-01-08 21:24:35 +00:00
drop = "default:permafrost",
sounds = default.node_sound_gravel_defaults(),
})
minetest.register_node("default:permafrost_with_moss", {
description = "Permafrost with Moss",
tiles = {"default_moss.png", "default_permafrost.png",
{name = "default_permafrost.png^default_moss_side.png",
tileable_vertical = false}},
groups = {cracky = 3, crumbly = 2},
2019-01-08 21:24:35 +00:00
drop = "default:permafrost",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.25},
}),
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:sand", {
description = "Sand",
tiles = {"default_sand.png"},
2019-03-05 18:04:19 +00:00
groups = {crumbly = 3, sand = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("default:desert_sand", {
description = "Desert Sand",
tiles = {"default_desert_sand.png"},
2019-03-05 18:04:19 +00:00
groups = {crumbly = 3, sand = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_sand_defaults(),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:silver_sand", {
description = "Silver Sand",
tiles = {"default_silver_sand.png"},
2019-03-05 18:04:19 +00:00
groups = {crumbly = 3, sand = 1},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_sand_defaults(),
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:gravel", {
description = "Gravel",
tiles = {"default_gravel.png"},
2019-03-05 18:04:19 +00:00
groups = {crumbly = 2},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_gravel_defaults(),
})
minetest.register_node("default:clay", {
description = "Clay",
tiles = {"default_clay.png"},
groups = {crumbly = 3},
drop = 'default:clay_lump 4',
sounds = default.node_sound_dirt_defaults(),
2015-07-16 17:44:01 +00:00
})
2017-10-06 00:25:34 +00:00
2015-07-16 17:44:01 +00:00
minetest.register_node("default:snow", {
description = "Snow",
tiles = {"default_snow.png"},
inventory_image = "default_snowball.png",
wield_image = "default_snowball.png",
paramtype = "light",
buildable_to = true,
2017-10-06 00:25:34 +00:00
floodable = true,
2015-07-16 17:44:01 +00:00
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
2017-10-06 00:25:34 +00:00
{-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
2015-07-16 17:44:01 +00:00
},
},
2019-01-08 21:24:35 +00:00
collision_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -7 / 16, 0.5},
},
},
2019-11-05 12:25:49 +00:00
groups = {crumbly = 3, snowy = 1},
2019-01-08 21:24:35 +00:00
sounds = default.node_sound_snow_defaults(),
2015-07-16 17:44:01 +00:00
on_construct = function(pos)
pos.y = pos.y - 1
if minetest.get_node(pos).name == "default:dirt_with_grass" then
2017-10-06 00:25:34 +00:00
minetest.set_node(pos, {name = "default:dirt_with_snow"})
2015-07-16 17:44:01 +00:00
end
end,
})
minetest.register_node("default:snowblock", {
description = "Snow Block",
tiles = {"default_snow.png"},
2019-11-05 12:25:49 +00:00
groups = {crumbly = 3, cools_lava = 1, snowy = 1},
2019-01-08 21:24:35 +00:00
sounds = default.node_sound_snow_defaults(),
2015-07-16 17:44:01 +00:00
2017-10-06 00:25:34 +00:00
on_construct = function(pos)
pos.y = pos.y - 1
if minetest.get_node(pos).name == "default:dirt_with_grass" then
minetest.set_node(pos, {name = "default:dirt_with_snow"})
end
end,
})
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
-- 'is ground content = false' to avoid tunnels in sea ice or ice rivers
2015-07-16 17:44:01 +00:00
minetest.register_node("default:ice", {
description = "Ice",
tiles = {"default_ice.png"},
is_ground_content = false,
paramtype = "light",
2019-03-05 13:00:05 +00:00
groups = {cracky = 3, cools_lava = 1, slippery = 4},
2019-01-08 21:24:35 +00:00
sounds = default.node_sound_glass_defaults(),
})
-- Mapgen-placed ice with 'is ground content = true' to contain tunnels
minetest.register_node("default:cave_ice", {
description = "Cave Ice",
tiles = {"default_ice.png"},
paramtype = "light",
2019-03-05 13:00:05 +00:00
groups = {cracky = 3, cools_lava = 1, slippery = 4,
2019-01-08 21:24:35 +00:00
not_in_creative_inventory = 1},
drop = "default:ice",
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_glass_defaults(),
})
--
-- Trees
--
minetest.register_node("default:tree", {
2019-01-08 21:24:35 +00:00
description = "Apple Tree",
2015-07-16 17:44:01 +00:00
tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("default:wood", {
2019-01-08 21:24:35 +00:00
description = "Apple Wood Planks",
2017-10-06 00:25:34 +00:00
paramtype2 = "facedir",
place_param2 = 0,
2015-07-16 17:44:01 +00:00
tiles = {"default_wood.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:leaves", {
2019-01-08 21:24:35 +00:00
description = "Apple Tree Leaves",
2015-07-16 17:44:01 +00:00
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_leaves.png"},
2017-10-06 00:25:34 +00:00
special_tiles = {"default_leaves_simple.png"},
2015-07-16 17:44:01 +00:00
paramtype = "light",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("default:jungletree", {
description = "Jungle Tree",
2017-10-06 00:25:34 +00:00
tiles = {"default_jungletree_top.png", "default_jungletree_top.png",
"default_jungletree.png"},
2015-07-16 17:44:01 +00:00
paramtype2 = "facedir",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("default:junglewood", {
2017-10-06 00:25:34 +00:00
description = "Jungle Wood Planks",
paramtype2 = "facedir",
place_param2 = 0,
2015-07-16 17:44:01 +00:00
tiles = {"default_junglewood.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:jungleleaves", {
2019-01-08 21:24:35 +00:00
description = "Jungle Tree Leaves",
2015-07-16 17:44:01 +00:00
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_jungleleaves.png"},
2017-10-06 00:25:34 +00:00
special_tiles = {"default_jungleleaves_simple.png"},
2015-07-16 17:44:01 +00:00
paramtype = "light",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:pine_tree", {
2015-07-16 17:44:01 +00:00
description = "Pine Tree",
2017-10-06 00:25:34 +00:00
tiles = {"default_pine_tree_top.png", "default_pine_tree_top.png",
"default_pine_tree.png"},
2015-07-16 17:44:01 +00:00
paramtype2 = "facedir",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:pine_wood", {
description = "Pine Wood Planks",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_pine_wood.png"},
2015-07-16 17:44:01 +00:00
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:pine_needles",{
description = "Pine Needles",
drawtype = "allfaces_optional",
tiles = {"default_pine_needles.png"},
waving = 1,
paramtype = "light",
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
2019-01-08 21:24:35 +00:00
2017-10-06 00:25:34 +00:00
minetest.register_node("default:acacia_tree", {
description = "Acacia Tree",
tiles = {"default_acacia_tree_top.png", "default_acacia_tree_top.png",
"default_acacia_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("default:acacia_wood", {
description = "Acacia Wood Planks",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_acacia_wood.png"},
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:acacia_leaves", {
2019-01-08 21:24:35 +00:00
description = "Acacia Tree Leaves",
2017-10-06 00:25:34 +00:00
drawtype = "allfaces_optional",
tiles = {"default_acacia_leaves.png"},
special_tiles = {"default_acacia_leaves_simple.png"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:aspen_tree", {
description = "Aspen Tree",
tiles = {"default_aspen_tree_top.png", "default_aspen_tree_top.png",
"default_aspen_tree.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
minetest.register_node("default:aspen_wood", {
description = "Aspen Wood Planks",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_aspen_wood.png"},
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:aspen_leaves", {
2019-01-08 21:24:35 +00:00
description = "Aspen Tree Leaves",
2017-10-06 00:25:34 +00:00
drawtype = "allfaces_optional",
tiles = {"default_aspen_leaves.png"},
waving = 1,
paramtype = "light",
is_ground_content = false,
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
2015-07-16 17:44:01 +00:00
--
-- Ores
--
minetest.register_node("default:stone_with_coal", {
description = "Coal Ore",
tiles = {"default_stone.png^default_mineral_coal.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 3},
2015-07-16 17:44:01 +00:00
drop = 'default:coal_lump',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:coalblock", {
description = "Coal Block",
tiles = {"default_coal_block.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 3},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stone_with_iron", {
description = "Iron Ore",
tiles = {"default_stone.png^default_mineral_iron.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 2},
2015-07-16 17:44:01 +00:00
drop = 'default:iron_lump',
sounds = default.node_sound_stone_defaults(),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:steelblock", {
description = "Steel Block",
tiles = {"default_steel_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(),
})
2021-01-06 20:54:59 +00:00
--[[ minetest.register_node("default:stone_with_copper", {
2015-07-16 17:44:01 +00:00
description = "Copper Ore",
tiles = {"default_stone.png^default_mineral_copper.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 2},
2015-07-16 17:44:01 +00:00
drop = 'default:copper_lump',
sounds = default.node_sound_stone_defaults(),
2021-01-06 20:54:59 +00:00
}) ]]
minetest.register_alias("default:stone_with_copper", "default:stone")
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
minetest.register_node("default:copperblock", {
description = "Copper Block",
tiles = {"default_copper_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(),
})
2021-01-06 20:54:59 +00:00
--[[ minetest.register_node("default:stone_with_tin", {
2017-10-06 00:25:34 +00:00
description = "Tin Ore",
tiles = {"default_stone.png^default_mineral_tin.png"},
groups = {cracky = 2},
drop = "default:tin_lump",
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_stone_defaults(),
2021-01-06 20:54:59 +00:00
}) ]]
minetest.register_alias("default:stone_with_tin", "default:stone")
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
minetest.register_node("default:tinblock", {
description = "Tin Block",
tiles = {"default_tin_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(),
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:bronzeblock", {
description = "Bronze Block",
tiles = {"default_bronze_block.png"},
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(),
2015-07-16 17:44:01 +00:00
})
2019-01-08 21:24:35 +00:00
2015-07-16 17:44:01 +00:00
minetest.register_node("default:stone_with_mese", {
description = "Mese Ore",
tiles = {"default_stone.png^default_mineral_mese.png"},
groups = {cracky = 1},
drop = "default:mese_crystal",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:mese", {
description = "Mese Block",
tiles = {"default_mese_block.png"},
paramtype = "light",
groups = {cracky = 1, level = 2},
sounds = default.node_sound_stone_defaults(),
light_source = 3,
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:stone_with_gold", {
description = "Gold Ore",
tiles = {"default_stone.png^default_mineral_gold.png"},
groups = {cracky = 2},
drop = "default:gold_lump",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:goldblock", {
description = "Gold Block",
tiles = {"default_gold_block.png"},
is_ground_content = false,
groups = {cracky = 1},
sounds = default.node_sound_metal_defaults(),
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:stone_with_diamond", {
description = "Diamond Ore",
tiles = {"default_stone.png^default_mineral_diamond.png"},
2017-10-06 00:25:34 +00:00
groups = {cracky = 1},
2015-07-16 17:44:01 +00:00
drop = "default:diamond",
sounds = default.node_sound_stone_defaults(),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:diamondblock", {
description = "Diamond Block",
tiles = {"default_diamond_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 3},
sounds = default.node_sound_stone_defaults(),
})
2015-07-16 17:44:01 +00:00
--
-- Plantlife (non-cubic)
--
minetest.register_node("default:cactus", {
description = "Cactus",
2017-10-06 00:25:34 +00:00
tiles = {"default_cactus_top.png", "default_cactus_top.png",
"default_cactus_side.png"},
2015-07-16 17:44:01 +00:00
paramtype2 = "facedir",
2017-10-06 00:25:34 +00:00
groups = {choppy = 3},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node,
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:large_cactus_seedling", {
description = "Large Cactus Seedling",
2015-07-16 17:44:01 +00:00
drawtype = "plantlike",
2019-01-08 21:24:35 +00:00
tiles = {"default_large_cactus_seedling.png"},
inventory_image = "default_large_cactus_seedling.png",
wield_image = "default_large_cactus_seedling.png",
2015-07-16 17:44:01 +00:00
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
2019-01-08 21:24:35 +00:00
fixed = {
-5 / 16, -0.5, -5 / 16,
5 / 16, 0.5, 5 / 16
}
2015-07-16 17:44:01 +00:00
},
2019-01-08 21:24:35 +00:00
groups = {choppy = 3, dig_immediate = 3, attached_node = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("default:papyrus", {
description = "Papyrus",
drawtype = "plantlike",
tiles = {"default_papyrus.png"},
inventory_image = "default_papyrus.png",
wield_image = "default_papyrus.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("default:dry_shrub", {
description = "Dry Shrub",
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_shrub.png"},
inventory_image = "default_dry_shrub.png",
wield_image = "default_dry_shrub.png",
paramtype = "light",
paramtype2 = "meshoptions",
place_param2 = 4,
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 4 / 16, 6 / 16},
},
})
minetest.register_node("default:junglegrass", {
description = "Jungle Grass",
drawtype = "plantlike",
waving = 1,
visual_scale = 1.69,
tiles = {"default_junglegrass.png"},
inventory_image = "default_junglegrass.png",
wield_image = "default_junglegrass.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 = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
})
minetest.register_node("default:grass_1", {
description = "Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_grass_1.png"},
-- Use texture of a taller grass stage in inventory
inventory_image = "default_grass_3.png",
wield_image = "default_grass_3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
-- place a random grass node
local stack = ItemStack("default:grass_" .. math.random(1,5))
local ret = minetest.item_place(stack, placer, pointed_thing)
return ItemStack("default:grass_1 " ..
itemstack:get_count() - (1 - ret:get_count()))
end,
})
for i = 2, 5 do
minetest.register_node("default:grass_" .. i, {
description = "Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_grass_" .. i .. ".png"},
inventory_image = "default_grass_" .. i .. ".png",
wield_image = "default_grass_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
drop = "default:grass_1",
groups = {snappy = 3, flora = 1, attached_node = 1,
not_in_creative_inventory = 1, grass = 1, flammable = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16},
},
})
end
minetest.register_node("default:dry_grass_1", {
description = "Dry Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_grass_1.png"},
inventory_image = "default_dry_grass_3.png",
wield_image = "default_dry_grass_3.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1,
attached_node = 1, dry_grass = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
-- place a random dry grass node
local stack = ItemStack("default:dry_grass_" .. math.random(1, 5))
local ret = minetest.item_place(stack, placer, pointed_thing)
return ItemStack("default:dry_grass_1 " ..
itemstack:get_count() - (1 - ret:get_count()))
end,
})
for i = 2, 5 do
minetest.register_node("default:dry_grass_" .. i, {
description = "Dry Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_grass_" .. i .. ".png"},
inventory_image = "default_dry_grass_" .. i .. ".png",
wield_image = "default_dry_grass_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1,
not_in_creative_inventory=1, dry_grass = 1},
drop = "default:dry_grass_1",
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -1 / 16, 6 / 16},
},
})
end
minetest.register_node("default:fern_1", {
description = "Fern",
drawtype = "plantlike",
waving = 1,
tiles = {"default_fern_1.png"},
inventory_image = "default_fern_1.png",
wield_image = "default_fern_1.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
-- place a random fern node
local stack = ItemStack("default:fern_" .. math.random(1, 3))
local ret = minetest.item_place(stack, placer, pointed_thing)
return ItemStack("default:fern_1 " ..
itemstack:get_count() - (1 - ret:get_count()))
end,
})
for i = 2, 3 do
minetest.register_node("default:fern_" .. i, {
description = "Fern",
drawtype = "plantlike",
waving = 1,
visual_scale = 2,
tiles = {"default_fern_" .. i .. ".png"},
inventory_image = "default_fern_" .. i .. ".png",
wield_image = "default_fern_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1,
not_in_creative_inventory=1},
drop = "default:fern_1",
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16},
},
})
end
minetest.register_node("default:marram_grass_1", {
description = "Marram Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_marram_grass_1.png"},
inventory_image = "default_marram_grass_1.png",
wield_image = "default_marram_grass_1.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16},
},
on_place = function(itemstack, placer, pointed_thing)
-- place a random marram grass node
local stack = ItemStack("default:marram_grass_" .. math.random(1, 3))
local ret = minetest.item_place(stack, placer, pointed_thing)
return ItemStack("default:marram_grass_1 " ..
itemstack:get_count() - (1 - ret:get_count()))
end,
})
for i = 2, 3 do
minetest.register_node("default:marram_grass_" .. i, {
description = "Marram Grass",
drawtype = "plantlike",
waving = 1,
tiles = {"default_marram_grass_" .. i .. ".png"},
inventory_image = "default_marram_grass_" .. i .. ".png",
wield_image = "default_marram_grass_" .. i .. ".png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node = 1,
not_in_creative_inventory=1},
drop = "default:marram_grass_1",
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, -0.25, 6 / 16},
},
})
end
minetest.register_node("default:bush_stem", {
description = "Bush Stem",
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"default_bush_stem.png"},
inventory_image = "default_bush_stem.png",
wield_image = "default_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("default:bush_leaves", {
description = "Bush Leaves",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_leaves_simple.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("default:blueberry_bush_leaves_with_berries", {
description = "Blueberry Bush Leaves with Berries",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_blueberry_bush_leaves.png^default_blueberry_overlay.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
drop = "default:blueberry_bush_leaves",
2019-01-08 21:24:35 +00:00
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_node("default:blueberry_bush_leaves", {
description = "Blueberry Bush Leaves",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_blueberry_bush_leaves.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_node("default:acacia_bush_stem", {
description = "Acacia Bush Stem",
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"default_acacia_bush_stem.png"},
inventory_image = "default_acacia_bush_stem.png",
wield_image = "default_acacia_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("default:acacia_bush_leaves", {
description = "Acacia Bush Leaves",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_acacia_leaves_simple.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("default:pine_bush_stem", {
description = "Pine Bush Stem",
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"default_pine_bush_stem.png"},
inventory_image = "default_pine_bush_stem.png",
wield_image = "default_pine_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("default:pine_bush_needles", {
description = "Pine Bush Needles",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_pine_needles.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("default:sand_with_kelp", {
description = "Kelp",
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"default_sand.png"},
special_tiles = {{name = "default_kelp.png", tileable_vertical = true}},
inventory_image = "default_kelp.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 3.5, 2/16},
},
},
node_dig_prediction = "default:sand",
node_placement_prediction = "",
on_place = function(itemstack, placer, pointed_thing)
-- Call on_rightclick if the pointed node defines it
if pointed_thing.type == "node" and placer and
not placer:get_player_control().sneak then
local node_ptu = minetest.get_node(pointed_thing.under)
local def_ptu = minetest.registered_nodes[node_ptu.name]
if def_ptu and def_ptu.on_rightclick then
return def_ptu.on_rightclick(pointed_thing.under, node_ptu, placer,
itemstack, pointed_thing)
end
end
local pos = pointed_thing.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(4, 6)
local pos_top = {x = pos.x, y = pos.y + height, z = pos.z}
local node_top = minetest.get_node(pos_top)
local def_top = minetest.registered_nodes[node_top.name]
local player_name = placer:get_player_name()
if def_top and def_top.liquidtype == "source" and
minetest.get_item_group(node_top.name, "water") > 0 then
if not minetest.is_protected(pos, player_name) and
not minetest.is_protected(pos_top, player_name) then
minetest.set_node(pos, {name = "default:sand_with_kelp",
param2 = height * 16})
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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:sand"})
end
})
--
-- Corals
--
minetest.register_node("default:coral_green", {
description = "Green Coral",
drawtype = "plantlike_rooted",
waving = 1,
paramtype = "light",
tiles = {"default_coral_skeleton.png"},
special_tiles = {{name = "default_coral_green.png", tileable_vertical = true}},
inventory_image = "default_coral_green.png",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},
},
},
node_dig_prediction = "default:coral_skeleton",
node_placement_prediction = "",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" or not placer then
return itemstack
end
local player_name = placer:get_player_name()
local pos_under = pointed_thing.under
local pos_above = pointed_thing.above
if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or
minetest.get_node(pos_above).name ~= "default:water_source" then
return itemstack
end
if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then
minetest.chat_send_player(player_name, "Node is protected")
minetest.record_protection_violation(pos_under, player_name)
return itemstack
end
minetest.set_node(pos_under, {name = "default:coral_green"})
if not (creative and creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
return itemstack
end,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:coral_skeleton"})
end,
})
minetest.register_node("default:coral_pink", {
description = "Pink Coral",
drawtype = "plantlike_rooted",
waving = 1,
paramtype = "light",
tiles = {"default_coral_skeleton.png"},
special_tiles = {{name = "default_coral_pink.png", tileable_vertical = true}},
inventory_image = "default_coral_pink.png",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},
},
},
node_dig_prediction = "default:coral_skeleton",
node_placement_prediction = "",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" or not placer then
return itemstack
end
local player_name = placer:get_player_name()
local pos_under = pointed_thing.under
local pos_above = pointed_thing.above
if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or
minetest.get_node(pos_above).name ~= "default:water_source" then
return itemstack
end
if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then
minetest.chat_send_player(player_name, "Node is protected")
minetest.record_protection_violation(pos_under, player_name)
return itemstack
end
minetest.set_node(pos_under, {name = "default:coral_pink"})
if not (creative and creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
return itemstack
end,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:coral_skeleton"})
end,
})
minetest.register_node("default:coral_cyan", {
description = "Cyan Coral",
drawtype = "plantlike_rooted",
waving = 1,
paramtype = "light",
tiles = {"default_coral_skeleton.png"},
special_tiles = {{name = "default_coral_cyan.png", tileable_vertical = true}},
inventory_image = "default_coral_cyan.png",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16},
},
},
node_dig_prediction = "default:coral_skeleton",
node_placement_prediction = "",
on_place = function(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" or not placer then
return itemstack
end
local player_name = placer:get_player_name()
local pos_under = pointed_thing.under
local pos_above = pointed_thing.above
if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or
minetest.get_node(pos_above).name ~= "default:water_source" then
return itemstack
end
if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then
minetest.chat_send_player(player_name, "Node is protected")
minetest.record_protection_violation(pos_under, player_name)
return itemstack
end
minetest.set_node(pos_under, {name = "default:coral_cyan"})
if not (creative and creative.is_enabled_for(player_name)) then
itemstack:take_item()
end
return itemstack
end,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:coral_skeleton"})
end,
})
minetest.register_node("default:coral_brown", {
description = "Brown Coral",
tiles = {"default_coral_brown.png"},
groups = {cracky = 3},
drop = "default:coral_skeleton",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:coral_orange", {
description = "Orange Coral",
tiles = {"default_coral_orange.png"},
groups = {cracky = 3},
drop = "default:coral_skeleton",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:coral_skeleton", {
description = "Coral Skeleton",
tiles = {"default_coral_skeleton.png"},
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
--
-- Liquids
--
2015-07-16 17:44:01 +00:00
minetest.register_node("default:water_source", {
description = "Water Source",
drawtype = "liquid",
tiles = {
{
name = "default_water_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = false,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
{
name = "default_water_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = true,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 1,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
2019-01-08 21:24:35 +00:00
groups = {water = 3, liquid = 3, cools_lava = 1},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_water_defaults(),
2015-07-16 17:44:01 +00:00
})
minetest.register_node("default:water_flowing", {
description = "Flowing Water",
drawtype = "flowingliquid",
tiles = {"default_water.png"},
special_tiles = {
{
name = "default_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "default_water_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:water_flowing",
liquid_alternative_source = "default:water_source",
liquid_viscosity = 1,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
2019-01-08 21:24:35 +00:00
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
cools_lava = 1},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_water_defaults(),
2015-07-16 17:44:01 +00:00
})
minetest.register_node("default:river_water_source", {
description = "River Water Source",
drawtype = "liquid",
tiles = {
{
name = "default_river_water_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = false,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
{
name = "default_river_water_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = true,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0,
},
},
},
alpha = 160,
paramtype = "light",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:river_water_flowing",
liquid_alternative_source = "default:river_water_source",
liquid_viscosity = 1,
2019-01-08 21:24:35 +00:00
-- Not renewable to avoid horizontal spread of water sources in sloping
-- rivers that can cause water to overflow riverbanks and cause floods.
-- River water source is instead made renewable by the 'force renew'
-- option used in the 'bucket' mod by the river water bucket.
2015-07-16 17:44:01 +00:00
liquid_renewable = false,
liquid_range = 2,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
2019-01-08 21:24:35 +00:00
groups = {water = 3, liquid = 3, cools_lava = 1},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_water_defaults(),
2015-07-16 17:44:01 +00:00
})
minetest.register_node("default:river_water_flowing", {
description = "Flowing River Water",
drawtype = "flowingliquid",
tiles = {"default_river_water.png"},
special_tiles = {
{
name = "default_river_water_flowing_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
{
name = "default_river_water_flowing_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
},
},
},
alpha = 160,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:river_water_flowing",
liquid_alternative_source = "default:river_water_source",
liquid_viscosity = 1,
liquid_renewable = false,
liquid_range = 2,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 103, r = 30, g = 76, b = 90},
2019-01-08 21:24:35 +00:00
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
cools_lava = 1},
2017-10-06 00:25:34 +00:00
sounds = default.node_sound_water_defaults(),
2015-07-16 17:44:01 +00:00
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:lava_source", {
description = "Lava Source",
drawtype = "liquid",
2015-07-16 17:44:01 +00:00
tiles = {
{
2017-10-06 00:25:34 +00:00
name = "default_lava_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = false,
2017-10-06 00:25:34 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0,
},
},
{
name = "default_lava_source_animated.png",
2019-01-08 21:24:35 +00:00
backface_culling = true,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
2017-10-06 00:25:34 +00:00
length = 3.0,
2015-07-16 17:44:01 +00:00
},
},
2017-10-06 00:25:34 +00:00
},
paramtype = "light",
light_source = default.LIGHT_MAX - 1,
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "default:lava_flowing",
liquid_alternative_source = "default:lava_source",
liquid_viscosity = 7,
liquid_renewable = false,
damage_per_second = 4 * 2,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 2, igniter = 1},
})
minetest.register_node("default:lava_flowing", {
description = "Flowing Lava",
drawtype = "flowingliquid",
tiles = {"default_lava.png"},
special_tiles = {
2015-07-16 17:44:01 +00:00
{
2017-10-06 00:25:34 +00:00
name = "default_lava_flowing_animated.png",
backface_culling = false,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
2017-10-06 00:25:34 +00:00
length = 3.3,
2015-07-16 17:44:01 +00:00
},
},
{
2017-10-06 00:25:34 +00:00
name = "default_lava_flowing_animated.png",
backface_culling = true,
2015-07-16 17:44:01 +00:00
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
2017-10-06 00:25:34 +00:00
length = 3.3,
2015-07-16 17:44:01 +00:00
},
},
},
paramtype = "light",
2017-10-06 00:25:34 +00:00
paramtype2 = "flowingliquid",
2015-07-16 17:44:01 +00:00
light_source = default.LIGHT_MAX - 1,
2017-10-06 00:25:34 +00:00
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "default:lava_flowing",
liquid_alternative_source = "default:lava_source",
liquid_viscosity = 7,
liquid_renewable = false,
damage_per_second = 4 * 2,
2017-10-06 00:25:34 +00:00
post_effect_color = {a = 191, r = 255, g = 64, b = 0},
groups = {lava = 3, liquid = 2, igniter = 1,
not_in_creative_inventory = 1},
2015-07-16 17:44:01 +00:00
})
2019-01-08 21:24:35 +00:00
--
-- Tools / "Advanced" crafting / Non-"natural"
--
minetest.register_node("default:bookshelf", {
description = "Bookshelf",
tiles = {"default_wood.png", "default_wood.png", "default_wood.png",
"default_wood.png", "default_bookshelf.png", "default_bookshelf.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults(),
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:ladder_wood", {
description = "Wooden Ladder",
2015-07-16 17:44:01 +00:00
drawtype = "signlike",
2017-10-06 00:25:34 +00:00
tiles = {"default_ladder_wood.png"},
inventory_image = "default_ladder_wood.png",
wield_image = "default_ladder_wood.png",
2015-07-16 17:44:01 +00:00
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted",
--wall_top = = <default>
--wall_bottom = = <default>
--wall_side = = <default>
},
2017-10-06 00:25:34 +00:00
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2},
2015-07-16 17:44:01 +00:00
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:ladder_steel", {
description = "Steel Ladder",
drawtype = "signlike",
tiles = {"default_ladder_steel.png"},
inventory_image = "default_ladder_steel.png",
wield_image = "default_ladder_steel.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = {
type = "wallmounted",
--wall_top = = <default>
--wall_bottom = = <default>
--wall_side = = <default>
},
groups = {cracky = 2},
sounds = default.node_sound_metal_defaults(),
})
2017-10-06 00:25:34 +00:00
default.register_fence("default:fence_wood", {
2019-01-08 21:24:35 +00:00
description = "Apple Wood Fence",
2017-10-06 00:25:34 +00:00
texture = "default_fence_wood.png",
2019-01-08 21:24:35 +00:00
inventory_image = "default_fence_overlay.png^default_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^default_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
2017-10-06 00:25:34 +00:00
material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
2015-07-16 17:44:01 +00:00
})
2017-10-06 00:25:34 +00:00
default.register_fence("default:fence_acacia_wood", {
2019-01-08 21:24:35 +00:00
description = "Acacia Wood Fence",
2017-10-06 00:25:34 +00:00
texture = "default_fence_acacia_wood.png",
2019-01-08 21:24:35 +00:00
inventory_image = "default_fence_overlay.png^default_acacia_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^default_acacia_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
2017-10-06 00:25:34 +00:00
material = "default:acacia_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
2015-07-16 17:44:01 +00:00
2017-10-06 00:25:34 +00:00
default.register_fence("default:fence_junglewood", {
description = "Jungle Wood Fence",
texture = "default_fence_junglewood.png",
2019-01-08 21:24:35 +00:00
inventory_image = "default_fence_overlay.png^default_junglewood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^default_junglewood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
2017-10-06 00:25:34 +00:00
material = "default:junglewood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
default.register_fence("default:fence_pine_wood", {
2019-01-08 21:24:35 +00:00
description = "Pine Wood Fence",
2017-10-06 00:25:34 +00:00
texture = "default_fence_pine_wood.png",
2019-01-08 21:24:35 +00:00
inventory_image = "default_fence_overlay.png^default_pine_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^default_pine_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
2017-10-06 00:25:34 +00:00
material = "default:pine_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
})
default.register_fence("default:fence_aspen_wood", {
2019-01-08 21:24:35 +00:00
description = "Aspen Wood Fence",
2017-10-06 00:25:34 +00:00
texture = "default_fence_aspen_wood.png",
2019-01-08 21:24:35 +00:00
inventory_image = "default_fence_overlay.png^default_aspen_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^default_aspen_wood.png^" ..
"default_fence_overlay.png^[makealpha:255,126,126",
2017-10-06 00:25:34 +00:00
material = "default:aspen_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
})
2015-07-16 17:44:01 +00:00
2019-01-08 21:24:35 +00:00
default.register_fence_rail("default:fence_rail_wood", {
description = "Apple Wood Fence Rail",
texture = "default_fence_rail_wood.png",
inventory_image = "default_fence_rail_overlay.png^default_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^default_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
default.register_fence_rail("default:fence_rail_acacia_wood", {
description = "Acacia Wood Fence Rail",
texture = "default_fence_rail_acacia_wood.png",
inventory_image = "default_fence_rail_overlay.png^default_acacia_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^default_acacia_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "default:acacia_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
default.register_fence_rail("default:fence_rail_junglewood", {
description = "Jungle Wood Fence Rail",
texture = "default_fence_rail_junglewood.png",
inventory_image = "default_fence_rail_overlay.png^default_junglewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^default_junglewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "default:junglewood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
default.register_fence_rail("default:fence_rail_pine_wood", {
description = "Pine Wood Fence Rail",
texture = "default_fence_rail_pine_wood.png",
inventory_image = "default_fence_rail_overlay.png^default_pine_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^default_pine_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "default:pine_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
})
default.register_fence_rail("default:fence_rail_aspen_wood", {
description = "Aspen Wood Fence Rail",
texture = "default_fence_rail_aspen_wood.png",
inventory_image = "default_fence_rail_overlay.png^default_aspen_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^default_aspen_wood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "default:aspen_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
})
2015-07-16 17:44:01 +00:00
minetest.register_node("default:glass", {
description = "Glass",
drawtype = "glasslike_framed_optional",
tiles = {"default_glass.png", "default_glass_detail.png"},
paramtype = "light",
2017-10-06 00:25:34 +00:00
paramtype2 = "glasslikeliquidlevel",
2015-07-16 17:44:01 +00:00
sunlight_propagates = true,
is_ground_content = false,
2017-10-06 00:25:34 +00:00
groups = {cracky = 3, oddly_breakable_by_hand = 3},
2015-07-16 17:44:01 +00:00
sounds = default.node_sound_glass_defaults(),
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:obsidian_glass", {
description = "Obsidian Glass",
drawtype = "glasslike_framed_optional",
tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"},
paramtype = "light",
paramtype2 = "glasslikeliquidlevel",
is_ground_content = false,
sunlight_propagates = true,
sounds = default.node_sound_glass_defaults(),
groups = {cracky = 3},
})
2017-10-06 00:25:34 +00:00
minetest.register_node("default:brick", {
description = "Brick Block",
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_brick.png"},
is_ground_content = false,
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(),
2015-07-16 17:44:01 +00:00
})
2019-01-08 21:24:35 +00:00
2015-07-16 17:44:01 +00:00
minetest.register_node("default:meselamp", {
description = "Mese Lamp",
drawtype = "glasslike",
tiles = {"default_meselamp.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
light_source = default.LIGHT_MAX,
})
2019-01-08 21:24:35 +00:00
minetest.register_node("default:mese_post_light", {
description = "Mese Post Light",
tiles = {"default_mese_post_light_top.png", "default_mese_post_light_top.png",
"default_mese_post_light_side_dark.png", "default_mese_post_light_side_dark.png",
"default_mese_post_light_side.png", "default_mese_post_light_side.png"},
wield_image = "default_mese_post_light_side.png",
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16},
},
},
paramtype = "light",
light_source = default.LIGHT_MAX,
sunlight_propagates = true,
is_ground_content = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
--
-- Misc
--
minetest.register_node("default:cloud", {
description = "Cloud",
tiles = {"default_cloud.png"},
is_ground_content = false,
sounds = default.node_sound_defaults(),
groups = {not_in_creative_inventory = 1},
})
2017-10-06 00:25:34 +00:00
--
-- register trees for leafdecay
--
if minetest.get_mapgen_setting("mg_name") == "v6" then
default.register_leafdecay({
trunks = {"default:tree"},
2018-11-18 13:15:32 +00:00
leaves = {"default:leaves"},
2017-10-06 00:25:34 +00:00
radius = 2,
})
default.register_leafdecay({
trunks = {"default:jungletree"},
leaves = {"default:jungleleaves"},
radius = 3,
})
else
default.register_leafdecay({
trunks = {"default:tree"},
2018-11-18 13:15:32 +00:00
leaves = {"default:leaves"},
2017-10-06 00:25:34 +00:00
radius = 3,
})
default.register_leafdecay({
trunks = {"default:jungletree"},
leaves = {"default:jungleleaves"},
radius = 2,
})
end
2019-01-08 21:24:35 +00:00
default.register_leafdecay({
trunks = {"default:pine_tree"},
leaves = {"default:pine_needles"},
radius = 3,
})
2017-10-06 00:25:34 +00:00
default.register_leafdecay({
trunks = {"default:acacia_tree"},
leaves = {"default:acacia_leaves"},
radius = 2,
})
default.register_leafdecay({
trunks = {"default:aspen_tree"},
leaves = {"default:aspen_leaves"},
radius = 3,
2015-07-16 17:44:01 +00:00
})
2019-01-08 21:24:35 +00:00
default.register_leafdecay({
trunks = {"default:bush_stem"},
leaves = {"default:bush_leaves"},
radius = 1,
})
default.register_leafdecay({
trunks = {"default:acacia_bush_stem"},
leaves = {"default:acacia_bush_leaves"},
radius = 1,
})
default.register_leafdecay({
trunks = {"default:pine_bush_stem"},
leaves = {"default:pine_bush_needles"},
radius = 1,
})