2.8 KiB
2.8 KiB
title, type, weight
| title | type | weight |
|---|---|---|
| Effects | docs | 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
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
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
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 >}}