From a612031c4a3125c8087261bc496449c76834d4b9 Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Sat, 8 Apr 2023 22:54:15 -0400 Subject: [PATCH] Improve some textures, baobab biome, add new doors, dirt, grass.. --- LICENSE.txt | 23 ++- assets/schematics/everness_baobab_log.lua | 13 ++ crafting.lua | 9 + doors.lua | 24 +++ functions.lua | 12 +- init.lua | 3 + mapgen_baobab_savanna.lua | 89 ++++----- mod_support_mcl.lua | 39 ++++ mod_support_rp_aliases.lua | 171 ++++++++++++++++++ mod_support_x_obsidianmese.lua | 54 ++++-- nodes.lua | 152 ++++++++++++++-- nodes_farming.lua | 56 +++++- schematics/everness_baobab_log.mts | Bin 0 -> 56 bytes textures/everness_dirt.png | Bin 0 -> 715 bytes textures/everness_dirt_1.png | Bin 223 -> 0 bytes textures/everness_door_cursed_wood.png | Bin 0 -> 2260 bytes textures/everness_door_cursed_wood_item.png | Bin 0 -> 248 bytes .../everness_door_trapdoor_cursed_wood.png | Bin 0 -> 263 bytes ...verness_door_trapdoor_cursed_wood_side.png | Bin 0 -> 173 bytes textures/everness_dry_dirt.png | Bin 0 -> 610 bytes textures/everness_dry_grass_1.png | Bin 0 -> 174 bytes textures/everness_dry_grass_2.png | Bin 0 -> 211 bytes textures/everness_dry_grass_3.png | Bin 0 -> 230 bytes textures/everness_dry_grass_4.png | Bin 0 -> 260 bytes textures/everness_dry_grass_side.png | Bin 0 -> 717 bytes textures/everness_dry_grass_top.png | Bin 0 -> 741 bytes textures/everness_dry_wood.png | Bin 184 -> 266 bytes textures/everness_grass_extras_1.png | Bin 0 -> 340 bytes textures/everness_grass_extras_2.png | Bin 0 -> 349 bytes textures/everness_grass_side.png | Bin 0 -> 519 bytes textures/everness_grass_side_1.png | Bin 263 -> 0 bytes textures/everness_grass_top.png | Bin 0 -> 513 bytes textures/everness_grass_top_1.png | Bin 171 -> 0 bytes textures/everness_grass_top_2.png | Bin 183 -> 0 bytes .../everness_grass_with_blue_extra_top_2.png | Bin 199 -> 0 bytes ...everness_grass_with_yellow_extra_top_1.png | Bin 197 -> 0 bytes ...rness_mcl_doors_door_cursed_wood_lower.png | Bin 0 -> 259 bytes ..._mcl_doors_door_cursed_wood_side_upper.png | Bin 0 -> 143 bytes ...rness_mcl_doors_door_cursed_wood_upper.png | Bin 0 -> 300 bytes ...ss_mcl_doors_trapdoor_cursed_wood_side.png | Bin 0 -> 177 bytes textures/everness_sequoia_wood.png | Bin 324 -> 257 bytes 41 files changed, 549 insertions(+), 96 deletions(-) create mode 100644 assets/schematics/everness_baobab_log.lua create mode 100644 mod_support_rp_aliases.lua create mode 100644 schematics/everness_baobab_log.mts create mode 100644 textures/everness_dirt.png delete mode 100644 textures/everness_dirt_1.png create mode 100644 textures/everness_door_cursed_wood.png create mode 100644 textures/everness_door_cursed_wood_item.png create mode 100644 textures/everness_door_trapdoor_cursed_wood.png create mode 100644 textures/everness_door_trapdoor_cursed_wood_side.png create mode 100644 textures/everness_dry_dirt.png create mode 100644 textures/everness_dry_grass_1.png create mode 100644 textures/everness_dry_grass_2.png create mode 100644 textures/everness_dry_grass_3.png create mode 100644 textures/everness_dry_grass_4.png create mode 100644 textures/everness_dry_grass_side.png create mode 100644 textures/everness_dry_grass_top.png create mode 100644 textures/everness_grass_extras_1.png create mode 100644 textures/everness_grass_extras_2.png create mode 100644 textures/everness_grass_side.png delete mode 100644 textures/everness_grass_side_1.png create mode 100644 textures/everness_grass_top.png delete mode 100644 textures/everness_grass_top_1.png delete mode 100644 textures/everness_grass_top_2.png delete mode 100644 textures/everness_grass_with_blue_extra_top_2.png delete mode 100644 textures/everness_grass_with_yellow_extra_top_1.png create mode 100644 textures/everness_mcl_doors_door_cursed_wood_lower.png create mode 100644 textures/everness_mcl_doors_door_cursed_wood_side_upper.png create mode 100644 textures/everness_mcl_doors_door_cursed_wood_upper.png create mode 100644 textures/everness_mcl_doors_trapdoor_cursed_wood_side.png diff --git a/LICENSE.txt b/LICENSE.txt index 0ef8416..e034653 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -456,7 +456,7 @@ DAMAGES. ### Code -GNU Lesser General Public License v2.1 or later (see included LICENSE file) +GNU Lesser General Public License v2.1 or later ### Textures @@ -599,7 +599,7 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file) - everness_dense_vine_1.png - everness_dense_vine_2.png - everness_dense_vine_end.png -- everness_dirt_1.png -- Derived from texture Pixel Perfection by XSSheep (CC-BY-SA-4.0) +- everness_dirt_1.png - everness_door_bamboo_item.png - everness_door_bamboo.png - everness_door_bone_pyrite_item.png @@ -613,7 +613,7 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file) - everness_dry_branches.png - everness_dry_tree_top.png - everness_dry_tree.png -- everness_dry_wood.png -- Derived from texture by BlockMen (CC BY-SA 3.0) +- everness_dry_wood.png - everness_egg_plant_bottom.png - everness_egg_plant_item.png - everness_egg_plant_side.png @@ -860,17 +860,24 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file) - everness_flowers.png - everness_flowers_side_x.png - everness_flowers_side_z.png +- everness_dry_grass_1.png -- thanks to Khaz +- everness_dry_grass_2.png -- thanks to Khaz +- everness_dry_grass_3.png -- thanks to Khaz +- everness_dry_grass_4.png -- thanks to Khaz +- everness_dry_grass_top.png +- everness_dry_grass_side.png +- everness_grass_top.png +- everness_grass_side.png +- everness_grass_extras_1.png +- everness_grass_extras_2.png +- everness_dirt.png +- everness_dry_dirt.png **CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated - everness_cobweb.png - everness_fire_animated.png - everness_flame_particle.png -- everness_grass_side_1.png -- everness_grass_top_1.png -- everness_grass_top_2.png -- everness_grass_with_blue_extra_top_2.png -- everness_grass_with_yellow_extra_top_1.png - everness_rising_soul_particle.png ### Sounds diff --git a/assets/schematics/everness_baobab_log.lua b/assets/schematics/everness_baobab_log.lua new file mode 100644 index 0000000..f02bdd1 --- /dev/null +++ b/assets/schematics/everness_baobab_log.lua @@ -0,0 +1,13 @@ +schematic = { + size = {x=1, y=1, z=5}, + yslice_prob = { + {ypos=0, prob=254}, + }, + data = { + {name="everness:baobab_tree", prob=126, param2=7}, + {name="everness:baobab_tree", prob=254, param2=7}, + {name="everness:baobab_tree", prob=254, param2=7}, + {name="everness:baobab_tree", prob=254, param2=7}, + {name="everness:baobab_tree", prob=126, param2=7}, + }, +} diff --git a/crafting.lua b/crafting.lua index 289ad14..b21e617 100644 --- a/crafting.lua +++ b/crafting.lua @@ -106,6 +106,15 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'everness:trapdoor_cursed_wood 2', + recipe = { + { 'everness:dry_wood', 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood', 'everness:dry_wood' }, + { '', '', '' }, + } +}) + minetest.register_craft({ output = 'everness:bamboo_mosaic_wood', recipe = { diff --git a/doors.lua b/doors.lua index 03c81e4..38be811 100644 --- a/doors.lua +++ b/doors.lua @@ -125,3 +125,27 @@ doors.register_fencegate('everness:gate_crystal_wood', { material = 'everness:crystal_wood', groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 } }) + +doors.register('everness:door_cursed_wood', { + description = S('Cursed Wood Door'), + tiles = { 'everness_door_cursed_wood.png' }, + inventory_image = 'everness_door_cursed_wood_item.png', + use_texture_alpha = 'blend', + groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 }, + sounds = Everness.node_sound_wood_defaults(), + recipe = { + { 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood' }, + } +}) + +doors.register_trapdoor('everness:trapdoor_cursed_wood', { + description = S('Cursed Wood Trapdoor'), + inventory_image = 'everness_door_trapdoor_cursed_wood.png', + wield_image = 'everness_door_trapdoor_cursed_wood.png', + tile_front = 'everness_door_trapdoor_cursed_wood.png', + tile_side = 'everness_door_trapdoor_cursed_wood_side.png', + sounds = Everness.node_sound_wood_defaults(), + groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 }, +}) diff --git a/functions.lua b/functions.lua index 09cccf5..475e8d6 100644 --- a/functions.lua +++ b/functions.lua @@ -26,10 +26,10 @@ local grass_covered_mapping = { ['everness:crystal_dirt'] = { 'everness:dirt_with_crystal_grass' }, ['everness:dirt_1'] = { 'everness:dirt_with_grass_1', - 'everness:dirt_with_grass_2', 'everness:dirt_with_grass_extras_1', 'everness:dirt_with_grass_extras_2', }, + ['everness:dry_dirt'] = { 'everness:dry_dirt_with_dry_grass' } } local grass_covered_mapping_under = { @@ -48,6 +48,7 @@ minetest.register_abm({ 'everness:cursed_dirt', 'everness:crystal_dirt', 'everness:dirt_1', + 'everness:dry_dirt', }, neighbors = { 'air', @@ -55,6 +56,7 @@ minetest.register_abm({ 'group:cursed_grass', 'group:crystal_grass', 'group:bamboo_grass', + 'group:everness_dry_grass' }, interval = 6, chance = 50, @@ -83,7 +85,7 @@ minetest.register_abm({ n3_name = n3_def[math.random(1, #n3_def)] end - minetest.set_node(pos, {name = n3_name}) + minetest.set_node(pos, { name = n3_name }) return end @@ -99,12 +101,13 @@ minetest.register_abm({ elseif minetest.get_item_group(name, 'bamboo_grass') ~= 0 and node.name == 'everness:dirt_1' then local bamboo_grass_covered_types = { 'everness:dirt_with_grass_1', - 'everness:dirt_with_grass_2', 'everness:dirt_with_grass_extras_1', 'everness:dirt_with_grass_extras_2' } minetest.set_node(pos, { name = bamboo_grass_covered_types[math.random(1, #bamboo_grass_covered_types)] }) + elseif minetest.get_item_group(name, 'everness_dry_grass') ~= 0 and node.name == 'everness:dry_dirt' then + minetest.set_node(pos, { name = 'everness:dry_dirt_with_dry_grass' }) end end }) @@ -204,13 +207,14 @@ minetest.register_abm({ elseif node.name == 'everness:dirt_with_crystal_grass' then minetest.set_node(pos, { name = 'everness:crystal_dirt' }) elseif node.name == 'everness:dirt_with_grass_1' - or node.name == 'everness:dirt_with_grass_2' or node.name == 'everness:dirt_with_grass_extras_1' or node.name == 'everness:dirt_with_grass_extras_2' then minetest.set_node(pos, { name = 'everness:dirt_1' }) elseif node.name == 'everness:coral_desert_stone_with_moss' then minetest.set_node(pos, { name = 'everness:coral_desert_stone' }) + elseif node.name == 'everness:dry_dirt_with_dry_grass' then + minetest.set_node(pos, { name = 'everness:dry_dirt' }) elseif node.name == 'everness:soul_sandstone_veined' then minetest.set_node(pos, { name = 'everness:soul_sandstone' }) elseif node.name == 'everness:crystal_cave_dirt_with_moss' then diff --git a/init.lua b/init.lua index e18a83a..7c21b07 100644 --- a/init.lua +++ b/init.lua @@ -21,6 +21,9 @@ minetest = minetest.global_exists('minetest') and minetest --[[@as Minetest]] local path = minetest.get_modpath('everness') local mod_start_time = minetest.get_us_time() +-- Legacy backwards compatibility +minetest.register_alias('everness:dirt_with_grass_2', 'everness:dirt_with_grass_1') + -- MineClone2 support if minetest.get_modpath('mcl_core') and minetest.global_exists('mcl_core') then dofile(path .. '/mod_support_mcl_aliases.lua') diff --git a/mapgen_baobab_savanna.lua b/mapgen_baobab_savanna.lua index 229b38a..adbf033 100644 --- a/mapgen_baobab_savanna.lua +++ b/mapgen_baobab_savanna.lua @@ -27,9 +27,9 @@ 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:dry_dirt_with_dry_grass', depth_top = 1, - node_filler = 'default:dry_dirt', + node_filler = 'everness:dry_dirt', depth_filler = 1, node_riverbed = 'default:sand', depth_riverbed = 2, @@ -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: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: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:dry_dirt_with_dry_grass', 'everness:dry_dirt' }, + spawn_by = { 'everness:dry_dirt_with_dry_grass', 'everness: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:dry_dirt_with_dry_grass', 'everness:dry_dirt' }, + spawn_by = { 'everness:dry_dirt_with_dry_grass', 'everness:dry_dirt' }, num_spawn_by = 8, sidelen = 16, noise_params = { @@ -118,53 +118,58 @@ minetest.register_decoration({ rotation = 'random', }) -local acacia_log_schem +minetest.register_decoration({ + name = 'everness:baobab_savanna_baobab_log', + deco_type = 'schematic', + place_on = { 'everness:dry_dirt_with_dry_grass' }, + sidelen = 16, + place_offset_y = 1, + 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('everness') .. '/schematics/everness_baobab_log.mts', + flags = 'place_center_x', + rotation = 'random', + spawn_by = 'everness:dry_dirt_with_dry_grass', + num_spawn_by = 8, +}) -if minetest.get_modpath('default') then - acacia_log_schem = minetest.get_modpath('default') .. '/schematics/acacia_log.mts' -elseif minetest.get_modpath('mcl_core') then - acacia_log_schem = { - size = { x = 3, y = 3, z = 1 }, - data = { - { name = 'air', prob = 0 }, - { name = 'air', prob = 0 }, - { name = 'air', prob = 0 }, - { name = 'mcl_core:acaciatree', param2 = 12 }, - { name = 'mcl_core:acaciatree', param2 = 12 }, - { name = 'mcl_core:acaciatree', param2 = 12, prob = 127 }, - { name = 'air', prob = 0 }, - { name = 'mcl_mushrooms:mushroom_brown', prob = 50 }, - { name = 'air', prob = 0 }, - }, - } -end +-- Dry grasses -if acacia_log_schem then +local function register_dry_grass_decoration(offset, scale, length) minetest.register_decoration({ - name = 'everness:baobab_savanna_acacia_log', - deco_type = 'schematic', - place_on = { 'default:dry_dirt_with_dry_grass' }, - place_offset_y = 1, + name = 'everness:dry_grass_' .. length, + deco_type = 'simple', + place_on = { 'everness:dry_dirt_with_dry_grass' }, sidelen = 16, noise_params = { - offset = 0, - scale = 0.001, - spread = { x = 250, y = 250, z = 250 }, - seed = 2, + offset = offset, + scale = scale, + spread = { x = 200, y = 200, z = 200 }, + seed = 329, octaves = 3, - persist = 0.66 + persist = 0.6 }, biomes = { 'everness_baobab_savanna' }, y_max = y_max, y_min = y_min, - schematic = acacia_log_schem, - flags = 'place_center_x', - rotation = 'random', - spawn_by = 'default:dry_dirt_with_dry_grass', - num_spawn_by = 8, + decoration = 'everness:dry_grass_' .. length, }) end +register_dry_grass_decoration(0.01, 0.05, 4) +register_dry_grass_decoration(0.03, 0.03, 3) +register_dry_grass_decoration(0.05, 0.01, 2) +register_dry_grass_decoration(0.07, -0.01, 1) + -- -- On Generated -- diff --git a/mod_support_mcl.lua b/mod_support_mcl.lua index 15a22e1..c7cd3d8 100644 --- a/mod_support_mcl.lua +++ b/mod_support_mcl.lua @@ -980,3 +980,42 @@ minetest.register_craft({ { 'everness:crystal_wood', 'everness:crystal_wood' }, } }) + +mcl_doors:register_door('everness:door_cursed_wood', { + description = S('Cursed Wood Door'), + inventory_image = 'everness_door_cursed_wood_item.png', + groups = { handy = 1, axey = 1, material_wood = 1, flammable = -1 }, + tiles_bottom = { 'everness_mcl_doors_door_cursed_wood_lower.png', 'everness_mcl_doors_door_cursed_wood_side_upper.png' }, + tiles_top = { 'everness_mcl_doors_door_cursed_wood_upper.png', 'everness_mcl_doors_door_cursed_wood_side_upper.png' }, + sounds = Everness.node_sound_wood_defaults(), + _mcl_hardness = 3, + _mcl_blast_resistance = 3, +}) + +minetest.register_craft({ + output = 'everness:door_cursed_wood 3', + recipe = { + { 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood' } + } +}) + +mcl_doors:register_trapdoor('everness:trapdoor_cursed_wood', { + description = S('Cursed Wood Trapdoor'), + tile_front = 'everness_door_trapdoor_cursed_wood.png', + tile_side = 'everness_mcl_doors_trapdoor_cursed_wood_side.png', + wield_image = 'everness_door_trapdoor_cursed_wood.png', + groups = { handy = 1, axey = 1, material_wood = 1, flammable = -1 }, + sounds = Everness.node_sound_wood_defaults(), + _mcl_hardness = 3, + _mcl_blast_resistance = 3, +}) + +minetest.register_craft({ + output = 'everness:trapdoor_cursed_wood', + recipe = { + { 'everness:dry_wood', 'everness:dry_wood' }, + { 'everness:dry_wood', 'everness:dry_wood' }, + } +}) diff --git a/mod_support_rp_aliases.lua b/mod_support_rp_aliases.lua new file mode 100644 index 0000000..76dc3c7 --- /dev/null +++ b/mod_support_rp_aliases.lua @@ -0,0 +1,171 @@ +--[[ + Everness. Never ending discovery in Everness mapgen. + Copyright (C) 2023 SaKeL + + 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('default:water_source', 'rp_default:water_source') +minetest.register_alias('default:dirt_with_rainforest_litter', 'rp_default:dirt_with_grass') +minetest.register_alias('default:dirt_with_snow', 'rp_default:dirt_with_grass') +minetest.register_alias('default:dirt_with_coniferous_litter', 'rp_default:dirt_with_grass') +minetest.register_alias('default:dirt_with_grass', 'rp_default:dirt_with_grass') +minetest.register_alias('default:stick', 'rp_default:stick') +minetest.register_alias('default:paper', 'rp_default:paper') +minetest.register_alias('default:book', 'rp_default:book') +minetest.register_alias('default:skeleton_key', 'rp_default:skeleton_key') +minetest.register_alias('default:flint', 'rp_default:flint') +minetest.register_alias('default:obsidian_shard', 'rp_default:obsidian_shard') +minetest.register_alias('default:clay_brick', 'rp_default:clay_brick') +minetest.register_alias('default:mese_crystal_fragment', 'rp_default:mese_crystal_fragment') +-- Ingots +minetest.register_alias('default:gold_ingot', 'rp_default:gold_ingot') +minetest.register_alias('default:bronze_ingot', 'rp_default:bronze_ingot') +minetest.register_alias('default:tin_ingot', 'rp_default:tin_ingot') +minetest.register_alias('default:copper_ingot', 'rp_default:copper_ingot') +minetest.register_alias('default:steel_ingot', 'rp_default:steel_ingot') +minetest.register_alias('default:coal_lump', 'rp_default:coal_lump') +-- Tools +minetest.register_alias('default:pick_stone', 'rp_default:pick_stone') +minetest.register_alias('default:pick_bronze', 'rp_default:pick_bronze') +minetest.register_alias('default:pick_steel', 'rp_default:pick_steel') +minetest.register_alias('default:shovel_stone', 'rp_default:shovel_stone') +minetest.register_alias('default:shovel_bronze', 'rp_default:shovel_bronze') +minetest.register_alias('default:shovel_steel', 'rp_default:shovel_steel') +minetest.register_alias('default:axe_stone', 'rp_default:axe_stone') +minetest.register_alias('default:axe_bronze', 'rp_default:axe_bronze') +minetest.register_alias('default:axe_steel', 'rp_default:axe_steel') +minetest.register_alias('default:sword_stone', 'rp_default:sword_stone') +minetest.register_alias('default:sword_bronze', 'rp_default:sword_bronze') +minetest.register_alias('default:sword_steel', 'rp_default:sword_steel') +-- Items / Nodes +minetest.register_alias('default:bookshelf', 'rp_default:bookshelf') +minetest.register_alias('default:sign_wall_wood', 'rp_default:sign_wall_wood') +minetest.register_alias('default:ladder_wood', 'rp_default:ladder_wood') +minetest.register_alias('default:ladder_steel', 'rp_default:ladder_steel') +minetest.register_alias('default:glass', 'rp_default:glass') +minetest.register_alias('default:obsidian_glass', 'rp_default:obsidian_glass') +-- Trees +minetest.register_alias('default:tree', 'rp_default:tree') +minetest.register_alias('default:jungletree', 'rp_default:jungletree') +minetest.register_alias('default:pine_tree', 'rp_default:pine_tree') +minetest.register_alias('default:cactus', 'rp_default:cactus') +minetest.register_alias('default:large_cactus_seedling', 'rp_default:large_cactus_seedling') +minetest.register_alias('default:papyrus', 'rp_default:papyrus') +minetest.register_alias('default:junglegrass', 'rp_default:junglegrass') +minetest.register_alias('default:blueberry_bush_sapling', 'rp_default:blueberry_bush_sapling') +minetest.register_alias('default:sapling', 'rp_default:sapling') +minetest.register_alias('default:junglesapling', 'rp_default:junglesapling') +minetest.register_alias('default:pine_sapling', 'rp_default:pine_sapling') +minetest.register_alias('default:acacia_sapling', 'rp_default:acacia_sapling') +minetest.register_alias('default:aspen_sapling', 'rp_default:aspen_sapling') + +minetest.register_alias('default:clay_lump', 'rp_default:clay_lump') +minetest.register_alias('default:tin_lump', 'rp_default:tin_lump') +minetest.register_alias('default:copper_lump', 'rp_default:copper_lump') +minetest.register_alias('default:iron_lump', 'rp_default:iron_lump') +minetest.register_alias('default:coalblock', 'rp_default:block_coal') +minetest.register_alias('default:steelblock', 'rp_default:steelblock') +minetest.register_alias('default:copperblock', 'rp_default:copperblock') +minetest.register_alias('default:tinblock', 'rp_default:tinblock') +minetest.register_alias('default:bronzeblock', 'rp_default:bronzeblock') +minetest.register_alias('default:mese', 'rp_default:mese') +minetest.register_alias('default:meselamp', 'rp_default:meselamp') +minetest.register_alias('default:obsidian', 'rp_default:obsidian') +minetest.register_alias('default:mese_crystal', 'rp_default:mese_crystal') +minetest.register_alias('default:diamond', 'rp_default:diamond') +minetest.register_alias('default:pick_mese', 'rp_default:pick_mese') +minetest.register_alias('default:shovel_mese', 'rp_default:shovel_mese') +minetest.register_alias('default:axe_mese', 'rp_default:axe_mese') +minetest.register_alias('default:sword_mese', 'rp_default:sword_mese') + +minetest.register_alias('default:snowblock', 'rp_default:snowblock') +minetest.register_alias('default:ice', 'rp_default:ice') +minetest.register_alias('default:torch', 'rp_default:torch') +minetest.register_alias('default:cobble', 'rp_default:cobble') +minetest.register_alias('default:chest', 'rp_default:chest') +minetest.register_alias('default:snow', 'rp_default:snow') +minetest.register_alias('default:stone', 'rp_default:stone') +minetest.register_alias('default:sand', 'rp_default:sand') +minetest.register_alias('default:gravel', 'rp_default:gravel') +minetest.register_alias('default:stone_with_coal', 'rp_default:stone_with_coal') +minetest.register_alias('default:stone_with_iron', 'rp_default:stone_with_iron') +minetest.register_alias('default:stone_with_tin', 'rp_default:stone_with_tin') +minetest.register_alias('default:stone_with_gold', 'rp_default:stone_with_gold') +minetest.register_alias('default:stone_with_mese', 'rp_default:stone_with_mese') +minetest.register_alias('default:stone_with_diamond', 'rp_default:stone_with_diamond') +minetest.register_alias('default:lava_source', 'rp_default:water_source') +minetest.register_alias('default:mossycobble', 'rp_default:mossycobble') +minetest.register_alias('default:clay', 'rp_default:clay') +minetest.register_alias('default:dry_dirt_with_dry_grass', 'rp_default:dry_dirt_with_dry_grass') +minetest.register_alias('default:dry_dirt', 'rp_default:dry_dirt') +minetest.register_alias('default:coral_skeleton', 'everness:coral_skeleton') +minetest.register_alias('default:lava_flowing', 'rp_default:water_flowing') +minetest.register_alias('everness:cursed_brick_with_growth_wall', 'air') +minetest.register_alias('stairs:slab_cursed_brick_with_growth', 'air') +minetest.register_alias('default:fence_wood', 'rp_default:fence') +minetest.register_alias('default:torch_wall', 'rp_default:torch_wall') +minetest.register_alias('default:wood', 'rp_default:planks') +minetest.register_alias('default:junglewood', 'rp_default:junglewood') +minetest.register_alias('default:pine_wood', 'rp_default:pine_wood') +minetest.register_alias('default:mese_post_light_pine_wood', 'rp_default:mese_post_light_pine_wood') +minetest.register_alias_force('default:acacia_tree', 'rp_default:acacia_tree') +minetest.register_alias('default:dry_grass_4', 'rp_default:dry_grass_4') +minetest.register_alias('default:dry_grass_2', 'rp_default:dry_grass_2') +minetest.register_alias('default:dry_shrub', 'rp_default:dry_shrub') +minetest.register_alias('default:stonebrick', 'rp_default:stonebrick') +minetest.register_alias('default:jungleleaves', 'rp_default:jungleleaves') +minetest.register_alias('default:torch_ceiling', 'rp_default:torch_ceiling') +minetest.register_alias('default:goldblock', 'rp_default:goldblock') +minetest.register_alias('stairs:stair_coral_white_sandstone', 'mcl_stairs:stair_coral_white_sandstone') +minetest.register_alias('stairs:slab_coral_white_sandstone', 'mcl_stairs:slab_coral_white_sandstone') +minetest.register_alias('stairs:stair_coral_deep_ocean_sandstone_block', 'mcl_stairs:stair_coral_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_coral_deep_ocean_sandstone_block', 'mcl_stairs:slab_coral_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_coral_deep_ocean_sandstone_brick', 'mcl_stairs:slab_coral_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:slab_coral_sandstone_brick', 'mcl_stairs:slab_coral_sandstone_brick') +minetest.register_alias('stairs:stair_coral_deep_ocean_sandstone_brick', 'mcl_stairs:stair_coral_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:stair_crystal_forest_deep_ocean_sandstone_block', 'mcl_stairs:stair_crystal_forest_deep_ocean_sandstone_block') +minetest.register_alias('stairs:stair_crystal_forest_deep_ocean_sandstone_brick', 'mcl_stairs:stair_crystal_forest_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:slab_crystal_forest_deep_ocean_sandstone_block', 'mcl_stairs:slab_crystal_forest_deep_ocean_sandstone_block') +minetest.register_alias('stairs:slab_crystal_forest_deep_ocean_sandstone_brick', 'mcl_stairs:slab_crystal_forest_deep_ocean_sandstone_brick') +minetest.register_alias('stairs:stair_forsaken_desert_brick_red', 'mcl_stairs:stair_forsaken_desert_brick_red') +minetest.register_alias('stairs:stair_forsaken_desert_chiseled_stone', 'mcl_stairs:stair_forsaken_desert_chiseled_stone') +minetest.register_alias('stairs:slab_forsaken_desert_chiseled_stone', 'mcl_stairs:slab_forsaken_desert_chiseled_stone') +minetest.register_alias('stairs:stair_junglewood', 'mcl_stairs:stair_junglewood') +minetest.register_alias('stairs:slab_junglewood', 'mcl_stairs:slab_junglewood') +minetest.register_alias('stairs:slab_dry_wood', 'mcl_stairs:slab_dry_wood') +minetest.register_alias('stairs:stair_dry_wood', 'mcl_stairs:stair_dry_wood') +minetest.register_alias('stairs:stair_wood', 'mcl_stairs:stair_wood') +minetest.register_alias('stairs:slab_stonebrick', 'mcl_stairs:slab_stonebrick') +minetest.register_alias('stairs:stair_inner_wood', 'mcl_stairs:stair_wood_inner') +minetest.register_alias('stairs:stair_outer_stonebrick', 'mcl_stairs:stair_stonebrick_outer') +minetest.register_alias('stairs:stair_stonebrick', 'mcl_stairs:stair_stonebrick') +-- minetest.register_alias('stairs:stair_cobble', 'mcl_stairs:stair_cobble') +minetest.register_alias('stairs:stair_mossycobble', 'mcl_stairs:stair_mossycobble') +minetest.register_alias('stairs:stair_outer_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled_outer') +minetest.register_alias('stairs:stair_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled') +minetest.register_alias('stairs:stair_inner_quartz_chiseled', 'mcl_stairs:stair_quartz_chiseled_inner') +minetest.register_alias('stairs:slab_quartz_chiseled', 'mcl_stairs:slab_quartz_chiseled') +minetest.register_alias('stairs:stair_coral_desert_stone_block', 'mcl_stairs:stair_coral_desert_stone_block') + +minetest.register_alias('everness:cursed_brick_wall', 'everness:cursedbrickwall') +minetest.register_alias('walls:cobble', 'mcl_walls:cobble') +minetest.register_alias('xpanes:trapdoor_steel_bar', 'mcl_doors:iron_trapdoor') +minetest.register_alias('doors:trapdoor_open', 'mcl_doors:trapdoor_open') +minetest.register_alias('doors:trapdoor', 'mcl_doors:trapdoor') +minetest.register_alias('doors:door_wood_a', 'mcl_doors:wooden_door') +minetest.register_alias('doors:hidden', 'air') +minetest.register_alias('everness:cobweb', 'mcl_core:cobweb') + +minetest.register_alias('fire:permanent_flame', 'air') diff --git a/mod_support_x_obsidianmese.lua b/mod_support_x_obsidianmese.lua index 7aa6ffe..4e1af67 100644 --- a/mod_support_x_obsidianmese.lua +++ b/mod_support_x_obsidianmese.lua @@ -27,19 +27,7 @@ local path_nodes_bamboo_forest = { descritption = 'Dirt with Grass Path', drop = 'everness:dirt_1', tiles = { - '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', - mod_origin = 'everness', - descritption = 'Dirt with Grass Path', - drop = 'everness:dirt_1', - tiles = { - 'x_obsidianmese_path_dirt_base.png^(everness_grass_top_2.png^[mask:x_obsidianmese_path_overlay.png)', + 'x_obsidianmese_path_dirt_base.png^(everness_grass_top.png^[mask:x_obsidianmese_path_overlay.png)', 'x_obsidianmese_path_dirt_base.png', 'x_obsidianmese_dirt_path_side.png' }, @@ -51,7 +39,7 @@ local path_nodes_bamboo_forest = { descritption = 'Dirt with Grass Path', drop = 'everness:dirt_1', tiles = { - 'x_obsidianmese_path_dirt_base.png^(everness_grass_top_1.png^[mask:x_obsidianmese_path_overlay.png)', + 'x_obsidianmese_path_dirt_base.png^(everness_grass_top.png^[mask:x_obsidianmese_path_overlay.png)', 'x_obsidianmese_path_dirt_base.png', 'x_obsidianmese_dirt_path_side.png' }, @@ -63,7 +51,7 @@ local path_nodes_bamboo_forest = { descritption = 'Dirt with Grass Path', drop = 'everness:dirt_1', tiles = { - 'x_obsidianmese_path_dirt_base.png^(everness_grass_top_2.png^[mask:x_obsidianmese_path_overlay.png)', + 'x_obsidianmese_path_dirt_base.png^(everness_grass_top.png^[mask:x_obsidianmese_path_overlay.png)', 'x_obsidianmese_path_dirt_base.png', 'x_obsidianmese_dirt_path_side.png' }, @@ -75,12 +63,39 @@ local path_nodes_bamboo_forest = { descritption = 'Dirt Path', drop = 'everness:dirt_1', tiles = { - 'x_obsidianmese_path_dirt_base.png^(everness_dirt_1.png^[mask:x_obsidianmese_path_overlay_2.png)', + 'x_obsidianmese_path_dirt_base.png^(everness_dirt.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() + } +} + +local path_nodes_baobab_savanna = { + ['everness:dry_dirt_with_dry_grass'] = { + name = 'dry_dirt_with_dry_grass', + mod_origin = 'everness', + descritption = 'Dry Dirt with Dry Grass Path', + drop = 'everness:dry_dirt', + tiles = { + 'x_obsidianmese_path_dirt_base.png^[colorize:#B88C5E:127^(everness_dry_grass_top.png^[mask:x_obsidianmese_path_overlay.png)', + 'x_obsidianmese_path_dirt_base.png^[colorize:#B88C5E:127', + 'x_obsidianmese_dirt_path_side.png^[colorize:#B88C5E:127' + }, + sounds = Everness.node_sound_dirt_defaults() }, + ['everness:dry_dirt'] = { + name = 'dry_dirt', + mod_origin = 'everness', + descritption = 'Dry Dirt Path', + drop = 'everness:dry_dirt', + tiles = { + 'x_obsidianmese_path_dirt_base.png^[colorize:#B88C5E:127^(everness_dry_dirt.png^[mask:x_obsidianmese_path_overlay_2.png)', + 'x_obsidianmese_path_dirt_base.png^[colorize:#B88C5E:127', + 'x_obsidianmese_dirt_path_side.png^[colorize:#B88C5E:127' + }, + sounds = Everness.node_sound_dirt_defaults() + } } -- Crystal Forest @@ -458,6 +473,12 @@ if Everness.settings.biomes.everness_bamboo_forest.enabled then x_obsidianmese:register_path_node(path_nodes_bamboo_forest) end +-- Baobab Savanna + +if Everness.settings.biomes.everness_baobab_savanna.enabled then + x_obsidianmese:register_path_node(path_nodes_baobab_savanna) +end + -- Crystal Forest if Everness.settings.biomes.everness_crystal_forest.enabled then @@ -530,6 +551,7 @@ if Everness.settings.biomes.everness_forsaken_desert_under.enabled then end -- Frosted Icesheet + if Everness.settings.biomes.everness_frosted_icesheet.enabled then x_obsidianmese:register_path_node(path_nodes_frosted_icesheet) end diff --git a/nodes.lua b/nodes.lua index 383b178..5de7a4a 100644 --- a/nodes.lua +++ b/nodes.lua @@ -1955,7 +1955,7 @@ Everness:register_node('everness:crystal_forest_deep_ocean_ruins_marker', { Everness:register_node('everness:dirt_1', { description = S('Dirt'), short_description = S('Dirt'), - tiles = { 'everness_dirt_1.png' }, + tiles = { 'everness_dirt.png' }, groups = { -- MTG crumbly = 3, @@ -1977,13 +1977,38 @@ Everness:register_node('everness:dirt_1', { sounds = Everness.node_sound_dirt_defaults(), }) -Everness:register_node('everness:dirt_with_grass_1', { - description = S('Dirt with Grass'), - short_description = S('Dirt with Grass'), +Everness:register_node('everness:dry_dirt', { + description = S('Dry Dirt'), + short_description = S('Dry Dirt'), + tiles = { 'everness_dry_dirt.png' }, + groups = { + -- MTG + crumbly = 3, + -- MCL + handy = 1, + shovely = 1, + dirt = 1, + soil_sapling = 2, + soil_sugarcane = 1, + cultivatable = 2, + enderman_takable = 1, + building_block = 1, + -- path_creation_possible = 1, + -- ALL + soil = 1, + }, + _mcl_blast_resistance = 0.5, + _mcl_hardness = 0.5, + sounds = Everness.node_sound_dirt_defaults(), +}) + +Everness:register_node('everness:dry_dirt_with_dry_grass', { + description = S('Dirt with Dry Grass'), + short_description = S('Dirt with Dry Grass'), tiles = { - 'everness_grass_top_1.png', - 'everness_dirt_1.png', - { name = 'everness_dirt_1.png^everness_grass_side_1.png', tileable_vertical = false } + 'everness_dry_grass_top.png', + 'everness_dry_dirt.png', + { name = 'everness_dry_dirt.png^everness_dry_grass_side.png', tileable_vertical = false } }, groups = { -- MTG @@ -2008,17 +2033,17 @@ Everness:register_node('everness:dirt_with_grass_1', { }, _mcl_blast_resistance = 0.6, _mcl_hardness = 0.6, - drop = 'everness:dirt_1', + drop = 'everness:dry_dirt', sounds = Everness.node_sound_grass_defaults(), }) -Everness:register_node('everness:dirt_with_grass_2', { +Everness:register_node('everness:dirt_with_grass_1', { description = S('Dirt with Grass'), short_description = S('Dirt with Grass'), tiles = { - 'everness_grass_top_2.png', - 'everness_dirt_1.png', - { name = 'everness_dirt_1.png^everness_grass_side_1.png', tileable_vertical = false } + 'everness_grass_top.png', + 'everness_dirt.png', + { name = 'everness_dirt.png^everness_grass_side.png', tileable_vertical = false } }, groups = { -- MTG @@ -2051,10 +2076,11 @@ Everness:register_node('everness:dirt_with_grass_extras_1', { description = S('Dirt with Grass'), short_description = S('Dirt with Grass'), tiles = { - 'everness_grass_with_yellow_extra_top_1.png', - 'everness_dirt_1.png', - { name = 'everness_dirt_1.png^everness_grass_side_1.png', tileable_vertical = false } + { name = 'everness_grass_top.png^everness_grass_extras_1.png', tileable_vertical = false }, + 'everness_dirt.png', + { name = 'everness_dirt.png^everness_grass_side.png', tileable_vertical = false } }, + use_texture_alpha = 'clip', groups = { -- MTG crumbly = 3, @@ -2086,10 +2112,11 @@ Everness:register_node('everness:dirt_with_grass_extras_2', { description = S('Dirt with Grass'), short_description = S('Dirt with Grass'), tiles = { - 'everness_grass_with_blue_extra_top_2.png', - 'everness_dirt_1.png', - { name = 'everness_dirt_1.png^everness_grass_side_1.png', tileable_vertical = false } + { name = 'everness_grass_top.png^everness_grass_extras_2.png', tileable_vertical = false }, + 'everness_dirt.png', + { name = 'everness_dirt.png^everness_grass_side.png', tileable_vertical = false } }, + use_texture_alpha = 'clip', groups = { -- MTG crumbly = 3, @@ -5566,6 +5593,95 @@ for i = 2, 5 do }) end +minetest.register_node('everness:dry_grass_1', { + description = S('Baobab Savanna Grass'), + drawtype = 'plantlike', + waving = 1, + tiles = { 'everness_dry_grass_1.png' }, + inventory_image = 'everness_dry_grass_3.png', + wield_image = 'everness_dry_grass_3.png', + paramtype = 'light', + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = { + -- MTG + snappy = 3, + flora = 1, + -- Everness + everness_dry_grass = 1, + -- MCL + handy = 1, + shearsy = 1, + deco_block = 1, + plant = 1, + non_mycelium_plant = 1, + fire_encouragement = 60, + fire_flammability = 100, + dig_by_water = 1, + destroy_by_lava_flow = 1, + compostability = 30, + -- ALL + attached_node = 1, + flammable = 3, + }, + sounds = Everness.node_sound_leaves_defaults(), + selection_box = { + type = 'fixed', + fixed = { -6 / 16, -0.5, -6 / 16, 6 / 16, -3 / 16, 6 / 16 }, + }, + on_place = function(itemstack, placer, pointed_thing) + -- place a random dry grass node + local stack = ItemStack('everness:dry_grass_' .. math.random(1, 4)) + local ret = minetest.item_place(stack, placer, pointed_thing) + return ItemStack('everness:dry_grass_1 ' .. + itemstack:get_count() - (1 - ret:get_count())) + end, +}) + +for i = 2, 4 do + minetest.register_node('everness:dry_grass_' .. i, { + description = S('Baobab Savanna Grass'), + drawtype = 'plantlike', + waving = 1, + tiles = { 'everness_dry_grass_' .. i .. '.png' }, + inventory_image = 'everness_dry_grass_' .. i .. '.png', + wield_image = 'everness_dry_grass_' .. i .. '.png', + paramtype = 'light', + sunlight_propagates = true, + walkable = false, + buildable_to = true, + groups = { + -- MTG + snappy = 3, + flora = 1, + -- Everness + everness_dry_grass = 1, + -- MCL + handy = 1, + shearsy = 1, + deco_block = 1, + plant = 1, + non_mycelium_plant = 1, + fire_encouragement = 60, + fire_flammability = 100, + dig_by_water = 1, + destroy_by_lava_flow = 1, + compostability = 30, + -- ALL + attached_node = 1, + flammable = 3, + not_in_creative_inventory = 1 + }, + drop = 'everness:dry_grass_1', + sounds = Everness.node_sound_leaves_defaults(), + selection_box = { + type = 'fixed', + fixed = { -6 / 16, -0.5, -6 / 16, 6 / 16, -1 / 16, 6 / 16 }, + }, + }) +end + Everness:register_node('everness:red_castor_1', { description = S('Red Castor'), drawtype = 'plantlike', diff --git a/nodes_farming.lua b/nodes_farming.lua index 0cf8e58..3a64ff1 100644 --- a/nodes_farming.lua +++ b/nodes_farming.lua @@ -50,11 +50,19 @@ minetest.override_item('everness:dirt_with_grass_1', { } }) -minetest.override_item('everness:dirt_with_grass_2', { +minetest.override_item('everness:dry_dirt', { soil = { - base = 'everness:dirt_with_grass_2', - dry = 'everness:dirt_1_soil', - wet = 'everness:dirt_1_soil_wet' + base = 'everness:dry_dirt', + dry = 'everness:dry_dirt_soil', + wet = 'everness:dry_dirt_soil_wet' + } +}) + +minetest.override_item('everness:dry_dirt_with_dry_grass', { + soil = { + base = 'everness:dry_dirt_with_dry_grass', + dry = 'everness:dry_dirt_soil', + wet = 'everness:dry_dirt_soil_wet' } }) @@ -142,8 +150,8 @@ minetest.register_node('everness:coral_dirt_soil', { minetest.register_node('everness:dirt_1_soil', { description = S('Dirt Soil'), tiles = { - 'everness_dirt_1.png^(everness_dirt_1.png^[mask:everness_farming_soil_overlay.png^[multiply:#51341E80)', - 'everness_dirt_1.png' + 'everness_dirt.png^(everness_dirt.png^[mask:everness_farming_soil_overlay.png^[multiply:#51341E80)', + 'everness_dirt.png' }, drop = 'everness:dirt_1', groups = { crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1, field = 1 }, @@ -203,6 +211,22 @@ minetest.register_node('everness:cursed_dirt_soil', { } }) +minetest.register_node('everness:dry_dirt_soil', { + description = S('Dry Dirt Soil'), + tiles = { + 'everness_dry_dirt.png^(everness_dry_dirt.png^[mask:everness_farming_soil_overlay.png^[multiply:#9F754780)', + 'everness_dry_dirt.png' + }, + drop = 'everness:dry_dirt', + groups = { crumbly = 3, not_in_creative_inventory = 1, soil = 2, grassland = 1, field = 1 }, + sounds = Everness.node_sound_dirt_defaults(), + soil = { + base = 'everness:dry_dirt', + dry = 'everness:dry_dirt_soil', + wet = 'everness:dry_dirt_soil_wet' + } +}) + -- wet soil minetest.register_node('everness:coral_dirt_soil_wet', { description = S('Coral Dirt Wet Soil'), @@ -223,8 +247,8 @@ minetest.register_node('everness:coral_dirt_soil_wet', { minetest.register_node('everness:dirt_1_soil_wet', { description = S('Coral Dirt Wet Soil'), tiles = { - 'everness_dirt_1.png^(everness_dirt_1.png^[mask:everness_farming_soil_wet_overlay.png^[multiply:#51341E80)', - 'everness_dirt_1.png^(everness_dirt_1.png^[mask:everness_farming_soil_wet_side_overlay.png^[multiply:#51341E80)', + 'everness_dirt.png^(everness_dirt.png^[mask:everness_farming_soil_wet_overlay.png^[multiply:#51341E80)', + 'everness_dirt.png^(everness_dirt.png^[mask:everness_farming_soil_wet_side_overlay.png^[multiply:#51341E80)', }, drop = 'everness:dirt_1', groups = { crumbly = 3, not_in_creative_inventory = 1, soil = 3, wet = 1, grassland = 1, field = 1 }, @@ -283,3 +307,19 @@ minetest.register_node('everness:cursed_dirt_soil_wet', { wet = 'everness:cursed_dirt_soil_wet' } }) + +minetest.register_node('everness:dry_dirt_soil_wet', { + description = S('Cursed Dirt Wet Soil'), + tiles = { + 'everness_dry_dirt.png^(everness_dry_dirt.png^[mask:everness_farming_soil_wet_overlay.png^[multiply:#9F754780)', + 'everness_dry_dirt.png^(everness_dry_dirt.png^[mask:everness_farming_soil_wet_side_overlay.png^[multiply:#9F754780)', + }, + drop = 'everness:dry_dirt', + groups = { crumbly = 3, not_in_creative_inventory = 1, soil = 3, wet = 1, grassland = 1, field = 1 }, + sounds = Everness.node_sound_dirt_defaults(), + soil = { + base = 'everness:dry_dirt', + dry = 'everness:dry_dirt_soil', + wet = 'everness:dry_dirt_soil_wet' + } +}) diff --git a/schematics/everness_baobab_log.mts b/schematics/everness_baobab_log.mts new file mode 100644 index 0000000000000000000000000000000000000000..210d852b809b0d3c6d446b6cfc04079953f120c2 GIT binary patch literal 56 zcmeYb3HD`RVPFJ8)_Nczl3JEpl$TmuY?YLlpOlysUs9BsS}`X%p@H%DuU}QwWdaNg I0-;Ru0H=8oGynhq literal 0 HcmV?d00001 diff --git a/textures/everness_dirt.png b/textures/everness_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2263979ae3e98b4f147314488f0a92d393ec41 GIT binary patch literal 715 zcmV;+0yO=JP)iI4~fI zZdEU}`#~O_Gj8UMJdxtBKfh;{HD;V?mNi9D;JwF;GeQU!Re@3ptu;AkVvMYtiWmj` zY|y`sf&Wb)#)#IM`wQ&HfKq-%-~!yKO^J6lks4 zELubXll5q=dHeh%=Zv=?_m8(k5!kdV>^xx37xCYNK?s5Op21H52q92PvDohM7Ob`C zloFdo%X@dAjuA0gIzURv->)Zx3TUlybLQLKn)j|_If}0jWeCtsXUejqswx1UAGYka zS9tGPRSl!@gb)xy&{iwVe5N-R?>+kM*s)k$66|Dn++8t_4uED|A%tLAm+bDY2qBPj zrYH)GnK9#xyt!KA=8X5AW?7SSMk&Q<=m;T@Qlc!&uMPlm&NRP0T`1(7S=J@%hdu48 zL~DH!q@-P}$?Yv#Ykt0bpp^PTsfHu#W{He3vT19|x#OR=?u&C#6vP;j=D^|95o6@# z{T<^*a?bQ-WSA^+wa^G57~KHC&zBEA#~$Y#o3^GmBSHwiKiyNQno?HS=@PQrHt3Wj z)8qjNA+WvPAf+Uw#5@O{AGV~F5JHeuBBjLj^AEh6P;x|n^hcCZNGaJr-f}pf$uqRS z|KMyo$~56zBBg+}mccoyvL^=1s4_Z7jq{29<25;Fmbzxh6Mc6i21{PR*$z18sH%$S zJ@)X*qAGZsEczFo7$eiDvuCXV4j`%lyT7@Drb7 xPf=W!cOE8!6KJgwn|qpNjZz9B1kPP1@E-tGZ%mwGiEjV^002ovPDHLkV1mipN3#F` literal 0 HcmV?d00001 diff --git a/textures/everness_dirt_1.png b/textures/everness_dirt_1.png deleted file mode 100644 index 6484be17689a65841ae5b08fa68bf14ce26405e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a4Y!d`bJfZ9(T}rNFAK2@ zG?9z)v`7hY3v$ruIxcV*sI1=8#WAEJj@4l!Z?l1b&8MRL--4MBdnbMS*v_iM#t`|% zC38jt?+t6FpC3L>5uUWSsH$F=>1E!;#>&UrcC4DQ{V<-8(M?WQRJ!90HF_srO*ntQWX*ZzeY@utmLFbg`Xk}C{AwRj ViQdbrE&`px;OXk;vd$@?2>@&)S7!hK diff --git a/textures/everness_door_cursed_wood.png b/textures/everness_door_cursed_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..f559b9bac6ed3e8b9aa7d6497c08e7ce45cb0619 GIT binary patch literal 2260 zcmbVO4^$KP9Z!MTO06OS3(o0r6s(mbcbD)dXA=qp0iQvT7#ULQ<#Hh>NiN(SB*4n6 zZTJ)L&vaH(#QFMKYgMR#Yn9rdr3{-n|37sUZN{^dTE&3FvZ2o1@h7j{x^C;eyWH>Y zKEKcR`}zKRapq)aJQF-WSRfEQla;Aj&D~?U3wUY<_gke8KFZx@S~Gve2n0{hi!nW=BgA&Il|u^zFC^Qo7+y@UfQ~34EegwRG7PH_)mP!F~s>LL!=dzC^5KT`BYEj z5hYVA6A4Vz0gB;#eJenmPb{Gar(TmkIRcZkHY352{z$qfVGLzpZ5U0Y6mik|9|}ss zxi8^+aZ-uoUqw!Q`%d3Z!?|I=Fa48@f_0CjTRAhS7saKa5>LU#OU2&tK9}S1DKh@I1(WLp<a1K}Ogno!9fayGh03qKqY);{f?b@=AauVc=@pN)L^jx*>)cSB>J!)3yb zb!}W2m=v9EeEcLViE>cM6%jZs<-$F@=My$ zyQ#N5r!Lq=v|lB>hsU(}yq%+=RF=&9=kA!#4~{MK9c^s5{mawqcJ!TXty%90*tmIj z$XJczrCT#y+x}i~T2LFXbWhl~vxR9`o@L*JGa(0 zK<$PdF7GDIQ>6t-Z#sIHj=LUs=G@z2EdgWN`)#er&f{-5G|I2{DkC4~B(>RBjV*2e z1-){1!JW2ZTh*BB8hjoeXh@AN8Cxb?s8y~|{x13DGw?UA%I2>5b=#lJ-hASCk2oSj zbo$-8?f9ilLYsJT?A|R-vWuBDR=M@!@^;6Sra@uU=z_O1Gj!y=%drp7ed!HPO3{qK zy3p*3hgJP!a$my|xZb#C|IGt|Ae;RYa^b#FfN&Hcu;IHMkrBG=Zfg$S;_| z!NI|G&C~Nhey*pBV@O4u@44H2hYdKGFI>9W7IXXW|MPisx3J86z!7OTkMU32Zu{Tz z59B!SyfMjJP@kWClfjz*b*^J(+WJ3@9e&5!ws#92YU1j&WpvpjtQj)hiSu0*t1@GW r=O@<7*__V;g1UB9_ZU9YdCM+8!;CqN)AX4*&|(HpS3j3^P6~m_HlN(8gj7g zzAHSr{Qu*=neirCs!ca`*XSm#josRPLuS{{#{x$UOhhc6N7xu%HMxA|&Nu7M#oH(E zsH(AjxN6hWmMpu#x8XaVu~a3qthm4Y@b@4VS0mM@;sP)BN$PQ)ZYy>YjP&u@{N1Rz zsbL5A+4%(@j;uLv>u*usvYT^Fr{KZR!{6?%=@Lx)$ZwtY&VJuNR?(2XM*cttGI+ZB KxvX literal 0 HcmV?d00001 diff --git a/textures/everness_door_trapdoor_cursed_wood_side.png b/textures/everness_door_trapdoor_cursed_wood_side.png new file mode 100644 index 0000000000000000000000000000000000000000..c355e44769baf7742df80d159411f60477e2ddc5 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZbuaJ4HWu}FZ~)-it3f{Nd92i4fFpU|9VryjeQ;bktjNnDs8 Q3s5J6r>mdKI;Vst0Aa%{3jhEB literal 0 HcmV?d00001 diff --git a/textures/everness_dry_dirt.png b/textures/everness_dry_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd5a115f7ac40f27f6c1d2e586336eef7ec272a GIT binary patch literal 610 zcmV-o0-gPdP)IS2&D91iV>M)Cd*=E3UhSI*D%1G12ZEt5fRR(6?Yh8 zCnQi+AOK^IP69e-r@V*S==^kW9+ENTcU8g-Z`Hx%-JbrVa#}Yfl?OSC%ro!lhWEoF*{c3jq_<`&Q7AN>jFS2 zh12Ow!~_zRWX!>~4Rl#nA`c$3O1@dgXhbBWqbl%D1|Z?UBT+IitL(kAEQTO&VM4LW z@6S&JXA zqt=x+1`$rRN(thBN!QDTK00#-dvEkU_~*wDBo7?bK_7!L21KAH$05y`+^*+$lM)`Z z*2qWzd^S81QH2QZ*DGem)*9u@cxEy^5h-LgKJE`xjlFG%R0L;wkig}9;;Yp3cmRQj wj?a$Bk@=j1OhGmI^L$dxFjYhZcc^vYKfqjdW#RIMM*si-07*qoM6N<$g1Z0HZ6s61GuEs2hUYMWVB~yX2@Q`mQyR- RQwr3_;OXk;vd$@?2>=%TGu;3H literal 0 HcmV?d00001 diff --git a/textures/everness_dry_grass_2.png b/textures/everness_dry_grass_2.png new file mode 100644 index 0000000000000000000000000000000000000000..52504bf951610fc73bb5a01c3964c88826c40bf7 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUbuaKqO4To}w)TwBtj#rw zE-;(gWLuu1+fr>6;x5-;WNhKCu(R7fF+j;ui_gJ8@T42pOQ2rHk|4ie28U-i(tw;m zPZ!4!j_BkB1;GyvnQ>)poC$2=`pwKU(vs6P7!7ZzL`t0!Z-~(R!^g?)&?Cmz$g<&8 zz_d1YHiumf4$d2_8BWYlQ`q4ts*0S1PbN<1xFt)gpzhBJ7&`njxgN@xNA DmRmj= literal 0 HcmV?d00001 diff --git a/textures/everness_dry_grass_3.png b/textures/everness_dry_grass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b84038200a2a6c162f412e469d8387f23ecdf2d9 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUbuaJ<$u*l)VeKBHmz`-? zTWFD7<-DWSsjSm0CSK>p><~K-g(yqW#zd`HKgBX1`ExVYW&`yymIV0)GdMiEkp|?X zc)B=-a9mGLIKZ|ep+||0)nM(BBXP`&A}b?z%2_Z-K3%hvhcDEDO<4YZ>r4e#pYjL^ zn}b>B3@l5UOG7tlSTy@YFEBits1%{)ppzioaj^cN(nYBw34#Wb4Ok2%cv)4?NJucu X@e^P?&C$OIXdi>8tDnm{r-UW|r(#G7 literal 0 HcmV?d00001 diff --git a/textures/everness_dry_grass_4.png b/textures/everness_dry_grass_4.png new file mode 100644 index 0000000000000000000000000000000000000000..32d5ad5f90313717c49196521dcec47495a7afc5 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUbuaLFFgxgAyW5%)i-H!< z8|zBKv#c}9Jtz12*7m2wo9H=R9dK=Fe-+Xk|aozo(vI z%M0g2#qGNl1lRr1eqZCrbMNi;piPcEedW7@t(YVjyi4S6u`~C%16{-5>FVdQ&MBb@ E0M`;-{Qv*} literal 0 HcmV?d00001 diff --git a/textures/everness_dry_grass_side.png b/textures/everness_dry_grass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..2bcc742d7d25ec3d38b8728c131ffd0bce4652a6 GIT binary patch literal 717 zcmV;;0y6!HP)T%)yTnWgN!w@9&*yw=;C6y9>L}vTI@&7yl3vG#C>P z>_wwj{}yB7nTQ7^F;R($q6a`O-~~uDniz=5DuHf0s~GyeGo_uG&inJe2R-QL{Cpp| z@xiNFBS1r-!eD!Vh~R9&IGd10F~LfQBA=pSNRu9$o9lQna*6+uLCwxCfZn;Z~GK-gNrSZC>_ zJ=$@HMOCpVD_mg-3?xw(V+;nE+Jed97*LRawbgZ0m2i7|3l!3%i>i`a%g%6!vpFI# zUz9A%5;t|I_XHTyC}vU4QIycxoa`_|RXNq~Gn>yDKOWKFK26~Yj;*vgws`{Uasu_l zX+rKS24Q1klW?3(IKH-l%bzj*<0*p23uI3YaPxxQm(F5cL6&8l-Q7jRBO(OegZG#d ztLwP@8Q*?Cdb`zb5yvS80pL{sG^2wNm#^O6`|8e<*FU-T^Pb1hOB0qNcrh4TIIi7! zyobm%SzRUY4PV~={oVcxTL64^^Vc^-f?veTy)66l!TXnQU3~AOTNjNOE`4$Lf)Np# zMt+F9={~^MceB@&;GuOnmp;FLzOMZv6SlJ}*Y^)af{|+QU8fa2{P60%bIV44l6Nlb zzPxPw)8lKs0FgntC~H>~e|4ky#o2r||MbSAA35T!^Jh9s-}qJ#dU^AeGodJLpi?dD zP@xj=Q4~M__?rjIqw!Iqs{gk6N9I4(|Hr}KPwqcsUkN{o00000NkvXXu0mjfa5+l^ literal 0 HcmV?d00001 diff --git a/textures/everness_dry_grass_top.png b/textures/everness_dry_grass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0e4f1b5545299a0e94ac44a657a8e33aee0dc2 GIT binary patch literal 741 zcmV8o7WHbgH zP=PE-I9ZDbc$CX^AW+!t9#B<$-{Pu@Lvh5b5_&O2lL%F%yL5Pjw!iTD^vp0^$i`Dt z1QEsAnn9H!e<6^7Fp4qOS+X=^G#%6SJ#E+HYD-`sncQHE!2qSL$zP9vf&_fHoujIR z+wDClq{$7cN@Xn%yB*F}h(ObJT)PfeI@Egt4C!P_+chXk=xjytTA-?YTCF%W4adI^ zthO6!S2K%8%oZQ9t|Cy+G)<_S#UR|>EeMZA&QBliaMe5Iw>Jcj7bw2I;F_ApU-np6 zQxpaJ$45jwB0}Ijcu)B8c8;yy2@#@EgpnA70?Mb=hQrH&rfKmgsN%(tr3s~V7=+N) z4g-Xvh$OqEdVgmyu>E<9brt94%xp4a=r24!J<|_YJj(rQL!KW9MT9tvSl{1MRW;Mw zjIQmlt|HHKP$kJSoGpnljERZkF>n7AKtLEp5gq`~>}JNPswr*BT<3sizuzOG061$A zplcfxLpF^GK`~x9emzpRCk6zgKmemC2K`PqNfY=HN|Ov%RrGC#0oZ)rFo-f4PciCI z;Br2rsuYJ8{`~R>;g5^F_y$HulZ0^`69y`j)={4wq7mt2hB1aK$|M}2A|%t4*Vlg; zjblXN>C0c-Etcd(PS{;Lf+ogD$Y!}@5I_w5x#vIk#%wYpO*6W#|L#N}j$;~Y5mEjJ X)y{3=PnHi{00000NkvXXu0mjf`N&8k literal 0 HcmV?d00001 diff --git a/textures/everness_dry_wood.png b/textures/everness_dry_wood.png index b43319ae5551c5ccdfcadcdbdc30f11d6f40681d..4998783f92d23edbe68acc01304e73eaf66105b8 100644 GIT binary patch delta 238 zcmVr|F*#yiUn+_ zSC~piRccBzX5bk=JkR*_`aCc|({i*;2k6=a5TN}DpreUL_{BgM;lbBDnSRHi@n-^#=4k_ zskY-Rk%2Z8)qD}mh-2?<_oIcDnr%gz)YTp_8O)$GMc==fv=tvOVFF+^nJY diff --git a/textures/everness_grass_extras_1.png b/textures/everness_grass_extras_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4fff78f65958995b21d85b495dbfc68dd453c7 GIT binary patch literal 340 zcmV-a0jvIrP)Ll0i-aK@de>iwxS4KwJ>xf*4#G*>Hk787q(CG5RhO zSA;EXK*ylv!tR;2o#+U)tm*&eSN$@o%2Cw~}r1^R#KRF#vgZ=FbWGa3QdE(UTy zf9*X_n@tyOV2krVl0Hv()F zFUxXHGi$6fC!%Zb2{AY6g&homJK!F;0tOji0Ne)g6e!{jVhR>8e9gWCs+I{R0kj3Y ms_x-`F~%PNRNwC4nEC{-9gCH;pZ|FP0000Tk}*pIK@^0)J#)rWqOHW>>7i95|5FIL>udtSpg+SX zk|tQB^(SbdAQ2G+C&lfO&3YCl4s5e;-^{#uYb3D_qP4pJg8)f*W7O{^9RW$j)8uy2 zQ9eioY`R|GffAxQ!>N8>Z~%D+&V!47b8e$f)p3>?;heIT>7jc^N2WtVd2 vZ@_ano^@q__usZqvrgiQe3r1}U{%ZkQACJQ{0}k400000NkvXXu0mjfQ2vp@ literal 0 HcmV?d00001 diff --git a/textures/everness_grass_side.png b/textures/everness_grass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca59348823edb7fc31488fcf2945d55ab2d10da GIT binary patch literal 519 zcmV+i0{H!jP)TlDlpbK@^6+ot^b$FTMx@TSST?6hstINJB$Ik%oc? z;RQ%XMdv4=q2MiOTp%Iw78FKCazv2udcBNic89{dLktKCIMOt8{_os_M^AId6^r*$ z08C+7&6o7z2%#iqsR4*Gh1ykKBi5C<%2UnCjj%6C@{HQlG};1?9Spp#OCZubMJVYV z(V&Mdegv&;vjsQWdKf?ggh~L?XR39>x61{!ZRo|(R#w2np%e(SSR?xpLWR_(rq+$` z_h+~R0d_|5rh;y0QC|WHcA?1*2AIMU;HY&&qb+u!J=}{UU#+x-p`339m*g4i%D}87 z-b*osB~${noBHzQK>1+mdV(zHB|D=Sv()Iz)z&uFm0@@|^5qW?N8TUc0Eg({cdtG_ z2%~VT?j*ZYC(n)?a3456JKuNhVLg2O;+8u*-*>=0 z;3kj(IdB4;w7#S606umrefx5L3}{nWCgbTHplDwOSl}x#oQ$Wpfr|jR0hE9M20#t0 zfNOvOKJlwb*bE_P!La=lZ2;H8&2Qi>3!HO*)BMrIKhggqz<24C%~H0y*U10?002ov JPDHLkV1hT>cdXr1o65YZ>?yq6C&1Tr%OtT4DB%J?B1=raaS LS3j3^P6>kO*!=j}&fHc0UIO5H&-plzJit;-Q$@K zZ3`0>i|)S|y9>9(*rvwQ!vrS*{5#Fno3?)}pN# zkK-*yEfYXBhG@fM){TMgdyp_H*%kMamn7hFnus<4u-)&_wOUASwI-0|n)C(#=T$24 z5BY`}Rcl=Di8dfszboVOl<6??=hrFSuaWCoA&guUtjl^PS?y)H#{RYlvz&*|4)a=Y zJ`Skh0^;VkY!@Xn8=?(dP7_(K(M?9MF)dDNnbP_TDEAAWk8v!r00000NkvXXu0mjf DqA%dM literal 0 HcmV?d00001 diff --git a/textures/everness_grass_top_1.png b/textures/everness_grass_top_1.png deleted file mode 100644 index 627dca83595d80b2e442d813d31b06568f57c1db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9JOMr-uJ#$?9?eS5WpbABLS~`2 z1A*dEo-U3d6^zLV2_+Gy4=Byp($*N7)X3|c%^uEkc+s=zd^|jB)|*HysWZ|raFG|t zN=QhUas9x84NKyi6Ay~8g|_WsmFnRs<&~6|*b#qZf5HX750_E`3LYe}GDOLVzC88& R&jg??44$rjF6*2UngEH>Hzxo9 diff --git a/textures/everness_grass_top_2.png b/textures/everness_grass_top_2.png deleted file mode 100644 index 0ea162af37d260667788edfb5f1e59a0e1671543..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?bwN4iHZc}n9mUF97u+I`- zG>1zED3$E#;uyklo%JB2;9&zEmV@)JFud_(EU{ynaEWrW{77>BJ)@Mgr&AZ+y>UF^#9F(z)))GV6)#lzy-M>s5F;s+#&F6Yzh#53oZ>69 ebKX-9oUvbNBYt%4iMlYLbqt=aelF{r5}E+J0zoAJ diff --git a/textures/everness_grass_with_blue_extra_top_2.png b/textures/everness_grass_with_blue_extra_top_2.png deleted file mode 100644 index 53ab959c816c4f6d41bf593d3dfc94698545363d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUwa*f_P8RlVQ*tVnbE{F% zZP>3IyTEh)v8@jkrU2DsdAc};a9n3Sc#!jug8;*U&T`f#9jr41{&TP1w>XZGaU;`4 zw%g@y{X8M2URtv66`!`fzw^vRX4+$$X%nh+ulq~59WJ?da%0``FVdQ&MBb@06A$)8UO$Q diff --git a/textures/everness_grass_with_yellow_extra_top_1.png b/textures/everness_grass_with_yellow_extra_top_1.png deleted file mode 100644 index 711888c306b1fba1085d1c2faa9289208d0f69e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZwa*auXjXDAle3H$T3c*% zaYf*feutx5js*Y}WP7?ehEy=J9yH`TmdKI;Vst0B{;c82|tP diff --git a/textures/everness_mcl_doors_door_cursed_wood_lower.png b/textures/everness_mcl_doors_door_cursed_wood_lower.png new file mode 100644 index 0000000000000000000000000000000000000000..3d81f96cc6842856f05d6b95e40b4b3c3a5c6fdf GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!L4Z$)tEq~Jy`HS0qL8hglAD>j zzJj2Z48N6zxS6J0q`R4}qJ+7+gtwJeXMRYqgT9g&k7nhJ2SB}jo-U3d6}L>!cnUEa zaySPvCT+Mo_s;)q2g{!7uXv=(QY)E!?)%zVPMir5Jd^&OKbq4KwKHVlyHxRr?U`36 zC@94&j&5UnsHFS&bHt~H#?X#*DYK3%>j)DFMGC p<6!wiQd?4fG-XRP?X~&c^@Xoqx@51f ztR=&5sv=^qujFQ`W}zvkrzD}TAZVy4WUnVBU}S_EHAH#_tgeRweb_jZM*8adr3fH3lXx=CeL;>W<1jGHvQb)2x4&wr@P| zd3cRhZfFk2O0_9V4*pcwD4V^nV}tq%i+Z~&>#nWX-Pg2J>$Y2s$_X1a3s8<5Z15J&LO_4i<#}8&So!O9%$YUbRvVNtDnm{r-UW|?2g)wsbLrDo^ohw3S|M7ob9_W5GoSlE4B!7WWOjJdBtpWeb@cJO}bR0k7e-J*Iw$;kO|Yh ve{C4-OFw>fSRyz%-1=GV5Ifnr3Wl)%n-wv0XKBEf00000NkvXXu0mjfLyL#%