Imported from trollstream "ContentDB"
|
@ -0,0 +1,2 @@
|
|||
# badland
|
||||
Adds a Badlands biome with a few more objects.
|
After Width: | Height: | Size: 1.3 MiB |
|
@ -0,0 +1,47 @@
|
|||
------------Crafting
|
||||
minetest.register_craft({
|
||||
output = "badland:badland_wood 4",
|
||||
recipe = {
|
||||
{"badland:badland_tree"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:bowl 2",
|
||||
recipe = {
|
||||
{"group:wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:badland_sapling",
|
||||
recipe = {
|
||||
{"default:stick", "badland:badland_leaves"},
|
||||
{"badland:badland_leaves", "badland:badland_leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:mushroom_bowl 1",
|
||||
recipe = {
|
||||
{"flowers:mushroom_brown", "flowers:mushroom_red"},
|
||||
{"badland:toadstool", "badland:bowl"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:scarecrow",
|
||||
recipe = {
|
||||
{"badland:pumpkin_block", "wool:blue"},
|
||||
{"default:stick", "default:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "badland:badland_trapdoor 2",
|
||||
recipe = {
|
||||
{"badland:badland_wood", "badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood", "badland:badland_wood"},
|
||||
}
|
||||
})
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
badland = {}
|
||||
local mpath = minetest.get_modpath("badland")
|
||||
local pot = minetest.get_modpath("flowerpot")
|
||||
|
||||
|
||||
minetest.register_node("badland:toadstool", {
|
||||
description = "Toadstool",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"toadstool.png"},
|
||||
inventory_image = "toadstool.png",
|
||||
wield_image = "toadstool.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_2", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_2.png"},
|
||||
inventory_image = "brown_mushroom_2.png",
|
||||
wield_image = "brown_mushroom_2.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_3", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_3.png"},
|
||||
inventory_image = "brown_mushroom_3.png",
|
||||
wield_image = "brown_mushroom_3.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("badland:brown_mushroom_4", {
|
||||
description = "Brown Mushroom",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
on_use = minetest.item_eat(1),
|
||||
visual_scale = 1,
|
||||
tiles = {"brown_mushroom_4.png"},
|
||||
inventory_image = "brown_mushroom_4.png",
|
||||
wield_image = "brown_mushroom_4.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
groups = {snappy = 3, flower = 1, flora = 1, attached_node = 1, flammable = 1, prairie = 1},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = box or {-0.15, -0.5, -0.15, 0.15, 0.15, 0.15},
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.01,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:toadstool", "badland:brown_mushroom_4", "badland:brown_mushroom_3", "badland:brown_mushroom_2",
|
||||
}
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
local default_path = minetest.get_modpath("badland")
|
||||
|
||||
dofile(default_path.."/mapgen.lua")
|
||||
dofile(default_path.."/nodes.lua")
|
||||
dofile(default_path.."/flowers.lua")
|
||||
dofile(default_path.."/crafting.lua")
|
||||
dofile(default_path.."/item.lua")
|
||||
dofile(default_path.."/moreblocks.lua")
|
|
@ -0,0 +1,11 @@
|
|||
minetest.register_craftitem("badland:mushroom_bowl", {
|
||||
description = "Mushroom Bowl Cooked",
|
||||
inventory_image = "badland_mushroom_bowl.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {food_bread = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("badland:bowl", {
|
||||
description = "Wooden Bowl",
|
||||
inventory_image = "badland_bowl.png",
|
||||
})
|
|
@ -0,0 +1,18 @@
|
|||
License
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Copyright (C) 2021-2022: Atlante - AFL-1.1
|
||||
License for code: AFL-1.1
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Anyone can fix the mod. My Discord "Atlante#1952" And my Mail Address "AtlanteEtDocteur@gmail.com"
|
||||
|
||||
|
|
@ -0,0 +1,172 @@
|
|||
-- Badland
|
||||
|
||||
minetest.register_biome({
|
||||
name = "badland",
|
||||
node_top = "badland:badland_grass",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 1,
|
||||
node_riverbed = "badland:badland_grass",
|
||||
depth_riverbed = 2,
|
||||
node_dungeon = "default:cobble",
|
||||
node_dungeon_alt = "default:mossycobble",
|
||||
node_dungeon_stair = "stairs:stair_cobble",
|
||||
y_max = 31000,
|
||||
y_min = 6,
|
||||
heat_point = 71,
|
||||
humidity_point = 84,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.35,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:badland_grass_1", "badland:badland_grass_2", "badland:badland_grass_3", "badland:badland_grass_4", "badland:badland_grass_5",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.02,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"badland:pumpkin_block",
|
||||
}
|
||||
})
|
||||
---------------------------------------Bush
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_brush",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_bush.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
----------------------------------Log 1
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_log_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_log_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
----------------------------------Log 2
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_log_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.008265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_log_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
-----------------------Trees
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "badland:badland_tree_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.002265,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/badland_tree_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
---------------------Racine
|
||||
minetest.register_decoration({
|
||||
name = "badland:racine_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000665,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/racine_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
---------------------------Puit
|
||||
minetest.register_decoration({
|
||||
name = "badland:puit_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"badland:badland_grass"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000165,
|
||||
biomes = {"badland"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("badland").."/schematics/puit_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"badland:badland_grass"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.02,
|
||||
biomes = {"badland"},
|
||||
decoration = {
|
||||
"japaneseforest:red_firefly", "japaneseforest:orange_firefly", "default:firefly",
|
||||
}
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
author = Atlante
|
||||
name = badland
|
||||
|
||||
description = Adds a Badlands biome with a few more objects.
|
||||
title = Badlands
|
||||
depends = default, doors, japaneseforest, flowerpot
|
||||
optional_depends = flowers, moreblocks
|
|
@ -0,0 +1,278 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib scarecrow.mtl
|
||||
o Cube_Cube.001
|
||||
v -0.561998 1.323839 0.300580
|
||||
v -0.561998 2.981953 0.300579
|
||||
v -0.561998 2.981953 -0.300582
|
||||
v -0.561998 1.323839 -0.300581
|
||||
v 0.563007 2.981953 -0.300580
|
||||
v 0.563007 1.323839 -0.300580
|
||||
v 0.563007 2.981953 0.300581
|
||||
v 0.563007 1.323839 0.300581
|
||||
v -0.561998 2.981304 0.562503
|
||||
v -0.561998 4.106310 0.562503
|
||||
v -0.561998 4.106310 -0.562503
|
||||
v -0.561998 2.981304 -0.562504
|
||||
v 0.563007 4.106310 -0.562503
|
||||
v 0.563007 2.981304 -0.562503
|
||||
v 0.563007 4.106310 0.562503
|
||||
v 0.563007 2.981304 0.562503
|
||||
v 0.139760 -0.287793 0.292342
|
||||
v -0.000793 1.318738 0.292342
|
||||
v -0.000793 1.318738 -0.292342
|
||||
v 0.139761 -0.287793 -0.292342
|
||||
v 0.546074 1.366583 -0.292342
|
||||
v 0.686627 -0.239948 -0.292342
|
||||
v 0.546074 1.366583 0.292342
|
||||
v 0.686627 -0.239948 0.292342
|
||||
v -0.139991 -0.287924 -0.292342
|
||||
v -0.139991 -0.287924 0.292342
|
||||
v -0.686857 -0.240079 0.292342
|
||||
v -0.686857 -0.240079 -0.292342
|
||||
v -0.546304 1.366452 -0.292342
|
||||
v 0.000563 1.318607 -0.292342
|
||||
v 0.000563 1.318607 0.292342
|
||||
v -0.546304 1.366452 0.292342
|
||||
v -0.128807 -1.218078 0.129312
|
||||
v -0.128807 1.378430 0.129312
|
||||
v -0.128807 1.378430 -0.129312
|
||||
v -0.128807 -1.218078 -0.129312
|
||||
v 0.129816 1.378430 -0.129312
|
||||
v 0.129816 -1.218078 -0.129312
|
||||
v 0.129816 1.378430 0.129312
|
||||
v 0.129816 -1.218078 0.129312
|
||||
v -2.627234 2.609297 0.129310
|
||||
v 2.628242 2.609298 0.129312
|
||||
v 2.628242 2.867920 0.129312
|
||||
v -2.627234 2.867920 0.129310
|
||||
v 2.628242 2.867921 -0.129311
|
||||
v -2.627234 2.867921 -0.129313
|
||||
v 2.628242 2.609297 -0.129311
|
||||
v -2.627234 2.609297 -0.129313
|
||||
v -2.219586 2.414515 0.300579
|
||||
v -2.219586 2.414515 -0.300582
|
||||
v -0.561471 2.414515 -0.300581
|
||||
v -0.561471 2.414515 0.300580
|
||||
v -2.219586 2.978941 -0.300582
|
||||
v -0.561471 2.978941 -0.300582
|
||||
v -2.219586 2.978941 0.300579
|
||||
v -0.561471 2.978941 0.300579
|
||||
v 2.219980 2.414515 0.300581
|
||||
v 0.561866 2.414515 0.300581
|
||||
v 0.561866 2.414515 -0.300580
|
||||
v 2.219980 2.414515 -0.300580
|
||||
v 0.561866 2.978941 -0.300580
|
||||
v 2.219980 2.978941 -0.300580
|
||||
v 0.561865 2.978941 0.300581
|
||||
v 2.219980 2.978941 0.300581
|
||||
v -1.668880 2.412450 0.302779
|
||||
v -1.668880 2.412450 -0.302782
|
||||
v -1.668880 2.981006 -0.302782
|
||||
v -1.668880 2.981006 0.302779
|
||||
v 1.669274 2.412450 0.302781
|
||||
v 1.669274 2.412450 -0.302780
|
||||
v 1.669274 2.981006 -0.302779
|
||||
v 1.669274 2.981006 0.302782
|
||||
vt 0.5000 0.5000
|
||||
vt 0.5000 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.4375 0.5000
|
||||
vt 0.3125 0.6875
|
||||
vt 0.3125 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.2500 0.5000
|
||||
vt 0.6250 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.4375 0.6875
|
||||
vt 0.5625 0.6875
|
||||
vt 0.5625 0.7500
|
||||
vt 0.4375 0.7500
|
||||
vt 0.4375 0.7500
|
||||
vt 0.3125 0.7500
|
||||
vt 0.3750 0.7500
|
||||
vt 0.3750 0.8750
|
||||
vt 0.2500 0.8750
|
||||
vt 0.2500 0.7500
|
||||
vt 0.1250 0.8750
|
||||
vt 0.1250 0.7500
|
||||
vt -0.0000 0.8750
|
||||
vt -0.0000 0.7500
|
||||
vt 0.5000 0.7500
|
||||
vt 0.5000 0.8750
|
||||
vt 0.2500 0.8750
|
||||
vt 0.3750 0.8750
|
||||
vt 0.3750 1.0000
|
||||
vt 0.2500 1.0000
|
||||
vt 0.2500 1.0000
|
||||
vt 0.1250 1.0000
|
||||
vt 0.1875 0.5000
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1250 0.5000
|
||||
vt 0.0625 0.6875
|
||||
vt 0.0625 0.5000
|
||||
vt -0.0000 0.6875
|
||||
vt -0.0000 0.5000
|
||||
vt 0.2500 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1875 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt 0.0625 0.7500
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1250 0.7500
|
||||
vt 0.1875 0.7500
|
||||
vt 0.1875 0.6875
|
||||
vt 0.1250 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0625 0.6875
|
||||
vt 0.1250 0.6875
|
||||
vt 0.1875 0.5000
|
||||
vt 0.1875 0.6875
|
||||
vt 0.2500 0.5000
|
||||
vt 0.2500 0.6875
|
||||
vt 0.0625 0.7500
|
||||
vt 0.1250 0.7500
|
||||
vt -0.0000 0.5000
|
||||
vt -0.0000 0.6875
|
||||
vt 0.0938 0.1406
|
||||
vt 0.0938 0.4688
|
||||
vt 0.0625 0.4688
|
||||
vt 0.0625 0.1406
|
||||
vt 0.0312 0.4688
|
||||
vt 0.0312 0.1406
|
||||
vt 0.0000 0.4688
|
||||
vt -0.0000 0.1406
|
||||
vt 0.1250 0.1406
|
||||
vt 0.1250 0.4688
|
||||
vt 0.0625 0.4688
|
||||
vt 0.0938 0.4688
|
||||
vt 0.0938 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0625 0.5000
|
||||
vt 0.0312 0.5000
|
||||
vt 0.9688 0.0000
|
||||
vt 0.9688 0.5938
|
||||
vt 0.9375 0.5938
|
||||
vt 0.9375 0.0000
|
||||
vt 0.9062 0.5938
|
||||
vt 0.9062 0.0000
|
||||
vt 0.8750 0.5938
|
||||
vt 0.8750 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 1.0000 0.5938
|
||||
vt 0.9375 0.5938
|
||||
vt 0.9688 0.5938
|
||||
vt 0.9688 0.6250
|
||||
vt 0.9375 0.6250
|
||||
vt 0.9375 0.6250
|
||||
vt 0.9062 0.6250
|
||||
vt 0.8125 0.5000
|
||||
vt 0.7500 0.5000
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.6875 0.5000
|
||||
vt 0.6875 0.6875
|
||||
vt 0.6250 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.8750 0.5000
|
||||
vt 0.8750 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.7500
|
||||
vt 0.8125 0.6875
|
||||
vt 0.6875 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.5000
|
||||
vt 0.8125 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.5000
|
||||
vt 0.6875 0.6875
|
||||
vt 0.6875 0.5000
|
||||
vt 0.6250 0.6875
|
||||
vt 0.6250 0.5000
|
||||
vt 0.8750 0.5000
|
||||
vt 0.8750 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.8125 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vt 0.6875 0.7500
|
||||
vt 0.7500 0.6875
|
||||
vt 0.7500 0.7500
|
||||
vt 0.8125 0.7500
|
||||
vt 0.8125 0.6875
|
||||
vt 0.7500 0.6875
|
||||
vt 0.8125 0.6875
|
||||
vt 0.8125 0.7500
|
||||
vt 0.7500 0.7500
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -0.9962 -0.0872 -0.0000
|
||||
vn 0.9962 0.0872 0.0000
|
||||
vn 0.0872 -0.9962 -0.0000
|
||||
vn -0.0872 0.9962 0.0000
|
||||
vn -0.0872 -0.9962 -0.0000
|
||||
vn 0.9962 -0.0872 -0.0000
|
||||
vn 0.0872 0.9962 0.0000
|
||||
vn -0.9962 0.0872 0.0000
|
||||
usemtl None
|
||||
s 1
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 4/4/2 3/3/2 5/5/2 6/6/2
|
||||
f 6/6/3 5/5/3 7/7/3 8/8/3
|
||||
f 8/9/4 7/10/4 2/2/4 1/1/4
|
||||
f 4/11/5 6/12/5 8/13/5 1/14/5
|
||||
f 5/5/6 3/3/6 2/15/6 7/16/6
|
||||
f 9/17/1 10/18/1 11/19/1 12/20/1
|
||||
f 12/20/2 11/19/2 13/21/2 14/22/2
|
||||
f 14/22/3 13/21/3 15/23/3 16/24/3
|
||||
f 16/25/4 15/26/4 10/18/4 9/17/4
|
||||
f 12/27/5 14/28/5 16/29/5 9/30/5
|
||||
f 13/21/6 11/19/6 10/31/6 15/32/6
|
||||
f 17/33/7 18/34/7 19/35/7 20/36/7
|
||||
f 20/36/2 19/35/2 21/37/2 22/38/2
|
||||
f 22/38/8 21/37/8 23/39/8 24/40/8
|
||||
f 24/41/4 23/42/4 18/34/4 17/33/4
|
||||
f 20/43/9 22/44/9 24/45/9 17/46/9
|
||||
f 21/37/10 19/35/10 18/47/10 23/48/10
|
||||
f 25/49/11 26/50/11 27/51/11 28/52/11
|
||||
f 25/53/2 28/54/2 29/55/2 30/56/2
|
||||
f 26/57/12 25/53/12 30/56/12 31/58/12
|
||||
f 27/59/4 26/57/4 31/58/4 32/60/4
|
||||
f 29/55/13 32/61/13 31/62/13 30/56/13
|
||||
f 28/54/14 27/63/14 32/64/14 29/55/14
|
||||
f 33/65/1 34/66/1 35/67/1 36/68/1
|
||||
f 36/68/2 35/67/2 37/69/2 38/70/2
|
||||
f 38/70/3 37/69/3 39/71/3 40/72/3
|
||||
f 40/73/4 39/74/4 34/66/4 33/65/4
|
||||
f 36/75/5 38/76/5 40/77/5 33/78/5
|
||||
f 37/69/6 35/67/6 34/79/6 39/80/6
|
||||
f 41/81/4 42/82/4 43/83/4 44/84/4
|
||||
f 44/84/6 43/83/6 45/85/6 46/86/6
|
||||
f 46/86/2 45/85/2 47/87/2 48/88/2
|
||||
f 48/89/5 47/90/5 42/82/5 41/81/5
|
||||
f 44/91/1 46/92/1 48/93/1 41/94/1
|
||||
f 45/85/3 43/83/3 42/95/3 47/96/3
|
||||
f 49/97/5 50/98/5 51/99/5 52/100/5
|
||||
f 50/98/2 53/101/2 54/102/2 51/99/2
|
||||
f 53/101/6 55/103/6 56/104/6 54/102/6
|
||||
f 55/105/4 49/97/4 52/100/4 56/106/4
|
||||
f 50/107/1 49/108/1 55/109/1 53/110/1
|
||||
f 54/102/3 56/111/3 52/112/3 51/99/3
|
||||
f 57/113/5 58/114/5 59/115/5 60/116/5
|
||||
f 60/116/2 59/115/2 61/117/2 62/118/2
|
||||
f 62/118/6 61/117/6 63/119/6 64/120/6
|
||||
f 64/121/4 63/122/4 58/114/4 57/113/4
|
||||
f 60/123/3 62/124/3 64/125/3 57/126/3
|
||||
f 61/117/1 59/115/1 58/127/1 63/128/1
|
||||
f 66/129/1 65/130/1 68/131/1 67/132/1
|
||||
f 70/133/3 71/134/3 72/135/3 69/136/3
|
|
@ -0,0 +1,21 @@
|
|||
-----------------Moreblock
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("badland_wood", "wood", "badland:badland_wood", {
|
||||
description = "Frost Land Wood",
|
||||
tiles = {"badland_wood.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("badland_tree", "tree", "badland:badland_tree", {
|
||||
description = "Japanese Tree",
|
||||
tiles = {"badland_tree_top.png", "badland_tree_top.png",
|
||||
"badland_tree.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
|
||||
|
||||
end
|
|
@ -0,0 +1,318 @@
|
|||
minetest.register_node("badland:badland_grass", {
|
||||
description = "Badland Grass",
|
||||
tiles = {"badland_grass.png", "default_dirt.png",
|
||||
{name = "default_dirt.png^badland_grass_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("badland:badland_leaves", {
|
||||
description = "Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_leaves_2", {
|
||||
description = "Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves_2.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves_2"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_leaves_3", {
|
||||
description = "Badland Leaves",
|
||||
drawtype = "allfaces_optional",
|
||||
waving = 1,
|
||||
tiles = {"badland_leaves_3.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {snappy = 3, leafdecay = 3, flammable = 2, leaves = 1},
|
||||
drop = {
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"badland:badland_sapling"}, rarity = 20},
|
||||
{items = {"badland:badland_leaves_3"}}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
|
||||
after_place_node = after_place_leaves,
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_tree", {
|
||||
description = "Badlands Tree",
|
||||
tiles = {"badland_tree_top.png", "badland_tree_top.png",
|
||||
"badland_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("badland:badland_wood", {
|
||||
description = "Badlands Tree",
|
||||
tiles = {"badland_wood.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
|
||||
})
|
||||
|
||||
doors.register_trapdoor("badland:badland_trapdoor", {
|
||||
description = "Badlands Trapdoor",
|
||||
inventory_image = "badland_trapdoor.png",
|
||||
wield_image = "badland_trapdoor.png",
|
||||
tile_front = "badland_trapdoor.png",
|
||||
tile_side = "badland_trapdoor_side.png",
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
|
||||
})
|
||||
|
||||
|
||||
doors.register("badland_door", {
|
||||
tiles = {{ name = "doors_badland_door.png", backface_culling = true }},
|
||||
description = "Badlands Door",
|
||||
inventory_image = "doors_item_badland.png",
|
||||
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
recipe = {
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
{"badland:badland_wood", "badland:badland_wood"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
doors.register_fencegate("badland:gate_badland", {
|
||||
description = "Badlands Wood Fence Gate",
|
||||
texture = "badland_wood_fence.png",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
default.register_fence("badland:fence_badland_wood", {
|
||||
description = "Badlands Wood Fence",
|
||||
texture = "badland_wood_fence.png",
|
||||
inventory_image = "default_fence_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence_rail("badland:fence_rail_badland_wood", {
|
||||
description = "Badlands Wood Fence Rail",
|
||||
texture = "badland_wood_fence.png",
|
||||
inventory_image = "default_fence_rail_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_rail_overlay.png^badland_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
material = "badland:badland_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("badland:badland_grass_1", {
|
||||
description = "Badland Grass",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"badland_grass_1.png"},
|
||||
-- Use texture of a taller grass stage in inventory
|
||||
inventory_image = "badland_grass_3.png",
|
||||
wield_image = "badland_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},
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_wheat"}, rarity = 5},
|
||||
{items = {"badland:badland_grass_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("badland:badland_grass_" .. math.random(1,5))
|
||||
local ret = minetest.item_place(stack, placer, pointed_thing)
|
||||
return ItemStack("badland:badland_grass_1 " ..
|
||||
itemstack:get_count() - (1 - ret:get_count()))
|
||||
end,
|
||||
})
|
||||
|
||||
for i = 2, 5 do
|
||||
minetest.register_node("badland:badland_grass_" .. i, {
|
||||
description = "Badland Grass",
|
||||
drawtype = "plantlike",
|
||||
waving = 1,
|
||||
tiles = {"badland_grass_" .. i .. ".png"},
|
||||
inventory_image = "badland_grass_" .. i .. ".png",
|
||||
wield_image = "badland_grass_" .. i .. ".png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
drop = "badland:badland_grass_1",
|
||||
groups = {snappy = 3, flora = 1, attached_node = 1,
|
||||
not_in_creative_inventory = 1, grass = 1, flammable = 1},
|
||||
max_items = 1,
|
||||
items = {
|
||||
{items = {"farming:seed_wheat"}, rarity = 5},
|
||||
{items = {"badland:badland_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},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("badland:scarecrow", {
|
||||
description = "Scarecrow",
|
||||
drawtype = "mesh",
|
||||
mesh = "scarecrow.obj",
|
||||
paramtype2 = "facedir",
|
||||
tiles = {
|
||||
"badland_scarecrow.png",
|
||||
},
|
||||
visual_scale = 0.5,
|
||||
wield_image = "badland_scarecrow_item.png",
|
||||
wield_scale = {x=1.0, y=1.0, z=1.0},
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 1, 0.3}
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3, -0.5, -0.3, 0.3, 1, 0.3}
|
||||
},
|
||||
inventory_image = "badland_scarecrow_item.png",
|
||||
groups = {choppy = 1, oddly_breakable_by_hand = 1},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
-- Pumpkin
|
||||
minetest.register_node("badland:pumpkin_block", {
|
||||
description = "Pumpkin Block",
|
||||
tiles = {"badland_pumpkin_fruit_top.png", "badland_pumpkin_fruit_top.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side_off.png"},
|
||||
paramtype2 = "facedir",
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30},
|
||||
on_construct = pumpkin_on_construct
|
||||
})
|
||||
|
||||
-- PUMPKIN LANTERN -- from recipe
|
||||
minetest.register_node("badland:pumpkin_lantern", {
|
||||
description = "Pumpkin Lantern",
|
||||
tiles = {"badland_pumpkin_fruit_top.png", "badland_pumpkin_fruit_top.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side.png", "badland_pumpkin_fruit_side_on.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
is_ground_content = false,
|
||||
light_source = 12,
|
||||
drop = "badland:pumpkin_lantern",
|
||||
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30},
|
||||
on_construct = pumpkin_on_construct
|
||||
})
|
||||
|
||||
minetest.register_node("badland:badland_sapling", {
|
||||
description = "Badland Sapling",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"badland_sapling.png"},
|
||||
inventory_image = "badland_sapling.png",
|
||||
wield_image = "badland_sapling.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
on_timer = grow_new_badland_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,
|
||||
"badland:badland_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,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("bonemeal") ~= nil then
|
||||
bonemeal:add_sapling({
|
||||
{"badland:badland_sapling", grow_new_badland_tree, "soil"},
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
|
||||
local function grow_new_badland_tree(pos)
|
||||
if not default.can_grow(pos) then
|
||||
-- try a bit later again
|
||||
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||
return
|
||||
end
|
||||
minetest.remove_node(pos)
|
||||
minetest.place_schematic({x = pos.x-1, y = pos.y, z = pos.z-1}, modpath.."/schematics/badland_tree_1.mts", "0", nil, false)
|
||||
end
|
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 192 B |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 274 B |
After Width: | Height: | Size: 451 B |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 203 B |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 258 B |
After Width: | Height: | Size: 218 B |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 383 B |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 169 B |
After Width: | Height: | Size: 211 B |
After Width: | Height: | Size: 449 B |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 542 B |
After Width: | Height: | Size: 291 B |
|
@ -0,0 +1,2 @@
|
|||
# bambooforest
|
||||
A simple and pleasant little mod, which adds a bamboo biome with a few more objects.
|
|
@ -0,0 +1,7 @@
|
|||
default
|
||||
flowers
|
||||
moreblocks?
|
||||
walls?
|
||||
doors
|
||||
farming
|
||||
bonemeal?
|
|
@ -0,0 +1,784 @@
|
|||
|
||||
|
||||
-- Bamboo
|
||||
minetest.register_node("bambooforest:bamboo", {
|
||||
description = "Bamboo",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bambooforest_bamboo_tree.png"},
|
||||
inventory_image = "bambooforest_bamboo_tree.png",
|
||||
wield_image = "bambooforest_bamboo_tree.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.10, -0.5, -0.10, 0.10, 0.5, 0.10}
|
||||
},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_dig_node = function(pos, node, metadata, digger)
|
||||
default.dig_up(pos, node, digger)
|
||||
end
|
||||
})
|
||||
---------Biome
|
||||
minetest.register_biome({
|
||||
name = "bamboo_forest",
|
||||
node_top = "bambooforest:dirt_with_bamboo",
|
||||
depth_top = 1,
|
||||
node_filler = "default:dirt",
|
||||
depth_filler = 70,
|
||||
node_riverbed = "default:sand",
|
||||
depth_riverbed = 3,
|
||||
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,
|
||||
})
|
||||
-------------Sapling
|
||||
minetest.register_node("bambooforest:bamboo_sapling", {
|
||||
description = "Bamboo Sapling",
|
||||
drawtype = "plantlike",
|
||||
tiles = {"bambooforest_bamboo_sapling.png"},
|
||||
inventory_image = "bambooforest_bamboo_sapling.png",
|
||||
wield_image = "bambooforest_bamboo_sapling.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
on_timer = grow_sapling,
|
||||
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,
|
||||
"bambooforest:bamboo_sapling",
|
||||
-- minp, maxp to be checked, relative to sapling pos
|
||||
-- minp_relative.y = 1 because sapling pos has been checked
|
||||
{x = -2, y = 1, z = -2},
|
||||
{x = 2, y = 15, z = 2},
|
||||
-- maximum interval of interior volume check
|
||||
4)
|
||||
|
||||
return itemstack
|
||||
end,
|
||||
})
|
||||
------------Shematics
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_2",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_2.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_3",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_3.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_4",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_4.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_5",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_5.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_5",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_5.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_6",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_6.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_7",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_7.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_8",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_8.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:bamboo_tree_9",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/bamboo_tree_9.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:ruins_1",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = -1,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.000135,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 30,
|
||||
y_min = 10,
|
||||
schematic = minetest.get_modpath("bambooforest").."/schematics/ruins_1.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "bambooforest:jungle_tree",
|
||||
deco_type = "schematic",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
place_offset_y = 0,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.021565,
|
||||
biomes = {"bamboo_forest"},
|
||||
y_max = 31000,
|
||||
y_min = -20,
|
||||
schematic = minetest.get_modpath("default").."/schematics/jungle_tree.mts",
|
||||
flags = "place_center_x, place_center_z",
|
||||
rotation = "random",
|
||||
})
|
||||
|
||||
|
||||
|
||||
--------------Decoration (node)
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.1,
|
||||
biomes = {"bamboo_forest"},
|
||||
decoration = {
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"bamboo_forest"},
|
||||
decoration = {
|
||||
"flowers:mushroom_brown", "flowers:mushroom_red"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.05,
|
||||
biomes = {"bamboo_forest"},
|
||||
decoration = {
|
||||
"bambooforest:melon_block",
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"bambooforest:dirt_with_bamboo"},
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.2,
|
||||
biomes = {"bamboo_forest"},
|
||||
decoration = {
|
||||
"default:grass_1", "default:grass_2",
|
||||
"default:grass_3", "default:grass_4",
|
||||
"default:grass_5",
|
||||
}
|
||||
})
|
||||
|
||||
-----Sapling
|
||||
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.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_1.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_2.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_3.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_4.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_5.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_6.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_7.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_8.mts", "0", nil, true)
|
||||
minetest.place_schematic({x = pos.x, y = pos.y, z = pos.z}, modpath.."/schematics/bamboo_tree_9.mts", "0", nil, true)
|
||||
end
|
||||
|
||||
---------------Node
|
||||
minetest.register_node("bambooforest:bamboo_wood", {
|
||||
description = "Bamboo Wood",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"bamboo_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("bambooforest:dirt_with_bamboo", {
|
||||
description = "Dirt with Bamboo",
|
||||
tiles = {"bambooforest_bamboo_grass.png", "default_dirt.png",
|
||||
{name = "default_dirt.png^bambooforest_bamboo_grass_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("bambooforest:bamboo_glass", {
|
||||
description = "Bamboo Glass",
|
||||
drawtype = "allfaces",
|
||||
tiles = {"bamboo_glass.png"},
|
||||
use_texture_alpha = true,
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("bambooforest:bamboo_block", {
|
||||
description = "Bamboo Block",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"bamboo_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
doors.register_trapdoor("bambooforest:bamboo_trapdoor", {
|
||||
description = "Bamboo Trapdoor",
|
||||
inventory_image = "bamboo_trapdoor.png",
|
||||
wield_image = "bamboo_trapdoor.png",
|
||||
tile_front = "bamboo_trapdoor.png",
|
||||
tile_side = "bamboo_trapdoor_side.png",
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
|
||||
})
|
||||
|
||||
doors.register_fencegate("bambooforest:gate_bamboo", {
|
||||
description = "Bamboo Wood Fence Gate",
|
||||
texture = "bamboo_wood_fence.png",
|
||||
material = "bambooforest:bamboo_wood",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
|
||||
})
|
||||
|
||||
doors.register("bamboo_door", {
|
||||
tiles = {{ name = "doors_bamboo_door.png", backface_culling = true }},
|
||||
description = "Bamboo Door",
|
||||
inventory_image = "doors_item_bamboo.png",
|
||||
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
gain_open = 0.06,
|
||||
gain_close = 0.13,
|
||||
recipe = {
|
||||
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
|
||||
{"bambooforest:bamboo_wood", "bambooforest:fiber_bamboo"},
|
||||
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("bambooforest:granite", {
|
||||
description = "Granite",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"granite.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2, level = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("bambooforest:granite_block", {
|
||||
description = "Granite Block",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"granite_block.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 2, stone = 2, level = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("bambooforest:granite_brick", {
|
||||
description = "Granite Brick",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {"granite_brick.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2, level = 2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-------------Item
|
||||
minetest.register_craftitem("bambooforest:bamboo_cooked", {
|
||||
description = "Bamboo Cooked",
|
||||
inventory_image = "bamboo_cooked.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_bread = 1},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("bambooforest:fiber_bamboo", {
|
||||
description = "Bamboo Fiber",
|
||||
inventory_image = "fibre_bamboo.png",
|
||||
|
||||
})
|
||||
|
||||
------------Crafting
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:bamboo_wood",
|
||||
recipe = {
|
||||
{"bambooforest:bamboo", "bambooforest:bamboo"},
|
||||
{"bambooforest:bamboo", "bambooforest:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:fiber_bamboo 8",
|
||||
recipe = {
|
||||
{"bambooforest:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:granite 4",
|
||||
recipe = {
|
||||
{"default:sand", "default:silver_sand"},
|
||||
{"default:gravel", "default:stone"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:granite_block 9",
|
||||
recipe = {
|
||||
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
|
||||
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
|
||||
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:granite_brick 4",
|
||||
recipe = {
|
||||
{"bambooforest:granite_block", "bambooforest:granite_block"},
|
||||
{"bambooforest:granite_block", "bambooforest:granite_block"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:bamboo_glass",
|
||||
recipe = {
|
||||
{"", "bambooforest:bamboo", ""},
|
||||
{"bambooforest:bamboo", "default:glass", "bambooforest:bamboo"},
|
||||
{"", "bambooforest:bamboo", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:bamboo_block",
|
||||
recipe = {
|
||||
{"bambooforest:bamboo_wood", "bambooforest:bamboo", "bambooforest:bamboo_wood"},
|
||||
{"bambooforest:bamboo", "bambooforest:bamboo_wood", "bambooforest:bamboo"},
|
||||
{"bambooforest:bamboo_wood", "bambooforest:bamboo", "bambooforest:bamboo_wood"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:bamboo_sapling",
|
||||
recipe = {
|
||||
{"bambooforest:bamboo", "default:dirt"},
|
||||
{"default:dirt", "bambooforest:bamboo"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:bamboo_trapdoor 2",
|
||||
recipe = {
|
||||
{"bambooforest:fiber_bamboo", "bambooforest:bamboo_wood", "bambooforest:fiber_bamboo"},
|
||||
{"bambooforest:bamboo_wood", "bambooforest:fiber_bamboo", "bambooforest:bamboo_wood"},
|
||||
{"", "", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "walls:bamboo_block 6",
|
||||
recipe = {
|
||||
{"bambooforest:bamboo_block", "bambooforest:bamboo_block", "bambooforest:bamboo_block"},
|
||||
{"bambooforest:bamboo_block", "bambooforest:bamboo_block", "bambooforest:bamboo_block"},
|
||||
{"", "", ""},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:melon 4",
|
||||
recipe = {
|
||||
{"bambooforest:melon_block"},
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "bambooforest:seed_melon 1",
|
||||
recipe = {
|
||||
{"bambooforest:melon"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
cooktime = 20,
|
||||
output = "bambooforest:bamboo_cooked",
|
||||
recipe = "bambooforest:bamboo"
|
||||
})
|
||||
|
||||
--------Fence
|
||||
|
||||
default.register_fence("bambooforest:fence_bamboo_wood", {
|
||||
description = "Bamboo Wood Fence",
|
||||
texture = "bamboo_wood_fence.png",
|
||||
inventory_image = "default_fence_overlay.png^bamboo_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_overlay.png^bamboo_wood_fence.png^" ..
|
||||
"default_fence_overlay.png^[makealpha:255,126,126",
|
||||
material = "bambooforest:bamboo_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
|
||||
default.register_fence_rail("bambooforest:fence_rail_bamboo_wood", {
|
||||
description = "Bamboo Wood Fence Rail",
|
||||
texture = "bamboo_wood_fence.png",
|
||||
inventory_image = "default_fence_rail_overlay.png^bamboo_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
wield_image = "default_fence_rail_overlay.png^bamboo_wood_fence.png^" ..
|
||||
"default_fence_rail_overlay.png^[makealpha:255,126,126",
|
||||
material = "bambooforest:bamboo_wood",
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
||||
------------------Mapgen
|
||||
|
||||
-- Granite
|
||||
|
||||
minetest.register_ore({
|
||||
ore_type = "blob",
|
||||
ore = "bambooforest:granite",
|
||||
wherein = {"default:stone"},
|
||||
clust_scarcity = 16 * 16 * 16,
|
||||
clust_size = 5,
|
||||
y_max = -50,
|
||||
y_min = -31000,
|
||||
noise_threshold = 0.0,
|
||||
noise_params = {
|
||||
offset = 0.5,
|
||||
scale = 0.2,
|
||||
spread = {x = 5, y = 5, z = 5},
|
||||
seed = 766,
|
||||
octaves = 1,
|
||||
persist = 0.0
|
||||
},
|
||||
})
|
||||
|
||||
-----------------Moreblock
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
|
||||
stairsplus:register_all("bamboo_wood", "wood", "bambooforest:bamboo_wood", {
|
||||
description = "Bamboo Wood",
|
||||
tiles = {"bamboo_wood.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("bamboo_glass", "glass", "bambooforest:bamboo_glass", {
|
||||
description = "Bamboo Glass",
|
||||
tiles = {"bamboo_glass.png"},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("bamboo_block", "wood", "bambooforest:bamboo_block", {
|
||||
description = "Bamboo Block",
|
||||
tiles = {"bamboo_block.png"},
|
||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("granite", "stone", "bambooforest:granite", {
|
||||
description = "Granite",
|
||||
tiles = {"granite.png"},
|
||||
groups = {cracky = 3, stone = 2, level = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("granite_block", "stone", "bambooforest:granite_block", {
|
||||
description = "Granite Block",
|
||||
tiles = {"granite_block.png"},
|
||||
groups = {cracky = 3, stone = 2, level = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
stairsplus:register_all("granite_brick", "stone", "bambooforest:granite_brick", {
|
||||
description = "Granite Brick",
|
||||
tiles = {"granite_brick.png"},
|
||||
groups = {cracky = 3, stone = 2, level = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
if minetest.get_modpath("walls") then
|
||||
|
||||
|
||||
walls.register(":walls:bamboo_block", "Bamboo Block Wall", "bamboo_block.png",
|
||||
"bambooforest:bamboo_block", default.node_sound_wood_defaults())
|
||||
|
||||
walls.register(":walls:granite_brick", "Granite Brick Wall", "granite_brick.png",
|
||||
"bambooforest:granite_brick", default.node_sound_stone_defaults())
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "walls:granite_brick 6",
|
||||
recipe = {
|
||||
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
|
||||
{"bambooforest:granite", "bambooforest:granite", "bambooforest:granite"},
|
||||
{"", "", ""},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
-------Melon
|
||||
farming.register_plant("bambooforest:melon", {
|
||||
description = "Melon Seed",
|
||||
inventory_image = "melon_seed.png",
|
||||
steps = 8,
|
||||
minlight = 13,
|
||||
maxlight = default.LIGHT_MAX,
|
||||
fertility = {"bamboo_forest"},
|
||||
groups = {flammable = 4},
|
||||
place_param2 = 3,
|
||||
})
|
||||
|
||||
-- needed
|
||||
minetest.register_craftitem("bambooforest:melon", {
|
||||
description = "Melon",
|
||||
inventory_image = "melon.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_bread = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- Melon fruit harvest
|
||||
minetest.register_node("bambooforest:melon_fruit", {
|
||||
description = "Melon Fruit",
|
||||
tiles = {"bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png"},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30, not_in_creative_inventory=1},
|
||||
drop = {
|
||||
max_items = 7, -- Maximum number of items to drop.
|
||||
items = { -- Choose max_items randomly from this list.
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 1, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 2, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 2, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 2, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 3, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 3, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
{
|
||||
items = {"bambooforest:melon"}, -- Items to drop.
|
||||
rarity = 3, -- Probability of dropping is 1 / rarity.
|
||||
},
|
||||
},
|
||||
},
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
local parent = oldmetadata.fields.parent
|
||||
local parent_pos_from_child = minetest.string_to_pos(parent)
|
||||
local parent_node = nil
|
||||
|
||||
-- make sure we have position
|
||||
if parent_pos_from_child
|
||||
and parent_pos_from_child ~= nil then
|
||||
|
||||
parent_node = minetest.get_node(parent_pos_from_child)
|
||||
end
|
||||
|
||||
-- tick parent if parent stem still exists
|
||||
if parent_node
|
||||
and parent_node ~= nil
|
||||
and parent_node.name == "bambooforest:melon_8" then
|
||||
|
||||
farming.tick(parent_pos_from_child)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- MELON BLOCK - HARVEST from crops
|
||||
minetest.register_node("bambooforest:melon_block", {
|
||||
description = "Melon Block",
|
||||
tiles = {"bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_top.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png", "bambooforest_melon_fruit_side.png"},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
is_ground_content = false,
|
||||
groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}
|
||||
})
|
||||
|
||||
-- take over the growth from minetest_game bambooforest from here
|
||||
minetest.override_item("bambooforest:melon_8", {
|
||||
next_plant = "bambooforest:melon_block",
|
||||
on_timer = farming.grow_block
|
||||
})
|
||||
|
||||
-- replacement LBM for pre-nodetimer plants
|
||||
minetest.register_lbm({
|
||||
name = "bambooforest:start_nodetimer_melon",
|
||||
nodenames = {"bambooforest:melon_8"},
|
||||
action = function(pos, node)
|
||||
farming.tick_short(pos)
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("bonemeal") then
|
||||
|
||||
bonemeal:add_crop({
|
||||
{"bambooforest:melon_", 8, "bambooforest:seed_melon"},
|
||||
})
|
||||
|
||||
|
||||
|
||||
end
|
|
@ -0,0 +1,18 @@
|
|||
License
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Copyright (C) 2021-2022: Atlante - AFL-1.1
|
||||
License for code: AFL-1.1
|
||||
|
||||
Attribution — You must give appropriate credit, provide a link to the license, and
|
||||
indicate if changes were made. You may do so in any reasonable manner, but not in any way
|
||||
that suggests the licensor endorses you or your use.
|
||||
|
||||
ShareAlike — If you remix, transform, or build upon the material, you must distribute
|
||||
your contributions under the same license as the original.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Anyone can fix the mod. My Discord "Atlante#1952" And my Mail Address "AtlanteEtDocteur@gmail.com"
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
author = Atlante
|
||||
name = bambooforest
|
||||
|
||||
description = Adds a bamboo biome with a few more objects.
|
||||
title = Bamboo Forest
|
After Width: | Height: | Size: 642 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 547 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 164 B |
After Width: | Height: | Size: 193 B |
After Width: | Height: | Size: 107 B |
After Width: | Height: | Size: 115 B |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 138 B |
After Width: | Height: | Size: 144 B |
After Width: | Height: | Size: 151 B |
After Width: | Height: | Size: 161 B |
After Width: | Height: | Size: 164 B |
After Width: | Height: | Size: 204 B |
After Width: | Height: | Size: 214 B |
After Width: | Height: | Size: 506 B |
After Width: | Height: | Size: 480 B |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.0 KiB |