Releases: devnatan/inventory-framework
Releases · devnatan/inventory-framework
v3.0.7 (11-28-2023)
🐛 Bug fixes
- Solve issues with click handlers not working in pagination by calling component interaction handler in core interceptors (#542)
Full Changelog: v3.0.6...v3.0.7
v3.0.6 (11-27-2023)
🌟 What's New
- New
createEndlessContextandopenEndlessto create shared views with multiple players that are never invalidated (#538)
🐛 Bug Fixes
- Re-propagate click interaction in pagination child - now
cancelOnClick()works correctly in pagination items (#539) - Some components disappearing on global context update (#541)
Full Changelog: v3.0.5...v3.0.6
v3.0.5 (11-26-2023)
🌟 What's New
- Experimental
onViewerAddedandonViewerRemovedto manage viewers in shared contexts (#516) - New
openActive(...)to allow players "join" an already created context (#516)
🐛 Bug fixes
- Now ComponentBuilder's
closeOnClick()closes only for the player who clicked, not for everyone in Shared Context (#516) - Do not fill all available slots when
availableSlot()is used (#533) - Fix "Pagination state can only be registered by RootView" (#536)
📘 Documentation
- Shared Contexts page on Wiki was updated for better understanding
🛠️ Internal changes
type(ViewType.ANVIL)is now automatically set when Anvil Input feature is applied (#523)
Full Changelog: v3.0.4...v3.0.5
v3.0.4 (11-20-2023)
🐛 Bug fixes
- Scheduled update now checks if a context is active before updating it (#517)
- Now Anvil Input feature ingredient display name is updated when state value changes (#494)
🧩 API changes
- Modify ComponentBuilder's
updateOnStateChangeto prohibit no-parameter usage (#520)
🛠️ Internal changes
- Components now use unified update mechanism in
show()andhide()to ensure consistency and behavior in relation to other components (#491)
Full Changelog: v3.0.3...v3.0.4
v3.0.3 (11-19-2023)
🎉 New Features
- Minecraft 1.20.2 support (#514)
🐛 Bug fixes
- Close context cancellation not working (#515)
🧩 API changes
- Decouple state access from PlatformView to allow State Management API usage anywhere (#496)
- ViewConfig
with(Modifier)is nowuse(Modifier)(#513)
🔧 Other changes
Full Changelog: v3.0.2...v3.0.3
v3.0.2 (10-05-2023)
🐛 Bug fixes
- Fix scheduled update start interceptor trying to restart on context close and throwing an exception (#497)
🔧 Other changes
- Kotlin stdlib from inventory-framework-platform-paper module runtime dependencies (#495)
Full Changelog: v3.0.1...v3.0.2
v3.0.1 (10-04-2023)
🐛 Bug fixes
- Lock child interactions while pagination page is changing to prevent items be removed while asynchronous pagination is reloading (#488)
- Option to enable data transitivity from one view to another automatically (#493)
- Remove "multiple layoutSlot with same character" restriction, now multiple
layoutSlotwith the same character can be used alternating its visibility withhideIfanddisplayIfmodifiers (#489)
Full Changelog: v3.0.0...v3.0.1
v3.0.0 (09-21-2023)
🎉 New Features
- Refs API–create a direct component instance reference (see docs) (#476)
- Component's
hide()andshow()to programmatically set component visibility state (#476) - Anvil Input feature–get anvil text field input (see docs) (#481)
- Context back with
initialDataparameter (#482) - bStats metrics now can be disabled using
disableMetrics()ViewFrame option (#485)
🐛 Bug fixes
- Inconsistent page index in pagination page switch handler (#478)
- OpenContext and CloseContext now implements Bukkit platform Context (#479)
- MC 1.8 inventory close handling exploit with F6 (Start Streaming) key (#480)
🧩 API changes
forceUpdate()was moved from Pagination API to Component API (#476)
🛠️ Internal changes
- IN-GAME library conflict warning was removed (#484)
🔧 Other changes
- Kotlin stdlib was removed from runtime (#487)
Full Changelog: v3.0.0-rc.3...v3.0.0
v3.0.0-rc.3 (09-13-2023)
🎉 New Features
- Now components overlap each other based on rendering priorities, basically, two items can now be placed in the same slot and they will render properly based on visibility conditions like
displayIforonRender/renderedresult (#433) - New
displayIfwith context as parameter to be able to usedisplayIf(booleanState::get)(#436) - Better Kotlin interop and extensions to
kotlin.timepackage (#439) - New
back()to navigate back to the previous view. UseonResumeto catch when "back" is used. See Creating Flows with back() and onResume on Wiki (#443) - Apply default configuration to all views. See Default Configuration on Wiki (#444)
- New item
updateOnStateChange(State)(that's the same aswatchbut more explicit) (#447) interactionDelay(Duration)allows set a interval between player interactions (#460)- Added
contextandindexparameters to Pagination state (#456) - New
hideIf(the opposite ofdisplayIf) to hide items based on a condition (#467) - New
computedPaginationStateandlazyPaginationState(#458)
🐛 Bug fixes
- Inventory transition don't work in newer versions, now we close inventory before transitioning to others via
open(#457) - Players being able to remove items from view inventory by clicking in their own inventory (#459)
- Issues with pagination items updates also not being able to use
displayIforwatchnow fixed (#466)
📘 Documentation
- Basic Usage on Wiki updated with more clear examples about configuration and more comprehensive item rendering explanation
- Layouts on Wiki reworked. Now explains about
layoutSlotandavailableSlotbehavior and limitations - Navigating Between Views on Wiki reworked.
- Pagination on Wiki updated, now explains about diferences between data sources and asynchronous pagination nature
🧩 API changes
- StateValue from API is now an interface also Pagination now extends StateValue (#434)
- Better Kotlin interop & Bukkit platform
Viewdo not implement Bukkit'sInventoryHolderanymore (#439) - New
IndexSlotFunction<T>andIndexSlotConsumer<T>interfaces (#440) - ComponentBuilder's
watch(State)is now deprecated and scheduled for removal in v3.1.0 (#447) - View's
onInit(ViewConfigBuilder)moved to inventory-framework-platform module (#448)
🛠️ Internal changes
v3.0.0-rc.2 (08-15-2023)
🎉 New Features
- New
openForPlayer()andopenForEveryone()with initial data parameter, like in ViewFrame (#421) - Minecraft 1.19 and 1.20 support in dynamic title update (#423)
- New
updateTitleForPlayer(title, player)to update title for a specific player (#424) - Asynchronous Pagination (experimental) (#432)
🐛 Bug fixes
- Pagination items with dynamic rendering not reacting to global update (#425)
- Update are no more called for static items (#425)
⚡Performance improvements
- Pagination components are now registered lazily (#425)
- Component updates triggered by
watch(State)no more updates the entire view, just the component itself (#425)
📘 Documentation
- Pagination on Wiki had its structure reformulated to simplify the reading, go more straight to the point, added some missing topics to explain better about pagination with dynamic items and data source
- Page "Inventory Title Programmatic Update" on Wiki reworked and renamed to Dynamic Title Update
🧩 API changes
- Internal state and component management related methods were marked as Internal API
🛠️ Internal changes
- Project module names changed now every module has "inventory-framework-" prefix
- Removed kotlin-dsl and feature-event-bus modules
Full Changelog: v3.0.0-rc.1...v3.0.0-rc.2