001    package net.minecraft.src;
002    
003    import java.util.Random;
004    
005    public class WeightedRandomChestContent extends WeightedRandomItem
006    {
007        private int field_76297_b;
008        private int field_76298_c;
009        private int field_76295_d;
010        private int field_76296_e;
011    
012        public WeightedRandomChestContent(int par1, int par2, int par3, int par4, int par5)
013        {
014            super(par5);
015            this.field_76297_b = par1;
016            this.field_76298_c = par2;
017            this.field_76295_d = par3;
018            this.field_76296_e = par4;
019        }
020    
021        public static void func_76293_a(Random par0Random, WeightedRandomChestContent[] par1ArrayOfWeightedRandomChestContent, TileEntityChest par2TileEntityChest, int par3)
022        {
023            for (int var4 = 0; var4 < par3; ++var4)
024            {
025                WeightedRandomChestContent var5 = (WeightedRandomChestContent)WeightedRandom.getRandomItem(par0Random, par1ArrayOfWeightedRandomChestContent);
026                int var6 = var5.field_76295_d + par0Random.nextInt(var5.field_76296_e - var5.field_76295_d + 1);
027    
028                if (Item.itemsList[var5.field_76297_b].getItemStackLimit() >= var6)
029                {
030                    par2TileEntityChest.setInventorySlotContents(par0Random.nextInt(par2TileEntityChest.getSizeInventory()), new ItemStack(var5.field_76297_b, var6, var5.field_76298_c));
031                }
032                else
033                {
034                    for (int var7 = 0; var7 < var6; ++var7)
035                    {
036                        par2TileEntityChest.setInventorySlotContents(par0Random.nextInt(par2TileEntityChest.getSizeInventory()), new ItemStack(var5.field_76297_b, 1, var5.field_76298_c));
037                    }
038                }
039            }
040        }
041    
042        public static void func_76294_a(Random par0Random, WeightedRandomChestContent[] par1ArrayOfWeightedRandomChestContent, TileEntityDispenser par2TileEntityDispenser, int par3)
043        {
044            for (int var4 = 0; var4 < par3; ++var4)
045            {
046                WeightedRandomChestContent var5 = (WeightedRandomChestContent)WeightedRandom.getRandomItem(par0Random, par1ArrayOfWeightedRandomChestContent);
047                int var6 = var5.field_76295_d + par0Random.nextInt(var5.field_76296_e - var5.field_76295_d + 1);
048    
049                if (Item.itemsList[var5.field_76297_b].getItemStackLimit() >= var6)
050                {
051                    par2TileEntityDispenser.setInventorySlotContents(par0Random.nextInt(par2TileEntityDispenser.getSizeInventory()), new ItemStack(var5.field_76297_b, var6, var5.field_76298_c));
052                }
053                else
054                {
055                    for (int var7 = 0; var7 < var6; ++var7)
056                    {
057                        par2TileEntityDispenser.setInventorySlotContents(par0Random.nextInt(par2TileEntityDispenser.getSizeInventory()), new ItemStack(var5.field_76297_b, 1, var5.field_76298_c));
058                    }
059                }
060            }
061        }
062    }