Class SlotContext

java.lang.Object
me.devnatan.inventoryframework.state.DefaultStateValueHost
me.devnatan.inventoryframework.context.PlatformContext
me.devnatan.inventoryframework.context.SlotContext
All Implemented Interfaces:
Iterable<me.devnatan.inventoryframework.component.Component>, me.devnatan.inventoryframework.component.ComponentContainer, Context, me.devnatan.inventoryframework.context.IFConfinedContext, me.devnatan.inventoryframework.context.IFContext, me.devnatan.inventoryframework.context.IFSlotContext, me.devnatan.inventoryframework.state.StateValueHost, me.devnatan.inventoryframework.VirtualView
Direct Known Subclasses:
SlotClickContext, SlotRenderContext

public abstract class SlotContext extends me.devnatan.inventoryframework.context.PlatformContext implements me.devnatan.inventoryframework.context.IFSlotContext, Context
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected me.devnatan.inventoryframework.ViewConfig
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    SlotContext(int slot, @NotNull me.devnatan.inventoryframework.context.IFRenderContext parent)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    addComponent(@NotNull me.devnatan.inventoryframework.component.Component component)
     
    final void
    addViewer(me.devnatan.inventoryframework.Viewer arg0)
     
    void
     
    void
    back(Object initialData)
     
    boolean
     
    List<org.bukkit.entity.Player>
    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.
    final @UnmodifiableView @NotNull List<me.devnatan.inventoryframework.component.Component>
     
    final List<me.devnatan.inventoryframework.component.Component>
    getComponentsAt(int position)
     
    final @NotNull me.devnatan.inventoryframework.ViewConfig
     
    final @NotNull me.devnatan.inventoryframework.ViewContainer
     
    final @NotNull UUID
     
    final @NotNull Map<String,me.devnatan.inventoryframework.Viewer>
     
    final Object
     
    final String
     
    List<me.devnatan.inventoryframework.component.Component>
     
    me.devnatan.inventoryframework.state.StateValue
    getInternalStateValue(me.devnatan.inventoryframework.state.State<?> state)
     
    abstract org.bukkit.inventory.ItemStack
     
    final @NotNull RenderContext
     
    final Object
    getRawStateValue(me.devnatan.inventoryframework.state.State<?> state)
     
    final @NotNull View
     
    final int
     
    final @NotNull String
     
    me.devnatan.inventoryframework.state.StateValue
     
    final List<me.devnatan.inventoryframework.Viewer>
     
    final void
    initializeState(long id, @NotNull me.devnatan.inventoryframework.state.StateValue value)
     
    final boolean
     
    final boolean
     
    final boolean
     
    final Iterator<me.devnatan.inventoryframework.component.Component>
     
    final void
    performClickInComponent(@NotNull me.devnatan.inventoryframework.component.Component component, @NotNull me.devnatan.inventoryframework.Viewer viewer, @NotNull me.devnatan.inventoryframework.ViewContainer clickedContainer, Object platformEvent, int clickedSlot, boolean combined)
     
    final void
    removeComponent(@NotNull me.devnatan.inventoryframework.component.Component component)
     
    final void
    removeViewer(me.devnatan.inventoryframework.Viewer arg0)
     
    final void
    renderComponent(@NotNull me.devnatan.inventoryframework.component.Component component)
     
    void
    resetTitleForPlayer(@NotNull org.bukkit.entity.Player player)
    Resets the container title only for the player current scope of execution to the initially defined title.
    final void
    setActive(boolean active)
     
    final void
    setEndless(boolean endless)
     
    void
    setInitialData(Object initialData)
     
    final void
    setSlot(int slot)
     
    (package private) final void
     
    (package private) final void
     
    final void
     
    final void
    updateComponent(@NotNull me.devnatan.inventoryframework.component.Component component, boolean force)
     
    final void
    updateState(long id, Object value)
     
    void
    updateTitleForPlayer(@NotNull String title, @NotNull org.bukkit.entity.Player player)
    Updates the container title for a specific player.
    final void
    watchState(long id, me.devnatan.inventoryframework.state.StateWatcher listener)
     

    Methods inherited from class me.devnatan.inventoryframework.context.PlatformContext

    closeForEveryone, getContainerOrThrow, getUpdatedTitle, openForEveryone, openForEveryone, resetTitleForEveryone, toString, updateTitleForEveryone

    Methods inherited from class me.devnatan.inventoryframework.state.DefaultStateValueHost

    getStateValues

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface me.devnatan.inventoryframework.context.Context

    getPlayer

    Methods inherited from interface me.devnatan.inventoryframework.context.IFConfinedContext

    closeForPlayer, getViewer, openForPlayer, openForPlayer, resetTitleForPlayer, updateTitleForPlayer

    Methods inherited from interface me.devnatan.inventoryframework.context.IFContext

    addViewer, closeForEveryone, getInitialTitle, getViewers, isShared, openForEveryone, openForEveryone, removeViewer, resetTitleForEveryone, updateTitleForEveryone

    Methods inherited from interface me.devnatan.inventoryframework.context.IFSlotContext

    isOnEntityContainer

    Methods inherited from interface java.lang.Iterable

    forEach, iterator, spliterator

    Methods inherited from interface me.devnatan.inventoryframework.state.StateValueHost

    getStateValues
  • Field Details

    • config

      protected me.devnatan.inventoryframework.ViewConfig config
  • Constructor Details

    • SlotContext

      protected SlotContext(int slot, @NotNull @NotNull me.devnatan.inventoryframework.context.IFRenderContext parent)
  • Method Details

    • getItem

      public abstract org.bukkit.inventory.ItemStack getItem()
    • getParent

      @NotNull public final @NotNull RenderContext getParent()
      Specified by:
      getParent in interface me.devnatan.inventoryframework.context.IFSlotContext
    • getSlot

      public final int getSlot()
      Specified by:
      getSlot in interface me.devnatan.inventoryframework.context.IFSlotContext
    • setSlot

      public final void setSlot(int slot)
      Specified by:
      setSlot in interface me.devnatan.inventoryframework.context.IFSlotContext
    • getIndexedViewers

      @NotNull public final @NotNull Map<String,me.devnatan.inventoryframework.Viewer> getIndexedViewers()
      Specified by:
      getIndexedViewers in interface me.devnatan.inventoryframework.context.IFContext
    • getTitle

      @NotNull public final @NotNull String getTitle()
      Overrides:
      getTitle in class me.devnatan.inventoryframework.context.PlatformContext
    • getComponents

      @NotNull public final @UnmodifiableView @NotNull List<me.devnatan.inventoryframework.component.Component> getComponents()
      Specified by:
      getComponents in interface me.devnatan.inventoryframework.component.ComponentContainer
    • getInternalComponents

      public List<me.devnatan.inventoryframework.component.Component> getInternalComponents()
      Specified by:
      getInternalComponents in interface me.devnatan.inventoryframework.component.ComponentContainer
    • getComponentsAt

      public final List<me.devnatan.inventoryframework.component.Component> getComponentsAt(int position)
      Specified by:
      getComponentsAt in interface me.devnatan.inventoryframework.context.IFContext
    • addComponent

      public final void addComponent(@NotNull @NotNull me.devnatan.inventoryframework.component.Component component)
      Specified by:
      addComponent in interface me.devnatan.inventoryframework.context.IFContext
    • removeComponent

      public final void removeComponent(@NotNull @NotNull me.devnatan.inventoryframework.component.Component component)
      Specified by:
      removeComponent in interface me.devnatan.inventoryframework.context.IFContext
    • renderComponent

      public final void renderComponent(@NotNull @NotNull me.devnatan.inventoryframework.component.Component component)
      Specified by:
      renderComponent in interface me.devnatan.inventoryframework.context.IFContext
    • updateComponent

      public final void updateComponent(@NotNull @NotNull me.devnatan.inventoryframework.component.Component component, boolean force)
      Specified by:
      updateComponent in interface me.devnatan.inventoryframework.context.IFContext
    • performClickInComponent

      public final void performClickInComponent(@NotNull @NotNull me.devnatan.inventoryframework.component.Component component, @NotNull @NotNull me.devnatan.inventoryframework.Viewer viewer, @NotNull @NotNull me.devnatan.inventoryframework.ViewContainer clickedContainer, Object platformEvent, int clickedSlot, boolean combined)
      Specified by:
      performClickInComponent in interface me.devnatan.inventoryframework.context.IFContext
    • update

      public final void update()
      Specified by:
      update in interface me.devnatan.inventoryframework.context.IFContext
    • getRawStateValue

      public final Object getRawStateValue(me.devnatan.inventoryframework.state.State<?> state)
      Specified by:
      getRawStateValue in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      getRawStateValue in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • getInternalStateValue

      public me.devnatan.inventoryframework.state.StateValue getInternalStateValue(me.devnatan.inventoryframework.state.State<?> state)
      Specified by:
      getInternalStateValue in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      getInternalStateValue in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • getUninitializedStateValue

      public me.devnatan.inventoryframework.state.StateValue getUninitializedStateValue(long stateId)
      Specified by:
      getUninitializedStateValue in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      getUninitializedStateValue in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • initializeState

      public final void initializeState(long id, @NotNull @NotNull me.devnatan.inventoryframework.state.StateValue value)
      Specified by:
      initializeState in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      initializeState in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • updateState

      public final void updateState(long id, Object value)
      Specified by:
      updateState in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      updateState in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • watchState

      public final void watchState(long id, me.devnatan.inventoryframework.state.StateWatcher listener)
      Specified by:
      watchState in interface me.devnatan.inventoryframework.state.StateValueHost
      Overrides:
      watchState in class me.devnatan.inventoryframework.state.DefaultStateValueHost
    • getId

      @NotNull public final @NotNull UUID getId()
      Specified by:
      getId in interface me.devnatan.inventoryframework.context.IFContext
    • getConfig

      @NotNull public final @NotNull me.devnatan.inventoryframework.ViewConfig getConfig()
      Specified by:
      getConfig in interface me.devnatan.inventoryframework.context.IFContext
    • getContainer

      @NotNull public final @NotNull me.devnatan.inventoryframework.ViewContainer getContainer()
      Specified by:
      getContainer in interface me.devnatan.inventoryframework.context.IFSlotContext
    • getRoot

      @NotNull public final @NotNull View getRoot()
      Specified by:
      getRoot in interface me.devnatan.inventoryframework.context.IFContext
      Specified by:
      getRoot in class me.devnatan.inventoryframework.context.PlatformContext
    • getInitialData

      public final Object getInitialData()
      Specified by:
      getInitialData in interface me.devnatan.inventoryframework.context.IFContext
    • setInitialData

      public void setInitialData(Object initialData)
      Specified by:
      setInitialData in interface me.devnatan.inventoryframework.context.IFContext
    • getAllPlayers

      public List<org.bukkit.entity.Player> getAllPlayers()
      Description copied from interface: Context

      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.

      Specified by:
      getAllPlayers in interface Context
    • updateTitleForPlayer

      public void updateTitleForPlayer(@NotNull @NotNull String title, @NotNull @NotNull org.bukkit.entity.Player player)
      Description copied from interface: Context
      Updates the container title for a specific player.

      This should not be used before the container is opened, if you need to set the __initial title__ use IFOpenContext.modifyConfig() on open handler instead.

      This method is version dependant, so it may be that your server version is not yet supported, if you try to use this method and fail (can fail silently), report it to the library developers to add support to your version.

      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.

      Specified by:
      updateTitleForPlayer in interface Context
      Parameters:
      title - The new container title.
      player - The player to update the title.
    • resetTitleForPlayer

      public void resetTitleForPlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Description copied from interface: Context
      Resets the container title only for the player current scope of execution to the initially defined title. Must be used after Context.updateTitleForPlayer(String, Player) to take effect.

      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.

      Specified by:
      resetTitleForPlayer in interface Context
      Parameters:
      player - The player to reset the title.
    • isActive

      public final boolean isActive()
      Specified by:
      isActive in interface me.devnatan.inventoryframework.context.IFContext
      Overrides:
      isActive in class me.devnatan.inventoryframework.context.PlatformContext
    • setActive

      public final void setActive(boolean active)
      Specified by:
      setActive in interface me.devnatan.inventoryframework.context.IFContext
      Overrides:
      setActive in class me.devnatan.inventoryframework.context.PlatformContext
    • isEndless

      public final boolean isEndless()
      Specified by:
      isEndless in interface me.devnatan.inventoryframework.context.IFContext
      Overrides:
      isEndless in class me.devnatan.inventoryframework.context.PlatformContext
    • setEndless

      public final void setEndless(boolean endless)
      Specified by:
      setEndless in interface me.devnatan.inventoryframework.context.IFContext
      Overrides:
      setEndless in class me.devnatan.inventoryframework.context.PlatformContext
    • back

      public void back()
      Specified by:
      back in interface me.devnatan.inventoryframework.context.IFConfinedContext
    • back

      public void back(Object initialData)
      Specified by:
      back in interface me.devnatan.inventoryframework.context.IFConfinedContext
    • canBack

      public boolean canBack()
      Specified by:
      canBack in interface me.devnatan.inventoryframework.context.IFConfinedContext
    • getViewers

      @NotNull public final List<me.devnatan.inventoryframework.Viewer> getViewers()
      Specified by:
      getViewers in interface me.devnatan.inventoryframework.context.IFContext
    • addViewer

      public final void addViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0)
      Specified by:
      addViewer in interface me.devnatan.inventoryframework.context.IFContext
    • removeViewer

      public final void removeViewer(@NotNull me.devnatan.inventoryframework.Viewer arg0)
      Specified by:
      removeViewer in interface me.devnatan.inventoryframework.context.IFContext
    • getInitialTitle

      @NotNull public final String getInitialTitle()
      Specified by:
      getInitialTitle in interface me.devnatan.inventoryframework.context.IFContext
    • isShared

      public final boolean isShared()
      Specified by:
      isShared in interface me.devnatan.inventoryframework.context.IFContext
    • iterator

      @NotNull public final Iterator<me.devnatan.inventoryframework.component.Component> iterator()
      Specified by:
      iterator in interface Iterable<me.devnatan.inventoryframework.component.Component>
    • tryThrowDoNotWorkWithSharedContext

      final void tryThrowDoNotWorkWithSharedContext()
    • tryThrowDoNotWorkWithSharedContext

      final void tryThrowDoNotWorkWithSharedContext(String arg0)