From 935f18b476b31523b8f01560ada487ec1bea6b3c Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 26 Apr 2016 09:35:17 +1000 Subject: [PATCH] SPIGOT-2206: playEffect doesn't accept sub classes of the expected data type --- src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 2 +- src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index 2be8a568d0..04e99b1b39 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -863,7 +863,7 @@ public class CraftWorld implements World { public void playEffect(Location loc, Effect effect, T data, int radius) { if (data != null) { - Validate.isTrue(data.getClass().isAssignableFrom(effect.getData()), "Wrong kind of data for this effect!"); + Validate.isTrue(effect.getData() != null && effect.getData().isAssignableFrom(data.getClass()), "Wrong kind of data for this effect!"); } else { Validate.isTrue(effect.getData() == null, "Wrong kind of data for this effect!"); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index cf307e59c5..681cc9b497 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -322,7 +322,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void playEffect(Location loc, Effect effect, T data) { if (data != null) { - Validate.isTrue(data.getClass().isAssignableFrom(effect.getData()), "Wrong kind of data for this effect!"); + Validate.isTrue(effect.getData() != null && effect.getData().isAssignableFrom(data.getClass()), "Wrong kind of data for this effect!"); } else { Validate.isTrue(effect.getData() == null, "Wrong kind of data for this effect!"); }