Index
All Classes and Interfaces|All Packages|Constant Field Values
A
- action(ItemProvider, Consumer) - Static method in class com.cotani.gui.button.Buttons
-
A button running a custom action with a dynamic item.
- action(ItemStack, Consumer) - Static method in class com.cotani.gui.button.Buttons
-
A button running a custom action with a static item.
- allowPlayerInteraction(char) - Method in class com.cotani.gui.api.GuiWindow
-
Marks every slot assigned to the given symbol as interactable, allowing players to place and remove items directly while still protecting all other panel slots.
- AntiExploitGuard - Class in com.cotani.gui.safety
-
Central protection layer for Cotani GUIs.
- AntiExploitGuard(Duration) - Constructor for class com.cotani.gui.safety.AntiExploitGuard
-
Creates a guard with the given debounce interval.
B
- bind(char, Button) - Method in class com.cotani.gui.api.GuiWindow
-
Binds a structure symbol to a clickable button.
- bind(char, ItemStack) - Method in class com.cotani.gui.api.GuiWindow
-
Binds a structure symbol to a static display item.
- bindToggle(char, Property, Material, String, String, String, Consumer) - Method in class com.cotani.gui.api.GuiWindow
-
Binds a structure symbol to an ON/OFF toggle backed by a boolean property with custom labels.
- bindToggle(char, Property, Material, String, Consumer) - Method in class com.cotani.gui.api.GuiWindow
-
Binds a structure symbol to an ON/OFF toggle backed by a boolean property with default labels.
- BoolProperty - Interface in com.cotani.gui.api
- border(Material) - Method in class com.cotani.gui.api.GuiWindow
-
Fills every slot without a binding with a decorative pane of the given material.
- borderPane(Material) - Static method in class com.cotani.gui.button.Items
- Button - Interface in com.cotani.gui.button
-
A clickable GUI element: a dynamic item plus a click action.
- Buttons - Class in com.cotani.gui.button
-
Static factory helpers for common buttons (close, pagination, generic actions).
C
- clampPage(int, int) - Static method in class com.cotani.gui.layout.Pagination
-
Clamps a page index into the valid range for the given content size.
- clear() - Method in class com.cotani.gui.safety.ClickDebouncer
-
Clears all player debounce state.
- clearState() - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Clears all debounce state.
- ClickContext - Record Class in com.cotani.gui.context
-
Immutable snapshot of a click inside a Cotani GUI.
- ClickContext(Player, ClickType, int, InventoryView) - Constructor for record class com.cotani.gui.context.ClickContext
-
Creates an instance of a
ClickContextrecord class. - ClickDebouncer - Class in com.cotani.gui.safety
-
Enforces per-player click debounce timing independently of Bukkit event listeners.
- ClickDebouncer(Duration) - Constructor for class com.cotani.gui.safety.ClickDebouncer
-
Creates a debouncer with the given debounce duration.
- clickType() - Method in record class com.cotani.gui.context.ClickContext
-
Returns the value of the
clickTyperecord component. - close() - Method in class com.cotani.gui.api.GuiPanel
-
Closes the viewer's inventory, which triggers the close pipeline exactly once.
- close() - Method in interface com.cotani.gui.api.Property.Subscription
- close() - Static method in class com.cotani.gui.button.Buttons
-
A barrier button that closes the viewer's inventory.
- close() - Method in class com.cotani.gui.CotaniGuiModule
-
Unregisters the listeners and clears debounce state.
- close(ItemStack) - Static method in class com.cotani.gui.button.Buttons
-
A custom item button that closes the viewer's inventory.
- CloseContext - Record Class in com.cotani.gui.context
-
Immutable snapshot of a GUI close event.
- CloseContext(Player) - Constructor for record class com.cotani.gui.context.CloseContext
-
Creates a close snapshot with no leftover interactable items.
- CloseContext(Player, Map) - Constructor for record class com.cotani.gui.context.CloseContext
-
Creates an instance of a
CloseContextrecord class. - com.cotani.gui - package com.cotani.gui
- com.cotani.gui.api - package com.cotani.gui.api
- com.cotani.gui.button - package com.cotani.gui.button
- com.cotani.gui.context - package com.cotani.gui.context
- com.cotani.gui.layout - package com.cotani.gui.layout
- com.cotani.gui.safety - package com.cotani.gui.safety
- com.cotani.gui.state - package com.cotani.gui.state
- CotaniGuiModule - Class in com.cotani.gui
-
Module bootstrap: registers the GUI safety listeners and owns their lifecycle.
- CotaniGuis - Class in com.cotani.gui
-
Entrypoint factory for the
cotani-guimodule. - create(Plugin) - Static method in class com.cotani.gui.CotaniGuiModule
-
Creates and registers the module with the
CotaniGuiModule.DEFAULT_DEBOUNCEinterval. - create(Plugin) - Static method in class com.cotani.gui.CotaniGuis
-
Creates and registers the GUI module with the default debounce interval.
- create(Plugin, Duration) - Static method in class com.cotani.gui.CotaniGuiModule
-
Creates and registers the module with a custom click debounce.
- create(Plugin, Duration) - Static method in class com.cotani.gui.CotaniGuis
-
Creates and registers the GUI module with a custom debounce interval.
D
- debounce() - Method in class com.cotani.gui.CotaniGuiModule
-
Returns the configured click debounce.
- DEFAULT_DEBOUNCE - Static variable in class com.cotani.gui.CotaniGuiModule
-
Default per-player click debounce (100ms).
E
- EMPTY - Static variable in class com.cotani.gui.layout.Structure
-
Reserved symbol for intentionally empty slots.
- equals(Object) - Method in record class com.cotani.gui.context.ClickContext
-
Indicates whether some other object is "equal to" this one.
- equals(Object) - Method in record class com.cotani.gui.context.CloseContext
-
Indicates whether some other object is "equal to" this one.
G
- get() - Method in interface com.cotani.gui.api.Property
-
Returns the current value.
- getInventory() - Method in class com.cotani.gui.api.GuiPanel
- GuiPanel - Class in com.cotani.gui.api
-
Active GUI instance bound to a single viewer's open inventory.
- GuiWindow - Class in com.cotani.gui.api
-
Fluent builder for declarative, reactive inventory GUIs.
H
- handleClick(ClickContext) - Method in class com.cotani.gui.api.GuiPanel
-
Internal dispatch invoked by the anti-exploit guard after debounce validation.
- handleClose() - Method in class com.cotani.gui.api.GuiPanel
-
Internal close dispatch invoked by the anti-exploit guard.
- hashCode() - Method in record class com.cotani.gui.context.ClickContext
-
Returns a hash code value for this object.
- hashCode() - Method in record class com.cotani.gui.context.CloseContext
-
Returns a hash code value for this object.
- hasInteractableSlots() - Method in class com.cotani.gui.api.GuiPanel
-
Returns whether this panel has at least one interactable slot.
- head(Player, String, String...) - Static method in class com.cotani.gui.button.Items
- head(Player, Component, Component...) - Static method in class com.cotani.gui.button.Items
I
- isDisposed() - Method in class com.cotani.gui.api.GuiPanel
-
Returns whether this panel was already disposed (closed).
- isInteractable(int) - Method in class com.cotani.gui.api.GuiPanel
-
Returns whether the specified slot is marked as interactable (allowing player item transfers).
- item(ItemStack) - Static method in interface com.cotani.gui.button.Button
-
Creates a static, non-interactive display item.
- item(Material, String, String...) - Static method in class com.cotani.gui.button.Items
- item(Material, Component, Component...) - Static method in class com.cotani.gui.button.Items
- ItemProvider - Interface in com.cotani.gui.button
-
Dynamic item supplier evaluated on every render, allowing per-viewer content such as player heads.
- Items - Class in com.cotani.gui.button
L
- leftoverItems() - Method in record class com.cotani.gui.context.CloseContext
-
Returns the value of the
leftoverItemsrecord component.
M
- markInteractable(int) - Method in class com.cotani.gui.api.GuiPanel
-
Marks the specified slot as interactable, allowing player item transfers.
N
- nextPage(Property) - Static method in class com.cotani.gui.button.Buttons
-
An arrow button that advances the given page state.
- nextPage(Property, ItemStack) - Static method in class com.cotani.gui.button.Buttons
-
An arrow button that advances the given page state with a custom display item.
O
- observe(Consumer) - Method in interface com.cotani.gui.api.Property
-
Registers an observer invoked with the new value after every effective change.
- of(boolean) - Static method in class com.cotani.gui.state.State
-
Creates a boolean property with
BoolProperty.toggle()support. - of(ItemProvider, Consumer) - Static method in interface com.cotani.gui.button.Button
-
Creates a button from an item provider and a click action.
- of(T) - Static method in class com.cotani.gui.state.State
-
Creates a property holding the given initial value.
- onClick(ClickContext) - Method in interface com.cotani.gui.button.Button
-
Handles a click on this button.
- onClose(Consumer) - Method in class com.cotani.gui.api.GuiWindow
-
Registers a callback invoked exactly once when the viewer closes the GUI.
- onInventoryClick(InventoryClickEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Cancels all clicks inside Cotani GUIs and dispatches allowed clicks to the panel buttons.
- onInventoryClickMonitor(InventoryClickEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Re-applies cancellation after other
HIGHESTlisteners so a later plugin cannot un-cancel a protected Cotani click. - onInventoryClose(InventoryCloseEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Runs the panel close pipeline and releases debounce state.
- onInventoryDrag(InventoryDragEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Cancels drags that touch non-interactable slots of a Cotani GUI top inventory.
- onInventoryDragMonitor(InventoryDragEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Re-applies drag cancellation at
MONITORso later plugins cannot un-cancel it. - onPlayerQuit(PlayerQuitEvent) - Method in class com.cotani.gui.safety.AntiExploitGuard
-
Disposes panels left open on disconnect and releases debounce state.
- open(Player) - Method in class com.cotani.gui.api.GuiWindow
-
Opens the GUI for the given player.
P
- page(List, int, int) - Static method in class com.cotani.gui.layout.Pagination
-
Returns the items visible on the given page.
- pageCount(int, int) - Static method in class com.cotani.gui.layout.Pagination
-
Computes how many pages are needed to display
totalItemsitems. - paginated(char, Property, List, Function) - Method in class com.cotani.gui.api.GuiWindow
-
Binds a structure symbol to a paginated collection.
- Pagination - Class in com.cotani.gui.layout
-
Stateless paging math for slicing collections into fixed-size pages.
- panel(String) - Static method in class com.cotani.gui.api.GuiWindow
-
Creates a window with a MiniMessage title.
- panel(Component) - Static method in class com.cotani.gui.api.GuiWindow
-
Creates a window with a component title.
- parse(String...) - Static method in class com.cotani.gui.layout.Structure
-
Parses row patterns such as
"# # #"and"# F #"into a structure. - player() - Method in record class com.cotani.gui.context.ClickContext
-
Returns the value of the
playerrecord component. - player() - Method in record class com.cotani.gui.context.CloseContext
-
Returns the value of the
playerrecord component. - previousPage(Property) - Static method in class com.cotani.gui.button.Buttons
-
An arrow button that moves the given page state back, never below zero.
- previousPage(Property, ItemStack) - Static method in class com.cotani.gui.button.Buttons
-
An arrow button that moves the given page state back with a custom display item.
- Property<T> - Interface in com.cotani.gui.api
-
Thread-safe reactive state container.
- Property.Subscription - Interface in com.cotani.gui.api
-
Handle that unregisters an observer once closed.
- provide(Player) - Method in interface com.cotani.gui.button.ItemProvider
-
Builds the item shown to the given viewer.
R
- release(UUID) - Method in class com.cotani.gui.safety.ClickDebouncer
-
Resets debounce state for a specific player (e.g.
- remove(UUID) - Method in class com.cotani.gui.safety.ClickDebouncer
-
Removes debounce state for a specific player (e.g.
- render() - Method in class com.cotani.gui.api.GuiPanel
-
Re-renders every slot without rebuilding the inventory, avoiding flicker.
- render(Player) - Method in interface com.cotani.gui.button.Button
-
Renders the item shown to the given viewer.
- rows() - Method in class com.cotani.gui.layout.Structure
-
Returns the number of rows declared by this structure.
- rows(int) - Method in class com.cotani.gui.api.GuiWindow
-
Declared for fluent readability; the row count always comes from
GuiWindow.structure(String...).
S
- set(T) - Method in interface com.cotani.gui.api.Property
-
Replaces the current value and notifies observers when the value changed.
- size() - Method in class com.cotani.gui.layout.Structure
-
Returns the total inventory size required by this structure (
rows * 9). - slot() - Method in record class com.cotani.gui.context.ClickContext
-
Returns the value of the
slotrecord component. - slots(char) - Method in class com.cotani.gui.layout.Structure
-
Returns the slots assigned to the given symbol, in reading order.
- State - Class in com.cotani.gui.state
-
Factory for reactive
Propertyinstances bound to GUI render cycles. - structure(String...) - Method in class com.cotani.gui.api.GuiWindow
-
Declares the matrix layout.
- Structure - Class in com.cotani.gui.layout
-
Parsed matrix layout that maps symbols to inventory slots.
- symbols() - Method in class com.cotani.gui.layout.Structure
-
Returns all symbols declared by this structure.
T
- toggle() - Method in interface com.cotani.gui.api.BoolProperty
-
Flips the current value and notifies observers.
- toString() - Method in class com.cotani.gui.api.GuiPanel
- toString() - Method in record class com.cotani.gui.context.ClickContext
-
Returns a string representation of this record class.
- toString() - Method in record class com.cotani.gui.context.CloseContext
-
Returns a string representation of this record class.
- tryAcquire(UUID) - Method in class com.cotani.gui.safety.ClickDebouncer
-
Attempts to acquire a click token for the player if the debounce interval has elapsed.
U
- update(UnaryOperator) - Method in interface com.cotani.gui.api.Property
-
Atomically replaces the current value with
mutator.apply(get()).
V
- view() - Method in record class com.cotani.gui.context.ClickContext
-
Returns the value of the
viewrecord component. - viewerId() - Method in class com.cotani.gui.api.GuiPanel
-
Returns the id of the player viewing this panel.
All Classes and Interfaces|All Packages|Constant Field Values