Appearance
方块模块管理接口 Block
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | IsSolidBlock(...) | 是否为固体方块 |
2 | IsLiquidBlock(...) | 是否是液体方块 |
3 | IsAirBlock(...) | 是否是空气方块 |
4 | GetBlockID(...) | 获取指定位置的方块类型 |
5 | SetBlockAll(...) | 设置位置方块数据 |
6 | DestroyBlock(...) | 摧毁方块 |
7 | PlaceBlock(...) | 放置方块 |
8 | ReplaceBlock(...) | 替换方块 |
9 | GetBlockData(...) | 获取方块数据 |
10 | GetBlockDir(...) | 获取方块朝向 |
11 | PlayAnim(...) | 播放方块动作 |
12 | SetBlockSettingAttState(...) | 设置方块设置属性状态 |
13 | GetBlockSettingAttState(...) | 获取方块设置属性状态 |
14 | GetBlockSwitchStatus(...) | 获取功能方块的开关状态 |
15 | GetBlockPowerStatus(...) | 获取方块的通电状态 |
16 | RandomBlockID(...) | 在资源库里随机获取一个方块 |
17 | GetBlockDefName(...) | 获取方块名称 |
18 | GetBlockDefDesc(...) | 获取方块描述 |
19 | ReplaceBluePrint(...) | 放置蓝图 |
20 | PlayCrackEffect(...) | 播放方块裂纹特效 |
21 | PlayDestroyEffect(...) | 播放方块损毁特效 |
22 | GetBlockDropItemType(...) | 获取方块掉落物信息 |
23 | GetBlockDropExp(...) | 获取方块的采集经验 |
24 | SetBlockColor(...) | 设置方块颜色 |
25 | SetBlockSwichState(...) | 设置方块开关状态 |
26 | SetBlockDir(...) | 设置方块方向 |
27 | GetFacade(...) | 获取方块类型外观 |
IsSolidBlock
lua
local isSolidBlock = Block:IsSolidBlock(x, y, z)
IsLiquidBlock
lua
local isLiquidBlock = Block:IsLiquidBlock(x, y, z)
IsAirBlock
- 参数及类型:
- x,y,z:
number
位置坐标
- x,y,z:
- 返回值及类型: ret::boolean:true/false
- 该方法的主要作用: 是否是空气方块
- 具体使用案例如下:
lua
local isAirBlock = Block:IsAirBlock(x, y, z)
GetBlockID
lua
local blockID = Block:GetBlockID(x, y, z)
SetBlockAll
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 设置位置方块数据
- 具体使用案例如下:
lua
local ret = Block:SetBlockAll(x, y, z, blockid, data)
DestroyBlock
lua
-- 删除方块,没有掉落物
local success = Block:DestroyBlock(x, y, z, false)
PlaceBlock
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 放置方块
- 具体使用案例如下:
lua
-- 摆放方块,376 是方块ID,x, y, z 是位置,FaceDir.PosX 是方向,0XFFFFFF 是颜色
local success2 = Block:PlaceBlock(376, x, y, z, FaceDir.PosX)
-- 创建颜色方块
local success = Block:PlaceBlock(605, x + 1, y, z, FaceDir.PosX, 0XFFFFFF)
ReplaceBlock
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 替换方块
- 具体使用案例如下:
lua
local success = Block:ReplaceBlock(105, x, y, z)
GetBlockData
lua
local blockData = Block:GetBlockData(x, y, z)
GetBlockDir
lua
local blockDir = Block:GetBlockDir(x, y, z)
PlayAnim
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 播放方块动作
- 具体使用案例如下:
lua
local success = Block:PlayAnim({x, y, z}, 100100, 1, AnimMode.Default)
SetBlockSettingAttState
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 设置方块设置属性状态
- 具体使用案例如下:
lua
-- 设置爆炸抗性打开
local success = Block:SetBlockSettingAttState(x, y, z, BlockAttr.ExplodeResistance, true)
GetBlockSettingAttState
- 参数及类型:
- 返回值及类型:
- ret:
boolean
是否开启
- ret:
- 该方法的主要作用: 获取方块设置属性状态
- 具体使用案例如下:
lua
local state = Block:GetBlockSettingAttState(x, y, z, BlockAttr.ExplodeResistance)
GetBlockSwitchStatus
lua
local status = Block:GetBlockSwitchStatus(x, y, z)
GetBlockPowerStatus
lua
local status = Block:GetBlockPowerStatus(x, y, z)
RandomBlockID
- 参数及类型: 无
- 返回值及类型:
- ret:
number
随机的方块类型
- ret:
- 该方法的主要作用: 在资源库里随机获取一个方块
- 具体使用案例如下:
lua
local blockID = Block:RandomBlockID()
GetBlockDefName
lua
local blockDefName = Block:GetBlockDefName(x, y, z)
GetBlockDefDesc
lua
local blockDefDesc = Block:GetBlockDefDesc(x, y, z)
ReplaceBluePrint
- 参数及类型:
- 返回值及类型:
- ret:
bool
是否成功
- ret:
- 该方法的主要作用: 放置蓝图
- 具体使用案例如下:
lua
local success = Block:ReplaceBluePrint(x, y, z, [=[1,bp6666_1687921429_0_,]=], 90, false, true)
PlayCrackEffect
lua
local process = 10
local success = Block:PlayCrackEffect(x, y, z,process)
PlayDestroyEffect
- 参数及类型:
- 返回值及类型:
- ret:
boolean
操作是否成功
- ret:
- 该方法的主要作用: 播放方块损毁特效
- 具体使用案例如下:
lua
local success = Block:PlayDestroyEffect(x, y, z)
GetBlockDropItemType
- 参数及类型:
- 返回值及类型:
- ret:
table
返回掉落道具信息{itemid - itemnum
- odds} 道具
- 数量
- 概率
- ret:
- 该方法的主要作用: 获取方块掉落物信息
- 具体使用案例如下:
lua
-- 1手持敲方块,2手持道具正确,3手持道具不正确
local tb = Block:GetBlockDropItemType(100,1)
if tb then
print("获取方块掉落物品类型", tb[1])
print("获取方块掉落物品数量", tb[2])
print("获取方块掉落物品概率", tb[3])
end
GetBlockDropExp
lua
local exp = Block:GetBlockDropExp(100,1)
SetBlockColor
lua
local success = Block:SetBlockColor(x, y, z, 0XFF0000)
SetBlockSwichState
lua
local success = Block:SetBlockSwichState(x, y, z, true)
SetBlockDir
lua
local success = Block:SetBlockDir(x, y, z, FaceDir.PosZ)
-- self:ThreadWait(1)
GetFacade
- 参数及类型:
- blockid:number
- string:方块类型ID或方块预制ID
- 返回值及类型:
- ret:
string
方块类型外观
- ret:
- 该方法的主要作用: 获取方块类型外观
- 具体使用案例如下:
lua
-- 官方默认方块示例
local facade1 = Block:GetFacade(100)
if facade1 == nil then
print("facade1 is nil")
end
-- 自定义方块示例
local facade2 = Block:GetFacade('r0_7495946400275515402_23048')
if facade2 == nil then
print("facade2 is nil")
end