Paper/Spigot-API-Patches/0123-EntityTransformedEvent.patch
Shane Freeder 0976d52bbd Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Please note that this build includes changes to meet upstreams
requirements for nullability annotations. While we aim for a level of
accuracy, these might not be 100% correct, if there are any issues,
please speak to us on discord, or open an issue on the tracker to
discuss.

Bukkit Changes:
9a6a1de3 Remove nullability annotations from enum constructors
3f0591ea SPIGOT-2540: Add nullability annotations to entire Bukkit API

CraftBukkit Changes:
8d8475fc SPIGOT-4666: Force parameter in HumanEntity#sleep
8b1588e2 Fix ExplosionPrimeEvent#setFire not working with EnderCrystals
39a287b7 Don't ignore newlines in PlayerListHeader/Footer

Spigot Changes:
cf694d87 Add nullability annotations
2019-03-20 00:31:18 +00:00

108 lines
2.8 KiB
Diff

From 5b2eff30f6fc1cf8f9794b1599d1d92eb76928d6 Mon Sep 17 00:00:00 2001
From: Anthony MacAllister <anthonymmacallister@gmail.com>
Date: Thu, 26 Jul 2018 15:28:53 -0400
Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
new file mode 100644
index 000000000..12194f1fc
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
@@ -0,0 +1,92 @@
+package com.destroystokyo.paper.event.entity;
+
+
+import org.bukkit.entity.Entity;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+import org.bukkit.event.entity.EntityEvent;
+import org.bukkit.event.entity.EntityTransformEvent;
+
+/**
+ * Fired when an entity transforms into another entity
+ * <p>
+ * If the event is cancelled, the entity will not transform
+ * @deprecated Bukkit has added {@link EntityTransformEvent}, you should start using that
+ */
+@Deprecated
+public class EntityTransformedEvent extends EntityEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList();
+ private boolean cancelled;
+ private final Entity transformed;
+ private final TransformedReason reason;
+
+ public EntityTransformedEvent(Entity entity, Entity transformed, TransformedReason reason) {
+ super(entity);
+ this.transformed = transformed;
+ this.reason = reason;
+ }
+
+ /**
+ * The entity after it has transformed
+ *
+ * @return Transformed entity
+ * @deprecated see {@link EntityTransformEvent#getTransformedEntity()}
+ */
+ @Deprecated
+ public Entity getTransformed() {
+ return transformed;
+ }
+
+ /**
+ * @return The reason for the transformation
+ * @deprecated see {@link EntityTransformEvent#getTransformReason()}
+ */
+ @Deprecated
+ public TransformedReason getReason() {
+ return reason;
+ }
+
+
+ @Override
+ public HandlerList getHandlers(){
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList(){
+ return handlers;
+ }
+
+ @Override
+ public boolean isCancelled(){
+ return cancelled;
+ }
+
+ @Override
+ public void setCancelled(boolean cancel){
+ cancelled = cancel;
+ }
+
+ public enum TransformedReason {
+ /**
+ * When a zombie drowns
+ */
+ DROWNED,
+ /**
+ * When a zombie villager is cured
+ */
+ CURED,
+ /**
+ * When a villager turns to a zombie villager
+ */
+ INFECTED,
+ /**
+ * When a mooshroom turns to a cow
+ */
+ SHEARED,
+ /**
+ * When a pig turns to a zombiepigman
+ */
+ LIGHTNING
+
+ }
+}
--
2.21.0