Examples of IAEItemStack


Examples of appeng.api.IAEItemStack

    if (tankFluid != null && !tankFluid.isFluidStackIdentical(lastFluid) || lastFluid != null && !lastFluid.isFluidStackIdentical(tankFluid))
    {
      if (lastFluid != null)
      {
        IAEItemStack toRemove = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), 1, lastFluid.fluidID));
        toRemove.setStackSize(lastFluid.amount);
        getGrid().notifyExtractItems(toRemove);
      }

      if (tankFluid != null)
      {
        IAEItemStack toAdd = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), 1, tankFluid.fluidID));
        toAdd.setStackSize(tankFluid.amount);
        getGrid().notifyAddItems(toAdd);

        lastFluid = tankFluid.copy();
      } else
      {
View Full Code Here

Examples of appeng.api.IAEItemStack

    FluidStack drainable = fluidHandler.drain(facing.getOpposite(), modeAmount, false);

    if (drainable != null && drainable.amount > 0)
    {
      List<Fluid> fluidFilter = getFilterFluids(inventory.slots);
      IAEItemStack toImport = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), drainable.amount, drainable.fluidID));

      IMEInventoryHandler cellArray = getGrid().getCellArray();
      if (cellArray != null)
      {
        IAEItemStack notImported = cellArray.calculateItemAddition(toImport.copy());

        if (fluidFilter != null && !fluidFilter.isEmpty() && fluidFilter.size() > 0)
        {
          if (fluidFilter.contains(drainable.getFluid()))
          {
View Full Code Here

Examples of appeng.api.IAEItemStack

  {
    if(!redstoneStatus && getRedstoneMode() == RedstoneModeInput.WhenOn || redstoneStatus && getRedstoneMode() == RedstoneModeInput.WhenOff)
      return 0;
    if (resource != null && getGrid() != null && isPowered() && from.ordinal() == this.blockMetadata)
    {
      IAEItemStack added;
      int amount = resource.amount;
      int fluidID = resource.fluidID;
      IAEItemStack temp = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), amount, fluidID));
      temp.setStackSize(amount);
      IMEInventoryHandler cellArray = getGrid().getCellArray();
      if (cellArray != null)
      {
        if (doFill)
        {
View Full Code Here

Examples of appeng.api.IAEItemStack

  }

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

    if (request.getItem() == fluidItem)
    {
      for (int i = 0; i < totalTypes; i++)
      {
        FluidStack currentStack = cachedInventory.get(i);
        if (currentStack != null && currentStack.fluidID == request.getItemDamage())
        {
          if (currentStack.amount - request.getStackSize() >= 0)
          {
            removedStack.setStackSize(request.getStackSize());
            if (currentStack.amount - request.getStackSize() == 0)
            {
              writeFluidStackToSlot(i, null);
            } else
            {
              writeFluidStackToSlot(i, new FluidStack(currentStack.fluidID, currentStack.amount - (int) request.getStackSize()));
            }
          } else
          {
            removedStack.setStackSize(currentStack.amount);
            writeFluidStackToSlot(i, null);
          }

          if (updateTarget != null)
            updateTarget.onInventoryChanged();
View Full Code Here

Examples of appeng.api.IAEItemStack

    for (int i = 0; i < totalTypes; i++)
    {
      FluidStack currentStack = cachedInventory.get(i);
      if (currentStack != null)
      {
        IAEItemStack currentItemStack = Util.createItemStack(new ItemStack(fluidItem, 1, currentStack.fluidID));
        currentItemStack.setStackSize(currentStack.amount);
        out.add(currentItemStack);
      }
    }

    return out;
View Full Code Here

Examples of appeng.api.IAEItemStack

    worldObj.updateAllLightTypes(xCoord, yCoord, zCoord);
  }

  private boolean fillFluid(FluidStack toImport)
  {
    IAEItemStack toFill = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), 0, toImport.fluidID));
    toFill.setStackSize(toImport.amount);
    if (grid != null)
    {
      IMEInventoryHandler cellArray = grid.getCellArray();
      if (cellArray != null)
      {
        IAEItemStack sim = cellArray.calculateItemAddition(toFill.copy());

        if (sim != null)
        {
          return false;
        }
View Full Code Here

Examples of appeng.api.IAEItemStack

    return false;
  }

  private 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 (SpecialFluidStack fluidstack : fluidsInNetwork)
        {
          if (fluidstack.getID() == toExport.fluidID && fluidstack.amount >= 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

      ForgeDirection face = ForgeDirection.getOrientation(side);
      if (world.getBlockId(x + face.offsetX, y + face.offsetY, z + face.offsetZ) == 0 && Util.getCellRegistry().getHandlerForCell(itemstack).storedItemTypes() != 0)
      {
        if (FMLCommonHandler.instance().getEffectiveSide().isServer())
        {
          IAEItemStack request = Util.createItemStack(Util.getCellRegistry().getHandlerForCell(itemstack).getAvailableItems().getItems().get(0).copy());
          ItemStack block = request.getItemStack();
          if (block.getItem() instanceof ItemBlock)
          {
            ItemBlock itemblock = (ItemBlock) request.getItem();
            if (world.getBlockId(x, y, z) != 7)
            {
              switch (itemstack.getTagCompound().getInteger("mode"))
              {
              case 0:
                request.setStackSize(1);
                itemblock.onItemUseFirst(request.getItemStack(), player, world, x, y, z, side, xOffset, yOffset, zOffset);
                itemblock.onItemUse(request.getItemStack(), player, world, x, y, z, side, xOffset, yOffset, zOffset);
                Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                break;
              case 1:
                request.setStackSize(1);
                world.destroyBlock(x, y, z, true);
                placeBlock(request.getItemStack(), world, player, x, y, z, side, xOffset, yOffset, zOffset);
                Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                break;
              case 2:

                request.setStackSize(9);
                if (Util.getCellRegistry().getHandlerForCell(itemstack).storedItemCount() > 9)
                {
                  switch (ForgeDirection.getOrientation(side))
                  {
                  case DOWN:
                    for (int posX = x - 1; posX < x + 2; posX++)
                    {
                      for (int posZ = z - 1; posZ < z + 2; posZ++)
                      {
                        world.destroyBlock(posX, y, posZ, true);
                        placeBlock(request.getItemStack(), world, player, x, y, z, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  case EAST:
                    for (int posZ = z - 1; posZ < z + 2; posZ++)
                    {
                      for (int posY = y - 1; posY < y + 2; posY++)
                      {
                        world.destroyBlock(x, posY, posZ, true);
                        placeBlock(request.getItemStack(), world, player, x, posY, posZ, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  case NORTH:
                    for (int posX = x - 1; posX < x + 2; posX++)
                    {
                      for (int posY = y - 1; posY < y + 2; posY++)
                      {
                        world.destroyBlock(posX, posY, z, true);
                        placeBlock(request.getItemStack(), world, player, posX, posY, z, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  case SOUTH:
                    for (int posX = x - 1; posX < x + 2; posX++)
                    {
                      for (int posY = y - 1; posY < y + 2; posY++)
                      {
                        world.destroyBlock(posX, posY, z, true);
                        placeBlock(request.getItemStack(), world, player, posX, posY, z, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  case UNKNOWN:
                    break;
                  case UP:
                    for (int posX = x - 1; posX < x + 2; posX++)
                    {
                      for (int posZ = z - 1; posZ < z + 2; posZ++)
                      {
                        world.destroyBlock(posX, y, posZ, true);
                        placeBlock(request.getItemStack(), world, player, posX, y, posZ, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  case WEST:
                    for (int posZ = z - 1; posZ < z + 2; posZ++)
                    {
                      for (int posY = y - 1; posY < y + 2; posY++)
                      {
                        world.destroyBlock(x, posY, posZ, true);
                        placeBlock(request.getItemStack(), world, player, x, posY, posZ, side, xOffset, yOffset, zOffset);
                      }
                    }
                    Util.getCellRegistry().getHandlerForCell(itemstack).extractItems(request);
                    break;
                  default:
View Full Code Here

Examples of appeng.api.IAEItemStack

      IMEInventoryHandler cellArray = getGrid().getCellArray();
      for (Fluid entry : fluidFilter)
      {
        if (entry != null && cellArray != null)
        {
          IAEItemStack entryToAEIS = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), 1, entry.getID()));

          long contained = cellArray.countOfItemType(entryToAEIS);

          if (contained > 0)
          {
View Full Code Here

Examples of appeng.api.IAEItemStack

        return;
      int fillable = tankToFill.fill(from, toExport, false);
 
      if (fillable > 0)
      {
        IAEItemStack toExtract = Util.createItemStack(new ItemStack(FLUIDDISPLAY.getItemInstance(), fillable, toExport.fluidID));
 
        IAEItemStack extracted = cellArray.extractItems(toExtract);

        grid.useMEEnergy(mode.getCost() * tickRate, "Export Fluid");

        if (extracted != null)
        {
          toExport.amount = (int) extracted.getStackSize();
          tankToFill.fill(from, new FluidStack(toExport.fluidID, (int) extracted.getStackSize()), true);
        }
      }
    }
  }
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.