From 3d52031b0132cff1ff1eb7c554c8b330adf16fe3 Mon Sep 17 00:00:00 2001 From: CrebsTheCoder Date: Thu, 12 Nov 2026 01:19:16 +0800 Subject: [PATCH 1/3] on death of an entity is rejected and never fires --- src/main/java/ch/njol/skript/events/EvtEntity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ch/njol/skript/events/EvtEntity.java b/src/main/java/ch/njol/skript/events/EvtEntity.java index bfbef66a66c..d8f07b61982 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; } From 6544263ac917908aa5ea4a601ce38d173884e8d3 Mon Sep 17 00:00:00 2001 From: CrebsTheCoder Date: Thu, 12 Nov 2026 10:50:51 +0800 Subject: [PATCH 2/3] Added test --- .../tests/syntaxes/events/EvtEntityTest.java | 32 +++++++++++++++++++ src/test/skript/junit/EvtEntity.sk | 16 ++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/test/java/org/skriptlang/skript/test/tests/syntaxes/events/EvtEntityTest.java create mode 100644 src/test/skript/junit/EvtEntity.sk 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..82376826936 --- /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.kill(); + } +} 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 From cdfa79778693f19c3ef2543a18e4ae855ffbcc6f Mon Sep 17 00:00:00 2001 From: CrebsTheCoder Date: Thu, 12 Nov 2026 22:44:26 +0800 Subject: [PATCH 3/3] Fix test not working with 1.21.11 --- .../skript/test/tests/syntaxes/events/EvtEntityTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 82376826936..052e1c05265 100644 --- 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 @@ -27,6 +27,6 @@ public void after() { @Test public void test() { - sheep.kill(); + sheep.setHealth(0); } }