diff --git a/src/main/java/ch/njol/skript/events/EvtEntity.java b/src/main/java/ch/njol/skript/events/EvtEntity.java index bdea78220c7..79add9bf66b 100644 --- a/src/main/java/ch/njol/skript/events/EvtEntity.java +++ b/src/main/java/ch/njol/skript/events/EvtEntity.java @@ -59,7 +59,7 @@ public boolean init(final Literal[] args, final int matchedPattern, final Par } } else { for (final EntityData d : types) { - if (!LivingEntity.class.isAssignableFrom(d.getType())) { + if (!LivingEntity.class.isAssignableFrom(d.getType()) && d.getType() != Entity.class) { Skript.error("The death event only works for living entities", ErrorQuality.SEMANTIC_ERROR); return false; } diff --git a/src/test/java/org/skriptlang/skript/test/tests/syntaxes/events/EvtEntityTest.java b/src/test/java/org/skriptlang/skript/test/tests/syntaxes/events/EvtEntityTest.java new file mode 100644 index 00000000000..052e1c05265 --- /dev/null +++ b/src/test/java/org/skriptlang/skript/test/tests/syntaxes/events/EvtEntityTest.java @@ -0,0 +1,32 @@ +package org.skriptlang.skript.test.tests.syntaxes.events; + +import ch.njol.skript.test.runner.SkriptJUnitTest; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Sheep; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class EvtEntityTest extends SkriptJUnitTest { + + static { + setShutdownDelay(1); + } + + private Sheep sheep; + + @Before + public void before() { + sheep = spawnTestEntity(EntityType.SHEEP); + } + + @After + public void after() { + sheep.remove(); + } + + @Test + public void test() { + sheep.setHealth(0); + } +} diff --git a/src/test/skript/junit/EvtEntity.sk b/src/test/skript/junit/EvtEntity.sk new file mode 100644 index 00000000000..e304b01d793 --- /dev/null +++ b/src/test/skript/junit/EvtEntity.sk @@ -0,0 +1,16 @@ +test "EvtEntityJUnit" when running JUnit: + set {_tests::1} to "generic - entity death fires" + set {_tests::2} to "specific - entity death fires" + ensure junit test "org.skriptlang.skript.test.tests.syntaxes.events.EvtEntityTest" completes {_tests::*} + +on death of an entity: + set {_test} to "org.skriptlang.skript.test.tests.syntaxes.events.EvtEntityTest" + junit test is {_test} + if victim is a sheep: + complete objective "generic - entity death fires" for {_test} + +on death of a sheep: + set {_test} to "org.skriptlang.skript.test.tests.syntaxes.events.EvtEntityTest" + junit test is {_test} + if victim is a sheep: + complete objective "specific - entity death fires" for {_test} \ No newline at end of file