Init
This commit is contained in:
57
content/world/entities/inventory/_index.fr.md
Normal file
57
content/world/entities/inventory/_index.fr.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user