General Information
This release is breaking because the previous one had some architectural problems. NMS 1.18 has been completely obfuscated and a bunch of bugs related to this change have been fixed in this release.
Major changes
- Now it is necessary to manually add
kotlin-stdlibandkotlinx.coroutines. - Refactored to separate publicly exposed and building DSL stuff.
- Now objects that perform asynchronous operations use their own coroutine scope instead of the plugin one.
- Event handler callbacks are no more suspend.
- Controllers now implement
Initializableinstead ofControllerand located in the place they related to. - Most builders' lambda parameters are now crossinline.
NodeDSLBuilderand its subclasses no more wrap BrigadierArgumentBuilder.- Fixed Brigadier commands syntax error logging.
MenuPaginationhas been redesigned to be more intuitive.- Menus and their event handlers now have
Inventorygeneric type parameters. - Menu slot indexing now starts from 0.
- Event flow is now represented as a separate class named
SharedEventFlow. - Added
assignSharedEventFlowoperator.
NbtDataAPI has been completely redesigned.- Аdded support for all NBT data types.
ScoreboardControllerAPI is now marked as experimental.- Fixed color resetting in built scoreboard lines.
- Improved event listening DSL by adding
ListenerWithPluginclass.
ComponentBaseBuildernow duplicatesBaseComponentbefore adding it to the sibling text.