54 lines
2.2 KiB
Markdown
54 lines
2.2 KiB
Markdown
---
|
|
title: Entités
|
|
type: docs
|
|
weight: 7
|
|
---
|
|
|
|
Les entités sont tous les objets dynamiques dans le monde du jeu - joueurs, créatures, items, et plus. Hytale utilise une architecture Entity Component System (ECS).
|
|
|
|
{{< cards >}}
|
|
{{< card link="entity-hierarchy" title="Hiérarchie des Entités" subtitle="Entity → LivingEntity → Player" >}}
|
|
{{< card link="entity-components" title="Composants d'Entité" subtitle="Transform, BoundingBox, et plus" >}}
|
|
{{< card link="spawning-entities" title="Faire Apparaître des Entités" subtitle="Créer et spawner des entités personnalisées" >}}
|
|
{{< card link="player-api" title="API Joueur" subtitle="Méthodes et données spécifiques aux joueurs" >}}
|
|
{{< card link="npc" title="Système NPC" subtitle="IA, navigation, et comportements" >}}
|
|
{{< card link="spawning" title="Système de Spawning" subtitle="Marqueurs, beacons, et suppression" >}}
|
|
{{< card link="flocking-behavior" title="Comportement de Groupe" subtitle="Coordination de groupe NPC" >}}
|
|
{{< card link="mounts" title="Montures" subtitle="Chevaucher entites et vehicules" >}}
|
|
{{< card link="inventory" title="Inventaire" subtitle="Items, conteneurs et transactions" icon="archive" >}}
|
|
{{< /cards >}}
|
|
|
|
## Hiérarchie des Entités
|
|
|
|
```
|
|
Entity
|
|
├── LivingEntity
|
|
│ ├── Player
|
|
│ └── Creature
|
|
└── BlockEntity
|
|
```
|
|
|
|
## Exemple Rapide
|
|
|
|
```java
|
|
getEventRegistry().register(PlayerConnectEvent.class, event -> {
|
|
Player player = event.getPlayer();
|
|
|
|
if (player != null) {
|
|
// Obtenir la position via TransformComponent
|
|
TransformComponent transform = player.getTransformComponent();
|
|
Vector3d pos = transform.getPosition();
|
|
|
|
// Obtenir le monde
|
|
World world = player.getWorld();
|
|
|
|
// Envoyer un message (nécessite un objet Message)
|
|
player.sendMessage(Message.raw("Bienvenue à " + pos.toString()));
|
|
}
|
|
});
|
|
```
|
|
|
|
{{< callout type="info" >}}
|
|
`event.getPlayer()` peut retourner null si le joueur n'est pas encore complètement chargé. Vérifiez toujours la valeur null. Pour l'accès à la position, `getTransformComponent()` est déprécié - préférez l'accès aux composants ECS dans le nouveau code.
|
|
{{< /callout >}}
|