package common.entity.npc;

import common.init.ItemRegistry;
import common.init.MetalType;
import common.item.ItemStack;
import common.item.material.ItemMetal;
import common.rng.Random;
import common.world.World;

public class EntityMetalhead extends EntityNPC {
	public EntityMetalhead(World worldIn) {
		super(worldIn);
//		this.tasks.addTask(2, new EntityAITempt(this, 1.0D, Items.gunpowder, false));
	}
	
//	public boolean isAggressive() {
//		return false;
//	}
//	
//    public boolean isPeaceful() {
//    	return false;
//    }
    
//    public boolean isAggressive(Class<? extends EntityNPC> clazz) {
//    	return false;
//    }
//    
//    public boolean isPeaceful(Class<? extends EntityNPC> clazz) {
//    	return false;
//    }
    
//    public boolean canInfight(Alignment align) {
//    	return false;
//    }
//    
//    public boolean canMurder(Alignment align) {
//    	return false;
//    }
    
//    public boolean canUseMagic() {
//    	return false;
//    }
    
//    public int getBaseEnergy(Random rand) {
//    	return 0;
//    }
    
    public int getBaseHealth(Random rand) {
    	return rand.range(20, 24);
    }

    public float getHeightDeviationMin() {
    	return -0.2f;
    }

    public float getHeightDeviationMax() {
    	return 0.2f;
    }
    
    public float getSpeciesBaseSize() {
    	return 1.8f;
    }
    
    public Alignment getNaturalAlign() {
    	return rand.pick(Alignment.values());
    }
    
    public boolean isBreedingItem(ItemStack stack) {
        return stack.getItem() instanceof ItemMetal;
    }
    
    public boolean isMagnetic() {
    	return true;
    }

	protected ItemStack pickLoot(int slot) {
		MetalType metal = this.rand.pick(MetalType.values());
		return new ItemStack(ItemRegistry.getRegisteredItem(this.rand.chance(5) ? metal.name + "_block" : (metal.name + (metal.isPowder ? "_powder" : "_ingot"))));
	}
}
