Merged in feature/remove-hard-dependency-on-default-2 (pull request #11)

Remove hard dependency on default
This commit is contained in:
Juraj Vajda 2023-03-31 17:37:06 +00:00
commit 33d8ffdef9
171 changed files with 2455 additions and 1590 deletions

View File

@ -825,6 +825,18 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file)
- everness_crystal_forest_sun.png
- everness_frosted_icesheet_sun_tonemap.png
- everness_frosted_icesheet_sun.png
- everness_glass.png
- everness_glass_detail.png
- everness_tinted_glass_detail.png
- everness_chest_front.png
- everness_chest_inside.png
- everness_chest_side.png
- everness_chest_top.png
- everness_chest_ui_bg.png -- Derived from texture by XSSheep (CC BY 4.0)
- everness_chest_ui_bg_hb_slot.png -- Derived from texture by XSSheep (CC BY 4.0)
- everness_chest_ui_bg_slot.png -- Derived from texture by XSSheep (CC BY 4.0)
- everness_stone.png
- everness_coral_skeleton.png
**CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated
@ -839,7 +851,7 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file)
### Sounds
**CC0-1.0, by ProdMultimediasHQI**, https://freesound.org
**CC0-1.0, by ProdMultimediasHQI**, https://freesound.org/people/ProdMultimediasHQI/sounds/512501/
- everness_frosted_snow_footstep.1.ogg
- everness_frosted_snow_footstep.2.ogg
@ -1022,12 +1034,25 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file)
- everness_grass_hit.3.ogg
- everness_grass_hit.2.ogg
**CC0-1.0, by Nox_Sound**, https://freesound.org/people/Nox_Sound/sounds/613849/
- everness_snow_footstep.1.ogg
- everness_snow_footstep.2.ogg
- everness_snow_footstep.3.ogg
- everness_snow_footstep.4.ogg
**CC0-1.0, by Fission9**, https://freesound.org
- everness_dirt_footstep.1.ogg
- everness_dirt_footstep.2.ogg
- everness_dirt_footstep.3.ogg
- everness_dirt_footstep.4.ogg
- everness_wood_footstep.1.ogg
- everness_wood_footstep.2.ogg
- everness_wood_footstep.3.ogg
- everness_wood_footstep.4.ogg
- everness_wood_footstep.5.ogg
- everness_wood_footstep.6.ogg
**CC-BY-4.0, by InspectorJ**, https://freesound.org
@ -1048,6 +1073,200 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file)
- everness_door_glass_close.ogg
- everness_door_glass_open.ogg
**CC-BY-4.0, by SFXAFRIK**, https://freesound.org/people/SFXAFRIK/sounds/584850/
- everness_chest_open.ogg
- everness_chest_close.ogg
**CC0-1.0, by Nox_Sound**, https://freesound.org
- everness_stone_dug.1.ogg
- everness_stone_dug.2.ogg
- everness_stone_dug.3.ogg
- everness_stone_footstep.1.ogg
- everness_stone_footstep.2.ogg
- everness_stone_footstep.3.ogg
- everness_stone_footstep.4.ogg
- everness_stone_footstep.5.ogg
**CC0-1.0, by lolamadeus**, https://freesound.org
- everness_stone_hit.1.ogg
- everness_stone_hit.2.ogg
- everness_stone_hit.3.ogg
**CC-BY-4.0, by F.M.Audio**, https://freesound.org
- everness_stone_place.1.ogg
- everness_stone_place.2.ogg
- everness_stone_place.3.ogg
- everness_stone_place.4.ogg
**CC-BY-4.0, by elektroproleter**, https://freesound.org
- everness_leaves_footstep.1.ogg
- everness_leaves_footstep.2.ogg
- everness_leaves_footstep.3.ogg
- everness_leaves_footstep.4.ogg
**CC-BY-4.0, by Abacagi**, https://freesound.org
- everness_leaves_hit.1.ogg
- everness_leaves_hit.2.ogg
**CC-BY-4.0, by JanKoehl**, https://freesound.org
- everness_leaves_dug.1.ogg
- everness_leaves_dug.2.ogg
**CC0-1.0, by vgraham1**, https://freesound.org
- everness_leaves_place.1.ogg
- everness_leaves_place.2.ogg
**CC0-1.0, by worthahep88**, https://freesound.org
- everness_plant_hit.1.ogg
- everness_plant_hit.2.ogg
- everness_plant_hit.3.ogg
**CC0-1.0, by igroglaz**, https://freesound.org
- everness_wood_hit.1.ogg
- everness_wood_hit.2.ogg
- everness_wood_hit.3.ogg
- everness_wood_hit.4.ogg
- everness_wood_hit.5.ogg
- everness_wood_hit.6.ogg
**CC-BY-4.0, by RICHERlandTV**, https://freesound.org
- everness_wood_place.1.ogg
- everness_wood_place.2.ogg
- everness_wood_place.3.ogg
**CC0-1.0, by pan14**, https://freesound.org
- everness_sand_footstep.1.ogg
- everness_sand_footstep.2.ogg
- everness_sand_footstep.3.ogg
**CC-BY-3.0, by Coral_Island_Studios**, https://freesound.org
- everness_sand_place.1.ogg
- everness_sand_place.2.ogg
- everness_sand_place.3.ogg
- everness_sand_place.4.ogg
- everness_sand_place.5.ogg
**CC0-1.0, by schneidi67**, https://freesound.org
- everness_sand_dug.1.ogg
- everness_sand_dug.2.ogg
- everness_sand_dug.3.ogg
**CC0-1.0, by Lukeo135**, https://freesound.org
- everness_sand_hit.1.ogg
- everness_sand_hit.2.ogg
- everness_sand_hit.3.ogg
**CC0-1.0, by GiocoSound**, https://freesound.org
- everness_metal_footstep.1.ogg
- everness_metal_footstep.2.ogg
- everness_metal_footstep.3.ogg
- everness_metal_footstep.4.ogg
- everness_metal_footstep.5.ogg
**CC-BY-4.0, by DasDeer**, https://freesound.org
- everness_metal_hit.1.ogg
- everness_metal_hit.2.ogg
- everness_metal_hit.3.ogg
**CC-BY-4.0, by MoveAwayPodcast**, https://freesound.org
- everness_metal_place.1.ogg
- everness_metal_place.2.ogg
- everness_metal_place.3.ogg
**CC0-1.0, by craigsmith**, https://freesound.org
- everness_metal_dug.1.ogg
- everness_metal_dug.2.ogg
- everness_metal_dug.3.ogg
**CC0-1.0, by courtneyeck**, https://freesound.org
- everness_glass_footstep.1.ogg
- everness_glass_footstep.2.ogg
- everness_glass_footstep.3.ogg
**CC0-1.0, by Robson220pl**, https://freesound.org
- everness_glass_place.1.ogg
- everness_glass_place.2.ogg
- everness_glass_place.3.ogg
**CC-BY-4.0, by elfgrunge**, https://freesound.org
- everness_glass_dug.1.ogg
- everness_glass_dug.2.ogg
**CC-BY-3.0, by Mito551**, https://freesound.org
- everness_thin_glass_footstep.ogg
**CC-BY-3.0, by cmusounddesign**, http://www.freesound.org/people/cmusounddesign/sounds/71947/
- everness_break_thin_glass.1.ogg
**CC-BY-3.0, by Tomlija**, http://www.freesound.org/people/Tomlija/sounds/97669/
- everness_break_thin_glass.2.ogg
**CC-BY-3.0, by lsprice**, http://www.freesound.org/people/lsprice/sounds/88808/
- everness_break_thin_glass.3.ogg
**CC-BY-3.0, by alexo400**, https://freesound.org/people/alexo400/sounds/543385/
- everness_snow_place.1.ogg
- everness_snow_place.2.ogg
- everness_snow_place.3.ogg
**CC-BY-3.0, by soundscalpel.com**
https://freesound.org/people/soundscalpel.com/sounds/110619/
https://freesound.org/people/soundscalpel.com/sounds/110609/
https://freesound.org/people/soundscalpel.com/sounds/110620/
- everness_snow_hit.1.ogg
- everness_snow_hit.2.ogg
- everness_snow_hit.3.ogg
**CC-BY-3.0, by soundscalpel.com**
https://freesound.org/people/cabled_mess/sounds/384423/
https://freesound.org/people/cabled_mess/sounds/384422/
https://freesound.org/people/cabled_mess/sounds/384421/
- everness_frosted_snow_place.1.ogg
- everness_frosted_snow_place.2.ogg
- everness_frosted_snow_place.3.ogg
**CC-BY-3.0, by AtevonHes**, https://freesound.org/people/AtevonHes/sounds/454783/
- everness_frosted_snow_hit.1.ogg
- everness_frosted_snow_hit.2.ogg
- everness_frosted_snow_hit.3.ogg
- everness_frosted_snow_hit.4.ogg
**CC-BY-4.0, by HerbertBoland**, https://freesound.org/people/AtevonHes/sounds/454783/
- everness_tool_breaks.1.ogg
- everness_tool_breaks.2.ogg
- everness_tool_breaks.3.ogg
### Models
**CC-BY-SA-4.0, by SaKeL**

849
api.lua
View File

@ -16,6 +16,8 @@
License along with this library; if not, write to juraj.vajda@gmail.com
--]]
local S = minetest.get_translator(minetest.get_current_modname())
--- Base class
---@class Everness
---@field bamboo {['growth_stages']: table<number, table>, ['top_leaves_schem']: table}
@ -56,328 +58,7 @@ Everness = {
}
},
loot_chest = {
default = {
{
name = 'default:stick',
max_count = 25,
chance = 25
},
{
name = 'default:paper',
max_count = 10,
chance = 25
},
{
name = 'default:book',
max_count = 2,
chance = 25
},
{
name = 'default:skeleton_key',
max_count = 2,
chance = 25
},
{
name = 'default:flint',
max_count = 2,
chance = 25
},
{
name = 'default:obsidian_shard',
max_count = 2,
chance = 25
},
{
name = 'default:clay_brick',
max_count = 2,
chance = 25
},
{
name = 'default:mese_crystal_fragment',
max_count = 2,
chance = 25
},
{
name = 'default:gold_ingot',
max_count = 2,
chance = 25
},
{
name = 'default:bronze_ingot',
max_count = 2,
chance = 25
},
{
name = 'default:tin_ingot',
max_count = 2,
chance = 25
},
{
name = 'default:copper_ingot',
max_count = 2,
chance = 25
},
{
name = 'default:steel_ingot',
max_count = 2,
chance = 25
},
{
name = 'default:coal_lump',
max_count = 2,
chance = 25
},
{
name = 'default:pick_stone',
max_count = 2,
chance = 25
},
{
name = 'default:pick_bronze',
max_count = 2,
chance = 25
},
{
name = 'default:pick_steel',
max_count = 2,
chance = 25
},
{
name = 'default:shovel_stone',
max_count = 2,
chance = 25
},
{
name = 'default:shovel_bronze',
max_count = 2,
chance = 25
},
{
name = 'default:shovel_steel',
max_count = 2,
chance = 25
},
{
name = 'default:axe_stone',
max_count = 2,
chance = 25
},
{
name = 'default:axe_bronze',
max_count = 2,
chance = 25
},
{
name = 'default:axe_steel',
max_count = 2,
chance = 25
},
{
name = 'default:sword_stone',
max_count = 2,
chance = 25
},
{
name = 'default:sword_bronze',
max_count = 2,
chance = 25
},
{
name = 'default:sword_steel',
max_count = 2,
chance = 25
},
{
name = 'default:bookshelf',
max_count = 2,
chance = 25
},
{
name = 'default:sign_wall_wood',
max_count = 2,
chance = 25
},
{
name = 'default:ladder_wood',
max_count = 5,
chance = 25
},
{
name = 'default:ladder_steel',
max_count = 5,
chance = 25
},
{
name = 'default:glass',
max_count = 10,
chance = 25
},
{
name = 'default:obsidian_glass',
max_count = 10,
chance = 25
},
{
name = 'default:tree',
max_count = 15,
chance = 25
},
{
name = 'default:jungletree',
max_count = 15,
chance = 25
},
{
name = 'default:pine_tree',
max_count = 15,
chance = 25
},
{
name = 'default:cactus',
max_count = 20,
chance = 25
},
{
name = 'default:large_cactus_seedling',
max_count = 2,
chance = 25
},
{
name = 'default:papyrus',
max_count = 20,
chance = 25
},
{
name = 'default:junglegrass',
max_count = 20,
chance = 25
},
{
name = 'default:blueberry_bush_sapling',
max_count = 2,
chance = 25
},
{
name = 'default:sapling',
max_count = 2,
chance = 25
},
{
name = 'default:junglesapling',
max_count = 2,
chance = 25
},
{
name = 'default:pine_sapling',
max_count = 2,
chance = 25
},
{
name = 'default:acacia_sapling',
max_count = 2,
chance = 25
},
{
name = 'default:aspen_sapling',
max_count = 2,
chance = 25
},
{
name = 'default:clay_lump',
max_count = 5,
chance = 25
},
{
name = 'default:tin_lump',
max_count = 2,
chance = 25
},
{
name = 'default:copper_lump',
max_count = 5,
chance = 25
},
{
name = 'default:iron_lump',
max_count = 5,
chance = 25
},
{
name = 'default:coalblock',
max_count = 5,
chance = 25
},
{
name = 'default:steelblock',
max_count = 2,
chance = 25
},
{
name = 'default:copperblock',
max_count = 2,
chance = 25
},
{
name = 'default:tinblock',
max_count = 2,
chance = 25
},
{
name = 'default:bronzeblock',
max_count = 2,
chance = 25
},
{
name = 'default:mese',
max_count = 2,
chance = 25
},
{
name = 'default:meselamp',
max_count = 2,
chance = 25
},
{
name = 'default:obsidian',
max_count = 2,
chance = 25
},
{
name = 'default:mese_crystal',
max_count = 2,
chance = 25
},
{
name = 'default:diamond',
max_count = 2,
chance = 25
},
{
name = 'default:pick_mese',
max_count = 2,
chance = 25
},
{
name = 'default:shovel_mese',
max_count = 2,
chance = 25
},
{
name = 'default:axe_mese',
max_count = 2,
chance = 25
},
{
name = 'default:sword_mese',
max_count = 2,
chance = 25
},
{
name = 'everness:forsaken_fire',
max_count = 1,
chance = 50
},
}
default = {},
},
settings = {
biomes = {
@ -540,14 +221,16 @@ Everness = {
}
function Everness.grow_cactus(self, pos, node, params)
local node_copy = table.copy(node)
if node.param2 >= 4 then
return
end
pos.y = pos.y - 1
if minetest.get_item_group(minetest.get_node(pos).name, 'mold_soil') == 0
or minetest.get_item_group(minetest.get_node(pos).name, 'sand') == 0
if minetest.get_item_group(minetest.get_node(pos).name, 'sand') == 0
and minetest.get_item_group(minetest.get_node(pos).name, 'everness_sand') == 0
then
return
end
@ -570,7 +253,7 @@ function Everness.grow_cactus(self, pos, node, params)
return
end
minetest.set_node(pos, { name = node.name })
minetest.set_node(pos, { name = node_copy.name })
return true
end
@ -676,109 +359,138 @@ end
-- Sounds
--
function Everness.node_sound_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = '', gain = 1.0 }
table.dug = table.dug or
{ name = 'default_dug_node', gain = 0.25 }
table.place = table.place or
{ name = 'default_place_node_hard', gain = 1.0 }
return table
end
function Everness.node_sound_frosted_snow_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_frosted_snow_footstep', gain = 0.2 }
table.dig = table.dig or
{ name = 'everness_frosted_snow_footstep', gain = 0.3 }
table.dug = table.dug or
{ name = 'everness_frosted_snow_footstep', gain = 0.3 }
table.place = table.place or
{ name = 'default_place_node', gain = 1.0 }
default.node_sound_defaults(table)
table.footstep = table.footstep or { name = 'everness_frosted_snow_footstep', gain = 0.2 }
table.dig = table.dig or { name = 'everness_frosted_snow_hit', gain = 0.2 }
table.dug = table.dug or { name = 'everness_frosted_snow_footstep', gain = 0.3 }
table.place = table.place or { name = 'everness_frosted_snow_place', gain = 0.25 }
return table
end
function Everness.node_sound_crystal_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_crystal_chime', gain = 0.2 }
table.dig = table.dig or
{ name = 'everness_crystal_chime', gain = 0.3 }
table.dug = table.dug or
{ name = 'default_hard_footstep', gain = 0.3 }
table.place = table.place or
{ name = 'everness_crystal_chime', gain = 1.0 }
default.node_sound_defaults(table)
table.footstep = table.footstep or { name = 'everness_crystal_chime', gain = 0.2 }
table.dig = table.dig or { name = 'everness_crystal_chime', gain = 0.3 }
table.dug = table.dug or { name = 'everness_stone_footstep', gain = 0.3 }
table.place = table.place or { name = 'everness_crystal_chime', gain = 1.0 }
return table
end
function Everness.node_sound_bamboo_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_bamboo_hit', gain = 0.2 }
table.dig = table.dig or
{ name = 'everness_bamboo_hit', gain = 0.3 }
table.dug = table.dug or
{ name = 'everness_bamboo_dug', gain = 0.1 }
table.place = table.place or
{ name = 'everness_bamboo_hit', gain = 1.0 }
default.node_sound_defaults(table)
table.footstep = table.footstep or { name = 'everness_bamboo_hit', gain = 0.2 }
table.dig = table.dig or { name = 'everness_bamboo_hit', gain = 0.3 }
table.dug = table.dug or { name = 'everness_bamboo_dug', gain = 0.1 }
table.place = table.place or { name = 'everness_bamboo_hit', gain = 1.0 }
return table
end
function Everness.node_sound_mud_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_mud_footstep', gain = 0.2 }
table.dig = table.dig or
{ name = 'everness_mud_footstep', gain = 0.3 }
table.dug = table.dug or
{ name = 'everness_mud_footstep', gain = 0.1 }
table.place = table.place or
{ name = 'everness_mud_footstep', gain = 1.0 }
default.node_sound_defaults(table)
table.footstep = table.footstep or { name = 'everness_mud_footstep', gain = 0.2 }
table.dig = table.dig or { name = 'everness_mud_footstep', gain = 0.3 }
table.dug = table.dug or { name = 'everness_mud_footstep', gain = 0.1 }
table.place = table.place or { name = 'everness_mud_footstep', gain = 1.0 }
return table
end
function Everness.node_sound_grass_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_grass_footstep', gain = 0.4 }
table.dig = table.dig or
{ name = 'everness_grass_hit', gain = 1.2 }
table.dug = table.dug or
{ name = 'everness_dirt_hit', gain = 1.0 }
table.place = table.place or
{ name = 'everness_dirt_hit', gain = 1.0 }
table.footstep = table.footstep or { name = 'everness_grass_footstep', gain = 0.4 }
table.dig = table.dig or { name = 'everness_grass_hit', gain = 1.2 }
table.dug = table.dug or { name = 'everness_dirt_hit', gain = 1.0 }
table.place = table.place or { name = 'everness_dirt_hit', gain = 1.0 }
return table
end
function Everness.node_sound_dirt_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_dirt_footstep', gain = 0.15 }
table.dig = table.dig or
{ name = 'everness_dirt_hit', gain = 0.4 }
table.dug = table.dug or
{ name = 'everness_dirt_hit', gain = 1.0 }
table.place = table.place or
{ name = 'everness_dirt_hit', gain = 1.0 }
table.footstep = table.footstep or { name = 'everness_dirt_footstep', gain = 0.15 }
table.dig = table.dig or { name = 'everness_dirt_hit', gain = 0.4 }
table.dug = table.dug or { name = 'everness_dirt_hit', gain = 1.0 }
table.place = table.place or { name = 'everness_dirt_hit', gain = 1.0 }
return table
end
function Everness.node_sound_ice_defaults(table)
table = table or {}
table.footstep = table.footstep or
{ name = 'everness_ice_footstep', gain = 0.2 }
table.dig = table.dig or
{ name = 'everness_ice_hit', gain = 0.4 }
table.dug = table.dug or
{ name = 'everness_ice_hit', gain = 1.0 }
table.place = table.place or
{ name = 'everness_ice_hit', gain = 1.0 }
table.footstep = table.footstep or { name = 'everness_ice_footstep', gain = 0.2 }
table.dig = table.dig or { name = 'everness_ice_hit', gain = 0.4 }
table.dug = table.dug or { name = 'everness_ice_hit', gain = 1.0 }
table.place = table.place or { name = 'everness_ice_hit', gain = 1.0 }
return table
end
function Everness.node_sound_stone_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_stone_footstep', gain = 0.2 }
table.dig = table.dig or { name = 'everness_stone_hit', gain = 1.0 }
table.dug = table.dug or { name = 'everness_stone_dug', gain = 0.6 }
table.place = table.place or { name = 'everness_stone_place', gain = 1.0 }
return table
end
function Everness.node_sound_leaves_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_leaves_footstep', gain = 0.1 }
table.dig = table.dig or { name = 'everness_leaves_hit', gain = 0.25 }
table.dug = table.dug or { name = 'everness_leaves_dug', gain = 0.5 }
table.place = table.place or { name = 'everness_leaves_place', gain = 0.4 }
return table
end
function Everness.node_sound_wood_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_wood_footstep', gain = 0.15 }
table.dig = table.dig or { name = 'everness_wood_hit', gain = 0.5 }
table.dug = table.dug or { name = 'everness_wood_place', gain = 0.1 }
table.place = table.place or { name = 'everness_wood_place', gain = 0.15 }
return table
end
function Everness.node_sound_sand_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_sand_footstep', gain = 0.1 }
table.dig = table.dig or { name = 'everness_sand_hit', gain = 0.5 }
table.dug = table.dug or { name = 'everness_sand_dug', gain = 0.1 }
table.place = table.place or { name = 'everness_sand_place', gain = 0.15 }
return table
end
function Everness.node_sound_metal_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_metal_footstep', gain = 0.1 }
table.dig = table.dig or { name = 'everness_metal_hit', gain = 0.5 }
table.dug = table.dug or { name = 'everness_metal_dug', gain = 0.1 }
table.place = table.place or { name = 'everness_metal_place', gain = 0.15 }
return table
end
function Everness.node_sound_glass_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_glass_footstep', gain = 0.02 }
table.dig = table.dig or { name = 'everness_glass_footstep', gain = 0.05 }
table.dug = table.dug or { name = 'everness_glass_dug', gain = 0.4 }
table.place = table.place or { name = 'everness_glass_place', gain = 0.2 }
return table
end
function Everness.node_sound_thin_glass_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_thin_glass_footstep', gain = 0.3 }
table.dig = table.dig or { name = 'everness_thin_glass_footstep', gain = 0.5 }
table.dug = table.dug or { name = 'everness_break_thin_glass', gain = 1.0 }
table.place = table.place or { name = 'everness_glass_place', gain = 0.2 }
return table
end
function Everness.node_sound_snow_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_snow_footstep', gain = 0.1 }
table.dig = table.dig or { name = 'everness_snow_hit', gain = 0.2 }
table.dug = table.dug or { name = 'everness_snow_footstep', gain = 0.2 }
table.place = table.place or { name = 'everness_snow_place', gain = 0.3 }
return table
end
@ -918,3 +630,348 @@ function Everness.use_shell_of_underwater_breathing(self, itemstack, user, point
return itemstack
end
--
-- Sapling 'on place' function to check protection of node and resulting tree volume
-- copy from MTG
--
function Everness.sapling_on_place(self, itemstack, placer, pointed_thing, props)
local _props = props or {}
local sapling_name = _props.sapling_name
-- minp, maxp to be checked, relative to sapling pos
-- minp_relative.y = 1 because sapling pos has been checked
local minp_relative = _props.minp_relative
local maxp_relative = _props.maxp_relative
-- maximum interval of interior volume check
local interval = _props.interval
-- Position of sapling
local pos = pointed_thing.under
local node = minetest.get_node_or_nil(pos)
local pdef = node and minetest.registered_nodes[node.name]
if pdef and node and pdef.on_rightclick
and not (placer and placer:is_player()
and placer:get_player_control().sneak)
then
return pdef.on_rightclick(pos, node, placer, itemstack, pointed_thing)
end
if not pdef or not pdef.buildable_to then
pos = pointed_thing.above
node = minetest.get_node_or_nil(pos)
pdef = node and minetest.registered_nodes[node.name]
if not pdef or not pdef.buildable_to then
return itemstack
end
end
local player_name = placer and placer:get_player_name() or ''
-- Check sapling position for protection
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)
return itemstack
end
-- Check tree volume for protection
if minetest.is_area_protected(
vector.add(pos, minp_relative),
vector.add(pos, maxp_relative),
player_name,
interval
)
then
minetest.record_protection_violation(pos, player_name)
minetest.chat_send_player(
player_name,
S('@1 will intersect protection on growth.', itemstack:get_definition().description)
)
return itemstack
end
Everness.log_player_action(placer, 'places node', sapling_name, 'at', pos)
local take_item = not minetest.is_creative_enabled(player_name)
local newnode = { name = sapling_name }
local ndef = minetest.registered_nodes[sapling_name]
minetest.set_node(pos, newnode)
-- Run callback
if ndef and ndef.after_place_node then
-- Deepcopy place_to and pointed_thing because callback can modify it
if ndef.after_place_node(table.copy(pos), placer,
itemstack, table.copy(pointed_thing)) then
take_item = false
end
end
-- Run script hook
for _, callback in ipairs(minetest.registered_on_placenodes or {}) do
-- Deepcopy pos, node and pointed_thing because callback can modify them
if callback(table.copy(pos), table.copy(newnode),
placer, table.copy(node or {}),
itemstack, table.copy(pointed_thing)) then
take_item = false
end
end
if take_item then
itemstack:take_item()
end
return itemstack
end
--
-- Leafdecay - taken from MTG
--
-- Prevent decay of placed leaves
Everness.after_place_leaves = function(self, pos, placer, itemstack, pointed_thing)
if placer and placer:is_player() then
local node = minetest.get_node(pos)
node.param2 = 1
minetest.set_node(pos, node)
end
end
-- Leafdecay
local function leafdecay_after_destruct(pos, oldnode, def)
for _, v in pairs(minetest.find_nodes_in_area(vector.subtract(pos, def.radius),
vector.add(pos, def.radius), def.leaves))
do
local node = minetest.get_node(v)
local timer = minetest.get_node_timer(v)
if node.param2 ~= 1 and not timer:is_started() then
timer:start(math.random(20, 120) / 10)
end
end
end
local movement_gravity = tonumber(minetest.settings:get('movement_gravity')) or 9.81
local function leafdecay_on_timer(pos, def)
if minetest.find_node_near(pos, def.radius, def.trunks) then
return false
end
local node = minetest.get_node(pos)
local drops = minetest.get_node_drops(node.name)
for _, item in ipairs(drops) do
local is_leaf
for _, v in pairs(def.leaves) do
if v == item then
is_leaf = true
end
end
if minetest.get_item_group(item, 'leafdecay_drop') ~= 0
or not is_leaf
then
minetest.add_item({
x = pos.x - 0.5 + math.random(),
y = pos.y - 0.5 + math.random(),
z = pos.z - 0.5 + math.random(),
}, item)
end
end
minetest.remove_node(pos)
minetest.check_for_falling(pos)
-- spawn a few particles for the removed node
minetest.add_particlespawner({
amount = 8,
time = 0.001,
minpos = vector.subtract(pos, { x = 0.5, y = 0.5, z = 0.5 }),
maxpos = vector.add(pos, { x = 0.5, y = 0.5, z = 0.5 }),
minvel = vector.new(-0.5, -1, -0.5),
maxvel = vector.new(0.5, 0, 0.5),
minacc = vector.new(0, -movement_gravity, 0),
maxacc = vector.new(0, -movement_gravity, 0),
minsize = 0,
maxsize = 0,
node = node,
})
end
function Everness.register_leafdecay(self, def)
assert(def.leaves)
assert(def.trunks)
assert(def.radius)
for _, v in pairs(def.trunks) do
minetest.override_item(v, {
after_destruct = function(pos, oldnode)
leafdecay_after_destruct(pos, oldnode, def)
end,
})
end
for _, v in pairs(def.leaves) do
minetest.override_item(v, {
on_timer = function(pos)
leafdecay_on_timer(pos, def)
end,
})
end
end
function Everness.register_node(self, name, def, props)
local _def = table.copy(def)
local _name = name
minetest.register_node(_name, _def)
end
--
-- Log API / helpers - copy from MTG
--
local log_non_player_actions = minetest.settings:get_bool('log_non_player_actions', false)
local is_pos = function(v)
return type(v) == 'table'
and type(v.x) == 'number'
and type(v.y) == 'number'
and type(v.z) == 'number'
end
function Everness.log_player_action(player, ...)
local msg = player:get_player_name()
if player.is_fake_player or not player:is_player() then
if not log_non_player_actions then
return
end
msg = msg .. '(' .. (type(player.is_fake_player) == 'string'
and player.is_fake_player or '*') .. ')'
end
for _, v in ipairs({ ... }) do
-- translate pos
local part = is_pos(v) and minetest.pos_to_string(v) or v
-- no leading spaces before punctuation marks
msg = msg .. (string.match(part, '^[;,.]') and '' or ' ') .. part
end
minetest.log('action', msg)
end
function Everness.set_inventory_action_loggers(def, name)
def.on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
Everness.log_player_action(player, 'moves stuff in', name, 'at', pos)
end
def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
Everness.log_player_action(player, 'moves', stack:get_name(), 'to', name, 'at', pos)
end
def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
Everness.log_player_action(player, 'takes', stack:get_name(), 'from', name, 'at', pos)
end
end
-- 'can grow' function - copy from MTG
function Everness.can_grow(pos)
local node_under = minetest.get_node_or_nil({ x = pos.x, y = pos.y - 1, z = pos.z })
if not node_under then
return false
end
if minetest.get_item_group(node_under.name, 'soil') == 0 then
return false
end
local light_level = minetest.get_node_light(pos)
if not light_level or light_level < 13 then
return false
end
return true
end
--
-- This method may change in future.
-- Copy from MTG
--
function Everness.can_interact_with_node(player, pos)
if player and player:is_player() then
if minetest.check_player_privs(player, 'protection_bypass') then
return true
end
else
return false
end
local meta = minetest.get_meta(pos)
local owner = meta:get_string('owner')
if not owner or owner == '' or owner == player:get_player_name() then
return true
end
-- Is player wielding the right key?
local item = player:get_wielded_item()
if minetest.get_item_group(item:get_name(), 'key') == 1 then
local key_meta = item:get_meta()
if key_meta:get_string('secret') == '' then
local key_oldmeta = item:get_metadata()
if key_oldmeta == '' or not minetest.parse_json(key_oldmeta) then
return false
end
key_meta:set_string('secret', minetest.parse_json(key_oldmeta).secret)
item:set_metadata('')
end
return meta:get_string('key_lock_secret') == key_meta:get_string('secret')
end
return false
end
--
-- Optimized helper to put all items in an inventory into a drops list
-- copy from MTG
--
function Everness.get_inventory_drops(pos, inventory, drops)
local inv = minetest.get_meta(pos):get_inventory()
local n = #drops
for i = 1, inv:get_size(inventory) do
local stack = inv:get_stack(inventory, i)
if stack:get_count() > 0 then
drops[n + 1] = stack:to_table()
n = n + 1
end
end
end
function Everness.set_loot_chest_items()
local loot_items = {}
for name, def in pairs(minetest.registered_items) do
if def.groups
and next(def.groups)
and (not def.groups.not_in_creative_inventory or def.groups.not_in_creative_inventory == 0)
then
table.insert(loot_items, {
name = name,
max_count = 25,
chance = 25
})
end
end
Everness.loot_chest.default = table.copy(loot_items)
end

View File

@ -91,6 +91,7 @@ function Everness.grow_bamboo(self, pos, elapsed)
if minetest.get_item_group(node_below.name, 'soil') == 0
and minetest.get_item_group(node_below.name, 'sand') == 0
and minetest.get_item_group(node_below.name, 'everness_sand') == 0
then
if minetest.get_item_group(node_below.name, 'bamboo') > 0 then

345
chests.lua Normal file
View File

@ -0,0 +1,345 @@
--[[
Everness. Never ending discovery in Everness mapgen.
GNU Lesser General Public License, version 2.1
Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2011-2018 Various Minetest developers and contributors
Copyright (C) 2022 SaKeL <juraj.vajda@gmail.com>
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 2.1 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details:
https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
--]]
Everness.chest = {}
-- support for MT game translation.
local S = minetest.get_translator(minetest.get_current_modname())
function Everness.chest.get_chest_formspec(pos)
local spos = pos.x .. ',' .. pos.y .. ',' .. pos.z
local hotbar_bg = ''
local list_bg = ''
local chest_bg = ''
for i = 0, 7, 1 do
hotbar_bg = hotbar_bg .. 'image[' .. 0 + i .. ', ' .. 4.85 .. ';1,1;everness_chest_ui_bg_hb_slot.png]'
end
for row = 0, 2, 1 do
for i = 0, 7, 1 do
list_bg = list_bg .. 'image[' .. 0 + i .. ',' .. 6.08 + row .. ';1,1;everness_chest_ui_bg_slot.png]'
end
end
for row = 0, 3, 1 do
for i = 0, 7, 1 do
chest_bg = chest_bg .. 'image[' .. 0 + i .. ',' .. 0.3 + row .. ';1,1;everness_chest_ui_bg_slot.png]'
end
end
local formspec =
'size[8,9]' ..
'listcolors[#FFFFFF00;#FFFFFF1A;#5E5957]' ..
'background[5,5;1,1;everness_chest_ui_bg.png;true]' ..
'list[nodemeta:' .. spos .. ';main;0,0.3;8,4;]' ..
'list[current_player;main;0,4.85;8,1;]' ..
'list[current_player;main;0,6.08;8,3;8]' ..
'listring[nodemeta:' .. spos .. ';main]' ..
'listring[current_player;main]' ..
list_bg ..
hotbar_bg ..
chest_bg
return formspec
end
function Everness.chest.chest_lid_obstructed(pos)
local above = { x = pos.x, y = pos.y + 1, z = pos.z }
local def = minetest.registered_nodes[minetest.get_node(above).name]
-- allow ladders, signs, wallmounted things and torches to not obstruct
if def and
(def.drawtype == 'airlike' or
def.drawtype == 'signlike' or
def.drawtype == 'torchlike' or
(def.drawtype == 'nodebox' and def.paramtype2 == 'wallmounted'))
then
return false
end
return true
end
function Everness.chest.chest_lid_close(pn)
local chest_open_info = Everness.chest.open_chests[pn]
local pos = chest_open_info.pos
local sound = chest_open_info.sound
local swap = chest_open_info.swap
Everness.chest.open_chests[pn] = nil
for _, v in pairs(Everness.chest.open_chests) do
if v.pos.x == pos.x and v.pos.y == pos.y and v.pos.z == pos.z then
return true
end
end
local node = minetest.get_node(pos)
minetest.after(0.2, minetest.swap_node, pos, { name = swap, param2 = node.param2 })
minetest.sound_play(sound, { gain = 0.3, pos = pos, max_hear_distance = 10 }, true)
end
Everness.chest.open_chests = {}
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname ~= 'everness:chest' then
return
end
if not player or not fields.quit then
return
end
local pn = player:get_player_name()
if not Everness.chest.open_chests[pn] then
return
end
Everness.chest.chest_lid_close(pn)
return true
end)
minetest.register_on_leaveplayer(function(player)
local pn = player:get_player_name()
if Everness.chest.open_chests[pn] then
Everness.chest.chest_lid_close(pn)
end
end)
function Everness.chest.register_chest(prefixed_name, d)
local name = prefixed_name:sub(1, 1) == ':' and prefixed_name:sub(2, -1) or prefixed_name
local def = table.copy(d)
def.drawtype = 'mesh'
def.visual = 'mesh'
def.paramtype = 'light'
def.paramtype2 = 'facedir'
def.legacy_facedir_simple = true
def.is_ground_content = false
if def.protected then
-- Locked chest
def.on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('infotext', S('Locked Chest'))
meta:set_string('owner', '')
local inv = meta:get_inventory()
inv:set_size('main', 8 * 4)
end
def.after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos)
meta:set_string('owner', placer:get_player_name() or '')
meta:set_string('infotext', S('Locked Chest (owned by @1)', meta:get_string('owner')))
end
def.can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty('main') and Everness.can_interact_with_node(player, pos)
end
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if not Everness.can_interact_with_node(player, pos) then
return 0
end
return count
end
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if not Everness.can_interact_with_node(player, pos) then
return 0
end
return stack:get_count()
end
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if not Everness.can_interact_with_node(player, pos) then
return 0
end
return stack:get_count()
end
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
if not Everness.can_interact_with_node(clicker, pos) then
return itemstack
end
minetest.sound_play(def.sound_open, { gain = 0.3, pos = pos, max_hear_distance = 10 }, true)
if not Everness.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos, { name = name .. '_open', param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec, clicker:get_player_name(), 'everness:chest', Everness.chest.get_chest_formspec(pos))
Everness.chest.open_chests[clicker:get_player_name()] = { pos = pos, sound = def.sound_close, swap = name }
end
def.on_blast = function() end
def.on_key_use = function(pos, player)
local secret = minetest.get_meta(pos):get_string('key_lock_secret')
local itemstack = player:get_wielded_item()
local key_meta = itemstack:get_meta()
if itemstack:get_metadata() == '' then
return
end
if key_meta:get_string('secret') == '' then
key_meta:set_string('secret', minetest.parse_json(itemstack:get_metadata()).secret)
itemstack:set_metadata('')
end
if secret ~= key_meta:get_string('secret') then
return
end
minetest.show_formspec(
player:get_player_name(),
'everness:chest_locked',
Everness.chest.get_chest_formspec(pos)
)
end
def.on_skeleton_key_use = function(pos, player, newsecret)
local meta = minetest.get_meta(pos)
local owner = meta:get_string('owner')
local pn = player:get_player_name()
-- verify placer is owner of lockable chest
if owner ~= pn then
minetest.record_protection_violation(pos, pn)
minetest.chat_send_player(pn, S('You do not own this chest.'))
return nil
end
local secret = meta:get_string('key_lock_secret')
if secret == '' then
secret = newsecret
meta:set_string('key_lock_secret', secret)
end
return secret, S('a locked chest'), owner
end
else
-- Public (unlocked) chest
def.on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('infotext', S('Chest'))
local inv = meta:get_inventory()
inv:set_size('main', 8 * 4)
end
def.can_dig = function(pos,player)
local meta = minetest.get_meta(pos);
local inv = meta:get_inventory()
return inv:is_empty('main')
end
def.on_rightclick = function(pos, node, clicker)
minetest.sound_play(def.sound_open, { gain = 0.3, pos = pos, max_hear_distance = 10 }, true)
if not Everness.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos, { name = name .. '_open', param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec, clicker:get_player_name(), 'everness:chest', Everness.chest.get_chest_formspec(pos))
Everness.chest.open_chests[clicker:get_player_name()] = { pos = pos, sound = def.sound_close, swap = name }
end
def.on_blast = function(pos)
local drops = {}
Everness.get_inventory_drops(pos, 'main', drops)
drops[#drops + 1] = name
minetest.remove_node(pos)
return drops
end
end
Everness.set_inventory_action_loggers(def, 'chest')
local def_opened = table.copy(def)
local def_closed = table.copy(def)
def_opened.mesh = 'chest_open.obj'
for i = 1, #def_opened.tiles do
if type(def_opened.tiles[i]) == 'string' then
def_opened.tiles[i] = { name = def_opened.tiles[i], backface_culling = true }
elseif def_opened.tiles[i].backface_culling == nil then
def_opened.tiles[i].backface_culling = true
end
end
def_opened.drop = name
def_opened.groups.not_in_creative_inventory = 1
def_opened.selection_box = {
type = 'fixed',
fixed = { -1 / 2, -1 / 2, -1 / 2, 1 / 2, 3 / 16, 1 / 2 },
}
def_opened.can_dig = function()
return false
end
def_opened.on_blast = function() end
def_closed.mesh = nil
def_closed.drawtype = nil
def_closed.tiles[6] = def.tiles[5] -- swap textures around for 'normal'
def_closed.tiles[5] = def.tiles[3] -- drawtype to make them match the mesh
def_closed.tiles[3] = def.tiles[3] .. '^[transformFX'
minetest.register_node(prefixed_name, def_closed)
minetest.register_node(prefixed_name .. '_open', def_opened)
end
Everness.chest.register_chest('everness:chest', {
description = S('Chest'),
tiles = {
'everness_chest_top.png',
'everness_chest_top.png',
'everness_chest_side.png',
'everness_chest_side.png',
'everness_chest_front.png',
'everness_chest_inside.png'
},
sounds = Everness.node_sound_wood_defaults(),
sound_open = 'everness_chest_open',
sound_close = 'everness_chest_close',
groups = { choppy = 2, oddly_breakable_by_hand = 2 },
})
minetest.register_craft({
output = 'everness:chest',
recipe = {
{ 'group:everness_wood', 'group:everness_wood', 'group:everness_wood' },
{ 'group:everness_wood', '', 'group:everness_wood' },
{ 'group:everness_wood', 'group:everness_wood', 'group:everness_wood' },
}
})
minetest.register_craft({
type = 'fuel',
recipe = 'everness:chest',
burntime = 30,
})

View File

@ -20,6 +20,7 @@
-- Blocks
--
if minetest.get_modpath('default') then
minetest.register_craft({
output = 'everness:snowcobble 9',
recipe = {
@ -37,6 +38,7 @@ minetest.register_craft({
{ 'default:ice', 'default:ice', 'default:ice' },
}
})
end
minetest.register_craft({
output = 'everness:snowcobble 9',
@ -124,7 +126,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'everness:pyrite_glass',
recipe = {
{ 'default:glass' },
{ 'group:glass' },
{ 'everness:pyrite_ingot' },
}
})
@ -137,6 +139,24 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'everness:tinted_glass_red 8',
recipe = {
{ 'everness:glass', 'everness:glass', 'everness:glass' },
{ 'everness:glass', 'everness:bloodspore_plant', 'everness:glass' },
{ 'everness:glass', 'everness:glass', 'everness:glass' },
}
})
minetest.register_craft({
output = 'everness:tinted_glass_red 8',
recipe = {
{ 'everness:glass', 'everness:glass', 'everness:glass' },
{ 'everness:glass', 'everness:bloodspore_plant_small', 'everness:glass' },
{ 'everness:glass', 'everness:glass', 'everness:glass' },
}
})
minetest.register_craft({
output = 'everness:pyriteblock_brick 4',
recipe = {
@ -488,9 +508,9 @@ minetest.register_craft({
minetest.register_craft({
output = 'everness:coral_forest_deep_ocean_lantern 1',
recipe = {
{ 'everness:coral_deep_ocean_sandstone_block', 'default:glass', 'everness:coral_deep_ocean_sandstone_block' },
{ 'default:glass', 'default:torch', 'default:glass' },
{ 'everness:coral_deep_ocean_sandstone_block', 'default:glass', 'everness:coral_deep_ocean_sandstone_block' },
{ 'everness:coral_deep_ocean_sandstone_block', 'group:glass', 'everness:coral_deep_ocean_sandstone_block' },
{ 'group:glass', 'group:torch', 'group:glass' },
{ 'everness:coral_deep_ocean_sandstone_block', 'group:glass', 'everness:coral_deep_ocean_sandstone_block' },
}
})
@ -542,8 +562,8 @@ minetest.register_craft({
minetest.register_craft({
output = 'everness:vine_shears',
recipe = {
{ '', 'default:steel_ingot', '' },
{ 'group:stick', 'group:wood', 'default:steel_ingot' },
{ '', 'everness:pyrite_ingot', '' },
{ 'group:stick', 'group:wood', 'everness:pyrite_ingot' },
{ '', '', 'group:stick' }
}
})
@ -652,6 +672,12 @@ minetest.register_craft({
-- Cooking recipes
--
minetest.register_craft({
type = 'cooking',
output = 'everness:glass',
recipe = 'group:everness_sand',
})
minetest.register_craft({
type = 'cooking',
output = 'everness:coral_desert_stone',
@ -701,7 +727,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'everness:coral_tree_bioluminescent_sapling',
recipe = {
{ 'default:meselamp' },
{ 'group:lantern' },
{ 'everness:coral_tree_sapling' },
}
})
@ -709,7 +735,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'everness:cursed_dream_tree_sapling',
recipe = {
{ 'default:meselamp' },
{ 'group:lantern' },
{ 'everness:dry_tree_sapling' },
}
})

View File

@ -65,7 +65,7 @@ doors.register('everness:door_bone_pyrite', {
description = S('Bone Pyrit Door'),
inventory_image = 'everness_door_bone_pyrite_item.png',
groups = { node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1 },
sounds = default.node_sound_wood_defaults(),
sounds = Everness.node_sound_wood_defaults(),
recipe = {
{ 'everness:pyrite_ingot', 'everness:bone' },
{ 'everness:pyrite_ingot', 'everness:bone' },
@ -78,7 +78,7 @@ doors.register('everness:door_willow', {
description = S('Willow Door'),
inventory_image = 'everness_door_willow_item.png',
groups = { node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1 },
sounds = default.node_sound_wood_defaults(),
sounds = Everness.node_sound_wood_defaults(),
recipe = {
{ 'everness:willow_wood', 'everness:willow_wood' },
{ 'everness:willow_wood', 'everness:willow_wood' },
@ -90,13 +90,13 @@ doors.register('everness:door_crystal_wood', {
description = S('Crystal Wood Door'),
tiles = { 'everness_door_crystal_wood.png' },
inventory_image = 'everness_door_crystal_wood_item.png',
use_texture_alpha = true,
use_texture_alpha = 'blend',
groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 },
sounds = default.node_sound_glass_defaults(),
sounds = Everness.node_sound_glass_defaults(),
sound_open = 'everness_door_glass_open',
sound_close = 'everness_door_glass_close',
gain_open = 0.3,
gain_close = 0.25,
gain_open = 0.2,
gain_close = 0.15,
recipe = {
{ 'everness:crystal_wood', 'everness:crystal_wood' },
{ 'everness:crystal_wood', 'everness:crystal_wood' },
@ -110,12 +110,12 @@ doors.register_trapdoor('everness:trapdoor_crystal_wood', {
wield_image = 'everness_door_trapdoor_crystal_wood.png',
tile_front = 'everness_door_trapdoor_crystal_wood.png',
tile_side = 'everness_door_trapdoor_crystal_wood_side.png',
use_texture_alpha = true,
sounds = default.node_sound_glass_defaults(),
use_texture_alpha = 'blend',
sounds = Everness.node_sound_glass_defaults(),
sound_open = 'everness_door_glass_open',
sound_close = 'everness_door_glass_close',
gain_open = 0.3,
gain_close = 0.25,
gain_open = 0.2,
gain_close = 0.15,
groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 },
})

View File

@ -29,7 +29,7 @@ default.register_fence('everness:fence_dry_wood', {
'default_fence_overlay.png^[makealpha:255,126,126',
material = 'everness:dry_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_fence_rail('everness:fence_rail_dry_wood', {
@ -41,7 +41,7 @@ default.register_fence_rail('everness:fence_rail_dry_wood', {
'default_fence_rail_overlay.png^[makealpha:255,126,126',
material = 'everness:dry_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_mesepost('everness:mese_post_light_dry_wood', {
@ -61,7 +61,7 @@ default.register_fence('everness:fence_bamboo_wood', {
'default_fence_overlay.png^[makealpha:255,126,126',
material = 'everness:bamboo_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_fence_rail('everness:fence_rail_bamboo_wood', {
@ -73,7 +73,7 @@ default.register_fence_rail('everness:fence_rail_bamboo_wood', {
'default_fence_rail_overlay.png^[makealpha:255,126,126',
material = 'everness:bamboo_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_mesepost('everness:mese_post_light_bamboo_wood', {
@ -93,7 +93,7 @@ default.register_fence('everness:fence_crystal_wood', {
'default_fence_overlay.png^[makealpha:255,126,126',
material = 'everness:crystal_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_fence_rail('everness:fence_rail_crystal_wood', {
@ -105,7 +105,7 @@ default.register_fence_rail('everness:fence_rail_crystal_wood', {
'default_fence_rail_overlay.png^[makealpha:255,126,126',
material = 'everness:crystal_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = default.node_sound_wood_defaults()
sounds = Everness.node_sound_wood_defaults()
})
default.register_mesepost('everness:mese_post_light_bamboo_wood', {

View File

@ -226,7 +226,7 @@ minetest.register_abm({
-- Leafdecay
--
default.register_leafdecay({
Everness:register_leafdecay({
trunks = {
'everness:coral_tree',
'everness:crystal_bush_stem',
@ -244,7 +244,7 @@ default.register_leafdecay({
})
-- Baobab Tree
default.register_leafdecay({
Everness:register_leafdecay({
trunks = {
'everness:baobab_tree',
'everness:crystal_tree',
@ -265,23 +265,29 @@ default.register_leafdecay({
local moss_correspondences = {
['everness:coral_desert_cobble'] = 'everness:coral_desert_mossy_cobble',
['stairs:slab_coral_desert_cobble'] = 'stairs:slab_coral_desert_mossy_cobble',
['stairs:stair_coral_desert_cobble'] = 'stairs:stair_coral_desert_mossy_cobble',
['stairs:stair_inner_coral_desert_cobble'] = 'stairs:stair_inner_coral_desert_mossy_cobble',
['stairs:stair_outer_coral_desert_cobble'] = 'stairs:stair_outer_coral_desert_mossy_cobble',
['everness:coral_desert_cobble_wall'] = 'everness:coral_desert_mossy_cobble_wall',
}
local moss_nodenames_correspondences = {
'everness:coral_desert_cobble',
}
if minetest.get_modpath('default') then
moss_correspondences['stairs:slab_coral_desert_cobble'] = 'stairs:slab_coral_desert_mossy_cobble'
moss_correspondences['stairs:stair_coral_desert_cobble'] = 'stairs:stair_coral_desert_mossy_cobble'
moss_correspondences['stairs:stair_inner_coral_desert_cobble'] = 'stairs:stair_inner_coral_desert_mossy_cobble'
moss_correspondences['stairs:stair_outer_coral_desert_cobble'] = 'stairs:stair_outer_coral_desert_mossy_cobble'
moss_correspondences['everness:coral_desert_cobble_wall'] = 'everness:coral_desert_mossy_cobble_wall'
table.insert(moss_nodenames_correspondences, 'stairs:slab_coral_desert_cobble')
table.insert(moss_nodenames_correspondences, 'stairs:stair_coral_desert_cobble')
table.insert(moss_nodenames_correspondences, 'stairs:stair_inner_coral_desert_cobble')
table.insert(moss_nodenames_correspondences, 'stairs:stair_outer_coral_desert_cobble')
table.insert(moss_nodenames_correspondences, 'everness:coral_desert_cobble_wall')
end
minetest.register_abm({
label = 'Everness Moss growth',
nodenames = {
'everness:coral_desert_cobble',
'stairs:slab_coral_desert_cobble',
'stairs:stair_coral_desert_cobble',
'stairs:stair_inner_coral_desert_cobble',
'stairs:stair_outer_coral_desert_cobble',
'everness:coral_desert_cobble_wall',
},
nodenames = moss_nodenames_correspondences,
neighbors = { 'group:water' },
interval = 16,
chance = 200,
@ -300,36 +306,42 @@ minetest.register_abm({
--
local magma_correspondences = {
['default:cobble'] = 'everness:magmacobble',
['stairs:slab_cobble'] = 'stairs:slab_magmacobble',
['stairs:stair_cobble'] = 'stairs:stair_magmacobble',
['stairs:stair_inner_cobble'] = 'stairs:stair_inner_magmacobble',
['stairs:stair_outer_cobble'] = 'stairs:stair_outer_magmacobble',
['walls:cobble'] = 'everness:magmacobble_wall',
['everness:volcanic_rock'] = 'everness:volcanic_rock_with_magma',
['stairs:slab_volcanic_rock'] = 'stairs:slab_volcanic_rock_with_magma',
['stairs:stair_volcanic_rock'] = 'stairs:stair_volcanic_rock_with_magma',
['stairs:stair_inner_volcanic_rock'] = 'stairs:stair_inner_volcanic_rock_with_magma',
['stairs:stair_outer_volcanic_rock'] = 'stairs:stair_outer_volcanic_rock_with_magma',
['everness:volcanic_rock_wall'] = 'everness:volcanic_rock_with_magma_wall',
}
local magma_nodenames_correspondences = {
'everness:volcanic_rock'
}
if minetest.get_modpath('default') then
magma_correspondences['default:cobble'] = 'everness:magmacobble'
magma_correspondences['stairs:slab_cobble'] = 'stairs:slab_magmacobble'
magma_correspondences['stairs:stair_cobble'] = 'stairs:stair_magmacobble'
magma_correspondences['stairs:stair_inner_cobble'] = 'stairs:stair_inner_magmacobble'
magma_correspondences['stairs:stair_outer_cobble'] = 'stairs:stair_outer_magmacobble'
magma_correspondences['walls:cobble'] = 'everness:magmacobble_wall'
magma_correspondences['stairs:slab_volcanic_rock'] = 'stairs:slab_volcanic_rock_with_magma'
magma_correspondences['stairs:stair_volcanic_rock'] = 'stairs:stair_volcanic_rock_with_magma'
magma_correspondences['stairs:stair_inner_volcanic_rock'] = 'stairs:stair_inner_volcanic_rock_with_magma'
magma_correspondences['stairs:stair_outer_volcanic_rock'] = 'stairs:stair_outer_volcanic_rock_with_magma'
magma_correspondences['everness:volcanic_rock_wall'] = 'everness:volcanic_rock_with_magma_wall'
table.insert(magma_nodenames_correspondences, 'default:cobble')
table.insert(magma_nodenames_correspondences, 'stairs:slab_cobble')
table.insert(magma_nodenames_correspondences, 'stairs:stair_cobble')
table.insert(magma_nodenames_correspondences, 'stairs:stair_inner_cobble')
table.insert(magma_nodenames_correspondences, 'stairs:stair_outer_cobble')
table.insert(magma_nodenames_correspondences, 'walls:cobble')
table.insert(magma_nodenames_correspondences, 'stairs:slab_volcanic_rock')
table.insert(magma_nodenames_correspondences, 'stairs:stair_volcanic_rock')
table.insert(magma_nodenames_correspondences, 'stairs:stair_inner_volcanic_rock')
table.insert(magma_nodenames_correspondences, 'stairs:stair_outer_volcanic_rock')
table.insert(magma_nodenames_correspondences, 'everness:volcanic_rock_wall')
end
minetest.register_abm({
label = 'Magma growth',
nodenames = {
'default:cobble',
'stairs:slab_cobble',
'stairs:stair_cobble',
'stairs:stair_inner_cobble',
'stairs:stair_outer_cobble',
'walls:cobble',
'everness:volcanic_rock',
'stairs:slab_volcanic_rock',
'stairs:stair_volcanic_rock',
'stairs:stair_inner_volcanic_rock',
'stairs:stair_outer_volcanic_rock',
'everness:volcanic_rock_wall',
},
label = 'Everness Magma growth',
nodenames = magma_nodenames_correspondences,
neighbors = { 'group:lava' },
interval = 16,
chance = 200,
@ -503,7 +515,7 @@ minetest.register_abm({
'everness:cactus_orange',
'everness:cactus_blue'
},
neighbors = { 'group:mold_soil' },
neighbors = { 'group:sand', 'group:everness_sand' },
interval = 12,
chance = 83,
action = function(...)
@ -518,7 +530,7 @@ minetest.register_abm({
minetest.register_abm({
label = 'everness:bio_bubbles',
nodenames = { 'group:bio_bubbles' },
neighbors = { 'default:water_source' },
neighbors = { 'group:water' },
interval = 16,
chance = 2,
catch_up = false,
@ -604,7 +616,7 @@ minetest.register_abm({
minetest.register_abm({
label = 'everness:rising_souls',
nodenames = { 'group:rising_souls' },
neighbors = { 'default:water_source' },
neighbors = { 'group:water' },
interval = 16,
chance = 2,
catch_up = false,
@ -696,7 +708,7 @@ minetest.register_abm({
minetest.register_abm({
label = 'everness:rising_souls',
nodenames = { 'group:rising_crystals' },
neighbors = { 'default:water_source' },
neighbors = { 'group:water' },
interval = 16,
chance = 2,
catch_up = false,

View File

@ -28,6 +28,11 @@ dofile(path .. '/bamboo.lua')
dofile(path .. '/functions.lua')
dofile(path .. '/trees.lua')
dofile(path .. '/vines.lua')
dofile(path .. '/chests.lua')
if minetest.get_modpath('default') then
dofile(path .. '/mapgen_aliases_default.lua')
end
dofile(path .. '/mapgen.lua')
@ -165,7 +170,14 @@ if minetest.get_modpath('walls') and minetest.global_exists('walls') then
dofile(path .. '/walls.lua')
end
if minetest.get_modpath('default') or minetest.global_exists('default') then
if default.register_fence
and default.register_fence_rail
and default.register_mesepost
then
dofile(path .. '/fences.lua')
end
end
if minetest.get_modpath('doors') and minetest.global_exists('doors') then
dofile(path .. '/doors.lua')
@ -206,6 +218,8 @@ then
dofile(path .. '/mod_support_x_obsidianmese.lua')
end
Everness.set_loot_chest_items()
local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000
print('[Mod] everness loaded.. [' .. mod_end_time .. 's]')

View File

@ -33,7 +33,7 @@ minetest.register_lbm({
},
run_at_every_load = true,
action = function(pos, node)
minetest.set_node(pos, { name = 'default:chest', param2 = minetest.get_node(pos).param2 })
minetest.set_node(pos, { name = 'everness:chest', param2 = minetest.get_node(pos).param2 })
local rand = PcgRandom(pos.x * pos.y * pos.z)
local inv = minetest.get_inventory({ type = 'node', pos = pos })
@ -45,6 +45,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -62,6 +66,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -79,6 +87,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -96,6 +108,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -113,6 +129,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -130,6 +150,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -147,6 +171,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -164,6 +192,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -181,6 +213,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
@ -198,6 +234,10 @@ minetest.register_lbm({
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)

View File

@ -27,7 +27,7 @@
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:stone_with_pyrite',
wherein = 'default:stone',
wherein = 'everness_mapgen_stone',
clust_scarcity = 13 * 13 * 13,
clust_num_ores = 5,
clust_size = 3,
@ -38,7 +38,7 @@ minetest.register_ore({
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:stone_with_pyrite',
wherein = 'default:stone',
wherein = 'everness_mapgen_stone',
clust_scarcity = 15 * 15 * 15,
clust_num_ores = 3,
clust_size = 2,
@ -49,7 +49,7 @@ minetest.register_ore({
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:stone_with_pyrite',
wherein = 'default:stone',
wherein = 'everness_mapgen_stone',
clust_scarcity = 13 * 13 * 13,
clust_num_ores = 5,
clust_size = 3,
@ -62,7 +62,7 @@ minetest.register_ore({
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:quartz_ore',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 10 * 10 * 10,
clust_num_ores = 6,
clust_size = 5,

View File

@ -19,13 +19,13 @@
-- Get the content IDs for the nodes used.
local c_air = minetest.get_content_id('air')
local c_dirt_with_grass_1 = minetest.get_content_id('everness:dirt_with_grass_1')
local c_dirt_with_rainforest_litter = minetest.get_content_id('default:dirt_with_rainforest_litter')
local c_dirt_with_rainforest_litter = minetest.get_content_id('everness_mapgen_dirt_with_rainforest_litter')
local c_dirt_with_cursed_grass = minetest.get_content_id('everness:dirt_with_cursed_grass')
local c_dirt_with_crystal_grass = minetest.get_content_id('everness:dirt_with_crystal_grass')
local c_crystal_sand = minetest.get_content_id('everness:crystal_sand')
local c_dry_ocean_dirt = minetest.get_content_id('everness:dry_ocean_dirt')
local c_dirt_with_snow = minetest.get_content_id('default:dirt_with_snow')
local c_dirt_with_coniferous_litter = minetest.get_content_id('default:dirt_with_coniferous_litter')
local c_dirt_with_snow = minetest.get_content_id('everness_mapgen_dirt_with_snow')
local c_dirt_with_coniferous_litter = minetest.get_content_id('everness_mapgen_dirt_with_coniferous_litter')
local c_forsaken_desert_sand = minetest.get_content_id('everness:forsaken_desert_sand')
local c_forsaken_desert_chiseled_stone = minetest.get_content_id('everness:forsaken_desert_chiseled_stone')
local c_forsaken_desert_brick = minetest.get_content_id('everness:forsaken_desert_brick')
@ -214,9 +214,9 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
vector.new(s_pos.x - 6, s_pos.y - 1, s_pos.z - 6),
vector.new(s_pos.x + 6, s_pos.y + 1, s_pos.z + 6),
{
'default:dirt_with_snow',
'default:dirt_with_coniferous_litter',
'default:snow'
'everness_mapgen_dirt_with_snow',
'everness_mapgen_dirt_with_coniferous_litter',
'everness_mapgen_snow'
})
if #positions < 137 then
@ -312,15 +312,15 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
'everness:forsaken_desert_chiseled_stone',
'everness:forsaken_desert_brick',
'everness:forsaken_desert_engraved_stone',
'default:stone',
'default:sand',
'default:gravel',
'default:stone_with_coal',
'default:stone_with_iron',
'default:stone_with_tin',
'default:stone_with_gold',
'default:stone_with_mese',
'default:stone_with_diamond',
'everness_mapgen_stone',
'everness_mapgen_sand',
'everness_mapgen_gravel',
'everness_mapgen_stone_with_coal',
'everness_mapgen_stone_with_iron',
'everness_mapgen_stone_with_tin',
'everness_mapgen_stone_with_gold',
'everness_mapgen_stone_with_mese',
'everness_mapgen_stone_with_diamond',
'everness:cave_barrel_cactus',
'everness:venus_trap',
'everness:illumi_root',

View File

@ -0,0 +1,59 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2023 SaKeL <juraj.vajda@gmail.com>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to juraj.vajda@gmail.com
--]]
minetest.register_alias('everness_mapgen_stone', 'default:stone')
minetest.register_alias('everness_mapgen_water_source', 'default:water_source')
minetest.register_alias('everness_mapgen_lava_source', 'default:lava_source')
minetest.register_alias('everness_mapgen_sand', 'default:sand')
minetest.register_alias('everness_mapgen_stair_bamboo_wood', 'stairs:stair_bamboo_wood')
minetest.register_alias('everness_mapgen_dry_dirt_with_dry_grass', 'default:dry_dirt_with_dry_grass')
minetest.register_alias('everness_mapgen_dry_dirt', 'default:dry_dirt')
minetest.register_alias('everness_mapgen_cobble', 'default:cobble')
minetest.register_alias('everness_mapgen_mossycobble', 'default:mossycobble')
minetest.register_alias('everness_mapgen_stair_cobble', 'stairs:stair_cobble')
minetest.register_alias('everness_mapgen_stair_coral_deep_ocean_sandstone_block', 'stairs:stair_coral_deep_ocean_sandstone_block')
minetest.register_alias('everness_mapgen_stair_coral_sandstone', 'stairs:stair_coral_sandstone')
minetest.register_alias('everness_mapgen_stair_coral_desert_cobble', 'stairs:stair_coral_desert_cobble')
minetest.register_alias('everness_mapgen_stair_coral_desert_stone_block', 'stairs:stair_coral_desert_stone_block')
minetest.register_alias('everness_mapgen_stair_crystal_forest_deep_ocean_sandstone_block', 'stairs:stair_crystal_forest_deep_ocean_sandstone_block')
minetest.register_alias('everness_mapgen_stair_cursed_lands_deep_ocean_sandstone_block', 'stairs:stair_cursed_lands_deep_ocean_sandstone_block')
minetest.register_alias('everness_mapgen_stair_cursed_sandstone_brick', 'stairs:stair_cursed_sandstone_brick')
minetest.register_alias('everness_mapgen_stair_cursed_brick', 'stairs:stair_cursed_brick')
minetest.register_alias('everness_mapgen_stair_forsaken_desert_brick', 'stairs:stair_forsaken_desert_brick')
minetest.register_alias('everness_mapgen_stair_forsaken_tundra_cobble', 'stairs:stair_forsaken_tundra_cobble')
minetest.register_alias('everness_mapgen_stair_ice', 'stairs:stair_ice')
minetest.register_alias('everness_mapgen_dirt_with_rainforest_litter', 'default:dirt_with_rainforest_litter')
minetest.register_alias('everness_mapgen_dirt_with_snow', 'default:dirt_with_snow')
minetest.register_alias('everness_mapgen_dirt_with_grass', 'default:dirt_with_grass')
minetest.register_alias('everness_mapgen_dirt_with_coniferous_litter', 'default:dirt_with_coniferous_litter')
minetest.register_alias('everness_mapgen_snow', 'default:snow')
minetest.register_alias('everness_mapgen_gravel', 'default:gravel')
minetest.register_alias('everness_mapgen_clay', 'default:clay')
minetest.register_alias('everness_mapgen_grass_1', 'default:grass_1')
minetest.register_alias('everness_mapgen_grass_2', 'default:grass_2')
minetest.register_alias('everness_mapgen_grass_3', 'default:grass_3')
minetest.register_alias('everness_mapgen_grass_4', 'default:grass_4')
minetest.register_alias('everness_mapgen_grass_5', 'default:grass_5')
minetest.register_alias('everness_mapgen_flowers_rose', 'flowers:rose')
minetest.register_alias('everness_mapgen_flowers_tulip', 'flowers:tulip')
minetest.register_alias('everness_mapgen_flowers_dandelion_yellow', 'flowers:dandelion_yellow')
minetest.register_alias('everness_mapgen_flowers_chrysanthemum_green', 'flowers:chrysanthemum_green')
minetest.register_alias('everness_mapgen_flowers_geranium', 'flowers:geranium')
minetest.register_alias('everness_mapgen_flowers_viola', 'flowers:viola')
minetest.register_alias('everness_mapgen_flowers_dandelion_white', 'flowers:dandelion_white')
minetest.register_alias('everness_mapgen_flowers_tulip_black', 'flowers:tulip_black')

View File

@ -31,11 +31,11 @@ minetest.register_biome({
depth_top = 1,
node_filler = 'everness:dirt_1',
depth_filler = 1,
node_riverbed = 'default:sand',
node_riverbed = 'everness_mapgen_sand',
depth_riverbed = 2,
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_dungeon = 'everness:bamboo_wood',
node_dungeon_alt = 'everness:bamboo_mosaic_wood',
node_dungeon_stair = 'everness_mapgen_stair_bamboo_wood',
y_max = y_max,
y_min = y_min,
heat_point = 80,
@ -76,6 +76,15 @@ minetest.register_decoration({
-- Jungle tree and log
local jungle_tree_schem
local jungle_log_schem
if minetest.get_modpath('default') then
jungle_tree_schem = minetest.get_modpath('default') .. '/schematics/jungle_tree.mts'
jungle_log_schem = minetest.get_modpath('default') .. '/schematics/jungle_log.mts'
end
if jungle_tree_schem then
minetest.register_decoration({
name = 'everness:bamboo_forest_jungle_tree',
deco_type = 'schematic',
@ -92,11 +101,13 @@ minetest.register_decoration({
biomes = { 'everness_bamboo_forest' },
y_max = y_max,
y_min = y_min,
schematic = minetest.get_modpath('default') .. '/schematics/jungle_tree.mts',
schematic = jungle_tree_schem,
flags = 'place_center_x, place_center_z',
rotation = 'random',
})
end
if jungle_log_schem then
minetest.register_decoration({
name = 'everness:bamboo_forest_jungle_log',
deco_type = 'schematic',
@ -114,12 +125,13 @@ minetest.register_decoration({
biomes = { 'everness_bamboo_forest' },
y_max = y_max,
y_min = y_min,
schematic = minetest.get_modpath('default') .. '/schematics/jungle_log.mts',
schematic = jungle_log_schem,
flags = 'place_center_x',
rotation = 'random',
spawn_by = 'everness:dirt_with_grass_1',
num_spawn_by = 8,
})
end
local function register_grass_decoration(offset, scale, length)
minetest.register_decoration({
@ -138,7 +150,7 @@ local function register_grass_decoration(offset, scale, length)
biomes = { 'everness_bamboo_forest' },
y_max = y_max,
y_min = y_min,
decoration = 'default:grass_' .. length,
decoration = 'everness_mapgen_grass_' .. length,
})
end
@ -159,12 +171,13 @@ local function register_flower(seed, flower_name)
biomes = { 'everness_bamboo_forest' },
y_max = y_max,
y_min = y_min,
decoration = 'flowers:' .. flower_name,
decoration = flower_name,
})
end
-- Bush
if minetest.get_modpath('default') then
minetest.register_decoration({
name = 'everness:bamboo_forest_bush',
deco_type = 'schematic',
@ -207,6 +220,7 @@ minetest.register_decoration({
schematic = minetest.get_modpath('default') .. '/schematics/blueberry_bush.mts',
flags = 'place_center_x, place_center_z',
})
end
-- Grasses
@ -218,14 +232,14 @@ register_grass_decoration(0.03, 0.03, 1)
-- Flowers
register_flower(436, 'rose')
register_flower(19822, 'tulip')
register_flower(1220999, 'dandelion_yellow')
register_flower(800081, 'chrysanthemum_green')
register_flower(36662, 'geranium')
register_flower(1133, 'viola')
register_flower(73133, 'dandelion_white')
register_flower(42, 'tulip_black')
register_flower(436, 'everness_mapgen_flowers_rose')
register_flower(19822, 'everness_mapgen_flowers_tulip')
register_flower(1220999, 'everness_mapgen_flowers_dandelion_yellow')
register_flower(800081, 'everness_mapgen_flowers_chrysanthemum_green')
register_flower(36662, 'everness_mapgen_flowers_geranium')
register_flower(1133, 'everness_mapgen_flowers_viola')
register_flower(73133, 'everness_mapgen_flowers_dandelion_white')
register_flower(42, 'everness_mapgen_flowers_tulip_black')
--
-- On Generated

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_bamboo_forest_under.y_min
minetest.register_biome({
name = 'everness_bamboo_forest_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness:bamboo_wood',
node_dungeon_alt = 'everness:bamboo_mosaic_wood',
node_dungeon_stair = 'everness_mapgen_stair_bamboo_wood',
y_max = y_max,
y_min = y_min,
heat_point = 80,
@ -44,7 +44,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:bamboo_forest_under_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 10,
biomes = { 'everness_bamboo_forest_under' },
@ -54,14 +54,14 @@ minetest.register_decoration({
flags = 'all_floors,force_placement',
decoration = {
'everness:moss_block',
'default:clay'
'everness_mapgen_clay'
},
})
minetest.register_decoration({
name = 'everness:bamboo_forest_under_ceiling',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_bamboo_forest_under' },
@ -156,7 +156,7 @@ minetest.register_decoration({
deco_type = 'simple',
place_on = {
'everness:moss_block',
'default:clay'
'everness_mapgen_clay'
},
sidelen = 16,
noise_params = {

View File

@ -27,15 +27,15 @@ local y_min = Everness.settings.biomes.everness_baobab_savanna.y_min
minetest.register_biome({
name = 'everness_baobab_savanna',
node_top = 'default:dry_dirt_with_dry_grass',
node_top = 'everness_mapgen_dry_dirt_with_dry_grass',
depth_top = 1,
node_filler = 'default:dry_dirt',
node_filler = 'everness_mapgen_dry_dirt',
depth_filler = 1,
node_riverbed = 'default:sand',
node_riverbed = 'everness_mapgen_sand',
depth_riverbed = 2,
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 80,
@ -54,7 +54,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:baobab_savanna_dry_dirt_with_dry_grass',
deco_type = 'simple',
place_on = { 'default:dry_dirt_with_dry_grass' },
place_on = { 'everness_mapgen_dry_dirt_with_dry_grass' },
sidelen = 4,
noise_params = {
offset = -1.5,
@ -67,7 +67,7 @@ minetest.register_decoration({
biomes = { 'everness_baobab_savanna' },
y_max = y_max,
y_min = y_min,
decoration = 'default:dry_dirt',
decoration = 'everness_mapgen_dry_dirt',
place_offset_y = -1,
flags = 'force_placement',
})
@ -75,8 +75,8 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:baobab_savanna_baobab_tree_1',
deco_type = 'schematic',
place_on = { 'default:dry_dirt_with_dry_grass', 'default:dry_dirt' },
spawn_by = { 'default:dry_dirt_with_dry_grass', 'default:dry_dirt' },
place_on = { 'everness_mapgen_dry_dirt_with_dry_grass', 'everness_mapgen_dry_dirt' },
spawn_by = { 'everness_mapgen_dry_dirt_with_dry_grass', 'everness_mapgen_dry_dirt' },
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -98,8 +98,8 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:baobab_savanna_baobab_tree_2',
deco_type = 'schematic',
place_on = { 'default:dry_dirt_with_dry_grass', 'default:dry_dirt' },
spawn_by = { 'default:dry_dirt_with_dry_grass', 'default:dry_dirt' },
place_on = { 'everness_mapgen_dry_dirt_with_dry_grass', 'everness_mapgen_dry_dirt' },
spawn_by = { 'everness_mapgen_dry_dirt_with_dry_grass', 'everness_mapgen_dry_dirt' },
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -118,10 +118,17 @@ minetest.register_decoration({
rotation = 'random',
})
local acacia_log_schem
if minetest.get_modpath('default') then
acacia_log_schem = minetest.get_modpath('default') .. '/schematics/acacia_log.mts'
end
if acacia_log_schem then
minetest.register_decoration({
name = 'everness:baobab_savanna_acacia_log',
deco_type = 'schematic',
place_on = { 'default:dry_dirt_with_dry_grass' },
place_on = { 'everness_mapgen_dry_dirt_with_dry_grass' },
place_offset_y = 1,
sidelen = 16,
noise_params = {
@ -135,12 +142,13 @@ minetest.register_decoration({
biomes = { 'everness_baobab_savanna' },
y_max = y_max,
y_min = y_min,
schematic = minetest.get_modpath('default') .. '/schematics/acacia_log.mts',
schematic = acacia_log_schem,
flags = 'place_center_x',
rotation = 'random',
spawn_by = 'default:dry_dirt_with_dry_grass',
spawn_by = 'everness_mapgen_dry_dirt_with_dry_grass',
num_spawn_by = 8,
})
end
--
-- On Generated

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:coral_desert_stone_block',
node_dungeon_alt = 'everness:coral_desert_stone_brick',
node_dungeon_stair = 'stairs:stair_coral_desert_stone_block',
node_dungeon_stair = 'everness_mapgen_stair_coral_desert_stone_block',
y_max = y_max,
y_min = y_min,
heat_point = 60,
@ -54,7 +54,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:coral_desert_stone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:coral_forest_deep_ocean_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:coral_deep_ocean_sandstone_block',
node_dungeon_alt = 'everness:coral_deep_ocean_sandstone_brick',
node_dungeon_stair = 'stairs:stair_coral_deep_ocean_sandstone_block',
node_dungeon_stair = 'everness_mapgen_stair_coral_deep_ocean_sandstone_block',
y_max = y_max,
y_min = y_min,
heat_point = 60,
@ -51,7 +51,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:coral_desert_stone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
@ -78,7 +78,7 @@ minetest.register_decoration({
name = 'everness:coral_forest_deep_ocean_coral_reef_pink',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -100,7 +100,7 @@ minetest.register_decoration({
name = 'everness:coral_forest_deep_ocean_coral_reef_cyan',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -122,7 +122,7 @@ minetest.register_decoration({
name = 'everness:coral_forest_deep_ocean_coral_reef_green',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -144,7 +144,7 @@ minetest.register_decoration({
name = 'everness:coral_forest_deep_ocean_coral_reef_red',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -166,7 +166,7 @@ minetest.register_decoration({
name = 'everness:everness_coral_forest_deep_ocean_pink',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -181,7 +181,7 @@ minetest.register_decoration({
name = 'everness:everness_coral_forest_deep_ocean_cyan',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -196,7 +196,7 @@ minetest.register_decoration({
name = 'everness:everness_coral_forest_deep_ocean_green',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -211,7 +211,7 @@ minetest.register_decoration({
name = 'everness:everness_coral_forest_deep_ocean_red',
deco_type = 'schematic',
place_on = { 'everness:coral_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -234,7 +234,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:coral_deep_ocean_mud' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -257,7 +257,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_1' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -280,7 +280,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_2' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -303,7 +303,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:coral_forest_deep_ocean_coral_plant_3' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -311,7 +311,7 @@ minetest.register_decoration({
-- On Generated
--
local c_water_source = minetest.get_content_id('default:water_source')
local c_water_source = minetest.get_content_id('everness_mapgen_water_source')
local c_coral_forest_deep_ocean_sand = minetest.get_content_id('everness:coral_forest_deep_ocean_sand')
-- Localize data buffer table outside the loop, to be re-used for all
@ -380,7 +380,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
local water_source_positions = minetest.find_nodes_in_area(
vector.new(s_pos.x - 5, s_pos.y, s_pos.z - 6),
vector.new(s_pos.x + 5, s_pos.y + 17, s_pos.z + 6),
{ 'default:water_source' }
{ 'everness_mapgen_water_source' }
)
if #water_source_positions > (house_volume - house_volume / 3) then

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:coral_sandstone',
node_dungeon_alt = 'everness:coral_sandstone_brick',
node_dungeon_stair = 'stairs:stair_coral_sandstone',
node_dungeon_stair = 'everness_mapgen_stair_coral_sandstone',
vertical_blend = 1,
y_max = y_max,
y_min = y_min,
@ -55,7 +55,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:coral_desert_stone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:coral_white_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:coral_desert_cobble',
node_dungeon_alt = 'everness:coral_desert_mossy_cobble',
node_dungeon_stair = 'stairs:stair_coral_desert_cobble',
node_dungeon_stair = 'everness_mapgen_stair_coral_desert_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 60,
@ -51,7 +51,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:coral_desert_stone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
@ -97,6 +97,6 @@ minetest.register_decoration({
decoration = {
'everness:coral_corals',
'everness:coral_jellyfish',
'default:coral_skeleton'
'everness:coral_skeleton'
},
})

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_coral_forest_under.y_min
minetest.register_biome({
name = 'everness_coral_forest_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness:coral_desert_cobble',
node_dungeon_alt = 'everness:coral_desert_mossy_cobble',
node_dungeon_stair = 'stairs:stair_coral_desert_cobble',
node_dungeon_stair = 'everness_mapgen_stair_coral_desert_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 60,
@ -49,7 +49,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:coral_desert_stone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
@ -75,7 +75,7 @@ minetest.register_ore({
minetest.register_decoration({
name = 'everness:coral_forest_under_desert_stone_with_moss_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
place_offset_y = -1,
sidelen = 16,
fill_ratio = 10,
@ -91,7 +91,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:coral_forest_under_mold_stone_ceilings',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_coral_forest_under' },

View File

@ -33,9 +33,9 @@ minetest.register_biome({
depth_filler = 1,
node_riverbed = 'everness:crystal_dirt',
depth_riverbed = 2,
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 35,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:crystal_forest_deep_ocean_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:crystal_forest_deep_ocean_sandstone_block',
node_dungeon_alt = 'everness:crystal_forest_deep_ocean_sandstone_brick',
node_dungeon_stair = 'stairs:stair_crystal_forest_deep_ocean_sandstone_block',
node_dungeon_stair = 'everness_mapgen_stair_crystal_forest_deep_ocean_sandstone_block',
y_max = y_max,
y_min = y_min,
heat_point = 35,
@ -51,7 +51,7 @@ minetest.register_decoration({
name = 'everness:crystal_forest_deep_ocean_coral_1',
deco_type = 'schematic',
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -66,7 +66,7 @@ minetest.register_decoration({
name = 'everness:crystal_forest_deep_ocean_coral_2',
deco_type = 'schematic',
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -81,7 +81,7 @@ minetest.register_decoration({
name = 'everness:crystal_forest_deep_ocean_coral_3',
deco_type = 'schematic',
place_on = { 'everness:crystal_forest_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -104,7 +104,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:crystal_forest_deep_ocean_sand_with_crack' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -127,7 +127,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_1' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -150,7 +150,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_2' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -173,7 +173,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:crystal_forest_deep_ocean_coral_plant_3' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -181,7 +181,7 @@ minetest.register_decoration({
-- On Generated
--
local c_water_source = minetest.get_content_id('default:water_source')
local c_water_source = minetest.get_content_id('everness_mapgen_water_source')
local c_crystal_forest_deep_ocean_sand = minetest.get_content_id('everness:crystal_forest_deep_ocean_sand')
-- Localize data buffer table outside the loop, to be re-used for all
@ -249,7 +249,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
local water_source_positions = minetest.find_nodes_in_area(
vector.new(s_pos.x - (ruins_size.x / 2), s_pos.y, s_pos.z - (ruins_size.z / 2)),
vector.new(s_pos.x + (ruins_size.x / 2), s_pos.y + ruins_size.y, s_pos.z + (ruins_size.z / 2)),
{ 'default:water_source' }
{ 'everness_mapgen_water_source' }
)
if #water_source_positions > (ruins_volume - ruins_volume / 3) then

View File

@ -33,9 +33,9 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:crystal_sand',
depth_riverbed = 2,
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
vertical_blend = 1,
y_max = y_max,
y_min = y_min,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:crystal_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 35,
@ -70,6 +70,6 @@ minetest.register_decoration({
decoration = {
'everness:crystal_coral_dark',
'everness:crystal_coral_light',
'default:coral_skeleton'
'everness:coral_skeleton'
},
})

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:crystal_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 35,

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_crystal_forest_under.y_min
minetest.register_biome({
name = 'everness_crystal_forest_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 35,
@ -44,7 +44,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:crystal_forest_under_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
place_offset_y = -1,
fill_ratio = 10,
@ -61,7 +61,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:crystal_forest_under_ceilings',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_crystal_forest_under' },
@ -204,7 +204,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:crystal_forest_under_crystal_cyan_ceiling',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
noise_params = {
offset = 0,

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:cursed_brick',
node_dungeon_alt = 'everness:cursed_brick_with_growth',
node_dungeon_stair = 'stairs:stair_cursed_brick',
node_dungeon_stair = 'everness_mapgen_stair_cursed_brick',
y_max = y_max,
y_min = y_min,
heat_point = 45,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:cursed_lands_deep_ocean_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:cursed_lands_deep_ocean_sandstone_block',
node_dungeon_alt = 'everness:cursed_lands_deep_ocean_sandstone_brick',
node_dungeon_stair = 'stairs:stair_cursed_lands_deep_ocean_sandstone_block',
node_dungeon_stair = 'everness_mapgen_stair_cursed_lands_deep_ocean_sandstone_block',
y_max = y_max,
y_min = y_min,
heat_point = 45,
@ -51,7 +51,7 @@ minetest.register_decoration({
name = 'everness:forsaken_lands_deep_ocean_coral_alcyonacea',
deco_type = 'schematic',
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -66,7 +66,7 @@ minetest.register_decoration({
name = 'everness:forsaken_lands_deep_ocean_coral_ostracod',
deco_type = 'schematic',
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -81,7 +81,7 @@ minetest.register_decoration({
name = 'everness:forsaken_lands_deep_ocean_coral_octocurse',
deco_type = 'schematic',
place_on = { 'everness:cursed_lands_deep_ocean_sand' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -104,7 +104,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:cursed_lands_deep_ocean_sand_with_crack' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -127,7 +127,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_anemone' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -150,7 +150,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_darkilluma' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -173,7 +173,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:cursed_lands_deep_ocean_coral_plant_demon' },
spawn_by = 'default:water_source',
spawn_by = 'everness_mapgen_water_source',
num_spawn_by = 8,
})
@ -181,7 +181,7 @@ minetest.register_decoration({
-- On Generated
--
local c_water_source = minetest.get_content_id('default:water_source')
local c_water_source = minetest.get_content_id('everness_mapgen_water_source')
local c_cursed_lands_deep_ocean_sand = minetest.get_content_id('everness:cursed_lands_deep_ocean_sand')
-- Localize data buffer table outside the loop, to be re-used for all
@ -250,7 +250,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
local water_source_positions = minetest.find_nodes_in_area(
vector.new(s_pos.x - 5, s_pos.y, s_pos.z - 5),
vector.new(s_pos.x + 5, s_pos.y + 11, s_pos.z + 5),
{ 'default:water_source' }
{ 'everness_mapgen_water_source' }
)
if #water_source_positions > skull_volume / 3 then

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:cursed_sandstone_brick',
node_dungeon_alt = 'everness:cursed_sandstone_block',
node_dungeon_stair = 'stairs:stair_cursed_sandstone_brick',
node_dungeon_stair = 'everness_mapgen_stair_cursed_sandstone_brick',
vertical_blend = 1,
y_max = y_max,
y_min = y_min,

View File

@ -33,10 +33,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:cursed_stone',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:cursed_lands_deep_ocean_sandstone_block',
node_dungeon_alt = 'everness:cursed_lands_deep_ocean_sandstone_brick',
node_dungeon_stair = 'stairs:stair_cursed_lands_deep_ocean_sandstone_block',
node_dungeon_stair = 'everness_mapgen_stair_cursed_lands_deep_ocean_sandstone_block',
y_max = y_max,
y_min = y_min,
heat_point = 45,
@ -96,7 +96,7 @@ minetest.register_decoration({
flags = 'force_placement',
decoration = {
'everness:sand_with_spine_kelp',
'default:coral_skeleton'
'everness:coral_skeleton'
},
param2 = 48,
param2_max = 96,

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:cursed_sandstone_brick',
node_dungeon_alt = 'everness:cursed_sandstone_block',
node_dungeon_stair = 'stairs:stair_cursed_sandstone_brick',
node_dungeon_stair = 'everness_mapgen_stair_cursed_sandstone_brick',
y_max = y_max,
y_min = y_min,
heat_point = 45,

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_cursed_lands_under.y_min
minetest.register_biome({
name = 'everness_cursed_lands_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness:cursed_brick',
node_dungeon_alt = 'everness:cursed_brick_with_growth',
node_dungeon_stair = 'stairs:stair_cursed_brick',
node_dungeon_stair = 'everness_mapgen_stair_cursed_brick',
y_max = y_max,
y_min = y_min,
heat_point = 45,
@ -44,7 +44,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:cursed_lands_under_soul_sandstone_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
place_offset_y = -1,
sidelen = 16,
fill_ratio = 10,
@ -60,7 +60,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:cursed_lands_under_mold_stone_ceilings',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_cursed_lands_under' },

View File

@ -36,7 +36,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:forsaken_desert_brick',
node_dungeon_alt = 'everness:forsaken_desert_brick_red',
node_dungeon_stair = 'stairs:stair_forsaken_desert_brick',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_desert_brick',
y_max = y_max,
y_min = y_min,
heat_point = 100,

View File

@ -39,7 +39,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:forsaken_desert_brick',
node_dungeon_alt = 'everness:forsaken_desert_brick_red',
node_dungeon_stair = 'stairs:stair_forsaken_desert_brick',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_desert_brick',
y_max = y_max,
y_min = y_min,
heat_point = 100,

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_forsaken_desert_under.y_min
minetest.register_biome({
name = 'everness_forsaken_desert_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness_mapgen_cobble',
node_dungeon_alt = 'everness_mapgen_mossycobble',
node_dungeon_stair = 'everness_mapgen_stair_cobblestair_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 100,
@ -44,7 +44,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:forsaken_desert_under_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
place_offset_y = -1,
fill_ratio = 10,

View File

@ -36,7 +36,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_tundra_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 10,
@ -53,7 +53,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:sulfur_stone',
wherein = { 'default:stone', 'everness:forsaken_tundra_stone' },
wherein = { 'everness_mapgen_stone', 'everness:forsaken_tundra_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,

View File

@ -35,7 +35,7 @@ minetest.register_biome({
depth_riverbed = 2,
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_tundra_cobble',
vertical_blend = 1,
y_max = y_max,
y_min = y_min,
@ -53,7 +53,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:sulfur_stone',
wherein = { 'default:stone', 'everness:forsaken_tundra_stone' },
wherein = { 'everness_mapgen_stone', 'everness:forsaken_tundra_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,

View File

@ -34,10 +34,10 @@ minetest.register_biome({
depth_filler = 3,
node_riverbed = 'everness:forsaken_tundra_beach_sand',
depth_riverbed = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_tundra_cobble',
vertical_blend = 1,
y_max = y_max,
y_min = y_min,
@ -55,7 +55,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:sulfur_stone',
wherein = { 'default:stone', 'everness:forsaken_tundra_stone' },
wherein = { 'everness_mapgen_stone', 'everness:forsaken_tundra_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_forsaken_tundra_under.y_min
minetest.register_biome({
name = 'everness_forsaken_tundra_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',
node_dungeon_stair = 'everness_mapgen_stair_forsaken_tundra_cobble',
y_max = y_max,
y_min = y_min,
heat_point = 10,
@ -47,7 +47,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:sulfur_stone',
wherein = { 'default:stone', 'everness:forsaken_tundra_stone' },
wherein = { 'everness_mapgen_stone', 'everness:forsaken_tundra_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
@ -71,7 +71,7 @@ minetest.register_ore({
minetest.register_decoration({
name = 'everness:forsaken_tundra_under_mold_stone_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
place_offset_y = -1,
fill_ratio = 10,
@ -87,7 +87,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:forsaken_tundra_under_mold_stone_ceilings',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_forsaken_tundra_under' },
@ -102,7 +102,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:forsaken_tundra_under_obsidian_floors',
deco_type = 'simple',
place_on = { 'default:stone', 'everness:mold_stone_with_moss' },
place_on = { 'everness_mapgen_stone', 'everness:mold_stone_with_moss' },
sidelen = 16,
place_offset_y = -1,
fill_ratio = 0.02,
@ -120,7 +120,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:forsaken_tundra_under_obsidian_ceilings',
deco_type = 'simple',
place_on = { 'default:stone', 'everness:moss_block' },
place_on = { 'everness_mapgen_stone', 'everness:moss_block' },
sidelen = 16,
place_offset_y = -1,
fill_ratio = 0.02,

View File

@ -36,11 +36,11 @@ minetest.register_biome({
node_water_top = 'everness:frosted_ice',
depth_water_top = 2,
node_river_water = 'everness:frosted_ice',
node_riverbed = 'default:gravel',
node_riverbed = 'everness_mapgen_gravel',
depth_riverbed = 2,
node_dungeon = 'everness:icecobble',
node_dungeon_alt = 'everness:snowcobble',
node_dungeon_stair = 'stairs:stair_ice',
node_dungeon_stair = 'everness_mapgen_stair_ice',
y_max = y_max,
y_min = y_min,
heat_point = 0,

View File

@ -27,16 +27,16 @@ local y_min = Everness.settings.biomes.everness_frosted_icesheet_ocean.y_min
minetest.register_biome({
name = 'everness_frosted_icesheet_ocean',
node_top = 'default:sand',
node_top = 'everness_mapgen_sand',
depth_top = 1,
node_filler = 'default:sand',
node_filler = 'everness_mapgen_sand',
depth_filler = 3,
node_water_top = 'everness:frosted_ice',
depth_water_top = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'everness_mapgen_water_source',
node_dungeon = 'everness:icecobble',
node_dungeon_alt = 'everness:snowcobble',
node_dungeon_stair = 'stairs:stair_ice',
node_dungeon_stair = 'everness_mapgen_stair_ice',
y_max = y_max,
y_min = y_min,
heat_point = 0,
@ -52,7 +52,7 @@ minetest.register_biome({
minetest.register_decoration({
name = 'everness:frosted_icesheet_ocean_corals',
deco_type = 'simple',
place_on = { 'default:sand' },
place_on = { 'everness_mapgen_sand' },
place_offset_y = -1,
sidelen = 4,
noise_params = {
@ -70,6 +70,6 @@ minetest.register_decoration({
decoration = {
'everness:coral_starfish',
'everness:coral_frosted',
'default:coral_skeleton'
'everness:coral_skeleton'
},
})

View File

@ -27,10 +27,10 @@ local y_min = Everness.settings.biomes.everness_frosted_icesheet_under.y_min
minetest.register_biome({
name = 'everness_frosted_icesheet_under',
node_cave_liquid = { 'default:water_source', 'default:lava_source' },
node_cave_liquid = { 'everness_mapgen_water_source', 'everness_mapgen_lava_source' },
node_dungeon = 'everness:icecobble',
node_dungeon_alt = 'everness:snowcobble',
node_dungeon_stair = 'stairs:stair_ice',
node_dungeon_stair = 'everness_mapgen_stair_ice',
y_max = y_max,
y_min = y_min,
heat_point = 0,
@ -47,7 +47,7 @@ minetest.register_biome({
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:bone',
wherein = { 'default:stone' },
wherein = { 'everness_mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
@ -71,7 +71,7 @@ minetest.register_ore({
minetest.register_decoration({
name = 'everness:frosted_icesheet_under_floors',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
place_offset_y = -1,
sidelen = 16,
fill_ratio = 10,
@ -91,7 +91,7 @@ minetest.register_decoration({
minetest.register_decoration({
name = 'everness:frosted_icesheet_under_ceilings',
deco_type = 'simple',
place_on = { 'default:stone' },
place_on = { 'everness_mapgen_stone' },
sidelen = 16,
fill_ratio = 0.4,
biomes = { 'everness_frosted_icesheet_under' },

View File

@ -1,6 +1,6 @@
name = everness
description = Never ending discovery in Everness mapgen.
depends = default
optional_depends = xpanes, doors, stairs, walls, x_obsidianmese, x_tumbleweed, x_farming, x_clay
depends =
optional_depends = default, xpanes, doors, stairs, walls, x_obsidianmese, x_tumbleweed, x_farming, x_clay
supported_games = minetest_game
min_minetest_version = 5.4

View File

@ -30,7 +30,8 @@ local path_nodes_bamboo_forest = {
'x_obsidianmese_path_dirt_base.png^(everness_grass_top_1.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png',
'x_obsidianmese_dirt_path_side.png'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:dirt_with_grass_2'] = {
name = 'dirt_with_grass_2',
@ -41,7 +42,8 @@ local path_nodes_bamboo_forest = {
'x_obsidianmese_path_dirt_base.png^(everness_grass_top_2.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png',
'x_obsidianmese_dirt_path_side.png'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:dirt_with_grass_extras_1'] = {
name = 'dirt_with_grass_extras_1',
@ -52,7 +54,8 @@ local path_nodes_bamboo_forest = {
'x_obsidianmese_path_dirt_base.png^(everness_grass_top_1.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png',
'x_obsidianmese_dirt_path_side.png'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:dirt_with_grass_extras_2'] = {
name = 'dirt_with_grass_extras_2',
@ -63,7 +66,8 @@ local path_nodes_bamboo_forest = {
'x_obsidianmese_path_dirt_base.png^(everness_grass_top_2.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png',
'x_obsidianmese_dirt_path_side.png'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:dirt_1'] = {
name = 'dirt_1',
@ -74,7 +78,8 @@ local path_nodes_bamboo_forest = {
'x_obsidianmese_path_dirt_base.png^(everness_dirt_1.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png',
'x_obsidianmese_dirt_path_side.png'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
}
@ -90,7 +95,8 @@ local path_nodes_crystal_forest = {
'x_obsidianmese_path_dirt_base.png^[colorize:#755069:127^(everness_crystal_grass.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#755069:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#755069:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:crystal_dirt'] = {
name = 'crystal_dirt',
@ -101,7 +107,8 @@ local path_nodes_crystal_forest = {
'x_obsidianmese_path_dirt_base.png^[colorize:#755069:127^(everness_crystal_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#755069:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#755069:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
}
@ -115,7 +122,8 @@ local path_nodes_crystal_forest_dunes = {
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170^(everness_crystal_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#845D88:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -129,7 +137,8 @@ local path_nodes_crystal_forest_shore = {
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170^(everness_crystal_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#845D88:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -143,7 +152,8 @@ local path_nodes_crystal_forest_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170^(everness_crystal_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#845D88:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#845D88:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -157,7 +167,8 @@ local path_nodes_crystal_forest_under = {
'x_obsidianmese_path_dirt_base.png^[colorize:#EEDDB2:127^(everness_crystal_cave_dirt_top.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#EEDDB2:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#EEDDB2:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:crystal_cave_dirt'] = {
name = 'crystal_cave_dirt',
@ -168,7 +179,8 @@ local path_nodes_crystal_forest_under = {
'x_obsidianmese_path_dirt_base.png^[colorize:#EEDDB2:127^(everness_crystal_cave_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#EEDDB2:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#EEDDB2:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
}
@ -184,7 +196,8 @@ local path_nodes_forsaken_tundra = {
'x_obsidianmese_path_dirt_base.png^[colorize:#151611:170^(everness_forsaken_tundra_grass.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#151611:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#151611:170'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:forsaken_tundra_dirt'] = {
name = 'forsaken_tundra_dirt',
@ -195,7 +208,8 @@ local path_nodes_forsaken_tundra = {
'x_obsidianmese_path_dirt_base.png^[colorize:#151611:170^(everness_forsaken_tundra_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#151611:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#151611:170'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:forsaken_tundra_beach_sand'] = {
name = 'forsaken_tundra_beach_sand',
@ -206,7 +220,8 @@ local path_nodes_forsaken_tundra = {
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170^(everness_forsaken_tundra_beach_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#4C4341:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -220,7 +235,8 @@ local path_nodes_forsaken_tundra_beach = {
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170^(everness_forsaken_tundra_beach_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#4C4341:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
['everness:forsaken_tundra_beach_sand_with_shells'] = {
name = 'forsaken_tundra_beach_sand_with_shells',
@ -231,7 +247,8 @@ local path_nodes_forsaken_tundra_beach = {
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170^(everness_forsaken_tundra_beach_sand_with_shells.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#4C4341:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -245,7 +262,8 @@ local path_nodes_forsaken_tundra_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170^(everness_forsaken_tundra_beach_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#4C4341:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
['everness:forsaken_tundra_beach_sand_with_shells'] = {
name = 'forsaken_tundra_beach_sand_with_shells',
@ -256,7 +274,8 @@ local path_nodes_forsaken_tundra_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170^(everness_forsaken_tundra_beach_sand_with_shells.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#4C4341:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#4C4341:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -272,7 +291,8 @@ local path_nodes_forsaken_desert = {
'x_obsidianmese_path_dirt_base.png^[colorize:#D1906A:170^(everness_forsaken_desert_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#D1906A:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#D1906A:170'
}
},
sounds = Everness.node_sound_sand_defaults()
}
}
@ -286,7 +306,8 @@ local path_nodes_forsaken_desert_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#AB7D54:127^(everness_forsaken_desert_dry_ocean_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#AB7D54:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#AB7D54:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
}
}
@ -300,7 +321,8 @@ local path_nodes_forsaken_desert_under = {
'x_obsidianmese_path_dirt_base.png^[colorize:#D1906A:170^(everness_forsaken_desert_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#D1906A:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#D1906A:170'
}
},
sounds = Everness.node_sound_sand_defaults()
}
}
@ -316,7 +338,8 @@ local path_nodes_cursed_lands_and_dunes_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#696151:170^(everness_cursed_grass.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#696151:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#696151:170'
}
},
sounds = Everness.node_sound_mud_defaults()
},
['everness:cursed_dirt'] = {
name = 'cursed_dirt',
@ -327,7 +350,8 @@ local path_nodes_cursed_lands_and_dunes_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#696151:170^(everness_cursed_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#696151:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#696151:170'
}
},
sounds = Everness.node_sound_mud_defaults()
},
['everness:cursed_sand'] = {
name = 'cursed_sand',
@ -338,7 +362,8 @@ local path_nodes_cursed_lands_and_dunes_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#856F58:170^(everness_cursed_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#856F58:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#856F58:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -354,7 +379,8 @@ local path_nodes_coral_forest_and_dunes = {
'x_obsidianmese_path_dirt_base.png^[colorize:#AA683F:127^(everness_coral_grass.png^[mask:x_obsidianmese_path_overlay.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#AA683F:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#AA683F:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:coral_dirt'] = {
name = 'coral_dirt',
@ -365,7 +391,8 @@ local path_nodes_coral_forest_and_dunes = {
'x_obsidianmese_path_dirt_base.png^[colorize:#AA683F:127^(everness_coral_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#AA683F:127',
'x_obsidianmese_dirt_path_side.png^[colorize:#AA683F:127'
}
},
sounds = Everness.node_sound_dirt_defaults()
},
['everness:coral_sand'] = {
name = 'coral_sand',
@ -376,7 +403,8 @@ local path_nodes_coral_forest_and_dunes = {
'x_obsidianmese_path_dirt_base.png^[colorize:#AB633D:170^(everness_coral_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#AB633D:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#AB633D:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
['everness:coral_white_sand'] = {
name = 'coral_white_sand',
@ -387,7 +415,8 @@ local path_nodes_coral_forest_and_dunes = {
'x_obsidianmese_path_dirt_base.png^[colorize:#F9F4FB:170^(everness_coral_white_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#F9F4FB:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#F9F4FB:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -401,7 +430,8 @@ local path_nodes_coral_forest_ocean = {
'x_obsidianmese_path_dirt_base.png^[colorize:#F9F4FB:170^(everness_coral_white_sand.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#F9F4FB:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#F9F4FB:170'
}
},
sounds = Everness.node_sound_sand_defaults()
},
}
@ -417,7 +447,8 @@ local path_nodes_frosted_icesheet = {
'x_obsidianmese_path_dirt_base.png^[colorize:#FCFCFC:170^(everness_frosted_snow.png^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#FCFCFC:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#FCFCFC:170'
}
},
sounds = Everness.node_sound_snow_defaults()
},
}

1358
nodes.lua

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,7 @@ xpanes.register_pane('pyrite_pane', {
textures = { 'everness_pyrite_glass.png', '', 'everness_xpanes_edge_pyrite.png' },
inventory_image = 'everness_pyrite_glass.png',
wield_image = 'everness_pyrite_glass.png',
sounds = default.node_sound_glass_defaults(),
sounds = Everness.node_sound_glass_defaults(),
groups = { snappy = 2, cracky = 3, oddly_breakable_by_hand = 3 },
recipe = {
{ 'everness:pyrite_glass', 'everness:pyrite_glass', 'everness:pyrite_glass' },

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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