hytale-vfx

Hytale VFX & Particles

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "hytale-vfx" with this command: npx skills add z3nlotus/hytale-agent-skills/z3nlotus-hytale-agent-skills-hytale-vfx

Hytale VFX & Particles

Create custom visual effects and particle systems for your Hytale mods.

VFX Types

Type Use For Examples

Particles Small visual elements Sparks, dust, bubbles

Trails Following motion Sword swings, projectiles

Bursts One-time effects Explosions, impacts

Ambient Environmental Fireflies, snow, leaves

Auras Entity effects Buffs, status effects

Folder Structure

MyPack/ └── Common/ └── VFX/ ├── particles/ │ ├── spark.json │ └── magic_dust.json ├── effects/ │ ├── explosion.json │ └── heal_aura.json └── textures/ ├── particle_spark.png └── particle_dust.png

Particle Definition

Basic Particle

{ "particleId": "mymod:magic_spark", "texture": "textures/particle_spark.png", "lifetime": { "min": 0.5, "max": 1.5 }, "size": { "start": 0.2, "end": 0.0 }, "color": { "start": [1.0, 0.8, 0.2, 1.0], "end": [1.0, 0.2, 0.0, 0.0] }, "velocity": { "x": { "min": -0.5, "max": 0.5 }, "y": { "min": 0.5, "max": 1.5 }, "z": { "min": -0.5, "max": 0.5 } }, "gravity": -0.5, "emissive": true }

Particle Properties

Property Description

texture

Sprite image

lifetime

Duration in seconds

size.start/end

Size over time

color.start/end

RGBA over time

velocity

Initial speed

gravity

Downward force

emissive

Glows in dark

collides

Stops at blocks

Particle Emitters

Emitter Definition

{ "emitterId": "mymod:campfire_smoke", "particle": "mymod:smoke_puff", "rate": 5, "shape": "point", "offset": { "y": 0.5 }, "continuous": true }

Emitter Shapes

Shape Description

point

Single origin

sphere

Random in sphere

box

Random in box

ring

Circle outline

cone

Cone direction

{ "emitterId": "mymod:aura", "shape": "sphere", "shapeParams": { "radius": 1.0, "surface": true } }

Effect Definitions

Burst Effect

{ "effectId": "mymod:explosion", "particles": [ { "particle": "mymod:fire_spark", "count": 50, "burst": true }, { "particle": "mymod:smoke", "count": 20, "delay": 0.1 } ], "sound": "mymod:explosion_sound", "light": { "color": [1.0, 0.5, 0.0], "intensity": 2.0, "duration": 0.3 } }

Trail Effect

{ "effectId": "mymod:sword_trail", "type": "trail", "texture": "textures/trail_slash.png", "length": 5, "width": 0.3, "fadeTime": 0.2, "color": [0.8, 0.9, 1.0, 0.8] }

Attaching VFX to Content

Block VFX

{ "blockId": "mymod:magic_crystal", "vfx": { "ambient": { "emitter": "mymod:crystal_sparkle", "offset": { "y": 0.5 } }, "break": "mymod:crystal_shatter" } }

Item VFX

{ "itemId": "mymod:fire_sword", "vfx": { "held": "mymod:flame_aura", "attack": "mymod:fire_slash" } }

Entity VFX

{ "entityId": "mymod:fire_elemental", "vfx": { "ambient": "mymod:fire_aura", "hurt": "mymod:ember_burst", "death": "mymod:fire_explosion" } }

Triggering VFX in Plugins

Play Effect

// Play at position world.playEffect("mymod:explosion", position);

// Play on entity entity.playEffect("mymod:heal_aura");

// Play with options world.playEffect("mymod:magic_burst", position, EffectOptions.builder() .scale(2.0f) .color(Color.BLUE) .duration(3.0f) .build());

Attach Continuous Effect

// Start continuous effect EffectHandle handle = entity.startEffect("mymod:fire_aura");

// Later, stop it handle.stop();

// Or with fade handle.fadeOut(1.0f);

Projectile Trails

Projectile arrow = world.spawnProjectile("arrow", position, velocity); arrow.setTrailEffect("mymod:magic_trail");

Common Effect Patterns

Heal Effect

{ "effectId": "mymod:heal", "particles": [ { "particle": "mymod:heal_plus", "count": 10, "velocity": { "y": { "min": 0.5, "max": 1.0 } } }, { "particle": "mymod:sparkle", "count": 20, "shape": "sphere", "radius": 0.5 } ], "sound": "mymod:heal_sound" }

Level Up Effect

{ "effectId": "mymod:level_up", "particles": [ { "particle": "mymod:star", "count": 30, "shape": "ring", "radius": 1.0, "velocity": { "y": { "min": 1.0, "max": 2.0 } } } ], "light": { "color": [1.0, 1.0, 0.5], "intensity": 3.0, "duration": 1.0 } }

Weather Particles

{ "emitterId": "mymod:snow", "particle": "mymod:snowflake", "rate": 50, "area": { "width": 32, "height": 20 }, "followPlayer": true, "velocity": { "y": { "min": -2.0, "max": -1.0 }, "x": { "min": -0.3, "max": 0.3 } } }

Performance Tips

Do

Practice Why

Limit particle count Performance

Use simple textures Memory

Short lifetimes Cleanup

Pool particles Efficiency

Don't

Mistake Why Bad

Too many particles FPS drops

Huge textures Memory waste

Infinite emitters Memory leak

Complex shapes CPU heavy

Asset Editor Workflow

  • Open Asset Editor

  • Navigate to VFX section

  • Create new particle/effect

  • Adjust properties visually

  • Preview in real-time

  • Save and test in-game

Quick Reference

Task How

Create particle Define in particles/ JSON

Create emitter Define with rate and shape

Attach to block Add vfx to block JSON

Play from plugin world.playEffect("id", pos)

Create trail Use type: "trail" effect

Resources

  • Animation: See hytale-animation skill

  • Audio: See hytale-audio skill

  • Pack Creation: See hytale-pack-creator skill

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

java-25-hytale

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

hytale-ecs

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

blockbench-mcp

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

hytale-ui

No summary provided by upstream source.

Repository SourceNeeds Review