Migration Guide 0.11 ➝ 0.12
Building
You will now need to set the kotlin compiler jvm target to 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
maxStackSizeparameter - The
ToolUtils.damgeToolfunctions have been moved toDamageableUtils.damageItem SoundEffecthas been removedValueReloadablehas been replaced byProvider.- General refactoring: You might need to change some imports regarding item (behaviors), tools, etc.