Merged in feature/remove-hard-dependency-on-default-2 (pull request #11)
Remove hard dependency on default
This commit is contained in:
commit
33d8ffdef9
221
LICENSE.txt
221
LICENSE.txt
|
@ -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
849
api.lua
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
})
|
74
crafting.lua
74
crafting.lua
|
@ -20,23 +20,25 @@
|
|||
-- Blocks
|
||||
--
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:snowcobble 9',
|
||||
recipe = {
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
}
|
||||
})
|
||||
if minetest.get_modpath('default') then
|
||||
minetest.register_craft({
|
||||
output = 'everness:snowcobble 9',
|
||||
recipe = {
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
{ 'default:snowblock', 'default:snowblock', 'default:snowblock' },
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'everness:icecobble 9',
|
||||
recipe = {
|
||||
{ 'default:ice', 'default:ice', 'default:ice' },
|
||||
{ 'default:ice', 'default:ice', 'default:ice' },
|
||||
{ 'default:ice', 'default:ice', 'default:ice' },
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = 'everness:icecobble 9',
|
||||
recipe = {
|
||||
{ 'default:ice', 'default:ice', 'default:ice' },
|
||||
{ 'default:ice', 'default:ice', 'default:ice' },
|
||||
{ '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' },
|
||||
}
|
||||
})
|
||||
|
|
20
doors.lua
20
doors.lua
|
@ -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 },
|
||||
})
|
||||
|
||||
|
|
12
fences.lua
12
fences.lua
|
@ -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', {
|
||||
|
|
104
functions.lua
104
functions.lua
|
@ -181,7 +181,7 @@ minetest.register_abm({
|
|||
nodenames = {
|
||||
'group:everness_spreading_dirt_type',
|
||||
'group:everness_spreading_dirt_type_under',
|
||||
},
|
||||
},
|
||||
interval = 8,
|
||||
chance = 50,
|
||||
catch_up = false,
|
||||
|
@ -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,
|
||||
|
|
18
init.lua
18
init.lua
|
@ -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
|
||||
|
||||
dofile(path .. '/fences.lua')
|
||||
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')
|
||||
|
@ -194,7 +206,7 @@ if minetest.get_modpath('x_farming') and minetest.global_exists('x_farming') the
|
|||
dofile(path .. '/mod_support_x_farming.lua')
|
||||
end
|
||||
|
||||
if minetest.get_modpath('x_tumbleweed') and minetest.global_exists('XTumbleweed') then
|
||||
if minetest.get_modpath('x_tumbleweed') and minetest.global_exists('XTumbleweed') then
|
||||
dofile(path .. '/mod_support_x_tumbleweed.lua')
|
||||
end
|
||||
|
||||
|
@ -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]')
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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')
|
|
@ -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,50 +76,62 @@ minetest.register_decoration({
|
|||
|
||||
-- Jungle tree and log
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_jungle_tree',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0015,
|
||||
scale = 0.0021,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/jungle_tree.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
rotation = 'random',
|
||||
})
|
||||
local jungle_tree_schem
|
||||
local jungle_log_schem
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_jungle_log',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
place_offset_y = 1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0015,
|
||||
scale = 0.0021,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/jungle_log.mts',
|
||||
flags = 'place_center_x',
|
||||
rotation = 'random',
|
||||
spawn_by = 'everness:dirt_with_grass_1',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
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',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0015,
|
||||
scale = 0.0021,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
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',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
place_offset_y = 1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0015,
|
||||
scale = 0.0021,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
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,54 +171,56 @@ 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
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_bush',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = { x = 100, y = 100, z = 100 },
|
||||
seed = 137,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/bush.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
})
|
||||
if minetest.get_modpath('default') then
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_bush',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = { x = 100, y = 100, z = 100 },
|
||||
seed = 137,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/bush.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
})
|
||||
|
||||
-- Blueberry bush
|
||||
-- Blueberry bush
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_blueberry_bush',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = { x = 100, y = 100, z = 100 },
|
||||
seed = 697,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
place_offset_y = 1,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/blueberry_bush.mts',
|
||||
flags = 'place_center_x, place_center_z',
|
||||
})
|
||||
minetest.register_decoration({
|
||||
name = 'everness:bamboo_forest_blueberry_bush',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'everness:dirt_with_grass_1' },
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = -0.004,
|
||||
scale = 0.01,
|
||||
spread = { x = 100, y = 100, z = 100 },
|
||||
seed = 697,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
},
|
||||
biomes = { 'everness_bamboo_forest' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
place_offset_y = 1,
|
||||
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
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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,29 +118,37 @@ minetest.register_decoration({
|
|||
rotation = 'random',
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = 'everness:baobab_savanna_acacia_log',
|
||||
deco_type = 'schematic',
|
||||
place_on = { 'default:dry_dirt_with_dry_grass' },
|
||||
place_offset_y = 1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.001,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_baobab_savanna' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = minetest.get_modpath('default') .. '/schematics/acacia_log.mts',
|
||||
flags = 'place_center_x',
|
||||
rotation = 'random',
|
||||
spawn_by = 'default:dry_dirt_with_dry_grass',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
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 = { 'everness_mapgen_dry_dirt_with_dry_grass' },
|
||||
place_offset_y = 1,
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.001,
|
||||
spread = { x = 250, y = 250, z = 250 },
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
biomes = { 'everness_baobab_savanna' },
|
||||
y_max = y_max,
|
||||
y_min = y_min,
|
||||
schematic = acacia_log_schem,
|
||||
flags = 'place_center_x',
|
||||
rotation = 'random',
|
||||
spawn_by = 'everness_mapgen_dry_dirt_with_dry_grass',
|
||||
num_spawn_by = 8,
|
||||
})
|
||||
end
|
||||
|
||||
--
|
||||
-- On Generated
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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'
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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' },
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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'
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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' },
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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'
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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' },
|
||||
|
|
4
mod.conf
4
mod.conf
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -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
Ŝarĝante…
Reference in New Issue