Class PlatformRenderContext<T extends me.devnatan.inventoryframework.component.ItemComponentBuilder<T,C>,C extends me.devnatan.inventoryframework.context.IFContext>
java.lang.Object
me.devnatan.inventoryframework.state.DefaultStateValueHost
me.devnatan.inventoryframework.context.PlatformContext
me.devnatan.inventoryframework.context.PlatformConfinedContext
me.devnatan.inventoryframework.context.PlatformRenderContext<T,C>
- All Implemented Interfaces:
Iterable<me.devnatan.inventoryframework.component.Component>,me.devnatan.inventoryframework.component.ComponentContainer,me.devnatan.inventoryframework.context.IFConfinedContext,me.devnatan.inventoryframework.context.IFContext,me.devnatan.inventoryframework.context.IFRenderContext,me.devnatan.inventoryframework.state.StateValueHost,me.devnatan.inventoryframework.VirtualView
public abstract class PlatformRenderContext<T extends me.devnatan.inventoryframework.component.ItemComponentBuilder<T,C>,C extends me.devnatan.inventoryframework.context.IFContext>
extends PlatformConfinedContext
implements me.devnatan.inventoryframework.context.IFRenderContext
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPlatformRenderContext(@NotNull UUID id, @NotNull PlatformView root, @NotNull me.devnatan.inventoryframework.ViewConfig config, @NotNull me.devnatan.inventoryframework.ViewContainer container, @NotNull Map<String, me.devnatan.inventoryframework.Viewer> viewers, me.devnatan.inventoryframework.Viewer subject, Object initialData) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddComponent(me.devnatan.inventoryframework.component.Component arg0) final voidaddLayoutSlot(@NotNull me.devnatan.inventoryframework.internal.LayoutSlot layoutSlot) final voidaddViewer(me.devnatan.inventoryframework.Viewer arg0) final TAdds an item in the next available slot of this context's container.final voidavailableSlot(@NotNull BiConsumer<Integer, T> factory) Adds an item in the next available slot of this context's container.final voidprotected abstract TCreates a newPlatformRenderContextinstance for the current platform.protected final TCreates a new platform builder instance and registers it.final TSets an item in the first slot of this context's container.final List<BiFunction<Integer,Integer, me.devnatan.inventoryframework.component.ComponentFactory>> final @NotNull @UnmodifiableView List<me.devnatan.inventoryframework.component.ComponentFactory>List<me.devnatan.inventoryframework.component.Component>List<me.devnatan.inventoryframework.component.Component>getComponentsAt(int arg0) final @NotNull me.devnatan.inventoryframework.ViewConfigfinal @NotNull me.devnatan.inventoryframework.ViewContainerfinal @NotNull UUIDgetId()final Objectfinal StringList<me.devnatan.inventoryframework.component.Component>final @NotNull List<me.devnatan.inventoryframework.internal.LayoutSlot>final me.devnatan.inventoryframework.Viewerfinal List<me.devnatan.inventoryframework.Viewer>final booleanfinal booleanisShared()final Iterator<me.devnatan.inventoryframework.component.Component>iterator()final TlastSlot()Sets an item in the last slot of this context's container.final TlayoutSlot(char character) Defines the item that will represent a character provided in the context layout.final voidlayoutSlot(char character, @NotNull BiConsumer<Integer, T> factory) Defines the item that will represent a character provided in the context layout.final voidopenForPlayer(@NotNull Class<? extends me.devnatan.inventoryframework.RootView> other) final voidopenForPlayer(@NotNull Class<? extends me.devnatan.inventoryframework.RootView> other, Object initialData) voidperformClickInComponent(me.devnatan.inventoryframework.component.Component arg0, me.devnatan.inventoryframework.Viewer arg1, me.devnatan.inventoryframework.ViewContainer arg2, Object arg3, int arg4, boolean arg5) voidremoveComponent(me.devnatan.inventoryframework.component.Component arg0) final voidremoveViewer(me.devnatan.inventoryframework.Viewer arg0) voidrenderComponent(me.devnatan.inventoryframework.component.Component arg0) final voidfinal TThis API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.voidsetInitialData(Object initialData) final voidThis is an internal inventory-framework API that should not be used from outside of this library.final Tslot(int slot) Adds an item to a specific slot in the context container.final Tslot(int row, int column) Adds an item at the specific column and ROW (X, Y) in that context's container.(package private) final void(package private) final voidfinal TCreates a new item builder without a specified slot.voidupdate()voidupdateComponent(me.devnatan.inventoryframework.component.Component arg0, boolean arg1) final voidupdateTitleForPlayer(@NotNull String title) Methods inherited from class me.devnatan.inventoryframework.context.PlatformConfinedContext
back, back, canBackMethods inherited from class me.devnatan.inventoryframework.context.PlatformContext
closeForEveryone, getContainerOrThrow, getRoot, getTitle, getUpdatedTitle, isActive, isEndless, openForEveryone, openForEveryone, resetTitleForEveryone, setActive, setEndless, toString, updateTitleForEveryoneMethods inherited from class me.devnatan.inventoryframework.state.DefaultStateValueHost
getInternalStateValue, getRawStateValue, getStateValues, getUninitializedStateValue, initializeState, updateState, watchStateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface me.devnatan.inventoryframework.component.ComponentContainer
getComponents, getInternalComponentsMethods inherited from interface me.devnatan.inventoryframework.context.IFConfinedContext
back, back, canBackMethods inherited from interface me.devnatan.inventoryframework.context.IFContext
addComponent, addViewer, closeForEveryone, getComponentsAt, getInitialTitle, getRoot, getViewers, isActive, isEndless, isShared, openForEveryone, openForEveryone, performClickInComponent, removeComponent, removeViewer, renderComponent, resetTitleForEveryone, setActive, setEndless, update, updateComponent, updateTitleForEveryoneMethods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface me.devnatan.inventoryframework.state.StateValueHost
getInternalStateValue, getRawStateValue, getStateValues, getUninitializedStateValue, initializeState, updateState, watchState
-
Field Details
-
root
-
-
Constructor Details
-
PlatformRenderContext
PlatformRenderContext(@NotNull @NotNull UUID id, @NotNull @NotNull PlatformView root, @NotNull @NotNull me.devnatan.inventoryframework.ViewConfig config, @NotNull @NotNull me.devnatan.inventoryframework.ViewContainer container, @NotNull @NotNull Map<String, me.devnatan.inventoryframework.Viewer> viewers, me.devnatan.inventoryframework.Viewer subject, Object initialData)
-
-
Method Details
-
unsetSlot
Creates a new item builder without a specified slot.This function is for creating items whose slot is set dynamically during item rendering.
unsetSlot().onRender(render -> { render.setItem(...); render.setSlot(...); });This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.
- Returns:
- An item builder to configure the item.
-
slot
Adds an item to a specific slot in the context container.- Parameters:
slot- The slot in which the item will be positioned.- Returns:
- An item builder to configure the item.
-
slot
Adds an item at the specific column and ROW (X, Y) in that context's container.- Parameters:
row- The row (Y) in which the item will be positioned.column- The column (X) in which the item will be positioned.- Returns:
- An item builder to configure the item.
-
firstSlot
Sets an item in the first slot of this context's container.- Returns:
- An item builder to configure the item.
-
lastSlot
Sets an item in the last slot of this context's container.- Returns:
- An item builder to configure the item.
-
availableSlot
Adds an item in the next available slot of this context's container.- Returns:
- An item builder to configure the item.
-
availableSlot
Adds an item in the next available slot of this context's container.availableSlot((index, builder) -> builder.withItem(...));- Parameters:
factory- A factory to create the item builder to configure the item. The first parameter is the iteration index of the available slot.
-
layoutSlot
Defines the item that will represent a character provided in the context layout.- Parameters:
character- The layout character target.- Returns:
- An item builder to configure the item.
-
layoutSlot
Defines the item that will represent a character provided in the context layout.layoutSlot('F', (index, builder) -> builder.withItem(...));- Parameters:
character- The layout character target.
-
resultSlot
This API is experimental and is not subject to the general compatibility guarantees such API may be changed or may be removed completely in any further release.
-
getId
- Specified by:
getIdin interfaceme.devnatan.inventoryframework.context.IFContext
-
getContainer
@NotNull public final @NotNull me.devnatan.inventoryframework.ViewContainer getContainer()- Specified by:
getContainerin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
getConfig
@NotNull public final @NotNull me.devnatan.inventoryframework.ViewConfig getConfig()- Specified by:
getConfigin interfaceme.devnatan.inventoryframework.context.IFContext
-
getIndexedViewers
@NotNull public final @NotNull Map<String,me.devnatan.inventoryframework.Viewer> getIndexedViewers()- Specified by:
getIndexedViewersin interfaceme.devnatan.inventoryframework.context.IFContext
-
getInitialData
- Specified by:
getInitialDatain interfaceme.devnatan.inventoryframework.context.IFContext
-
setInitialData
- Specified by:
setInitialDatain interfaceme.devnatan.inventoryframework.context.IFContext
-
getViewer
public final me.devnatan.inventoryframework.Viewer getViewer()- Specified by:
getViewerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Specified by:
getViewerin classPlatformConfinedContext
-
getComponentFactories
@NotNull public final @NotNull @UnmodifiableView List<me.devnatan.inventoryframework.component.ComponentFactory> getComponentFactories()- Specified by:
getComponentFactoriesin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
getLayoutSlots
@NotNull public final @NotNull List<me.devnatan.inventoryframework.internal.LayoutSlot> getLayoutSlots()- Specified by:
getLayoutSlotsin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
addLayoutSlot
public final void addLayoutSlot(@NotNull @NotNull me.devnatan.inventoryframework.internal.LayoutSlot layoutSlot) - Specified by:
addLayoutSlotin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
getAvailableSlotFactories
public final List<BiFunction<Integer,Integer, getAvailableSlotFactories()me.devnatan.inventoryframework.component.ComponentFactory>> - Specified by:
getAvailableSlotFactoriesin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
closeForPlayer
public final void closeForPlayer()- Specified by:
closeForPlayerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Overrides:
closeForPlayerin classPlatformConfinedContext
-
openForPlayer
public final void openForPlayer(@NotNull @NotNull Class<? extends me.devnatan.inventoryframework.RootView> other) - Specified by:
openForPlayerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Overrides:
openForPlayerin classPlatformConfinedContext
-
openForPlayer
public final void openForPlayer(@NotNull @NotNull Class<? extends me.devnatan.inventoryframework.RootView> other, Object initialData) - Specified by:
openForPlayerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Overrides:
openForPlayerin classPlatformConfinedContext
-
updateTitleForPlayer
- Specified by:
updateTitleForPlayerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Overrides:
updateTitleForPlayerin classPlatformConfinedContext
-
resetTitleForPlayer
public final void resetTitleForPlayer()- Specified by:
resetTitleForPlayerin interfaceme.devnatan.inventoryframework.context.IFConfinedContext- Overrides:
resetTitleForPlayerin classPlatformConfinedContext
-
isRendered
public final boolean isRendered()- Specified by:
isRenderedin interfaceme.devnatan.inventoryframework.context.IFRenderContext
-
setRendered
@Internal public final void setRendered()This is an internal inventory-framework API that should not be used from outside of this library. No compatibility guarantees are provided. -
createBuilder
Creates a newPlatformRenderContextinstance for the current platform.- Returns:
- A new platform builder instance.
-
createRegisteredBuilder
Creates a new platform builder instance and registers it.- Returns:
- A new registered platform builder instance.
-
getViewers
- Specified by:
getViewersin interfaceme.devnatan.inventoryframework.context.IFContext
-
addViewer
public final void addViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0) - Specified by:
addViewerin interfaceme.devnatan.inventoryframework.context.IFContext
-
removeViewer
public final void removeViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0) - Specified by:
removeViewerin interfaceme.devnatan.inventoryframework.context.IFContext
-
getInitialTitle
- Specified by:
getInitialTitlein interfaceme.devnatan.inventoryframework.context.IFContext
-
getComponents
- Specified by:
getComponentsin interfaceme.devnatan.inventoryframework.component.ComponentContainer
-
getInternalComponents
- Specified by:
getInternalComponentsin interfaceme.devnatan.inventoryframework.component.ComponentContainer
-
getComponentsAt
- Specified by:
getComponentsAtin interfaceme.devnatan.inventoryframework.context.IFContext
-
addComponent
public void addComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0) - Specified by:
addComponentin interfaceme.devnatan.inventoryframework.context.IFContext
-
removeComponent
public void removeComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0) - Specified by:
removeComponentin interfaceme.devnatan.inventoryframework.context.IFContext
-
renderComponent
public void renderComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0) - Specified by:
renderComponentin interfaceme.devnatan.inventoryframework.context.IFContext
-
updateComponent
public void updateComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0, boolean arg1) - Specified by:
updateComponentin interfaceme.devnatan.inventoryframework.context.IFContext
-
performClickInComponent
public void performClickInComponent(@NotNull me.devnatan.inventoryframework.component.Component arg0, @NotNull me.devnatan.inventoryframework.Viewer arg1, @NotNull me.devnatan.inventoryframework.ViewContainer arg2, Object arg3, int arg4, boolean arg5) - Specified by:
performClickInComponentin interfaceme.devnatan.inventoryframework.context.IFContext
-
update
public void update()- Specified by:
updatein interfaceme.devnatan.inventoryframework.context.IFContext
-
iterator
-