public void func_146102_a(TileEntityDispenser p_146102_1_) { this.getNextWindowId(); this.playerNetServerHandler.sendPacket( new S2DPacketOpenWindow( this.currentWindowId, p_146102_1_ instanceof TileEntityDropper ? 10 : 3, p_146102_1_.getInventoryName(), p_146102_1_.getSizeInventory(), p_146102_1_.isCustomInventoryName())); this.openContainer = new ContainerDispenser(this.inventory, p_146102_1_); this.openContainer.windowId = this.currentWindowId; this.openContainer.onCraftGuiOpened(this); }
/** Generates the Dispenser contents. */ public static void generateDispenserContents( Random par0Random, WeightedRandomChestContent[] par1ArrayOfWeightedRandomChestContent, TileEntityDispenser par2TileEntityDispenser, int par3) { for (int j = 0; j < par3; ++j) { WeightedRandomChestContent weightedrandomchestcontent = (WeightedRandomChestContent) WeightedRandom.getRandomItem(par0Random, par1ArrayOfWeightedRandomChestContent); ItemStack[] stacks = weightedrandomchestcontent.generateChestContent(par0Random, par2TileEntityDispenser); for (ItemStack item : stacks) { par2TileEntityDispenser.setInventorySlotContents( par0Random.nextInt(par2TileEntityDispenser.getSizeInventory()), item); } } }
private boolean addResultToInventory(TileEntityDispenser te, ItemStack result) { int size = te.getSizeInventory(); int i; ItemStack itemstack; for (i = 0; i < size; ++i) { itemstack = te.getStackInSlot(i); if (itemstack != null && itemstack.isItemEqual(result) && itemstack.stackSize + result.stackSize <= itemstack.getMaxStackSize()) { itemstack.stackSize += result.stackSize; return true; } } for (i = 0; i < size; ++i) { itemstack = te.getStackInSlot(i); if (itemstack == null || itemstack.itemID == 0) { te.setInventorySlotContents(i, result); return true; } } return false; }