Factorio.com|Forums|Wiki|Mod Portal|API Docs

# Factorio Runtime Docs Version 2.0.77

# TechnologyPrototypeFilter - Runtime Docs

## TechnologyPrototypeFilter :: table

#### Table fields

filter | :: `"enabled"` or `"hidden"` or `"upgrade"` or `"visible-when-disabled"` or `"has-effects"` or `"has-prerequisites"` or `"research-unit-ingredient"` or `"unlocks-recipe"` or `"level"` or `"max-level"` or `"time"` | The condition to filter on.
The condition to filter on.
mode | :: `"or"` or `"and"`? | How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
How to combine this with the previous filter. Defaults to `"or"`. When evaluating the filters, `"and"` has higher precedence than `"or"`.
invert | :: boolean? | Inverts the condition. Default is `false`.
Inverts the condition. Default is `false`.

Other attributes may be specified depending on `filter`:

#### `research-unit-ingredient`

ingredient | :: string | The research ingredient to check.
The research ingredient to check.

#### `unlocks-recipe`

recipe | :: string | The recipe to check.
The recipe to check.

#### `level`

comparison | :: ComparatorString |
value | :: uint32 | The value to compare against.
The value to compare against.

#### `max-level`

comparison | :: ComparatorString |
value | :: uint32 | The value to compare against.
The value to compare against.

#### `time`

comparison | :: ComparatorString |
value | :: uint32 | The value to compare against.
The value to compare against.

Concept used in

- LuaPrototypes::get_technology_filtered()
- PrototypeFilter