📮 方塊實體對象 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
設置方塊實體自定義名稱
Warning
此函數僅在0.19.1及以後版本可用
be.setCustomName(name)
- 參數:
- name :
String新的方塊實體自定義名稱 - 返回值:是否設置成功
- 返回值類型:
Boolean
獲取方塊實體自定義名稱
Warning
此函數僅在0.19.1及以後版本可用
be.getCustomName()
- 返回值:方塊實體自定義名稱
- 返回值類型:
String