Search in sources :

Example 26 with Pair

use of logisticspipes.utils.tuples.Pair in project LogisticsPipes by RS485.

the class PipeTransportLogistics method readFromNBT.

public void readFromNBT(NBTTagCompound nbt) {
    NBTTagList nbttaglist = nbt.getTagList("travelingEntities", 10);
    for (int j = 0; j < nbttaglist.tagCount(); ++j) {
        try {
            NBTTagCompound dataTag = nbttaglist.getCompoundTagAt(j);
            LPTravelingItem item = new LPTravelingItemServer(dataTag);
            if (item.isCorrupted()) {
                continue;
            }
            items.scheduleLoad(item);
        } catch (Throwable t) {
        // It may be the case that entities cannot be reloaded between
        // two versions - ignore these errors.
        }
    }
    _itemBuffer.clear();
    NBTTagList nbttaglist2 = nbt.getTagList("buffercontents", 10);
    for (int i = 0; i < nbttaglist2.tagCount(); i++) {
        NBTTagCompound nbttagcompound1 = nbttaglist2.getCompoundTagAt(i);
        _itemBuffer.add(new Triplet<>(ItemIdentifierStack.getFromStack(ItemStack.loadItemStackFromNBT(nbttagcompound1)), new Pair<>(_bufferTimeOut, 0), null));
    }
}
Also used : NBTTagList(net.minecraft.nbt.NBTTagList) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) LPTravelingItemServer(logisticspipes.transport.LPTravelingItem.LPTravelingItemServer) Pair(logisticspipes.utils.tuples.Pair)

Example 27 with Pair

use of logisticspipes.utils.tuples.Pair in project LogisticsPipes by RS485.

the class PipeTransportLogistics method writeToNBT.

public void writeToNBT(NBTTagCompound nbt) {
    {
        NBTTagList nbttaglist = new NBTTagList();
        for (LPTravelingItem item : items) {
            if (item instanceof LPTravelingItemServer) {
                NBTTagCompound dataTag = new NBTTagCompound();
                nbttaglist.appendTag(dataTag);
                ((LPTravelingItemServer) item).writeToNBT(dataTag);
            }
        }
        nbt.setTag("travelingEntities", nbttaglist);
    }
    NBTTagList nbttaglist2 = new NBTTagList();
    for (Pair<ItemIdentifierStack, Pair<Integer, Integer>> stack : _itemBuffer) {
        NBTTagCompound nbttagcompound1 = new NBTTagCompound();
        stack.getValue1().makeNormalStack().writeToNBT(nbttagcompound1);
        nbttaglist2.appendTag(nbttagcompound1);
    }
    nbt.setTag("buffercontents", nbttaglist2);
}
Also used : NBTTagList(net.minecraft.nbt.NBTTagList) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ItemIdentifierStack(logisticspipes.utils.item.ItemIdentifierStack) LPTravelingItemServer(logisticspipes.transport.LPTravelingItem.LPTravelingItemServer) Pair(logisticspipes.utils.tuples.Pair)

Aggregations

Pair (logisticspipes.utils.tuples.Pair)27 ForgeDirection (net.minecraftforge.common.util.ForgeDirection)13 CoreRoutedPipe (logisticspipes.pipes.basic.CoreRoutedPipe)11 ItemIdentifierStack (logisticspipes.utils.item.ItemIdentifierStack)11 ArrayList (java.util.ArrayList)10 List (java.util.List)9 SimpleServiceLocator (logisticspipes.proxy.SimpleServiceLocator)8 Map (java.util.Map)7 IFilter (logisticspipes.interfaces.routing.IFilter)7 ExitRoute (logisticspipes.routing.ExitRoute)7 ItemStack (net.minecraft.item.ItemStack)7 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)7 HashMap (java.util.HashMap)6 LinkedList (java.util.LinkedList)6 Entry (java.util.Map.Entry)6 MainProxy (logisticspipes.proxy.MainProxy)6 IRouter (logisticspipes.routing.IRouter)6 ItemIdentifier (logisticspipes.utils.item.ItemIdentifier)6 IInventory (net.minecraft.inventory.IInventory)6 TileEntity (net.minecraft.tileentity.TileEntity)6