Powerful spigot development library that supercharges your plugins
- Registry can now be locked / unlocked
- Registry is now iterable
- Added KRegistrable to make Registrable better for Kotlin users
- Added Version to be a cross-version compatible frontend to DefaultArtifactVersion
- Added OutdatedEcoVersionError to prevent plugins from loading if an outdated version of eco is installedd
- Added IntegrationRegistry, isolated all integration behaviour: if an integration throws an exception it will be automatically unregistered
- Integrations are now registrable
- Updated Kingdoms integration
- Added ExternalDataStoreObjectAdapter
- Fixed Oraxen support (Thanks Casper!)
- Fixed SNBT support (Thanks Casper!)
- Integrations will now gracefully fail to load
- Isolated lifecycle task / handler loading to allow them to gracefully fail
- Added json() kotlin helper method
- Added Prerequisite#HAS_1_19_4
- Removed all classes and methods marked as forRemoval since before 6.43.0
- Updated Placeholder system, eco can now parse placeholders if PlaceholderAPI isn't installed, but it's still recommended to install PlaceholderAPI
- Fixed missing channel bug
- Added LifecyclePosition for dynamically registering lifecycle tasks
- Made EcoPlugin registrable
- Added ExternalDataStore
- Added environment variables to eco.yml and moved existing options to be under the options section (existing eco.yml's will still work)
- Converted all remaining Groovy buildscripts to Kotlin
- eco will now compile against paper 1.19.4 instead of 1.17.1
- Fixed bug with EntityDeathByEntityEvent and WildStacker
- Added Registry#clear
- Improved error message for invalid Registrable IDs
- Added Registry#tryFitPattern utility method
- Added Items#matchesAny
- Added DefaultMap
- Added Registry
- EcoPlugin#loadListeners is no longer abstract
- NumberUtils#evaluateExpression will now return 0 instead of NaN / Infinity
- Fixed static placeholders containing an additional player prefix not parsing correctly
- Removed hard dependency on ProtocolLib
- Moved all packet processing off of the main thread
- Added minimal packet API
- Added GUI Detection with support for eco and DeluxeMenus GUIs
- Improved performance of packet display
- Cleaned up entity / target goal deserializers
- Deprecated AbstractPacketAdapter
- Fixed oraxen integration for new versions (Thanks Casper!)
- Fixed dynamic command registration
- Added DynamicPlaceholder and PlayerDynamicPlaceholder with regex support and parsing
- Updated EconomyShopGUI integration (Thanks OfTeN!)
- Updated Lands integration (Thanks OfTeN!)
- Fixed bug with price evaluation (Thanks Baterka!)