Voxel Shop beta is live. Expect occasional bugs. Learn more
Powerful spigot development library that supercharges your plugins
- Reworked the GUI system completely to be based around Components, added Menu pages, reworked reactive state, added reactive slots that only show up based on player / menu information, added menu events, improved menu performance, fixed many menu bugs, fixed bugs with captive slots, improved GUI kotlin DSL, added layers to menus, added 3x3 (dispenser) menus, and several other changes.
- Reworked all internal frontend -> backend communication to be via Eco (replaces Handler), removed all internal interfaces / methods in the API other than Eco#get() (all HandlerComponents), and massively cleaned up backend.
- Added PersistentDataKeyType#CONFIG
- Added Model Engine support to entity lookup system
- Added .toml support in config system
- Improved javadoc in many places
- Added EcoPlugin#createNamespacedKey and EcoPlugin#createMetadataValue as shorthands
- Optimized Item builders to use FastItemStack for lore setting
- Added more kotlin extension functions
- Added Items.isEmpty(ItemStack) instead of instantiating EmptyTestableItem
- Fixed yaml size limit for users on new versions of paper
- Fixed small bug with null elements in string lists in configs
- Deprecated PluginDependent<EcoPlugin>
- Added warning for users still using legacy MySQL (PersistentDataKeyType#CONFIG is not supported and will throw an exception)
- Many, many internal changes, optimisations, tweaks, and bug fixes
- Added GUIComponent to predefine custom GUI components consisting of multiple slots
- Added MenuBuilder#getRows
- Added CustomSlot and ConfigSlot to create custom slot implementations
- Fixed getSkullTexture
- Fixed / Improved various aspects of the display system (Thanks ItsBradarr!)
- Updated KingdomsX (Thanks mani123!)
- Fixed Scyther integration
- Fixed Songoda repo
- Fixed long-standing bug with ItemProviders causing many integrations to break (e.g. Oraxen)
- Added Item Price API
- Added Scyther integration
- Added configurable host to Paste
- Added BigDecimal support to Economy
- Fixed DeluxeCombat and FabledSkyblock integrations (Thanks Kapitowa!)
- Added the option to disable the update checker
- Rewrote MySQL data handler to be more stable (no longer misadvised)
- Removed key categorization
- Fixed data migration
- Various other large improvements to the data system
- Added == operator to evaluateExpression
- Added config expression getter methods with additional players
- Added min and max functions to evaluateExpression
- Added additional players to parse placeholders with respect to
- Added FabledSkyblock integration (Thanks Kapitowa!)
- Updated FactionsUUID integration
- Fixed ProtocolLib API cross-compatibility
- Updated ShopGUI+ API
- Added MenuBuilder#onOpen
- Added VectorUtils#isSaveVelocity / Vector#isSafeVelocity
- Added MenuUtils#getOpenMenu / Player#openMenu
- Added DisplayProperties to display modules, including inInventory, inGui, and original item (a clone to prevent any potential issues)
- Improved MythicMobs support (Thanks Syrent!)
- Updated Kotlin to 1.7.10
- Fixed rare NPE on menu close with captive items
- Added Prerequisite.HAS_1_19
- Added player health fixer (optional)
- Fixed initializing message on startup not sending at the right time
- Added SNBT support into the Item lookup system - you can now submit any NBT tag to get the item, like {id:"stone",Count:3 ... tag:{Name:"your name" ...}}