The new particle types now come from the events that spawn them in
vanilla.
- Level events 3003 (wax on), 3004 (wax off), 3005 (scrape):
ParticleUtils.spawnParticlesOnBlockFaces, three to five particles on
each face, from the client level's random. They are sent by honeycomb
on a block (HoneycombItem.useOn), axe scraping and wax removal
(BlockTransformer's TransformParticle.send), dispensed honeycomb, and
copper golems being waxed or scraped.
- Level event 3002: a struck lightning rod sends sparks along its axis
(ParticleUtils.spawnParticlesAlongAxis); without an axis they cover
the block's faces.
- Eating: LivingEntity.spawnItemParticles, five crumbs every
four ticks and sixteen when consumed (Consumable.onConsume), placed in
front of the eyes and thrown along the look, as item particles in full
colour. They were greyed terrain crumbs above the eyes. They now
follow Consumable.shouldEmitParticlesAndSounds with the remaining ticks
before the countdown, as LivingEntity does: six times over 32 ticks,
not seven, each one a tick earlier.
- Snowballs (Snowball.handleEntityEvent(3)): eight item crumbs at rest.
Eggs (ThrownEgg): eight scattered by up to 0.04 a tick.
- Slime, magma cube and sulfur cube landings (AbstractCubeMob.tick):
size × 16 item_slime, flame or sulfur_cube_goo particles around the
body, from draws the mob's random also makes on the server.
New harness tools/test_emitter_particles_parity.py: the real
ParticleUtils emitters and LivingEntity.spawnItemParticles.
Part of #63
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>