ItemIcon
Affiche une icône Minecraft (ItemStack) de 16×16 px, centrée dans la cellule disponible, avec count overlay et tooltip vanilla optionnels.
package ca.tawess123.apocalyinterface.api.widget;
Builder
ItemIcon icon = ItemIcon.builder()
.item(ItemStack stack) // stack à afficher (avec count et durabilité)
.item(Item item) // raccourci : stack de quantité 1
.showCount(boolean show) // afficher la quantité overlay (défaut : true)
.showTooltip(boolean show) // afficher le tooltip vanilla au survol (défaut : true)
.visibleIf(boolean visible)
.build();
Options du builder
| Option | Type | Défaut | Description |
|---|---|---|---|
.item(ItemStack) | ItemStack | — | Stack à afficher. Inclut la quantité et la durabilité. Requis (une des deux formes). |
.item(Item) | Item | — | Raccourci : crée un ItemStack de quantité 1. Requis (une des deux formes). |
.showCount(boolean) | boolean | true | Affiche la quantité en bas à droite et la barre de durabilité. |
.showTooltip(boolean) | boolean | true | Affiche le tooltip vanilla (nom + lore) au survol. |
.visibleIf(boolean) | boolean | true | Masque l'icône si false (0 px). |
Hauteur
16 px (ItemIcon.SIZE).
Exemple
import ca.tawess123.apocalyinterface.api.layout.Row;
import ca.tawess123.apocalyinterface.api.widget.ItemIcon;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.ItemStack;
// Icône simple (tooltip + count)
root.add(ItemIcon.builder()
.item(Items.DIAMOND)
.build());
// Stack avec quantité 3, count affiché
root.add(ItemIcon.builder()
.item(new ItemStack(Items.GOLD_INGOT, 3))
.showCount(true)
.showTooltip(true)
.build());
// Rangée d'icônes — récompenses de quête
root.add(Row.create()
.add(ItemIcon.builder().item(Items.DIAMOND).showCount(false).build())
.add(ItemIcon.builder().item(Items.EMERALD).showCount(false).build())
.add(ItemIcon.builder().item(new ItemStack(Items.GOLD_INGOT, 10)).build()));
// Dans une Grid — catalogue de boutique
Grid.builder()
.columns(4)
.add(ItemIcon.builder().item(Items.DIAMOND).build())
.add(ItemIcon.builder().item(Items.NETHERITE_INGOT).build())
.add(ItemIcon.builder().item(Items.NETHER_STAR).build())
.add(ItemIcon.builder().item(Items.ENDER_EYE).build())
.build();
Notes
ItemIconne gère pas le clic. Pour une icône cliquable, imbrique-la dans unClickableListou utilise unButtonpersonnalisé.- Pour les slots déplaçables (items interactifs), utiliser
SlotGridavecApocalyContainerScreen.
Voir aussi
- Référence SlotGrid — slots interactifs avec
ApocalyContainerScreen - Référence Grid — grille d'icônes
- Recette : Marchand à slots