Aller au contenu principal

Grid

Grille à N colonnes. Distribue les enfants en lignes successives. La dernière ligne peut être incomplète.

package ca.tawess123.apocalyinterface.api.layout;

Builder

Grid grid = Grid.builder()
.columns(int cols) // nombre de colonnes (requis)
.gap(int gap) // espace entre cellules (défaut : 4 px)
.add(Widget widget) // ajouter un enfant (chaînable, plusieurs fois)
.build();

Options du builder

OptionTypeDéfautDescription
.columns(int)intNombre de colonnes. Requis.
.gap(int)int4Espace horizontal et vertical entre cellules, en px.
.add(Widget)WidgetAjouter un enfant. Appelable plusieurs fois.

Hauteur calculée

nb lignes = ceil(nb enfants / nb colonnes)
largeur cell = (largeur disponible - (cols-1) × gap) / cols
hauteur cell = max(hauteurs des enfants sur la ligne)
hauteur totale = Σ(hauteurs de lignes) + (nb lignes - 1) × gap

Exemple

import ca.tawess123.apocalyinterface.api.layout.Grid;
import ca.tawess123.apocalyinterface.api.widget.ItemIcon;
import net.minecraft.world.item.Items;

// Grille 3 colonnes — 5 items (2 lignes : 3 + 2)
Grid recompenses = Grid.builder()
.columns(3)
.gap(4)
.add(ItemIcon.builder().item(Items.DIAMOND).build())
.add(ItemIcon.builder().item(Items.EMERALD).build())
.add(ItemIcon.builder().item(Items.GOLD_INGOT).build())
.add(ItemIcon.builder().item(Items.IRON_INGOT).build())
.add(ItemIcon.builder().item(Items.COAL).build())
.build();
root.add(recompenses);

Cas d'usage typiques

CasConfig recommandée
Récompenses de quête (items)columns(3) ou columns(4) + ItemIcon
Options de rôlecolumns(2) + Button
Stats en grillecolumns(2) + KeyValueRow

Voir aussi