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(x, y, z, WorldId)IsLiquidBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否为液体方块
- bool:
- 该方法的其他说明: 判断指定位置的方块是否为液体方块
- 具体使用案例如下:
lua
local isLiquidBlock = Block:IsLiquidBlock(x, y, z, WorldId)IsAirBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否为空气方块
- bool:
- 该方法的其他说明: 判断指定位置的方块是否为空气方块
- 具体使用案例如下:
lua
local isAirBlock = Block:IsAirBlock(x, y, z, WorldId)GetBlockID
- 参数及类型:
- 返回值及类型:
- id:
number方块类型ID
- id:
- 该方法的其他说明: 获取指定位置的方块类型ID
- 具体使用案例如下:
lua
local blockID = Block:GetBlockID(x, y, z, WorldId)DestroyBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 摧毁指定位置的方块
- 具体使用案例如下:
lua
-- 删除方块,没有掉落物
local success = Block:DestroyBlock(x, y, z, false, WorldId)PlaceBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 在指定位置放置方块(支持颜色方块)
- 具体使用案例如下:
lua
-- 摆放方块,376 是方块ID,x, y, z 是位置,FaceDir.PosX 是方向,0XFFFFFF 是颜色
local success2 = Block:PlaceBlock(376, x, y, z, FaceDir.PosX, nil, WorldId)
-- 创建颜色方块
local success = Block:PlaceBlock(605, x + 1, y, z, FaceDir.PosX, 0XFFFFFF, WorldId)ReplaceBlock
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 替换指定位置的方块(支持颜色方块)
- 具体使用案例如下:
lua
local success = Block:ReplaceBlock(105, x, y, z, nil, nil, WorldId)SetBlockData
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的data数据(更新当前位置方块)
- 具体使用案例如下:
lua
local bool = Block:SetBlockData(x, y, z, data, worldId)GetBlockData
- 参数及类型:
- 返回值及类型:
- num:
number方块data数据值
- num:
- 该方法的其他说明: 获取指定位置方块的data数据
- 具体使用案例如下:
lua
local blockData = Block:GetBlockData(x, y, z, WorldId)GetBlockDir
- 参数及类型:
- 返回值及类型:
- num:
number方块朝向(FaceDir枚举)
- num:
- 该方法的其他说明: 获取指定位置方块的朝向
- 具体使用案例如下:
lua
local blockDir = Block:GetBlockDir(x, y, z, WorldId)PlayAnim
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的动作动画
- 具体使用案例如下:
lua
local success = Block:PlayAnim({x = x, y = y, z = z}, 100100, 1, AnimMode.Default, WorldId)SetBlockSettingAttState
- 参数及类型:
- blockid:number,string方块类型ID
- atttype:
number属性枚举(BlockLimits)BlockLimits - switch:
boolean是否开启 - worldId:
number星球id(默认当前主机所在星球)
- 返回值及类型:
- 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(默认当前主机所在星球)
- 返回值及类型:
- bool:
boolean是否开启
- bool:
- 该方法的其他说明: 获取方块类型的属性状态(全局设置)
- 具体使用案例如下:
lua
local state = Block:GetBlockSettingAttState(100, BlockAttr.ExplodeResistance, WorldId)GetBlockSwitchStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否开启
- bool:
- 该方法的其他说明: 获取指定位置功能方块的开关状态
- 具体使用案例如下:
lua
local status = Block:GetBlockSwitchStatus(x, y, z, WorldId)SetBlockSwitchStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置功能方块的开关状态
- 具体使用案例如下:
lua
local bool = Block:SetBlockSwitchStatus(x, y, z, isactive, worldId)GetBlockPowerStatus
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否通电
- bool:
- 该方法的其他说明: 获取指定位置方块的通电状态
- 具体使用案例如下:
lua
local status = Block:GetBlockPowerStatus(x, y, z, WorldId)RandomBlockID
- 参数及类型: 无参数
- 返回值及类型:
- id:
number随机的方块类型ID
- id:
- 该方法的其他说明: 在资源库里随机获取一个方块类型ID
- 具体使用案例如下:
lua
local blockID = Block:RandomBlockID()GetBlockDefName
- 参数及类型:
- blockid:number,string方块类型ID
- 返回值及类型:
- name:
string方块名称
- name:
- 该方法的其他说明: 获取方块类型的名称
- 具体使用案例如下:
lua
local blockDefName = Block:GetBlockDefName(100)GetBlockDefDesc
- 参数及类型:
- blockid:number,string方块类型ID
- 返回值及类型:
- value:
string方块描述
- value:
- 该方法的其他说明: 获取方块类型的描述
- 具体使用案例如下:
lua
local blockDefDesc = Block:GetBlockDefDesc(100)ReplaceBluePrint
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 在指定位置放置蓝图(未支持多星球)
- 具体使用案例如下:
lua
local success = Block:ReplaceBluePrint(x, y, z, [=[1,bp6666_1679897969_0_]=], 90, false, true)PlayCrackEffect
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的裂纹特效
- 具体使用案例如下:
lua
local process = 10
local success = Block:PlayCrackEffect(x, y, z,process, WorldId)PlayDestroyEffect
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 播放指定位置方块的损毁特效
- 具体使用案例如下:
lua
local success = Block:PlayDestroyEffect(x, y, z, WorldId)GetBlockDropItemType
- 参数及类型:
- blockid:number,string方块ID
- itype:
number类型(1手持敲方块,2手持道具正确,3手持道具不正确)
- 返回值及类型:
- 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
- 参数及类型:
- blockid:number,string方块ID
- 返回值及类型:
- num:
number经验值
- num:
- 该方法的其他说明: 获取方块的采集经验值
- 具体使用案例如下:
lua
local exp = Block:GetBlockDropExp(100,1)SetBlockColor
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的颜色(仅支持颜色方块)
- 具体使用案例如下:
lua
local success = Block:SetBlockColor(x, y, z, 0XFF0000, WorldId)SetBlockDir
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置指定位置方块的方向
- 具体使用案例如下:
lua
local success = Block:SetBlockDir(x, y, z, FaceDir.PosZ, WorldId)
-- self:ThreadWait(1)GetFacade
- 参数及类型:
- blockid:number,string方块类型ID或方块预制ID
- 返回值及类型:
- value:
string方块类型外观
- value:
- 该方法的其他说明: 获取方块类型的外观
- 具体使用案例如下:
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")
endSetBlockTextureColor
- 参数及类型:
- 返回值及类型:
- bool:
boolean是否成功
- bool:
- 该方法的其他说明: 设置方块纹理颜色(仅支持草块、土块、树叶、花草等方块,其它方块暂不支持;设置后不会存档;玩法转编辑后需要重进地图才可还原)
- 具体使用案例如下:
lua
local bool = Block:SetBlockTextureColor(blockid, color, alpha, slotindex)