3.1 KiB
3.1 KiB
title, type, weight
| title | type | weight |
|---|---|---|
| Effets | docs | 10 |
Les effets visuels dans Hytale incluent les particules, les lumières dynamiques et les effets de statut d'entité.
{{< cards >}} {{< card link="particles" title="Particules" subtitle="Générer et configurer les systèmes de particules" >}} {{< card link="dynamic-lights" title="Lumières Dynamiques" subtitle="Effets de lueur sur les entités" >}} {{< card link="entity-effects" title="Effets d'Entité" subtitle="Effets de statut avec visuels" >}} {{< /cards >}}
Aperçu
Hytale fournit trois systèmes d'effets visuels complémentaires :
| Système | Objectif | Cas d'Usage |
|---|---|---|
| Particules | Atmosphère visuelle et feedback | Explosions, traînées, effets ambiants |
| Lumières Dynamiques | Effets de lueur sur les entités | Objets lumineux, auras magiques |
| Effets d'Entité | Effets de statut avec visuels | Buffs, debuffs, indicateurs de statut |
Démarrage Rapide
Générer des Particules
import com.hypixel.hytale.server.core.universe.world.ParticleUtil;
// Générer des particules à une position
ParticleUtil.spawnParticleEffect(
"explosion_small", // ID du système de particules
position, // Position Vector3d
componentAccessor
);
Ajouter une Lumière Dynamique
import com.hypixel.hytale.protocol.ColorLight;
import com.hypixel.hytale.server.core.modules.entity.component.DynamicLight;
// Créer une lumière colorée (rayon, R, V, B)
ColorLight light = new ColorLight(
(byte) 15, // Rayon
(byte) 255, // Rouge
(byte) 100, // Vert
(byte) 50 // Bleu
);
// Ajouter à l'entité
DynamicLight dynamicLight = new DynamicLight(light);
componentAccessor.putComponent(entityRef, DynamicLight.getComponentType(), dynamicLight);
Appliquer des Effets d'Entité
import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
// Obtenir le contrôleur d'effets
EffectControllerComponent controller = store.getComponent(
entityRef,
EffectControllerComponent.getComponentType()
);
// Appliquer l'effet
EntityEffect effect = EntityEffect.getAssetMap().getAsset("fire_resistance");
controller.addEffect(entityRef, effect, componentAccessor);
Classes Principales
| Classe | Package | Objectif |
|---|---|---|
ParticleUtil |
server.core.universe.world | Générer des particules |
ParticleSystem |
asset.type.particle.config | Configuration du système |
DynamicLight |
modules.entity.component | Effets de lueur d'entité |
ColorLight |
protocol | Données couleur/rayon de lumière |
EntityEffect |
asset.type.entityeffect.config | Définition d'effet de statut |
Considérations Réseau
{{< callout type="info" >}} Détails Réseau :
- Les particules sont envoyées dans un rayon de 75 blocs par défaut (
DEFAULT_PARTICLE_DISTANCE) - Les changements de DynamicLight se synchronisent automatiquement quand marqués obsolètes
- Les effets d'entité se synchronisent via
EffectControllerComponent{{< /callout >}}