# 方块管理接口 Block
在使用方块接口前需先创建方块管理对象,方法如下:(此处已废弃)
local Block = class.Block.new()
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | isSolidBlock(...) | 是否是固体方块 |
2 | isLiquidBlock(...) | 是否是液体方块 |
3 | isAirBlock(...) | 是否是气体方块 |
4 | getBlockID(...) | 获取指定位置的方块类型 |
5 | setBlockAll(...) | 设置位置方块数据 |
6 | getBlockData(...) | 获取方块数据 |
7 | destroyBlock(...) | 摧毁方块 |
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(...) | 在资源库里随机创建一个方块 |
19 | GetBlockDefName(...) | 获取方块名称 |
20 | GetBlockDefDesc(...) | 获取方块描述 |
21 | GetBlockFacade(...) | 获取方块外观 |
22 | PlayAct(...) | 位置方块播放动画 |
23 | ReplaceBluePrint(...) | 放置蓝图 |
# isSolidBlock
--判断(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
# isLiquidBlock
--判断(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
# isAirBlock
- 参数及类型:
- x,y,z:
number
位置坐标
- x,y,z:
- 返回值及类型: ret::boolean:true/false
- 该方法的主要作用: 是否是气体方块
- 具体使用案例如下:
--判断(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
# getBlockID
- 参数及类型:
- x,y,z:
number
位置坐标
- x,y,z:
- 返回值及类型:
- 该方法的主要作用: 获取指定位置的方块类型
- 具体使用案例如下:
--获取(0,0)高度6的位置的方块id
local result,id = Block:getBlockID(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块id是"..id)
# setBlockAll
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置位置方块数据
- 具体使用案例如下:
--把(0,0)高度6的位置设置为基岩
--倒数第二个参数1为方块id,最后一个参数0为方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等,具体可以用getBlockData获取
Block:setBlockAll(0,6,0,1,0)
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度6的位置设置为基岩,data为0")
# getBlockData
- 参数及类型:
- x,y,z:
number
位置坐标
- x,y,z:
- 返回值及类型:
- 该方法的主要作用: 获取方块数据
- 具体使用案例如下:
--获取(0,0)高度6的位置的方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等
local result,data=Block:getBlockData(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块data是"..data)
# destroyBlock
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 摧毁方块
- 具体使用案例如下:
--破坏(0,0)高度6的方块并掉落
--最后一个参数true为掉落,false为不掉落
Block:destroyBlock(0,6,0,true)
--在聊天框显示
Chat:sendSystemMsg("破坏了(0,0)高度6的方块并掉落")
# placeBlock
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 放置方块
- 具体使用案例如下:
--在(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的位置放置了一个基岩,朝向西")
# replaceBlock
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 替换方块
- 具体使用案例如下:
--把(0,0)高度6的位置替换为基岩,朝向西。
--第一个参数1为放置的方块id
--中间三个参数0,6,0为替换坐标
--最后一个参数0为朝向参数:0西 1东 2南 3北 4下 5上
Block:placeBlock(1,0,6,0,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被替换成了基岩,朝向西")
# setBlockAllForUpdate
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置blockalldata 更新当前位置方块
- 具体使用案例如下:
--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForUpdate(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
# setBlockAllForNotify
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置blockalldata 通知周围方块
- 具体使用案例如下:
--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForNotify(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
# setBlockSettingAttState
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置方块设置属性状态
- 具体使用案例如下:
--把所有土块设置为不可破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
--第三个参数false为“不可”,改为true表示“可以”
Block:setBlockSettingAttState(101,1,false)
--在聊天框显示
Chat:sendSystemMsg("所有土块被设置为了不可破坏!")
# getBlockSettingAttState
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取方块设置属性状态
- 具体使用案例如下:
--获取土块是否可被破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
local result,switch=Block:getBlockSettingAttState(101,1)
if switch then--可以破坏
Chat:sendSystemMsg("土块可以被破坏!")
else--不可破坏
Chat:sendSystemMsg("土块无法被破坏!")
end
# getBlockSwitchStatus
- 参数及类型:
- pos:
table
位置值
- pos:
- 返回值及类型:
- 该方法的主要作用: 获取功能方块的开关状态
- 具体使用案例如下:
--判断(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
# setBlockSwitchStatus
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置功能方块的开关状态
- 具体使用案例如下:
--打开(0,0)高度7位置的方块(比如开关)
--最后一个参数true为打开,false为关闭
Block:setBlockSwitchStatus({x=0,y=7,z=0},true)
--在聊天框显示
Chat:sendSystemMsg("打开了(0,0)高度7的位置的方块!")
# getBlockDataByDir
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 通过方向获取方块data值
- 具体使用案例如下:
--获取朝向北的落叶松木的data
--第一个参数201为方块id
--第二个参数3为朝向参数:0西 1东 2南 3北 4下 5上
local result,data=Block:getBlockDataByDir(201,3)
--在聊天框显示
Chat:sendSystemMsg("落叶松木在朝向北的时候的data为:"..data)
# getBlockPowerStatus
- 参数及类型:
- pos:
table
位置值
- pos:
- 返回值及类型:
- 该方法的主要作用: 获取方块的通电状态
- 具体使用案例如下:
--判断(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
# randomBlockID
- 参数及类型: 无
- 返回值及类型:
- 该方法的主要作用: 在资源库里随机创建一个方块
- 具体使用案例如下:
local code, ret = Block:randomBlockID()
if code == ErrorCode.OK then
print('执行成功', code, ret )
else
print('执行失败')
end
# GetBlockDefName
- 参数及类型:
- blockid:
number
方块类型ID
- blockid:
- 返回值及类型:
- 该方法的主要作用: 获取方块名称
- 具体使用案例如下:
local code, ret = Block:GetBlockDefName(blockid)
if code == ErrorCode.OK then
print('执行成功', code, ret )
else
print('执行失败')
end
# GetBlockDefDesc
- 参数及类型:
- blockid:
number
方块类型ID
- blockid:
- 返回值及类型:
- 该方法的主要作用: 获取方块描述
- 具体使用案例如下:
local code, ret = Block:GetBlockDefDesc(blockid)
if code == ErrorCode.OK then
print('执行成功', code, ret )
else
print('执行失败')
end
# GetBlockFacade
- 参数及类型:
- blockid:
number
方块类型ID
- blockid:
- 返回值及类型:
- 该方法的主要作用: 获取方块外观
- 具体使用案例如下:
local code, ret = Block:GetBlockFacade(blockid)
if code == ErrorCode.OK then
print('执行成功', code, ret )
else
print('执行失败')
end
# PlayAct
- 参数及类型:
- x,y,z:
number
位置坐标 - animid number:动画ID
- playmode number:ANIMMODE枚举值
- x,y,z:
- 返回值及类型:
- 该方法的主要作用: 位置方块播放动画
- 具体使用案例如下:
local code = Block:PlayAct(x, y, z, animid, playmode)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end
# ReplaceBluePrint
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 放置蓝图
- 具体使用案例如下:
local code = Block:ReplaceBluePrint(x, y, z, blueprint, angle, mirror, placeMode)
if code == ErrorCode.OK then
print('执行成功', code )
else
print('执行失败')
end