diff --git a/src/main/java/ch/njol/skript/expressions/ExprExperience.java b/src/main/java/ch/njol/skript/expressions/ExprExperience.java index fa66a081dfe..60cb4cb58b1 100644 --- a/src/main/java/ch/njol/skript/expressions/ExprExperience.java +++ b/src/main/java/ch/njol/skript/expressions/ExprExperience.java @@ -85,15 +85,16 @@ public Class[] acceptChange(ChangeMode mode) { public void change(Event event, Object @Nullable [] delta, ChangeMode mode) { int exp; - switch (event) { - case ExperienceSpawnEvent experienceSpawnEvent -> exp = experienceSpawnEvent.getSpawnedXP(); - case BlockBreakEvent blockBreakEvent -> exp = blockBreakEvent.getExpToDrop(); - case PlayerExpChangeEvent playerExpChangeEvent -> exp = playerExpChangeEvent.getAmount(); - case EntityBreedEvent entityBreedEvent -> exp = entityBreedEvent.getExperience(); - - default -> { - return; - } + if (event instanceof ExperienceSpawnEvent experienceSpawnEvent) { + exp = experienceSpawnEvent.getSpawnedXP(); + } else if (event instanceof BlockBreakEvent blockBreakEvent) { + exp = blockBreakEvent.getExpToDrop(); + } else if (event instanceof PlayerExpChangeEvent playerExpChangeEvent) { + exp = playerExpChangeEvent.getAmount(); + } else if (event instanceof EntityBreedEvent entityBreedEvent) { + exp = entityBreedEvent.getExperience(); + } else { + return; } if (delta != null) { @@ -108,12 +109,14 @@ public void change(Event event, Object @Nullable [] delta, ChangeMode mode) { } exp = Math.max(0, exp); - switch (event) { - case ExperienceSpawnEvent experienceSpawnEvent -> experienceSpawnEvent.setSpawnedXP(exp); - case BlockBreakEvent blockBreakEvent -> blockBreakEvent.setExpToDrop(exp); - case PlayerExpChangeEvent playerExpChangeEvent -> playerExpChangeEvent.setAmount(exp); - case EntityBreedEvent entityBreedEvent -> entityBreedEvent.setExperience(exp); - default -> {} + if (event instanceof ExperienceSpawnEvent experienceSpawnEvent) { + experienceSpawnEvent.setSpawnedXP(exp); + } else if (event instanceof BlockBreakEvent blockBreakEvent) { + blockBreakEvent.setExpToDrop(exp); + } else if (event instanceof PlayerExpChangeEvent playerExpChangeEvent) { + playerExpChangeEvent.setAmount(exp); + } else if (event instanceof EntityBreedEvent entityBreedEvent) { + entityBreedEvent.setExperience(exp); } } diff --git a/src/test/skript/tests/syntaxes/conditions/CondIsInLove.sk b/src/test/skript/tests/syntaxes/conditions/CondIsInLove.sk index eb3df35c0e6..df8fb4472a6 100644 --- a/src/test/skript/tests/syntaxes/conditions/CondIsInLove.sk +++ b/src/test/skript/tests/syntaxes/conditions/CondIsInLove.sk @@ -1,28 +1,28 @@ -test "CondIsInLove - Valid Entity": +test "valid entity is in love": delete all cows set {_spawn} to spawn of world "world" spawn adult cow at {_spawn} set {_cow} to last spawned cow - assert love time of {_cow} is 0 seconds with "Cow love time was not 0 seconds after spawning" - assert {_cow} is not in love with "Cow is in love after spawning" + assert love time of {_cow} is 0 seconds with "cow love time was not 0 seconds after spawning" + assert {_cow} is not in love with "cow is in love after spawning" set love time of {_cow} to 10 seconds - assert {_cow} is in love with "Cow is not in love after setting love time" + assert {_cow} is in love with "cow is not in love after setting love time" add 10 seconds to love time of {_cow} - assert love time of {_cow} > 10 seconds with "Cow love time didn't go up after adding" + assert love time of {_cow} > 10 seconds with "cow love time didn't go up after adding" remove 1 minute from love time of {_cow} - assert {_cow} is not in love with "Cow is in love after removing more love than possible" + assert {_cow} is not in love with "cow is in love after removing more love than possible" add 10 minutes to love time of {_cow} - assert {_cow} is in love with "Cow didn't enter love mode after adding love time" + assert {_cow} is in love with "cow didn't enter love mode after adding love time" reset love time of {_cow} - assert {_cow} is not in love with "Cow was still in love even after resetting love time" + assert {_cow} is not in love with "cow was still in love even after resetting love time" delete all cows -test "CondIsInLove - Invalid Entity": +test "invalid entity is in love": delete all zombies set {_spawn} to spawn of world "world" spawn adult zombie at {_spawn} set {_zombie} to last spawned zombie - assert love time of {_zombie} is 0 seconds with "Zombie was in love Test1" + assert love time of {_zombie} is 0 seconds with "zombie was in love on spawn" set love time of {_zombie} to 10 minutes - assert love time of {_zombie} is 0 seconds with "Zombie was in love Test2" + assert love time of {_zombie} is 0 seconds with "zombie was in love after set" delete all zombies diff --git a/src/test/skript/tests/syntaxes/effects/EffAllowAging.sk b/src/test/skript/tests/syntaxes/effects/EffAllowAging.sk new file mode 100644 index 00000000000..feaaa722191 --- /dev/null +++ b/src/test/skript/tests/syntaxes/effects/EffAllowAging.sk @@ -0,0 +1,11 @@ +test "allow aging": + delete all pigs + set {_spawn} to spawn of world "world" + spawn baby pig at {_spawn} + set {_pig} to last spawned pig + assert {_pig} can age with "baby pig can't age before locking" + lock age of {_pig} + assert {_pig} can't age with "baby pig can still age after locking" + unlock age of {_pig} + assert {_pig} can age with "baby pig can't age after unlocking" + delete all pigs diff --git a/src/test/skript/tests/syntaxes/effects/EffBreedable.sk b/src/test/skript/tests/syntaxes/effects/EffBreedable.sk index f1cdb22121b..9eda1d1b698 100644 --- a/src/test/skript/tests/syntaxes/effects/EffBreedable.sk +++ b/src/test/skript/tests/syntaxes/effects/EffBreedable.sk @@ -1,11 +1,11 @@ -test "breedable" when running minecraft "1.16.5": +test "breedable": delete all chickens set {_spawn} to spawn of world "world" spawn baby chicken at {_spawn} set {_chicken} to last spawned chicken - assert {_chicken} can't breed with "Chicken could breed before growing up" + assert {_chicken} can't breed with "chicken could breed before growing up" make {_chicken} breedable - assert {_chicken} can breed with "Chicken can't breed after growing up" + assert {_chicken} can breed with "chicken can't breed after growing up" make {_chicken} non-breedable - assert {_chicken} can't breed with "Chicken can breed after growing up and preventing" + assert {_chicken} can't breed with "chicken can breed after growing up and preventing" delete all chickens diff --git a/src/test/skript/tests/syntaxes/effects/EffLockAge.sk b/src/test/skript/tests/syntaxes/effects/EffLockAge.sk deleted file mode 100644 index 3373cfa78b2..00000000000 --- a/src/test/skript/tests/syntaxes/effects/EffLockAge.sk +++ /dev/null @@ -1,11 +0,0 @@ -test "locking age" when running minecraft "1.16.5": - delete all pigs - set {_spawn} to spawn of world "world" - spawn baby pig at {_spawn} - set {_pig} to last spawned pig - assert {_pig} can age with "Baby pig can't age before locking Test1" - lock age of {_pig} - assert {_pig} can't age with "Baby pig can still age after locking" - unlock age of {_pig} - assert {_pig} can age with "Baby pig can't age after unlocking Test2" - delete all pigs diff --git a/src/test/skript/tests/syntaxes/effects/EffMakeAdult.sk b/src/test/skript/tests/syntaxes/effects/EffMakeAdult.sk index 2f9bce0093c..f26b286d4ad 100644 --- a/src/test/skript/tests/syntaxes/effects/EffMakeAdult.sk +++ b/src/test/skript/tests/syntaxes/effects/EffMakeAdult.sk @@ -1,23 +1,23 @@ -test "effect make adult 1" when running minecraft "1.16.5": +test "make mob adult": delete all zombies set {_spawn} to spawn of world "world" spawn baby zombie at {_spawn} set {_zombie} to last spawned zombie - assert {_zombie} is not an adult with "Spawned zombie was an adult" + assert {_zombie} is not an adult with "spawned zombie was an adult" make {_zombie} an adult - assert {_zombie} is an adult with "Spawned zombie is still a baby zombie" + assert {_zombie} is an adult with "spawned zombie is still a baby zombie" make {_zombie} a baby - assert {_zombie} is not an adult with "Spawned zombie didn't become a baby zombie" + assert {_zombie} is not an adult with "spawned zombie didn't become a baby zombie" delete all zombies -test "effect make adult 2": +test "make animal adult": delete all sheep set {_spawn} to spawn of world "world" spawn baby sheep at {_spawn} set {_sheep} to last spawned sheep - assert {_sheep} is not an adult with "Spawned sheep was an adult" + assert {_sheep} is not an adult with "spawned sheep was an adult" make {_sheep} an adult - assert {_sheep} is an adult with "Spawned sheep is still a baby sheep" + assert {_sheep} is an adult with "spawned sheep is still a baby sheep" make {_sheep} a baby - assert {_sheep} is not an adult with "Spawned sheep didn't become a baby sheep" + assert {_sheep} is not an adult with "spawned sheep didn't become a baby sheep" delete all sheep