diff --git a/LICENSE.txt b/LICENSE.txt index 600eb82..49df68d 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -785,6 +785,8 @@ GNU Lesser General Public License v2.1 or later (see included LICENSE file) - everness_dry_tree_sapling.png - everness_sequoia_tree_sapling.png - everness_willow_tree_sapling.png +- everness_amaranita_lantern_item.png +- everness_lumecorn_item.png **CC-BY-SA-4.0, Pixel Perfection by XSSheep**, https://minecraft.curseforge.com/projects/pixel-perfection-freshly-updated diff --git a/README.md b/README.md index a58a483..f103a96 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,8 @@ Everness is a mapgen, which aims to provide an endless array of beautiful biomes from the surface lands to the caverns with custom-painted -textures. It creates both a sense of dicovery and danger when one lands in the -wrong biome. It also adds structures, dungeons with loot chests, custom sounds and custom -skyboxes based on the biome. +textures. It creates both a sense of discovery and of danger when one lands in the wrong biome. +It also adds structures, dungeons with loot chests, and custom skyboxes based on the biome. ![screenshot](screenshot.png) diff --git a/assets/everness_lumecorn.blend b/assets/everness_lumecorn.blend index c56dc7a..ea546ef 100644 Binary files a/assets/everness_lumecorn.blend and b/assets/everness_lumecorn.blend differ diff --git a/functions.lua b/functions.lua index 3782431..fe9cc1b 100644 --- a/functions.lua +++ b/functions.lua @@ -17,23 +17,44 @@ --]] -- --- Convert everness:dirt to something that fits the environment +-- Convert dirt to something that fits the environment -- +local grass_covered_mapping = { + ['everness:coral_dirt'] = { 'everness:dirt_with_coral_grass' }, + ['everness:cursed_dirt'] = { 'everness:dirt_with_cursed_grass' }, + ['everness:crystal_dirt'] = { 'everness:dirt_with_crystal_grass' }, + ['everness:dirt_1'] = { + 'everness:dirt_with_grass_1', + 'everness:dirt_with_grass_2', + 'everness:dirt_with_grass_extras_1', + 'everness:dirt_with_grass_extras_2', + }, +} + +local grass_covered_mapping_under = { + ['everness:coral_desert_stone'] = { 'everness:coral_desert_stone_with_moss' }, + ['everness:soul_sandstone'] = { 'everness:soul_sandstone_veined' }, + ['everness:crystal_cave_dirt'] = { 'everness:crystal_cave_dirt_with_moss' }, + ['everness:mold_cobble'] = { 'everness:mold_stone_with_moss' }, +} + +-- Spread grass on dirt + minetest.register_abm({ label = 'Everness Grass spread', nodenames = { - 'default:dirt', 'everness:coral_dirt', 'everness:cursed_dirt', 'everness:crystal_dirt', + 'everness:dirt_1', }, neighbors = { 'air', 'group:coral_grass', 'group:cursed_grass', 'group:crystal_grass', - 'group:forsaken_tundra_grass', + 'group:bamboo_grass', }, interval = 6, chance = 50, @@ -48,37 +69,62 @@ minetest.register_abm({ -- Look for spreading dirt-type neighbours local p2 = minetest.find_node_near(pos, 1, 'group:everness_spreading_dirt_type') - or minetest.find_node_near(pos, 1, 'group:spreading_dirt_type') if p2 then - local n3 = minetest.get_node(p2) - minetest.set_node(pos, { name = n3.name }) + local n3_def = grass_covered_mapping[node.name] + + if not n3_def then + return + end + + local n3_name = n3_def[1] + + if #n3_def > 1 then + n3_name = n3_def[math.random(1, #n3_def)] + end + + minetest.set_node(pos, {name = n3_name}) return end -- Else, any seeding nodes on top? local name = minetest.get_node(above).name - if minetest.get_item_group(name, 'coral_grass') ~= 0 then + if minetest.get_item_group(name, 'coral_grass') ~= 0 and node.name == 'everness:coral_dirt' then minetest.set_node(pos, { name = 'everness:dirt_with_coral_grass' }) - elseif minetest.get_item_group(name, 'cursed_grass') ~= 0 then + elseif minetest.get_item_group(name, 'cursed_grass') ~= 0 and node.name == 'everness:cursed_dirt' then minetest.set_node(pos, { name = 'everness:dirt_with_cursed_grass' }) - elseif minetest.get_item_group(name, 'crystal_grass') ~= 0 then + elseif minetest.get_item_group(name, 'crystal_grass') ~= 0 and node.name == 'everness:crystal_dirt' then minetest.set_node(pos, { name = 'everness:dirt_with_crystal_grass' }) + elseif minetest.get_item_group(name, 'bamboo_grass') ~= 0 and node.name == 'everness:dirt_1' then + local bamboo_grass_covered_types = { + 'everness:dirt_with_grass_1', + 'everness:dirt_with_grass_2', + 'everness:dirt_with_grass_extras_1', + 'everness:dirt_with_grass_extras_2' + } + + minetest.set_node(pos, { name = bamboo_grass_covered_types[math.random(1, #bamboo_grass_covered_types)] }) end end }) --- Spread mold on stone +-- Spread mold/moss on stone/dirt - under minetest.register_abm({ - label = 'Everness Mold spread', + label = 'Everness Grass spread under', nodenames = { - 'everness:mold_cobble' + 'everness:coral_desert_stone', + 'everness:soul_sandstone', + 'everness:crystal_cave_dirt', + 'everness:mold_cobble', }, neighbors = { 'air', - 'group:moldy' + 'group:coral_grass_under', + 'group:cursed_grass_under', + 'group:crystal_grass_under', + 'group:forsaken_tundra_grass_under', }, interval = 6, chance = 50, @@ -87,70 +133,55 @@ minetest.register_abm({ -- Check for darkness: night, shadow or under a light-blocking node -- Returns if ignore above local above = { x = pos.x, y = pos.y + 1, z = pos.z } + if (minetest.get_node_light(above) or 0) < 13 then + return + end -- Look for spreading dirt-type neighbours - local p2 = minetest.find_node_near(pos, 1, 'group:everness_spreading_mold_type') + local p2 = minetest.find_node_near(pos, 1, 'group:everness_spreading_dirt_type_under') if p2 then - local n3 = minetest.get_node(p2) - minetest.set_node(pos, { name = n3.name }) + local n3_def = grass_covered_mapping_under[node.name] + + if not n3_def then + return + end + + local n3_name = n3_def[1] + + if #n3_def > 1 then + n3_name = n3_def[math.random(1, #n3_def)] + end + + minetest.set_node(pos, {name = n3_name}) return end -- Else, any seeding nodes on top? local name = minetest.get_node(above).name - if minetest.get_item_group(name, 'forsaken_tundra_grass') ~= 0 then + if minetest.get_item_group(name, 'coral_grass_under') ~= 0 and node.name == 'everness:coral_desert_stone' then + minetest.set_node(pos, { name = 'everness:coral_desert_stone_with_moss' }) + elseif minetest.get_item_group(name, 'cursed_grass_under') ~= 0 and node.name == 'everness:soul_sandstone' then + minetest.set_node(pos, { name = 'everness:soul_sandstone_veined' }) + elseif minetest.get_item_group(name, 'crystal_grass_under') ~= 0 and node.name == 'everness:crystal_cave_dirt' then + minetest.set_node(pos, { name = 'everness:crystal_cave_dirt_with_moss' }) + elseif minetest.get_item_group(name, 'forsaken_tundra_grass_under') ~= 0 and node.name == 'everness:mold_cobble' then minetest.set_node(pos, { name = 'everness:mold_stone_with_moss' }) end end }) --- Spread moss veins on stone - -minetest.register_abm({ - label = 'Everness moss veins spread', - nodenames = { - 'everness:soul_sandstone' - }, - neighbors = { - 'air', - 'group:moss_veins' - }, - interval = 6, - chance = 50, - catch_up = false, - action = function(pos, node) - -- Check for darkness: night, shadow or under a light-blocking node - -- Returns if ignore above - local above = { x = pos.x, y = pos.y + 1, z = pos.z } - - -- Look for spreading dirt-type neighbours - local p2 = minetest.find_node_near(pos, 1, 'group:everness_spreading_moss_veins_type') - - if p2 then - local n3 = minetest.get_node(p2) - minetest.set_node(pos, { name = n3.name }) - return - end - - -- Else, any seeding nodes on top? - local name = minetest.get_node(above).name - - if minetest.get_item_group(name, 'cursed_grass') ~= 0 then - minetest.set_node(pos, { name = 'everness:soul_sandstone_veined' }) - end - end -}) - - -- -- Grass and dry grass removed in darkness -- minetest.register_abm({ label = 'Everness Grass covered', - nodenames = { 'group:everness_spreading_dirt_type' }, + nodenames = { + 'group:everness_spreading_dirt_type', + 'group:everness_spreading_dirt_type_under', + }, interval = 8, chance = 50, catch_up = false, @@ -172,6 +203,20 @@ minetest.register_abm({ minetest.set_node(pos, { name = 'everness:cursed_dirt' }) elseif node.name == 'everness:dirt_with_crystal_grass' then minetest.set_node(pos, { name = 'everness:crystal_dirt' }) + elseif node.name == 'everness:dirt_with_grass_1' + or node.name == 'everness:dirt_with_grass_2' + or node.name == 'everness:dirt_with_grass_extras_1' + or node.name == 'everness:dirt_with_grass_extras_2' + then + minetest.set_node(pos, { name = 'everness:dirt_1' }) + elseif node.name == 'everness:coral_desert_stone_with_moss' then + minetest.set_node(pos, { name = 'everness:coral_desert_stone' }) + elseif node.name == 'everness:soul_sandstone_veined' then + minetest.set_node(pos, { name = 'everness:soul_sandstone' }) + elseif node.name == 'everness:crystal_cave_dirt_with_moss' then + minetest.set_node(pos, { name = 'everness:crystal_cave_dirt' }) + elseif node.name == 'everness:mold_stone_with_moss' then + minetest.set_node(pos, { name = 'everness:mold_cobble' }) end end end @@ -220,21 +265,22 @@ default.register_leafdecay({ local moss_correspondences = { ['everness:coral_desert_cobble'] = 'everness:coral_desert_mossy_cobble', - -- ['stairs:slab_cobble'] = 'stairs:slab_mossycobble', - -- ['stairs:stair_cobble'] = 'stairs:stair_mossycobble', - -- ['stairs:stair_inner_cobble'] = 'stairs:stair_inner_mossycobble', - -- ['stairs:stair_outer_cobble'] = 'stairs:stair_outer_mossycobble', - -- ['walls:cobble'] = 'walls:mossycobble', + ['stairs:slab_coral_desert_cobble'] = 'stairs:slab_coral_desert_mossy_cobble', + ['stairs:stair_coral_desert_cobble'] = 'stairs:stair_coral_desert_mossy_cobble', + ['stairs:stair_inner_coral_desert_cobble'] = 'stairs:stair_inner_coral_desert_mossy_cobble', + ['stairs:stair_outer_coral_desert_cobble'] = 'stairs:stair_outer_coral_desert_mossy_cobble', + ['everness:coral_desert_cobble_wall'] = 'everness:coral_desert_mossy_cobble_wall', } + minetest.register_abm({ label = 'Everness Moss growth', nodenames = { 'everness:coral_desert_cobble', - -- 'stairs:slab_cobble', - -- 'stairs:stair_cobble', - -- 'stairs:stair_inner_cobble', - -- 'stairs:stair_outer_cobble', - -- 'walls:cobble' + 'stairs:slab_coral_desert_cobble', + 'stairs:stair_coral_desert_cobble', + 'stairs:stair_inner_coral_desert_cobble', + 'stairs:stair_outer_coral_desert_cobble', + 'everness:coral_desert_cobble_wall', }, neighbors = { 'group:water' }, interval = 16, @@ -242,6 +288,7 @@ minetest.register_abm({ catch_up = false, action = function(pos, node) node.name = moss_correspondences[node.name] + if node.name then minetest.set_node(pos, node) end @@ -252,6 +299,21 @@ minetest.register_abm({ -- Magma growth on cobble near lava -- +local magma_correspondences = { + ['default:cobble'] = 'everness:magmacobble', + ['stairs:slab_cobble'] = 'stairs:slab_magmacobble', + ['stairs:stair_cobble'] = 'stairs:stair_magmacobble', + ['stairs:stair_inner_cobble'] = 'stairs:stair_inner_magmacobble', + ['stairs:stair_outer_cobble'] = 'stairs:stair_outer_magmacobble', + ['walls:cobble'] = 'everness:magmacobble_wall', + ['everness:volcanic_rock'] = 'everness:volcanic_rock_with_magma', + ['stairs:slab_volcanic_rock'] = 'stairs:slab_volcanic_rock_with_magma', + ['stairs:stair_volcanic_rock'] = 'stairs:stair_volcanic_rock_with_magma', + ['stairs:stair_inner_volcanic_rock'] = 'stairs:stair_inner_volcanic_rock_with_magma', + ['stairs:stair_outer_volcanic_rock'] = 'stairs:stair_outer_volcanic_rock_with_magma', + ['everness:volcanic_rock_wall'] = 'everness:volcanic_rock_with_magma_wall', +} + minetest.register_abm({ label = 'Magma growth', nodenames = { @@ -262,26 +324,21 @@ minetest.register_abm({ 'stairs:stair_outer_cobble', 'walls:cobble', 'everness:volcanic_rock', + 'stairs:slab_volcanic_rock', + 'stairs:stair_volcanic_rock', + 'stairs:stair_inner_volcanic_rock', + 'stairs:stair_outer_volcanic_rock', + 'everness:volcanic_rock_wall', }, neighbors = { 'group:lava' }, interval = 16, chance = 200, catch_up = false, action = function(pos, node) - if node.name == 'default:cobble' then - minetest.set_node(pos, { name = 'everness:magmacobble' }) - elseif node.name == 'everness:volcanic_rock' then - minetest.set_node(pos, { name = 'everness:volcanic_rock_with_magma' }) - elseif node.name == 'stairs:slab_cobble' then - minetest.set_node(pos, { name = 'stairs:slab_magmacobble', param2 = node.param2 }) - elseif node.name == 'stairs:stair_cobble' then - minetest.set_node(pos, { name = 'stairs:stair_magmacobble', param2 = node.param2 }) - elseif node.name == 'stairs:stair_inner_cobble' then - minetest.set_node(pos, { name = 'stairs:stair_inner_magmacobble', param2 = node.param2 }) - elseif node.name == 'stairs:stair_outer_cobble' then - minetest.set_node(pos, { name = 'stairs:stair_outer_magmacobble', param2 = node.param2 }) - elseif node.name == 'walls:cobble' then - minetest.set_node(pos, { name = 'x_walls:magmacobble', param2 = node.param2 }) + node.name = magma_correspondences[node.name] + + if node.name then + minetest.set_node(pos, node) end end }) diff --git a/locale/template.txt b/locale/template.txt index 8c365e0..3877cef 100644 --- a/locale/template.txt +++ b/locale/template.txt @@ -3,7 +3,6 @@ Quartz Crystal= Baobab Roasted Fruit= Pyrite Ingot= Pyrite Lump= -Bamboo= Bamboo Door= Bamboo Trapdoor= Bamboo Wood Fence Gate= @@ -15,11 +14,6 @@ Dry Wood Mese Post Light= Bamboo Wood Fence= Bamboo Wood Fence Rail= Bamboo Wood Mese Post Light= -/= - \t= -_= -_.*-= -/\')^1@nlocal Symbol @= m.S= Pyrite Ore= Pyrite Block= Forged Pyrite Block= @@ -123,6 +117,12 @@ Coral Tree Leaves= Dry Tree Branches= Crystal Tree Leaves= Coral Tree Sapling= +Coral Tree Bioluminescent Sapling= +Dry Tree Sapling= +Cursed Dream Tree Sapling= +Sequoia Tree Sapling= +Crystal Tree Sapling= +Crystal Tree Large Sapling= Crystal Bush Stem= Crystal Bush Leaves= Crystal Bush Sapling= @@ -188,6 +188,7 @@ Lumabus Vine Lantern= Eye Vine Lantern= Cursed Pumpkin Lantern= Floating Crystal= +Bamboo= Pyrite Glass Pane= Quartz Block Stair= Quartz Block Slab= @@ -219,6 +220,12 @@ Forsaken Tundra Brick Stair= Forsaken Tundra Brick Slab= Willow Wood Stair= Willow Wood Slab= +Magma Cobblestone Stair= +Magma Cobblestone Slab= +Volcanic Rock Stair= +Volcanic Rock Slab= +Volcanic Rock with Magma Stair= +Volcanic Rock with Magma Slab= Vine Shears= Cave Vine= Cave Vine with Mese Leaves= @@ -239,3 +246,6 @@ Cursed Brick Wall= Forsaken Tundra Cobblestone Wall= Forsaken Tundra Stone Wall= Forsaken Tundra Brick Wall= +Magma Cobblestone Wall= +Volcanic Rock Wall= +Volcanic Rock with Magma Wall= diff --git a/mapgen.lua b/mapgen.lua index ae3bbba..a16d375 100644 --- a/mapgen.lua +++ b/mapgen.lua @@ -2035,7 +2035,7 @@ minetest.register_decoration({ -- Bamboo forest minetest.register_decoration({ - name = 'everness:everness_small_bamboo_forest', + name = 'everness:small_bamboo_forest', deco_type = 'schematic', place_on = { 'everness:dirt_with_grass_1' }, sidelen = 80, @@ -2049,7 +2049,7 @@ minetest.register_decoration({ }) minetest.register_decoration({ - name = 'everness:everness_large_bamboo_forest', + name = 'everness:large_bamboo_forest', deco_type = 'schematic', place_on = { 'everness:dirt_with_grass_1' }, sidelen = 80, @@ -2171,6 +2171,29 @@ minetest.register_decoration({ flags = 'all_floors' }) +minetest.register_decoration({ + name = 'everness:blue_vine_lantern', + deco_type = 'simple', + place_on = { + 'everness:moss_block', + 'default:clay' + }, + 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_bamboo_forest_under' }, + y_max = -2025, + y_min = -31000, + decoration = { 'everness:blue_vine_lantern' }, + flags = 'all_floors', +}) + -- Jungle tree and log minetest.register_decoration({ diff --git a/models/everness_lumecorn.obj b/models/everness_lumecorn.obj index b4c51c1..a13dc76 100644 --- a/models/everness_lumecorn.obj +++ b/models/everness_lumecorn.obj @@ -2,31 +2,31 @@ # www.blender.org mtllib everness_lumecorn.mtl o Cube -v 0.441942 0.625000 -0.441942 -v 0.441942 -0.625000 -0.441942 -v -0.441942 0.625000 0.441942 -v -0.441942 -0.625000 0.441942 -v -0.441942 0.625000 -0.441942 -v -0.441942 -0.625000 -0.441942 -v 0.441942 0.625000 0.441942 -v 0.441942 -0.625000 0.441942 -v 1.767767 0.225000 0.000000 -v -0.000000 0.225000 -1.767767 -v 0.000000 0.225000 1.767767 -v -1.767767 0.225000 -0.000000 -v -0.883883 0.625000 -0.883883 -v 0.883883 0.625000 0.883883 -v -0.883883 0.625000 0.883883 -v 0.883883 0.625000 -0.883883 -v 0.000000 0.625000 0.000000 -v -0.441942 5.625000 -0.441942 -v -0.441942 0.625000 -0.441942 -v 0.441942 5.625000 0.441942 -v 0.441942 0.625000 0.441942 -v -0.441942 5.625000 0.441942 -v -0.441942 0.625000 0.441942 -v 0.441942 5.625000 -0.441942 -v 0.441942 0.625000 -0.441942 +v 0.441942 0.750000 -0.441942 +v 0.441942 -0.500000 -0.441942 +v -0.441942 0.750000 0.441942 +v -0.441942 -0.500000 0.441942 +v -0.441942 0.750000 -0.441942 +v -0.441942 -0.500000 -0.441942 +v 0.441942 0.750000 0.441942 +v 0.441942 -0.500000 0.441942 +v 1.767767 0.350000 0.000000 +v -0.000000 0.350000 -1.767767 +v 0.000000 0.350000 1.767767 +v -1.767767 0.350000 -0.000000 +v -0.883883 0.750000 -0.883883 +v 0.883883 0.750000 0.883883 +v -0.883883 0.750000 0.883883 +v 0.883883 0.750000 -0.883883 +v 0.000000 0.750000 0.000000 +v -0.441942 5.750000 -0.441942 +v -0.441942 0.750000 -0.441942 +v 0.441942 5.750000 0.441942 +v 0.441942 0.750000 0.441942 +v -0.441942 5.750000 0.441942 +v -0.441942 0.750000 0.441942 +v 0.441942 5.750000 -0.441942 +v 0.441942 0.750000 -0.441942 vt 0.999900 0.000100 vt 0.999900 0.999900 vt 0.000100 0.999900 diff --git a/nodes.lua b/nodes.lua index fd6a856..9f2d765 100644 --- a/nodes.lua +++ b/nodes.lua @@ -182,7 +182,7 @@ minetest.register_node('everness:coral_desert_stone_with_moss', { tileable_vertical = false } }, - groups = { cracky = 3, stone = 1 }, + groups = { cracky = 3, stone = 1, everness_spreading_dirt_type_under = 1 }, drop = 'everness:coral_desert_cobble', legacy_mineral = true, sounds = default.node_sound_stone_defaults(), @@ -434,7 +434,7 @@ minetest.register_node('everness:mold_stone_with_moss', { 'everness_mold_stone.png', 'everness_mold_stone_with_moss_side.png' }, - groups = { cracky = 3, stone = 1, moldy = 1, everness_spreading_mold_type = 1 }, + groups = { cracky = 3, stone = 1, everness_spreading_dirt_type_under = 1 }, drop = 'everness:mold_cobble', sounds = default.node_sound_stone_defaults(), }) @@ -453,7 +453,7 @@ minetest.register_node('everness:soul_sandstone_veined', { 'everness_soul_sandstone.png', 'everness_soul_sandstone_veined_side.png' }, - groups = { cracky = 3, stone = 1, moss_veins = 1, everness_spreading_moss_veins_type = 1 }, + groups = { cracky = 3, stone = 1, everness_spreading_dirt_type_under = 1 }, drop = 'everness:soul_sandstone', sounds = default.node_sound_stone_defaults(), }) @@ -615,8 +615,8 @@ minetest.register_node('everness:forsaken_tundra_dirt_with_grass', { 'everness_forsaken_tundra_dirt.png', { name = 'everness_forsaken_tundra_dirt.png^everness_forsaken_tundra_grass_side.png', tileable_vertical = false } }, - groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type = 1, mold_soil = 1 }, - drop = 'everness:forsaken_tundra_dirt', + groups = { crumbly = 3, soil = 1 }, + -- drop = 'everness:forsaken_tundra_dirt', sounds = default.node_sound_dirt_defaults({ footstep = { name = 'default_grass_footstep', gain = 0.25 }, }), @@ -645,7 +645,7 @@ minetest.register_node('everness:dirt_with_cursed_grass', { 'everness_cursed_dirt.png', { name = 'everness_cursed_dirt.png^everness_cursed_grass_side.png', tileable_vertical = false } }, - groups = { crumbly = 3, soil = 1, cursed_grass = 1, everness_spreading_dirt_type = 1 }, + groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type = 1 }, drop = 'everness:cursed_dirt', sounds = Everness.node_sound_mud_defaults(), }) @@ -658,7 +658,7 @@ minetest.register_node('everness:dirt_with_crystal_grass', { 'everness_crystal_dirt.png', { name = 'everness_crystal_dirt.png^everness_crystal_grass_side.png', tileable_vertical = false } }, - groups = { crumbly = 3, soil = 1, crystal_grass = 1, everness_spreading_dirt_type = 1 }, + groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type = 1 }, drop = 'everness:crystal_dirt', sounds = default.node_sound_dirt_defaults({ footstep = { name = 'default_grass_footstep', gain = 0.25 }, @@ -797,7 +797,7 @@ minetest.register_node('everness:crystal_cave_dirt', { description = S('Crystal Cave Dirt'), short_description = S('Crystal Cave Dirt'), tiles = { 'everness_crystal_cave_dirt.png' }, - groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type = 1 }, + groups = { crumbly = 3, soil = 1 }, sounds = default.node_sound_dirt_defaults({ footstep = { name = 'default_grass_footstep', gain = 0.25 }, }), @@ -812,7 +812,7 @@ minetest.register_node('everness:crystal_cave_dirt_with_moss', { 'everness_crystal_cave_dirt_side.png' }, drop = 'everness:crystal_cave_dirt', - groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type = 1 }, + groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type_under = 1 }, sounds = default.node_sound_dirt_defaults({ footstep = { name = 'default_grass_footstep', gain = 0.25 }, }), @@ -830,7 +830,7 @@ minetest.register_node('everness:moss_block', { minetest.register_node('everness:crystal_moss_block', { description = S('Crystal Moss Block'), tiles = { 'everness_crystal_cave_moss.png' }, - groups = { crumbly = 3, soil = 1 }, + groups = { crumbly = 3, soil = 1, everness_spreading_dirt_type_under = 1 }, sounds = default.node_sound_dirt_defaults({ footstep = { name = 'default_grass_footstep', gain = 0.25 }, }), @@ -1054,7 +1054,7 @@ minetest.register_node('everness:cave_flower', { type = 'fixed', fixed = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 } }, - groups = { choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, bamboo_grass_under = 1, flammable = 1 }, sounds = default.node_sound_wood_defaults(), sunlight_propagates = true, light_source = 7, @@ -1091,7 +1091,7 @@ minetest.register_node('everness:cave_flower_with_particles', { type = 'fixed', fixed = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 } }, - groups = { choppy = 2, dig_immediate = 3, flammable = 1, attached_node = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, bamboo_grass_under = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), sunlight_propagates = true, light_source = 12, @@ -2137,7 +2137,7 @@ minetest.register_node('everness:coral_shrub', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1 }, + groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1, coral_grass = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2157,7 +2157,7 @@ minetest.register_node('everness:coral_grass_orange', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, flora = 1, coral_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2178,7 +2178,7 @@ minetest.register_node('everness:globulagus', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, flora = 1, coral_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2200,7 +2200,7 @@ minetest.register_node('everness:coral_grass_tall', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, flora = 1, coral_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2221,7 +2221,7 @@ minetest.register_node('everness:crystal_purple', { paramtype2 = 'wallmounted', sunlight_propagates = true, walkable = false, - groups = { cracky = 3, oddly_breakable_by_hand = 3 }, + groups = { cracky = 3, attached_node = 1, flora = 1, crystal_grass_under = 1 }, sounds = Everness.node_sound_crystal_defaults(), light_source = 7, selection_box = { @@ -2242,7 +2242,7 @@ minetest.register_node('everness:crystal_orange', { paramtype2 = 'wallmounted', sunlight_propagates = true, walkable = false, - groups = { cracky = 3, oddly_breakable_by_hand = 3 }, + groups = { cracky = 3, attached_node = 1, flora = 1, crystal_grass_under = 1 }, sounds = Everness.node_sound_crystal_defaults(), light_source = 7, selection_box = { @@ -2263,7 +2263,7 @@ minetest.register_node('everness:crystal_cyan', { paramtype2 = 'wallmounted', sunlight_propagates = true, walkable = false, - groups = { cracky = 3, oddly_breakable_by_hand = 3 }, + groups = { cracky = 3, attached_node = 1, flora = 1, crystal_grass_under = 1 }, sounds = default.node_sound_glass_defaults(), light_source = 12, selection_box = { @@ -2286,7 +2286,7 @@ minetest.register_node('everness:coral_plant_bioluminescent', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1 }, + groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1, coral_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 9 }) @@ -2306,7 +2306,7 @@ minetest.register_node('everness:blooming_cooksonia', { walkable = false, buildable_to = true, is_ground_content = true, - groups = { oddly_breakable_by_hand = 3 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, frosted_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 9 }) @@ -2326,7 +2326,7 @@ minetest.register_node('everness:creeping_moss_spores', { walkable = false, buildable_to = true, is_ground_content = true, - groups = { oddly_breakable_by_hand = 3 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, frosted_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 9 }) @@ -2366,7 +2366,7 @@ minetest.register_node('everness:frosted_icicle_floor', { walkable = false, buildable_to = true, is_ground_content = true, - groups = { oddly_breakable_by_hand = 3 }, + groups = { snappy = 3, attached_node = 1, frosted_grass_under = 1 }, sounds = default.node_sound_ice_defaults(), light_source = 9, selection_box = { @@ -2509,7 +2509,7 @@ minetest.register_node('everness:crystal_mushrooms', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { mushroom = 1, food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1 }, + groups = { mushroom = 1, food_mushroom = 1, snappy = 3, attached_node = 1, flammable = 1, crystal_grass = 1 }, sounds = default.node_sound_leaves_defaults(), on_use = minetest.item_eat(1), selection_box = { @@ -2530,7 +2530,7 @@ minetest.register_node('everness:twisted_crystal_grass', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { flora = 1, attached_node = 1, crystal_grass = 1, flammable = 1 }, + groups = { snappy = 3, flammable = 1, attached_node = 1, crystal_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 7, selection_box = { @@ -2552,7 +2552,7 @@ minetest.register_node('everness:crystal_grass_1', { walkable = false, buildable_to = true, groups = { snappy = 3, flora = 1, attached_node = 1, crystal_grass = 1, normal_grass = 1, flammable = 1 }, - sounds = default.node_sound_leaves_defaults(), + sounds = default.node_sound_glass_defaults(), selection_box = { type = 'fixed', fixed = { -6 / 16, -0.5, -6 / 16, 6 / 16, -5 / 16, 6 / 16 }, @@ -2588,7 +2588,7 @@ for i = 2, 3 do normal_grass = 1, flammable = 1 }, - sounds = default.node_sound_leaves_defaults(), + sounds = default.node_sound_glass_defaults(), light_source = i, selection_box = { type = 'fixed', @@ -2609,7 +2609,7 @@ minetest.register_node('everness:marsh_grass', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, grass = 1, flammable = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2894,7 +2894,7 @@ minetest.register_node('everness:agave_leaf_1', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, normal_grass = 1, flammable = 1, forsaken_tundra_grass = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, normal_grass = 1, flammable = 1, forsaken_tundra_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -2930,7 +2930,7 @@ for i = 2, 3 do not_in_creative_inventory = 1, normal_grass = 1, flammable = 1, - forsaken_tundra_grass = 1 + forsaken_tundra_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 4 + i, @@ -2958,7 +2958,7 @@ minetest.register_node('everness:egg_plant', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass = 1, normal_grass = 1, flammable = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass_under = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), node_box = { type = 'fixed', @@ -2988,7 +2988,7 @@ minetest.register_node('everness:ivis_moss', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass = 1, normal_grass = 1, flammable = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass_under = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -3010,7 +3010,7 @@ minetest.register_node('everness:ngrass_1', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass = 1, normal_grass = 1, flammable = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass_under = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -3032,7 +3032,7 @@ minetest.register_node('everness:ngrass_2', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass = 1, normal_grass = 1, flammable = 1 }, + groups = { snappy = 3, flora = 1, attached_node = 1, cursed_grass_under = 1, flammable = 1 }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = 'fixed', @@ -3088,6 +3088,7 @@ minetest.register_node('everness:bamboo_1', { flammable = 2, bamboo = 1, bamboo_small = 1, + bamboo_grass = 1 }, selection_box = { type = 'fixed', @@ -3153,6 +3154,7 @@ minetest.register_node('everness:bamboo_2', { flammable = 2, bamboo = 1, bamboo_small = 1, + bamboo_grass = 1 }, selection_box = { type = 'fixed', @@ -3220,6 +3222,7 @@ minetest.register_node('everness:bamboo_3', { flammable = 2, bamboo = 1, bamboo_large = 1, + bamboo_grass = 1 }, selection_box = { type = 'fixed', @@ -3281,6 +3284,7 @@ minetest.register_node('everness:bamboo_4', { flammable = 2, bamboo = 1, bamboo_large = 1, + bamboo_grass = 1 }, selection_box = { type = 'fixed', @@ -3342,6 +3346,7 @@ minetest.register_node('everness:bamboo_5', { flammable = 2, bamboo = 1, bamboo_large = 1, + bamboo_grass = 1 }, selection_box = { type = 'fixed', @@ -3365,7 +3370,7 @@ minetest.register_node('everness:bamboo_sprout', { inventory_image = 'everness_bamboo_sprout.png', wield_image = 'everness_bamboo_sprout.png', drawtype = 'plantlike', - groups = { seed = 1, snappy = 3, flammable = 2, attached_node = 1, bamboo = 1 }, + groups = { seed = 1, snappy = 3, flammable = 2, attached_node = 1, bamboo = 1, bamboo_grass = 1 }, paramtype = 'light', paramtype2 = 'meshoptions', walkable = false, @@ -3403,7 +3408,7 @@ minetest.register_node('everness:bloodspore_plant', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1 }, + groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1, forsaken_tundra_grass = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 7 }) @@ -3422,7 +3427,7 @@ minetest.register_node('everness:bloodspore_plant_small', { sunlight_propagates = true, walkable = false, buildable_to = true, - groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1, forsaken_tundra_grass = 1 }, + groups = { snappy = 3, flammable = 3, attached_node = 1, flora = 1, forsaken_tundra_grass_under = 1 }, sounds = default.node_sound_leaves_defaults(), light_source = 7 }) @@ -3814,7 +3819,7 @@ minetest.register_node('everness:forsythia_bush', { paramtype = 'light', is_ground_content = false, walkable = true, - groups = { snappy = 3, flammable = 2 }, + groups = { snappy = 3, flora = 1, attached_node = 1, bamboo_grass_under = 1, flammable = 2 }, sounds = default.node_sound_leaves_defaults(), sunlight_propagates = true, use_texture_alpha = 'clip', @@ -3835,7 +3840,7 @@ minetest.register_node('everness:glowing_pillar', { inventory_image = 'everness_glowing_pillar_item.png', wield_image = 'everness_glowing_pillar_item.png', paramtype = 'light', - groups = { snappy = 3, flammable = 2, forsaken_tundra_grass = 1 }, + groups = { snappy = 3, flammable = 2, forsaken_tundra_grass_under = 1, flora = 1, attached_node = 1 }, selection_box = { type = 'fixed', fixed = { -0.63, -0.5, -0.63, 0.63, 3.23, 0.63 } @@ -3865,10 +3870,10 @@ minetest.register_node('everness:blue_vine_lantern', { inventory_image = 'everness_blue_vine_lantern_item.png', wield_image = 'everness_blue_vine_lantern_item.png', paramtype = 'light', - groups = { snappy = 3, flammable = 2 }, + groups = { snappy = 3, flammable = 2, flora = 1, attached_node = 1, bamboo_grass_under = 1 }, selection_box = { type = 'fixed', - fixed = { -0.63, -0.63, -0.63, 0.63, 3.13, 0.63 } + fixed = { -0.63, -0.5, -0.63, 0.63, 3.23, 0.63 } }, collision_box = { type = 'fixed', @@ -3892,13 +3897,13 @@ minetest.register_node('everness:amaranita_lantern', { 'everness_amaranita_lantern_light.png', 'everness_amaranita_lantern_fur.png', }, - inventory_image = 'everness_blue_vine_lantern_item.png', - wield_image = 'everness_blue_vine_lantern_item.png', + inventory_image = 'everness_amaranita_lantern_item.png', + wield_image = 'everness_amaranita_lantern_item.png', paramtype = 'light', - groups = { snappy = 3, flammable = 2 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, frosted_grass_under = 1 }, selection_box = { type = 'fixed', - fixed = { -0.63, -0.63, -0.63, 0.63, 3.13, 0.63 } + fixed = { -0.63, -0.5, -0.63, 0.63, 3.23, 0.63 } }, collision_box = { type = 'fixed', @@ -3929,14 +3934,14 @@ minetest.register_node('everness:lumecorn', { backface_culling = false }, }, - -- inventory_image = 'everness_glowing_pillar_item.png', - -- wield_image = 'everness_glowing_pillar_item.png', + inventory_image = 'everness_lumecorn_item.png', + wield_image = 'everness_lumecorn_item.png', paramtype = 'light', waving = 1, - groups = { snappy = 3, flammable = 2 }, + groups = { snappy = 3, flammable = 2, attached_node = 1, flora = 1, coral_grass_under = 1 }, selection_box = { type = 'fixed', - fixed = { -0.63, -0.63, -0.63, 0.63, 3.13, 0.63 } + fixed = { -0.63, -0.5, -0.63, 0.63, 3.23, 0.63 } }, sounds = default.node_sound_leaves_defaults(), sunlight_propagates = true, @@ -4084,7 +4089,7 @@ minetest.register_node('everness:floating_crystal', { sunlight_propagates = true, buildable_to = true, walkable = false, - groups = { snappy = 3 }, + groups = { snappy = 3, not_in_creative_inventory = 1 }, selection_box = { type = 'fixed', fixed = { -0.25, -0.4, -0.25, 0.25, 0.4, 0.25 }, diff --git a/stairs.lua b/stairs.lua index 3af98bd..9ea95b1 100644 --- a/stairs.lua +++ b/stairs.lua @@ -257,57 +257,58 @@ stairs.register_stair_and_slab( true ) --- stairs.register_stair_and_slab( --- 'desert_stonebrick', --- 'default:desert_stonebrick', --- { cracky = 2 }, --- { 'default_desert_stone_brick.png' }, --- 'Desert Stone Brick Stair', --- 'Desert Stone Brick Slab', --- default.node_sound_stone_defaults(), --- false --- ) --- stairs.register_stair_and_slab( --- 'desert_stone_block', --- 'default:desert_stone_block', --- { cracky = 2 }, --- { 'default_desert_stone_block.png' }, --- 'Desert Stone Block Stair', --- 'Desert Stone Block Slab', --- default.node_sound_stone_defaults(), --- true --- ) +-- Magma Cobble --- stairs.register_stair_and_slab( --- 'desert_sandstone', --- 'default:desert_sandstone', --- { crumbly = 1, cracky = 3 }, --- { 'default_desert_sandstone.png' }, --- 'Desert Sandstone Stair', --- 'Desert Sandstone Slab', --- default.node_sound_stone_defaults(), --- true --- ) +stairs.register_stair_and_slab( + 'magmacobble', + 'everness:magmacobble', + { cracky = 3, stone = 1 }, + {{ + name = 'everness_magmacobble_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }}, + S('Magma Cobblestone Stair'), + S('Magma Cobblestone Slab'), + default.node_sound_stone_defaults(), + true +) --- stairs.register_stair_and_slab( --- 'desert_sandstone_brick', --- 'default:desert_sandstone_brick', --- { cracky = 2 }, --- { 'default_desert_sandstone_brick.png' }, --- 'Desert Sandstone Brick Stair', --- 'Desert Sandstone Brick Slab', --- default.node_sound_stone_defaults(), --- false --- ) +-- Volcanic rock --- stairs.register_stair_and_slab( --- 'desert_sandstone_block', --- 'default:desert_sandstone_block', --- { cracky = 2 }, --- { 'default_desert_sandstone_block.png' }, --- 'Desert Sandstone Block Stair', --- 'Desert Sandstone Block Slab', --- default.node_sound_stone_defaults(), --- true --- ) +stairs.register_stair_and_slab( + 'volcanic_rock', + 'everness:volcanic_rock', + { cracky = 1, stone = 2 }, + { 'everness_volcanic_rock.png' }, + S('Volcanic Rock Stair'), + S('Volcanic Rock Slab'), + default.node_sound_stone_defaults(), + true +) + +stairs.register_stair_and_slab( + 'volcanic_rock_with_magma', + 'everness:volcanic_rock_with_magma', + { cracky = 1, stone = 2 }, + { + { + name = 'everness_volcanic_rock_with_magma_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + S('Volcanic Rock with Magma Stair'), + S('Volcanic Rock with Magma Slab'), + default.node_sound_stone_defaults(), + true +) diff --git a/textures/everness_amaranita_lantern_item.png b/textures/everness_amaranita_lantern_item.png new file mode 100644 index 0000000..b86c1ac Binary files /dev/null and b/textures/everness_amaranita_lantern_item.png differ diff --git a/textures/everness_lumecorn_item.png b/textures/everness_lumecorn_item.png new file mode 100644 index 0000000..c2478db Binary files /dev/null and b/textures/everness_lumecorn_item.png differ diff --git a/walls.lua b/walls.lua index d8983ef..1855914 100644 --- a/walls.lua +++ b/walls.lua @@ -65,3 +65,47 @@ walls.register( 'everness:forsaken_tundra_brick', default.node_sound_stone_defaults() ) + +walls.register( + 'everness:magmacobble_wall', + S('Magma Cobblestone Wall'), + { + { + name = 'everness_magmacobble_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + 'everness:magmacobble', + default.node_sound_stone_defaults() +) + +walls.register( + 'everness:volcanic_rock_wall', + S('Volcanic Rock Wall'), + { 'everness_volcanic_rock.png' }, + 'everness:volcanic_rock', + default.node_sound_stone_defaults() +) + +walls.register( + 'everness:volcanic_rock_with_magma_wall', + S('Volcanic Rock with Magma Wall'), + { + { + name = 'everness_volcanic_rock_with_magma_animated.png', + animation = { + type = 'vertical_frames', + aspect_w = 16, + aspect_h = 16, + length = 3.0, + }, + }, + }, + 'everness:volcanic_rock_with_magma', + default.node_sound_stone_defaults() +)