inventory-framework
inventory-framework copied to clipboard
Minecraft Inventory API framework
Now is possible to use `getSlot` inside `layoutSlot` factory also added some missing documentations and created Function-like interfaces to simplify usage
https://github.com/DevNatan/inventory-framework/blob/9c592c2787515566ea6fed0426046386144a43c0/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/state/PaginationState.java#L46 ```java @Override public void stateUnregistered(@NotNull State state, Object caller) { // TODO Allow usage in abstract components if (!(caller instanceof RootView)) throw new IllegalArgumentException("Pagination state can only be unregistered...
https://github.com/DevNatan/inventory-framework/blob/9c592c2787515566ea6fed0426046386144a43c0/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/state/PaginationState.java#L35 ```java @Override public void stateRegistered(@NotNull State state, Object caller) { // TODO Allow usage in abstract components if (!(caller instanceof RootView)) throw new IllegalArgumentException("Pagination state can only be registered...
since slot can be re\-defined on render and this interceptor runs before it https://github.com/DevNatan/inventory-framework/blob/a2f58266a02fbb72ecacf226546245d947446327/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/pipeline/AvailableSlotInterceptor.java#L115 ```java if (context.getContainer().hasItem(slot)) return false; // we need to check component factories since components don't have...
https://api.github.com/DevNatan/inventory-framework/blob/a8cee0e3fbeef1738aa1023ab00f076d5aa1d365/inventory-framework-core/src/main/java/me/devnatan/inventoryframework/component/AbstractComponent.java#L87 ```java package me.devnatan.inventoryframework.component; import me.devnatan.inventoryframework.Ref; import me.devnatan.inventoryframework.RootView; import me.devnatan.inventoryframework.UnsupportedOperationInSharedContextException; import me.devnatan.inventoryframework.VirtualView; import me.devnatan.inventoryframework.context.IFContext; import me.devnatan.inventoryframework.context.IFSlotRenderContext; import me.devnatan.inventoryframework.state.State; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.UnmodifiableView; import java.util.Collections; import java.util.Set; import java.util.UUID; import java.util.function.Predicate;...
Snapshots will allow users to save view state even if server is restarted, reduce overhead significantly and simplify internal code a lot. Resume is under "Navigating Between Views" feature. See...
Allow use to use a ANVIL inventory to track user input ###### TODO - [x] **Create `inventory-framework-anvil-input` module and Anvil Feature as external feature** - [ ] **Fix compatibility issues...
Update BukkitElementFactory task executor to use local context viewer as executor (Folia needs a player to schedule tasks). Affects [Scheduled Updates](https://github.com/DevNatan/inventory-framework/wiki/Scheduled-updates) feature.