Class StaticPane
java.lang.Object
me.despical.inventoryframework.pane.Pane
me.despical.inventoryframework.pane.StaticPane
A pane for static items and stuff. All items will have to be specified a slot, or will be added in the next position.
- Since:
- 1.0.1
Created at 04.09.2020
- Author:
- Despical
-
Nested Class Summary
Nested classes/interfaces inherited from class me.despical.inventoryframework.pane.Pane
Pane.Priority -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionStaticPane(int length, int height) StaticPane(int x, int y, int length, int height) StaticPane(int x, int y, int length, int height, @NotNull Pane.Priority priority) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a gui item at the specific spot in the pane.voidAdds a gui item at the specific spot in the pane.voidclear()Clears the entire pane of any items/panes.booleanclick(@NotNull Gui gui, @NotNull org.bukkit.event.inventory.InventoryClickEvent event, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) Called whenever there is being clicked on this panevoiddisplay(@NotNull Gui gui, @NotNull org.bukkit.inventory.Inventory inventory, @NotNull org.bukkit.inventory.PlayerInventory playerInventory, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) Has to set all the items in the right spot inside the inventoryvoidfillBorder(@NotNull GuiItem guiItem) Fills inventory borders with given gui item.voidfillHorizontallyWith(@NotNull GuiItem guiItem, int line) Fills specified row line horizontally with given gui item.voidfillProgressBorder(@NotNull GuiItem full, @NotNull GuiItem empty, int progress) Fills inventory borders with given gui item.voidfillVerticallyWith(@NotNull GuiItem guiItem, int line) Fills specified row line vertically with given gui item.voidfillWith(@NotNull org.bukkit.inventory.ItemStack itemStack) Fills all empty space in the pane with the givenitemStackvoidfillWith(@NotNull org.bukkit.inventory.ItemStack itemStack, @Nullable Consumer<org.bukkit.event.inventory.InventoryClickEvent> action) Fills all empty space in the pane with the givenitemStackand adds the given actionvoidflipHorizontally(boolean flipHorizontally) Sets whether this pane should flip its items horizontallyvoidflipVertically(boolean flipVertically) Sets whether this pane should flip its items vertically@NotNull Collection<GuiItem> getItems()Gets all the items in this pane and all underlying panes.@NotNull Collection<Pane> getPanes()Gets all the panes in this panes, including any child panes from other panes.intGets the rotation specified to this pane.booleanGets whether this pane's items are flipped horizontallybooleanGets whether this pane's items are flipped verticallystatic @NotNull StaticPaneLoads an outline pane from a given elementvoidremoveItem(int slot) Removes the specified item from the panevoidremoveItem(int x, int y) Removes the specified item from the panevoidremoveItem(@NotNull GuiItem item) Removes the specified item from the panevoidsetRotation(int rotation) Sets the rotation of this pane.Methods inherited from class me.despical.inventoryframework.pane.Pane
findMatchingItem, getHeight, getLength, getPriority, getPropertyMappings, getX, getY, isVisible, load, loadItem, registerProperty, setHeight, setLength, setOnClick, setOnLocalClick, setPriority, setVisible, setX, setY
-
Constructor Details
-
StaticPane
-
StaticPane
public StaticPane(int x, int y, int length, int height) -
StaticPane
public StaticPane(int length, int height)
-
-
Method Details
-
load
@NotNull public static @NotNull StaticPane load(@NotNull @NotNull Object instance, @NotNull @NotNull Element element) Loads an outline pane from a given element- Parameters:
instance- the instance classelement- the element- Returns:
- the outline pane
-
display
public void display(@NotNull @NotNull Gui gui, @NotNull @NotNull org.bukkit.inventory.Inventory inventory, @NotNull @NotNull org.bukkit.inventory.PlayerInventory playerInventory, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) Description copied from class:PaneHas to set all the items in the right spot inside the inventory- Specified by:
displayin classPane- Parameters:
gui- the gui for which we're renderinginventory- the inventory that the items should be displayed inplayerInventory- the player's inventorypaneOffsetX- the pane's offset on the x axispaneOffsetY- the pane's offset on the y axismaxLength- the maximum length of the panemaxHeight- the maximum height of the pane
-
addItem
Adds a gui item at the specific spot in the pane. If the coordinates as specified by the x and y parameters is already occupied, that item will be replaced by the item parameter.- Parameters:
item- the item to setx- the x coordinate of the position of the itemy- the y coordinate of the position of the item
-
addItem
Adds a gui item at the specific spot in the pane. If the coordinates as specified by the x and y parameters is already occupied, that item will be replaced by the item parameter.- Parameters:
item- the item to setslot- the slot of the item
-
removeItem
Removes the specified item from the pane- Parameters:
item- the item to remove- Since:
- 1.0.1
-
removeItem
public void removeItem(int x, int y) Removes the specified item from the pane- Parameters:
x- the x axis of item to removey- the y axis of item to remove- Since:
- 1.0.1
-
removeItem
public void removeItem(int slot) Removes the specified item from the pane- Parameters:
slot- the slot of the item to remove- Since:
- 1.0.1
-
click
public boolean click(@NotNull @NotNull Gui gui, @NotNull @NotNull org.bukkit.event.inventory.InventoryClickEvent event, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight) Description copied from class:PaneCalled whenever there is being clicked on this pane- Specified by:
clickin classPane- Parameters:
gui- the gui this event stems fromevent- the event that occurred while clicking on this itempaneOffsetX- the pane's offset on the x axispaneOffsetY- the pane's offset on the y axismaxLength- the maximum length of the panemaxHeight- the maximum height of the pane- Returns:
- whether the item was found or not
-
fillWith
public void fillWith(@NotNull @NotNull org.bukkit.inventory.ItemStack itemStack, @Nullable @Nullable Consumer<org.bukkit.event.inventory.InventoryClickEvent> action) Fills all empty space in the pane with the givenitemStackand adds the given action- Parameters:
itemStack- TheItemStackto fill the empty space withaction- The action called whenever an interaction with the item happens- Since:
- 1.0.1
-
fillWith
public void fillWith(@NotNull @NotNull org.bukkit.inventory.ItemStack itemStack) Fills all empty space in the pane with the givenitemStack- Parameters:
itemStack- TheItemStackto fill the empty space with- Since:
- 1.0.1
-
fillHorizontallyWith
Description copied from interface:FillableFills specified row line horizontally with given gui item.- Specified by:
fillHorizontallyWithin interfaceFillable- Parameters:
guiItem- to fill the empty space withline- to fill withguiItem
-
fillVerticallyWith
Description copied from interface:FillableFills specified row line vertically with given gui item.- Specified by:
fillVerticallyWithin interfaceFillable- Parameters:
guiItem- to fill the empty space withline- to fill with given gui item
-
fillBorder
Description copied from interface:FillableFills inventory borders with given gui item.- Specified by:
fillBorderin interfaceFillable- Parameters:
guiItem- to fill the empty space with
-
fillProgressBorder
public void fillProgressBorder(@NotNull @NotNull GuiItem full, @NotNull @NotNull GuiItem empty, int progress) Description copied from interface:FillableFills inventory borders with given gui item.- Specified by:
fillProgressBorderin interfaceFillable- Parameters:
full- to fill the progressed space withempty- to fill the empty space withprogress- percentage of items to fill
-
getItems
Description copied from class:PaneGets all the items in this pane and all underlying panes. The returned collection is not guaranteed to be mutable or to be a view of the underlying data. (So changes to the gui are not guaranteed to be visible in the returned value.) -
getLocations
-
clear
public void clear()Description copied from class:PaneClears the entire pane of any items/panes. Underlying panes will not be cleared. -
getPanes
Description copied from class:PaneGets all the panes in this panes, including any child panes from other panes. The returned collection is not guaranteed to be mutable or to be a view of the underlying data. (So changes to the gui are not guaranteed to be visible in the returned value.) -
flipHorizontally
public void flipHorizontally(boolean flipHorizontally) Description copied from interface:FlippableSets whether this pane should flip its items horizontally- Specified by:
flipHorizontallyin interfaceFlippable- Parameters:
flipHorizontally- whether the pane should flip items horizontally
-
flipVertically
public void flipVertically(boolean flipVertically) Description copied from interface:FlippableSets whether this pane should flip its items vertically- Specified by:
flipVerticallyin interfaceFlippable- Parameters:
flipVertically- whether the pane should flip items vertically
-
getRotation
@Contract(pure=true) public int getRotation()Description copied from interface:RotatableGets the rotation specified to this pane. If no rotation has been set, or if this pane is not capable of having a rotation, 0 is returned.- Specified by:
getRotationin interfaceRotatable- Returns:
- the rotation for this pane
-
setRotation
public void setRotation(int rotation) Description copied from interface:RotatableSets the rotation of this pane. The rotation is in degrees and can only be in increments of 90. Anything higher than 360, will be lowered to a value in between [0, 360) while maintaining the same rotational value. E.g. 450 degrees becomes 90 degrees, 1080 degrees becomes 0, etc.This method fails for any pane that has a length and height which are unequal.
- Specified by:
setRotationin interfaceRotatable- Parameters:
rotation- the rotation of this pane, must be divisible by 90.
-
isFlippedHorizontally
@Contract(pure=true) public boolean isFlippedHorizontally()Description copied from interface:FlippableGets whether this pane's items are flipped horizontally- Specified by:
isFlippedHorizontallyin interfaceFlippable- Returns:
- true if the items are flipped horizontally, false otherwise
-
isFlippedVertically
@Contract(pure=true) public boolean isFlippedVertically()Description copied from interface:FlippableGets whether this pane's items are flipped vertically- Specified by:
isFlippedVerticallyin interfaceFlippable- Returns:
- true if the items are flipped vertically, false otherwise
-