1
0
mirror of https://github.com/HybridDog/nether-pack.git synced 2024-12-26 02:30:24 +01:00

Do not ignore the portal code if damage is enabled and the "nether_players" file does not exist

I have accidentally introduced the bug in commit 4a7dd247e7.
It was discovered thanks to the people who reported it on the Minetest forum.
This commit is contained in:
HybridDog 2022-08-15 15:46:47 +02:00
parent 27bf94c4d0
commit 6507e43dc5

View File

@ -13,21 +13,21 @@ end)
local save_path = minetest.get_worldpath() .. "/nether_players" local save_path = minetest.get_worldpath() .. "/nether_players"
local players_in_nether = {} local players_in_nether = {}
-- only get info from file if nether prisons
if nether_prisons then -- Load the list of players which are trapped in the nether
-- (or would be trapped if nether_prisons was true)
do
local file = io.open(save_path, "r") local file = io.open(save_path, "r")
if not file then if file then
return
end
local contents = file:read"*all" local contents = file:read"*all"
io.close(file) io.close(file)
if not contents then if contents then
return
end
local playernames = string.split(contents, " ") local playernames = string.split(contents, " ")
for i = 1,#playernames do for i = 1,#playernames do
players_in_nether[playernames[i]] = true players_in_nether[playernames[i]] = true
end end
end
end
end end
local function save_nether_players() local function save_nether_players()
@ -179,6 +179,7 @@ minetest.register_chatcommand("from_hell", {
}) })
-- Disallow teleportation and change spawn positions if the nether traps players
if nether_prisons then if nether_prisons then
-- randomly set player position when he/she dies in nether -- randomly set player position when he/she dies in nether
minetest.register_on_respawnplayer(function(player) minetest.register_on_respawnplayer(function(player)
@ -266,12 +267,6 @@ if nether_prisons then
end end
end end
end) end)
else
-- test if player is in nether when he/she joins
minetest.register_on_joinplayer(function(player)
players_in_nether[player:get_player_name()] =
player:get_pos().y < nether.start or nil
end)
end end
-- removes the violet stuff from the obsidian portal -- removes the violet stuff from the obsidian portal