--- title: Effects type: docs weight: 10 --- Visual effects in Hytale include particles, dynamic lights, and entity status effects. {{< cards >}} {{< card link="particles" title="Particles" subtitle="Spawn and configure particle systems" >}} {{< card link="dynamic-lights" title="Dynamic Lights" subtitle="Glow effects on entities" >}} {{< card link="entity-effects" title="Entity Effects" subtitle="Status effects with visuals" >}} {{< /cards >}} ## Overview Hytale provides three complementary visual effect systems: | System | Purpose | Use Cases | |--------|---------|-----------| | **Particles** | Visual atmosphere and feedback | Explosions, trails, ambient effects | | **Dynamic Lights** | Glow effects on entities | Glowing items, magic auras | | **Entity Effects** | Status effects with visuals | Buffs, debuffs, status indicators | ## Quick Start ### Spawning Particles ```java import com.hypixel.hytale.server.core.universe.world.ParticleUtil; // Spawn particles at a position ParticleUtil.spawnParticleEffect( "explosion_small", // Particle system ID position, // Vector3d position componentAccessor ); ``` ### Adding Dynamic Light ```java import com.hypixel.hytale.protocol.ColorLight; import com.hypixel.hytale.server.core.modules.entity.component.DynamicLight; // Create a colored light (radius, R, G, B) ColorLight light = new ColorLight( (byte) 15, // Radius (byte) 255, // Red (byte) 100, // Green (byte) 50 // Blue ); // Add to entity DynamicLight dynamicLight = new DynamicLight(light); componentAccessor.putComponent(entityRef, DynamicLight.getComponentType(), dynamicLight); ``` ### Applying Entity Effects ```java import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent; // Get effect controller EffectControllerComponent controller = store.getComponent( entityRef, EffectControllerComponent.getComponentType() ); // Apply effect EntityEffect effect = EntityEffect.getAssetMap().getAsset("fire_resistance"); controller.addEffect(entityRef, effect, componentAccessor); ``` ## Key Classes | Class | Package | Purpose | |-------|---------|---------| | `ParticleUtil` | server.core.universe.world | Spawn particles | | `ParticleSystem` | asset.type.particle.config | System configuration | | `DynamicLight` | modules.entity.component | Entity glow effects | | `ColorLight` | protocol | Light color/radius data | | `EntityEffect` | asset.type.entityeffect.config | Status effect definition | ## Network Considerations {{< callout type="info" >}} **Network Details:** - Particles are sent within 75 blocks by default (`DEFAULT_PARTICLE_DISTANCE`) - DynamicLight changes sync automatically when marked as outdated - Entity effects sync via `EffectControllerComponent` {{< /callout >}}