Adds PlayerItemBreakEvent to tool breaking, fixes issue preventing plugins like AutomaticInventory from recognizing tool breaks. Tested working in 1.16.1. Fix should also work in Legacy Adapter, though that is untested and thus not part of this PR (would also require import org.bukkit.Bukkit in legacy).

This commit is contained in:
MattAKAFred 2020-06-29 17:05:17 +00:00 committed by Brianna
parent 151b443a80
commit 9feb8752a7
1 changed files with 5 additions and 1 deletions

View File

@ -21,6 +21,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.event.player.PlayerItemBreakEvent;
import java.util.Collection;
import java.util.HashSet;
@ -79,8 +80,11 @@ public class CurrentAdapter implements VersionAdapter {
damageable.setDamage(damageable.getDamage() + actualDamage);
tool.setItemMeta((ItemMeta) damageable);
if (!this.hasEnoughDurability(tool, 1))
if (!this.hasEnoughDurability(tool, 1)) {
PlayerItemBreakEvent breakEvent = new PlayerItemBreakEvent(player, tool);
Bukkit.getServer().getPluginManager().callEvent(breakEvent);
this.removeItemInHand(player);
}
}
@Override