package mekanism.common.content.teleportation;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import mekanism.api.gas.GasRegistry;
import mekanism.api.gas.GasStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
public class SharedInventoryManager
{
public static HashMap<String, SharedInventory> inventories = new HashMap<String, SharedInventory>();
public static SharedInventory getInventory(String frequency)
{
if(frequency.length() <= 0)
{
return null;
}
SharedInventory inv = inventories.get(frequency);
if(inv == null)
{
inv = new SharedInventory(frequency);
inventories.put(frequency, inv);
}
if(frequency.startsWith("creative."))
{
Iterator<String> creativeFreqs = Arrays.asList(frequency.substring(9).split("\\.")).iterator();
while(creativeFreqs.hasNext())
{
String type = creativeFreqs.next();
if(type.equals("energy"))
{
inv.MAX_ENERGY = Integer.MAX_VALUE;
inv.setEnergy(Integer.MAX_VALUE);
}
else if(type.equals("fluid") && creativeFreqs.hasNext())
{
String fluidType = creativeFreqs.next();
if(FluidRegistry.isFluidRegistered(fluidType))
{
inv.storedFluid.setCapacity(Integer.MAX_VALUE);
inv.storedFluid.setFluid(new FluidStack(FluidRegistry.getFluid(fluidType), Integer.MAX_VALUE));
}
}
else if(type.equals("gas") && creativeFreqs.hasNext())
{
String gasType = creativeFreqs.next();
if(GasRegistry.containsGas(gasType))
{
inv.storedGas.setMaxGas(Integer.MAX_VALUE);
inv.storedGas.setGas(new GasStack(GasRegistry.getGas(gasType), Integer.MAX_VALUE));
}
}
}
}
return inv;
}
}