当前位置: 首页 > article >正文

迷你世界脚本方块接口:Block

方块接口:Block
 彼得兔
更新时间: 2024-08-27 11:04:56
具体函数名及描述如下:

序号    函数名    函数描述
1    isSolidBlock(...)    是否是固体方块
2    isLiquidBlock(...)    是否是液体方块
3    isAirBlock(...)    是否是气体方块
4    getBlockID(...)    获取block对应id
5    setBlockAll(...)    设置blockalldata 更新+通知
6    getBlockData(...)    获得blockdata
7    destroyBlock(...)    摧毁方块 dropitem:掉落道具(默认false,不掉落)
8    placeBlock(...)    放置方块
9    replaceBlock(...)    替换方块
10    setBlockAllForUpdate(...)    设置blockalldata 通知周围方块
11    setBlockAllForNotify(...)    设置blockalldata 更新当前位置方块
12    setBlockSettingAttState(...)    设置方块设置属性状态
13    getBlockSettingAttState(...)    获取方块设置属性状态
14    getBlockSwitchStatus(...)    获取功能方块的开关状态
15    setBlockSwitchStatus(...)    设置功能方块的开关状态
16    getBlockDataByDir(...)    通过方向获取方块data值
17    getBlockPowerStatus(...)    获取方块的通电状态
18    randomBlockID(...)
获取随机方块id
19    GetBlockDefName(...)
获取方块名称
20    GetBlockDefDesc(...)
获取方块描述
21    GetBlockFacade(...)
获取方块外观
22    PlayAct(...)
微缩方块播放动作
23    ReplaceBluePrint(...)
放置蓝图
 
isSolidBlock
参数及类型:

x,y,z:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:是否为固体方块

具体使用案例如下:

--判断(0,0)高度6的位置是不是固体方块
local result=Block:isSolidBlock(0,6,0)
if result==0 then--是固体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置是固体方块")
else--不是固体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置不是固体方块")
end
Lua
isLiquidBlock
参数及类型:

x,y,z:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:是否为液体方块

具体使用案例如下:

--判断(0,0)高度6的位置是不是液体方块
local result=Block:isLiquidBlock(0,6,0)
if result==0 then--是液体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置是液体方块")
else--不是液体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置不是液体方块")
end
Lua
isAirBlock
参数及类型:

x,y,z:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:是否为气体方块

具体使用案例如下:

--判断(0,0)高度6的位置是不是气体方块
local result=Block:isAirBlock(0,6,0)
if result==0 then--是气体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置是气体方块")
else--不是气体方块
    Chat:sendSystemMsg("坐标(0,0)高度6的位置不是气体方块")
end
Lua
getBlockID
参数及类型:

x,y,z:number
返回值及类型:

ErrorCode.OK
id:number
该方法的主要作用:获取指定位置的方块ID

具体使用案例如下:

--获取(0,0)高度6的位置的方块id
local result,id=Block:getBlockID(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块id是"..id)
Lua
setBlockAll
参数及类型:

x,y,z:number
blockid:number
data:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:设置blockalldata 更新+通知

具体使用案例如下:

--把(0,0)高度6的位置设置为基岩
--倒数第二个参数1为方块id,最后一个参数0为方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等,具体可以用getBlockData获取
Block:setBlockAll(0,6,0,1,0)
--在聊天框显示
Chat:sendSystemMsg("把(0,0)高度6的位置设置为基岩,data为0")
Lua
getBlockData
参数及类型:

x,y,z:number
返回值及类型:

ErrorCode.OK
data:number
该方法的主要作用:获得blockdata

具体使用案例如下:

--获取(0,0)高度6的位置的方块data
--data是方块数据,比如硬砂块的颜色、音乐方块的音调等等
local result,data=Block:getBlockData(0,6,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置的方块data是"..data)
Lua
destroyBlock
参数及类型:

x,y,z:number
dropitem:boolean
返回值及类型:

ErrorCode.OK
该方法的主要作用:摧毁方块 dropitem:掉落道具(默认false,不掉落)

具体使用案例如下:

--破坏(0,0)高度6的方块并掉落
--最后一个参数true为掉落,false为不掉落
Block:destroyBlock(0,6,0,true)
--在聊天框显示
Chat:sendSystemMsg("破坏了(0,0)高度6的方块并掉落")
Lua
placeBlock
参数及类型:

blockid:number
x,y,z:number
face:number
color:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:放置方块

具体使用案例如下:

--在(0,0)高度7放置一个基岩,朝向西。如果这个位置已经有了方块是无法放置的。
--第一个参数1为放置的方块id
--中间三个参数0,7,0为放置坐标
--最后一个参数0为朝向参数:0西 1东 2南 3北 4下 5上
Block:placeBlock(1,0,7,0,0)
--在聊天框显示
Chat:sendSystemMsg("在(0,0)高度7的位置放置了一个基岩,朝向西")
Lua
replaceBlock
参数及类型:

blockid:number
x,y,z:number
face:number
color:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:替换方块

具体使用案例如下:

--把(0,0)高度6的位置替换为基岩,朝向西。
--第一个参数1为放置的方块id
--中间三个参数0,6,0为替换坐标
--最后一个参数0为朝向参数:0西 1东 2南 3北 4下 5上
Block:replaceBlock(1,0,6,0,0)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被替换成了基岩,朝向西")
Lua
setBlockAllForUpdate
参数及类型:

x,y,z:number
blockid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:设置blockalldata 通知周围方块

具体使用案例如下:

--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForUpdate(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
Lua
setBlockAllForNotify
参数及类型:

x,y,z:number
blockid:number
返回值及类型:

ErrorCode.OK
该方法的主要作用:设置blockalldata 更新当前位置方块

具体使用案例如下:

--把(0,0)高度6的位置设置为基岩(id:1)
--前三个参数0,6,0为坐标,最后一个参数1为方块id
Block:setBlockAllForNotify(0,6,0,1)
--在聊天框显示
Chat:sendSystemMsg("(0,0)高度6的位置被设置为了基岩")
Lua
setBlockSettingAttState
参数及类型:

blockid:number
attrtype:BLOCKATTR_ENABLE
switch:boolean
返回值及类型:

ErrorCode.OK
该方法的主要作用:设置方块设置属性状态

具体使用案例如下:

--把所有土块设置为不可破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
--第三个参数false为“不可”,改为true表示“可以”
Block:setBlockSettingAttState(101,1,false)
--在聊天框显示
Chat:sendSystemMsg("所有土块被设置为了不可破坏!")
Lua
getBlockSettingAttState
参数及类型:

blockid:number
attrtype:BLOCKATTR_ENABLE
返回值及类型:

ErrorCode.OK
switch:boolean
该方法的主要作用:获取方块设置属性状态

具体使用案例如下:

--获取土块是否可被破坏
--第一个参数101为方块id
--第二个参数1为方块属性:1破坏 2操作 4推拉 8掉落 16推拉掉落
local result,switch=Block:getBlockSettingAttState(101,1)
if switch then--可以破坏
    Chat:sendSystemMsg("土块可以被破坏!")
else--不可破坏
    Chat:sendSystemMsg("土块无法被破坏!")
end
Lua
getBlockSwitchStatus
参数及类型:

pos:table{x,y,z}
返回值及类型:

ErrorCode.OK
isactive:boolean
该方法的主要作用:获取功能方块的开关状态

具体使用案例如下:

--判断(0,0)高度7的位置的方块(比如开关)是否被打开
local result,isactive=Block:getBlockSwitchStatus({x=0,y=7,z=0})
if isactive then--被打开
    Chat:sendSystemMsg("(0,0)高度7的位置的方块已被打开!")
else--没有被打开
    Chat:sendSystemMsg("(0,0)高度7的位置的方块没有被打开!")
end
Lua
setBlockSwitchStatus
参数及类型:

pos:table{x,y,z}
isactive:boolean
返回值及类型:

ErrorCode.OK
该方法的主要作用:设置功能方块的开关状态

具体使用案例如下:

--打开(0,0)高度7位置的方块(比如开关)
--最后一个参数true为打开,false为关闭
Block:setBlockSwitchStatus({x=0,y=7,z=0},true)
--在聊天框显示
Chat:sendSystemMsg("打开了(0,0)高度7的位置的方块!")
Lua
getBlockDataByDir
参数及类型:

blockid:number
dir:number
返回值及类型:

ErrorCode.OK
data:number
该方法的主要作用:通过方向获取方块data值

具体使用案例如下:

--获取朝向北的落叶松木的data
--第一个参数201为方块id
--第二个参数3为朝向参数:0西 1东 2南 3北 4下 5上
local result,data=Block:getBlockDataByDir(201,3)
--在聊天框显示
Chat:sendSystemMsg("落叶松木在朝向北的时候的data为:"..data)
Lua
getBlockPowerStatus
参数及类型:

pos:table{x,y,z}
返回值及类型:

ErrorCode.OK
isactive:boolean
该方法的主要作用:获取方块的通电状态

具体使用案例如下:

--判断(0,0)高度7的位置的方块有没有通电
local result,isactive=Block:getBlockPowerStatus({x=0,y=7,z=0})
if isactive then--通电
    Chat:sendSystemMsg("(0,0)高度7的位置的方块已被通电!")
else--没有通电
    Chat:sendSystemMsg("(0,0)高度7的位置的方块没有通电!")
end
Lua
 

randomBlockID

参数及类型:

返回值及类型:
ErrorCode.OK
blockid:number 获取随机方块id
该方法的主要作用:获取随机方块id
具体使用案例如下:
local result,blockid = Block:randomBlockID()
Lua
 

GetBlockDefName

参数及类型:
blockid:number方块类型ID
返回值及类型:
ErrorCode.OK
name:number 方块名称
该方法的主要作用:获取方块名称
具体使用案例如下:
local result,name = Block:GetBlockDefName(blockid)
Lua
 

GetBlockDefDesc

参数及类型:
blockid:number方块类型ID
返回值及类型:
ErrorCode.OK
desc:number 方块描述
该方法的主要作用:获取方块描述
具体使用案例如下:
local result,desc = Block:GetBlockDefDesc(blockid)
Lua
 

GetBlockFacade

参数及类型:
blockid:number方块类型ID
返回值及类型:
ErrorCode.OK
faced:number 方块外观名
该方法的主要作用:获取方块外观
具体使用案例如下:
local result,faced = Block:GetBlockFacade(blockid)
Lua
 

PlayAct

参数及类型:
x,y,z:number位置坐标
animid:number动作ID
playmode:number播放模式(ANIMMODE)
返回值及类型:
ErrorCode.OK
faced:number 方块外观名
该方法的主要作用:微缩方块播放动作
具体使用案例如下:
local result = Block:PlayAct(0,8,0,12,ANIMMODE.ANIM_MODE_LOOP) --在坐标(0,8,0)的微缩方块循环播放跑的动画
Lua
 

ReplaceBluePrint

参数及类型:
x,y,z:number位置坐标
blueprint:string蓝图资源ID
angle:number旋转角度
mirror:boolean是否镜像
placeMode:boolean是否放置
返回值及类型:
code:number成功(ErrorCode.OK)ErrorCode
该方法的主要作用: 放置蓝图
具体使用案例如下:
local code  = Block:ReplaceBluePrint(x, y, z, blueprint, angle, mirror, placeMode)
if code == ErrorCode.OK then
    print('执行成功'  )
else
    print('执行失败')

end


http://www.kler.cn/a/573880.html

相关文章:

  • 地下井室可燃气体监测装置:守护地下安全,防患于未“燃”!
  • 《基于WebGL的matplotlib三维可视化性能调优》——让大规模3D数据流畅运行在浏览器端!
  • 【动手学深度学习】基于Python动手实现线性神经网络
  • c++为什么支持simd,而java不支持
  • PHP Error处理指南
  • 分布式存储学习——1.HBase的安装和配置
  • Deepseek×ComfyUI革命性工作流:AI图像3倍速精修实战指南
  • JVM 的组成部分有什么
  • svn 通过127.0.01能访问 但通过公网IP不能访问,这是什么原因?
  • 什么是 JVM? JVM (Java Virtual Machine)
  • 【Elasticsearch】Rollover 操作与Skip Rollover
  • go语言数据类型
  • ESP32-P4 支持哪些 RISC-V 汇编指令?
  • 将 PHP 函数转换为 Python
  • 低空经济-飞行数据平台 搭建可行方案
  • H5DS编辑器是如何让企业快速构建动态页面
  • 【JAVA架构师成长之路】【JDK源码】第5集:Map集合框架与泛型
  • leetcode日记(74)扰乱字符串
  • 科技解密丨赫思嘉·惟愿:深耕医美领域,以创新科技引领行业新篇章
  • DSP笔记