Merged in feature/add_mineral_waters (pull request #19)

Add mineral waters
This commit is contained in:
Juraj Vajda 2024-01-23 22:20:46 +00:00
commit 1d7727cc2d
179 changed files with 18364 additions and 407 deletions

View File

@ -89,4 +89,7 @@ read_globals = {
"mcl_util",
"mcl_doors",
"mcl_vars",
"mcl_buckets",
"mcl_worlds",
"bucket"
}

View File

@ -466,11 +466,15 @@ GNU Lesser General Public License v2.1 or later
- everness_agave_leaf_2.png
- everness_agave_leaf_3.png
- everness_amaranita_lantern_fur.png
- everness_amaranita_lantern_item.png
- everness_amaranita_lantern_light.png
- everness_amaranita_lantern_roots.png
- everness_ancient_emerald_ice.png
- everness_bamboo_block_side.png
- everness_bamboo_block_top.png
- everness_bamboo_forest_sun_tonemap.png
- everness_bamboo_forest_sun.png
- everness_bamboo_forest_sunrisebg.png
- everness_bamboo_item.png
- everness_bamboo_large_1.png
- everness_bamboo_large_2.png
@ -482,6 +486,7 @@ GNU Lesser General Public License v2.1 or later
- everness_bamboo_small_2.png
- everness_bamboo_small_top.png
- everness_bamboo_sprout.png
- everness_baobab_savanna_sun.png
- everness_baobab_tree_fruit_roasted.png
- everness_baobab_tree_fruit.png
- everness_baobab_tree_leaves.png
@ -500,6 +505,8 @@ GNU Lesser General Public License v2.1 or later
- everness_blue_weeping_obsidian.png
- everness_bone_top.png
- everness_bone.png
- everness_bucket_empty.png
- everness_bucket_mineral_water.png
- everness_bulb_vine_1.png
- everness_bulb_vine_2.png
- everness_bulb_vine_end.png
@ -514,6 +521,29 @@ GNU Lesser General Public License v2.1 or later
- everness_cave_flower_item.png
- everness_cave_flower_mesh_particles.png
- everness_cave_flower_mesh.png
- everness_ceramic_pot_blank_mesh.png
- everness_ceramic_pot_flowers_mesh.png
- everness_ceramic_pot_line_mesh.png
- everness_ceramic_pot_tribal_mesh.png
- everness_ceramic_pot_blank_sherd.png
- everness_ceramic_pot_flowers_sherd.png
- everness_ceramic_pot_line_sherd.png
- everness_ceramic_pot_tribal_sherd.png
- everness_chest_front.png
- everness_chest_inside.png
- everness_chest_side.png
- everness_chest_top.png
- 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_chest_ui_bg.png -- Derived from texture by XSSheep (CC BY 4.0)
- everness_cobweb.png
- everness_coconut_bottom.png
- everness_coconut_item.png
- everness_coconut_side_z.png
- everness_coconut_side.png
- everness_coconut_top.png
- everness_coral_bones_block.png
- everness_coral_bones_brick.png
- everness_coral_bones.png
- everness_coral_burdock_1.png
- everness_coral_burdock_2.png
@ -521,8 +551,15 @@ GNU Lesser General Public License v2.1 or later
- everness_coral_corals.png
- everness_coral_desert_cobble.png
- everness_coral_desert_mossy_cobble.png
- everness_coral_desert_stone_block.png
- everness_coral_desert_stone_brick.png
- everness_coral_desert_stone.png
- everness_coral_dirt.png
- everness_coral_forest_deep_ocean_lantern_animated.png
- everness_coral_forest_deep_ocean_lantern_bottom.png
- everness_coral_forest_deep_ocean_lantern_top.png
- everness_coral_forest_sun_tonemap.png
- everness_coral_forest_sun.png
- everness_coral_grass_1.png
- everness_coral_grass_2.png
- everness_coral_grass_3.png
@ -538,13 +575,24 @@ GNU Lesser General Public License v2.1 or later
- everness_coral_mushrooms_bioluminescent.png
- everness_coral_plant_bioluminescent.png
- everness_coral_sand.png
- everness_coral_sandstone_brick.png
- everness_coral_sandstone_carved_1.png
- everness_coral_sandstone_chiseled.png
- everness_coral_sandstone.png
- everness_coral_shrub.png
- everness_coral_skeleton.png
- everness_coral_stone_with_moss_side.png
- everness_coral_stone_with_moss_top.png
- everness_coral_tree_bioluminescent_sapling.png
- everness_coral_tree_sapling.png
- everness_coral_tree.png
- everness_coral_white_sand.png
- everness_coral_white_sandstone_brick.png
- everness_coral_white_sandstone_pillar.png
- everness_coral_white_sandstone.png
- everness_creeping_moss_spores.png
- everness_crystal_block_cyan_top.png
- everness_crystal_block_cyan.png
- everness_crystal_block_orange_top.png
- everness_crystal_block_orange.png
- everness_crystal_block_purple_top.png
@ -556,10 +604,15 @@ GNU Lesser General Public License v2.1 or later
- everness_crystal_cave_dirt_top.png
- everness_crystal_cave_dirt.png
- everness_crystal_cave_moss.png
- everness_crystal_cobble.png
- everness_crystal_coral_dark_block.png
- everness_crystal_coral_light_block.png
- everness_crystal_cyan.png
- everness_crystal_dirt.png
- everness_crystal_forest_moon_tonemap.png
- everness_crystal_forest_moon.png
- everness_crystal_forest_sun_tonemap.png
- everness_crystal_forest_sun.png
- everness_crystal_grass_1.png
- everness_crystal_grass_2.png
- everness_crystal_grass_3.png
@ -568,18 +621,32 @@ GNU Lesser General Public License v2.1 or later
- everness_crystal_leaves.png
- everness_crystal_lily_flower_small.png
- everness_crystal_lily_leaf_small.png
- everness_crystal_mossy_cobble.png
- everness_crystal_mushrooms.png
- everness_crystal_orange.png
- everness_crystal_purple.png
- everness_crystal_sand.png
- everness_crystal_sandstone_brick.png
- everness_crystal_sandstone_chiseled.png
- everness_crystal_sandstone.png
- everness_crystal_stone_brick.png
- everness_crystal_stone.png
- everness_crystal_tree_large_sapling.png
- everness_crystal_tree_sapling.png
- everness_crystal_tree_top.png
- everness_crystal_tree.png
- everness_cursed_bar_top.png
- everness_cursed_bar.png
- everness_cursed_brick_carved.png
- everness_cursed_brick_mixed.png
- everness_cursed_brick_with_growth.png
- everness_cursed_brick.png
- everness_cursed_bush_leaves.png
- everness_cursed_bush_sapling.png
- everness_cursed_bush_stem.png
- everness_cursed_dirt.png
- everness_cursed_dream_stone.png
- everness_cursed_dream_tree_sapling.png
- everness_cursed_dry_pine_leaves.png
- everness_cursed_grass_side.png
- everness_cursed_grass.png
@ -594,16 +661,22 @@ GNU Lesser General Public License v2.1 or later
- everness_cursed_pumpkin_side.png
- everness_cursed_pumpkin_top.png
- everness_cursed_sand.png
- everness_cursed_sandstone_block.png
- everness_cursed_sandstone_brick.png
- everness_cursed_stone_carved.png
- everness_cursed_stone.png
- everness_dense_emerald_ice.png
- everness_dense_vine_1.png
- everness_dense_vine_2.png
- everness_dense_vine_end.png
- everness_dirt_1.png
- everness_dirt.png
- everness_door_bamboo_item.png
- everness_door_bamboo.png
- everness_door_bone_pyrite_item.png
- everness_door_bone_pyrite.png
- everness_door_cursed_steel_bar_item.png
- everness_door_cursed_steel_bar.png
- everness_door_trapdoor_bamboo_side.png
- everness_door_trapdoor_bamboo.png
- everness_door_willow_item.png
@ -611,6 +684,14 @@ GNU Lesser General Public License v2.1 or later
- everness_dry_bamboo_block_side.png
- everness_dry_bamboo_block_top.png
- everness_dry_branches.png
- everness_dry_dirt.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_side.png
- everness_dry_grass_top.png
- everness_dry_tree_sapling.png
- everness_dry_tree_top.png
- everness_dry_tree.png
- everness_dry_wood.png
@ -624,14 +705,29 @@ GNU Lesser General Public License v2.1 or later
- everness_eye_vine_end_bottom.png
- everness_eye_vine_end_side.png
- everness_eye_vine_end_top.png
- everness_farming_soil_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_farming_soil_wet_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_farming_soil_wet_side_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_fence_bamboo_wood.png
- everness_fence_dry_wood.png
- everness_fence_rail_bamboo_wood.png
- everness_fence_rail_dry_wood.png
- everness_flame_permanent_blue_item.png
- everness_flame_permanent_blue.png
- everness_flame_permanent_item.png
- everness_flame_permanent_purple_item.png
- everness_flame_permanent_purple.png
- everness_flame_permanent.png
- everness_floating_crystal_animated.png
- everness_flowered_vine_1.png
- everness_flowered_vine_2.png
- everness_flowered_vine_end.png
- everness_flowers_magenta_side_x.png
- everness_flowers_magenta_side_z.png
- everness_flowers_magenta.png
- everness_flowers_side_x.png
- everness_flowers_side_z.png
- everness_flowers.png
- everness_forsaken_desert_brick_red.png
- everness_forsaken_desert_brick.png
- everness_forsaken_desert_chiseled_stone_bottom.png
@ -646,6 +742,8 @@ GNU Lesser General Public License v2.1 or later
- everness_forsaken_desert_plant_3.png
- everness_forsaken_desert_sand.png
- everness_forsaken_desert_stone.png
- everness_forsaken_desert_sun_tonemap.png
- everness_forsaken_desert_sun.png
- everness_forsaken_fire_item.png
- everness_forsaken_fire_mesh.png
- everness_forsaken_tundra_beach_sand_with_shells.png
@ -660,13 +758,19 @@ GNU Lesser General Public License v2.1 or later
- everness_forsaken_tundra_rocks_side.png
- everness_forsaken_tundra_rocks_top.png
- everness_forsaken_tundra_stone.png
- everness_forsaken_tundra_sun_tonemap.png
- everness_forsaken_tundra_sun.png
- everness_forsythia_item.png
- everness_forsythia_mesh.png
- everness_frosted_coral.png
- everness_frosted_ice_translucent.png
- everness_frosted_ice.png
- everness_frosted_icesheet_sun_tonemap.png
- everness_frosted_icesheet_sun.png
- everness_frosted_icicle.png
- everness_frosted_snow.png
- everness_glass_detail.png
- everness_glass.png
- everness_glowing_pillar_item.png
- everness_glowing_pillar_leaves.png
- everness_glowing_pillar_luminophor.png
@ -674,6 +778,15 @@ GNU Lesser General Public License v2.1 or later
- everness_golden_vine_1.png
- everness_golden_vine_2.png
- everness_golden_vine_end.png
- everness_grass_extras_1.png
- everness_grass_extras_2.png
- everness_grass_side.png
- everness_grass_top.png
- everness_gravel.png
- everness_hammer_item.png
- everness_hammer_mesh.png
- everness_hammer_sharp_item.png
- everness_hammer_sharp_mesh.png
- everness_hollow_tree_side.png
- everness_hollow_tree_top.png
- everness_icecobble.png
@ -683,25 +796,90 @@ GNU Lesser General Public License v2.1 or later
- everness_ivis_vine.png
- everness_lootchest_marker_side.png
- everness_lootchest_marker_top.png
- everness_lotus_flower_mesh_not_animated.png
- everness_lotus_flower_pink_item.png
- everness_lotus_flower_pink_mesh_animated.png
- everness_lotus_flower_pink_mesh.png
- everness_lotus_flower_purple_item.png
- everness_lotus_flower_purple_mesh_animated.png
- everness_lotus_flower_purple_mesh.png
- everness_lotus_flower_white_item.png
- everness_lotus_flower_white_mesh_animated.png
- everness_lotus_flower_white_mesh.png
- everness_lotus_leaf_2_item.png
- everness_lotus_leaf_2_y.png
- everness_lotus_leaf_3_item.png
- everness_lotus_leaf_3_y.png
- everness_lotus_leaf_item.png
- everness_lotus_leaf_y.png
- everness_lumabus_bulb_purple.png
- everness_lumabus_leaves.png
- everness_lumabus_vine_1.png
- everness_lumabus_vine_2.png
- everness_lumecorn_item.png
- everness_lumecorn_leaf.png
- everness_lumecorn_light.png
- everness_lumecorn_root.png
- everness_magmacobble_animated.png
- everness_magmacobble.png
- everness_marsh_grass.png
- everness_mcl_bucket_mineral_water.png
- everness_mcl_doors_door_bamboo_lower.png
- everness_mcl_doors_door_bamboo_side_upper.png
- everness_mcl_doors_door_bamboo_upper.png
- everness_mcl_doors_door_bone_pyrite_lower.png
- everness_mcl_doors_door_bone_pyrite_side_upper.png
- everness_mcl_doors_door_bone_pyrite_upper.png
- everness_mcl_doors_door_crystal_wood_lower.png
- everness_mcl_doors_door_crystal_wood_side_lower.png
- everness_mcl_doors_door_crystal_wood_side_upper.png
- everness_mcl_doors_door_crystal_wood_upper.png
- everness_mcl_doors_door_willow_lower.png
- everness_mcl_doors_door_willow_side_lower.png
- everness_mcl_doors_door_willow_side_upper.png
- everness_mcl_doors_door_willow_upper.png
- everness_mcl_doors_trapdoor_bamboo_side.png
- everness_mcl_doors_trapdoor_crystal_wood_side.png
- everness_mese_leaves.png
- everness_mese_tree_fruit_item.png
- everness_mese_tree_fruit_side.png
- everness_mese_tree_fruit_top.png
- everness_mese_tree_sapling.png
- everness_mese_tree_side_animated.png
- everness_mese_tree_top.png
- everness_mese_wood.png
- everness_mineral_cobblestone.png
- everness_mineral_pyrite.png
- everness_mineral_sand.png
- everness_mineral_sandstone_block.png
- everness_mineral_sandstone.png
- everness_mineral_stone_block.png
- everness_mineral_stone_brick_with_flower_growth.png
- everness_mineral_stone_brick_with_growth.png
- everness_mineral_stone_brick.png
- everness_mineral_stone.png
- everness_mineral_torch_animated.png
- everness_mineral_torch_item.png
- everness_mineral_torch_mesh.png
- everness_mineral_water_flowing_animated.png
- everness_mineral_water_source_animated.png
- everness_mineral_water_weed_1.png
- everness_mineral_water_weed_2.png
- everness_mineral_water_weed_3.png
- everness_mineral_water.png
- everness_mold_stone_with_moss_side.png
- everness_mold_stone_with_moss_top.png
- everness_mold_stone.png
- everness_moss_block.png
- everness_mtg_bucket_mineral_water.png
- everness_mud.png
- everness_ngrass_1.png
- everness_ngrass_2.png
- everness_palm_tree_leaves.png
- everness_palm_tree_sapling.png
- everness_palm_tree_side.png
- everness_palm_tree_top.png
- everness_palm_tree_wood.png
- everness_particle.png
- everness_pick_illuminating.png
- everness_pyrite_block_forged.png
@ -734,11 +912,15 @@ GNU Lesser General Public License v2.1 or later
- everness_reeds_vine_1.png
- everness_reeds_vine_2.png
- everness_reeds_vine_end.png
- everness_rose_bush_item.png
- everness_rose_bush_mesh.png
- everness_scull_with_candle_inventory.png
- everness_sequoia_tree_leaves.png
- everness_sequoia_tree_sapling.png
- everness_sequoia_tree_side.png
- everness_sequoia_tree_top.png
- everness_sequoia_wood.png
- everness_shovel_silk.png
- everness_smoke_cloud_particle_animated.png
- everness_snowcobble.png
- everness_soul_sandstone_veined_side.png
@ -746,12 +928,16 @@ GNU Lesser General Public License v2.1 or later
- everness_soul_sandstone.png
- everness_spine_kelp.png
- everness_starfish.png
- everness_stone.png
- everness_sulfur_stone.png
- everness_tenanea_flowers_vine_1.png
- everness_tenanea_flowers_vine_2.png
- everness_tenanea_flowers_vine_end.png
- everness_termite_block.png
- everness_tinted_glass_base.png
- everness_tinted_glass_detail.png
- everness_trapdoor_cursed_steel_bar_side.png
- everness_trapdoor_cursed_steel_bar.png
- everness_twisted_crystal_grass.png
- everness_twisted_vine_1.png
- everness_twisted_vine_2.png
@ -771,142 +957,30 @@ GNU Lesser General Public License v2.1 or later
- everness_whispering_gourd_vine_end.png
- everness_willow_leaves.png
- everness_willow_sapling.png
- everness_willow_tree_sapling.png
- everness_willow_tree_side.png
- everness_willow_tree_top.png
- everness_willow_vine_end.png
- everness_willow_vine.png
- everness_willow_wood.png -- Derived from texture by BlockMen (CC BY-SA 3.0)
- everness_xpanes_edge_pyrite.png
- everness_coral_tree_bioluminescent_sapling.png
- everness_crystal_tree_large_sapling.png
- everness_crystal_tree_sapling.png
- everness_cursed_dream_tree_sapling.png
- everness_dry_tree_sapling.png
- everness_sequoia_tree_sapling.png
- everness_willow_tree_sapling.png
- everness_amaranita_lantern_item.png
- everness_lumecorn_item.png
- everness_shovel_silk.png
- everness_coral_white_sandstone.png
- everness_coral_white_sandstone_pillar.png
- everness_coral_white_sandstone_brick.png
- everness_coral_sandstone.png
- everness_coral_sandstone_chiseled.png
- everness_coral_sandstone_carved_1.png
- everness_coral_sandstone_brick.png
- everness_coral_desert_stone_block.png
- everness_coral_desert_stone_brick.png
- everness_farming_soil_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_farming_soil_wet_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_farming_soil_wet_side_overlay.png -- Derived from texture by PilzAdam (CC BY 3.0)
- everness_crystal_forest_moon.png
- everness_crystal_forest_moon_tonemap.png
- everness_crystal_sandstone_brick.png
- everness_crystal_sandstone.png
- everness_crystal_sandstone_chiseled.png
- everness_cursed_brick_mixed.png
- everness_cursed_brick_carved.png
- everness_cursed_brick_with_growth.png
- everness_cursed_brick.png
- everness_cursed_sandstone_block.png
- everness_cursed_sandstone_brick.png
- everness_forsaken_desert_sun.png
- everness_forsaken_desert_sun_tonemap.png
- everness_coral_forest_sun_tonemap.png
- everness_coral_forest_sun.png
- everness_forsaken_tundra_sun.png
- everness_forsaken_tundra_sun_tonemap.png
- everness_bamboo_forest_sun_tonemap.png
- everness_bamboo_forest_sun.png
- everness_bamboo_forest_sunrisebg.png
- everness_baobab_savanna_sun.png
- everness_crystal_forest_sun_tonemap.png
- 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
- everness_mcl_doors_door_bamboo_lower.png
- everness_mcl_doors_door_bamboo_side_upper.png
- everness_mcl_doors_door_bamboo_upper.png
- everness_mcl_doors_door_bone_pyrite_lower.png
- everness_mcl_doors_door_bone_pyrite_side_upper.png
- everness_mcl_doors_door_bone_pyrite_upper.png
- everness_mcl_doors_door_crystal_wood_lower.png
- everness_mcl_doors_door_crystal_wood_side_lower.png
- everness_mcl_doors_door_crystal_wood_side_upper.png
- everness_mcl_doors_door_crystal_wood_upper.png
- everness_mcl_doors_door_willow_lower.png
- everness_mcl_doors_door_willow_side_lower.png
- everness_mcl_doors_door_willow_side_upper.png
- everness_mcl_doors_door_willow_upper.png
- everness_mcl_doors_trapdoor_bamboo_side.png
- everness_mcl_doors_trapdoor_crystal_wood_side.png
- everness_coral_forest_deep_ocean_lantern_animated.png
- everness_coral_forest_deep_ocean_lantern_bottom.png
- everness_coral_forest_deep_ocean_lantern_top.png
- everness_coral_bones_block.png
- everness_coral_bones_brick.png
- 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
- everness_crystal_stone_brick.png
- everness_crystal_stone.png
- everness_crystal_cobble.png
- everness_cursed_stone_carved.png
- everness_crystal_block_cyan_top.png
- everness_crystal_block_cyan.png
- everness_mese_leaves.png
- everness_mese_tree_fruit_item.png
- everness_mese_tree_fruit_side.png
- everness_mese_tree_fruit_top.png
- everness_mese_tree_sapling.png
- everness_mese_tree_top.png
- everness_mese_wood.png
- everness_hammer_mesh.png
- everness_hammer_sharp_mesh.png
- everness_hammer_sharp_item.png
- everness_hammer_item.png
- everness_cobweb.png
- everness_flowers_magenta.png
- everness_flowers_magenta_side_z.png
- everness_flowers_magenta_side_x.png
- everness_cursed_bar.png
- everness_cursed_bar_top.png
- everness_door_cursed_steel_bar.png
- everness_door_cursed_steel_bar_item.png
- everness_flame_permanent.png
- everness_flame_permanent_blue.png
- everness_flame_permanent_blue_item.png
- everness_flame_permanent_item.png
- everness_flame_permanent_purple.png
- everness_flame_permanent_purple_item.png
- everness_gravel.png
- everness_trapdoor_cursed_steel_bar.png
- everness_trapdoor_cursed_steel_bar_side.png
- everness_crystal_mossy_cobble.png
- everness_water_geyser_particle.png
- everness_water_geyser_item.png
- everness_mineral_sandstone_brick.png
- everness_mineral_sandstone_brick_block.png
- everness_mineral_sandstone_brick_block_top.png
- everness_fence_palm_wood.png
- everness_fence_rail_palm_wood.png
- everness_door_palm_wood.png
- everness_door_trapdoor_palm_wood.png
- everness_door_trapdoor_palm_wood_side.png
- everness_door_palm_wood_item.png
- everness_ceramic_pot_lines_sherd.png
- everness_ceramic_pot_blank_sherd.png
- everness_ceramic_pot_tribal_sherd.png
- everness_ceramic_pot_flowers_sherd.png
- everness_ceramic_sherds_ore.png
- everness_pick_archeological.png
**CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated
@ -1377,6 +1451,47 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
- everness_extinguish_flame.1.ogg
**CC-BY-4.0, by nuFF3**, https://freesound.org
- everness_ceramic_footstep.1.ogg
- everness_ceramic_footstep.2.ogg
- everness_ceramic_footstep.3.ogg
- everness_ceramic_footstep.4.ogg
- everness_ceramic_footstep.5.ogg
- everness_ceramic_footstep.6.ogg
**CC-BY-4.0, by Anikadl**, https://freesound.org
- everness_ceramic_hit.1.ogg
- everness_ceramic_hit.2.ogg
- everness_ceramic_hit.3.ogg
- everness_ceramic_hit.4.ogg
- everness_ceramic_hit.5.ogg
- everness_ceramic_hit.6.ogg
**CC0-1.0, by kyles**, https://freesound.org, mixed with default_place_node_hard.1.ogg by Mito551 (CC-BY-SA 3.0)
- everness_ceramic_place.1.ogg
- everness_ceramic_place.2.ogg
- everness_ceramic_place.3.ogg
**CC0-1.0, by Kinoton**, https://freesound.org, mixed with default_hard_footstep.1.ogg by Erdie (CC-BY-SA 3.0)
- everness_ceramic_dug.1.ogg
- everness_ceramic_dug.2.ogg
- everness_ceramic_dug.3.ogg
**CC0-1.0, by Nox_Sound**, https://freesound.org/people/Nox_Sound/sounds/576593/
- everness_water_footstep.1.ogg
- everness_water_footstep.2.ogg
- everness_water_footstep.3.ogg
- everness_water_footstep.4.ogg
**CC0-1.0, by adr1911**, https://freesound.org/people/adr1911/sounds/542585/
- everness_water_geyser.1.ogg
### Models
**CC-BY-SA-4.0, by SaKeL**
@ -1384,14 +1499,21 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
- everness_barrel_cactus.obj
- everness_cave_flower_with_particles.obj
- everness_cave_flower.obj
- everness_ceramic_pot.obj
- everness_chest_open.obj
- everness_forsaken_fire.obj
- everness_forsythia_mesh.obj
- everness_glowing_pillar.obj
- everness_hammer_pick.obj
- everness_lotus_flower.obj
- everness_lumabus.obj
- everness_lumecorn.obj
- everness_mineral_torch_ceiling.obj
- everness_mineral_torch_wall.obj
- everness_mineral_torch.obj
- everness_skull_with_candle.obj
- everness_venus_trap.obj
- everness_hammer_pick.obj
- everness_water_geyser.obj
**CC-BY-SA-3.0, by sofar**
@ -1404,14 +1526,20 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
- everness_barrel_cactus.blend
- everness_cave_flower_with_particles.blend
- everness_cave_flower.blend
- everness_ceramic_pot.blend
- everness_forsaken_fire.blend
- everness_glowing_pillar.blend
- everness_hammer_pick.blend
- everness_lotus_flower.blend
- everness_lumabus.blend
- everness_lumecorn.blend
- everness_mesh_bush.blend
- everness_mineral_torch_ceiling.blend
- everness_mineral_torch_wall.blend
- everness_mineral_torch.blend
- everness_skull_with_candle.blend
- everness_venus_trap.blend
- everness_hammer_pick.blend
- everness_water_geyser.blend
### Schematics
@ -1449,8 +1577,8 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
- everness_coral_tree_from_sapling.mts
- everness_coral_tree.lua
- everness_coral_tree.mts
- everness_coral_volcano_x_clay.lua
- everness_coral_volcano_x_clay.mts
- everness_coral_volcano_everness.lua
- everness_coral_volcano_everness.mts
- everness_coral_volcano.lua
- everness_coral_volcano.mts
- everness_crystal_bush.lua
@ -1546,3 +1674,9 @@ https://freesound.org/people/Rudmer_Rotteveel/sounds/590950/
- everness_willow_tree.mts
- everness_mese_tree.lua
- everness_mese_tree.mts
- everness_palm_tree.lua
- everness_palm_tree.mts
- everness_palm_tree_from_sapling.lua
- everness_palm_tree_from_sapling.mts
- everness_mineral_waters_tower.lua
- everness_mineral_waters_tower.mts

94
api.lua
View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())
@ -212,6 +210,16 @@ Everness = {
y_max = tonumber(minetest.settings:get('everness_forsaken_tundra_under_y_max')) or -256,
y_min = tonumber(minetest.settings:get('everness_forsaken_tundra_under_y_min')) or -31000,
},
everness_mineral_waters = {
enabled = minetest.settings:get_bool('everness_mineral_waters', true),
y_max = tonumber(minetest.settings:get('everness_mineral_waters_y_max')) or 31000,
y_min = tonumber(minetest.settings:get('everness_mineral_waters_y_min')) or 1,
},
everness_mineral_waters_under = {
enabled = minetest.settings:get_bool('everness_mineral_waters_under', true),
y_max = tonumber(minetest.settings:get('everness_mineral_waters_under_y_max')) or -256,
y_min = tonumber(minetest.settings:get('everness_mineral_waters_under_y_min')) or -31000,
},
},
features = {
everness_feature_sneak_pickup = minetest.settings:get_bool('everness_feature_sneak_pickup', true),
@ -360,6 +368,14 @@ 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 = 'everness_stone_hit', gain = 1.0 }
table.place = table.place or { name = 'everness_stone_dug', gain = 0.6 }
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 }
@ -504,6 +520,22 @@ function Everness.node_sound_gravel_defaults(table)
return table
end
function Everness.node_sound_ceramic_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_ceramic_footstep', gain = 0.2 }
table.dig = table.dig or { name = 'everness_ceramic_hit', gain = 1.0 }
table.dug = table.dug or { name = 'everness_ceramic_dug', gain = 1.0 }
table.place = table.place or { name = 'everness_ceramic_place', gain = 1.0 }
return table
end
function Everness.node_sound_water_defaults(table)
table = table or {}
table.footstep = table.footstep or { name = 'everness_water_footstep', gain = 0.05 }
Everness.node_sound_defaults(table)
return table
end
--
-- Forsted Cave Icicles
--
@ -669,6 +701,7 @@ function Everness.sapling_on_place(self, itemstack, placer, pointed_thing, props
local nn = node_below.name
return minetest.get_item_group(nn, 'grass_block') == 1
or (nn == 'everness:mineral_sand' and itemstack:get_name() == 'everness:palm_tree_sapling')
or nn == 'mcl_core:podzol'
or nn == 'mcl_core:podzol_snow'
or nn == 'mcl_core:dirt'
@ -922,14 +955,30 @@ end
-- 'can grow' function - copy from MTG
function Everness.can_grow(pos)
function Everness.can_grow(pos, groups_under)
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
local _groups_under = groups_under
if not groups_under then
_groups_under = { 'soil' }
end
local has_fertile_under = false
-- Check is one of the `groups_under` are under the sapling
for i, v in ipairs(_groups_under) do
if minetest.get_item_group(node_under.name, v) > 0 then
has_fertile_under = true
break
end
end
if not has_fertile_under then
return false
end
@ -1398,3 +1447,40 @@ function Everness.cool_lava(pos, node, dtime_s, prev_cool_lava_action)
prev_cool_lava_action(pos, node, dtime_s)
end
end
function Everness.get_pot_formspec(pos, label, model_texture)
local spos = pos.x .. ',' .. pos.y .. ',' .. pos.z
local hotbar_bg = ''
local list_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
local model = 'model[0,0.5;2.5,2.5;everness_ceramic_pot;everness_ceramic_pot.obj;' .. model_texture .. ';0,0;true;false;]'
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.5,3;1,1;]',
'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,
'image[0.5,3;1,1;everness_chest_ui_bg_hb_slot.png]',
'label[2.5,0.5;' .. minetest.formspec_escape(label) .. ']',
model
}
formspec = table.concat(formspec, '')
return formspec
end

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,6 @@
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
--]]
-- how often node timers for plants will tick, +/- some random value

222
buckets.lua Normal file
View File

@ -0,0 +1,222 @@
--[[
Authors of original source code
----------------------
Kahrl <kahrl@gmx.net> (LGPLv2.1+)
celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
Various Minetest developers and contributors (LGPLv2.1+)
Everness. Never ending discovery in Everness mapgen.
Modified by:
Copyright (C) 2024 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.
--]]
-- Load support for MT game translation.
local S = minetest.get_translator(minetest.get_current_modname())
minetest.register_craft({
output = 'everness:bucket_empty 1',
recipe = {
{ 'everness:pyrite_ingot', '', 'everness:pyrite_ingot' },
{ '', 'everness:pyrite_ingot', '' },
}
})
local bucket = {
liquids = {}
}
local function check_protection(pos, name, text)
if minetest.is_protected(pos, name) then
minetest.log('action', (name ~= '' and name or 'A mod')
.. ' tried to ' .. text
.. ' at protected position '
.. minetest.pos_to_string(pos)
.. ' with a bucket')
minetest.record_protection_violation(pos, name)
return true
end
return false
end
-- Register a new liquid
-- source = name of the source node
-- flowing = name of the flowing node
-- itemname = name of the new bucket item (or nil if liquid is not takeable)
-- inventory_image = texture of the new bucket item (ignored if itemname == nil)
-- name = text description of the bucket item
-- groups = (optional) groups of the bucket item, for example {water_bucket = 1}
-- force_renew = (optional) bool. Force the liquid source to renew if it has a
-- source neighbour, even if defined as 'liquid_renewable = false'.
-- Needed to avoid creating holes in sloping rivers.
-- This function can be called from any mod (that depends on bucket).
function bucket.register_liquid(source, flowing, itemname, inventory_image, name,
groups, force_renew)
bucket.liquids[source] = {
source = source,
flowing = flowing,
itemname = itemname,
force_renew = force_renew,
}
bucket.liquids[flowing] = bucket.liquids[source]
if itemname ~= nil then
minetest.register_craftitem(itemname, {
description = name,
inventory_image = inventory_image,
stack_max = 1,
liquids_pointable = true,
groups = groups,
wield_scale = { x = 2, y = 2, z = 1 },
on_place = function(itemstack, user, pointed_thing)
-- Must be pointing to node
if pointed_thing.type ~= 'node' then
return
end
local node = minetest.get_node_or_nil(pointed_thing.under)
local ndef = node and minetest.registered_nodes[node.name]
-- Call on_rightclick if the pointed node defines it
if ndef and ndef.on_rightclick and
not (user and user:is_player() and
user:get_player_control().sneak) then
return ndef.on_rightclick(
pointed_thing.under,
node, user,
itemstack)
end
local lpos
-- Check if pointing to a buildable node
if ndef and ndef.buildable_to then
-- buildable; replace the node
lpos = pointed_thing.under
else
-- not buildable to; place the liquid above
-- check if the node above can be replaced
lpos = pointed_thing.above
node = minetest.get_node_or_nil(lpos)
local above_ndef = node and minetest.registered_nodes[node.name]
if not above_ndef or not above_ndef.buildable_to then
-- do not remove the bucket with the liquid
return itemstack
end
end
if check_protection(lpos, user
and user:get_player_name()
or '', 'place '..source) then
return
end
minetest.set_node(lpos, {name = source})
return ItemStack('everness:bucket_empty')
end
})
end
end
minetest.register_craftitem('everness:bucket_empty', {
description = S('Empty Bucket'),
inventory_image = 'everness_bucket_empty.png',
groups = { tool = 1 },
liquids_pointable = true,
wield_scale = { x = 2, y = 2, z = 1 },
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == 'object' then
pointed_thing.ref:punch(user, 1.0, { full_punch_interval=1.0 }, nil)
return user:get_wielded_item()
elseif pointed_thing.type ~= 'node' then
-- do nothing if it's neither object nor node
return
end
-- Check if pointing to a liquid source
local node = minetest.get_node(pointed_thing.under)
local liquiddef = bucket.liquids[node.name]
local item_count = user:get_wielded_item():get_count()
if liquiddef ~= nil
and liquiddef.itemname ~= nil
and node.name == liquiddef.source
then
if check_protection(pointed_thing.under,
user:get_player_name(),
'take '.. node.name) then
return
end
-- default set to return filled bucket
local giving_back = liquiddef.itemname
-- check if holding more than 1 empty bucket
if item_count > 1 then
-- if space in inventory add filled bucked, otherwise drop as item
local inv = user:get_inventory()
if inv:room_for_item('main', { name = liquiddef.itemname }) then
inv:add_item('main', liquiddef.itemname)
else
local pos = user:get_pos()
pos.y = math.floor(pos.y + 0.5)
minetest.add_item(pos, liquiddef.itemname)
end
-- set to return empty buckets minus 1
giving_back = 'everness:bucket_empty '.. tostring(item_count - 1)
end
-- force_renew requires a source neighbour
local source_neighbor = false
if liquiddef.force_renew then
source_neighbor = minetest.find_node_near(pointed_thing.under, 1, liquiddef.source)
end
if not (source_neighbor and liquiddef.force_renew) then
minetest.add_node(pointed_thing.under, { name = 'air' })
end
return ItemStack(giving_back)
else
-- non-liquid nodes will have their on_punch triggered
local node_def = minetest.registered_nodes[node.name]
if node_def then
node_def.on_punch(pointed_thing.under, node, user, pointed_thing)
end
return user:get_wielded_item()
end
end,
})
-- Mineral water source is 'liquid_renewable = false' to avoid horizontal spread
-- of water sources in sloping rivers that can cause water to overflow
-- riverbanks and cause floods.
-- River water source is instead made renewable by the 'force renew' option
-- used here.
bucket.register_liquid(
'everness:mineral_water_source',
'everness:mineral_water_flowing',
'everness:bucket_mineral_water',
'everness_bucket_mineral_water.png',
S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
{ tool = 1, water_bucket = 1 }
)

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -115,6 +113,15 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'everness:trapdoor_palm_wood 2',
recipe = {
{ 'everness:palm_tree_wood', 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
{ 'everness:palm_tree_wood', 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
{ '', '', '' },
}
})
minetest.register_craft({
output = 'everness:bamboo_mosaic_wood',
recipe = {
@ -625,6 +632,112 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'default:paper',
recipe = {
{ 'everness:lotus_leaf_3', 'everness:lotus_leaf_3', 'everness:lotus_leaf_3' },
}
})
minetest.register_craft({
output = 'everness:mineral_stone_block 9',
recipe = {
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
{ 'everness:mineral_stone', 'everness:mineral_stone', 'everness:mineral_stone' },
}
})
minetest.register_craft({
output = 'everness:mineral_stone_brick 4',
recipe = {
{ 'everness:mineral_stone', 'everness:mineral_stone' },
{ 'everness:mineral_stone', 'everness:mineral_stone' },
}
})
minetest.register_craft({
output = 'everness:mineral_sandstone',
recipe = {
{ 'everness:mineral_sand', 'everness:mineral_sand' },
{ 'everness:mineral_sand', 'everness:mineral_sand' },
}
})
minetest.register_craft({
output = 'everness:mineral_sand 4',
recipe = {
{ 'everness:mineral_sandstone' },
}
})
minetest.register_craft({
output = 'everness:mineral_sandstone_brick 4',
recipe = {
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
}
})
minetest.register_craft({
output = 'everness:mineral_sandstone_block 9',
recipe = {
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
}
})
minetest.register_craft({
output = 'everness:mineral_sandstone_brick_block 6',
recipe = {
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone' },
{ 'everness:mineral_sandstone_brick', 'everness:mineral_sandstone_brick', 'everness:mineral_sandstone_brick' },
}
})
minetest.register_craft({
output = 'everness:mineral_stone_brick_with_growth 3',
recipe = {
{ 'group:flora', 'group:flora', 'group:flora'},
{ 'everness:mineral_stone_brick', 'everness:mineral_stone_brick', 'everness:mineral_stone_brick'},
{ 'group:flora', 'group:flora', 'group:flora'},
}
})
minetest.register_craft({
output = 'everness:mineral_stone_brick_with_flower_growth 6',
recipe = {
{ 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth'},
{ 'group:flower', 'group:flower', 'group:flower'},
{ 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth', 'everness:mineral_stone_brick_with_growth'}
}
})
minetest.register_craft({
output = 'everness:sand_castle_wall 6',
recipe = {
{ '', '', '' },
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone'},
{ 'everness:mineral_sandstone', 'everness:mineral_sandstone', 'everness:mineral_sandstone'},
}
})
minetest.register_craft({
output = 'everness:ceramic_pot_blank',
recipe = {
{ '', 'everness:ceramic_pot_sherd_blank', ''},
{ 'everness:ceramic_pot_sherd_blank', '', 'everness:ceramic_pot_sherd_blank'},
{ '', 'everness:ceramic_pot_sherd_blank', ''},
}
})
minetest.register_craft({
output = 'everness:ceramic_pot_sherd_blank 4',
type = 'shapeless',
recipe = { 'everness:ceramic_pot_blank' }
})
-- Crystals
minetest.register_craft({
@ -721,6 +834,15 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'everness:pick_archeological',
recipe = {
{ 'group:stone', 'group:stone', 'group:stone' },
{ '', 'group:stick', '' },
{ 'group:stick', '', '' }
}
})
--
-- Fuels
--
@ -815,6 +937,12 @@ minetest.register_craft({
burntime = 370,
})
minetest.register_craft({
type = 'fuel',
recipe = 'everness:lotus_leaf_3',
burntime = 1,
})
--
-- Cooking recipes
--
@ -885,6 +1013,24 @@ minetest.register_craft({
recipe = 'everness:crystal_mossy_cobble',
})
minetest.register_craft({
type = 'cooking',
output = 'everness:mineral_stone',
recipe = 'everness:mineral_stone_cobble',
})
minetest.register_craft({
type = 'cooking',
output = 'everness:lotus_leaf_3',
recipe = 'everness:lotus_leaf',
})
minetest.register_craft({
type = 'cooking',
output = 'everness:lotus_leaf_3',
recipe = 'everness:lotus_leaf_2',
})
--
-- Saplings
--

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())
@ -49,6 +47,13 @@ minetest.register_craftitem('everness:pyrite_lump', {
inventory_image = 'everness_pyrite_lump.png'
})
minetest.register_craftitem('everness:coconut_fruit', {
description = S('Coconut'),
inventory_image = 'everness_coconut_item.png',
wield_scale = { x = 2, y = 2, z = 1 },
on_use = minetest.item_eat(4),
})
--
-- Crafting recipes
--

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())
@ -157,3 +155,36 @@ doors.register_trapdoor('everness:trapdoor_cursed_wood', {
gain_close = 0.15,
groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 },
})
-- Palm Wood
doors.register('everness:door_palm_wood', {
description = S('Palm Wood Door'),
tiles = { 'everness_door_palm_wood.png' },
inventory_image = 'everness_door_palm_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:palm_tree_wood', 'everness:palm_tree_wood' },
{ 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
{ 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
}
})
doors.register_trapdoor('everness:trapdoor_palm_wood', {
description = S('Palm Wood Trapdoor'),
inventory_image = 'everness_door_trapdoor_palm_wood.png',
wield_image = 'everness_door_trapdoor_palm_wood.png',
tile_front = 'everness_door_trapdoor_palm_wood.png',
tile_side = 'everness_door_trapdoor_palm_wood_side.png',
sounds = Everness.node_sound_wood_defaults(),
groups = { node = 1, cracky = 3, oddly_breakable_by_hand = 3, door = 1 },
})
doors.register_fencegate('everness:gate_palm_wood', {
description = S('Palm Wood Fence Gate'),
texture = 'everness_palm_tree_wood.png^[sheet:2x2:1,1',
material = 'everness:palm_tree_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 }
})

View File

@ -12,8 +12,6 @@
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
--]]
local SOUND_DEFS = {

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())
@ -113,3 +111,35 @@ default.register_mesepost('everness:mese_post_light_bamboo_wood', {
texture = 'everness_fence_crystal_wood.png^[transformFY',
material = 'everness:crystal_wood',
})
-- Palm Wood
default.register_fence('everness:fence_palm_wood', {
description = S('Palm Wood Fence'),
texture = 'everness_fence_palm_wood.png',
inventory_image = 'default_fence_overlay.png^everness_palm_tree_wood.png^' ..
'default_fence_overlay.png^[makealpha:255,126,126',
wield_image = 'default_fence_overlay.png^everness_palm_tree_wood.png^' ..
'default_fence_overlay.png^[makealpha:255,126,126',
material = 'everness:palm_tree_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = Everness.node_sound_wood_defaults()
})
default.register_fence_rail('everness:fence_rail_palm_wood', {
description = S('Palm Wood Fence Rail'),
texture = 'everness_fence_rail_palm_wood.png^[transformR90',
inventory_image = 'default_fence_rail_overlay.png^everness_palm_tree_wood.png^' ..
'default_fence_rail_overlay.png^[makealpha:255,126,126',
wield_image = 'default_fence_rail_overlay.png^everness_palm_tree_wood.png^' ..
'default_fence_rail_overlay.png^[makealpha:255,126,126',
material = 'everness:palm_tree_wood',
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
sounds = Everness.node_sound_wood_defaults()
})
default.register_mesepost('everness:mese_post_light_bamboo_wood', {
description = S('Palm Wood Mese Post Light'),
texture = 'everness_fence_palm_wood.png^[transformFY',
material = 'everness:palm_tree_wood',
})

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -238,6 +236,7 @@ Everness:register_leafdecay({
'everness:willow_tree',
'everness:sequoia_tree',
'everness:mese_tree',
'everness:palm_tree'
},
leaves = {
'everness:coral_leaves',
@ -245,7 +244,9 @@ Everness:register_leafdecay({
'everness:willow_leaves',
'everness:sequoia_leaves',
'everness:mese_leaves',
'everness:mese_tree_fruit'
'everness:mese_tree_fruit',
'everness:palm_leaves',
'everness:coconut'
},
radius = 3
})
@ -272,10 +273,12 @@ Everness:register_leafdecay({
local moss_correspondences = {
['everness:coral_desert_cobble'] = 'everness:coral_desert_mossy_cobble',
['everness:crystal_cobble'] = 'everness:crystal_mossy_cobble',
}
local moss_nodenames_correspondences = {
'everness:coral_desert_cobble',
'everness:crystal_cobble',
}
if minetest.get_modpath('default') then
@ -713,7 +716,7 @@ minetest.register_abm({
--
minetest.register_abm({
label = 'everness:rising_souls',
label = 'everness:rising_crystals',
nodenames = { 'group:rising_crystals' },
neighbors = { 'group:water' },
interval = 16,
@ -795,6 +798,326 @@ minetest.register_abm({
end
})
-- Mineral Waters Water Geyser
minetest.register_abm({
label = 'everness:water_geyser',
nodenames = { 'everness:water_geyser' },
interval = 16,
chance = 16,
catch_up = false,
action = function(pos, node)
minetest.swap_node(pos, { name = 'everness:water_geyser_active' })
local meta = minetest.get_meta(pos)
local partcile_time = math.random(5, 15)
-- player
for _, object in ipairs(minetest.get_objects_in_area(vector.new(pos.x - 0.5, pos.y - 0.5, pos.z - 0.5), vector.new(pos.x + 0.5, pos.y + 1, pos.z + 0.5))) do
if object:is_player()
and object:get_hp() > 0
then
object:add_velocity(vector.new(0, math.random(27, 32), 0))
end
end
-- particles
local particlespawner_def = {
amount = 80,
time = partcile_time,
minpos = vector.new(pos.x, pos.y + 1.5, pos.z),
maxpos = vector.new(pos.x, pos.y + 2, pos.z),
minvel = vector.new(0, 13, 0),
maxvel = vector.new(0, 15, 0),
minacc = vector.new(0, -1, 1),
maxacc = vector.new(0, -3, 2),
minexptime = 3,
maxexptime = 5,
minsize = 5,
maxsize = 7,
texture = 'everness_water_geyser_particle.png',
vertical = true,
collisiondetection = true,
collision_removal = true
}
if minetest.has_feature({ dynamic_add_media_table = true, particlespawner_tweenable = true }) then
-- new syntax, above v5.6.0
particlespawner_def = {
amount = 80,
time = partcile_time,
size = {
min = 5,
max = 7,
},
exptime = {
min = 3,
max = 5
},
pos = {
min = vector.new(pos.x, pos.y + 1.5, pos.z),
max = vector.new(pos.x, pos.y + 2, pos.z)
},
vel = {
min = vector.new(0, 13, 0),
max = vector.new(0, 15, 0)
},
acc = {
min = vector.new(0, -1, 1),
max = vector.new(0, -3, 2)
},
texture = {
name = 'everness_water_geyser_particle.png',
scale_tween = {
5, 10,
style = 'fwd',
reps = 1
},
alpha_tween = {
1, 0,
style = 'fwd',
reps = 1
},
blend = 'alpha',
},
vertical = true,
collisiondetection = true,
collision_removal = true
}
end
local particle_id = minetest.add_particlespawner(particlespawner_def)
meta:set_int('particle_id', particle_id)
minetest.sound_play({
name = 'everness_water_geyser',
gain = 1.5,
pitch = math.random(10, 30) / 10
}, {
pos = pos
})
minetest.get_node_timer(pos):start(partcile_time)
end
})
-- Generate bamboo tops after mineral waters biome generates decorations
minetest.register_lbm({
-- Descriptive label for profiling purposes (optional).
-- Definitions with identical labels will be listed as one.
label = 'everness_mineral_waters_bamboo_large',
-- Identifier of the LBM, should follow the modname:<whatever> convention
name = 'everness:mineral_waters_bamboo_large',
-- List of node names to trigger the LBM on.
-- Names of non-registered nodes and groups (as group:groupname)
-- will work as well.
nodenames = { 'everness:bamboo_3' },
-- Whether to run the LBM's action every time a block gets activated,
-- and not only the first time the block gets activated after the LBM
-- was introduced.
run_at_every_load = true,
-- Function triggered for each qualifying node.
-- `dtime_s` is the in-game time (in seconds) elapsed since the block
-- was last active
action = function(pos, node, dtime_s)
if minetest.get_node(vector.new(pos.x, pos.y + 1, pos.z)).name ~= 'air' then
return
end
local node_below = minetest.get_node(vector.new(pos.x, pos.y - 1, pos.z))
-- Get bamboo height
local while_counter = 1
local bamboo_height = 0
local bamboo_below = node_below
while bamboo_below.name == 'everness:bamboo_3' do
bamboo_below = minetest.get_node(vector.new(pos.x, pos.y - while_counter, pos.z))
bamboo_height = bamboo_height + 1
while_counter = while_counter + 1
end
-- Add top bamboo nodes with leaves based on their generated height
if bamboo_height > 4 then
for i = 1, 3 do
local pos_i = vector.new(pos.x, pos.y + i, pos.z)
if minetest.get_node(pos_i).name == 'air' then
if i == 1 then
minetest.set_node(pos_i, {
name = 'everness:bamboo_4',
param2 = node_below.param2
})
else
minetest.set_node(pos_i, {
name = 'everness:bamboo_5',
param2 = node_below.param2
})
end
end
end
else
for i = 1, 2 do
local pos_i = vector.new(pos.x, pos.y + i, pos.z)
if minetest.get_node(pos_i).name == 'air' then
if i == 1 then
minetest.set_node(pos_i, {
name = 'everness:bamboo_4',
param2 = node_below.param2
})
else
minetest.set_node(pos_i, {
name = 'everness:bamboo_5',
param2 = node_below.param2
})
end
end
end
end
end
})
-- Activate timers on lotus flowers
minetest.register_lbm({
-- Descriptive label for profiling purposes (optional).
-- Definitions with identical labels will be listed as one.
label = 'everness_lotus_flower_timers',
-- Identifier of the LBM, should follow the modname:<whatever> convention
name = 'everness:everness_lotus_flower_timers',
-- List of node names to trigger the LBM on.
-- Names of non-registered nodes and groups (as group:groupname)
-- will work as well.
nodenames = {
'everness:lotus_flower_white',
'everness:lotus_flower_purple',
'everness:lotus_flower_pink'
},
-- Whether to run the LBM's action every time a block gets activated,
-- and not only the first time the block gets activated after the LBM
-- was introduced.
run_at_every_load = true,
-- Function triggered for each qualifying node.
-- `dtime_s` is the in-game time (in seconds) elapsed since the block
-- was last active
action = function(pos, node, dtime_s)
local timer = minetest.get_node_timer(pos)
if not timer:is_started() then
minetest.get_node_timer(pos):start(1)
end
end
})
-- Spread lotus flowers and leafs around them
minetest.register_abm({
label = 'Lotus Flowers and Leafs spread',
nodenames = {
'everness:lotus_flower_white',
'everness:lotus_flower_purple',
'everness:lotus_flower_pink',
'everness:lotus_leaf',
'everness:lotus_leaf_2',
'everness:lotus_leaf_3'
},
neighbors = {
'everness:lotus_flower_white',
'everness:lotus_flower_purple',
'everness:lotus_flower_pink',
'everness:lotus_leaf',
'everness:lotus_leaf_2',
'everness:lotus_leaf_3'
},
max_y = Everness.settings.biomes.everness_mineral_waters.y_max,
min_y = Everness.settings.biomes.everness_mineral_waters.y_min,
interval = 13,
chance = 300,
action = function(pos, node)
local under = minetest.get_node(vector.new(pos.x, pos.y - 1, pos.z))
local def = minetest.registered_nodes[under.name] or {}
if def.liquidtype ~= 'source' and minetest.get_item_group(under.name, 'water') == 0 then
return
end
local light = minetest.get_node_light(pos)
if not light or light < 13 then
return
end
local pos0 = vector.subtract(pos, 4)
local pos1 = vector.add(pos, 4)
local flower_node_names = {
'everness:lotus_flower_white',
'everness:lotus_flower_purple',
'everness:lotus_flower_pink'
}
local leaf_node_names = {
'everness:lotus_leaf',
'everness:lotus_leaf_2',
'everness:lotus_leaf_3'
}
local node_name = flower_node_names[math.random(1, #flower_node_names)]
local found_flower_positions = minetest.find_nodes_in_area(pos0, pos1, flower_node_names)
-- Testing shows that a threshold of 1 result in an appropriate maximum
-- density of approximately 7 flowers per 9x9 area.
if #found_flower_positions > 1 then
-- Spread leafs
local rand_flower_pos = found_flower_positions[math.random(1, #found_flower_positions)]
pos0 = vector.subtract(rand_flower_pos, 4)
pos1 = vector.add(rand_flower_pos, 4)
local found_leaf_positions = minetest.find_nodes_in_area(pos0, pos1, leaf_node_names)
if #found_leaf_positions > 25 then
return
end
node_name = leaf_node_names[math.random(1, #leaf_node_names)]
end
local water_positions = minetest.find_nodes_in_area_under_air(pos0, pos1, 'group:water')
table.shuffle(water_positions)
-- Sort with the closest first
table.sort(water_positions, function(a, b)
return vector.distance(a, pos) < vector.distance(b, pos)
end)
local water_pos
-- find water source since we are looking only for `group:water`
for _, p in ipairs(water_positions) do
local n = minetest.get_node(p)
local d = minetest.registered_nodes[n.name] or {}
if d.liquidtype == 'source' then
water_pos = p
break
end
end
if not water_pos then
return
end
local water_above = vector.new(water_pos.x, water_pos.y + 1, water_pos.z)
light = minetest.get_node_light(water_above)
if light and light >= 13 then
minetest.set_node(water_above, { name = node_name })
end
end
})
-- Override lava cooling to include some variations of obsidian
minetest.register_on_mods_loaded(function()
for _, abm in pairs(minetest.registered_abms) do

View File

@ -12,8 +12,6 @@
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 = minetest.global_exists('minetest') and minetest --[[@as Minetest]]
@ -38,6 +36,7 @@ dofile(path .. '/functions.lua')
dofile(path .. '/trees.lua')
dofile(path .. '/vines.lua')
dofile(path .. '/chests.lua')
dofile(path .. '/torches.lua')
dofile(path .. '/mapgen.lua')
@ -161,6 +160,14 @@ if Everness.settings.biomes.everness_frosted_icesheet.enabled then
dofile(path .. '/mapgen_frosted_icesheet.lua')
end
if Everness.settings.biomes.everness_mineral_waters.enabled then
dofile(path .. '/mapgen_mineral_waters.lua')
end
if Everness.settings.biomes.everness_mineral_waters_under.enabled then
dofile(path .. '/mapgen_mineral_waters_under.lua')
end
dofile(path .. '/mapgen_after.lua')
if minetest.get_modpath('xpanes') and minetest.global_exists('xpanes') then
@ -188,6 +195,10 @@ if minetest.get_modpath('doors') and minetest.global_exists('doors') then
dofile(path .. '/doors.lua')
end
if not minetest.get_modpath('bucket') and not minetest.get_modpath('mcl_buckets') then
dofile(path .. '/buckets.lua')
end
dofile(path .. '/tools.lua')
dofile(path .. '/craftitems.lua')
dofile(path .. '/crafting.lua')
@ -228,7 +239,13 @@ if minetest.get_modpath('mcl_core') and minetest.global_exists('mcl_core') then
dofile(path .. '/mod_support_mcl.lua')
end
Everness.set_loot_chest_items()
-- Minetest Game
dofile(path .. '/mod_support_mtg.lua')
minetest.register_on_mods_loaded(function()
Everness.set_loot_chest_items()
end)
local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000

View File

@ -12,8 +12,6 @@
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_lbm({
@ -30,6 +28,8 @@ minetest.register_lbm({
'everness:cursed_lands_deep_ocean_skull_marker',
'everness:frosted_icesheet_igloo_marker',
'everness:crystal_forest_deep_ocean_ruins_marker',
'everness:mineral_waters_marker',
'everness:mineral_waters_tower_marker'
},
run_at_every_load = true,
action = function(pos, node)
@ -238,6 +238,48 @@ minetest.register_lbm({
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)
if minetest.registered_tools[item_def.name] then
stack:set_wear(rand:next(1, 65535))
else
stack:set_count(rand:next(1, item_def.max_count))
end
inv:set_stack('main', index, stack)
end
elseif node.name == 'everness:mineral_waters_marker' then
--
-- Mineral Waters
--
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)
if minetest.registered_tools[item_def.name] then
stack:set_wear(rand:next(1, 65535))
else
stack:set_count(rand:next(1, item_def.max_count))
end
inv:set_stack('main', index, stack)
end
elseif node.name == 'everness:mineral_waters_tower_marker' then
--
-- Mineral Waters Tower
--
local item_def = Everness.loot_chest.default[rand:next(1, #Everness.loot_chest.default)]
if not minetest.registered_items[item_def.name] then
return
end
if rand:next(0, 100) <= item_def.chance then
local stack = ItemStack(item_def.name)

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -99,7 +97,8 @@ local all_biomes_mese_tree_place_on = {
'everness:frosted_ice_translucent',
'everness:frosted_snowblock',
'everness:sulfur_stone',
'everness:volcanic_sulfur'
'everness:volcanic_sulfur',
'everness:mineral_waters'
}
if minetest.get_modpath('default') then

View File

@ -12,12 +12,9 @@
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
--]]
-- 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_cursed_grass = minetest.get_content_id('everness:dirt_with_cursed_grass')
@ -32,31 +29,38 @@ local c_forsaken_desert_brick = minetest.get_content_id('everness:forsaken_deser
local c_forsaken_desert_engraved_stone = minetest.get_content_id('everness:forsaken_desert_engraved_stone')
local c_frosted_snowblock = minetest.get_content_id('everness:frosted_snowblock')
local c_frosted_ice = minetest.get_content_id('everness:frosted_ice')
local c_everness_mineral_water_source = minetest.get_content_id('everness:mineral_water_source')
local c_everness_mineral_sand = minetest.get_content_id('everness:mineral_sand')
-- Localize data buffer table outside the loop, to be re-used for all
-- mapchunks, therefore minimising memory use.
local data = {}
local chance = 15
local disp = 16
local water_level = tonumber(minetest.settings:get('water_level'))
minetest.register_on_generated(function(minp, maxp, blockseed)
local rand = PcgRandom(blockseed)
-- Load the voxelmanip with the result of engine mapgen
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
-- 'area' is used later to get the voxelmanip indexes for positions
local area = VoxelArea:new({ MinEdge = emin, MaxEdge = emax })
-- Get the content ID data from the voxelmanip in the form of a flat array.
-- Set the buffer parameter to use and reuse 'data' for this.
vm:get_data(data)
-- Side length of mapchunk
local sidelength = maxp.x - minp.x + 1
local x_disp = rand:next(0, disp)
local z_disp = rand:next(0, disp)
if maxp.y > 0 then
if maxp.y >= water_level then
-- Above sea level
for y = minp.y, maxp.y do
local vi = area:index(minp.x + sidelength / 2 + x_disp, y, minp.z + sidelength / 2 + z_disp)
if data[vi + area.ystride] == c_air
if data[vi + area.ystride] == minetest.CONTENT_AIR
and (
data[vi] == c_dirt_with_grass_1
or data[vi] == c_dirt_with_rainforest_litter
@ -69,6 +73,8 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
or data[vi] == c_dirt_with_coniferous_litter
or data[vi] == c_frosted_snowblock
or data[vi] == c_frosted_ice
or data[vi] == c_everness_mineral_water_source
or data[vi] == c_everness_mineral_sand
)
then
local s_pos = area:position(vi)
@ -260,18 +266,67 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
)
minetest.log('action', '[Everness] Igloo was placed at ' .. schem_pos:to_string())
elseif biome_name == 'everness_mineral_waters'
and rand:next(0, 100) < chance
then
local schem = minetest.get_modpath('everness') .. '/schematics/everness_mineral_waters_tower.mts'
--
-- Mineral Waters Tower
--
local size = { x = 7, y = 16, z = 9 }
local size_x = math.round(size.x / 2)
local size_z = math.round(size.z / 2)
-- add Y displacement
local schem_pos = vector.new(s_pos)
-- find floor big enough
local positions = minetest.find_nodes_in_area_under_air(
vector.new(s_pos.x - size_x, s_pos.y - 1, s_pos.z - size_z),
vector.new(s_pos.x + size_x, s_pos.y + 1, s_pos.z + size_z),
{
'everness:mineral_sand',
'everness:mineral_water_source'
})
if #positions < size.x * size.z then
-- not enough space
return
end
-- enough air to place structure ?
local air_positions = minetest.find_nodes_in_area(
vector.new(s_pos.x - size_x, s_pos.y, s_pos.z - size_z),
vector.new(s_pos.x + size_x, s_pos.y + size.y, s_pos.z + size_z),
'air', true)
if air_positions.air and #air_positions.air > (size.x * size.y * size.z) / 2 then
minetest.place_schematic_on_vmanip(
vm,
schem_pos,
schem,
'random',
nil,
true,
'place_center_x, place_center_z'
)
minetest.log('action', '[Everness] Mineral Waters Tower was placed at ' .. schem_pos:to_string())
end
end
end
end
vm:write_to_map(true)
minetest.fix_light(minp, maxp)
else
-- Under
-- Under sea level
for y = minp.y, maxp.y do
local vi = area:index(minp.x + sidelength / 2 + x_disp, y, minp.z + sidelength / 2 + z_disp)
if data[vi + area.ystride] == c_air
if data[vi + area.ystride] == minetest.CONTENT_AIR
and (
data[vi] == c_dirt_with_grass_1
or data[vi] == c_forsaken_desert_sand

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -56,7 +54,7 @@ minetest.register_decoration({
y_max = y_max,
y_min = y_min,
schematic = minetest.get_modpath('everness') .. '/schematics/everness_small_bamboo.mts',
flags = 'place_center_x, place_center_z',
flags = 'place_center_x, place_center_z, force_placement',
rotation = 'random',
})
@ -70,7 +68,7 @@ minetest.register_decoration({
y_max = y_max,
y_min = y_min,
schematic = minetest.get_modpath('everness') .. '/schematics/everness_large_bamboo.mts',
flags = 'place_center_x, place_center_z',
flags = 'place_center_x, place_center_z, force_placement',
rotation = 'random',
})
@ -253,48 +251,81 @@ register_flower_magenta_decoration(0.015, 0.045, 1)
-- On Generated
--
local data = {}
local p2data = {}
local c_everness_bamboo_3 = minetest.get_content_id('everness:bamboo_3')
local c_everness_bamboo_4 = minetest.get_content_id('everness:bamboo_4')
local c_everness_bamboo_5 = minetest.get_content_id('everness:bamboo_5')
local d_everness_bamboo_forest_large_bamboo = minetest.get_decoration_id('everness:bamboo_forest_large_bamboo')
minetest.set_gen_notify({ decoration = true }, { d_everness_bamboo_forest_large_bamboo })
minetest.register_on_generated(function(minp, maxp, blockseed)
if maxp.y > 0 then
-- Load the voxelmanip with the result of engine mapgen
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
-- 'area' is used later to get the voxelmanip indexes for positions
local area = VoxelArea:new({ MinEdge = emin, MaxEdge = emax })
-- Get the content ID data from the voxelmanip in the form of a flat array.
-- Set the buffer parameter to use and reuse 'data' for this.
vm:get_data(data)
vm:get_param2_data(p2data)
local gennotify = minetest.get_mapgen_object('gennotify')
--
-- Bamboo
--
local bamboos_pos = minetest.find_nodes_in_area_under_air(minp, maxp, 'everness:bamboo_3')
for _, pos in ipairs(bamboos_pos) do
local node_below = minetest.get_node(vector.new(pos.x, pos.y - 1, pos.z))
-- get height of the generated bamboo
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_bamboo_forest_large_bamboo or '')] or {}) do
-- For bamboo large this is position of the 'place_on' node, e.g. 'everness:dirt_with_grass_extras_2'
local vi = area:indexp(pos)
local while_counter = 1
local bamboo_height = 0
local height_offset = 1
local bamboo_below = node_below
local last_vi = vi + area.ystride * while_counter
while minetest.get_item_group(bamboo_below.name, 'bamboo') > 0 do
if bamboo_height > 1 then
bamboo_below = minetest.get_node(vector.new(pos.x, pos.y - height_offset, pos.z))
end
height_offset = height_offset + 1
-- Get bamboo height
while data[last_vi] == c_everness_bamboo_3 do
last_vi = vi + area.ystride * while_counter
bamboo_height = bamboo_height + 1
while_counter = while_counter + 1
end
-- add top bamboo nodes with leaves based on their generated heigth
-- Back up the last from `while_counter`
last_vi = last_vi - area.ystride
-- Add top bamboo nodes with leaves based on their generated height
if bamboo_height > 4 then
for i = 1, 3 do
local node_name = 'everness:bamboo_4'
if i == 2 and bamboo_height > 4 then
node_name = 'everness:bamboo_5'
elseif i == 3 then
node_name = 'everness:bamboo_5'
if data[last_vi + area.ystride * i] == minetest.CONTENT_AIR then
if i == 1 then
data[last_vi + area.ystride * i] = c_everness_bamboo_4
else
data[last_vi + area.ystride * i] = c_everness_bamboo_5
end
minetest.swap_node(
vector.new(pos.x, pos.y + (i - 1), pos.z),
{
name = node_name,
param2 = node_below.param2
}
)
p2data[last_vi + area.ystride * i] = p2data[vi + area.ystride]
end
end
else
for i = 1, 2 do
if data[last_vi + area.ystride * i] == minetest.CONTENT_AIR then
if i == 1 then
data[last_vi + area.ystride * i] = c_everness_bamboo_4
else
data[last_vi + area.ystride * i] = c_everness_bamboo_5
end
p2data[last_vi + area.ystride * i] = p2data[vi + area.ystride]
end
end
end
end
vm:set_data(data)
vm:set_param2_data(p2data)
-- Calculate lighting for what has been created.
vm:calc_lighting()
-- Write what has been created to the world.
vm:write_to_map()
end)

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'everness:bamboo_wood',
node_dungeon_alt = 'everness:bamboo_mosaic_wood',
node_dungeon_stair = 'stairs:stair_bamboo_wood',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -180,7 +178,7 @@ local deco_ids_baobab = {
}
if #deco_ids_baobab > 1 then
minetest.set_gen_notify('decoration', deco_ids_baobab)
minetest.set_gen_notify({ decoration = true }, deco_ids_baobab)
end
minetest.register_on_generated(function(minp, maxp, blockseed)

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -261,7 +259,7 @@ register_coral_grass_decoration(0.03, 0.03, 1)
local deco_id_coral_bones_tree = minetest.get_decoration_id('everness:coral_forest_coral_bones_tree')
local coral_bones_tree_size = { x = 16, y = 35, z = 16 }
minetest.set_gen_notify('decoration', { deco_id_coral_bones_tree })
minetest.set_gen_notify({ decoration = true }, { deco_id_coral_bones_tree })
minetest.register_on_generated(function(minp, maxp, blockseed)
local gennotify = minetest.get_mapgen_object('gennotify')

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -33,7 +31,7 @@ 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 = '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',
@ -78,7 +76,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -100,7 +98,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -122,7 +120,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -144,7 +142,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
noise_params = {
@ -166,7 +164,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -181,7 +179,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -196,7 +194,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -211,7 +209,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -234,7 +232,7 @@ minetest.register_decoration({
y_min = y_min,
flags = 'force_placement',
decoration = { 'everness:coral_deep_ocean_mud' },
spawn_by = 'default:water_source',
spawn_by = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -257,7 +255,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -280,7 +278,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -303,7 +301,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 = 'mapgen_water_source',
num_spawn_by = 8,
})

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -34,7 +32,7 @@ minetest.register_biome({
node_riverbed = 'everness:coral_white_sand',
depth_riverbed = 2,
node_stone = 'everness:coral_desert_stone',
node_cave_liquid = 'default:water_source',
node_cave_liquid = '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',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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 = { 'mapgen_water_source', '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',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -33,7 +31,7 @@ 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 = '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',
@ -51,7 +49,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -66,7 +64,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -81,7 +79,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.003,
@ -104,7 +102,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -127,7 +125,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -150,7 +148,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -173,7 +171,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 = 'mapgen_water_source',
num_spawn_by = 8,
})

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -34,7 +32,7 @@ minetest.register_biome({
node_riverbed = 'everness:crystal_sand',
depth_riverbed = 2,
node_stone = 'everness:crystal_stone',
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'mapgen_water_source',
node_dungeon = 'everness:crystal_cobble',
node_dungeon_alt = 'everness:crystal_mossy_cobble',
node_dungeon_stair = 'stairs:stair_crystal_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -34,7 +32,7 @@ minetest.register_biome({
node_riverbed = 'everness:crystal_sand',
depth_riverbed = 2,
node_stone = 'everness:crystal_stone',
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'mapgen_water_source',
node_dungeon = 'everness:crystal_cobble',
node_dungeon_alt = 'everness:crystal_mossy_cobble',
node_dungeon_stair = 'stairs:stair_crystal_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'everness:crystal_cobble',
node_dungeon_alt = 'everness:crystal_mossy_cobble',
node_dungeon_stair = 'stairs:stair_crystal_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -33,7 +31,7 @@ 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 = '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',
@ -51,7 +49,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -66,7 +64,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -81,7 +79,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 = 'mapgen_water_source',
num_spawn_by = 8,
sidelen = 16,
fill_ratio = 0.002,
@ -104,7 +102,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -127,7 +125,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -150,7 +148,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 = 'mapgen_water_source',
num_spawn_by = 8,
})
@ -173,7 +171,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 = 'mapgen_water_source',
num_spawn_by = 8,
})

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -34,7 +32,7 @@ minetest.register_biome({
node_riverbed = 'everness:cursed_stone',
depth_riverbed = 2,
node_stone = 'everness:cursed_stone_carved',
node_cave_liquid = 'default:water_source',
node_cave_liquid = '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',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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 = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'everness:cursed_brick',
node_dungeon_alt = 'everness:cursed_brick_with_growth',
node_dungeon_stair = 'stairs:stair_cursed_brick',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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_cave_liquid = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'default:cobble',
node_dungeon_alt = 'default:mossycobble',
node_dungeon_stair = 'stairs:stair_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -34,7 +32,7 @@ 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 = 'mapgen_water_source',
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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 = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'everness:forsaken_tundra_cobble',
node_dungeon_alt = 'everness:forsaken_tundra_brick',
node_dungeon_stair = 'stairs:stair_forsaken_tundra_cobble',

View File

@ -12,8 +12,6 @@
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
--]]
--

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -33,7 +31,7 @@ minetest.register_biome({
depth_filler = 3,
node_water_top = 'everness:frosted_ice',
depth_water_top = 2,
node_cave_liquid = 'default:water_source',
node_cave_liquid = 'mapgen_water_source',
node_dungeon = 'everness:icecobble',
node_dungeon_alt = 'everness:snowcobble',
node_dungeon_stair = 'stairs:stair_ice',

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -27,7 +25,7 @@ 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 = { 'mapgen_water_source', 'mapgen_lava_source' },
node_dungeon = 'everness:icecobble',
node_dungeon_alt = 'everness:snowcobble',
node_dungeon_stair = 'stairs:stair_ice',
@ -318,7 +316,7 @@ minetest.register_decoration({
local deco_id_frosted_icicle_large_ceiling = minetest.get_decoration_id('everness:frosted_icicle_large_ceiling')
local deco_id_frosted_icicle_large_floor = minetest.get_decoration_id('everness:frosted_icicle_large_floor')
minetest.set_gen_notify('decoration', { deco_id_frosted_icicle_large_ceiling, deco_id_frosted_icicle_large_floor })
minetest.set_gen_notify({ decoration = true }, { deco_id_frosted_icicle_large_ceiling, deco_id_frosted_icicle_large_floor })
minetest.register_on_generated(function(minp, maxp, blockseed)
local gennotify = minetest.get_mapgen_object('gennotify')

835
mapgen_mineral_waters.lua Normal file
View File

@ -0,0 +1,835 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2024 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.
--]]
--
-- Register biomes
--
local y_max = Everness.settings.biomes.everness_mineral_waters.y_max
local y_min = Everness.settings.biomes.everness_mineral_waters.y_min
-- Mineral Waters
minetest.register_biome({
name = 'everness_mineral_waters',
node_top = 'everness:mineral_sand',
depth_top = 1,
node_filler = 'everness:mineral_stone',
depth_filler = 1,
node_stone = 'everness:mineral_stone',
node_riverbed = 'everness:mineral_sand',
depth_riverbed = 2,
node_dungeon = 'everness:mineral_stone_brick',
node_dungeon_alt = 'everness:mineral_stone_brick_with_growth',
node_dungeon_stair = 'stairs:stair_mineral_stone_brick',
y_max = y_max,
y_min = y_min,
vertical_blend = 16,
heat_point = 78,
humidity_point = 58,
})
--
-- Register ores
--
-- Scatter ores
-- Coal
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:mineral_stone_with_coal',
wherein = 'everness:mineral_stone',
clust_scarcity = 8 * 8 * 8,
clust_num_ores = 9,
clust_size = 3,
y_max = y_max,
y_min = y_min,
biomes = { 'everness_mineral_waters' }
})
minetest.register_ore({
ore_type = 'scatter',
ore = 'everness:mineral_stone_with_ceramic_sherds',
wherein = 'everness:mineral_stone',
clust_scarcity = 14 * 14 * 14,
clust_num_ores = 5,
clust_size = 3,
y_max = y_max,
y_min = y_min,
biomes = { 'everness_mineral_waters' }
})
--
-- Register decorations
-- placeholder node `everness:crystal_stone` will be replaced in VM
--
minetest.register_decoration({
name = 'everness:palm_trees',
deco_type = 'simple',
place_on = { 'everness:mineral_sand' },
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.005,
spread = { x = 250, y = 250, z = 250 },
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = { 'everness_mineral_waters' },
y_max = y_max,
y_min = y_min,
decoration = { 'everness:crystal_stone' },
})
minetest.register_decoration({
name = 'everness:pots',
deco_type = 'simple',
place_on = { 'everness:mineral_sand' },
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.002,
spread = { x = 250, y = 250, z = 250 },
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = { 'everness_mineral_waters' },
y_max = y_max,
y_min = y_min,
decoration = { 'everness:crystal_stone' },
_decoration = {
'everness:ceramic_pot_blank',
'everness:ceramic_pot_flowers',
'everness:ceramic_pot_lines',
'everness:ceramic_pot_tribal'
}
})
minetest.register_decoration({
name = 'everness:water_geyser',
deco_type = 'simple',
place_on = { 'everness:mineral_sand' },
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.02,
spread = { x = 100, y = 100, z = 100 },
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = { 'everness_mineral_waters' },
y_max = y_max,
y_min = y_min,
decoration = { 'everness:crystal_stone' },
spawn_by = { 'air' },
num_spawn_by = 16,
check_offset = 1,
})
minetest.register_decoration({
name = 'everness:rose_bush',
deco_type = 'simple',
place_on = { 'everness:mineral_sand' },
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_mineral_waters' },
y_max = y_max,
y_min = y_min,
decoration = { 'everness:crystal_stone' },
_decoration = { 'everness:rose_bush' },
spawn_by = { 'air' },
num_spawn_by = 16,
check_offset = 1,
})
--
-- On Generated
--
-- Get the content IDs for the nodes used
local c_everness_mineral_water_source = minetest.get_content_id('everness:mineral_water_source')
local c_everness_mineral_stone = minetest.get_content_id('everness:mineral_stone')
local c_everness_mineral_stone_brick = minetest.get_content_id('everness:mineral_stone_brick')
local c_everness_mineral_stone_brick_with_growth = minetest.get_content_id('everness:mineral_stone_brick_with_growth')
local c_everness_mineral_stone_brick_with_flower_growth = minetest.get_content_id('everness:mineral_stone_brick_with_flower_growth')
local c_everness_mineral_sand = minetest.get_content_id('everness:mineral_sand')
local c_everness_mineral_sandstone = minetest.get_content_id('everness:mineral_sandstone')
local c_everness_mineral_sandstone_block = minetest.get_content_id('everness:mineral_sandstone_block')
local c_everness_mineral_waters_marker = minetest.get_content_id('everness:mineral_waters_marker')
local c_everness_mineral_stone_with_coal = minetest.get_content_id('everness:mineral_stone_with_coal')
local c_everness_mineral_stone_with_ceramic_sherds = minetest.get_content_id('everness:mineral_stone_with_ceramic_sherds')
local c_everness_lotus_flower_white = minetest.get_content_id('everness:lotus_flower_white')
local c_everness_lotus_flower_purple = minetest.get_content_id('everness:lotus_flower_purple')
local c_everness_lotus_flower_pink = minetest.get_content_id('everness:lotus_flower_pink')
local c_everness_lotus_lotus_leaf = minetest.get_content_id('everness:lotus_leaf')
local c_everness_lotus_lotus_leaf_2 = minetest.get_content_id('everness:lotus_leaf_2')
local c_everness_lotus_lotus_leaf_3 = minetest.get_content_id('everness:lotus_leaf_3')
local c_everness_ceramic_pot_blank = minetest.get_content_id('everness:ceramic_pot_blank')
local c_everness_ceramic_pot_flowers = minetest.get_content_id('everness:ceramic_pot_flowers')
local c_everness_ceramic_pot_lines = minetest.get_content_id('everness:ceramic_pot_lines')
local c_everness_ceramic_pot_tribal = minetest.get_content_id('everness:ceramic_pot_tribal')
local c_everness_mineral_water_weed_1 = minetest.get_content_id('everness:mineral_water_weed_1')
local c_everness_mineral_water_weed_2 = minetest.get_content_id('everness:mineral_water_weed_2')
local c_everness_mineral_water_weed_3 = minetest.get_content_id('everness:mineral_water_weed_3')
-- Biome IDs
local biome_id_everness_mineral_waters = minetest.get_biome_id('everness_mineral_waters')
-- Decoration IDs
local d_everness_palm_trees = minetest.get_decoration_id('everness:palm_trees')
local d_everness_water_geyser = minetest.get_decoration_id('everness:water_geyser')
local d_everness_pots = minetest.get_decoration_id('everness:pots')
local d_rose_bush = minetest.get_decoration_id('everness:rose_bush')
-- Pool building blocks variations
local pool_build_nodes = {
{
c_everness_mineral_stone,
c_everness_mineral_stone_brick,
c_everness_mineral_stone_brick_with_growth,
c_everness_mineral_stone_brick_with_flower_growth
},
{
c_everness_mineral_sandstone,
c_everness_mineral_sandstone_block
}
}
local c_lotus_flowers = {
c_everness_lotus_flower_white,
c_everness_lotus_flower_purple,
c_everness_lotus_flower_pink
}
local c_lotus_leaves = {
c_everness_lotus_lotus_leaf,
c_everness_lotus_lotus_leaf_2,
c_everness_lotus_lotus_leaf_3
}
local c_pots = {
c_everness_ceramic_pot_blank,
c_everness_ceramic_pot_flowers,
c_everness_ceramic_pot_lines,
c_everness_ceramic_pot_tribal
}
local c_water_weeds = {
c_everness_mineral_water_weed_1,
c_everness_mineral_water_weed_2
}
local function find_irecursive(table, c_id)
local found = false
for i, v in ipairs(table) do
if type(v) == 'table' then
find_irecursive(v, c_id)
end
if c_id == v then
found = true
break
end
end
return found
end
local function place_decoration(pos, vm, area, data, deco_id, callback)
local deco_def = minetest.registered_decorations[deco_id]
if not deco_def then
return
end
-- Position of the 'place_on' node
local vi = area:indexp(pos)
local place_on_valid = false
local data_node_name = minetest.get_name_from_content_id(data[vi])
local placeholder_node_name = type(deco_def.decoration) == 'string' and deco_def.decoration or deco_def.decoration[1]
if type(deco_def.place_on) == 'string' then
if deco_def.place_on == data_node_name and data[vi + area.ystride * 2] == minetest.CONTENT_AIR then
place_on_valid = true
end
else
for i, v in ipairs(deco_def.place_on) do
if v == data_node_name and data[vi + area.ystride * 2] == minetest.CONTENT_AIR then
place_on_valid = true
break
end
end
end
local pos_above = vector.new(pos.x, pos.y + 1, pos.z)
local node_above = vm:get_node_at(pos_above)
if node_above.name == placeholder_node_name then
if place_on_valid then
callback(pos_above, deco_def)
else
vm:set_node_at(pos_above, { name = 'air' })
end
end
end
-- Localize data buffer table outside the loop, to be re-used for all
-- mapchunks, therefore minimising memory use
local data = {}
local p2data = {}
minetest.set_gen_notify({ decoration = true }, {
d_everness_palm_trees,
d_everness_water_geyser,
d_everness_pots,
d_rose_bush
})
-- Called after generating a piece of world. Modifying nodes inside the area is a bit faster than usual.
minetest.register_on_generated(function(minp, maxp, blockseed)
-- Start time of mapchunk generation.
-- local t0 = os.clock()
-- Returns an array containing the biome IDs of nodes in the most recently generated chunk by the current mapgen
local biomemap = minetest.get_mapgen_object('biomemap')
-- Above sea level
if maxp.y >= y_min and table.indexof(biomemap, biome_id_everness_mineral_waters) ~= -1 then
local rand = PcgRandom(blockseed)
local rand_version = rand:next(1, 2)
-- Load the voxelmanip with the result of engine mapgen
local vm, emin, emax = minetest.get_mapgen_object('voxelmanip')
-- Returns a table mapping requested generation notification types to arrays of positions at which the corresponding generated structures are located within the current chunk
local gennotify = minetest.get_mapgen_object('gennotify')
-- 'area' is used later to get the voxelmanip indexes for positions
local area = VoxelArea:new({ MinEdge = emin, MaxEdge = emax })
-- Get the content ID data from the voxelmanip in the form of a flat array.
-- Set the buffer parameter to use and reuse 'data' for this.
vm:get_data(data)
vm:get_param2_data(p2data)
local pot_pos = {}
if rand_version == 1 then
--
-- Pools
--
for y = minp.y, maxp.y do
for z = minp.z, maxp.z do
local precision_perc = 75
for x = minp.x, maxp.x do
local ai = area:index(x, y, z)
local node_name = minetest.get_name_from_content_id(data[ai])
local node_def = minetest.registered_nodes[node_name]
if
data[ai + area.ystride] == minetest.CONTENT_AIR
and node_def
and node_def.walkable
then
local length = 5 + rand:next(0, 10)
local width = 5 + rand:next(0, 10)
local height = 3 + rand:next(0, 4)
local walkable_nodes = 0
-- find space for lake (walkable rectangle)
for li = 1, length do
for wi = 1, width do
local ai_rec = (ai + li) + (area.zstride * wi)
local n_name = minetest.get_name_from_content_id(data[ai_rec])
local n_def = minetest.registered_nodes[n_name]
local b_data = minetest.get_biome_data(area:position(ai_rec))
if not b_data then
return
end
local b_name = minetest.get_biome_name(b_data.biome)
if not b_name then
return
end
if b_name ~= 'everness_mineral_waters'
-- for mese trees, they dont have specific biome
or minetest.get_item_group(n_name, 'tree') > 0
or minetest.get_item_group(n_name, 'leaves') > 0
then
-- bordering with anohter biome, be more precise in placing
precision_perc = 100
end
if n_def
and n_def.walkable
and data[ai_rec + area.ystride] == minetest.CONTENT_AIR
then
walkable_nodes = walkable_nodes + 1
end
end
end
-- build pool (cuboid)
local pool_build_nodes_group = pool_build_nodes[rand:next(1, #pool_build_nodes)]
if walkable_nodes >= (width * length / 100) * precision_perc then
-- offset y so the pools are sticking out / sinking in from the ground vertically
local ai_offset_y = ai - (area.ystride * height) + (area.ystride * rand:next(0, math.ceil(height / 2)))
for hi = 1, height do
for li = 1, length do
for wi = 1, width do
local mineral_stone = pool_build_nodes_group[rand:next(1, #pool_build_nodes_group)]
local ai_cub = (ai_offset_y + li) + (area.ystride * hi) + (area.zstride * wi)
local current_c_id = data[ai_cub]
-- Check for water and build nodes before replacing, this will make pools connected and will not replace already built walls from another pool near by
if hi == 1
and current_c_id ~= c_everness_mineral_water_source
and not find_irecursive(pool_build_nodes, current_c_id)
then
-- build pool floor
data[ai_cub] = mineral_stone
elseif hi ~= 1
and (wi == 1 or wi == width)
and current_c_id ~= c_everness_mineral_water_source
and not find_irecursive(pool_build_nodes, current_c_id)
then
-- build pool wall
data[ai_cub] = mineral_stone
elseif hi ~= 1
and (li == 1 or li == length)
and (wi ~= 1 or wi ~= width)
and current_c_id ~= c_everness_mineral_water_source
and not find_irecursive(pool_build_nodes, current_c_id)
then
-- build pool wall
data[ai_cub] = mineral_stone
else
-- fill in the pool with water
data[ai_cub] = c_everness_mineral_water_source
end
-- place loot chest marker in the middle of the pool floor
if hi == 2
and height > 4
and math.ceil(length / 2) == li
and math.ceil(width / 2) == wi
and data[ai_cub - area.ystride] ~= c_everness_mineral_water_source
and rand:next(0, 100) < 3
then
data[ai_cub] = c_everness_mineral_waters_marker
end
end
end
end
end
end
end
end
end
elseif rand_version == 2 then
--
-- Lakes
--
for z = minp.z, maxp.z do
for y = minp.y, maxp.y do
for x = minp.x, maxp.x do
local ai = area:index(x, y, z)
local c_current = data[ai]
-- +Y, -Y, +X, -X, +Z, -Z
-- top, bottom, right, left, front, back
-- right
local c_right = data[ai + 1]
-- left
local c_left = data[ai - 1]
-- front
local c_front = data[ai + (area.zstride * 2)]
-- back
local c_back = data[ai - (area.zstride * 2)]
local keep_going = true
local while_count = 1
local max_dig_depth = 11
if
c_current == c_everness_mineral_sand
and (
c_right == c_everness_mineral_sand
or c_right == c_everness_mineral_water_source
or c_right == c_everness_mineral_stone
or c_right == c_everness_mineral_stone_with_coal
or c_right == c_everness_mineral_stone_with_ceramic_sherds
)
and (
c_left == c_everness_mineral_sand
or c_left == c_everness_mineral_water_source
or c_left == c_everness_mineral_stone
or c_left == c_everness_mineral_stone_with_coal
or c_left == c_everness_mineral_stone_with_ceramic_sherds
)
and (
c_front == c_everness_mineral_sand
or c_front == c_everness_mineral_water_source
or c_front == c_everness_mineral_stone
or c_front == c_everness_mineral_stone_with_coal
or c_front == c_everness_mineral_stone_with_ceramic_sherds
)
and (
c_back == c_everness_mineral_sand
or c_back == c_everness_mineral_water_source
or c_back == c_everness_mineral_stone
or c_back == c_everness_mineral_stone_with_coal
or c_back == c_everness_mineral_stone_with_ceramic_sherds
)
then
-- dig below
while keep_going and while_count <= max_dig_depth do
local while_index = ai - area.ystride * while_count
if
-- below
(
data[while_index] == c_everness_mineral_stone
or data[while_index] == c_everness_mineral_stone_with_coal
or data[while_index] == c_everness_mineral_stone_with_ceramic_sherds
)
and (
-- right
data[while_index + 1 + area.ystride] == c_everness_mineral_sand
or data[while_index + 1 + area.ystride] == c_everness_mineral_water_source
or data[while_index + 1 + area.ystride] == c_everness_mineral_stone
or data[while_index + 1 + area.ystride] == c_everness_mineral_stone_with_coal
or data[while_index + 1 + area.ystride] == c_everness_mineral_stone_with_ceramic_sherds
)
and (
-- left
data[while_index - 1 + area.ystride] == c_everness_mineral_sand
or data[while_index - 1 + area.ystride] == c_everness_mineral_water_source
or data[while_index - 1 + area.ystride] == c_everness_mineral_stone
or data[while_index - 1 + area.ystride] == c_everness_mineral_stone_with_coal
or data[while_index - 1 + area.ystride] == c_everness_mineral_stone_with_ceramic_sherds
)
and (
-- front
data[while_index + area.zstride + area.ystride] == c_everness_mineral_sand
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_water_source
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_stone
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_stone_with_coal
or data[while_index + area.zstride + area.ystride] == c_everness_mineral_stone_with_ceramic_sherds
)
and (
-- back
data[while_index - area.zstride + area.ystride] == c_everness_mineral_sand
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_water_source
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_stone
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_stone_with_coal
or data[while_index - area.zstride + area.ystride] == c_everness_mineral_stone_with_ceramic_sherds
)
then
data[while_index + area.ystride] = c_everness_mineral_water_source
else
keep_going = false
end
while_count = while_count + 1
end
end
end
end
end
end
-- Place decorations after generating (2nd pass)
for y = minp.y, maxp.y do
for z = minp.z, maxp.z do
for x = minp.x, maxp.x do
local ai = area:index(x, y, z)
--
-- Place Lotus Flowers and Leaves
--
if
data[ai] == c_everness_mineral_water_source
-- spawn around water
and data[ai + 1 + area.zstride] == c_everness_mineral_water_source
and data[ai + 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + 1] == c_everness_mineral_water_source
and data[ai - 1] == c_everness_mineral_water_source
and data[ai - 1 + area.zstride] == c_everness_mineral_water_source
and data[ai - 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + area.zstride] == c_everness_mineral_water_source
and data[ai - area.zstride] == c_everness_mineral_water_source
-- make sure there is space above
and data[ai + area.ystride] == minetest.CONTENT_AIR
-- spawn around air above
and data[ai + area.ystride + 1] == minetest.CONTENT_AIR
and data[ai + area.ystride + 1 + area.zstride] == minetest.CONTENT_AIR
and data[ai + area.ystride + 1 - area.zstride] == minetest.CONTENT_AIR
and data[ai + area.ystride - 1] == minetest.CONTENT_AIR
and data[ai + area.ystride - 1 + area.zstride] == minetest.CONTENT_AIR
and data[ai + area.ystride - 1 - area.zstride] == minetest.CONTENT_AIR
and data[ai + area.ystride + area.zstride] == minetest.CONTENT_AIR
and data[ai + area.ystride - area.zstride] == minetest.CONTENT_AIR
then
if rand:next(0, 100) < 2 then
data[ai + area.ystride] = c_lotus_flowers[rand:next(1, #c_lotus_flowers)]
-- Place Lotus Leaves around Flowers
local radius = 3
local chance_max = 80
for i = -radius, radius do
for j = -radius, radius do
local idx = ai + i + (area.zstride * j) + area.ystride
local distance = math.round(vector.distance(area:position(ai), area:position(idx)))
local chance = math.round(chance_max / distance)
if chance > chance_max then
chance = chance_max
end
if
rand:next(0, 100) < chance
and data[idx] == minetest.CONTENT_AIR
and data[idx - area.ystride] == c_everness_mineral_water_source
then
data[idx] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
p2data[idx] = rand:next(0, 3)
end
end
end
elseif rand:next(0, 100) < 4 then
data[ai + area.ystride] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
p2data[ai + area.ystride] = rand:next(0, 3)
-- add some more leaves around the leaf
for i = -1, 1 do
for j = -1, 1 do
local idx = ai + i + (area.zstride * j) + area.ystride
if
rand:next(0, 100) < 25
and data[idx] == minetest.CONTENT_AIR
and data[idx - area.ystride] == c_everness_mineral_water_source
then
data[idx] = c_lotus_leaves[rand:next(1, #c_lotus_leaves)]
p2data[idx] = rand:next(0, 3)
end
end
end
end
end
--
-- Place Seaweed
--
if
data[ai] == c_everness_mineral_water_source
and data[ai + area.ystride] == c_everness_mineral_water_source
and rand:next(0, 100) < 33
then
local c_weed = c_water_weeds[rand:next(1, #c_water_weeds)]
if rand:next(0, 100) < 5 then
-- Weed with light source with a bit less probability
c_weed = c_everness_mineral_water_weed_3
end
if data[ai + 1] == c_everness_mineral_stone then
data[ai + 1] = c_weed
data[ai + 1] = c_weed
data[ai + 1] = c_weed
p2data[ai + 1] = 2
elseif data[ai - 1] == c_everness_mineral_stone then
data[ai - 1] = c_weed
data[ai - 1] = c_weed
data[ai - 1] = c_weed
p2data[ai - 1] = 3
elseif data[ai + area.zstride] == c_everness_mineral_stone then
data[ai + area.zstride] = c_weed
data[ai + area.zstride] = c_weed
data[ai + area.zstride] = c_weed
p2data[ai + area.zstride] = 4
elseif data[ai - area.zstride] == c_everness_mineral_stone then
data[ai - area.zstride] = c_weed
data[ai - area.zstride] = c_weed
data[ai - area.zstride] = c_weed
p2data[ai - area.zstride] = 5
elseif data[ai - area.ystride] == c_everness_mineral_stone then
data[ai - area.ystride] = c_weed
data[ai - area.ystride] = c_weed
data[ai - area.ystride] = c_weed
p2data[ai - area.ystride] = 1
end
end
--
-- Place pots under water
--
if
data[ai] == c_everness_mineral_water_source
-- spawn around water
and data[ai + 1 + area.zstride] == c_everness_mineral_water_source
and data[ai + 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + 1] == c_everness_mineral_water_source
and data[ai - 1] == c_everness_mineral_water_source
and data[ai - 1 + area.zstride] == c_everness_mineral_water_source
and data[ai - 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + area.zstride] == c_everness_mineral_water_source
and data[ai - area.zstride] == c_everness_mineral_water_source
-- spawn around water above
and data[ai + area.ystride] == c_everness_mineral_water_source
and data[ai + area.ystride + 1] == c_everness_mineral_water_source
and data[ai + area.ystride + 1 + area.zstride] == c_everness_mineral_water_source
and data[ai + area.ystride + 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + area.ystride - 1] == c_everness_mineral_water_source
and data[ai + area.ystride - 1 + area.zstride] == c_everness_mineral_water_source
and data[ai + area.ystride - 1 - area.zstride] == c_everness_mineral_water_source
and data[ai + area.ystride + area.zstride] == c_everness_mineral_water_source
and data[ai + area.ystride - area.zstride] == c_everness_mineral_water_source
-- spawn on solid node below
and data[ai - area.ystride] ~= c_everness_mineral_water_source
then
if rand:next(0, 100) < 1 then
table.insert(pot_pos, vector.new(area:position(ai)))
end
end
end
end
end
vm:set_data(data)
vm:set_param2_data(p2data)
--
-- Place Decorations
--
--
-- Palm Trees
--
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_palm_trees or '')] or {}) do
place_decoration(pos, vm, area, data, 'everness:palm_trees', function(p)
minetest.place_schematic_on_vmanip(
vm,
p,
minetest.get_modpath('everness') .. '/schematics/everness_palm_tree.mts',
nil,
nil,
true,
'place_center_x, place_center_z'
)
end)
end
--
-- Water Geyser
--
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_water_geyser or '')] or {}) do
place_decoration(pos, vm, area, data, 'everness:water_geyser', function(p)
vm:set_node_at(p, { name = 'everness:water_geyser' })
end)
end
--
-- Rose Bush
--
for _, pos in ipairs(gennotify['decoration#' .. (d_rose_bush or '')] or {}) do
place_decoration(pos, vm, area, data, 'everness:rose_bush', function(p)
vm:set_node_at(p, { name = 'everness:rose_bush' })
end)
end
--
-- Pots (above water)
--
for _, pos in ipairs(gennotify['decoration#' .. (d_everness_pots or '')] or {}) do
place_decoration(pos, vm, area, data, 'everness:pots', function(p, deco_def)
if deco_def._decoration then
-- Use `minetest.set_node` so we can set inventory on node construct
minetest.set_node(p, { name = deco_def._decoration[rand:next(1, #deco_def._decoration)] })
local inv = minetest.get_inventory({ type = 'node', pos = p })
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)
if minetest.registered_tools[item_def.name] then
stack:set_wear(rand:next(1, 65535))
else
stack:set_count(rand:next(1, item_def.max_count))
end
inv:set_stack('main', 1, stack)
end
end
end)
end
--
-- Pots (under water)
--
for _, v in ipairs(pot_pos) do
-- Use `minetest.set_node` so we can set inventory on node construct
minetest.set_node(v, { name = minetest.get_name_from_content_id(c_pots[rand:next(1, #c_pots)]) })
local inv = minetest.get_inventory({ type = 'node', pos = v })
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)
if minetest.registered_tools[item_def.name] then
stack:set_wear(rand:next(1, 65535))
else
stack:set_count(rand:next(1, item_def.max_count))
end
inv:set_stack('main', 1, stack)
end
end
-- Set the lighting within the `VoxelManip` to a uniform value
vm:set_lighting({ day = 0, night = 0 }, minp, maxp)
-- Calculate lighting for what has been created.
vm:calc_lighting()
-- Liquid nodes were placed so set them flowing.
vm:update_liquids()
-- Write what has been created to the world.
vm:write_to_map()
end
-- Print generation time of this mapchunk.
-- local chugent = math.ceil((os.clock() - t0) * 1000)
-- print('[lvm_example] Mapchunk generation time ' .. chugent .. ' ms')
end)

View File

@ -0,0 +1,73 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2024 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.
--]]
--
-- Register biomes
--
local y_max = Everness.settings.biomes.everness_mineral_waters_under.y_max
local y_min = Everness.settings.biomes.everness_mineral_waters_under.y_min
-- Mineral Waters
minetest.register_biome({
name = 'everness_mineral_waters_under',
node_cave_liquid = 'air',
node_dungeon = 'everness:mineral_stone_brick',
node_dungeon_alt = 'everness:mineral_stone_brick_with_growth',
node_dungeon_stair = 'stairs:stair_mineral_stone_brick',
y_max = y_max,
y_min = y_min,
vertical_blend = 16,
heat_point = 78,
humidity_point = 58,
})
--
-- Ores
--
-- Blob ore.
-- These before scatter ores to avoid other ores in blobs.
minetest.register_ore({
ore_type = 'blob',
ore = 'everness:mineral_stone',
wherein = { 'mapgen_stone' },
clust_scarcity = 16 * 16 * 16,
clust_size = 5,
y_max = y_max,
y_min = y_min,
noise_threshold = 0.0,
noise_params = {
offset = 0.5,
scale = 0.2,
spread = { x = 5, y = 5, z = 5 },
seed = 766,
octaves = 1,
persist = 0.0
}
})
--
-- Register decorations
--
--
-- On Generated
--

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())
@ -50,6 +48,8 @@ mcl_fences.register_fence_and_fence_gate(
Everness.node_sound_wood_defaults()
)
-- Crystal Wood
mcl_fences.register_fence_and_fence_gate(
'gate_crystal_wood',
S('Crystal Wood Fence'),
@ -62,6 +62,20 @@ mcl_fences.register_fence_and_fence_gate(
Everness.node_sound_wood_defaults()
)
-- Palm Wood
mcl_fences.register_fence_and_fence_gate(
'gate_palm_tree_wood',
S('Palm Wood Fence'),
S('Palm Wood Fence Gate'),
'everness_palm_tree_wood.png',
{ handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 },
2,
15,
{ 'group:fence_wood' },
Everness.node_sound_wood_defaults()
)
---
-- Walls
---
@ -905,6 +919,203 @@ mcl_stairs.register_stair_and_slab(
nil
)
-- Mineral Waters
mcl_stairs.register_stair_and_slab(
'mineral_stone',
'everness:mineral_stone',
{ pickaxey = 3, stone = 1 },
{{
name = 'everness_mineral_stone.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_stone_cobble',
'everness:mineral_stone_cobble',
{ pickaxey = 3, stone = 2 },
{{
name = 'everness_mineral_cobblestone.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Cobblestone') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Cobblestone') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Cobblestone') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_stone_block',
'everness:mineral_stone_block',
{ pickaxey = 2, stone = 1 },
{{
name = 'everness_mineral_stone_block.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Block') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_stone_brick',
'everness:mineral_stone_brick',
{ pickaxey = 2, stone = 1 },
{{
name = 'everness_mineral_stone_brick.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_sandstone',
'everness:mineral_sandstone',
{ pickaxey = 3 },
{ 'everness_mineral_sandstone.png' },
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_sandstone_block',
'everness:mineral_sandstone_block',
{ pickaxey = 2 },
{{
name = 'everness_mineral_sandstone_block.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Block') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_sandstone_brick',
'everness:mineral_sandstone_brick',
{ pickaxey = 2 },
{{
name = 'everness_mineral_sandstone_brick.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_sandstone_brick_block',
'everness:mineral_sandstone_brick_block',
{ pickaxey = 2 },
{{
name = 'everness_mineral_sandstone_brick_block.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Block') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Sandstone') .. ' ' .. S('Brick') .. ' ' .. S('Block') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_stone_brick_with_growth',
'everness:mineral_stone_brick_with_growth',
{ pickaxey = 2, stone = 1 },
{{
name = 'everness_mineral_stone_brick_with_growth.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Growth') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Growth') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Growth') .. ' ' .. S('Slab'),
nil
)
mcl_stairs.register_stair_and_slab(
'mineral_stone_brick_with_flower_growth',
'everness:mineral_stone_brick_with_flower_growth',
{ pickaxey = 2, stone = 1 },
{{
name = 'everness_mineral_stone_brick_with_flower_growth.png',
align_style = 'world',
scale = 2
}},
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Flower Growth') .. ' ' .. S('Stair'),
S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Flower Growth') .. ' ' .. S('Slab'),
Everness.node_sound_stone_defaults(),
6,
1.5,
S('Double') .. ' ' .. S('Mineral') .. ' ' .. S('Stone') .. ' ' .. S('Brick') .. ' ' .. S('with Flower Growth') .. ' ' .. S('Slab'),
nil
)
-- Palm Wood
mcl_stairs.register_stair_and_slab(
'palm_tree_wood',
'everness:palm_tree_wood',
{ handy = 1, axey = 1, building_block = 1, material_wood = 1, fire_encouragement = 5, fire_flammability = 20, flammable = 3, wood = 1, },
{{
name = 'everness_palm_tree_wood.png',
align_style = 'world',
scale = 2
}},
S('Palm') .. ' ' .. S('Tree') .. ' ' .. S('Wood') .. ' ' .. S('Planks') .. ' ' .. S('Stair'),
S('Palm') .. ' ' .. S('Tree') .. ' ' .. S('Wood') .. ' ' .. S('Planks') .. ' ' .. S('Slab'),
Everness.node_sound_wood_defaults(),
6,
2,
S('Double') .. ' ' .. S('Palm') .. ' ' .. S('Tree') .. ' ' .. S('Wood') .. ' ' .. S('Planks') .. ' ' .. S('Slab'),
nil
)
---
-- Doors
---
@ -1081,3 +1292,60 @@ minetest.register_craft({
{ 'everness:dry_wood', 'everness:dry_wood' },
}
})
-- Palm Wood
-- mcl_doors:register_door('everness:door_palm_wood', {
-- description = S('Palm Wood Door'),
-- inventory_image = 'everness_door_palm_wood_item.png',
-- groups = { handy = 1, axey = 1, material_wood = 1, flammable = -1 },
-- tiles_bottom = 'everness_mcl_doors_door_cursed_wood_lower.png',
-- tiles_top = 'everness_mcl_doors_door_cursed_wood_upper.png',
-- sounds = Everness.node_sound_wood_defaults(),
-- _mcl_hardness = 3,
-- _mcl_blast_resistance = 3,
-- })
-- minetest.register_craft({
-- output = 'everness:door_palm_wood 3',
-- recipe = {
-- { 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
-- { 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
-- { 'everness:palm_tree_wood', 'everness:palm_tree_wood' }
-- }
-- })
-- mcl_doors:register_trapdoor('everness:trapdoor_palm_wood', {
-- description = S('Palm 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_palm_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_palm_wood',
-- recipe = {
-- { 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
-- { 'everness:palm_tree_wood', 'everness:palm_tree_wood' },
-- }
-- })
--
-- Buckets
--
mcl_buckets.register_liquid({
source_place = 'everness:mineral_water_source',
source_take = { 'everness:mineral_water_source' },
bucketname = 'everness:bucket_mineral_water',
inventory_image = 'everness_mcl_bucket_mineral_water.png',
name = S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
longdesc = S('A bucket can be used to collect and release liquids. This one is filled with mineral water.'),
usagehelp = S('Place it to empty the bucket and create a mineral water source.'),
tt_help = S('Places a mineral water source'),
groups = { water_bucket = 1 },
})

View File

@ -12,11 +12,9 @@
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', 'mcl_core:water_source')
minetest.register_alias('mapgen_water_source', 'mcl_core:water_source')
minetest.register_alias('default:dirt_with_rainforest_litter', 'mcl_core:dirt_with_grass')
minetest.register_alias('default:dirt_with_snow', 'mcl_core:dirt_with_grass_snow')
minetest.register_alias('default:dirt_with_coniferous_litter', 'mcl_core:podzol')
@ -105,7 +103,7 @@ minetest.register_alias('default:stone_with_tin', 'mcl_core:stone_with_copper')
minetest.register_alias('default:stone_with_gold', 'mcl_core:stone_with_gold')
minetest.register_alias('default:stone_with_mese', 'mcl_core:stone_with_redstone')
minetest.register_alias('default:stone_with_diamond', 'mcl_core:stone_with_diamond')
minetest.register_alias('default:lava_source', 'mcl_core:lava_source')
minetest.register_alias('mapgen_lava_source', 'mcl_core:lava_source')
minetest.register_alias('default:mossycobble', 'mcl_core:mossycobble')
minetest.register_alias('default:clay', 'mcl_colorblocks:hardened_clay')
minetest.register_alias('default:dry_dirt_with_dry_grass', 'mcl_core:dirt_with_grass')

32
mod_support_mtg.lua Normal file
View File

@ -0,0 +1,32 @@
--[[
Everness. Never ending discovery in Everness mapgen.
Copyright (C) 2024 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.
--]]
local S = minetest.get_translator(minetest.get_current_modname())
--
-- Buckets
--
if minetest.get_modpath('bucket') then
bucket.register_liquid(
'everness:mineral_water_source',
'everness:mineral_water_flowing',
'everness:bucket_mineral_water',
'everness_mtg_bucket_mineral_water.png',
S('Mineral') .. ' ' .. S('Water') .. ' ' .. S('Bucket'),
{ tool = 1, water_bucket = 1 }
)
end

View File

@ -12,11 +12,9 @@
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('mapgen_water_source', 'rp_mapgen_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')
@ -105,7 +103,7 @@ 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('mapgen_lava_source', 'rp_mapgen_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')

View File

@ -12,8 +12,6 @@
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
--]]
--
@ -210,6 +208,22 @@ x_farming.x_bonemeal:register_tree_defs({
Everness.grow_mese_tree(pos)
return true
end
},
{
-- sapling name
name = 'everness:palm_tree_sapling',
-- 1 out of `chance`, e.g. 2 = 50% chance
chance = 4,
-- grow tree from sapling
grow_tree = function(pos)
if not x_farming.x_bonemeal.is_on_sand(pos) then
return false
end
Everness.grow_palm_tree(pos)
return true
end
},

View File

@ -12,8 +12,6 @@
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
--]]
local mod_start_time = minetest.get_us_time()
@ -467,6 +465,23 @@ local path_nodes_frosted_icesheet = {
},
}
-- Mineral Waters
local path_nodes_mineral_waters = {
['everness:mineral_sand'] = {
name = 'mineral_sand',
mod_origin = 'everness',
descritption = 'Mineral Sand Path',
drop = 'everness:mineral_sand',
tiles = {
'x_obsidianmese_path_dirt_base.png^[colorize:#E0CEBB:170^(everness_mineral_sand.png^[sheet:2x2:1,1^[mask:x_obsidianmese_path_overlay_2.png)',
'x_obsidianmese_path_dirt_base.png^[colorize:#E0CEBB:170',
'x_obsidianmese_dirt_path_side.png^[colorize:#E0CEBB:170'
},
sounds = Everness.node_sound_sand_defaults()
},
}
-- Bamboo Forest
if Everness.settings.biomes.everness_bamboo_forest.enabled then
@ -556,6 +571,12 @@ if Everness.settings.biomes.everness_frosted_icesheet.enabled then
x_obsidianmese:register_path_node(path_nodes_frosted_icesheet)
end
-- Mineral Waters
if Everness.settings.biomes.everness_mineral_waters.enabled then
x_obsidianmese:register_path_node(path_nodes_mineral_waters)
end
local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000
print('[Mod] everness: x_obsidianmese support loaded.. [' .. mod_end_time .. 's]')

View File

@ -12,8 +12,6 @@
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
--]]
local mod_start_time = minetest.get_us_time()

View File

@ -0,0 +1,375 @@
# Blender v2.83.20 OBJ File: 'everness_ceramic_pot.blend'
# www.blender.org
mtllib everness_ceramic_pot.mtl
o everness_ceramic_pot.vox
v -0.375000 -0.499000 0.375000
v -0.437500 -0.436500 0.437500
v -0.437500 0.501000 0.125000
v -0.250000 0.501000 0.125000
v -0.250000 0.501000 -0.250000
v -0.312500 0.563500 0.312500
v -0.312500 0.751000 -0.312500
v 0.375000 -0.499000 0.375000
v 0.437500 -0.436500 0.437500
v 0.437500 0.501000 0.437500
v 0.312500 0.563500 0.312500
v -0.375000 -0.436500 0.375000
v 0.375000 -0.436500 0.375000
v -0.250000 0.501000 0.437500
v -0.250000 0.501000 0.250000
v -0.250000 0.563500 0.250000
v 0.250000 0.563500 0.250000
v -0.312500 0.751000 0.312500
v -0.187500 0.751000 0.312500
v 0.312500 0.751000 0.312500
v -0.187500 0.751000 -0.187500
v 0.187500 0.751000 -0.187500
v -0.375000 -0.436500 -0.375000
v -0.250000 -0.436500 -0.375000
v 0.375000 -0.499000 -0.375000
v -0.437500 -0.436500 -0.437500
v 0.437500 0.501000 -0.437500
v -0.312500 0.563500 -0.312500
v 0.062500 0.563500 -0.312500
v -0.062500 0.751000 0.187500
v 0.312500 0.751000 -0.312500
v -0.375000 -0.499000 -0.375000
v -0.437500 -0.436500 -0.375000
v -0.250000 -0.436500 -0.437500
v 0.375000 -0.436500 -0.375000
v 0.437500 -0.436500 -0.437500
v -0.312500 0.563500 -0.250000
v -0.250000 0.563500 -0.250000
v 0.062500 0.563500 -0.250000
v 0.250000 0.563500 -0.250000
v 0.312500 0.563500 -0.312500
v -0.437500 0.501000 0.437500
v 0.250000 0.501000 0.250000
v 0.250000 0.501000 -0.250000
v -0.437500 0.501000 -0.437500
v -0.062500 0.751000 0.312500
v -0.187500 0.751000 0.187500
v 0.187500 0.751000 0.187500
v 0.437500 -0.436500 0.437500
v 0.437500 -0.436500 -0.437500
v 0.437500 0.501000 0.437500
v 0.437500 0.501000 -0.437500
v -0.375000 -0.499000 0.375000
v -0.437500 -0.436500 0.437500
v -0.437500 0.501000 0.125000
v -0.250000 0.501000 0.125000
v -0.250000 0.501000 -0.250000
v -0.312500 0.563500 0.312500
v -0.312500 0.751000 -0.312500
v 0.375000 -0.499000 0.375000
v 0.437500 -0.436500 0.437500
v 0.437500 0.501000 0.437500
v 0.312500 0.563500 0.312500
v -0.187500 0.626000 -0.187500
v -0.375000 -0.436500 0.375000
v 0.375000 -0.436500 0.375000
v -0.250000 0.501000 0.437500
v -0.250000 0.501000 0.250000
v -0.250000 0.563500 0.250000
v 0.250000 0.563500 0.250000
v 0.187500 0.626000 -0.187500
v -0.312500 0.751000 0.312500
v -0.187500 0.751000 0.312500
v 0.312500 0.751000 0.312500
v -0.187500 0.751000 -0.187500
v 0.187500 0.751000 -0.187500
v -0.375000 -0.436500 -0.375000
v -0.250000 -0.436500 -0.375000
v 0.375000 -0.499000 -0.375000
v -0.437500 -0.436500 -0.437500
v 0.437500 0.501000 -0.437500
v -0.312500 0.563500 -0.312500
v 0.062500 0.563500 -0.312500
v -0.187500 0.626000 0.187500
v -0.062500 0.751000 0.187500
v 0.312500 0.751000 -0.312500
v -0.375000 -0.499000 -0.375000
v -0.437500 -0.436500 -0.375000
v -0.250000 -0.436500 -0.437500
v 0.375000 -0.436500 -0.375000
v 0.437500 -0.436500 -0.437500
v -0.312500 0.563500 -0.250000
v -0.250000 0.563500 -0.250000
v 0.062500 0.563500 -0.250000
v 0.250000 0.563500 -0.250000
v 0.312500 0.563500 -0.312500
v -0.437500 0.501000 0.437500
v 0.250000 0.501000 0.250000
v 0.250000 0.501000 -0.250000
v -0.437500 0.501000 -0.437500
v 0.187500 0.626000 0.187500
v -0.062500 0.751000 0.312500
v -0.187500 0.751000 0.187500
v 0.187500 0.751000 0.187500
v 0.437500 -0.436500 0.437500
v 0.437500 -0.436500 -0.437500
v 0.437500 0.501000 0.437500
v 0.437500 0.501000 -0.437500
vt 0.437500 0.250000
vt 0.375000 0.218750
vt 0.437500 0.218750
vt 0.000000 0.000000
vt 0.093750 0.000000
vt 0.093750 0.046875
vt 0.437500 0.000000
vt 0.437500 0.218750
vt 0.343750 0.171875
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.843750 0.218750
vt 0.843750 0.015625
vt 0.812500 0.031250
vt 0.625000 0.375000
vt 0.312500 0.375000
vt 0.562500 0.343750
vt 0.468750 0.203125
vt 0.812500 0.031250
vt 0.468750 0.031250
vt 0.531250 0.218750
vt 0.531250 0.203125
vt 0.468750 0.203125
vt 0.906250 0.234375
vt 0.937500 0.375000
vt 0.937500 0.218750
vt 0.812500 0.375000
vt 0.812500 0.359375
vt 0.656250 0.359375
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 0.000000
vt 0.031250 0.390625
vt 0.437500 0.390625
vt 0.281250 0.625000
vt 0.093750 0.640625
vt 0.093750 0.625000
vt 0.281250 0.625000
vt 0.062500 0.687500
vt 0.062500 0.640625
vt 0.093750 0.640625
vt 0.062500 0.218750
vt 0.250000 0.250000
vt 0.250000 0.218750
vt 0.843750 0.687500
vt 0.781250 0.703125
vt 0.468750 0.687500
vt 0.343750 0.937500
vt 0.093750 0.953125
vt 0.093750 0.937500
vt 0.062500 0.343750
vt 0.250000 0.375000
vt 0.062500 0.375000
vt 0.875000 0.390625
vt 0.531250 0.625000
vt 0.031250 0.375000
vt 0.406250 0.390625
vt 0.031250 0.390625
vt 0.781250 0.625000
vt 0.531250 0.640625
vt 0.531250 0.625000
vt 0.406250 0.687500
vt 0.031250 0.703125
vt 0.031250 0.687500
vt 0.312500 0.343750
vt 0.250000 0.250000
vt 0.312500 0.250000
vt 0.812500 0.640625
vt 0.812500 0.687500
vt 0.625000 0.687500
vt 0.437500 0.937500
vt 0.437500 0.703125
vt 0.781250 0.703125
vt 0.625000 0.953125
vt 0.531250 0.937500
vt 0.781250 0.937500
vt 0.500000 1.000000
vt 0.500000 0.953125
vt 0.625000 0.953125
vt 0.062500 0.250000
vt 0.000000 0.281250
vt 0.062500 0.343750
vt 0.375000 0.953125
vt 0.062500 1.000000
vt 0.062500 0.953125
vt 0.250000 0.343750
vt 0.062500 0.343750
vt 0.843750 0.375000
vt 0.468750 0.390625
vt 0.468750 0.375000
vt 0.437500 0.937500
vt 0.000000 0.703125
vt 0.437500 0.703125
vt 0.375000 0.250000
vt 0.093750 0.078125
vt 0.000000 0.078125
vt 0.343750 0.046875
vt 0.000000 0.218750
vt 0.093750 0.171875
vt 0.812500 0.203125
vt 0.437500 0.015625
vt 0.437500 0.203125
vt 0.468750 0.031250
vt 0.312500 0.218750
vt 0.375000 0.343750
vt 0.562500 0.250000
vt 0.625000 0.218750
vt 0.812500 0.203125
vt 0.437500 0.218750
vt 0.625000 0.218750
vt 0.625000 0.359375
vt 0.656250 0.234375
vt 0.906250 0.359375
vt 0.625000 0.375000
vt 0.437500 0.625000
vt 0.000000 0.625000
vt 0.000000 0.390625
vt 0.343750 0.625000
vt 0.343750 0.640625
vt 0.375000 0.640625
vt 0.375000 0.687500
vt 0.062500 0.250000
vt 0.843750 0.703125
vt 0.468750 0.703125
vt 0.343750 0.953125
vt 0.250000 0.343750
vt 0.875000 0.625000
vt 0.406250 0.375000
vt 0.781250 0.640625
vt 0.406250 0.703125
vt 0.562500 0.687500
vt 0.500000 0.640625
vt 0.500000 0.687500
vt 0.875000 0.703125
vt 0.875000 0.937500
vt 0.781250 0.953125
vt 0.531250 0.953125
vt 0.812500 0.953125
vt 0.812500 1.000000
vt -0.000000 0.250000
vt 0.000000 0.343750
vt 0.375000 1.000000
vt 0.843750 0.390625
vt 0.000000 0.937500
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 -1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
usemtl pot
s off
f 30/1/1 19/2/1 46/3/1
f 42/4/1 14/5/1 15/6/1
f 10/7/1 27/8/1 44/9/1
f 27/10/2 51/11/2 52/12/2
f 36/13/3 9/14/3 13/15/3
f 31/16/1 7/17/1 22/18/1
f 32/19/3 8/20/3 1/21/3
f 34/22/3 24/23/3 23/24/3
f 17/25/3 41/26/3 11/27/3
f 29/28/3 39/29/3 38/30/3
f 10/31/2 49/32/2 51/11/2
f 36/33/2 52/12/2 50/34/2
f 9/35/2 50/34/2 49/32/2
f 88/36/4 54/37/4 55/38/4
f 93/39/4 57/40/4 56/41/4
f 59/42/4 82/43/4 92/44/4
f 76/45/4 101/46/4 104/47/4
f 87/48/5 78/49/5 79/50/5
f 99/51/6 70/52/6 98/53/6
f 84/54/6 75/55/6 103/56/6
f 61/57/2 67/58/2 54/37/2
f 87/59/4 65/60/4 77/61/4
f 98/62/2 69/63/2 68/64/2
f 79/65/6 66/66/6 60/67/6
f 75/68/2 71/69/2 76/70/2
f 63/71/2 74/72/2 102/73/2
f 81/74/5 91/75/5 89/76/5
f 94/77/5 99/78/5 57/79/5
f 86/80/5 96/81/5 83/82/5
f 84/83/5 85/84/5 101/85/5
f 96/86/6 74/87/6 63/88/6
f 84/83/1 71/89/1 64/90/1
f 60/91/2 65/92/2 53/93/2
f 108/94/6 105/95/6 106/96/6
f 30/1/1 47/97/1 19/2/1
f 4/98/1 3/99/1 15/6/1
f 3/99/1 42/4/1 15/6/1
f 43/100/1 15/6/1 14/5/1
f 45/101/1 3/99/1 5/102/1
f 3/99/1 4/98/1 5/102/1
f 43/100/1 14/5/1 10/7/1
f 45/101/1 5/102/1 44/9/1
f 44/9/1 43/100/1 10/7/1
f 27/8/1 45/101/1 44/9/1
f 27/10/2 10/31/2 51/11/2
f 24/23/3 34/22/3 35/103/3
f 34/22/3 36/13/3 35/103/3
f 2/104/3 33/105/3 12/106/3
f 33/105/3 23/24/3 12/106/3
f 2/104/3 12/106/3 13/15/3
f 13/15/3 35/103/3 36/13/3
f 9/14/3 2/104/3 13/15/3
f 7/17/1 18/107/1 47/97/1
f 18/107/1 19/2/1 47/97/1
f 47/97/1 21/108/1 7/17/1
f 30/1/1 46/3/1 48/109/1
f 46/3/1 20/110/1 48/109/1
f 22/18/1 48/109/1 20/110/1
f 7/17/1 21/108/1 22/18/1
f 22/18/1 20/110/1 31/16/1
f 32/19/3 25/111/3 8/20/3
f 33/105/3 26/112/3 23/24/3
f 26/112/3 34/22/3 23/24/3
f 6/113/3 37/114/3 16/115/3
f 37/114/3 38/30/3 16/115/3
f 39/29/3 29/28/3 40/116/3
f 29/28/3 41/26/3 40/116/3
f 11/27/3 6/113/3 16/115/3
f 17/25/3 40/116/3 41/26/3
f 11/27/3 16/115/3 17/25/3
f 37/114/3 28/117/3 38/30/3
f 28/117/3 29/28/3 38/30/3
f 10/31/2 9/35/2 49/32/2
f 36/33/2 27/10/2 52/12/2
f 9/35/2 36/33/2 50/34/2
f 97/118/4 55/38/4 54/37/4
f 55/38/4 100/119/4 88/36/4
f 100/119/4 80/120/4 88/36/4
f 68/121/4 69/122/4 56/41/4
f 69/122/4 93/39/4 56/41/4
f 58/123/4 72/124/4 92/44/4
f 72/124/4 59/42/4 92/44/4
f 76/45/4 71/125/4 101/46/4
f 77/126/5 78/49/5 87/48/5
f 78/49/5 90/127/5 79/50/5
f 99/51/6 95/128/6 70/52/6
f 84/54/6 64/129/6 75/55/6
f 62/130/2 67/58/2 61/57/2
f 67/58/2 97/118/2 54/37/2
f 87/59/4 53/131/4 65/60/4
f 98/62/2 70/132/2 69/63/2
f 79/65/6 90/133/6 66/66/6
f 75/68/2 64/129/2 71/69/2
f 102/73/2 73/134/2 58/135/2
f 73/134/2 72/136/2 58/135/2
f 102/73/2 58/135/2 63/71/2
f 89/76/5 80/137/5 100/138/5
f 100/138/5 81/74/5 89/76/5
f 57/79/5 93/139/5 94/77/5
f 94/77/5 95/140/5 99/78/5
f 82/141/5 59/142/5 83/82/5
f 59/142/5 86/80/5 83/82/5
f 103/143/5 85/84/5 84/83/5
f 85/84/5 104/144/5 101/85/5
f 96/86/6 86/145/6 74/87/6
f 84/83/1 101/46/1 71/89/1
f 60/91/2 66/146/2 65/92/2
f 108/94/6 107/147/6 105/95/6

View File

@ -0,0 +1,235 @@
# Blender v2.83.20 OBJ File: 'everness_lotus_flower.blend'
# www.blender.org
mtllib everness_lotus_flower.mtl
o Cube
v -0.308107 -0.055472 -0.746216
v -0.009900 -0.499000 -0.342751
v 0.655918 0.011755 -0.265300
v -0.732371 -0.055472 -0.321952
v -0.328906 -0.499000 -0.023745
v -0.308107 -0.055472 0.698725
v 0.231654 0.011755 -0.689564
v 0.288417 -0.055942 0.698836
v 0.712681 -0.055942 0.274572
v -0.732371 -0.055472 0.274461
v -0.486053 -0.100909 -0.211530
v -0.160819 -0.498639 -0.160819
v 0.211530 -0.100909 -0.486054
v 0.160819 -0.498639 -0.160819
v -0.486053 -0.100909 0.211530
v -0.160819 -0.498639 0.160819
v 0.211530 -0.100909 0.486053
v 0.160819 -0.498639 0.160819
v -0.211530 -0.100909 -0.486054
v 0.486054 -0.100909 0.211530
v 0.486054 -0.100909 -0.211530
v -0.211530 -0.100909 0.486053
v 0.160592 -0.498186 0.160592
v 0.160592 -0.177003 0.160592
v -0.160592 -0.498186 0.160592
v -0.160592 -0.177003 0.160592
v 0.160592 -0.498186 -0.160592
v 0.160592 -0.177003 -0.160592
v -0.160592 -0.498186 -0.160592
v -0.160592 -0.177003 -0.160592
v 0.309302 -0.499453 -0.023720
v -0.009875 -0.499453 0.295457
v 0.000000 -0.330263 0.355694
v 0.000000 0.589835 0.355694
v -0.355694 -0.330263 -0.000000
v -0.355694 0.589835 -0.000000
v 0.355694 -0.330263 -0.000000
v 0.355694 0.589835 -0.000000
v 0.000000 -0.330263 -0.355694
v 0.000000 0.589835 -0.355694
v 0.500438 -0.055472 -0.534084
v 0.149602 -0.499000 -0.183248
v 0.548643 -0.154723 -0.000000
v 0.160819 -0.498639 -0.000000
v 0.000000 -0.154723 -0.548643
v 0.000000 -0.498639 -0.160819
v -0.160819 -0.498639 -0.000000
v -0.548642 -0.154723 -0.000000
v 0.000000 -0.498639 0.160819
v 0.000000 -0.154723 0.548642
v -0.169403 -0.499000 0.135758
v -0.567776 -0.135591 0.534130
v -0.169403 -0.499000 -0.183248
v -0.567776 -0.135591 -0.581621
v 0.548086 -0.136060 0.534241
v 0.150919 -0.498639 0.137074
vt 0.500000 0.750000
vt -0.000000 0.500000
vt 0.000000 0.750000
vt 0.500000 0.750000
vt -0.000000 0.500000
vt 0.000000 0.750000
vt 0.000000 0.250000
vt 0.500000 0.250000
vt 0.250000 0.000000
vt 0.500000 0.750000
vt 0.000000 0.500000
vt 0.000000 0.750000
vt 0.000000 1.000000
vt 0.875000 0.812500
vt 0.500000 0.625000
vt 0.500000 0.812500
vt 0.875000 0.812500
vt 0.500000 0.625000
vt 0.500000 0.812500
vt 0.875000 0.625000
vt 0.500000 0.250000
vt 0.875000 0.250000
vt 0.875000 0.625000
vt 0.500000 0.250000
vt 0.875000 0.250000
vt 0.875000 0.625000
vt 0.500000 0.250000
vt 0.875000 0.250000
vt 0.875000 0.625000
vt 0.500000 0.250000
vt 0.875000 0.250000
vt 0.500000 0.250000
vt 0.875000 0.250000
vt 0.000000 1.000000
vt 0.875000 0.812500
vt 0.500000 1.000000
vt 0.875000 1.000000
vt 0.500000 0.625000
vt 0.500000 0.812500
vt 0.500000 1.000000
vt 0.875000 1.000000
vt 0.875000 0.812500
vt 0.500000 0.625000
vt 0.500000 0.812500
vt 0.500000 1.000000
vt 0.875000 1.000000
vt 0.500000 1.000000
vt 0.875000 1.000000
vt -0.000000 1.000000
vt 0.500000 1.000000
vt 0.000000 1.000000
vt 0.500000 0.750000
vt 0.000000 0.750000
vt 0.000000 0.500000
vt 0.500000 0.500000
vt 0.500000 0.500000
vt -0.000000 0.000000
vt 0.500000 0.500000
vt 0.500000 0.000000
vt 0.500000 0.500000
vt 0.500000 1.000000
vt 0.875000 0.625000
vt 0.875000 0.625000
vt 0.500000 0.625000
vt 0.500000 0.625000
vt 0.500000 0.625000
vt 0.500000 0.625000
vt 0.500000 1.000000
vt 0.875000 0.625000
vt 0.875000 0.625000
vt 0.500000 1.000000
vt 0.500000 0.500000
vt 0.500000 0.000000
vt 0.500000 1.000000
vt 0.250000 1.000000
vt 0.250000 -0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.750000 1.000000
vt 0.750000 0.000000
vn -0.3842 0.8402 -0.3827
vn 0.3847 0.8403 -0.3819
vn 0.0000 1.0000 0.0000
vn -0.4713 0.7455 0.4713
vn 0.3833 0.8403 -0.3833
vn 0.0000 0.7482 0.6635
vn 0.6635 0.7482 -0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 1.0000 0.0000 0.0000
vn -0.4699 0.7455 0.4726
vn -0.6979 0.6171 -0.3635
vn -0.6635 0.7482 -0.0000
vn 0.6979 0.6171 0.3635
vn -0.0000 0.7482 -0.6635
vn 0.3635 0.6171 -0.6979
vn -0.3635 0.6171 0.6979
vn -0.1925 0.7280 -0.6580
vn 0.3833 0.8403 0.3833
vn -0.6580 0.7280 -0.1925
vn 0.1928 0.7276 -0.6584
vn 0.0014 1.0000 0.0014
vn -0.2680 0.6247 0.7334
vn 0.6580 0.7280 -0.1925
vn 0.3635 0.6171 0.6979
vn 0.6979 0.6171 -0.3635
vn -0.7337 0.6243 0.2683
vn -0.6979 0.6171 0.3635
vn -0.3635 0.6171 -0.6979
vn -0.3827 0.8402 -0.3842
vn 0.1925 0.7280 0.6580
vn 0.6580 0.7280 0.1925
vn -0.7071 0.0000 0.7071
vn -0.7071 0.0000 -0.7071
vn 0.7071 0.0000 -0.7071
vn 0.7071 0.0000 0.7071
g Cube_Cube_lotus
usemtl lotus
s off
f 55/1/1 31/2/1 56/3/1
f 52/4/2 32/5/2 51/6/2
f 51/7/3 42/8/3 53/9/3
f 41/10/4 2/11/4 42/12/4
f 5/13/5 52/4/5 51/6/5
f 45/14/6 12/15/6 46/16/6
f 48/17/7 16/18/7 47/19/7
f 24/20/8 25/21/8 23/22/8
f 26/23/9 29/24/9 25/25/9
f 30/26/10 27/27/10 29/28/10
f 28/29/11 23/30/11 27/31/11
f 26/23/3 28/32/3 30/33/3
f 31/34/12 41/10/12 42/12/12
f 43/35/13 18/36/13 20/37/13
f 43/35/14 14/38/14 44/39/14
f 48/17/15 12/40/15 11/41/15
f 50/42/16 18/43/16 49/44/16
f 50/42/17 16/45/17 22/46/17
f 45/14/18 14/47/18 13/48/18
f 55/1/19 32/49/19 8/50/19
f 2/51/20 54/52/20 53/53/20
f 54/52/20 5/54/20 53/53/20
f 55/1/21 9/55/21 31/2/21
f 52/4/22 6/56/22 32/5/22
f 53/9/3 5/57/3 51/7/3
f 51/7/23 32/5/23 31/58/23
f 42/8/3 2/59/3 53/9/3
f 51/7/23 31/58/23 42/8/23
f 41/10/24 7/60/24 2/11/24
f 5/13/25 10/61/25 52/4/25
f 45/14/26 19/62/26 12/15/26
f 48/17/27 15/63/27 16/18/27
f 24/20/8 26/64/8 25/21/8
f 26/23/9 30/65/9 29/24/9
f 30/26/10 28/66/10 27/27/10
f 28/29/11 24/67/11 23/30/11
f 26/23/3 24/67/3 28/32/3
f 31/34/28 3/68/28 41/10/28
f 43/35/14 44/39/14 18/36/14
f 43/35/29 21/69/29 14/38/29
f 48/17/7 47/19/7 12/40/7
f 50/42/30 17/70/30 18/43/30
f 50/42/16 49/44/16 16/45/16
f 45/14/6 46/16/6 14/47/6
f 55/1/31 56/3/31 32/49/31
f 2/51/32 1/71/32 54/52/32
f 54/52/33 4/72/33 5/54/33
g Cube_Cube_flies
usemtl flies
f 33/73/34 34/74/34 36/75/34 35/76/34
f 35/76/35 36/75/35 40/77/35 39/78/35
f 39/79/36 40/80/36 38/81/36 37/82/36
f 37/82/37 38/81/37 34/74/37 33/73/37

View File

@ -0,0 +1,243 @@
# Blender v2.83.20 OBJ File: 'everness_mineral_torch.blend'
# www.blender.org
mtllib everness_mineral_torch.mtl
o everness_mineral_torch.vox
v -0.062500 -0.490000 0.062500
v -0.062500 0.135000 0.062500
v -0.125000 0.135000 -0.125000
v -0.125000 0.385000 0.125000
v -0.000000 0.510000 0.062500
v -0.000000 0.447500 0.062500
v 0.000000 0.447500 0.250000
v 0.125000 0.385000 -0.125000
v -0.000000 -0.052500 0.062500
v 0.062500 -0.490000 0.062500
v 0.000000 0.447500 0.187500
v -0.000000 0.010000 0.062500
v 0.000000 0.135000 0.187500
v 0.125000 0.385000 0.125000
v 0.000000 0.385000 -0.187500
v -0.000000 0.072500 0.125000
v 0.000000 0.447500 -0.062500
v 0.000000 0.385000 0.250000
v -0.000000 0.010000 0.125000
v 0.000000 -0.052500 -0.125000
v 0.000000 0.010000 -0.125000
v -0.000000 -0.052500 0.125000
v 0.000000 0.010000 -0.187500
v 0.000000 0.072500 -0.187500
v 0.000000 0.072500 -0.250000
v 0.000000 0.135000 -0.250000
v 0.000000 0.510000 0.187500
v 0.062500 0.135000 -0.125000
v 0.000000 0.135000 -0.312500
v -0.125000 0.385000 -0.125000
v 0.000000 0.385000 -0.312500
v 0.000000 0.385000 0.312500
v 0.000000 0.510000 -0.187500
v 0.000000 0.135000 0.312500
v -0.062500 -0.490000 -0.062500
v 0.000000 0.385000 0.187500
v 0.062500 -0.490000 -0.062500
v 0.000000 0.135000 0.250000
v 0.000000 0.072500 0.250000
v 0.000000 0.072500 0.187500
v -0.125000 0.135000 0.125000
v 0.062500 0.135000 0.062500
v 0.125000 0.135000 0.125000
v -0.125000 0.135000 -0.062500
v -0.062500 0.135000 -0.062500
v 0.062500 0.135000 -0.062500
v 0.125000 0.135000 -0.125000
v 0.000000 0.385000 -0.250000
v 0.000000 0.072500 -0.125000
v 0.000000 0.135000 -0.187500
v 0.000000 0.010000 0.187500
v 0.000000 0.010000 -0.062500
v 0.000000 0.447500 -0.187500
v 0.000000 -0.052500 -0.062500
v 0.000000 0.447500 -0.250000
v 0.000000 0.510000 -0.062500
v 0.196875 0.072500 0.187500
v -0.178125 0.072500 0.187500
v -0.178125 0.447500 -0.187500
v 0.196875 0.447500 0.187500
v 0.196875 0.447500 -0.187500
v -0.178125 0.447500 0.187500
v -0.178125 0.072500 -0.187500
v 0.196875 0.072500 -0.187500
vt 0.250000 0.500000
vt 0.187500 0.437500
vt 0.250000 0.437500
vt 0.187500 0.562500
vt 0.125000 0.500000
vt 0.187500 0.500000
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.187500 0.875000
vt 0.125000 0.625000
vt 0.062500 0.562500
vt 0.125000 0.562500
vt 0.125000 0.937500
vt 0.062500 0.875000
vt 0.125000 0.875000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.125000 1.000000
vt 0.250000 0.937500
vt 0.250000 1.000000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.187500 0.625000
vt 0.187500 0.875000
vt 0.375000 0.625000
vt 0.500000 0.625000
vt 0.562500 0.562500
vt 0.500000 0.562500
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.000000 0.625000
vt 0.062500 0.625000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.562500 0.875000
vt 0.625000 0.625000
vt 0.562500 0.625000
vt 0.500000 0.937500
vt 0.500000 0.875000
vt 0.437500 0.562500
vt 0.500000 0.500000
vt 0.437500 0.500000
vt 0.250000 -0.000000
vt 0.125000 0.125000
vt 0.125000 -0.000000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.250000 0.687500
vt 0.375000 0.812500
vt 0.437500 0.812500
vt 0.437500 0.875000
vt 0.375000 0.500000
vt 0.437500 0.437500
vt 0.375000 0.437500
vt 0.500000 1.000000
vt 0.375000 0.937500
vt 0.375000 1.000000
vt 0.187500 0.625000
vt 0.062500 0.937500
vt 0.375000 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.000000 0.875000
vt 0.625000 0.875000
vt 0.562500 0.937500
vt 0.250000 0.125000
vt 0.250000 0.812500
vt 0.250000 0.875000
vt 0.187500 0.875000
vt 0.375000 0.687500
vt 0.333333 1.000000
vt 0.500000 -0.000000
vt 0.500000 1.000000
vt 0.666667 -0.000000
vt 0.166667 -0.000000
vt 0.166667 1.000000
vt 0.833333 -0.000000
vt 0.666667 1.000000
vt 0.666667 -0.000000
vt 0.000000 1.000000
vt 0.000000 -0.000000
vt 1.000000 -0.000000
vt 0.833333 1.000000
vt 0.833333 -0.000000
vt 0.333333 -0.000000
vt 0.666667 1.000000
vt 0.833333 1.000000
vt 1.000000 1.000000
vn -1.0000 0.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
usemtl torch
s off
f 52/1/1 20/2/1 54/3/1
f 49/4/1 23/5/1 21/6/1
f 44/7/1 4/8/1 30/9/1
f 50/10/1 25/11/1 24/12/1
f 53/13/1 48/14/1 15/15/1
f 1/16/1 45/17/1 35/18/1
f 37/19/2 42/20/2 10/21/2
f 33/22/1 17/23/1 56/24/1
f 8/25/3 4/26/3 14/27/3
f 42/20/4 1/16/4 10/21/4
f 41/28/4 14/27/4 4/29/4
f 46/30/5 35/18/5 45/17/5
f 13/31/2 39/32/2 40/33/2
f 28/34/5 30/35/5 8/25/5
f 48/14/1 29/36/1 26/37/1
f 14/38/2 47/39/2 8/40/2
f 18/41/2 34/42/2 38/43/2
f 11/44/2 18/41/2 36/45/2
f 16/46/2 51/47/2 19/48/2
f 1/49/6 37/50/6 10/51/6
f 43/52/6 41/53/6 42/54/6
f 45/55/6 44/56/6 3/57/6
f 12/58/2 22/59/2 9/60/2
f 27/61/2 6/62/2 5/63/2
f 52/1/1 21/6/1 20/2/1
f 49/4/1 24/12/1 23/5/1
f 30/9/1 3/64/1 44/7/1
f 44/7/1 41/53/1 4/8/1
f 50/10/1 26/37/1 25/11/1
f 53/13/1 55/65/1 48/14/1
f 1/16/1 2/66/1 45/17/1
f 37/19/2 46/30/2 42/20/2
f 33/22/1 53/13/1 17/23/1
f 8/25/3 30/67/3 4/26/3
f 42/20/4 2/66/4 1/16/4
f 41/28/4 43/68/4 14/27/4
f 46/30/5 37/19/5 35/18/5
f 13/31/2 38/43/2 39/32/2
f 8/25/5 47/69/5 28/34/5
f 28/34/5 3/70/5 30/35/5
f 48/14/1 31/71/1 29/36/1
f 14/38/2 43/52/2 47/39/2
f 18/41/2 32/72/2 34/42/2
f 11/44/2 7/73/2 18/41/2
f 16/46/2 40/33/2 51/47/2
f 1/49/6 35/74/6 37/50/6
f 42/54/6 46/75/6 43/52/6
f 46/75/6 28/76/6 47/77/6
f 43/52/6 46/75/6 47/77/6
f 41/53/6 44/56/6 2/78/6
f 44/56/6 45/55/6 2/78/6
f 41/53/6 2/78/6 42/54/6
f 3/57/6 28/76/6 45/55/6
f 28/76/6 46/75/6 45/55/6
f 12/58/2 19/48/2 22/59/2
f 27/61/2 11/44/2 6/62/2
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
usemtl particle_cube
f 60/79/2 64/80/2 61/81/2
f 63/82/5 61/81/5 64/80/5
f 58/83/4 60/79/4 62/84/4
f 61/85/3 62/86/3 60/87/3
f 58/83/1 59/88/1 63/89/1
f 58/90/6 64/91/6 57/92/6
f 60/79/2 57/93/2 64/80/2
f 63/82/5 59/94/5 61/81/5
f 58/83/4 57/93/4 60/79/4
f 61/85/3 59/95/3 62/86/3
f 58/83/1 62/84/1 59/88/1
f 58/90/6 63/96/6 64/91/6

View File

@ -0,0 +1,243 @@
# Blender v2.83.20 OBJ File: 'everness_mineral_torch_wall.blend'
# www.blender.org
mtllib everness_mineral_torch_ceiling.mtl
o everness_mineral_torch.vox
v 0.062500 -0.561250 -0.170873
v 0.062500 -0.019984 0.141627
v -0.125000 -0.051234 0.195753
v 0.125000 0.165272 0.320753
v 0.062500 0.336025 0.275000
v 0.062500 0.281899 0.243750
v 0.250000 0.281899 0.243750
v -0.125000 0.290272 0.104247
v 0.062500 -0.151114 -0.006250
v 0.062500 -0.498750 -0.279127
v 0.187500 0.281899 0.243750
v 0.062500 -0.096987 0.025000
v 0.187500 0.011266 0.087500
v 0.125000 0.290272 0.104247
v -0.187500 0.227772 0.212500
v 0.125000 -0.042861 0.056250
v -0.062500 0.281899 0.243750
v 0.250000 0.227772 0.212500
v 0.125000 -0.096987 0.025000
v -0.125000 -0.151114 -0.006250
v -0.125000 -0.096987 0.025000
v 0.125000 -0.151114 -0.006250
v -0.187500 -0.096987 0.025000
v -0.187500 -0.042861 0.056250
v -0.250000 -0.042861 0.056250
v -0.250000 0.011266 0.087500
v 0.187500 0.336025 0.275000
v -0.125000 0.042516 0.033373
v -0.312500 0.011266 0.087500
v -0.125000 0.165272 0.320753
v -0.312500 0.227772 0.212500
v 0.312500 0.227772 0.212500
v -0.187500 0.336025 0.275000
v 0.312500 0.011266 0.087500
v -0.062500 -0.561250 -0.170873
v 0.187500 0.227772 0.212500
v -0.062500 -0.498750 -0.279127
v 0.250000 0.011266 0.087500
v 0.250000 -0.042861 0.056250
v 0.187500 -0.042861 0.056250
v 0.125000 -0.051234 0.195753
v 0.062500 0.042516 0.033373
v 0.125000 0.073766 -0.020753
v -0.062500 -0.051234 0.195753
v -0.062500 -0.019984 0.141627
v -0.062500 0.042516 0.033373
v -0.125000 0.073766 -0.020753
v -0.250000 0.227772 0.212500
v -0.125000 -0.042861 0.056250
v -0.187500 0.011266 0.087500
v 0.187500 -0.096987 0.025000
v -0.062500 -0.096987 0.025000
v -0.187500 0.281899 0.243750
v -0.062500 -0.151114 -0.006250
v -0.250000 0.281899 0.243750
v -0.062500 0.336025 0.275000
v 0.187500 0.055577 -0.114249
v 0.187500 -0.131923 0.210511
v -0.187500 0.192836 0.398011
v 0.187500 0.380336 0.073251
v -0.187500 0.380336 0.073251
v 0.187500 0.192836 0.398011
v -0.187500 -0.131923 0.210511
v -0.187500 0.055577 -0.114249
vt 0.250000 0.500000
vt 0.187500 0.437500
vt 0.250000 0.437500
vt 0.187500 0.562500
vt 0.125000 0.500000
vt 0.187500 0.500000
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.187500 0.875000
vt 0.125000 0.625000
vt 0.062500 0.562500
vt 0.125000 0.562500
vt 0.125000 0.937500
vt 0.062500 0.875000
vt 0.125000 0.875000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.125000 1.000000
vt 0.250000 0.937500
vt 0.250000 1.000000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.187500 0.625000
vt 0.187500 0.875000
vt 0.375000 0.625000
vt 0.500000 0.625000
vt 0.562500 0.562500
vt 0.500000 0.562500
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.000000 0.625000
vt 0.062500 0.625000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.562500 0.875000
vt 0.625000 0.625000
vt 0.562500 0.625000
vt 0.500000 0.937500
vt 0.500000 0.875000
vt 0.437500 0.562500
vt 0.500000 0.500000
vt 0.437500 0.500000
vt 0.250000 -0.000000
vt 0.125000 0.125000
vt 0.125000 -0.000000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.250000 0.687500
vt 0.375000 0.812500
vt 0.437500 0.812500
vt 0.437500 0.875000
vt 0.375000 0.500000
vt 0.437500 0.437500
vt 0.375000 0.437500
vt 0.500000 1.000000
vt 0.375000 0.937500
vt 0.375000 1.000000
vt 0.187500 0.625000
vt 0.062500 0.937500
vt 0.375000 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.000000 0.875000
vt 0.625000 0.875000
vt 0.562500 0.937500
vt 0.250000 0.125000
vt 0.250000 0.812500
vt 0.250000 0.875000
vt 0.187500 0.875000
vt 0.375000 0.687500
vt 0.333333 1.000000
vt 0.500000 -0.000000
vt 0.500000 1.000000
vt 0.666667 -0.000000
vt 0.166667 -0.000000
vt 0.166667 1.000000
vt 0.833333 -0.000000
vt 0.666667 1.000000
vt 0.666667 -0.000000
vt 0.000000 1.000000
vt 0.000000 -0.000000
vt 1.000000 -0.000000
vt 0.833333 1.000000
vt 0.833333 -0.000000
vt 0.333333 -0.000000
vt 0.666667 1.000000
vt 0.833333 1.000000
vt 1.000000 1.000000
vn 0.0000 -0.5000 0.8660
vn 0.0000 0.5000 -0.8660
vn 0.0000 0.8660 0.5000
vn 1.0000 0.0000 -0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -0.8660 -0.5000
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
usemtl torch
s off
f 52/1/1 20/2/1 54/3/1
f 49/4/1 23/5/1 21/6/1
f 44/7/1 4/8/1 30/9/1
f 50/10/1 25/11/1 24/12/1
f 53/13/1 48/14/1 15/15/1
f 1/16/1 45/17/1 35/18/1
f 37/19/2 42/20/2 10/21/2
f 33/22/1 17/23/1 56/24/1
f 8/25/3 4/26/3 14/27/3
f 42/20/4 1/16/4 10/21/4
f 41/28/4 14/27/4 4/29/4
f 46/30/5 35/18/5 45/17/5
f 13/31/2 39/32/2 40/33/2
f 28/34/5 30/35/5 8/25/5
f 48/14/1 29/36/1 26/37/1
f 14/38/2 47/39/2 8/40/2
f 18/41/2 34/42/2 38/43/2
f 11/44/2 18/41/2 36/45/2
f 16/46/2 51/47/2 19/48/2
f 1/49/6 37/50/6 10/51/6
f 43/52/6 41/53/6 42/54/6
f 45/55/6 44/56/6 3/57/6
f 12/58/2 22/59/2 9/60/2
f 27/61/2 6/62/2 5/63/2
f 52/1/1 21/6/1 20/2/1
f 49/4/1 24/12/1 23/5/1
f 30/9/1 3/64/1 44/7/1
f 44/7/1 41/53/1 4/8/1
f 50/10/1 26/37/1 25/11/1
f 53/13/1 55/65/1 48/14/1
f 1/16/1 2/66/1 45/17/1
f 37/19/2 46/30/2 42/20/2
f 33/22/1 53/13/1 17/23/1
f 8/25/3 30/67/3 4/26/3
f 42/20/4 2/66/4 1/16/4
f 41/28/4 43/68/4 14/27/4
f 46/30/5 37/19/5 35/18/5
f 13/31/2 38/43/2 39/32/2
f 8/25/5 47/69/5 28/34/5
f 28/34/5 3/70/5 30/35/5
f 48/14/1 31/71/1 29/36/1
f 14/38/2 43/52/2 47/39/2
f 18/41/2 32/72/2 34/42/2
f 11/44/2 7/73/2 18/41/2
f 16/46/2 40/33/2 51/47/2
f 1/49/6 35/74/6 37/50/6
f 42/54/6 46/75/6 43/52/6
f 46/75/6 28/76/6 47/77/6
f 43/52/6 46/75/6 47/77/6
f 41/53/6 44/56/6 2/78/6
f 44/56/6 45/55/6 2/78/6
f 41/53/6 2/78/6 42/54/6
f 3/57/6 28/76/6 45/55/6
f 28/76/6 46/75/6 45/55/6
f 12/58/2 19/48/2 22/59/2
f 27/61/2 11/44/2 6/62/2
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
usemtl particle_cube
f 60/79/2 64/80/2 61/81/2
f 63/82/5 61/81/5 64/80/5
f 58/83/4 60/79/4 62/84/4
f 61/85/3 62/86/3 60/87/3
f 58/83/1 59/88/1 63/89/1
f 58/90/6 64/91/6 57/92/6
f 60/79/2 57/93/2 64/80/2
f 63/82/5 59/94/5 61/81/5
f 58/83/4 57/93/4 60/79/4
f 61/85/3 59/95/3 62/86/3
f 58/83/1 62/84/1 59/88/1
f 58/90/6 63/96/6 64/91/6

View File

@ -0,0 +1,243 @@
# Blender v2.83.20 OBJ File: 'everness_mineral_torch.blend'
# www.blender.org
mtllib everness_mineral_torch_wall.mtl
o everness_mineral_torch.vox
v 0.062500 -0.594127 -0.408750
v 0.062500 -0.281627 0.132516
v -0.125000 -0.335753 0.163766
v 0.125000 -0.210753 0.380272
v 0.062500 -0.040000 0.426025
v 0.062500 -0.071250 0.371899
v 0.250000 -0.071250 0.371899
v -0.125000 0.005753 0.255272
v 0.062500 -0.321250 -0.061114
v 0.062500 -0.485873 -0.471250
v 0.187500 -0.071250 0.371899
v 0.062500 -0.290000 -0.006987
v 0.187500 -0.227500 0.101266
v 0.125000 0.005753 0.255272
v -0.187500 -0.102500 0.317772
v 0.125000 -0.258750 0.047139
v -0.062500 -0.071250 0.371899
v 0.250000 -0.102500 0.317772
v 0.125000 -0.290000 -0.006987
v -0.125000 -0.321250 -0.061114
v -0.125000 -0.290000 -0.006987
v 0.125000 -0.321250 -0.061114
v -0.187500 -0.290000 -0.006987
v -0.187500 -0.258750 0.047139
v -0.250000 -0.258750 0.047139
v -0.250000 -0.227500 0.101266
v 0.187500 -0.040000 0.426025
v -0.125000 -0.173373 0.070016
v -0.312500 -0.227500 0.101266
v -0.125000 -0.210753 0.380272
v -0.312500 -0.102500 0.317772
v 0.312500 -0.102500 0.317772
v -0.187500 -0.040000 0.426025
v 0.312500 -0.227500 0.101266
v -0.062500 -0.594127 -0.408750
v 0.187500 -0.102500 0.317772
v -0.062500 -0.485873 -0.471250
v 0.250000 -0.227500 0.101266
v 0.250000 -0.258750 0.047139
v 0.187500 -0.258750 0.047139
v 0.125000 -0.335753 0.163766
v 0.062500 -0.173373 0.070016
v 0.125000 -0.119247 0.038766
v -0.062500 -0.335753 0.163766
v -0.062500 -0.281627 0.132516
v -0.062500 -0.173373 0.070016
v -0.125000 -0.119247 0.038766
v -0.250000 -0.102500 0.317772
v -0.125000 -0.258750 0.047139
v -0.187500 -0.227500 0.101266
v 0.187500 -0.290000 -0.006987
v -0.062500 -0.290000 -0.006987
v -0.187500 -0.071250 0.371899
v -0.062500 -0.321250 -0.061114
v -0.250000 -0.071250 0.371899
v -0.062500 -0.040000 0.426025
v 0.187500 -0.088251 -0.051298
v 0.187500 -0.413011 0.136202
v -0.187500 -0.225511 0.460961
v 0.187500 0.099249 0.273461
v -0.187500 0.099249 0.273461
v 0.187500 -0.225511 0.460961
v -0.187500 -0.413011 0.136202
v -0.187500 -0.088251 -0.051298
vt 0.250000 0.500000
vt 0.187500 0.437500
vt 0.250000 0.437500
vt 0.187500 0.562500
vt 0.125000 0.500000
vt 0.187500 0.500000
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.187500 0.875000
vt 0.125000 0.625000
vt 0.062500 0.562500
vt 0.125000 0.562500
vt 0.125000 0.937500
vt 0.062500 0.875000
vt 0.125000 0.875000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.375000 0.000000
vt 0.250000 0.625000
vt 0.250000 0.000000
vt 0.125000 1.000000
vt 0.250000 0.937500
vt 0.250000 1.000000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.187500 0.625000
vt 0.187500 0.875000
vt 0.375000 0.625000
vt 0.500000 0.625000
vt 0.562500 0.562500
vt 0.500000 0.562500
vt 0.250000 0.625000
vt 0.437500 0.875000
vt 0.000000 0.625000
vt 0.062500 0.625000
vt 0.187500 0.875000
vt 0.437500 0.625000
vt 0.437500 0.875000
vt 0.562500 0.875000
vt 0.625000 0.625000
vt 0.562500 0.625000
vt 0.500000 0.937500
vt 0.500000 0.875000
vt 0.437500 0.562500
vt 0.500000 0.500000
vt 0.437500 0.500000
vt 0.250000 -0.000000
vt 0.125000 0.125000
vt 0.125000 -0.000000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.250000 0.687500
vt 0.375000 0.812500
vt 0.437500 0.812500
vt 0.437500 0.875000
vt 0.375000 0.500000
vt 0.437500 0.437500
vt 0.375000 0.437500
vt 0.500000 1.000000
vt 0.375000 0.937500
vt 0.375000 1.000000
vt 0.187500 0.625000
vt 0.062500 0.937500
vt 0.375000 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.187500 0.625000
vt 0.437500 0.625000
vt 0.000000 0.875000
vt 0.625000 0.875000
vt 0.562500 0.937500
vt 0.250000 0.125000
vt 0.250000 0.812500
vt 0.250000 0.875000
vt 0.187500 0.875000
vt 0.375000 0.687500
vt 0.333333 1.000000
vt 0.500000 -0.000000
vt 0.500000 1.000000
vt 0.666667 -0.000000
vt 0.166667 -0.000000
vt 0.166667 1.000000
vt 0.833333 -0.000000
vt 0.666667 1.000000
vt 0.666667 -0.000000
vt 0.000000 1.000000
vt 0.000000 -0.000000
vt 1.000000 -0.000000
vt 0.833333 1.000000
vt 0.833333 -0.000000
vt 0.333333 -0.000000
vt 0.666667 1.000000
vt 0.833333 1.000000
vt 1.000000 1.000000
vn 0.0000 -0.8660 0.5000
vn 0.0000 0.8660 -0.5000
vn 0.0000 0.5000 0.8660
vn 1.0000 0.0000 -0.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -0.5000 -0.8660
g everness_mineral_torch.vox_everness_mineral_torch.vox_torch
usemtl torch
s off
f 52/1/1 20/2/1 54/3/1
f 49/4/1 23/5/1 21/6/1
f 44/7/1 4/8/1 30/9/1
f 50/10/1 25/11/1 24/12/1
f 53/13/1 48/14/1 15/15/1
f 1/16/1 45/17/1 35/18/1
f 37/19/2 42/20/2 10/21/2
f 33/22/1 17/23/1 56/24/1
f 8/25/3 4/26/3 14/27/3
f 42/20/4 1/16/4 10/21/4
f 41/28/4 14/27/4 4/29/4
f 46/30/5 35/18/5 45/17/5
f 13/31/2 39/32/2 40/33/2
f 28/34/5 30/35/5 8/25/5
f 48/14/1 29/36/1 26/37/1
f 14/38/2 47/39/2 8/40/2
f 18/41/2 34/42/2 38/43/2
f 11/44/2 18/41/2 36/45/2
f 16/46/2 51/47/2 19/48/2
f 1/49/6 37/50/6 10/51/6
f 43/52/6 41/53/6 42/54/6
f 45/55/6 44/56/6 3/57/6
f 12/58/2 22/59/2 9/60/2
f 27/61/2 6/62/2 5/63/2
f 52/1/1 21/6/1 20/2/1
f 49/4/1 24/12/1 23/5/1
f 30/9/1 3/64/1 44/7/1
f 44/7/1 41/53/1 4/8/1
f 50/10/1 26/37/1 25/11/1
f 53/13/1 55/65/1 48/14/1
f 1/16/1 2/66/1 45/17/1
f 37/19/2 46/30/2 42/20/2
f 33/22/1 53/13/1 17/23/1
f 8/25/3 30/67/3 4/26/3
f 42/20/4 2/66/4 1/16/4
f 41/28/4 43/68/4 14/27/4
f 46/30/5 37/19/5 35/18/5
f 13/31/2 38/43/2 39/32/2
f 8/25/5 47/69/5 28/34/5
f 28/34/5 3/70/5 30/35/5
f 48/14/1 31/71/1 29/36/1
f 14/38/2 43/52/2 47/39/2
f 18/41/2 32/72/2 34/42/2
f 11/44/2 7/73/2 18/41/2
f 16/46/2 40/33/2 51/47/2
f 1/49/6 35/74/6 37/50/6
f 42/54/6 46/75/6 43/52/6
f 46/75/6 28/76/6 47/77/6
f 43/52/6 46/75/6 47/77/6
f 41/53/6 44/56/6 2/78/6
f 44/56/6 45/55/6 2/78/6
f 41/53/6 2/78/6 42/54/6
f 3/57/6 28/76/6 45/55/6
f 28/76/6 46/75/6 45/55/6
f 12/58/2 19/48/2 22/59/2
f 27/61/2 11/44/2 6/62/2
g everness_mineral_torch.vox_everness_mineral_torch.vox_particle_cube
usemtl particle_cube
f 60/79/2 64/80/2 61/81/2
f 63/82/5 61/81/5 64/80/5
f 58/83/4 60/79/4 62/84/4
f 61/85/3 62/86/3 60/87/3
f 58/83/1 59/88/1 63/89/1
f 58/90/6 64/91/6 57/92/6
f 60/79/2 57/93/2 64/80/2
f 63/82/5 59/94/5 61/81/5
f 58/83/4 57/93/4 60/79/4
f 61/85/3 59/95/3 62/86/3
f 58/83/1 62/84/1 59/88/1
f 58/90/6 63/96/6 64/91/6

File diff suppressed because it is too large Load Diff

1877
nodes.lua

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())

View File

@ -12,8 +12,6 @@
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
--]]
local S = minetest.get_translator(minetest.get_current_modname())

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -360,6 +360,30 @@ everness_forsaken_tundra_under_y_max (y max) int -256
# Lower limit for biome.
everness_forsaken_tundra_under_y_min (y min) int -31000
[*Mineral Waters]
# Enable/ Disable Mineral Waters Biome
# Disabling this biome might result in missing recipes.
everness_mineral_waters (Mineral Waters) bool true
# Upper limit for biome.
everness_mineral_waters_y_max (y max) int 31000
# Lower limit for biome.
everness_mineral_waters_y_min (y min) int 1
[*Mineral Waters Under]
# Enable/ Disable Mineral Waters Under Biome
# Disabling this biome might result in missing recipes.
everness_mineral_waters_under (Mineral Waters) bool false
# Upper limit for biome.
everness_mineral_waters_under_y_max (y max) int -256
# Lower limit for biome.
everness_mineral_waters_under_y_min (y min) int -31000
[Features]
# Enable/ Disable Item pick up with sneak key

View File

@ -12,8 +12,6 @@
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
--]]
local skybox_defs = {
@ -678,7 +676,22 @@ local skybox_defs = {
fog_moon_tint = '#BE972D'
}
}
},
everness_mineral_waters = {
sky_parameters = {
type = 'regular',
sky_color = {
day_sky = '#264890',
day_horizon = '#3884CF',
dawn_sky = '#B4BAFA',
dawn_horizon = '#FDA47E',
night_sky = '#A3609E',
night_horizon = '#C7A8D9',
fog_sun_tint = '#FDA47E',
fog_moon_tint = '#FAE0EB'
}
}
},
}
local function should_flip(player)

View File

@ -12,8 +12,6 @@
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
--]]
local DELAY = 0

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