diff --git a/LICENSE.txt b/LICENSE.txt index efe6fc4..4a874bf 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -878,6 +878,13 @@ GNU Lesser General Public License v2.1 or later - everness_cursed_stone_carved.png - everness_crystal_block_cyan_top.png - everness_crystal_block_cyan.png +- everness_mese_leaves.png +- everness_mese_tree_fruit_item.png +- everness_mese_tree_fruit_side.png +- everness_mese_tree_fruit_top.png +- everness_mese_tree_sapling.png +- everness_mese_tree_top.png +- everness_mese_wood.png **CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated @@ -1479,3 +1486,5 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/ - everness_willow_tree_from_sapling.mts - everness_willow_tree.lua - everness_willow_tree.mts +- everness_mese_tree.lua +- everness_mese_tree.mts diff --git a/api.lua b/api.lua index 0423e58..2651b2b 100644 --- a/api.lua +++ b/api.lua @@ -768,7 +768,10 @@ local function leafdecay_after_destruct(pos, oldnode, def) do local node = minetest.get_node(v) local timer = minetest.get_node_timer(v) - if node.param2 ~= 1 and not timer:is_started() then + if node.param2 ~= 1 + and minetest.get_meta(v):get_int('everness_prevent_leafdecay') ~= 1 + and not timer:is_started() + then timer:start(math.random(20, 120) / 10) end end diff --git a/assets/schematics/everness_mese_tree.lua b/assets/schematics/everness_mese_tree.lua new file mode 100644 index 0000000..fd21f28 --- /dev/null +++ b/assets/schematics/everness_mese_tree.lua @@ -0,0 +1,557 @@ +schematic = { + size = {x=7, y=11, z=7}, + yslice_prob = { + {ypos=0, prob=254}, + {ypos=1, prob=254}, + {ypos=2, prob=254}, + {ypos=3, prob=254}, + {ypos=4, prob=254}, + {ypos=5, prob=254}, + {ypos=6, prob=254}, + {ypos=7, prob=254}, + {ypos=8, prob=254}, + {ypos=9, prob=254}, + {ypos=10, prob=254}, + }, + data = { + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree_fruit", prob=84, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0, force_place=true}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0, force_place=true}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=18}, + {name="everness:mese_tree", prob=254, param2=0, force_place=true}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0, force_place=true}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=7}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree_fruit", prob=84, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree_fruit", prob=84, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_tree", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_tree_fruit", prob=84, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=126, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="everness:mese_leaves", prob=254, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + {name="air", prob=0, param2=0}, + }, +} diff --git a/crafting.lua b/crafting.lua index a9bf514..92de4bb 100644 --- a/crafting.lua +++ b/crafting.lua @@ -286,6 +286,13 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'everness:mese_wood 4', + recipe = { + { 'everness:mese_tree' }, + } +}) + minetest.register_craft({ output = 'everness:coral_sandstone 4', recipe = { @@ -588,14 +595,14 @@ minetest.register_craft({ } }) --- minetest.register_craft({ --- output = 'default:mese_crystal_fragment', --- recipe = { --- { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, --- { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, --- { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, --- } --- }) +minetest.register_craft({ + output = 'default:mese_crystal_fragment', + recipe = { + { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, + { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, + { 'everness:mese_tree_fruit', 'everness:mese_tree_fruit', 'everness:mese_tree_fruit' }, + } +}) -- Crystals @@ -721,6 +728,12 @@ minetest.register_craft({ burntime = 15, }) +minetest.register_craft({ + type = 'fuel', + recipe = 'everness:mese_wood', + burntime = 15, +}) + minetest.register_craft({ type = 'fuel', recipe = 'everness:bamboo_item', diff --git a/functions.lua b/functions.lua index 475e8d6..baa3557 100644 --- a/functions.lua +++ b/functions.lua @@ -237,12 +237,15 @@ Everness:register_leafdecay({ 'everness:cursed_bush_stem', 'everness:willow_tree', 'everness:sequoia_tree', + 'everness:mese_tree', }, leaves = { 'everness:coral_leaves', 'everness:crystal_bush_leaves', 'everness:willow_leaves', 'everness:sequoia_leaves', + 'everness:mese_leaves', + 'everness:mese_tree_fruit' }, radius = 3 }) diff --git a/mapgen.lua b/mapgen.lua index 303fc60..95d9257 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -69,3 +69,94 @@ minetest.register_ore({ y_max = -5, y_min = -31000, }) + +-- +-- Decorations +-- + +local all_biomes_mese_tree_place_on = { + 'everness:coral_desert_stone_with_moss', + 'everness:coral_sand', + 'everness:crystal_moss_block', + 'everness:crystal_sand', + 'everness:cursed_dirt', + 'everness:cursed_sand', + 'everness:cursed_stone', + 'everness:dirt_with_coral_grass', + 'everness:dirt_with_crystal_grass', + 'everness:dirt_with_cursed_grass', + 'everness:dirt_with_grass_1', + 'everness:dry_dirt', + 'everness:dry_dirt_with_dry_grass', + 'everness:forsaken_desert_brick', + 'everness:forsaken_desert_chiseled_stone', + 'everness:forsaken_desert_engraved_stone', + 'everness:forsaken_desert_sand', + 'everness:forsaken_tundra_beach_sand', + 'everness:forsaken_tundra_dirt', + 'everness:forsaken_tundra_dirt_with_grass', + 'everness:frosted_ice', + 'everness:frosted_ice_translucent', + 'everness:frosted_snowblock', + 'everness:sulfur_stone', + 'everness:volcanic_sulfur' +} + +if minetest.get_modpath('default') then + table.insert_all(all_biomes_mese_tree_place_on, { + 'default:desert_sand', + 'default:dirt', + 'default:dirt_with_coniferous_litter', + 'default:dirt_with_grass', + 'default:dirt_with_rainforest_litter', + 'default:dirt_with_snow', + 'default:dry_dirt', + 'default:dry_dirt_with_dry_grass', + 'default:gravel', + 'default:permafrost_with_moss', + 'default:permafrost_with_stones', + 'default:sand', + 'default:silver_sand', + 'default:stone' + }) +end + +minetest.register_decoration({ + name = 'everness:all_biomes_mese_tree', + deco_type = 'schematic', + place_on = all_biomes_mese_tree_place_on, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.002, + spread = { x = 250, y = 250, z = 250 }, + seed = 2, + octaves = 3, + persist = 0.66 + }, + y_max = 250, + y_min = 80, + schematic = minetest.get_modpath('everness') .. '/schematics/everness_mese_tree.mts', + flags = 'place_center_x, place_center_z', + rotation = 'random', +}) + +minetest.register_decoration({ + name = 'everness:all_biomes_mese_tree_2', + deco_type = 'schematic', + place_on = all_biomes_mese_tree_place_on, + sidelen = 16, + noise_params = { + offset = -0.004, + scale = 0.01, + spread = { x = 100, y = 100, z = 100 }, + seed = 137, + octaves = 3, + persist = 0.7, + }, + y_max = 250, + y_min = 80, + schematic = minetest.get_modpath('everness') .. '/schematics/everness_mese_tree.mts', + flags = 'place_center_x, place_center_z', + rotation = 'random' +}) diff --git a/mapgen_forsaken_tundra.lua b/mapgen_forsaken_tundra.lua index 2b19039..7d8c6db 100644 --- a/mapgen_forsaken_tundra.lua +++ b/mapgen_forsaken_tundra.lua @@ -120,25 +120,6 @@ minetest.register_decoration({ decoration = { 'everness:sulfur_stone' }, }) -minetest.register_decoration({ - name = 'everness:forsaken_tundra_volcanic_sulfur_on_top_of_sulfur_stone', - deco_type = 'simple', - place_on = { 'everness:sulfur_stone' }, - sidelen = 4, - noise_params = { - offset = -4, - scale = 4, - spread = { x = 50, y = 50, z = 50 }, - seed = 7013, - octaves = 3, - persist = 0.7, - }, - biomes = { 'everness_forsaken_tundra' }, - y_max = y_max, - y_min = y_min, - decoration = { 'everness:volcanic_sulfur' }, -}) - minetest.register_decoration({ name = 'everness:forsaken_tundra_dirt_with_grass', deco_type = 'simple', @@ -164,45 +145,22 @@ minetest.register_decoration({ }) minetest.register_decoration({ - name = 'everness:forsaken_tundra_bloodpore_plant', + name = 'everness:forsaken_tundra_volcanic_sulfur_on_top_of_sulfur_stone', deco_type = 'simple', - place_on = { 'everness:forsaken_tundra_dirt_with_grass' }, - sidelen = 16, + place_on = { 'everness:sulfur_stone' }, + sidelen = 4, noise_params = { - offset = -0.03, - scale = 0.09, - spread = { x = 200, y = 200, z = 200 }, - seed = 329, + offset = -4, + scale = 4, + spread = { x = 50, y = 50, z = 50 }, + seed = 7013, octaves = 3, - persist = 0.6 + persist = 0.7, }, biomes = { 'everness_forsaken_tundra' }, y_max = y_max, y_min = y_min, - decoration = 'everness:bloodspore_plant', - param2 = 8, -}) - -minetest.register_decoration({ - name = 'everness:forsaken_tundra_bloodspore_plant_on_dirt', - deco_type = 'simple', - place_on = { 'everness:forsaken_tundra_dirt' }, - spawn_by = 'everness:forsaken_tundra_dirt_with_grass', - num_spawn_by = 1, - sidelen = 16, - noise_params = { - offset = -0.03, - scale = 0.09, - spread = { x = 200, y = 200, z = 200 }, - seed = 329, - octaves = 3, - persist = 0.6 - }, - biomes = { 'everness_forsaken_tundra' }, - y_max = y_max, - y_min = y_min, - decoration = 'everness:bloodspore_plant', - param2 = 8, + decoration = { 'everness:volcanic_sulfur' }, }) minetest.register_decoration({ @@ -248,3 +206,45 @@ minetest.register_decoration({ spawn_by = { 'everness:forsaken_tundra_dirt', 'everness:volcanic_sulfur' }, num_spawn_by = 8, }) + +minetest.register_decoration({ + name = 'everness:forsaken_tundra_bloodpore_plant', + deco_type = 'simple', + place_on = { 'everness:forsaken_tundra_dirt_with_grass' }, + sidelen = 16, + noise_params = { + offset = -0.03, + scale = 0.09, + spread = { x = 200, y = 200, z = 200 }, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { 'everness_forsaken_tundra' }, + y_max = y_max, + y_min = y_min, + decoration = 'everness:bloodspore_plant', + param2 = 8, +}) + +minetest.register_decoration({ + name = 'everness:forsaken_tundra_bloodspore_plant_on_dirt', + deco_type = 'simple', + place_on = { 'everness:forsaken_tundra_dirt' }, + spawn_by = 'everness:forsaken_tundra_dirt_with_grass', + num_spawn_by = 1, + sidelen = 16, + noise_params = { + offset = -0.03, + scale = 0.09, + spread = { x = 200, y = 200, z = 200 }, + seed = 329, + octaves = 3, + persist = 0.6 + }, + biomes = { 'everness_forsaken_tundra' }, + y_max = y_max, + y_min = y_min, + decoration = 'everness:bloodspore_plant', + param2 = 8, +}) diff --git a/mod_support_mcl.lua b/mod_support_mcl.lua index a526afa..af9472c 100644 --- a/mod_support_mcl.lua +++ b/mod_support_mcl.lua @@ -875,6 +875,22 @@ mcl_stairs.register_stair_and_slab( nil ) +-- Mese Wood + +mcl_stairs.register_stair_and_slab( + 'mese_wood', + 'everness:mese_wood', + { handy = 1, axey = 1, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, flammable = 3, wood = 1, }, + { 'everness_mese_wood.png' }, + S('Mese Wood Stair'), + S('Mese Wood Slab'), + Everness.node_sound_wood_defaults(), + 6, + 2, + S('Double Mese Wood Slab'), + nil +) + --- -- Doors --- diff --git a/mod_support_x_farming.lua b/mod_support_x_farming.lua index ecadf4b..a0d88ac 100644 --- a/mod_support_x_farming.lua +++ b/mod_support_x_farming.lua @@ -194,6 +194,22 @@ x_farming.x_bonemeal:register_tree_defs({ Everness.grow_cursed_dream_tree(pos) + return true + end + }, + { + -- sapling name + name = 'everness:mese_tree_sapling', + -- 1 out of `chance`, e.g. 2 = 50% chance + chance = 4, + -- grow tree from sapling + grow_tree = function(pos) + if not x_farming.x_bonemeal.is_on_soil(pos) then + return false + end + + Everness.grow_mese_tree(pos) + return true end }, diff --git a/nodes.lua b/nodes.lua index 3d036a5..dfdeef1 100644 --- a/nodes.lua +++ b/nodes.lua @@ -3616,26 +3616,83 @@ minetest.register_node('everness:crystal_wood', { sounds = Everness.node_sound_wood_defaults(), }) --- Everness:register_node('everness:mese_tree', { --- description = S('Mese Tree Trunk'), --- short_description = S('Mese Tree Trunk'), --- tiles = { --- { --- name = 'everness_mese_tree_side_animated.png', --- animation = { --- type = 'vertical_frames', --- aspect_w = 16, --- aspect_h = 16, --- length = 2 --- } --- }, --- }, --- paramtype2 = 'facedir', --- is_ground_content = false, --- groups = { tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 }, --- sounds = Everness.node_sound_wood_defaults(), --- on_place = minetest.rotate_node --- }) +Everness:register_node('everness:mese_tree', { + description = S('Mese Tree Trunk'), + short_description = S('Mese Tree Trunk'), + tiles = { + { name = 'everness_mese_tree_top.png' }, + { name = 'everness_mese_tree_top.png' }, + { + name = 'everness_mese_tree_side_animated.png', + align_style = 'world', + scale = 8, + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 8 + } + }, + }, + paramtype2 = 'facedir', + is_ground_content = false, + groups = { tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 }, + sounds = Everness.node_sound_wood_defaults(), + on_place = minetest.rotate_node +}) + +Everness:register_node('everness:mese_leaves', { + description = S('Mese Tree Leaves'), + short_description = S('Mese Tree Leaves'), + drawtype = 'allfaces_optional', + waving = 1, + tiles = { 'everness_mese_leaves.png' }, + special_tiles = { 'everness_mese_leaves.png' }, + paramtype = 'light', + is_ground_content = false, + sunlight_propagates = true, + groups = { + -- MTG + snappy = 3, + leafdecay = 3, + -- MCL + handy = 1, + hoey = 1, + shearsy = 1, + swordy = 1, + dig_by_piston = 1, + fire_encouragement = 30, + fire_flammability = 60, + deco_block = 1, + compostability = 30, + -- ALL + flammable = 2, + leaves = 1, + }, + _mcl_shears_drop = true, + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, + _mcl_silk_touch_drop = true, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/30 chance + items = { 'everness:mese_tree_sapling' }, + rarity = 60, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = { 'everness:mese_leaves' }, + } + } + }, + sounds = Everness.node_sound_leaves_defaults(), + after_place_node = function(pos, placer, itemstack, pointed_thing) + return Everness:after_place_leaves(pos, placer, itemstack, pointed_thing) + end +}) Everness:register_node('everness:baobab_leaves', { description = S('Baobab Tree Leaves'), @@ -6708,6 +6765,120 @@ for i = 2, 3 do }) end +-- Mese Fruit + +Everness:register_node('everness:mese_tree_fruit', { + description = S('Mese Fruit'), + drawtype = 'nodebox', + tiles = { + 'everness_mese_tree_fruit_top.png', + 'everness_mese_tree_fruit_top.png', + 'everness_mese_tree_fruit_side.png', + }, + use_texture_alpha = 'clip', + inventory_image = 'everness_mese_tree_fruit_item.png', + wield_image = 'everness_mese_tree_fruit_item.png', + paramtype = 'light', + paramtype2 = 'wallmounted', + sunlight_propagates = true, + walkable = false, + buildable_to = false, + groups = { + -- MTG + snappy = 3, + leafdecay = 3, + leafdecay_drop = 1, + -- MCL + handy = 1, + hoey = 1, + shearsy = 1, + swordy = 1, + dig_by_piston = 1, + fire_encouragement = 30, + fire_flammability = 60, + deco_block = 1, + compostability = 30, + -- ALL + -- attached_node = 1, + flammable = 1, + }, + _mcl_shears_drop = true, + _mcl_blast_resistance = 0.2, + _mcl_hardness = 0.2, + sounds = Everness.node_sound_leaves_defaults(), + node_box = { + type = 'fixed', + fixed = { + -- bottom + { -8 / 16, -7 / 16, -8 / 16, 8 / 16, -7 / 16, 8 / 16 }, + -- body (middle) + { -4 / 16, -8 / 16, -4 / 16, 4 / 16, -1 / 16, 4 / 16 }, + -- top + { -3 / 16, -1 / 16, -3 / 16, 3 / 16, 0, 3 / 16 } + } + }, + selection_box = { + type = 'fixed', + fixed = { -8 / 16, -8 / 16, -8 / 16, 8 / 16, -5 / 16, 8 / 16 }, + }, + light_source = 14, + after_place_node = function(pos, placer, itemstack, pointed_thing) + minetest.get_meta(pos):set_int('everness_prevent_leafdecay', 1) + end +}) + +Everness:register_node('everness:mese_tree_sapling', { + description = S('Mese Tree Sapling'), + short_description = S('Mese Tree Sapling'), + drawtype = 'plantlike', + tiles = { 'everness_mese_tree_sapling.png' }, + inventory_image = 'everness_mese_tree_sapling.png', + wield_image = 'everness_mese_tree_sapling.png', + paramtype = 'light', + sunlight_propagates = true, + walkable = false, + selection_box = { + type = 'fixed', + fixed = { -4 / 16, -0.5, -4 / 16, 4 / 16, 7 / 16, 4 / 16 } + }, + groups = { + -- MTG + snappy = 2, + flammable = 2, + -- MCL + plant = 1, + non_mycelium_plant = 1, + deco_block = 1, + dig_by_water = 1, + dig_by_piston = 1, + destroy_by_lava_flow = 1, + compostability = 30, + -- ALL + dig_immediate = 3, + attached_node = 1, + sapling = 1, + }, + _mcl_blast_resistance = 0, + _mcl_hardness = 0, + sounds = Everness.node_sound_leaves_defaults(), + on_timer = function(...) + Everness.grow_sapling(...) + end, + on_construct = function(pos) + minetest.get_node_timer(pos):start(math.random(300, 1500)) + end, + on_place = function(itemstack, placer, pointed_thing) + local on_place_props = { + sapling_name = 'everness:mese_tree_sapling', + minp_relative = { x = -3, y = 1, z = -3 }, + maxp_relative = { x = 3, y = 11, z = 3 }, + interval = 4, + } + + return Everness:sapling_on_place(itemstack, placer, pointed_thing, on_place_props) + end, +}) + -- Cursed Lands Plants Everness:register_node('everness:egg_plant', { @@ -7599,6 +7770,34 @@ Everness:register_node('everness:sequoia_wood', { sounds = Everness.node_sound_wood_defaults(), }) +Everness:register_node('everness:mese_wood', { + description = S('Mese Wood Planks'), + paramtype2 = 'facedir', + place_param2 = 0, + tiles = { 'everness_mese_wood.png' }, + is_ground_content = false, + groups = { + -- MTG + choppy = 3, + oddly_breakable_by_hand = 2, + -- Everness + everness_wood = 1, + -- MCL + handy = 1, + axey = 1, + building_block = 1, + material_wood = 1, + fire_encouragement = 5, + fire_flammability = 20, + -- ALL + flammable = 3, + wood = 1, + }, + _mcl_blast_resistance = 3, + _mcl_hardness = 2, + sounds = Everness.node_sound_wood_defaults(), +}) + -- -- Corals -- @@ -9124,7 +9323,6 @@ Everness:register_node('everness:floating_crystal', { not_in_creative_inventory = 1, -- MLC handy = 1, - glass = 1, building_block = 1, material_glass = 1, }, diff --git a/schematics/everness_mese_tree.mts b/schematics/everness_mese_tree.mts new file mode 100644 index 0000000..9828b61 Binary files /dev/null and b/schematics/everness_mese_tree.mts differ diff --git a/stairs.lua b/stairs.lua index ceceee7..0cc17f4 100644 --- a/stairs.lua +++ b/stairs.lua @@ -294,6 +294,19 @@ stairs.register_stair_and_slab( true ) +-- Mese Wood + +stairs.register_stair_and_slab( + 'mese_wood', + 'everness:mese_wood', + { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }, + { 'everness_mese_wood.png' }, + S('Mese Wood Stair'), + S('Mese Wood Slab'), + Everness.node_sound_wood_defaults(), + true +) + -- Magma Cobble stairs.register_stair_and_slab( diff --git a/textures/everness_mese_leaves.png b/textures/everness_mese_leaves.png new file mode 100644 index 0000000..e8b1785 Binary files /dev/null and b/textures/everness_mese_leaves.png differ diff --git a/textures/everness_mese_tree_fruit_item.png b/textures/everness_mese_tree_fruit_item.png new file mode 100644 index 0000000..b19295d Binary files /dev/null and b/textures/everness_mese_tree_fruit_item.png differ diff --git a/textures/everness_mese_tree_fruit_side.png b/textures/everness_mese_tree_fruit_side.png new file mode 100644 index 0000000..f623255 Binary files /dev/null and b/textures/everness_mese_tree_fruit_side.png differ diff --git a/textures/everness_mese_tree_fruit_top.png b/textures/everness_mese_tree_fruit_top.png new file mode 100644 index 0000000..51b9783 Binary files /dev/null and b/textures/everness_mese_tree_fruit_top.png differ diff --git a/textures/everness_mese_tree_sapling.png b/textures/everness_mese_tree_sapling.png new file mode 100644 index 0000000..34a6971 Binary files /dev/null and b/textures/everness_mese_tree_sapling.png differ diff --git a/textures/everness_mese_tree_side_animated.png b/textures/everness_mese_tree_side_animated.png index a2040b5..80b387b 100644 Binary files a/textures/everness_mese_tree_side_animated.png and b/textures/everness_mese_tree_side_animated.png differ diff --git a/textures/everness_mese_tree_top.png b/textures/everness_mese_tree_top.png new file mode 100644 index 0000000..eea2c5f Binary files /dev/null and b/textures/everness_mese_tree_top.png differ diff --git a/textures/everness_mese_wood.png b/textures/everness_mese_wood.png new file mode 100644 index 0000000..f974520 Binary files /dev/null and b/textures/everness_mese_wood.png differ diff --git a/trees.lua b/trees.lua index 9a37e6d..c08b48f 100644 --- a/trees.lua +++ b/trees.lua @@ -94,6 +94,12 @@ function Everness.grow_cursed_dream_tree(pos) path, 'random', nil, false) end +function Everness.grow_mese_tree(pos) + local path = minetest.get_modpath('everness') .. '/schematics/everness_mese_tree.mts' + minetest.place_schematic({ x = pos.x - 3, y = pos.y, z = pos.z - 3 }, + path, 'random', nil, false) +end + function Everness.grow_sapling(pos) if not Everness.can_grow(pos) then -- try again 5 min later @@ -136,5 +142,8 @@ function Everness.grow_sapling(pos) elseif node.name == 'everness:cursed_dream_tree_sapling' then minetest.log('action', 'A cursed dream tree large sapling grows into a bush at ' .. minetest.pos_to_string(pos)) Everness.grow_cursed_dream_tree(pos) + elseif node.name == 'everness:mese_tree_sapling' then + minetest.log('action', 'A mese tree large sapling grows into a bush at ' .. minetest.pos_to_string(pos)) + Everness.grow_mese_tree(pos) end end