Examples of IAEItemStack


Examples of appeng.api.IAEItemStack

    return powerStatus && networkReady;
  }

  public boolean drainFluid(FluidStack toExport)
  {
    IAEItemStack toDrain = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), 0, toExport.fluidID));
    toDrain.setStackSize(toExport.amount);

    if (grid != null)
    {
      IMEInventoryHandler cellArray = grid.getCellArray();
      if (cellArray != null)
      {
        for (IAEItemStack fluidstack : cellArray.getAvailableItems())
        {
          if (fluidstack != null && fluidstack.getItem() instanceof ItemFluidDisplay && fluidstack.getItemDamage() == toExport.fluidID && fluidstack.getStackSize() >= toExport.amount)
          {
            IAEItemStack takenStack = cellArray.extractItems(Util.createItemStack(new ItemStack(toDrain.getItem(), (int) (toDrain.getStackSize()), toDrain.getItemDamage())));

            if (takenStack == null)
            {
              return false;
            } else if (takenStack.getStackSize() != (int) toDrain.getStackSize())
            {
              cellArray.addItems(takenStack);
              return false;
            } else
            {
View Full Code Here

Examples of appeng.api.IAEItemStack

    if (!isMachineActive() || toDrain == null || grid == null)
      return 0;
    IMEInventoryHandler cellArray = grid.getCellArray();
    if (cellArray == null)
      return 0;
    IAEItemStack drained = cellArray.extractItems(createFluidItemStack(toDrain));
    if (drained == null)
      return 0;
    if (!doDrain)
      cellArray.addItems(drained);

    getGrid().useMEEnergy(drained.getStackSize() == 0 ? 0 : drained.getStackSize() / 4, "FluidInterface");
    return drained.getStackSize();
  }
View Full Code Here

Examples of appeng.api.IAEItemStack

    if (!isMachineActive() || toFill == null || grid == null)
      return 0;
    IMEInventoryHandler cellArray = grid.getCellArray();
    if (cellArray == null)
      return 0;
    IAEItemStack notFilled = cellArray.calculateItemAddition(createFluidItemStack(toFill));
    IAEItemStack filled = createFluidItemStack(toFill);
    if (notFilled != null)
      filled = createFluidItemStack(new SpecialFluidStack(notFilled.getItemDamage(), toFill.amount - notFilled.getStackSize()));
    if (doFill)
      cellArray.addItems(filled);

    getGrid().useMEEnergy(filled.getStackSize() == 0 ? 0 : filled.getStackSize() / 4, "FluidInterface");
    return filled.getStackSize();
  }
View Full Code Here

Examples of appeng.api.IAEItemStack

    return grid.getController();
  }

  public IAEItemStack createFluidItemStack(SpecialFluidStack stack)
  {
    IAEItemStack toReturn = Util.createItemStack(new ItemStack(ItemEnum.FLUIDDISPLAY.getItemInstance(), 1, stack.getID()));
    toReturn.setStackSize(stack.getAmount());
    return toReturn;
  }
View Full Code Here

Examples of appeng.api.IAEItemStack

  }

  @Override
  public IAEItemStack addItems(IAEItemStack input)
  {
    IAEItemStack addedStack = input.copy();

    if (input.getItem() == ItemEnum.FLUIDDISPLAY.getItemInstance() && (!isPreformatted() || (isPreformatted() && isItemInPreformattedItems(input.getItemStack()))))
    {
      if (tank != null)
      {

        if (getTankInfo(tank) == null || getTankInfo(tank)[0].fluid == null || FluidRegistry.getFluid(input.getItemDamage()) == tank.getTankInfo(facing)[0].fluid.getFluid())
        {

          int filled = 0;

          for (long i = 0; i < input.getStackSize() / 25; i++)
          {
            filled += tank.fill(facing, new FluidStack(input.getItemDamage(), 25), true);
          }
          int remainder = (int) (input.getStackSize() - ((input.getStackSize() / 25) * 25));
          if (remainder > 0)
          {
            filled += tank.fill(facing, new FluidStack(input.getItemDamage(), remainder), true);
          }

          addedStack.setStackSize(input.getStackSize() - filled);

          ((TileEntity) tank).onInventoryChanged();

          if (addedStack != null && addedStack.getStackSize() == 0)
            addedStack = null;

          return addedStack;
        }
      }
View Full Code Here

Examples of appeng.api.IAEItemStack

  }

  @Override
  public IAEItemStack extractItems(IAEItemStack request)
  {
    IAEItemStack removedStack = request.copy();

    if (request.getItem() == ItemEnum.FLUIDDISPLAY.getItemInstance() && tank != null)
    {
      if (getTankInfo(tank) != null && getTankInfo(tank)[0].fluid != null && FluidRegistry.getFluid(request.getItemDamage()) == getTankInfo(tank)[0].fluid.getFluid())
      {
        long drainedAmount = 0;

        for (long i = 0; i < request.getStackSize() / 25; i++)
        {
          FluidStack drainedStack = tank.drain(facing, 25, true);
          if (drainedStack != null && drainedStack.amount != 0)
            drainedAmount += drainedStack.amount;
        }
        int remainder = (int) (request.getStackSize() - ((request.getStackSize() / 25) * 25));
        if (remainder > 0)
        {
          FluidStack drainedStack = tank.drain(facing, remainder, true);
          if (drainedStack != null && drainedStack.amount != 0)
            drainedAmount += drainedStack.amount;
        }

        ((TileEntity) tank).onInventoryChanged();

        if (drainedAmount == 0)
        {
          return null;
        } else
        {
          removedStack.setStackSize(drainedAmount);
        }
        return removedStack;
      }
    }

View Full Code Here

Examples of appeng.api.IAEItemStack

  {
    if (tank != null)
    {
      if (getTankInfo(tank) != null && getTankInfo(tank)[0].fluid != null && getTankInfo(tank)[0].fluid.getFluid() != null)
      {
        IAEItemStack currentItemStack = Util.createItemStack(new ItemStack(ItemEnum.FLUIDDISPLAY.getItemInstance(), 1, getTankInfo(tank)[0].fluid.getFluid().getID()));
        currentItemStack.setStackSize(getTankInfo(tank)[0].fluid.amount);
        out.add(currentItemStack);
      }

    }
    return out;
View Full Code Here

Examples of appeng.api.IAEItemStack

  }

  @Override
  public IAEItemStack calculateItemAddition(IAEItemStack input)
  {
    IAEItemStack addedStack = input.copy();

    if (input.getItem() == ItemEnum.FLUIDDISPLAY.getItemInstance() && (!isPreformatted() || (isPreformatted() && isItemInPreformattedItems(input.getItemStack()))))
    {
      if (tank != null)
      {
        if (getTankInfo(tank) != null && (getTankInfo(tank)[0].fluid == null || FluidRegistry.getFluid(input.getItemDamage()) == getTankInfo(tank)[0].fluid.getFluid()))
        {

          int filled = 0;

          for (long i = 0; i < input.getStackSize() / 25; i++)
          {
            filled += tank.fill(facing, new FluidStack(input.getItemDamage(), 25), false);
          }
          int remainder = (int) (input.getStackSize() - ((input.getStackSize() / 25) * 25));
          if (remainder > 0)
          {
            filled += tank.fill(facing, new FluidStack(input.getItemDamage(), remainder), false);
          }

          addedStack.setStackSize(input.getStackSize() - filled);

          ((TileEntity) tank).onInventoryChanged();

          if (addedStack != null && addedStack.getStackSize() == 0)
            addedStack = null;

          return addedStack;
        }
      }
View Full Code Here

Examples of appeng.api.IAEItemStack

  }

  @Override
  public IAEItemStack addItems(IAEItemStack input)
  {
    IAEItemStack addedStack = input.copy();

    if (input.getItem() == fluidItem && (!isPreformatted() || (isPreformatted() && isItemInPreformattedItems(input.getItemStack()))))
    {
      for (int i = 0; i < totalTypes; i++)
      {
        FluidStack currentStack = cachedInventory.get(i);
        if (currentStack != null && currentStack.fluidID == input.getItemDamage())
        {
          if (input.getStackSize() <= freeBytes())
          {
            writeFluidStackToSlot(i, new FluidStack(input.getItemDamage(), currentStack.amount + (int) input.getStackSize()));
            addedStack = null;
          } else
          {
            writeFluidStackToSlot(i, new FluidStack(input.getItemDamage(), currentStack.amount + (int) freeBytes()));
            addedStack.setStackSize(input.getStackSize() - freeBytes());
          }
          return addedStack;
        }
      }

      for (int i = 0; i < totalTypes; i++)
      {
        FluidStack currentStack = cachedInventory.get(i);
        if (currentStack == null)
        {
          if (input.getStackSize() <= freeBytes())
          {
            writeFluidStackToSlot(i, new FluidStack(input.getItemDamage(), (int) input.getStackSize()));
            addedStack = null;
          } else
          {
            writeFluidStackToSlot(i, new FluidStack(input.getItemDamage(), (int) freeBytes()));
            addedStack.setStackSize(input.getStackSize() - freeBytes());
          }
          return addedStack;
        }
      }
    }
View Full Code Here

Examples of appeng.api.IAEItemStack

  {
    if (input.getItem() == fluidItem)
    {
      if (!isPreformatted() || (isPreformatted() && isItemInPreformattedItems(input.getItemStack())))
      {
        IAEItemStack addedStack = input.copy();

        for (int i = 0; i < totalTypes; i++)
        {
          FluidStack currentStack = cachedInventory.get(i);
          if (currentStack == null || currentStack.fluidID == input.getItemDamage())
          {
            if (input.getStackSize() <= freeBytes())
            {
              addedStack = null;
            } else
            {
              addedStack.setStackSize(input.getStackSize() - freeBytes());
            }
            return addedStack;
          }
        }
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.