This commit is contained in:
2026-01-20 20:33:59 +01:00
commit b16a40e431
583 changed files with 87339 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
---
title: Inventaire
type: docs
weight: 7
---
Le système d'inventaire dans Hytale gère les objets, conteneurs et inventaires des joueurs.
{{< cards >}}
{{< card link="itemstacks" title="ItemStacks" subtitle="Travailler avec les piles d'objets immuables" >}}
{{< card link="containers" title="Conteneurs" subtitle="Types d'inventaires et conteneurs" >}}
{{< card link="transactions" title="Transactions" subtitle="Modifications sûres des objets" >}}
{{< /cards >}}
## Aperçu
Le système d'inventaire suit un pattern immuable :
- **ItemStack** - Représentation immuable des objets
- **Inventory** - Inventaire personnel du joueur
- **ItemContainer** - Conteneur générique pour les objets
- **Transactions** - Moyen sûr de modifier les objets
## Démarrage Rapide
```java
import com.hypixel.hytale.server.core.inventory.Inventory;
import com.hypixel.hytale.server.core.inventory.ItemStack;
import java.util.logging.Level;
// Obtenir l'inventaire du joueur
Player player = ...;
Inventory inv = player.getInventory();
// Obtenir l'objet en main (via Inventory, pas directement sur Player)
ItemStack hand = inv.getItemInHand();
// Vérifier si l'objet existe
if (hand != null && !hand.isEmpty()) {
// Utiliser getItemId() - Item.getName() n'existe pas
getLogger().at(Level.INFO).log("Tient : " + hand.getItemId());
}
```
## Concepts Clés
{{< callout type="info" >}}
ItemStack est **immuable**. Les méthodes comme `withQuantity()` retournent un nouveau ItemStack plutôt que de modifier l'original.
{{< /callout >}}
```java
// Pattern immuable
ItemStack original = new ItemStack("iron_sword", 1);
ItemStack modified = original.withQuantity(5); // Nouvelle instance
// original a toujours une quantité de 1
// modified a une quantité de 5
```