具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
1 | isSolidBlock(...) | 是否是固体方块 |
2 | isLiquidBlock(...) | 是否是液体方块 |
3 | isAirBlock(...) | 是否是气体方块 |
4 | getBlockID(...) | 获取block对应id |
5 | setBlockAll(...) | 设置blockalldata 更新+通知 |
6 | getBlockData(...) | 获得blockdata |
7 | destroyBlock(...) | 摧毁方块 dropitem:掉落道具(默认false,不掉落) |
8 | placeBlock(...) | 放置方块 |
9 | replaceBlock(...) | 替换方块 |
10 | setBlockAllForUpdate(...) | 设置blockalldata 通知周围方块 |
11 | setBlockAllForNotify(...) | 设置blockalldata 更新当前位置方块 |
12 | setBlockSettingAttState(...) | 设置方块设置属性状态 |
13 | getBlockSettingAttState(...) | 获取方块设置属性状态 |
14 | getBlockSwitchStatus(...) | 获取功能方块的开关状态 |
15 | setBlockSwitchStatus(...) | 设置功能方块的开关状态 |
16 | getBlockDataByDir(...) | 通过方向获取方块data值 |
17 | getBlockPowerStatus(...) | 获取方块的通电状态 |
18 | randomBlockID(...) |
获取随机方块id |
19 | GetBlockDefName(...) |
获取方块名称 |
20 | GetBlockDefDesc(...) |
获取方块描述 |
21 | GetBlockFacade(...) |
获取方块外观 |
22 | PlayAct(...) |
微缩方块播放动作 |
23 | ReplaceBluePrint(...) |
放置蓝图 |
--判断(0,0)高度6的位置是不是固体方块
local result=Block:isSolidBlock(0,6,0)
if result==0 then--是固体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置是固体方块")
else--不是固体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置不是固体方块")
end
--判断(0,0)高度6的位置是不是液体方块
local result=Block:isLiquidBlock(0,6,0)
if result==0 then--是液体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置是液体方块")
else--不是液体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置不是液体方块")
end
--判断(0,0)高度6的位置是不是气体方块
local result=Block:isAirBlock(0,6,0)
if result==0 then--是气体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置是气体方块")
else--不是气体方块
Chat:sendSystemMsg("坐标(0,0)高度6的位置不是气体方块")
end
--获取(0,0)高度6的位置的方块id
local result,id=Block:getBlockID(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块id是"..id)
参数及类型:
返回值及类型:
该方法的主要作用:设置blockalldata 更新+通知
具体使用案例如下:
--把(0,0)高度6的位置设置为基岩
--倒数第二个参数1为方块id,最后一个参数0为方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等,具体可以用getBlockData获取
Block:setBlockAll(0,6,0,1,0)
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度6的位置设置为基岩,data为0")
--获取(0,0)高度6的位置的方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等
local result,data=Block:getBlockData(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块data是"..data)
参数及类型:
返回值及类型:
该方法的主要作用:摧毁方块 dropitem:掉落道具(默认false,不掉落)
具体使用案例如下:
--破坏(0,0)高度6的方块并掉落
--最后一个参数true为掉落,false为不掉落
Block:destroyBlock(0,6,0,true)
--在聊天框显示
Chat:sendSystemMsg("破坏了(0,0)高度6的方块并掉落")
参数及类型:
返回值及类型:
该方法的主要作用:放置方块
具体使用案例如下:
--在(0,0)高度7放置一个基岩,朝向西。如果这个位置已经有了方块是无法放置的。
--第一个参数1为放置的方块id
--中间三个参数0,7,0为放置坐标
--最后一个参数0为朝向参数:0西 1东 2南 3北 4下 5上
Block:placeBlock(1,0,7,0,0)
--在聊天框显示
Chat:sendSystemMsg("在(0,0)高度7的位置放置了一个基岩,朝向西")
参数及类型:
返回值及类型:
该方法的主要作用:替换方块
具体使用案例如下:
--把(0,0)高度6的位置替换为基岩,朝向西。
--第一个参数1为放置的方块id
--中间三个参数0,6,0为替换坐标
--最后一个参数0为朝向参数:0西 1东 2南 3北 4下 5上
Block:replaceBlock(1,0,6,0,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被替换成了基岩,朝向西")
--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForUpdate(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForNotify(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
参数及类型:
number
BLOCKATTR_ENABLE
boolean
返回值及类型:
该方法的主要作用:设置方块设置属性状态
具体使用案例如下:
--把所有土块设置为不可破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
--第三个参数false为“不可”,改为true表示“可以”
Block:setBlockSettingAttState(101,1,false)
--在聊天框显示
Chat:sendSystemMsg("所有土块被设置为了不可破坏!")
参数及类型:
number
BLOCKATTR_ENABLE
返回值及类型:
该方法的主要作用:获取方块设置属性状态
具体使用案例如下:
--获取土块是否可被破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
local result,switch=Block:getBlockSettingAttState(101,1)
if switch then--可以破坏
Chat:sendSystemMsg("土块可以被破坏!")
else--不可破坏
Chat:sendSystemMsg("土块无法被破坏!")
end
--判断(0,0)高度7的位置的方块(比如开关)是否被打开
local result,isactive=Block:getBlockSwitchStatus({x=0,y=7,z=0})
if isactive then--被打开
Chat:sendSystemMsg("(0,0)高度7的位置的方块已被打开!")
else--没有被打开
Chat:sendSystemMsg("(0,0)高度7的位置的方块没有被打开!")
end
--打开(0,0)高度7位置的方块(比如开关)
--最后一个参数true为打开,false为关闭
Block:setBlockSwitchStatus({x=0,y=7,z=0},true)
--在聊天框显示
Chat:sendSystemMsg("打开了(0,0)高度7的位置的方块!")
--获取朝向北的落叶松木的data
--第一个参数201为方块id
--第二个参数3为朝向参数:0西 1东 2南 3北 4下 5上
local result,data=Block:getBlockDataByDir(201,3)
--在聊天框显示
Chat:sendSystemMsg("落叶松木在朝向北的时候的data为:"..data)
--判断(0,0)高度7的位置的方块有没有通电
local result,isactive=Block:getBlockPowerStatus({x=0,y=7,z=0})
if isactive then--通电
Chat:sendSystemMsg("(0,0)高度7的位置的方块已被通电!")
else--没有通电
Chat:sendSystemMsg("(0,0)高度7的位置的方块没有通电!")
end
local result,blockid = Block:randomBlockID()
local result,name = Block:GetBlockDefName(blockid)
local result,desc = Block:GetBlockDefDesc(blockid)
local result,faced = Block:GetBlockFacade(blockid)
local result = Block:PlayAct(0,8,0,12,ANIMMODE.ANIM_MODE_LOOP) --在坐标(0,8,0)的微缩方块循环播放跑的动画
local code = Block:ReplaceBluePrint(x, y, z, blueprint, angle, mirror, placeMode)
if code == ErrorCode.OK then
print('执行成功' )
else
print('执行失败')
end