Want a better Minecraft server? Read about SpigotMC here!
Separate names with a comma.
Creating a new random instance every time is a bad idea. It should reuse the same one each time for a more accurate random feel.
Also, what have you tried? Having some code would help us help you.
There are many plugins that help achieve this such as bungee bridge which I use. Does all the sockets and networking for you.
In my case, my "spells" didn't need items sometimes. And also, some do damage over a period of time giving a chance they will not still be holding...
What I do in my own plugins is use the player#damage(10,damager) to indicate the caster damaged that player.
Then, I attatch to the hurt entity...
Looks like an issue with your actual code rather than a shading issue. Provide the class mentioned in the stack trace.
Do you have Mystic mobs as a dependency on your yml?
The actual error would help
Use PlayerChatEvent instead of AsyncChatEvent. Or put your code in a scheduler. You can't change game modes on async
you can't check if an entity is an instance of a material
your texture pack likely?
Like Creepy Code said, you need to use the block break event. Then from there, you get the item in their hand to check if it's enchanted. Then...
Ah sorry, that makes sense. I thought U wanted the player to go to the 'to' location not the from location. Then just invert what I said. But use...
You also need to listen to @Plochem and check before casting, that's the main issue here.
Your math is a little wrong
You should just do to.subtract(from).toVector(), then multiply it by something such as 0.05. you need to experiment...