PaperMC / PaperMC/Paper

EntityZapEvent or EntityTransformEvent is not triggered when mooshroom is transformed

Open
#12,956 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: accepted version: 1.21.8
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Expected behavior

When a lightning orb hits next to mooshrooms and triggers their transformations, it should call EntityZapEvent or EntityTransformEvent.

Currently, it does not trigger either of them.

Observed/Actual behavior

When lightning strikes, events are not triggered.

Steps/models to reproduce
  1. Install Test plugin.
  2. Summon mooshroom
  3. Summon lightning bolt

Events are not triggered.

Plugin and Datapack List

[02:49:46 INFO]: ? Server Plugins (1):
[02:49:46 INFO]: Bukkit Plugins:
[02:49:46 INFO]: - paperweight-test-plugin
/datapack list
[02:49:49 INFO]: There are 3 data pack(s) enabled: [vanilla (built-in)], [file/bukkit (world)], [paper (built-in)]
[02:49:49 INFO]: There are no more data packs available

Paper version

[02:50:16 INFO]: Checking version, please wait...
[02:50:16 INFO]: This server is running Paper version 1.21.8-28-main@abf6b6c (2025-08-08T16:40:23Z) (Implementing API version 1.21.8-R0.1-SNAPSHOT)
You are running the latest version

Other
public final class TestPlugin extends JavaPlugin implements Listener {
  @Override
  public void onEnable() {
    this.getServer().getPluginManager().registerEvents(this, this);

    this.getLogger().info(SharedConstants.getCurrentVersion().id());
  }

  @EventHandler
  public void onEntityZap(EntityZapEvent event)
  {
    this.getLogger().info("Transformed Entity: " + event.getTransformedEntity().getType());
    this.getLogger().info("Transformed Entity Count: " + event.getTransformedEntities().size());
  }


  @EventHandler
  public void onEntityTransformEvent(EntityTransformEvent event)
  {
    this.getLogger().info("Transformed Entity: " + event.getTransformedEntity().getType());
    this.getLogger().info("Transformed Entity Count: " + event.getTransformedEntities().size());
  }

  @EventHandler
  public void onEntityPoseChange(EntityPoseChangeEvent event)
  {
    this.getLogger().info("Pose Change Entity: " + event.getEntity().getType());
  }
}

paperweight-test-plugin-1.0.0-SNAPSHOT.jar.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the TestPlugin event handlers and reproduce the mooshroom transformation using the listed summon commands on Paper 1.21.8. Trace the lightning-triggered transformation and verify that EntityZapEvent or EntityTransformEvent is emitted with the transformed entity and entity list.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.