Skip to content

Migration Guide 0.11 ➝ 0.12

Building

You will now need to set the kotlin compiler jvm target to 17:

build.gradle.kts
tasks {
    withType<KotlinCompile> {
        kotlinOptions {
            jvmTarget = "17"
        }
    }
}

BlockOptions

The BlockOptions constructor has changed. You will now need to set a list of ToolCategories and a SoundGroup instead of individual sounds. Refer to BlockOptions for more information.

ItemBehavior

All configurable ItemBehaviors have been reworked to load their data from configs using the new MaterialOptions.
In most cases, you'll no longer need to instantiate them, but rather just use their companion object in the NovaItem constructor and configure them in the material-specific config file. Those properties can now be accessed in code using <someItemBehavior>.options.<someProperty> instead of <somItemBehavior>.<someProperty>. Refer to ItemBehaviors for more information.

The getLore and getName methods have been replaced by updatePacketItemData which combines those two methods and adds more options.

Overlays

The width (BossBarOverlay, ActionBarOverlay) and endY (BossBarOverlay) were removed. You can still set them by overwriting the getWidth and getEndY methods, but this is no longer mandatory.

Misc

  • Some NovaMaterialRegistry functions have been slightly changed to include the new maxStackSize parameter
  • The ToolUtils.damgeTool functions have been moved to DamageableUtils.damageItem
  • SoundEffect has been removed
  • ValueReloadable has been replaced by Provider.
  • General refactoring: You might need to change some imports regarding item (behaviors), tools, etc.