package tc.oc.pgm.kits; import java.util.stream.Stream; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; import tc.oc.commons.bukkit.inventory.Slot; import tc.oc.pgm.match.MatchPlayer; public abstract class ClearKitBase extends Kit.Impl { protected abstract Stream<Slot.Player> slots(); protected abstract boolean filter(ItemStack item); @Override public void apply(MatchPlayer player, boolean force, ItemKitApplicator items) { final PlayerInventory inv = player.getInventory(); slots().forEach(slot -> { final ItemStack item = slot.getItem(inv); if(item != null && filter(item)) { slot.putItem(inv, null); } }); } }