Class MasonryPane
java.lang.Object
me.despical.inventoryframework.pane.Pane
me.despical.inventoryframework.pane.MasonryPane
- All Implemented Interfaces:
Orientable
This pane holds panes and decides itself where every pane should go. It tries to put every pane in the top left
corner and will move rightwards and downwards respectively if the top left corner is already in use. Depending on the
order and size of the panes, this may leave empty spaces in certain spots. Do note however that the order of panes
isn't always preserved. If there is a gap left in which a pane with a higher index can fit, it will be put there,
even if there are panes with a lower index after it. Panes that do not fit will not be displayed.
- 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.PriorityNested classes/interfaces inherited from interface me.despical.inventoryframework.pane.Orientable
Orientable.Orientation -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionMasonryPane(int length, int height) MasonryPane(int x, int y, int length, int height) MasonryPane(int x, int y, int length, int height, @NotNull Pane.Priority priority) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a pane to this masonry panevoidclear()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 inventory@NotNull Collection<GuiItem> getItems()Gets all the items in this pane and all underlying panes.@NotNull Orientable.OrientationGets the orientation of this outline pane@NotNull Collection<Pane> getPanes()Gets all the panes in this panes, including any child panes from other panes.static @NotNull MasonryPaneLoads a masonry pane from a given elementvoidsetOrientation(@NotNull Orientable.Orientation orientation) Sets the orientation of this outline paneMethods 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
-
MasonryPane
-
MasonryPane
public MasonryPane(int x, int y, int length, int height) -
MasonryPane
public MasonryPane(int length, int height)
-
-
Method Details
-
load
@NotNull public static @NotNull MasonryPane load(@NotNull @NotNull Object instance, @NotNull @NotNull Element element) Loads a masonry pane from a given element- Parameters:
instance- the instance classelement- the element- Returns:
- the masonry 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
-
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
-
addPane
Adds a pane to this masonry pane- Parameters:
pane- the pane to add- Since:
- 1.0.1
-
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.) -
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.) -
clear
public void clear()Description copied from class:PaneClears the entire pane of any items/panes. Underlying panes will not be cleared. -
getOrientation
Description copied from interface:OrientableGets the orientation of this outline pane- Specified by:
getOrientationin interfaceOrientable- Returns:
- the orientation
-
setOrientation
Description copied from interface:OrientableSets the orientation of this outline pane- Specified by:
setOrientationin interfaceOrientable- Parameters:
orientation- the new orientation
-