Class AbstractSettingsGui
java.lang.Object
fr.luc.crcore.gui.AbstractInventoryGui
fr.luc.crcore.team.config.gui.AbstractSettingsGui
- All Implemented Interfaces:
org.bukkit.inventory.InventoryHolder
- Direct Known Subclasses:
GlobalSettingsGui, TeamSettingsGui
Base commune des deux GUI de settings (globaux et per-team). Implémente
le rendu en grille des settings standards :
- Booléens : lampe verte / rouge selon état, clic = toggle.
- Entiers : item livre avec lore, clic gauche +1 / shift +10, clic droit -1 / shift -10, clamp à 0 mini.
- Strings et Enums : affichage de la valeur (édition pas exposée dans cette V1 — à passer par YAML pour ces types).
La sous-classe fournit la valeur courante et le callback de changement.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final int[]Slots où les settings sont positionnés (10..16 = la ligne du milieu sans les bords).protected static final intTaille fixe de l'inventaire (3 lignes × 9 = 27 slots). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String[]Construit une lore en filtrant les lignes null.protected intcomputeIntDelta(org.bukkit.event.inventory.InventoryClickEvent event) Calcule le delta pour un clic sur un entier (gauche/droit + shift).protected abstract <T> TgetCurrentValue(TeamSetting<T> setting) Valeur courante affichée pour ce setting (globale ou per-team selon le GUI).protected booleanisOverride(TeamSetting<?> setting) Indique si la valeur affichée est un override per-team (juste pour l'UI).protected abstract <T> voidonChange(TeamSetting<T> setting, T newValue) Appelé quand l'utilisateur modifie un setting via clic.voidrebuild()Construit / reconstruit le contenu de l'inventaire.protected voidHook pour les sous-classes : poser un bouton de footer (close, reset, etc.).Methods inherited from class AbstractInventoryGui
clearSlot, getInventory, handleClick, handleClose, onClose, openTo, setButton, setDecoration, setInventory
-
Field Details
-
SIZE
protected static final int SIZETaille fixe de l'inventaire (3 lignes × 9 = 27 slots). Suffisant pour 8 settings.- See Also:
-
SETTING_SLOTS
protected static final int[] SETTING_SLOTSSlots où les settings sont positionnés (10..16 = la ligne du milieu sans les bords).
-
-
Constructor Details
-
AbstractSettingsGui
-
-
Method Details
-
rebuild
public void rebuild()Description copied from class:AbstractInventoryGuiConstruit / reconstruit le contenu de l'inventaire. Override obligatoire.- Specified by:
rebuildin classAbstractInventoryGui
-
computeIntDelta
protected int computeIntDelta(org.bukkit.event.inventory.InventoryClickEvent event) Calcule le delta pour un clic sur un entier (gauche/droit + shift). -
buildLore
-
getCurrentValue
Valeur courante affichée pour ce setting (globale ou per-team selon le GUI). -
onChange
Appelé quand l'utilisateur modifie un setting via clic. -
isOverride
Indique si la valeur affichée est un override per-team (juste pour l'UI).
-