迷你世界脚本区域接口:Area

区域接口:Area
 彼得兔
更新时间: 2023-12-18 11:35:14
具体函数名及描述如下:

序号    函数名    函数描述
1    createAreaRect(...)    创建矩形区域
2    createAreaRectByRange(...)    创建矩形区域(通过范围)
3    destroyArea(...)    销毁区域
4    getAreaByPos(...)    通过位置查找区域
5    offsetArea(...)    区域偏移
6    expandArea(...)    扩大区域
7    getAreaCenter(...)    获取区域中间点
8    getAreaRectLength(...)    获取区域各边长
9    getAreaRectRange(...)    获取区域范围
10    getRandomPos(...)    随机区域内位置
11    objInArea(...)    检测obj是否在区域内
12    blockInArea(...)    检测区域内是否有某个方块
13    posInArea(...)    位置是否在区域内
14    getAreaPlayers(...)    获取区域中的所有玩家
15    getAreaCreatures(...)    获取区域中的所有生物
16    fillBlock(...)    用方块填充区域
17    clearAllBlock(...)    清空区域内全部方块
18    cloneArea(...)    复制区域内方块到另一个区域
19    getPosOffset(...)    传入两个坐标列表,得到相加后的位置
20    replaceAreaBlock(...)    替换方块类型为新的方块类型
21    blockInAreaRange(...)    区域范围内有方块
22    getAllObjsInAreaRange(...)    获取区域范围内全部对象
23    getAllObjsInAreaRangeByObjTypes(...)    获取区域范围内全部对象
24    getAllPlayersInAreaRange(...)    获取区域范围内全部玩家
25    getAllCreaturesInAreaRange(...)    获取区域范围内全部生物
26    fillBlockAreaRange(...)    用方块填充区域范围
27    clearAllBlockAreaRange(...)    清空区域范围内方块
28    cloneAreaRange(...)    复制区域范围内方块到另一个区域
29    replaceAreaRangeBlock(...)    替换区域范围方块
30    DestroyBlockAreaRange(...)
破坏区域范围方块
区域复制代码示例:
创建1个区域,用方块填充后,再复制到另一个地点
act = function()
    local ret, hostid = Player:getHostUin()
    local ret,num = Player:getCurShotcut(hostid)
    if num == 0 then
            --房主按下快捷栏1的时候,创建一个矩形区域,中心点是10.7.10,边长是5
        local pos1 = {x = 3, y = 10 ,z = 8}
        local dim = {x = 2, y = 2,z = 2}--  注意这里的边长算法是x*x+1=实际边长
        ret111, areaid = Area:createAreaRect(pos1, dim)
        Area:fillBlock(areaid, 112)  --用112这个方块填充区域

    end
    if num == 1 then
    -- 房主按下快捷栏2的时候,把上面这个矩形复制到10.12.10位置(以右下角为原点,而不是中心点)
        local pos2 = {x = 3 , y = 15 ,z = 8}
        local ret = Area:cloneArea(areaid, pos2)
    end

end
ScriptSupportEvent:registerEvent([=[Player.SelectShortcut]=], act)
Lua
createAreaRect
参数及类型:

pos:table中心位置
dim:table尺寸
返回值及类型:

ErrorCode.OK
areaid:number
该方法的主要作用:创建矩形区域

具体使用案例如下:

--通过中心点和扩展长度创建一个区域
--第一个参数{x=0,y=10,z=0}为区域中心坐标组成的表
--第二个参数{x=1,y=2,z=3}为区域各方向扩展的距离组成的表
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=1,y=2,z=3})
--在聊天框显示
Chat:sendSystemMsg("以(0,0)高度10为中心,左右各扩展1格,上下各扩展2格,前后各扩展3格,创建了一个区域,id为"..areaid)
Lua
createAreaRectByRange
参数及类型:

posBeg:table
posEnd:table
返回值及类型:

ErrorCode.OK
areaid:number
该方法的主要作用:创建矩形区域(通过范围)

具体使用案例如下:

--通过起点终点坐标创建区域
--第一个参数为区域起点坐标组成的表,即面朝北时,区域的左、下、后方的顶点坐标
--第二个参数为区域终点坐标组成的表,即面朝北时,区域的右、上、前方的顶点坐标
local result,areaid=Area:createAreaRectByRange({x=0,y=7,z=0},{x=5,y=10,z=5})
--在聊天框显示
Chat:sendSystemMsg("以(0,0)高度7为起点,(5,5)高度10为终点创建一个区域,id为"..areaid)
Lua
destroyArea
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:销毁区域

具体使用案例如下:

--销毁指定区域,参数为区域id
Area:destroyArea(1)
--在聊天框显示
Chat:sendSystemMsg("销毁了id为1的区域")
Lua
getAreaByPos
参数及类型:

pos:table中心位置
返回值及类型:

ErrorCode.OK
areaid:number
该方法的主要作用:通过位置查找区域

具体使用案例如下:

--判断某坐标所属的区域,参数为坐标组成的表
local result,areaid=Area:getAreaByPos({x=0,y=7,z=0})
if result==0 then--如果获取成功
    --在聊天框显示
    Chat:sendSystemMsg("(0,0)高度7所在的区域id为"..areaid)
else--如果获取失败
    --在聊天框显示
    Chat:sendSystemMsg("获取失败,或(0,0)高度7不属于任何区域")
end
Lua
offsetArea
参数及类型:

areaid:number区域ID
x,y,z:number偏移距离
返回值及类型:

code:number成功(ErrorCode.OK)ErrorCode
areaid:number新的区域ID
该方法的主要作用:区域偏移

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--平移区域范围
--第一个参数为要平移的区域id
--后三个参数分别为向右、上、前的平移距离,可为负
Area:offsetArea(areaid,5,5,5)
--在聊天框显示
Chat:sendSystemMsg("id为"..areaid.."的区域被向右、上、前各移动了5格")
Lua
expandArea
参数及类型:

 
areaid:number区域ID
x,y,z:number偏移距离
返回值及类型:

code:number成功(ErrorCode.OK)ErrorCode
areaid:number新的区域ID
该方法的主要作用:扩大区域(产生新的区域)

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--扩充区域范围
--第一个参数为区域id
--后三个参数分别为区域向左右、上下、前后扩充的距离
Area:expandArea(areaid,2,2,2)
--在聊天框显示
Chat:sendSystemMsg("id为"..areaid.."的区域向左右、上下、前后各扩充了2格范围")
Lua
getAreaCenter
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
pos:table中心位置
该方法的主要作用:获取区域中间点

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--获取指定区域的中心坐标,参数为要获取中心的区域id
local result,pos=Area:getAreaCenter(areaid)
--在聊天框显示
Chat:sendSystemMsg("id为"..areaid.."的区域的中心点坐标为:("..pos.x..","..pos.y..","..pos.z..")")
Lua
getAreaRectLength
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
x
y
z:number
该方法的主要作用:获取区域各边长

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--获取指定区域各方向的边长,参数为区域id
local result,x,y,z=Area:getAreaRectLength(areaid)
--在聊天框显示
Chat:sendSystemMsg("id为"..areaid.."的区域各方向的边长为:左右"..x..",上下"..y..",前后"..z)
Lua
getAreaRectRange
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
posBeg:table
posEnd:table
该方法的主要作用:获取区域范围

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--获取指定区域的起点和终点坐标,参数为区域id
local result,posBeg,posEnd=Area:getAreaRectRange(areaid)
--在聊天框显示
Chat:sendSystemMsg("id为"..areaid.."的区域的起点坐标为("..posBeg.x..","..posBeg.y..","..posBeg.z.."),终点坐标为("..posEnd.x..","..posEnd.y..","..posEnd.z..")")
Lua
getRandomPos
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
pos:table
该方法的主要作用:随机区域内位置

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--从指定区域中随机获取一个坐标,参数为区域id
local result,pos=Area:getRandomPos(areaid)
--在聊天框显示
Chat:sendSystemMsg("从id为"..areaid.."的区域中随机获取了一个坐标("..pos.x..","..pos.y..","..pos.z..")")
Lua
objInArea
参数及类型:

areaid:number
objid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:检测obj是否在区域内

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--判断某对象是否在指定区域中
--第一个参数为区域id
--第二个参数为对象id,可以是玩家迷你号、生物id或掉落物id等等
local result=Area:objInArea(areaid,1000)
if result==0 then--如果在区域内
    --在聊天框显示
    Chat:sendSystemMsg("玩家1000在区域"..areaid.."内部")
else--如果不在内部或获取失败
    --在聊天框显示
    Chat:sendSystemMsg("玩家1000不在区域"..areaid.."内部,或玩家1000不在当前存档")
end
Lua
blockInArea
参数及类型:

areaid:number
blockid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:检测区域内是否有某个方块

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--判断指定区域是否包含某种方块
--第一个参数为区域id
--第二个参数为方块id
local result=Area:blockInArea(areaid,101)
if result==0 then--如果包含
    --在聊天框显示
    Chat:sendSystemMsg("id为"..areaid.."的区域内有土块")
else--如果不包含
    --在聊天框显示
    Chat:sendSystemMsg("id为"..areaid.."的区域内没有土块")
end
Lua
posInArea
参数及类型:

pos:table
areaid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:位置是否再区域内

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--判断某坐标是否在指定区域内
--第一个参数为要判断的坐标组成的表
--第二个参数为区域id
local result=Area:posInArea({x=0,y=7,z=0},areaid)
if result==0 then--如果在内部
    --在聊天框显示
    Chat:sendSystemMsg("(0,0)高度7的位置在id为"..areaid.."的区域内")
else--如果不在内部
    --在聊天框显示
    Chat:sendSystemMsg("(0,0)高度7的位置不在id为"..areaid.."的区域内")
end
Lua
getAreaPlayers
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
playerlist:table
该方法的主要作用:获取区域中的所有玩家

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--获取区域内的玩家列表,参数为区域id
local result,playerlist=Area:getAreaPlayers(areaid)
if #playerlist>0 then--如果区域内存在玩家
    for i,a in ipairs(playerlist) do
        --在聊天框显示列表
        Chat:sendSystemMsg("区域"..areaid.."内第"..i.."个玩家:"..a)
    end
else--如果区域内不存在玩家
    --在聊天框显示
    Chat:sendSystemMsg("区域"..areaid.."内没有玩家")
end
Lua
getAreaCreatures
参数及类型:

areaid:number
返回值及类型:

ErrorCode.OK
creaturelist:table
该方法的主要作用:获取区域中的所有生物

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--获取区域内的生物列表,参数为区域id
local result,creaturelist=Area:getAreaCreatures(areaid)
if #creaturelist>0 then--如果区域内存在生物
    for i,a in ipairs(creaturelist) do
        --在聊天框显示列表
        Chat:sendSystemMsg("区域"..areaid.."内第"..i.."个生物:"..a)
    end
else--如果区域内不存在生物
    --在聊天框显示
    Chat:sendSystemMsg("区域"..areaid.."内没有生物")
end
Lua
fillBlock
参数及类型:

areaid:number
blockid:number
face:number朝向
返回值及类型:

ErrorCode.OK
该方法的主要作用:用方块填充区域

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=3,y=3,z=3})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展3格的区域,区域id为"..areaid)
--用方块填充指定区域
--第一个参数为区域id
--第二个参数为要填充的方块id,1为基岩
--第三个参数为方块朝向:0西 1东 2南 3北 4下 5上
Area:fillBlock(areaid,1,0)
--在聊天框显示
Chat:sendSystemMsg("区域"..areaid.."被填充了基岩")
Lua
clearAllBlock
参数及类型:

areaid:number
blockid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:清空区域内全部方块

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--清空指定区域内的指定方块
--第一个参数为区域id
--第二个参数为要清除的方块id
Area:clearAllBlock(areaid,101)
--在聊天框显示
Chat:sendSystemMsg("清空了区域"..areaid.."内的所有土块")
Lua
cloneArea
参数及类型:

areaid:number
deststartpos:table
返回值及类型:

ErrorCode.OK
该方法的主要作用:复制区域内方块到另一个区域

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--复制区域内的方块到另一位置
--第一个参数为要复制的区域id
--第二个参数为要复制到的起点坐标组成的表
Area:cloneArea(areaid,{x=0,y=10,z=0})
--在聊天框显示
Chat:sendSystemMsg("把区域"..areaid.."内的所有方块复制到了(0,0)高度10的位置,此坐标与区域起点对应")
Lua
getPosOffset
参数及类型:

srcpos:table{x=0,y=0,z=0}
dim:table{x=2,y=2,z=2}
返回值及类型:

ErrorCode.OK
pos:table{x=2,y=2,z=2}
该方法的主要作用:传入两个坐标列表,得到相加后的位置

具体使用案例如下:

local function ClickBlock(event)
    local srcpos={x=event.x,y=event.y,z=event.z}--起点坐标,这里是被点击的坐标
    local dim={x=10,y=10,z=10}--偏移距离
    --计算偏移后的坐标
    local result,pos=Area:getPosOffset(srcpos, dim)
    print(pos)--在日志输出
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
replaceAreaBlock
参数及类型:

areaid:number
srcblockid:number
destblockid:number
face:number朝向
返回值及类型:

ErrorCode.OK
该方法的主要作用:替换方块类型为新的方块类型

具体使用案例如下:

--创建一个区域
local result,areaid=Area:createAreaRect({x=0,y=10,z=0},{x=30,y=30,z=30})
--在聊天框显示
Chat:sendSystemMsg("创建了以(0,0)高度10为中心,向左右上下前后各扩展30格的区域,区域id为"..areaid)
--把指定区域内的一种方块替换成新的方块
--第一个参数为区域id
--第二个参数为要替换掉的方块id,101是土块
--第三个参数为要替换为的方块id,1是地心基石
--最后一个参数为方块朝向:0西 1东 2南 3北 4下 5上
Area:replaceAreaBlock(areaid,101,1,0)
--在聊天框显示
Chat:sendSystemMsg("区域"..areaid.."内所有土块被替换为了基岩")
Lua
blockInAreaRange
参数及类型:

blockid:number
posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
返回值及类型:

ErrorCode.OK
该方法的主要作用:区域范围内有方块

具体使用案例如下:

--判断两点之前的范围内有没有某种方块
--第一个参数为方块id,101是土块
--后两个参数分别是范围起点和终点坐标组成的表
local result=Area:blockInAreaRange(101,{x=0,y=5,z=0},{x=1,y=8,z=1})
if result==0 then--如果包含
    --在聊天框显示
    Chat:sendSystemMsg("在(0,0)高度5到(1,1)高度8的范围内有土块")
else--如果不包含
    --在聊天框显示
    Chat:sendSystemMsg("在(0,0)高度5到(1,1)高度8的范围内没有土块")
end
Lua
getAllObjsInAreaRange
参数及类型:

posbegin:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
objtype:numberOBJ_TYPE
返回值及类型:

ErrorCode.OK
objids:table
该方法的主要作用:获取区域范围内全部对象

具体使用案例如下:

local function ClickBlock(event)
    local x,y,z=event.x,event.y,event.z--点击坐标
    local posbegin={x=x-10,y=y-10,z=z-10}--起点
    local posend={x=x+10,y=y+10,z=z+10}--终点
    local objtype=1--对象类型,1是玩家
    --获取范围内所有玩家
    local result,objids=Area:getAllObjsInAreaRange(posbegin, posend, objtype)
    Chat:sendSystemMsg("区域内共有".. #objids .."个玩家")--在聊天框显示玩家数量
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
getAllObjsInAreaRangeByObjTypes
参数及类型:

posbegin:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
objtypes:tableOBJ_TYPE
返回值及类型:

ErrorCode.OK
objids:table
该方法的主要作用:获取区域范围内全部对象

具体使用案例如下:

local function ClickBlock(event)
    local x,y,z=event.x,event.y,event.z--点击坐标
    local posbegin={x=x-10,y=y-10,z=z-10}--起点
    local posend={x=x+10,y=y+10,z=z+10}--终点
    local objtypes={1,2}--对象类型,1是玩家,2是生物
    --获取范围内所有玩家和生物
    local result,objids=Area:getAllObjsInAreaRangeByObjTypes(posbegin, posend, objtypes)
    Chat:sendSystemMsg("区域内共有".. #objids .."个玩家和生物")--在聊天框显示
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
getAllPlayersInAreaRange
参数及类型:

posbegin:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
返回值及类型:

ErrorCode.OK
objids:table
该方法的主要作用:获取区域范围内全部玩家

具体使用案例如下:

local function ClickBlock(event)
    local x,y,z=event.x,event.y,event.z--点击坐标
    local posbegin={x=x-10,y=y-10,z=z-10}--起点
    local posend={x=x+10,y=y+10,z=z+10}--终点
    --获取范围内所有玩家
    local result,objids=Area:getAllPlayersInAreaRange(posbegin, posend)
    Chat:sendSystemMsg("区域内共有".. #objids .."个玩家")--在聊天框显示
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
getAllCreaturesInAreaRange
参数及类型:

posbegin:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
返回值及类型:

ErrorCode.OK
objids:table
该方法的主要作用:获取区域范围内全部生物

具体使用案例如下:

local function ClickBlock(event)
    local x,y,z=event.x,event.y,event.z--点击坐标
    local posbegin={x=x-10,y=y-10,z=z-10}--起点
    local posend={x=x+10,y=y+10,z=z+10}--终点
    --获取范围内所有生物
    local result,objids=Area:getAllCreaturesInAreaRange(posbegin, posend)
    Chat:sendSystemMsg("区域内共有".. #objids .."个生物")--在聊天框显示
end
ScriptSupportEvent:registerEvent([=[Player.ClickBlock]=], ClickBlock)--点击方块
Lua
fillBlockAreaRange
参数及类型:

posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
blockid:number方块ID
face:number朝向
返回值及类型:

ErrorCode.OK
该方法的主要作用:用方块填充区域范围

具体使用案例如下:

--在两点之间的范围内填充某方块
--前两个参数为填充范围的起点和终点坐标组成的表
--第三个参数1为要填充的方块id,1是地心基石
--第四个参数0为方块朝向:0西 1东 2南 3北 4下 5上
Area:fillBlockAreaRange({x=0,y=7,z=0},{x=5,y=9,z=5},1,0)
--在聊天框显示
Chat:sendSystemMsg("从(0,0)高度7到(5,5)高度9的范围被填充了基岩")
Lua
clearAllBlockAreaRange
参数及类型:

posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
blockid:number方块ID
返回值及类型:

ErrorCode.OK
该方法的主要作用:清空区域范围内方块

具体使用案例如下:

--清空两点之间范围内的某方块
--前两个参数为范围的起点和终点坐标组成的表
--第三个参数为要清除的方块id,101是土块
Area:clearAllBlockAreaRange({x=0,y=7,z=0},{x=5,y=9,z=5},101)
--在聊天框显示
Chat:sendSystemMsg("清空了(0,0)高度7到(5,5)高度9范围内的土块")
Lua
cloneAreaRange
参数及类型:

posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
deststartpos:table目标起始位置 {x=number, y=number, z=number}
返回值及类型:

ErrorCode.OK
该方法的主要作用:复制区域范围内方块到另一个区域

具体使用案例如下:

--复制两点之间范围内的方块到另一位置
--前两个参数为范围的起点和终点坐标组成的表
--后一个参数为要复制到的范围起点坐标
Area:cloneAreaRange({x=0,y=3,z=0},{x=5,y=7,z=5},{x=0,y=10,z=0})
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度3到(5,5)高度7范围内的方块复制到了(0,0)高度10(以此为起点)")
Lua
replaceAreaRangeBlock
参数及类型:

posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
srcblockid:number替换原始方块
destblockid:number替换目标方块
face:number朝向
返回值及类型:

ErrorCode.OK
该方法的主要作用:替换区域范围方块

具体使用案例如下:

--替换两点之间范围内的某种方块为另一种方块
--前两个参数为范围的起点和终点坐标组成的表
--第三个参数101为要替换掉的方块id,101是土块
--第四个参数为要替换为的方块id,1是地心基石
--最后一个参数为方块朝向:0西 1东 2南 3北 4下 5上
Area:replaceAreaRangeBlock({x=0,y=3,z=0},{x=5,y=7,z=5},101,1,0)
--在聊天框显示
Chat:sendSystemMsg("从(0,0)高度3到(5,5)高度7的范围内,所有的土块被替换为了基岩")
Lua
 

DestroyBlockAreaRange

参数及类型:
posbeg:table起点{x=number, y=number, z=number}
posend:table终点{x=number, y=number, z=number}
blockid:number破坏的方块ID
返回值及类型:
ErrorCode.OK
该方法的主要作用:破坏区域范围方块
具体使用案例如下:
Area:DestroyBlockAreaRange({x=0,y=6,z=0},{x=5,y=7,z=5},100)
Lua
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 牵手DeepSeek:打造本地AI超能力

一、引言 在人工智能飞速发展的当下,大语言模型如 DeepSeek 正掀起新一轮的技术变革浪潮,为自然语言处理领域带来了诸多创新应用。随着数据隐私和安全意识的提升,以及对模型部署灵活性的追求,本地部署 DeepSeek 成为众多开发者和…

Linux--基础命令3

大家好,今天我们继续学习Linux的基础命令 mv命令 mv命令是move的缩写,可以用来移动文件或者将文件改名 move(rename) files,经常⽤来备份⽂件或者目录 语法: mv [ 选项 ] 源⽂件或目录 目标⽂件或目录 mv src[文件、目录] dst[路径、文…

【每日八股】计算机网络篇(三):IP

目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP,为什么?默认使用 UDP 的原因需要使用 TCP 的场景?总结 DNS 劫持是什么?解决办法?浏览器输入一个 URL 到显示器显示的过程?URL 解析TCP 连接HTTP 请求页…

探究DeepSeek R1与OpenAI模型文本相似度背后的秘密

摘要 一项由Copyleaks进行的新研究显示,DeepSeek R1生成的文本在风格上与OpenAI模型的相似度高达74.2%。这一发现引发了对DeepSeek训练数据来源和独特性的质疑。Copyleaks作为专业检测文本抄袭和AI生成内容的平台,其研究结果具有重要参考价值。此相似度揭…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-2.2.3案例:电商订单日志每秒10万条写入优化

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 Elasticsearch批量写入性能调优实战:2.2.3 案例:电商订单日志每秒10万条写入优化1. 原始架构与瓶颈分析1.1 初始集群配置1.2 性能瓶颈定位 2. 全链路…

统计Excel列中某值出现的次数

统计Excel列中某值出现的次数: 1、COUNTIF 函数用于计算满足特定条件的单元格数量。假设要统计 A 列中值为 “苹果” 出现的次数,在其他单元格中输入公式:COUNTIF(A:A,“苹果”)。其中,A:A表示要统计的范围是 A 列,&q…

nnUNet报错

nnUNet报错处理 Traceback (most recent call last):File "/opt/conda/envs/nnunet/lib/python3.11/threading.py", line 1045, in _bootstrap_innerself.run()File "/opt/conda/envs/nnunet/lib/python3.11/threading.py", line 982, in runself._target…

Compose Multiplatform+Kotlin Multiplatfrom 第四弹跨平台

文章目录 引言功能效果开发准备依赖使用gradle依赖库MVIFlow设计富文本显示 总结 引言 Compose Multiplatformkotlin Multiplatfrom 今天已经到compose v1.7.3,从界面UI框架上实战开发看,很多api都去掉实验性注解,表示稳定使用了!…

(十一)基于vue3+mapbox-GL实现模拟高德实时导航轨迹播放

要在 Vue 3 项目中结合 Mapbox GL 实现类似高德地图的实时导航轨迹功能,您可以按照以下步骤进行: 安装依赖: 首先,安装 mapbox-gl 和 @turf/turf 这两个必要的库: npm install mapbox-gl @turf/turf引入 Mapbox GL: 在组件中引入 mapbox-gl 并初始化地图实例: <templ…

智慧园区大数据云平台建设总体方案,平台方案架构-智慧园区大数据平台(320页原件Word)

第一章 项目建设背景及现状 1.1. 项目建设背景 1.2. 项目建设必要性 1.3. 项目建设目标 1.4. 建设原则 第二章 园区创新发展趋势 2.1园区经济向生态型转变 2.2 园区企业向高新型转变 2.3园区管理向城市化转变 第三章 工业园区大数据存在的问题 3.1信息化配套设施及服…

NeurIPS24 Oral!多模态融合+目标检测全新里程碑!

最近发现多模态融合目标检测实在太热了&#xff01;顶会频出&#xff01;像是NeurIPS24 Oral上端到端算法E2E-MFD&#xff1b;ECCV24上性能提升30.8&#xff05;的FRN&#xff1b;TPAMI24上推理效率狂飙270&#xff05;倍的FSF…… 主要在于&#xff1a;一方面&#xff0c;其能…

网络编程——http

在Linux系统中使用C语言实现HTTP客户端或服务器通常涉及使用套接字编程和一些HTTP协议的基本知识。下面是一个简单的示例&#xff0c;展示了如何用C语言实现一个HTTP客户端&#xff0c;向一个HTTP服务器发送请求并接收响应。 1. HTTP客户端示例 (C语言) 这个例子展示了如何用C…

【Go语言快速上手】第一部分:数据类型(数组、切片、映射)与控制语句

文章目录 一、复合类型Ⅰ 数组1. 语法2. 示例3. 特点4. 数组的传递 Ⅱ 切片1. 定义2. 语法3. 示例4. 特点5. 切片的创建6. 切片的操作切片的扩展切片的拷贝 Ⅲ 映射1. 定义2. 语法3. 示例4. 特点5. 映射的创建6. 映射的操作示例&#xff1a;插入、访问和删除判断键是否存在示例…

EasyDSS视频推拉流/直播点播平台:Mysql数据库接口报错502处理方法

视频推拉流/视频直播点播EasyDSS互联网直播平台支持一站式的上传、转码、直播、回放、嵌入、分享功能&#xff0c;具有多屏播放、自由组合、接口丰富等特点。平台可以为用户提供专业、稳定的直播推流、转码、分发和播放服务&#xff0c;全面满足超低延迟、超高画质、超大并发访…

手机号码归属地的实现

手机号码归属地查询一般可以通过以下几种方式实现&#xff1a; 1. 使用公开的号码归属地数据库 可以使用国内的手机号码归属地数据库&#xff0c;如&#xff1a; 百度号码归属地开放API阿里云号码归属地API腾讯号码归属地API 你可以在本地存储一个 CSV 或 SQLite 数据库&…

C语言--简单排序算法(冒泡、选择、插入)

实现三种简单的排序算法 文章目录 冒泡排序改进改进2 选择排序插入排序执行结果 冒泡排序 每次外层循环&#xff0c;排出一个最大值 void bubbleSort(int arr[], int len) {for (int i 0; i < len - 1; i) {for (int j 0; j < len - i - 1; j) {if (arr[j] > arr[…

如何获取Mac OS 安装盘

发现虚拟机VirtualBox支持Mac虚拟&#xff0c;就想尝试一下。但是发现Mac的安装盘特别难拿到&#xff0c;因此留档。发现有几种方法&#xff0c;最简单的方法&#xff0c;是在有Mac 机器的情况下&#xff0c;直接到App Store里&#xff0c;根据Mac版本的名字查找并下载。另外还…

AWS中使用CloudFront分发API Gateway

首先需要准备一个Lambda function(Lambda->Functions) 还要准备一个证书&#xff0c;要覆盖子域名&#xff08;AWS Certificate Manager->Certificates&#xff09;。 1、API Gateway->Create API->REST API->Build->API endpoint type( Edge-optimized )-…

【STM32项目实战系列】基于STM32G474的FDCAN驱动配置

前言&#xff1a;本周工作中用到了CANFD的驱动&#xff0c;由于以前都是用到的CAN2.0&#xff0c;所以过程并不是特别的顺利&#xff0c;所以中间遇到几个比较小的问题导致自己卡住了一段时间&#xff0c;特此记录一下并完全奉上自己的配置的源码。 1&#xff0c;CANFD配置与简…