diff options
author | Vanessa Dannenberg <vanessa.e.dannenberg@gmail.com> | 2019-04-24 18:59:36 -0400 |
---|---|---|
committer | Vanessa Dannenberg <vanessa.e.dannenberg@gmail.com> | 2019-04-24 18:59:36 -0400 |
commit | a5eef1c5de77fa7770877802e66c3e1c53f9a0da (patch) | |
tree | 0f36e64a58e5f5bb7d95be6ae692f58f2ebfe483 /areas/pos.lua | |
parent | dda854cf06f90a04a03844e19c4d4ad220e38fe4 (diff) | |
download | dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.gz dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.bz2 dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.tar.xz dreambuilder_modpack-a5eef1c5de77fa7770877802e66c3e1c53f9a0da.zip |
update castles, areas, homedecor, plantlife,
gloopblocks, hotbar, inspector, maptools, mesecons,
moreblocks, moreores, technic, teleport_request, and
worldedit
switched to caverealms_lite (with minor fixes by me)
switched to CWz's fork of player_textures
The homedecor update brings in the big split, and will
require you to re-enable all modpack components in
order to avoid loss of content.
Diffstat (limited to 'areas/pos.lua')
-rw-r--r-- | areas/pos.lua | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/areas/pos.lua b/areas/pos.lua index f969aaa..36a6b78 100644 --- a/areas/pos.lua +++ b/areas/pos.lua @@ -11,6 +11,16 @@ areas.set_pos = {} areas.pos1 = {} areas.pos2 = {} +local LIMIT = 30992 -- this is due to MAPBLOCK_SIZE=16! + +local function posLimit(pos) + return { + x = math.max(math.min(pos.x, LIMIT), -LIMIT), + y = math.max(math.min(pos.y, LIMIT), -LIMIT), + z = math.max(math.min(pos.z, LIMIT), -LIMIT) + } +end + minetest.register_chatcommand("select_area", { params = "<ID>", description = "Select a area by id.", @@ -35,7 +45,7 @@ minetest.register_chatcommand("area_pos1", { .." location or the one specified", privs = {}, func = function(name, param) - local pos = nil + local pos local found, _, x, y, z = param:find( "^(-?%d+)[, ](-?%d+)[, ](-?%d+)$") if found then @@ -50,7 +60,7 @@ minetest.register_chatcommand("area_pos1", { else return false, "Invalid usage, see /help area_pos1." end - pos = vector.round(pos) + pos = posLimit(vector.round(pos)) areas:setPos1(name, pos) return true, "Area position 1 set to " ..minetest.pos_to_string(pos) @@ -62,7 +72,7 @@ minetest.register_chatcommand("area_pos2", { description = "Set area protection region position 2 to your" .." location or the one specified", func = function(name, param) - local pos = nil + local pos local found, _, x, y, z = param:find( "^(-?%d+)[, ](-?%d+)[, ](-?%d+)$") if found then @@ -77,7 +87,7 @@ minetest.register_chatcommand("area_pos2", { else return false, "Invalid usage, see /help area_pos2." end - pos = vector.round(pos) + pos = posLimit(vector.round(pos)) areas:setPos2(name, pos) return true, "Area position 2 set to " ..minetest.pos_to_string(pos) @@ -129,14 +139,6 @@ function areas:getPos(playerName) return areas:sortPos(pos1, pos2) end -local function posLimit(pos) - return { - x = math.max(math.min(pos.x, 31000), -31000), - y = math.max(math.min(pos.y, 31000), -31000), - z = math.max(math.min(pos.z, 31000), -31000) - } -end - function areas:setPos1(playerName, pos) areas.pos1[playerName] = posLimit(pos) areas.markPos1(playerName) |