Refactored once again; dependent on spigot-api for particle effects