Wouldn't the player's inventory have +5 slots now because of the offhand?
By "nearest air block" you probably mean on top of the lowest safe solid block? 1. Loop through all blocks vertically starting from the player's...
setGravity(false)
Use the first(Material) method to get the first instance of your bullet in the inventory. (first returns an int, the slot where it was found. Use...
Your IDE must have desynced and compiled the wrong code. Try re-building the project, then compiling again.
You have to use the saveConfig() method after writing to the config.
It seems like you'd need a complete redesign of the plugin, rather than a texture fix. Without permission from the original plugin creator, it's...
Bats don't send animation packets, afaik, they have a "flying" or "awake" state. Use the setAwake method
Don't use a Repeating Task, instead use the EntityDamageEvent, check if the event.getEntity() instanceof Player, then check for a wolf within the...
An even easier way would be to call a BlockBreakEvent, as it uses enchantments (afaik) Use the Bukkit.getPluginManager().callEvent(Event) method...
Don't use an ArrayList of <Player>, as it can cause memory leaks. Use the player's UUID instead. The ArrayList also doesn't have to be static....
We need your Main class, the one that "extends JavaPlugin" The error you are getting is completely different from the error in the log you sent us.
The scoreboard uses an Entity's UUID as its name, and for Players it uses their username, iirc. Try adding the snowball's UUID to the Team instead.
So the player can't toss items, and the item is getting destroyed because it's in the player's cursor as it closes? This has a ton of edge-cases...
Why would you need to check specifically what type of Horse it is? AbstractHorse itself contains the getInventory() method.
Separate names with a comma.