I would give the player a choose between npc's and a compass. I would also provide signs.
Your server is simply overloaded. Try to choose a higher cpu/more ram (depending on whats the bottleneck) and/or improve your plugins...
The log sais: Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java...
I only saw this when the walk/fly speed of the player is set to 0. Try to (re-)set your speed with a command like /speed [speed] or /flyspeed...
It is still more efficient to check this value once and not every second xD
You need the name of the item (not the material). You can get it using itemstack.getItemMeta().getDisplayName();
In fact I need a plugin like this for my own server. We currently have other big projects, so I'm no able to develop such a "big" plugin. If there...
You could do this with a custom command plugin. Define a command like "Premium" and list all permissions. You could use:...
But this would be much more performant than cheking a random value EVERY second. you could also start a synced scheduler if you want it to be...
Just the opening of the inventory. public void invClose(InventoryCloseEvent event) { Player p = (Player) event.getPlayer();...
i would recommend using a synced scheduler like this: Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {...
And which plugins/permissions do you use? Which are the configurations of your plugins?
I would create e Thread for each command you want to schedule randomly. Get a rendom int from the max time and add the minimal amount to it. then...
You could check the inventory in the PlayerMoveEvent. But keep in mind, the the player might move (e.g. caused by damage) without own interaction.
I would also recomment to check if the displayname is not null.
Separate names with a comma.