package common.item.material;

import java.util.List;
import java.util.Map;
import common.attributes.Attribute;
import common.attributes.UsageSlot;
import common.color.TextColor;
import common.entity.npc.EntityNPC;
import common.init.MetalType;
import common.item.Item;
import common.item.ItemStack;

public class ItemMetal extends Item {
	private final MetalType metal;
	
	public ItemMetal(MetalType metal) {
		this.metal = metal;
        if(this.metal.radioactivity > 0.0f)
        	this.setColor(TextColor.GREEN);
	}
	
	public void addInformation(ItemStack stack, EntityNPC playerIn, List<String> tooltip)
    {
		tooltip.add(this.metal.formatSymbol());
		if(this.metal.radioactivity > 0.0f) {
			tooltip.add(this.metal.formatRadioactivity());
		}
		tooltip.add(this.metal.formatRarity());
    }
	
//    public ChatFormat getColor(ItemStack stack)
//    {
//        return this.metal.radioactivity > 0.0f ? ChatFormat.GREEN : super.getColor(stack);
//    }

    public void getModifiers(Map<Attribute, Float> map, UsageSlot slot)
    {
        if((slot == null || slot == UsageSlot.INVENTORY) && this.metal.radioactivity > 0.0f)
        	map.put(Attribute.RADIATION, this.metal.radioactivity * 4.0f);
    }
    
    public float getRadiation(ItemStack stack) {
    	return this.metal.radioactivity * 0.25f * (float)stack.size;
    }
    
    public boolean isMagnetic() {
    	return this.metal.isMagnetic();
    }
}
