Appearance
方块模块管理接口 Block
具体函数名及描述如下:
| 序号 | 函数名 | 函数描述 |
|---|---|---|
| 1 | IsSolidBlock(...) | 判断是否为固体方块 |
| 2 | IsLiquidBlock(...) | 判断是否为液体方块 |
| 3 | IsAirBlock(...) | 判断是否为空气方块 |
| 4 | GetBlockID(...) | 获取方块类型ID |
| 5 | DestroyBlock(...) | 摧毁方块 |
| 6 | PlaceBlock(...) | 放置方块 |
| 7 | ReplaceBlock(...) | 替换方块 |
| 8 | SetBlockData(...) | 设置方块数据 |
| 9 | GetBlockData(...) | 获取方块数据 |
| 10 | GetBlockDir(...) | 获取方块朝向 |
| 11 | PlayAnim(...) | 播放方块动作 |
| 12 | SetBlockSettingAttState(...) | 设置方块属性状态 |
| 13 | GetBlockSettingAttState(...) | 获取方块属性状态 |
| 14 | GetBlockSwitchStatus(...) | 获取功能方块开关状态 |
| 15 | SetBlockSwitchStatus(...) | 设置功能方块开关状态 |
| 16 | GetBlockPowerStatus(...) | 获取方块通电状态 |
| 17 | RandomBlockID(...) | 随机获取方块ID |
| 18 | GetBlockDefName(...) | 获取方块名称 |
| 19 | GetBlockDefDesc(...) | 获取方块描述 |
| 20 | ReplaceBluePrint(...) | 放置蓝图 |
| 21 | PlayCrackEffect(...) | 播放方块裂纹特效 |
| 22 | PlayDestroyEffect(...) | 播放方块损毁特效 |
| 23 | GetBlockDropItemType(...) | 获取方块掉落物信息 |
| 24 | GetBlockDropExp(...) | 获取方块采集经验 |
| 25 | SetBlockColor(...) | 设置方块颜色 |
| 26 | SetBlockDir(...) | 设置方块方向 |
| 27 | GetFacade(...) | 获取方块类型外观 |
| 28 | SetBlockTextureColor(...) | 设置方块纹理颜色 |
IsSolidBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否为固体方块
- bool:
- 该方法的其他说明: 判断指定位置的方块是否为固体方块
- 具体使用案例如下:
lua
local isSolidBlock = Block:IsSolidBlock(pos.x, pos.y, pos.z, pos.worldId)IsLiquidBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否为液体方块
- bool:
- 该方法的其他说明: 判断指定位置的方块是否为液体方块
- 具体使用案例如下:
lua
local isLiquidBlock = Block:IsLiquidBlock(pos.x, pos.y, pos.z, pos.worldId)IsAirBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否为空气方块
- bool:
- 该方法的其他说明: 判断指定位置的方块是否为空气方块
- 具体使用案例如下:
lua
local worldId = Actor:GetObjWorldId(playerId)
local isAirBlock = Block:IsAirBlock(pos.x, pos.y, pos.z, worldId)GetBlockID
- 参数及类型:
- 返回值及类型:
- id:
number方块类型ID
- id:
- 该方法的其他说明: 获取指定位置的方块类型ID
- 具体使用案例如下:
lua
local blockID = Block:GetBlockID(pos.x, pos.y, pos.z, pos.worldId)DestroyBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 摧毁指定位置的方块
- 具体使用案例如下:
lua
Block:DestroyBlock(pos.x, pos.y, pos.z, false, worldId)PlaceBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 在指定位置放置方块(支持颜色方块)
- 具体使用案例如下:
lua
-- 摆放方块,376 是方块ID,x, y, z 是位置,FaceDir.PosX 是方向,0XFFFFFF 是颜色
local success1 = Block:PlaceBlock(376, pos.x, pos.y, pos.z, FaceDir.PosX, nil, worldId)
-- 创建颜色方块
local success2 = Block:PlaceBlock(605, pos.x + 1, pos.y, pos.z, FaceDir.PosX, 0XFFFFFF, worldId)ReplaceBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 替换指定位置的方块(支持颜色方块)
- 具体使用案例如下:
lua
local success = Block:ReplaceBlock(105, pos.x, pos.y, pos.z, nil, nil, pos.worldId)SetBlockData
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的data数据(更新当前位置方块)
- 具体使用案例如下:
lua
local result = Block:SetBlockData(x, y, z, testData, worldId)GetBlockData
- 参数及类型:
- 返回值及类型:
- num:
number方块data数据值
- num:
- 该方法的其他说明: 获取指定位置方块的data数据
- 具体使用案例如下:
lua
local blockData = Block:GetBlockData(pos.x, pos.y, pos.z, pos.worldId)GetBlockDir
- 参数及类型:
- 返回值及类型:
- num:
number方块朝向(FaceDir枚举)
- num:
- 该方法的其他说明: 获取指定位置方块的朝向
- 具体使用案例如下:
lua
local blockDir = Block:GetBlockDir(pos.x, pos.y, pos.z, pos.worldId)PlayAnim
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的动作动画
- 具体使用案例如下:
lua
local result = Block:PlayAnim({x = x, y = y, z = z}, 1, 1, AnimMode.Loop, worldId)SetBlockSettingAttState
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置方块类型的属性状态(全局设置)
- 具体使用案例如下:
lua
-- 设置爆炸抗性打开
local success = Block:SetBlockSettingAttState(100, BlockAttr.ExplodeResistance, true, worldId)GetBlockSettingAttState
- 参数及类型:
- blockid:
number/string方块类型ID - atttype:
number属性枚举(BlockLimits)BlockLimits - worldId:
number星球id(默认当前主机所在星球)
- blockid:
- 返回值及类型:
- bool:
boolean是否开启
- bool:
- 该方法的其他说明: 获取方块类型的属性状态(全局设置)
- 具体使用案例如下:
lua
local state = Block:GetBlockSettingAttState(100, BlockAttr.ExplodeResistance, worldId)GetBlockSwitchStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否开启
- bool:
- 该方法的其他说明: 获取指定位置功能方块的开关状态
- 具体使用案例如下:
lua
local status = Block:GetBlockSwitchStatus(pos.x, pos.y, pos.z, worldId)SetBlockSwitchStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置功能方块的开关状态
- 具体使用案例如下:
lua
local result = Block:SetBlockSwitchStatus(x, y, z, true, worldId)GetBlockPowerStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否通电
- bool:
- 该方法的其他说明: 获取指定位置方块的通电状态
- 具体使用案例如下:
lua
local status = Block:GetBlockPowerStatus(pos.x, pos.y, pos.z, pos.worldId)RandomBlockID
- 参数及类型: 无参数
- 返回值及类型:
- id:
number随机的方块类型ID
- id:
- 该方法的其他说明: 在资源库里随机获取一个方块类型ID
- 具体使用案例如下:
lua
local blockID = Block:RandomBlockID()GetBlockDefName
lua
local blockDefName = Block:GetBlockDefName(100)GetBlockDefDesc
lua
local blockDefDesc = Block:GetBlockDefDesc(100)ReplaceBluePrint
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 在指定位置放置蓝图
- 具体使用案例如下:
lua
local blueprint = "1,bp6666_1712476688_0_,"
local result = Block:ReplaceBluePrint(x + 5, y, z + 5, blueprint, 90, false, false, worldId)PlayCrackEffect
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的裂纹特效
- 具体使用案例如下:
lua
local result = Block:PlayCrackEffect(x, y, z, 5, worldId)PlayDestroyEffect
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的损毁特效
- 具体使用案例如下:
lua
local result = Block:PlayDestroyEffect(x, y, z, worldId)GetBlockDropItemType
- 参数及类型:
- 返回值及类型:
- obj:
table掉落道具信息{itemid,itemnum,odds} 道具ID、数量、概率
- obj:
- 该方法的其他说明: 获取方块掉落物信息
- 具体使用案例如下:
lua
-- 1手持敲方块,2手持道具正确,3手持道具不正确
local tb = Block:GetBlockDropItemType(100, 1)
if tb then
print("获取方块掉落物品类型", tb[1])
print("获取方块掉落物品数量", tb[2])
print("获取方块掉落物品概率", tb[3])
endGetBlockDropExp
lua
local exp = Block:GetBlockDropExp(100)SetBlockColor
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的颜色(仅支持颜色方块)
- 具体使用案例如下:
lua
local success = Block:SetBlockColor(pos.x, pos.y, pos.z, 0XFF0000, pos.worldId)SetBlockDir
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的方向
- 具体使用案例如下:
lua
local success = Block:SetBlockDir(pos.x, pos.y, pos.z, FaceDir.PosZ, pos.worldId)GetFacade
lua
-- 官方默认方块示例
local facade1 = Block:GetFacade(100)
-- 自定义方块示例
local facade2 = Block:GetFacade('r0_7495946400275515402_23048')SetBlockTextureColor
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置方块纹理颜色(仅支持草块、土块、树叶、花草等方块,其它方块暂不支持;设置后不会存档;玩法转编辑后需要重进地图才可还原)
- 具体使用案例如下:
lua
local result = Block:SetBlockTextureColor(376, 0xffffff, 1, 1)