summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornathat890 <nathat890@outlook.com>2018-11-14 13:57:13 +1100
committermd_5 <git@md-5.net>2018-11-14 14:15:33 +1100
commit856adc3e6afc3e9c0495ac27e38b96b144e54b1e (patch)
treec8aea51f86f6d89d1f3681e987cba144047a1c8e
parent3aee9dbd0894558ae1178a50872d66592bbdfd1e (diff)
downloadbukkit-856adc3e6afc3e9c0495ac27e38b96b144e54b1e.tar
bukkit-856adc3e6afc3e9c0495ac27e38b96b144e54b1e.tar.gz
bukkit-856adc3e6afc3e9c0495ac27e38b96b144e54b1e.tar.lz
bukkit-856adc3e6afc3e9c0495ac27e38b96b144e54b1e.tar.xz
bukkit-856adc3e6afc3e9c0495ac27e38b96b144e54b1e.zip
SPIGOT-4339: Add EntityTransformEvent
Thanks klugemonkey for some contributions in https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/pull-requests/351/overview
-rw-r--r--src/main/java/org/bukkit/event/entity/EntityTransformEvent.java91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java b/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java
new file mode 100644
index 00000000..44ba1005
--- /dev/null
+++ b/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java
@@ -0,0 +1,91 @@
+package org.bukkit.event.entity;
+
+import org.bukkit.Warning;
+import org.bukkit.entity.Entity;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+
+/**
+ * Called when an entity is about to be replaced by another entity.
+ *
+ * @deprecated draft API
+ */
+@Deprecated
+@Warning(false)
+public class EntityTransformEvent extends EntityEvent implements Cancellable {
+
+ private static final HandlerList handlers = new HandlerList();
+ private boolean cancelled;
+ private final Entity converted;
+ private final TransformReason transformReason;
+
+ public EntityTransformEvent(Entity original, Entity converted, TransformReason transformReason) {
+ super(original);
+ this.converted = converted;
+ this.transformReason = transformReason;
+ }
+
+ /**
+ * Gets the entity that the original entity was transformed to.
+ *
+ * @return The transformed entity.
+ */
+ public Entity getTransformedEntity() {
+ return converted;
+ }
+
+ /**
+ * Gets the reason for the conversion that has occurred.
+ *
+ * @return The reason for conversion that has occurred.
+ */
+ public TransformReason getTransformReason() {
+ return transformReason;
+ }
+
+ @Override
+ public boolean isCancelled() {
+ return cancelled;
+ }
+
+ @Override
+ public void setCancelled(boolean cancel) {
+ cancelled = cancel;
+ }
+
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+
+ public enum TransformReason {
+ /**
+ * When a zombie gets cured and a villager is spawned.
+ */
+ CURED,
+ /**
+ * When a villager gets infected and a zombie villager spawns.
+ */
+ INFECTION,
+ /**
+ * When a entity drowns in water and a new entity spawns.
+ */
+ DROWNED,
+ /**
+ * When a mooshroom (or MUSHROOM_COW) is sheared and a cow spawns.
+ */
+ SHEARED,
+ /**
+ * When lightning strikes a entity.
+ */
+ LIGHTNING,
+ /**
+ * When a slime splits into multiple smaller slimes.
+ */
+ SPLIT
+ }
+}