跳至主要內容

6.0 (1.19.2)

芒果凍布丁2025年3月29日大约 2 分鐘

onEvent()

onEvent('event', event => {}) 語法已被 SomeEventGroup.someEventName(event => {}) 取代

BlockEvents.rightClicked(event => {
  if(event.block.id === 'minecraft:dirt') {
    console.info('嗨!')
  }
})

不僅如此,新的事件還支持 ID 和其他參數!您現在可以選擇為每個 ID 設置自己的事件處理器:

BlockEvents.rightClicked('minecraft:dirt', event => {
  console.info('嗨!')
})

BlockEvents.rightClicked('minecraft:stone', event => {
  console.info('再見!')
})

某些事件需要 ID,例如登錄和標籤事件:

StartupEvents.registry('item', event => {})
ServerEvents.tags('item', event => {})

使用參數實際上比檢查 event.id == 'id' 更快

相關信息

您可以在這裡找到完整的新事件列表。

onForgeEvent()

onForgeEvent('package.ClassName', event => {}) 已被 ForgeEvents.onEvent('package.ClassName', event => {}) 取代

ForgeEvents.onEvent('net.minecraftforge.event.level.BlockEvent$PortalSpawnEvent', event => {})

新功能!現在支持通用事件:

ForgeEvents.onGenericEvent('net.minecraftforge.event.AttachCapabilitiesEvent', 'net.minecraft.world.entity.Entity', event => {})

伺服器設置

settings.log... 屬性已從伺服器腳本中移除,並移至 local/kubejsdev.properties文件。默認情況下,它不會隨包一起發送,但您可以將 saveDevPropertiesInConfig 更改為 true,以將文件保存到kubejs/config/dev.properties`。

java()

java('package.ClassName') 已被 Java.loadClass('package.ClassName') 取代

const CactusBlock = Java.loadClass('net.minecraft.world.level.block.CactusBlock')

Java 工具類中可能會有更多反射輔助方法,例如列出類中的所有字段和方法等。

再見外包類別

沒有任何原版類別是外包類別了 - EntityJS、LevelJS、ItemStackJS、IngredientJS 等都消失了。這可能會引入一些錯誤,但總體上應該會使與 Minecraft 和其他模組的交互變得更加容易。幾乎所有舊方法仍由核心模組支持。這也應該顯著提高性能,因為不需要不斷包裝和解包類。

上次編輯於: 2025/3/29 上午5:04:42
貢獻者: Mango