Skip to content

方块模块管理接口 Block

具体函数名及描述如下:

序号函数名函数描述
1IsSolidBlock(...)是否为固体方块
2IsLiquidBlock(...)是否是液体方块
3IsAirBlock(...)是否是空气方块
4GetBlockID(...)获取指定位置的方块类型
5SetBlockAll(...)设置位置方块数据
6DestroyBlock(...)摧毁方块
7PlaceBlock(...)放置方块
8ReplaceBlock(...)替换方块
9GetBlockData(...)获取方块数据
10GetBlockDir(...)获取方块朝向
11PlayAnim(...)播放方块动作
12SetBlockSettingAttState(...)设置方块设置属性状态
13GetBlockSettingAttState(...)获取方块设置属性状态
14GetBlockSwitchStatus(...)获取功能方块的开关状态
15GetBlockPowerStatus(...)获取方块的通电状态
16RandomBlockID(...)在资源库里随机获取一个方块
17GetBlockDefName(...)获取方块名称
18GetBlockDefDesc(...)获取方块描述
19ReplaceBluePrint(...)放置蓝图
20PlayCrackEffect(...)播放方块裂纹特效
21PlayDestroyEffect(...)播放方块损毁特效
22GetBlockDropItemType(...)获取方块掉落物信息
23GetBlockDropExp(...)获取方块的采集经验
24SetBlockColor(...)设置方块颜色
25SetBlockSwichState(...)设置方块开关状态
26SetBlockDir(...)设置方块方向
27GetFacade(...)获取方块类型外观

IsSolidBlock

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 是否为固体方块
  • 具体使用案例如下:
lua
    local isSolidBlock = Block:IsSolidBlock(x, y, z)

IsLiquidBlock

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 是否是液体方块
  • 具体使用案例如下:
lua
    local isLiquidBlock = Block:IsLiquidBlock(x, y, z)

IsAirBlock

  • 参数及类型:
  • 返回值及类型: ret::boolean:true/false
  • 该方法的主要作用: 是否是空气方块
  • 具体使用案例如下:
lua
    local isAirBlock = Block:IsAirBlock(x, y, z)

GetBlockID

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取指定位置的方块类型
  • 具体使用案例如下:
lua
    local blockID = Block:GetBlockID(x, y, z)

SetBlockAll

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 设置位置方块数据
  • 具体使用案例如下:
lua
local ret = Block:SetBlockAll(x, y, z, blockid, data)

DestroyBlock

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 摧毁方块
  • 具体使用案例如下:
lua
    -- 删除方块,没有掉落物

    local success = Block:DestroyBlock(x, y, z, false)

PlaceBlock

  • 参数及类型:
    • blockid:number方块类型ID
    • x,y,z:number位置坐标
    • face:number朝向
    • color:number十六进制颜色值(0XFFFFFF 颜色方块类型才生效)
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 放置方块
  • 具体使用案例如下:
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

  • 参数及类型:
    • blockid:number方块类型ID
    • x,y,z:number位置坐标
    • face:number朝向
    • color:number十六进制颜色值(0XFFFFFF 颜色方块类型才生效)
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 替换方块
  • 具体使用案例如下:
lua
    local success = Block:ReplaceBlock(105, x, y, z)

GetBlockData

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取方块数据
  • 具体使用案例如下:
lua
    local blockData = Block:GetBlockData(x, y, z)

GetBlockDir

  • 参数及类型:
  • 返回值及类型:
    • ret:number返回类型 FaceDir
  • 该方法的主要作用: 获取方块朝向
  • 具体使用案例如下:
lua
    local blockDir = Block:GetBlockDir(x, y, z)

PlayAnim

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 播放方块动作
  • 具体使用案例如下:
lua
    local success = Block:PlayAnim({x, y, z}, 100100, 1, AnimMode.Default)

SetBlockSettingAttState

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 设置方块设置属性状态
  • 具体使用案例如下:
lua
    -- 设置爆炸抗性打开

    local success = Block:SetBlockSettingAttState(x, y, z, BlockAttr.ExplodeResistance, true)

GetBlockSettingAttState

  • 参数及类型:
  • 返回值及类型:
  • 该方法的主要作用: 获取方块设置属性状态
  • 具体使用案例如下:
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随机的方块类型
  • 该方法的主要作用: 在资源库里随机获取一个方块
  • 具体使用案例如下:
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是否成功
  • 该方法的主要作用: 放置蓝图
  • 具体使用案例如下:
lua
    local success = Block:ReplaceBluePrint(x, y, z, [=[1,bp6666_1687921429_0_,]=], 90, false, true)

PlayCrackEffect

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 播放方块裂纹特效
  • 具体使用案例如下:
lua
    local process = 10

    local success = Block:PlayCrackEffect(x, y, z,process)

PlayDestroyEffect

  • 参数及类型:
    • x:number方块位置的X坐标
    • y:number方块位置的Y坐标
    • z:number方块位置的Z坐标
  • 返回值及类型:
  • 该方法的主要作用: 播放方块损毁特效
  • 具体使用案例如下:
lua
    local success = Block:PlayDestroyEffect(x, y, z)

GetBlockDropItemType

  • 参数及类型:
    • blockid:number方块ID
    • itype:number类型(1手持敲方块,2手持道具正确,3手持道具不正确)
  • 返回值及类型:
    • ret:table返回掉落道具信息{itemid
    • itemnum
    • odds} 道具
    • 数量
    • 概率
  • 该方法的主要作用: 获取方块掉落物信息
  • 具体使用案例如下:
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

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 设置方块颜色
  • 具体使用案例如下:
lua
    local success = Block:SetBlockColor(x, y, z, 0XFF0000)

SetBlockSwichState

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 设置方块开关状态
  • 具体使用案例如下:
lua
    local success = Block:SetBlockSwichState(x, y, z, true)

SetBlockDir

  • 参数及类型:
  • 返回值及类型:
    • ret:bool是否成功
  • 该方法的主要作用: 设置方块方向
  • 具体使用案例如下:
lua
    local success = Block:SetBlockDir(x, y, z, FaceDir.PosZ)

    -- self:ThreadWait(1)

GetFacade

  • 参数及类型:
    • blockid:number
    • string:方块类型ID或方块预制ID
  • 返回值及类型:
  • 该方法的主要作用: 获取方块类型外观
  • 具体使用案例如下:
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