Skip to content

方块模块管理接口 Block

具体函数名及描述如下:

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

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)

SetBlockData

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

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 = x, y = y, z = 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_1679897969_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

SetBlockTextureColor

  • 参数及类型:
    • blockid:number方块id
    • color:number:颜色值(0:还原默认颜色)
    • alpha:number混合比例(0-100)
    • slotindex:number材质槽索引(默认1)
  • 返回值及类型:
    • ret:bool是否成功(仅支持草块、土块、树叶、花草等方块,其它方块暂不支持;设置后不会存档;玩法转编辑后需要重进地图才可还原)
  • 该方法的主要作用: 设置方块纹理颜色
  • 具体使用案例如下:
lua
local ret = Block:SetBlockTextureColor(blockid, color, alpha, slotindex)