Class PercentageBar
java.lang.Object
com.github.stefvanschie.inventoryframework.pane.Pane
com.github.stefvanschie.inventoryframework.pane.component.util.VariableBar
com.github.stefvanschie.inventoryframework.pane.component.PercentageBar
- All Implemented Interfaces:
Flippable
,Orientable
A percentage bar for a graphical interface into what amount of a whole is set.
- Since:
- 0.5.0
-
Nested Class Summary
Nested classes/interfaces inherited from class com.github.stefvanschie.inventoryframework.pane.Pane
Pane.Priority
Nested classes/interfaces inherited from interface com.github.stefvanschie.inventoryframework.pane.Orientable
Orientable.Orientation
-
Field Summary
Fields inherited from class com.github.stefvanschie.inventoryframework.pane.component.util.VariableBar
backgroundPane, fillPane, flipHorizontally, flipVertically, orientation, value
-
Constructor Summary
ConstructorDescriptionPercentageBar(int length, int height)
PercentageBar(int x, int y, int length, int height)
PercentageBar(int x, int y, int length, int height, @NotNull Pane.Priority priority)
-
Method Summary
Modifier and TypeMethodDescriptionboolean
click(@NotNull Gui gui, @NotNull InventoryComponent inventoryComponent, @NotNull org.bukkit.event.inventory.InventoryClickEvent event, int slot, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight)
Called whenever there is being clicked on this pane@NotNull PercentageBar
copy()
Makes a copy of this pane and returns it.float
Gets the percentage as a float in between (0,1) this bar is currently set at.static @NotNull PercentageBar
Loads a percentage bar from a given elementvoid
setPercentage(float percentage)
Sets the percentage of this bar.Methods inherited from class com.github.stefvanschie.inventoryframework.pane.component.util.VariableBar
applyContents, clear, display, flipHorizontally, flipVertically, getItems, getOrientation, getPanes, isFlippedHorizontally, isFlippedVertically, setBackgroundItem, setFillItem, setHeight, setLength, setOrientation, setValue
Methods inherited from class com.github.stefvanschie.inventoryframework.pane.Pane
callOnClick, findMatchingItem, getHeight, getLength, getPriority, getUUID, getX, getY, isVisible, load, loadItem, registerProperty, setOnClick, setPriority, setVisible, setX, setY
-
Constructor Details
-
PercentageBar
public PercentageBar(int x, int y, int length, int height, @NotNull @NotNull Pane.Priority priority) -
PercentageBar
public PercentageBar(int x, int y, int length, int height) -
PercentageBar
public PercentageBar(int length, int height)
-
-
Method Details
-
click
public boolean click(@NotNull @NotNull Gui gui, @NotNull @NotNull InventoryComponent inventoryComponent, @NotNull @NotNull org.bukkit.event.inventory.InventoryClickEvent event, int slot, int paneOffsetX, int paneOffsetY, int maxLength, int maxHeight)Description copied from class:Pane
Called whenever there is being clicked on this pane- Specified by:
click
in classPane
- Parameters:
gui
- the gui in which was clickedinventoryComponent
- the inventory component in which this pane residesevent
- the event that occurred while clicking on this itemslot
- the slot that was clicked inpaneOffsetX
- 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
-
setPercentage
public void setPercentage(float percentage)Sets the percentage of this bar. The percentage has to be in (0,1). If not, this method will throw anIllegalArgumentException
.- Parameters:
percentage
- the new percentage.- Throws:
IllegalArgumentException
- when the percentage is out of range- Since:
- 0.5.0
- See Also:
the implementation
-
copy
Description copied from class:Pane
Makes a copy of this pane and returns it. This makes a deep copy of the pane. This entails that the underlying panes and/or items will be copied as well. The returned pane will never be reference equal to the current pane. -
getPercentage
public float getPercentage()Gets the percentage as a float in between (0,1) this bar is currently set at.- Returns:
- the percentage
- Since:
- 0.5.0
-
load
@NotNull @Contract(pure=true) public static @NotNull PercentageBar load(@NotNull @NotNull Object instance, @NotNull @NotNull Element element)Loads a percentage bar from a given element- Parameters:
instance
- the instance classelement
- the element- Returns:
- the percentage bar
-