
eco 6.75.2
Powerful spigot development library that supercharges your plugins
- Fixed nestedMap and nestedListMap
- Fixed dynamically registered command aliases
- Added new createTasks() lifecycle to add support for loading without wiping tasks
- Added PersistentDataKeyType#BIG_DECIMAL
- Fixed T?.toSingletonList()
- Fixed NestedMap and NestedListMap
- Fixed possible crash exploit where players could spam GUIs to force renders
- Added StringUtils#lineWrap to line wrap text while preserving formatting
- Added Kotlin extensions to NumberUtils methods
- Added MenuBuilder#defaultPage
- Fixed Registry locking
- Fixed command aliases not working on paper or for dynamic commands
- Fixed load order bugs between eco plugins
- More optimisations down the evaluation pipeline
- Removed LegacyMySQLDataHandler
- Fixed extension loading with new plugin field
- Improved and added missing hashCode functions down evaluation pipeline
- Added PluginLike#getFile
- Added plugin and plugin-version to extension.yml
- Added a nicer recipe error message
- Fixed bug with duplicate placeholders in configs
- Improved PlaceholderAPI integration
- Completely recoded Placeholder system
- Placeholder is no longer a sealed interface
- Added PlaceholderContext as unified way of providing values to placeholders
- Deprecated MathContext for removal, move to PlaceholderContext instead
- Recoded and massively optimised expression evaluation: under load performance has increased by ~3x
- Fixed data desync (Thanks Cyramek!)
- Improved Config so all default get<X>FromExpression methods all feed to the default getDoubleFromExpression(String, PlaceholderContext) to improve flexibility with custom implementations
- Added StringUtils#replaceQuickly
- Removed unused use-lower-protocollib-priority option
- Added more options related to expression eval
- Added Denizen support (Thanks FireML!)
- Added PlayerPoints support (Thanks SenMC!)
- Fixed integrations not unloading themselves when exceptions are thrown
- EcoConfig now uses a ConcurrentHashMap to store injections
- Reimplemented BlockUtils#getVein to use an iterative approach, removing the 2500 block limit
- Fixed some plugins not loading if the server hardware was using a Turkish locale
- 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