package com.draco18s.artifacts.api;

import java.util.Random;

import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraftforge.common.ChestGenHooks;

/**
 * This class is exposed to aid mod developers adding artifacts to their loot chests in a more detailed manner.<br/>
 * This class insures that artifacts generated in this manner will already have their effects applied.<br/>
 * Use this class exactly as you would WeightedRandomChestContent
 * @author Draco18s
 *
 */
public class WeightedRandomArtifact extends WeightedRandomChestContent {

	public WeightedRandomArtifact(Item item, int metadata, int minNumberPerStack, int maxNumberPerStack, int probability) {
		super(item, metadata, minNumberPerStack, maxNumberPerStack, probability);
	}

	public WeightedRandomArtifact(ItemStack par1ItemStack, int minNumberPerStack, int maxNumberPerStack, int probability) {
		super(par1ItemStack, minNumberPerStack, maxNumberPerStack, probability);
	}
	
	@Override
	protected ItemStack[] generateChestContent(Random random, IInventory newInventory)
    {
        ItemStack[] a = ChestGenHooks.generateStacks(random, theItemId, theMinimumChanceToGenerateItem, theMaximumChanceToGenerateItem);
        for(int i=a.length-1; i>=0; --i) {
        	a[i] = ArtifactsAPI.artifacts.applyRandomEffects(a[i]);
        }
        return a;
    }
}