Package appeng.api.storage.data

Examples of appeng.api.storage.data.IAEItemStack


      AEItemStack ae_req = AEItemStack.create( providedTemplate );
      ae_req.setStackSize( 1 );

      if ( filter == null || filter.isListed( ae_req ) )
      {
        IAEItemStack ae_ext = src.extractItems( ae_req, realForFake, mySrc );
        if ( ae_ext != null )
        {
          ItemStack extracted = ae_ext.getItemStack();
          if ( extracted != null )
          {
            energySrc.extractAEPower( 1, realForFake, PowerMultiplier.CONFIG );
            return extracted;
          }
        }
      }

      boolean checkFuzzy = ae_req.isOre() || providedTemplate.getItemDamage() == OreDictionary.WILDCARD_VALUE || providedTemplate.hasTagCompound()
          || providedTemplate.isItemStackDamageable();

      if ( items != null && checkFuzzy )
      {
        for (IAEItemStack x : items)
        {
          ItemStack sh = x.getItemStack();
          if ( (Platform.isSameItemType( providedTemplate, sh ) || ae_req.sameOre( x )) && !Platform.isSameItem( sh, output ) )
          { // Platform.isSameItemType( sh, providedTemplate )
            ItemStack cp = Platform.cloneItemStack( sh );
            cp.stackSize = 1;
            ci.setInventorySlotContents( slot, cp );
            if ( r.matches( ci, w ) && Platform.isSameItem( r.getCraftingResult( ci ), output ) )
            {
              IAEItemStack ax = x.copy();
              ax.setStackSize( 1 );
              if ( filter == null || filter.isListed( ax ) )
              {
                IAEItemStack ex = src.extractItems( ax, realForFake, mySrc );
                if ( ex != null )
                {
                  energySrc.extractAEPower( 1, realForFake, PowerMultiplier.CONFIG );
                  return ex.getItemStack();
                }
              }
            }
            ci.setInventorySlotContents( slot, providedTemplate );
          }
View Full Code Here


        if ( getCraftingMatrix().getStackInSlot( x ) == null )
          getCraftingMatrix().setInventorySlotContents( x, set[x] );
        else if ( set[x] != null )
        {
          // eek! put it back!
          IAEItemStack fail = inv.injectItems( AEItemStack.create( set[x] ), Actionable.MODULATE, mySrc );
          if ( fail != null )
            drops.add( fail.getItemStack() );
        }
      }
    }

    if ( drops.size() > 0 )
View Full Code Here

    searchString = search == null ? "" : search;
  }

  public void postUpdate(IAEItemStack is)
  {
    IAEItemStack st = list.findPrecise( is );

    if ( st != null )
    {
      st.reset();
      st.add( is );
    }
    else
      list.add( is );
  }
View Full Code Here

    int size = data.getInteger( "bufferSize" );
    Buffer.clear();
    for (int x = 0; x < size; x++)
    {
      NBTTagCompound pack = (NBTTagCompound) data.getTag( "buffer" + x );
      IAEItemStack ais = AEItemStack.loadItemStackFromNBT( pack );
      if ( ais != null )
        Buffer.add( ais );
    }
  }
View Full Code Here

                    if ( ei instanceof EntityItem )
                    {
                      EntityItem item = (EntityItem) ei;
                      if ( !item.isDead )
                      {
                        IAEItemStack storedItem = AEItemStack.create( item.getEntityItem() );
                        storedItem = Platform.poweredInsert( energy, storage.getItemInventory(), storedItem, mySrc );
                        if ( storedItem != null )
                          Buffer.add( storedItem );

                        item.setDead();
                      }
                    }
                  }

                  ServerHelper.proxy.sendToAllNearExcept( null, x, y, z, 64, w, new PacketTransitionEffect( x, y, z, side, true ) );

                  for (ItemStack snaggedItem : out)
                  {
                    IAEItemStack storedItem = AEItemStack.create( snaggedItem );
                    storedItem = Platform.poweredInsert( energy, storage.getItemInventory(), storedItem, mySrc );
                    if ( storedItem != null )
                      Buffer.add( storedItem );
                  }
View Full Code Here

        break;
      }

      if ( capture && Platform.isServer() && proxy.isActive() )
      {
        IAEItemStack stack = AEItemStack.create( ((EntityItem) entity).getEntityItem() );
        if ( stack != null )
        {
          ServerHelper.proxy.sendToAllNearExcept( null, tile.xCoord, tile.yCoord, tile.zCoord, 64, tile.getWorldObj(),
              new PacketTransitionEffect( entity.posX, entity.posY, entity.posZ, side, false ) );
View Full Code Here

      IStorageGrid storage = proxy.getStorage();
      IEnergyGrid energy = proxy.getEnergy();

      while (!Buffer.isEmpty())
      {
        IAEItemStack storedItem = Buffer.pop();
        storedItem = Platform.poweredInsert( energy, storage.getItemInventory(), storedItem, mySrc );
        if ( storedItem != null )
        {
          Buffer.add( storedItem );
          break;
View Full Code Here

  public boolean canAccept(IAEStack input)
  {
    if ( input instanceof IAEItemStack )
    {
      IAEItemStack is = waitingFor.findPrecise( (IAEItemStack) input );
      if ( is != null && is.getStackSize() > 0 )
        return true;
    }
    return false;
  }
View Full Code Here

  public IAEStack injectItems(IAEStack input, Actionable type, BaseActionSource src)
  {
    if ( input instanceof IAEItemStack && type == Actionable.SIMULATE )// causes crafting to lock up?
    {
      IAEItemStack what = (IAEItemStack) input.copy();
      IAEItemStack is = waitingFor.findPrecise( what );

      if ( is != null && is.getStackSize() > 0 )
      {
        if ( is.getStackSize() >= what.getStackSize() )
        {
          if ( finalOutput.equals( what ) )
          {
            if ( myLastLink != null )
              return ((CraftingLink) myLastLink).injectItems( what.copy(), type );

            return what; // ignore it.
          }

          return null;
        }

        IAEItemStack leftOver = what.copy();
        leftOver.decStackSize( is.getStackSize() );

        IAEItemStack used = what.copy();
        used.setStackSize( is.getStackSize() );

        if ( finalOutput.equals( what ) )
        {
          if ( myLastLink != null )
          {
            leftOver.add( ((CraftingLink) myLastLink).injectItems( used.copy(), type ) );
            return leftOver;
          }

          return what; // ignore it.
        }

        return leftOver;
      }
    }
    else if ( input instanceof IAEItemStack && type == Actionable.MODULATE )
    {
      IAEItemStack what = (IAEItemStack) input;
      IAEItemStack is = waitingFor.findPrecise( what );

      if ( is != null && is.getStackSize() > 0 )
      {
        waiting = false;
        postChange( (IAEItemStack) input, src );

        if ( is.getStackSize() >= input.getStackSize() )
        {
          is.decStackSize( input.getStackSize() );
          markDirty();
          postCraftingStatusChange( is );

          if ( finalOutput.equals( input ) )
          {
            finalOutput.decStackSize( input.getStackSize() );
            if ( finalOutput.getStackSize() <= 0 )
              completeJob();

            updateCPU();

            if ( myLastLink != null )
              return ((CraftingLink) myLastLink).injectItems( (IAEItemStack) input, type );

            return input; // ignore it.
          }

          // 2000
          return inventory.injectItems( what, type, src );
        }

        IAEItemStack insert = what.copy();
        insert.setStackSize( is.getStackSize() );
        what.decStackSize( is.getStackSize() );

        is.setStackSize( 0 );

        if ( finalOutput.equals( insert ) )
        {
          finalOutput.decStackSize( insert.getStackSize() );
          if ( finalOutput.getStackSize() <= 0 )
            completeJob();

          updateCPU();

          if ( myLastLink != null )
          {
            what.add( ((CraftingLink) myLastLink).injectItems( insert.copy(), type ) );
            return what;
          }

          if ( myLastLink != null )
            return ((CraftingLink) myLastLink).injectItems( (IAEItemStack) input, type );
View Full Code Here

    return input;
  }

  private void updateCPU()
  {
    IAEItemStack send = finalOutput;

    if ( finalOutput != null && finalOutput.getStackSize() <= 0 )
      send = null;

    for (TileCraftingMonitorTile t : status)
View Full Code Here

TOP

Related Classes of appeng.api.storage.data.IAEItemStack

Copyright © 2018 www.massapicom. 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.