package com.lifeknight.relaymchub.cosmetics; import com.lifeknight.relaymchub.cosmetics.types.ItemApplication; import com.lifeknight.relaymchub.player.HubPlayer; import com.lifeknight.relaymcutils.player.SmartItem; import com.lifeknight.relayutils.player.cosmetics.Cosmetic; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; public abstract class ItemCosmetic extends CooldownCosmetic { public ItemCosmetic(Cosmetic original, ItemStack item, int slot) { super(original); SmartItem smartItem = new SmartItem(item, this.getPrettyName(), this.getDescriptionArray()); smartItem.onPlayerClick((player, b, b2) -> this.use(HubPlayer.getHubPlayer(player), b)); this.addApplication(new ItemApplication(slot, smartItem)); } public ItemCosmetic(Cosmetic original, Material item) { this(original, new ItemStack(item), 1); } public ItemCosmetic(Cosmetic original, ItemStack representative) { this(original, representative, 1); } public ItemCosmetic(Cosmetic original) { this(original, original.getRepresentative()); } @Override public ItemCosmetic setCooldown(double seconds) { return (ItemCosmetic) super.setCooldown(seconds); } }