mirror of
https://github.com/minetest-mods/areas.git
synced 2025-07-15 06:10:24 +02:00
Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev
This commit is contained in:
36
internal.lua
36
internal.lua
@ -1,3 +1,5 @@
|
||||
local S = minetest.get_translator("areas")
|
||||
|
||||
function areas:player_exists(name)
|
||||
return minetest.get_auth_handler().get_auth(name) ~= nil
|
||||
end
|
||||
@ -46,7 +48,7 @@ end
|
||||
function areas:checkAreaStoreId(sid)
|
||||
if not sid then
|
||||
minetest.log("error", "AreaStore failed to find an ID for an "
|
||||
.."area! Falling back to iterative area checking.")
|
||||
.."area! Falling back to iterative area checking.")
|
||||
self.store = nil
|
||||
self.store_ids = nil
|
||||
end
|
||||
@ -148,7 +150,6 @@ function areas:move(id, area, pos1, pos2)
|
||||
area.pos1 = pos1
|
||||
area.pos2 = pos2
|
||||
|
||||
|
||||
for i=1, #areas.registered_on_moves do
|
||||
areas.registered_on_moves[i](id, area, pos1, pos2)
|
||||
end
|
||||
@ -211,8 +212,8 @@ function areas:canPlayerAddArea(pos1, pos2, name)
|
||||
-- and if the area is too big.
|
||||
if not self.config.self_protection or
|
||||
not privs[areas.config.self_protection_privilege] then
|
||||
return false, "Self protection is disabled or you do not have"
|
||||
.." the necessary privilege."
|
||||
return false, S("Self protection is disabled or you do not have"
|
||||
.." the necessary privilege.")
|
||||
end
|
||||
|
||||
-- MFF: megabuilders skip checks on size and number of areas
|
||||
@ -223,9 +224,9 @@ function areas:canPlayerAddArea(pos1, pos2, name)
|
||||
if
|
||||
(pos2.x - pos1.x) > max_size.x or
|
||||
(pos2.y - pos1.y) > max_size.y or
|
||||
(pos2.z - pos1.z) > max_size.z then
|
||||
return false, "Area is too big."
|
||||
end
|
||||
(pos2.z - pos1.z) > max_size.z then
|
||||
return false, S("Area is too big.")
|
||||
end
|
||||
|
||||
-- Check number of areas the user has and make sure it not above the max
|
||||
local count = 0
|
||||
@ -237,18 +238,17 @@ function areas:canPlayerAddArea(pos1, pos2, name)
|
||||
local max_areas = privs.areas_high_limit and
|
||||
self.config.self_protection_max_areas_high or
|
||||
self.config.self_protection_max_areas
|
||||
if count >= max_areas then
|
||||
return false, "You have reached the maximum amount of"
|
||||
.." areas that you are allowed to protect."
|
||||
end
|
||||
if count >= max_areas then
|
||||
return false, S("You have reached the maximum amount of"
|
||||
.." areas that you are allowed to protect.")
|
||||
end
|
||||
|
||||
-- Check intersecting areas
|
||||
local can, id = self:canInteractInArea(pos1, pos2, name)
|
||||
if not can then
|
||||
local area = self.areas[id]
|
||||
return false, ("The area intersects with %s [%u] (%s).")
|
||||
:format(area.name, id, area.owner)
|
||||
end
|
||||
-- Check intersecting areas
|
||||
local can, id = self:canInteractInArea(pos1, pos2, name)
|
||||
if not can then
|
||||
local area = self.areas[id]
|
||||
return false, S("The area intersects with @1 [@2] (@3).",
|
||||
area.name, id, area.owner)
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
Reference in New Issue
Block a user