diff --git a/mods/ITEMS/mcl_core/nodes.lua b/mods/ITEMS/mcl_core/nodes.lua index 97912884e..2b5e393ee 100644 --- a/mods/ITEMS/mcl_core/nodes.lua +++ b/mods/ITEMS/mcl_core/nodes.lua @@ -21,6 +21,44 @@ minetest.register_node("mcl_core:barrier", { on_blast = function() end, }) +-- The harmless void directly below the bottom bedrock layer. It doesn't hurt. +minetest.register_node("mcl_core:void_top", { + description = "Void", + drawtype = "airlike", + paramtype = "light", + pointable = false, + walkable = false, + floodable = false, + buildable_to = false, + inventory_image = "default_barrier.png", + wield_image = "default_barrier.png", + stack_max = 64, + sunlight_propagates = true, + is_ground_content = false, + groups = { not_in_creative_inventory = 1 }, + on_blast = function() end, +}) + +-- The deadly void way below bedrock. It hurts very much! +minetest.register_node("mcl_core:void_deep", { + description = "Deep Void", + drawtype = "airlike", + paramtype = "light", + pointable = false, + walkable = false, + floodable = false, + buildable_to = false, + inventory_image = "default_barrier.png", + wield_image = "default_barrier.png", + stack_max = 64, + sunlight_propagates = true, + is_ground_content = false, + groups = { not_in_creative_inventory = 1 }, + on_blast = function() end, + -- Minecraft Wiki: 4 damage each 0.5 seconds + damage_per_second = 8, +}) + minetest.register_node("mcl_core:stone", { description = "Stone", tiles = {"default_stone.png"}, diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index c74da3478..cc18dd993 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -479,7 +479,8 @@ minetest.register_on_generated(function(minp, maxp) local data = vm:get_data() local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax}) local c_bedrock = minetest.get_content_id("mcl_core:bedrock") - --local c_void = minetest.get_content_id("mcl_core:void") + local c_void_top = minetest.get_content_id("mcl_core:void_top") + local c_void_deep = minetest.get_content_id("mcl_core:void_deep") local c_air = minetest.get_content_id("air") for y = minp.y, math.min(maxp.y, BEDROCK_MAX) do @@ -502,8 +503,10 @@ minetest.register_on_generated(function(minp, maxp) elseif y == BEDROCK_MAX -4 then -- 100% setdata = c_bedrock - elseif y < BEDROCK_MIN then - setdata = c_air + elseif y < BEDROCK_MIN and y > BEDROCK_MIN - 64 then + setdata = c_void_top + elseif y <= BEDROCK_MIN - 64 then + setdata = c_void_deep end if setdata then data[p_pos] = setdata