迷你世界脚本区域接口: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
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

康谋分享 | 3DGS:革新自动驾驶仿真场景重建的关键技术

随着自动驾驶技术的迅猛发展,构建高保真、动态的仿真场景成为了行业的迫切需求。传统的三维重建方法在处理复杂场景时常常面临效率和精度的挑战。在此背景下,3D高斯点阵渲染(3DGS)技术应运而生,成为自动驾驶仿真场景重…

MARL零样本协调之Fictitious Co-Play学习笔记

下列引用来自知乎作者Algernon 知乎link FCP作为ZSC领域两阶段训练方法的开创者 论文《Collaborating with Humans without Human Data》来自 NeurIPS 2021。这篇论文提出 Fictitious Co-Play (FCP) 来解决 ZSC 问题。论文认为,ZSC 的第一个重要问题是对称性&#x…

IntelliJ IDEA 2024.3.4 版本无法正常加载maven项目

报错如下: Possible solutions: - Check that Maven settings.xml does not contain http repositories - Check that Maven pom files do not contain http repository http://192.168.22.76:9003/repository/thirdparty/ - Check that Maven pom files do not co…

SpringBoot 校园新闻网站

收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…

在 Windows 上最快速安装 Qt 5

引言 Qt 是一个强大的跨平台 C 开发框架,广泛应用于 GUI 开发、嵌入式系统和工业软件等领域。然而,许多开发者习惯于在 Linux(如 Ubuntu)环境下使用 Qt,而在 Windows 上搭建 Qt 开发环境时可能会遇到许多问题&#xf…

快速排序算法详解

算法原理 快速排序是一种分治的策略的排序算法。它的核心排序思想是将问题不断的分解为子问题。以数组为例进行介绍更容易理解&#xff0c;创建一个数组或者vector&#xff0c;假设是std::vector<int> a{3&#xff0c;2, 1, 5, 4,7}&#xff0c;要对a从小到大进行排序&a…

【Linux-网络】HTTP的清风与HTTPS的密语

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da; 引言 &#x1f4da; 一、HTTP &#x1f4d6; 1.概述 &#x1f4d6; 2.URL &#x1f5…

2025-03-05 学习记录--C/C++-PTA 习题5-6 使用函数输出水仙花数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>int narcissistic( int number ); vo…

Vue的简单入门 三

目录 侦听器 watch 注意 表单输入绑定 v-model v-model修饰符​编辑 lazy number Trim 模板引用 组件组成 组件引用三步走 组件的嵌套关系 header Main Aside Aritice Item App.vue组件引入三个子组件 组件的注册方式 全局注册组件的方法 (1) Vue 2 语…

跨域-告别CORS烦恼

跨域-告别CORS烦恼 文章目录 跨域-告别CORS烦恼[toc]1-参考网址2-思路整理1-核心问题2-个人思考3-脑洞打开4-个人思考-修正版1-个人思考2-脑洞打开 3-知识整理1-什么是跨域一、同源策略简介什么是源什么是同源是否是同源的判断哪些操作不受同源策略限制跨域如何跨域 二、CORS 简…

大模型核心要素完全解析:从数字神经元到智能对话的奥秘

一、神经网络的基石&#xff1a;模型参数 1.1 参数的本质解密 大模型参数是指在大规模机器学习模型&#xff0c;特别是像大型语言模型&#xff08;LLM&#xff09;等中&#xff0c;用于描述模型结构和功能的各种变量和数据。 其中大模型参数又分为权重参数和偏置参数&#x…

Android ChatOn-v1.66.536-598-[构建于ChatGPT和GPT-4o之上]

ChatOn 链接&#xff1a;https://pan.xunlei.com/s/VOKYnq-i3C83CK-HJ1gfLf4gA1?pwdwzwc# 添加了最大无限积分 删除了所有调试信息 语言&#xff1a;全语言支持

前端开发10大框架深度解析

摘要 在现代前端开发中&#xff0c;框架的选择对项目的成功至关重要。本文旨在为开发者提供一份全面的前端框架指南&#xff0c;涵盖 React、Vue.js、Angular、Svelte、Ember.js、Preact、Backbone.js、Next.js、Nuxt.js 和 Gatsby。我们将从 简介、优缺点、适用场景 以及 实际…

NL2SQL-基于Dify+阿里通义千问大模型,实现自然语音自动生产SQL语句

本文基于Dify阿里通义千问大模型&#xff0c;实现自然语音自动生产SQL语句功能&#xff0c;话不多说直接上效果图 我们可以试着问他几个问题 查询每个部门的员工数量SELECT d.dept_name, COUNT(e.emp_no) AS employee_count FROM employees e JOIN dept_emp de ON e.emp_no d…

2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 字某跳动-渗透测试实习生 渗透流程信息收集如何处理子域名爆破中的泛解析问题绕过CDN寻找真实IPPHPINFO页面关注…

从文件到块: 提高 Hugging Face 存储效率

Hugging Face 在Git LFS 仓库中存储了超过30 PB 的模型、数据集和 Spaces。由于 Git 在文件级别进行存储和版本控制&#xff0c;任何文件的修改都需要重新上传整个文件。这在 Hub 上会产生高昂的成本&#xff0c;因为平均每个 Parquet 和 CSV 文件大小在 200-300 MB 之间&#…

大型语言模型演变之路:从Transformer到DeepSeek-R1

大型语言模型的崛起被认为是人工智能领域的一次革命&#xff0c;从2017年Transformer架构的引入开始&#xff0c;到2025年DeepSeek-R1的推出&#xff0c;每一步都在不断改变着人机交互的方式&#xff0c;推动着学术界与产业界的深度融合。 1. Transformer的引领&#xff08;201…

设计模式(7)——SOLID原则之接口隔离原则

设计模式&#xff08;7&#xff09;——SOLID原则之接口隔离原则 概念示例总结 概念 客户端不应被强迫依赖于其不使用的方法。这句话的意思是指尽量缩小接口的范围&#xff0c;使得客户端的类不必实现其不需要的行为。 根据接口隔离原则&#xff0c;你必须将“臃肿”的方法拆…

Excel的行高、列宽单位不统一?还是LaTeX靠谱

想要生成田字格、米字格、带拼音标准&#xff0c;方便小学生书法和练字。Word&#xff0c;Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时&#xff0c;如果没有专用模板、奇奇怪怪的插件&#xff0c;使用起来会碰到各种问题。比如&#xff0c;Word里面用…

C++学习之路,从0到精通的征途:入门基础

目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 ​五.函数重载 1.参数个数不同 2.参数类型不…