2019-03-07 11:24:54 -08:00
local S = minetest.get_translator ( " bedrock2 " )
2016-08-05 08:07:53 -07:00
2015-07-01 11:19:02 -07:00
local bedrock = { }
bedrock.layer = - 30912 -- determined as appropriate by experiment
bedrock.node = { name = " bedrock2:bedrock " }
2017-06-20 07:53:46 -07:00
local depth = tonumber ( minetest.settings : get ( " bedrock2_y " ) )
2015-07-01 11:19:02 -07:00
if depth ~= nil then
bedrock.layer = depth
end
minetest.register_on_generated ( function ( minp , maxp )
if maxp.y >= bedrock.layer and minp.y <= bedrock.layer then
local vm , emin , emax = minetest.get_mapgen_object ( " voxelmanip " )
local data = vm : get_data ( )
local area = VoxelArea : new ( { MinEdge = emin , MaxEdge = emax } )
local c_bedrock = minetest.get_content_id ( " bedrock2:bedrock " )
for x = minp.x , maxp.x do
for z = minp.z , maxp.z do
local p_pos = area : index ( x , bedrock.layer , z )
data [ p_pos ] = c_bedrock
end
end
vm : set_data ( data )
vm : calc_lighting ( )
vm : update_liquids ( )
vm : write_to_map ( )
end
end )
minetest.register_node ( " bedrock2:bedrock " , {
2016-08-05 08:07:53 -07:00
description = S ( " Bedrock " ) ,
2016-11-15 21:42:09 -08:00
_doc_items_longdesc = S ( " Bedrock is a very hard block. It cannot be mined, altered, destroyed or moved by any means. It appears at the bottom of the world in a flat layer. " ) ,
2015-07-01 11:19:02 -07:00
tiles = { " bedrock2_bedrock.png " } ,
2016-11-02 14:36:43 -07:00
groups = { immortal = 1 , not_in_creative_inventory = 1 , } ,
2015-07-01 11:19:02 -07:00
sounds = { footstep = { name = " bedrock2_step " , gain = 1 } } ,
is_ground_content = false ,
on_blast = function ( ) end ,
on_destruct = function ( ) end ,
can_dig = function ( ) return false end ,
diggable = false ,
drop = " " ,
} )
if minetest.get_modpath ( " mesecons_mvps " ) ~= nil then
2016-11-20 14:09:48 -08:00
mesecon.register_mvps_stopper ( " bedrock2:bedrock " )
2015-07-01 11:19:02 -07:00
end