跳到正文
本頁目錄

📮 方塊實體對象 API

在腳本引擎中,使用「方塊實體對象」來操作和獲取與特定方塊關聯的附加數據。
注意:方塊實體對象 不是一種 實體!他們之間並沒有特別的關係

獲取一個方塊實體對象

通過方塊獲取

對於已存在的方塊對象bl,有

bl.getBlockEntity()

  • 返回值:此方塊對象對應的方塊實體對象
  • 返回值類型:BlockEntity
  • 如返回值為 Null 則表示獲取方塊實體對象失敗,或者此方塊沒有對應的實體對象

注意:不要長期保存一個方塊實體對象
當方塊對象對應的方塊被銷燬時,對應的方塊實體對象將同時釋放。因此,如果有長期操作某個方塊實體的需要,請通過上述途徑獲取實時的方塊實體對象

方塊實體對象 - 屬性

每一個方塊實體對象都包含一些固定的對象屬性。對於某個特定的方塊實體對象be,有以下這些屬性

屬性含義類型
be.nameThe block entity name (example: container.chest)String
be.pos方塊實體對應方塊所在的座標IntPos
be.type方塊實體對象的類型IDInteger

這些對象屬性都是隻讀的,無法被修改

方塊實體對象 - 函數

每一個方塊實體對象都包含一些可以執行的成員函數(成員方法)。對於某個特定的方塊實體對象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