2024-04-24 01:15:00 +10:00

41 lines
1.6 KiB
Diff

--- a/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -38,6 +38,10 @@
import net.minecraft.world.item.component.CustomData;
import net.minecraft.world.level.World;
+// CraftBukkit start
+import org.bukkit.event.entity.EntityRemoveEvent;
+// CraftBukkit end
+
public class Tadpole extends EntityFish {
@VisibleForTesting
@@ -71,7 +75,7 @@
@Override
public BehaviorController<Tadpole> getBrain() {
- return super.getBrain();
+ return (BehaviorController<Tadpole>) super.getBrain(); // CraftBukkit - decompile error
}
@Override
@@ -232,9 +236,15 @@
}
frog.setPersistenceRequired();
+ // CraftBukkit start
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTransformEvent(this, frog, org.bukkit.event.entity.EntityTransformEvent.TransformReason.METAMORPHOSIS).isCancelled()) {
+ this.setAge(0); // Sets the age to 0 for avoid a loop if the event is canceled
+ return;
+ }
+ // CraftBukkit end
this.playSound(SoundEffects.TADPOLE_GROW_UP, 0.15F, 1.0F);
- worldserver.addFreshEntityWithPassengers(frog);
- this.discard();
+ worldserver.addFreshEntityWithPassengers(frog, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.METAMORPHOSIS); // CraftBukkit - add SpawnReason
+ this.discard(EntityRemoveEvent.Cause.TRANSFORMATION); // CraftBukkit - add Bukkit remove cause
}
}