Make end island larger

This commit is contained in:
cora 2022-09-13 19:49:08 +02:00 committed by Gitea
parent 47d06ff6b9
commit ba7f534d2f
3 changed files with 21 additions and 16 deletions

View File

@ -162,7 +162,7 @@ end
mcl_vars.mg_end_min = -27073 -- Carefully chosen to be at a mapchunk border mcl_vars.mg_end_min = -27073 -- Carefully chosen to be at a mapchunk border
mcl_vars.mg_end_max_official = mcl_vars.mg_end_min + minecraft_height_limit mcl_vars.mg_end_max_official = mcl_vars.mg_end_min + minecraft_height_limit
mcl_vars.mg_end_max = mcl_vars.mg_overworld_min - 2000 mcl_vars.mg_end_max = mcl_vars.mg_overworld_min - 2000
mcl_vars.mg_end_platform_pos = { x = 100, y = mcl_vars.mg_end_min + 74, z = 0 } mcl_vars.mg_end_platform_pos = { x = 100, y = mcl_vars.mg_end_min + 64, z = 0 }
mcl_vars.mg_end_exit_portal_pos = vector.new(0, mcl_vars.mg_end_min + 71, 0) mcl_vars.mg_end_exit_portal_pos = vector.new(0, mcl_vars.mg_end_min + 71, 0)
-- Realm barrier used to safely separate the End from the void below the Overworld -- Realm barrier used to safely separate the End from the void below the Overworld

View File

@ -1,4 +1,4 @@
local width = 115 local width = 200
local noisemap = PerlinNoiseMap({ local noisemap = PerlinNoiseMap({
offset = 0.5, offset = 0.5,

View File

@ -6,8 +6,10 @@ local modpath = minetest.get_modpath(modname)
mcl_structures.register_structure("end_spawn_obsidian_platform",{ mcl_structures.register_structure("end_spawn_obsidian_platform",{
static_pos ={mcl_vars.mg_end_platform_pos}, static_pos ={mcl_vars.mg_end_platform_pos},
place_func = function(pos,def,pr) place_func = function(pos,def,pr)
local nn = minetest.find_nodes_in_area(vector.offset(pos,-2,0,-2),vector.offset(pos,2,0,2),{"air","mcl_end:end_stone"}) local obby = minetest.find_nodes_in_area(vector.offset(pos,-2,0,-2),vector.offset(pos,2,0,2),{"air","mcl_end:end_stone"})
minetest.bulk_set_node(nn,{name="mcl_core:obsidian"}) local air = minetest.find_nodes_in_area(vector.offset(pos,-2,1,-2),vector.offset(pos,2,3,2),{"air","mcl_end:end_stone"})
minetest.bulk_set_node(obby,{name="mcl_core:obsidian"})
minetest.bulk_set_node(air,{name="air"})
return true return true
end, end,
}) })
@ -19,19 +21,22 @@ mcl_structures.register_structure("end_exit_portal",{
}, },
after_place = function(pos,def,pr,blockseed) after_place = function(pos,def,pr,blockseed)
local p1 = vector.offset(pos,-16,-16,-16) local p1 = vector.offset(pos,-16,-16,-16)
local p2 = vector.offset(pos,16,16,16) local p2 = vector.offset(pos,16,21,16)
minetest.bulk_set_node(minetest.find_nodes_in_area(p1,p2,{"mcl_portals:portal_end"}),{name="air"}) minetest.emerge_area(p1,p2,function(blockpos, action, calls_remaining, param)
local obj = minetest.add_entity(vector.offset(pos,3, 11, 3), "mobs_mc:enderdragon") if calls_remaining > 0 then return end
if obj then minetest.bulk_set_node(minetest.find_nodes_in_area(p1,p2,{"mcl_portals:portal_end"}),{name="air"})
local dragon_entity = obj:get_luaentity() local obj = minetest.add_entity(vector.offset(pos,3, 11, 3), "mobs_mc:enderdragon")
dragon_entity._portal_pos = pos if obj then
if blockseed ~= -1 then local dragon_entity = obj:get_luaentity()
dragon_entity._initial = true dragon_entity._portal_pos = pos
if blockseed ~= -1 then
dragon_entity._initial = true
end
else
minetest.log("error", "[mcl_mapgen_core] ERROR! Ender dragon doesn't want to spawn")
end end
else minetest.fix_light(p1,p2)
minetest.log("error", "[mcl_mapgen_core] ERROR! Ender dragon doesn't want to spawn") end)
end
minetest.fix_light(p1,p2)
end end
}) })
mcl_structures.register_structure("end_exit_portal_open",{ mcl_structures.register_structure("end_exit_portal_open",{