2019-01-01 11:15:55 +08:00
From a787531bca729b1e9196c01ce456cd7f7ad2f234 Mon Sep 17 00:00:00 2001
2018-07-30 11:54:13 +08:00
From: Anthony MacAllister <anthonymmacallister@gmail.com>
Date: Thu, 26 Jul 2018 15:30:03 -0400
Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
2019-01-01 11:15:55 +08:00
index 141c17bf8..dde9f1e61 100644
2018-07-30 11:54:13 +08:00
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
2018-11-14 12:21:32 +08:00
@@ -53,6 +53,7 @@ public class EntityMushroomCow extends EntityCow {
if (CraftEventFactory.callEntityTransformEvent(this, entitycow, EntityTransformEvent.TransformReason.SHEARED).isCancelled()) {
return false;
2018-07-30 11:54:13 +08:00
}
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entitycow.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.SHEARED).callEvent()) return false; // Paper
2018-11-14 12:21:32 +08:00
this.world.addEntity(entitycow, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SHEARED);
2018-07-30 11:54:13 +08:00
2018-12-08 18:09:55 +08:00
this.die(); // CraftBukkit - from above
2018-07-30 11:54:13 +08:00
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
2019-01-01 11:15:55 +08:00
index 78acac4ca..f01e776fe 100644
2018-07-30 11:54:13 +08:00
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
2019-01-01 11:15:55 +08:00
@@ -624,6 +624,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
2018-11-14 12:21:32 +08:00
if (CraftEventFactory.callEntityTransformEvent(this, entitywitch, EntityTransformEvent.TransformReason.LIGHTNING).isCancelled()) {
return;
2018-07-30 11:54:13 +08:00
}
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entitywitch.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.LIGHTNING).callEvent()) return; // Paper
2018-11-14 12:21:32 +08:00
this.world.addEntity(entitywitch, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING);
// CraftBukkit end
2018-07-30 11:54:13 +08:00
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
2019-01-01 11:15:55 +08:00
index 5bba50461..33b343c14 100644
2018-07-30 11:54:13 +08:00
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
2018-11-14 12:21:32 +08:00
@@ -247,6 +247,7 @@ public class EntityZombie extends EntityMonster {
return;
2018-07-30 11:54:13 +08:00
}
2018-11-14 12:21:32 +08:00
// CraftBukkit end
2018-07-30 11:54:13 +08:00
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityzombie.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.DROWNED).callEvent()) return; // Paper
2018-07-30 12:12:03 +08:00
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.DROWNED); // CraftBukkit - added spawn reason
2018-07-30 11:54:13 +08:00
this.die();
}
2018-12-08 18:09:55 +08:00
@@ -409,6 +410,7 @@ public class EntityZombie extends EntityMonster {
if (CraftEventFactory.callEntityTransformEvent(this, entityzombievillager, EntityTransformEvent.TransformReason.INFECTION).isCancelled()) {
2018-11-14 12:21:32 +08:00
return;
2018-07-30 11:54:13 +08:00
}
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.INFECTED).callEvent()) return; // Paper
2018-12-08 18:09:55 +08:00
this.world.kill(entityvillager); // CraftBukkit - from above
2018-07-30 11:54:13 +08:00
this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason
2018-12-08 18:09:55 +08:00
// CraftBukkit end
2018-07-30 11:54:13 +08:00
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
2019-01-01 11:15:55 +08:00
index c6198626a..86e5fbcda 100644
2018-07-30 11:54:13 +08:00
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
2018-12-08 18:09:55 +08:00
@@ -139,6 +139,7 @@ public class EntityZombieVillager extends EntityZombie {
if (CraftEventFactory.callEntityTransformEvent(this, entityvillager, EntityTransformEvent.TransformReason.CURED).isCancelled()) {
2018-11-14 12:21:32 +08:00
return;
2018-07-30 11:54:13 +08:00
}
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.CURED).callEvent()) return; // Paper
2018-12-08 18:09:55 +08:00
this.world.kill(this); // CraftBukkit - from above
2018-07-30 11:54:13 +08:00
this.world.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CURED); // CraftBukkit - add SpawnReason
2018-12-08 18:09:55 +08:00
// CraftBukkit end
2018-07-30 11:54:13 +08:00
--
2019-01-01 11:15:55 +08:00
2.20.1
2018-07-30 11:54:13 +08:00