📮 方块实体对象 API
在脚本引擎中,使用「方块实体对象」来操作和获取与特定方块关联的附加数据。
注意:方块实体对象 不是一种 实体!他们之间并没有特别的关系
获取一个方块实体对象
通过方块获取
对于已存在的方块对象bl
,有
bl.getBlockEntity()
- 返回值:此方块对象对应的方块实体对象
- 返回值类型:
BlockEntity
- 如返回值为
Null
则表示获取方块实体对象失败,或者此方块没有对应的实体对象
注意:不要长期保存一个方块实体对象
当方块对象对应的方块被销毁时,对应的方块实体对象将同时释放。因此,如果有长期操作某个方块实体的需要,请通过上述途径获取实时的方块实体对象
方块实体对象 - 属性
每一个方块实体对象都包含一些固定的对象属性。对于某个特定的方块实体对象be
,有以下这些属性
属性 | 含义 | 类型 |
---|---|---|
be.name | The block entity name (example: container.chest ) |
String |
be.pos | 方块实体对应方块所在的坐标 | IntPos |
be.type | 方块实体对象的类型ID | Integer |
这些对象属性都是只读的,无法被修改
方块实体对象 - 函数
每一个方块实体对象都包含一些可以执行的成员函数(成员方法)。对于某个特定的方块实体对象be
,可以通过以下这些函数对这个方块实体进行一些操作
获取方块实体对应的NBT对象
be.getNbt()
- 返回值:方块实体的NBT对象
- 返回值类型:
NbtCompound
写入方块实体对应的NBT对象
be.setNbt(nbt)
- 参数:
- nbt :
NbtCompound
NBT对象 - 返回值:是否成功写入
- 返回值类型:
Boolean
关于NBT对象的更多使用,请参考 NBT接口文档
获取方块实体对应的方块对象
be.getBlock()
- 返回值:方块实体对应的方块对象
- 返回值类型:
Block