コード例 #1
0
 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);
 }
コード例 #2
0
  /** 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);
      }
    }
  }
コード例 #3
0
 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;
 }