package com.nisovin.magicspells.materials;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.material.MaterialData;
public class MagicItemWithNameMaterial extends MagicMaterial {
MagicMaterial material;
String name;
public MagicItemWithNameMaterial(MagicMaterial material, String name) {
this.material = material;
this.name = ChatColor.translateAlternateColorCodes('&', name);
}
@Override
public Material getMaterial() {
return material.getMaterial();
}
@Override
public MaterialData getMaterialData() {
return material.getMaterialData();
}
@Override
public ItemStack toItemStack(int quantity) {
ItemStack item = material.toItemStack(quantity);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName(name);
item.setItemMeta(meta);
return item;
}
@Override
public boolean equals(ItemStack item) {
if (!material.equals(item)) return false;
String iname = item.getItemMeta().getDisplayName();
if (iname == null || iname.isEmpty()) return false;
return iname.equals(name);
}
@Override
public boolean equals(Object o) {
if (o instanceof MagicItemWithNameMaterial) {
MagicItemWithNameMaterial m = (MagicItemWithNameMaterial)o;
return m.getMaterialData().equals(getMaterialData()) && m.name.equals(name);
}
return false;
}
}