Aller au contenu principal

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

OptionTypeDéfautDescription
.item(ItemStack)ItemStackStack à afficher. Inclut la quantité et la durabilité. Requis (une des deux formes).
.item(Item)ItemRaccourci : crée un ItemStack de quantité 1. Requis (une des deux formes).
.showCount(boolean)booleantrueAffiche la quantité en bas à droite et la barre de durabilité.
.showTooltip(boolean)booleantrueAffiche le tooltip vanilla (nom + lore) au survol.
.visibleIf(boolean)booleantrueMasque 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

  • ItemIcon ne gère pas le clic. Pour une icône cliquable, imbrique-la dans un ClickableList ou utilise un Button personnalisé.
  • Pour les slots déplaçables (items interactifs), utiliser SlotGrid avec ApocalyContainerScreen.

Voir aussi