public bool AddItemToContainer(InventoryItem item) { var food = item.item.GetComponentInChildren <Eatable>(); if (food != null) { bool successful = false; if ((!food.decomposes || item.item.GetTechType() == TechType.CreepvinePiece) && CanBeStored(DumpContainer.GetCount() + 1, item.item.GetTechType())) { var rackController = FindValidRack(item.item.GetTechType(), 1, out var slot); if (rackController == null) { return(false); } rackController.AddItemToAServer(item, slot); successful = true; } else { foreach (KeyValuePair <string, FCSConnectableDevice> fcsConnectable in FCSConnectables) { if (fcsConnectable.Value.CanBeStored(1, item.item.GetTechType()) && fcsConnectable.Value.GetTechType() == Mod.GetSeaBreezeTechType()) { var result = fcsConnectable.Value.AddItemToContainer(new InventoryItem(item.item), out string reason); successful = true; if (!result) { QuickLogger.Error(reason); } break; } } } if (!successful) { QuickLogger.Message(string.Format(AuxPatchers.NoEmptySeaBreezeFormat(), item.item.GetTechType()), true); return(false); } } else { var rackController = FindValidRack(item.item.GetTechType(), 1, out var slot); if (rackController == null) { return(false); } rackController.AddItemToAServer(item, slot); } return(true); }