Index

A B C D E G H I L M N O P R S T U V 
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
A Property specialized for Boolean values with a convenience BoolProperty.toggle().
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 ClickContext record 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 clickType record 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 CloseContext record 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-gui module.
create(Plugin) - Static method in class com.cotani.gui.CotaniGuiModule
Creates and registers the module with the CotaniGuiModule.DEFAULT_DEBOUNCE interval.
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 leftoverItems record 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 HIGHEST listeners 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 MONITOR so 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 totalItems items.
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 player record component.
player() - Method in record class com.cotani.gui.context.CloseContext
Returns the value of the player record 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 slot record 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 Property instances 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 view record component.
viewerId() - Method in class com.cotani.gui.api.GuiPanel
Returns the id of the player viewing this panel.
A B C D E G H I L M N O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values