mirror of
https://git.minetest.land/Mineclonia/Mineclonia.git
synced 2024-11-28 06:03:06 +00:00
Fix already created End portals
This commit is contained in:
parent
a41e0628e5
commit
c4dce1df25
1 changed files with 35 additions and 21 deletions
|
@ -22,18 +22,18 @@ local destroy_portal = function(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
local ep_scheme = {
|
local ep_scheme = {
|
||||||
{ o={x=0, y=0, z=1}, p=3 },
|
{ o={x=0, y=0, z=1}, p=1 },
|
||||||
{ o={x=0, y=0, z=2}, p=3 },
|
{ o={x=0, y=0, z=2}, p=1 },
|
||||||
{ o={x=0, y=0, z=3}, p=3 },
|
{ o={x=0, y=0, z=3}, p=1 },
|
||||||
{ o={x=1, y=0, z=4}, p=0 },
|
{ o={x=1, y=0, z=4}, p=2 },
|
||||||
{ o={x=2, y=0, z=4}, p=0 },
|
{ o={x=2, y=0, z=4}, p=2 },
|
||||||
{ o={x=3, y=0, z=4}, p=0 },
|
{ o={x=3, y=0, z=4}, p=2 },
|
||||||
{ o={x=4, y=0, z=3}, p=1 },
|
{ o={x=4, y=0, z=3}, p=3 },
|
||||||
{ o={x=4, y=0, z=2}, p=1 },
|
{ o={x=4, y=0, z=2}, p=3 },
|
||||||
{ o={x=4, y=0, z=1}, p=1 },
|
{ o={x=4, y=0, z=1}, p=3 },
|
||||||
{ o={x=3, y=0, z=0}, p=2 },
|
{ o={x=3, y=0, z=0}, p=0 },
|
||||||
{ o={x=2, y=0, z=0}, p=2 },
|
{ o={x=2, y=0, z=0}, p=0 },
|
||||||
{ o={x=1, y=0, z=0}, p=2 },
|
{ o={x=1, y=0, z=0}, p=0 },
|
||||||
}
|
}
|
||||||
|
|
||||||
-- End portal
|
-- End portal
|
||||||
|
@ -255,6 +255,21 @@ if minetest.get_modpath("screwdriver") then
|
||||||
rotate_frame_eye = false
|
rotate_frame_eye = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function after_place_node(pos, placer, itemstack, pointed_thing)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
if node then
|
||||||
|
node.param2 = (node.param2+2) % 4
|
||||||
|
minetest.swap_node(pos, node)
|
||||||
|
|
||||||
|
local ok, ppos = check_end_portal_frame(pos)
|
||||||
|
if ok then
|
||||||
|
-- Epic 'portal open' sound effect that can be heard everywhere
|
||||||
|
minetest.sound_play("mcl_portals_open_end_portal", {gain=0.8}, true)
|
||||||
|
end_portal_area(ppos)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_portals:end_portal_frame", {
|
minetest.register_node("mcl_portals:end_portal_frame", {
|
||||||
description = S("End Portal Frame"),
|
description = S("End Portal Frame"),
|
||||||
_tt_help = S("Used to construct end portals"),
|
_tt_help = S("Used to construct end portals"),
|
||||||
|
@ -276,6 +291,8 @@ minetest.register_node("mcl_portals:end_portal_frame", {
|
||||||
|
|
||||||
on_rotate = rotate_frame,
|
on_rotate = rotate_frame,
|
||||||
|
|
||||||
|
after_place_node = after_place_node,
|
||||||
|
|
||||||
_mcl_blast_resistance = 36000000,
|
_mcl_blast_resistance = 36000000,
|
||||||
_mcl_hardness = -1,
|
_mcl_hardness = -1,
|
||||||
})
|
})
|
||||||
|
@ -306,17 +323,11 @@ minetest.register_node("mcl_portals:end_portal_frame_eye", {
|
||||||
end_portal_area(ppos, true)
|
end_portal_area(ppos, true)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
|
||||||
local ok, ppos = check_end_portal_frame(pos)
|
|
||||||
if ok then
|
|
||||||
-- Epic 'portal open' sound effect that can be heard everywhere
|
|
||||||
minetest.sound_play("mcl_portals_open_end_portal", {gain=0.8}, true)
|
|
||||||
end_portal_area(ppos)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
on_rotate = rotate_frame_eye,
|
on_rotate = rotate_frame_eye,
|
||||||
|
|
||||||
|
after_place_node = after_place_node,
|
||||||
|
|
||||||
_mcl_blast_resistance = 36000000,
|
_mcl_blast_resistance = 36000000,
|
||||||
_mcl_hardness = -1,
|
_mcl_hardness = -1,
|
||||||
})
|
})
|
||||||
|
@ -358,8 +369,11 @@ minetest.override_item("mcl_end:ender_eye", {
|
||||||
itemstack:take_item() -- 1 use
|
itemstack:take_item() -- 1 use
|
||||||
end
|
end
|
||||||
|
|
||||||
local ok = check_end_portal_frame(pointed_thing.under)
|
local ok, ppos = check_end_portal_frame(pointed_thing.under)
|
||||||
if ok then
|
if ok then
|
||||||
|
-- Epic 'portal open' sound effect that can be heard everywhere
|
||||||
|
minetest.sound_play("mcl_portals_open_end_portal", {gain=0.8}, true)
|
||||||
|
end_portal_area(ppos)
|
||||||
if minetest.get_modpath("doc") then
|
if minetest.get_modpath("doc") then
|
||||||
doc.mark_entry_as_revealed(user:get_player_name(), "nodes", "mcl_portals:portal_end")
|
doc.mark_entry_as_revealed(user:get_player_name(), "nodes", "mcl_portals:portal_end")
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue