Search in sources :

Example 6 with IAEItemStack

use of appeng.api.storage.data.IAEItemStack in project PneumaticCraft by MineMaarten.

the class SemiBlockRequester method updateProvidingItems.

@Optional.Method(modid = ModIds.AE2)
private void updateProvidingItems(ICraftingProviderHelper cHelper) {
    IStackWatcher sWatcher = (IStackWatcher) stackWatcher;
    ICraftingWatcher cWatcher = (ICraftingWatcher) craftingWatcher;
    if (sWatcher != null)
        sWatcher.clear();
    if (cWatcher != null)
        cWatcher.clear();
    for (IAEItemStack stack : getProvidingItems()) {
        if (sWatcher != null)
            sWatcher.add(stack);
        if (cWatcher != null)
            cWatcher.add(stack);
        if (cHelper != null)
            cHelper.setEmitable(stack);
    }
}
Also used : IAEItemStack(appeng.api.storage.data.IAEItemStack) IStackWatcher(appeng.api.networking.storage.IStackWatcher) ICraftingWatcher(appeng.api.networking.crafting.ICraftingWatcher)

Example 7 with IAEItemStack

use of appeng.api.storage.data.IAEItemStack in project PneumaticCraft by MineMaarten.

the class SemiBlockRequesterAE method getAvailableItems.

@Override
@Optional.Method(modid = ModIds.AE2)
public IItemList<IAEItemStack> getAvailableItems(IItemList<IAEItemStack> arg0) {
    for (IAEItemStack stack : getProvidingItems()) {
        stack.setCountRequestable(stack.getStackSize());
        arg0.addRequestable(stack);
    }
    return arg0;
}
Also used : IAEItemStack(appeng.api.storage.data.IAEItemStack)

Example 8 with IAEItemStack

use of appeng.api.storage.data.IAEItemStack in project LogisticsPipes by RS485.

the class AEInterfaceInventoryHandler method add.

@Override
public ItemStack add(ItemStack stack, ForgeDirection from, boolean doAdd) {
    ItemStack st = stack.copy();
    IAEItemStack tst = AEApi.instance().storage().createItemStack(stack);
    IStorageMonitorable tmp = tile.getMonitorable(dir, source);
    if (tmp == null || tmp.getItemInventory() == null) {
        return st;
    }
    IAEItemStack overflow = tmp.getItemInventory().injectItems(tst, Actionable.MODULATE, source);
    if (overflow != null) {
        st.stackSize -= overflow.getStackSize();
    }
    return st;
}
Also used : IAEItemStack(appeng.api.storage.data.IAEItemStack) ItemStack(net.minecraft.item.ItemStack) IAEItemStack(appeng.api.storage.data.IAEItemStack) IStorageMonitorable(appeng.api.storage.IStorageMonitorable)

Example 9 with IAEItemStack

use of appeng.api.storage.data.IAEItemStack in project LogisticsPipes by RS485.

the class AEInterfaceInventoryHandler method getSingleItem.

@Override
public ItemStack getSingleItem(ItemIdentifier item) {
    IStorageMonitorable tmp = tile.getMonitorable(dir, source);
    if (tmp == null || tmp.getItemInventory() == null) {
        return null;
    }
    IAEItemStack stack = AEApi.instance().storage().createItemStack(item.makeNormalStack(1));
    IAEItemStack extract = tmp.getItemInventory().extractItems(stack, Actionable.MODULATE, source);
    if (extract == null) {
        return null;
    }
    return extract.getItemStack();
}
Also used : IAEItemStack(appeng.api.storage.data.IAEItemStack) IStorageMonitorable(appeng.api.storage.IStorageMonitorable)

Example 10 with IAEItemStack

use of appeng.api.storage.data.IAEItemStack in project LogisticsPipes by RS485.

the class AEInterfaceInventoryHandler method roomForItem.

@Override
public int roomForItem(ItemIdentifier item, int count) {
    IStorageMonitorable tmp = tile.getMonitorable(dir, source);
    if (tmp == null || tmp.getItemInventory() == null) {
        return 0;
    }
    while (count > 0) {
        IAEItemStack stack = AEApi.instance().storage().createItemStack(item.makeNormalStack(count));
        if (tmp.getItemInventory().canAccept(stack)) {
            return count;
        }
        count--;
    }
    return 0;
}
Also used : IAEItemStack(appeng.api.storage.data.IAEItemStack) IStorageMonitorable(appeng.api.storage.IStorageMonitorable)

Aggregations

IAEItemStack (appeng.api.storage.data.IAEItemStack)10 IStorageMonitorable (appeng.api.storage.IStorageMonitorable)6 ItemStack (net.minecraft.item.ItemStack)3 ItemIdentifier (logisticspipes.utils.item.ItemIdentifier)2 ICraftingWatcher (appeng.api.networking.crafting.ICraftingWatcher)1 IStackWatcher (appeng.api.networking.storage.IStackWatcher)1 TreeSet (java.util.TreeSet)1