Parkour

Parkour

570k Downloads

Setting AllowTrail to true on 1.13 causes EventException spam to console

steve4744 opened this issue ยท 5 comments

commented

The REDSTONE particle effect (used for the player trail) in 1.13 requires extra data to specify its colour and size.

Caused by: java.lang.IllegalArgumentException: Particle REDSTONE requires data, null provided
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftParticle.toNMS(CraftParticle.java:124) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1599) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1584) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1564) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1544) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1534) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at org.bukkit.craftbukkit.v1_13_R2.CraftWorld.spawnParticle(CraftWorld.java:1529) ~[spigot-1.13.1.jar:git-Spigot-68acb93-7d506c6]
        at me.A5H73Y.Parkour.Listeners.PlayerMoveListener.onPlayerMove_Trails(PlayerMoveListener.java:38) ~[?:?]

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.DustOptions.html

As the Particle effect is hardcoded, and the DustOptions only applies to REDSTONE, probably the easiest solution is to use a different particle effect.

commented

Huh, okay I'll experiment with a good alternative.
This looks like a reason why people don't want to support 1.13 and <1.12 ๐Ÿ˜“

commented

Yeah...and the issue/request regarding adding sounds to events - if that ever gets done, that will be the same as there a bunch of new sounds in 1.13.

commented

One option we could have, is make all these features exclusive to 1.13 giving an incentive to update to the newer servers and makes everything more stable.
I'm just referring to the stuff that doesn't exist / can't be supported in <= 1.12

commented

For this I've made the particle configurable and defaulted to a type that doesn't require extra data.

commented

Also added validation on server start up to test the configured Particle for its validity on that server version, if it fails it will disable the Trail functionality.