Prototype definitions
The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/tree.html.
This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.
Prototypes are used to specify what items, entities, technologies (etc) exist in the game and what their properties are. Prototypes are created and modified in the data phase.
See Tutorial:Mod settings for the settings stage documentation and lua-api.factorio.com for the runtime API documentation.
- See prototype overview for a full overview of all prototypes and their properties.
Prototype hierachy
This is a list of all available prototype types and their inheritance structure.
Each point lists the link to the prototype page which is named after the class in the code, and the string that is used as the type name. Prototypes that have the type name <abstract>
cannot be directly created, they simple exist as classes that multiple prototypes can inherit properties from.
- Prototype/AmbientSound ambient-sound
- Prototype/Animation animation
- Prototype/EditorController editor-controller
- Prototype/Font font
- Prototype/GodController god-controller
- Prototype/MapGenPresets map-gen-presets
- Prototype/MapSettings map-settings
- Prototype/MouseCursor mouse-cursor
- Prototype/Sound sound
- Prototype/SpectatorController spectator-controller
- Prototype/Sprite sprite
- Prototype/TileEffect tile-effect
- Prototype/TipsAndTricksItemCategory tips-and-tricks-item-category
- Prototype/TriggerTargetType trigger-target-type
- Prototype/WindSound wind-sound
- PrototypeBase <abstract>
- Prototype/Achievement achievement
- Prototype/BuildEntityAchievement build-entity-achievement
- Prototype/CombatRobotCountAchievement combat-robot-count
- Prototype/ConstructWithRobotsAchievement construct-with-robots-achievement
- Prototype/DeconstructWithRobotsAchievement deconstruct-with-robots-achievement
- Prototype/DeliverByRobotsAchievement deliver-by-robots-achievement
- Prototype/DontBuildEntityAchievement dont-build-entity-achievement
- Prototype/DontCraftManuallyAchievement dont-craft-manually-achievement
- Prototype/DontUseEntityInEnergyProductionAchievement dont-use-entity-in-energy-production-achievement
- Prototype/FinishTheGameAchievement finish-the-game-achievement
- Prototype/GroupAttackAchievement group-attack-achievement
- Prototype/KillAchievement kill-achievement
- Prototype/PlayerDamagedAchievement player-damaged-achievement
- Prototype/ProduceAchievement produce-achievement
- Prototype/ProducePerHourAchievement produce-per-hour-achievement
- Prototype/ResearchAchievement research-achievement
- Prototype/TrainPathAchievement train-path-achievement
- Prototype/AmmoCategory ammo-category
- Prototype/AutoplaceControl autoplace-control
- Prototype/CustomInput custom-input
- Prototype/DamageType damage-type
- Prototype/Decorative optimized-decorative
- Prototype/Entity <abstract>
- Prototype/Arrow arrow
- Prototype/ArtilleryFlare artillery-flare
- Prototype/ArtilleryProjectile artillery-projectile
- Prototype/Beam beam
- Prototype/CharacterCorpse character-corpse
- Prototype/Cliff cliff
- Prototype/Corpse corpse
- Prototype/RailRemnants rail-remnants
- Prototype/DeconstructibleTileProxy deconstructible-tile-proxy
- Prototype/EntityGhost entity-ghost
- Prototype/EntityParticle particle (for migration, cannot be used)
- Prototype/LeafParticle leaf-particle (for migration, cannot be used)
- Prototype/EntityWithHealth <abstract>
- Prototype/EntityWithOwner <abstract>
- Prototype/Accumulator accumulator
- Prototype/ArtilleryTurret artillery-turret
- Prototype/Beacon beacon
- Prototype/Boiler boiler
- Prototype/BurnerGenerator burner-generator
- Prototype/Character character
- Prototype/Combinator <abstract>
- Prototype/ArithmeticCombinator arithmetic-combinator
- Prototype/DeciderCombinator decider-combinator
- Prototype/ConstantCombinator constant-combinator
- Prototype/Container container
- Prototype/LogisticContainer logistic-container
- Prototype/InfinityContainer infinity-container
- Prototype/LogisticContainer logistic-container
- Prototype/CraftingMachine <abstract>
- Prototype/AssemblingMachine assembling-machine
- Prototype/RocketSilo rocket-silo
- Prototype/Furnace furnace
- Prototype/AssemblingMachine assembling-machine
- Prototype/ElectricEnergyInterface electric-energy-interface
- Prototype/ElectricPole electric-pole
- Prototype/EnemySpawner unit-spawner
- Prototype/FlyingRobot <abstract>
- Prototype/CombatRobot combat-robot
- Prototype/RobotWithLogisticInterface <abstract>
- Prototype/ConstructionRobot construction-robot
- Prototype/LogisticRobot logistic-robot
- Prototype/Gate gate
- Prototype/Generator generator
- Prototype/HeatInterface heat-interface
- Prototype/HeatPipe heat-pipe
- Prototype/Inserter inserter
- Prototype/Lab lab
- Prototype/Lamp lamp
- Prototype/LandMine land-mine
- Prototype/LinkedContainer linked-container
- Prototype/Market market
- Prototype/MiningDrill mining-drill
- Prototype/OffshorePump offshore-pump
- Prototype/Pipe pipe
- Prototype/InfinityPipe infinity-pipe
- Prototype/PipeToGround pipe-to-ground
- Prototype/PlayerPort player-port
- Prototype/PowerSwitch power-switch
- Prototype/ProgrammableSpeaker programmable-speaker
- Prototype/Pump pump
- Prototype/Radar radar
- Prototype/Rail <abstract>
- Prototype/CurvedRail curved-rail
- Prototype/StraightRail straight-rail
- Prototype/RailSignalBase <abstract>
- Prototype/RailChainSignal rail-chain-signal
- Prototype/RailSignal rail-signal
- Prototype/Reactor reactor
- Prototype/Roboport roboport
- Prototype/SimpleEntityWithOwner simple-entity-with-owner
- Prototype/SimpleEntityWithForce simple-entity-with-force
- Prototype/SolarPanel solar-panel
- Prototype/StorageTank storage-tank
- Prototype/TrainStop train-stop
- Prototype/TransportBeltConnectable <abstract>
- Prototype/LinkedBelt linked-belt
- Prototype/Loader1x1 loader-1x1
- Prototype/Loader1x2 loader
- Prototype/Splitter splitter
- Prototype/TransportBelt transport-belt
- Prototype/UndergroundBelt underground-belt
- Prototype/Turret turret
- Prototype/AmmoTurret ammo-turret
- Prototype/ElectricTurret electric-turret
- Prototype/FluidTurret fluid-turret
- Prototype/Unit unit
- Prototype/Vehicle <abstract>
- Prototype/Car car
- Prototype/RollingStock <abstract>
- Prototype/ArtilleryWagon artillery-wagon
- Prototype/CargoWagon cargo-wagon
- Prototype/FluidWagon fluid-wagon
- Prototype/Locomotive locomotive
- Prototype/SpiderVehicle spider-vehicle
- Prototype/Wall wall
- Prototype/Fish fish
- Prototype/SimpleEntity simple-entity
- Prototype/SpiderLeg spider-leg
- Prototype/Tree tree
- Prototype/EntityWithOwner <abstract>
- Prototype/Explosion explosion
- Prototype/FlameThrowerExplosion flame-thrower-explosion
- Prototype/FireFlame fire
- Prototype/FluidStream stream
- Prototype/FlyingText flying-text
- Prototype/HighlightBoxEntity highlight-box
- Prototype/ItemEntity item-entity
- Prototype/ItemRequestProxy item-request-proxy
- Prototype/ParticleSource particle-source
- Prototype/Projectile projectile
- Prototype/ResourceEntity resource
- Prototype/RocketSiloRocket rocket-silo-rocket
- Prototype/RocketSiloRocketShadow rocket-silo-rocket-shadow
- Prototype/Smoke <abstract>
- Prototype/SimpleSmoke smoke (for migration, cannot be used)
- Prototype/SmokeWithTrigger smoke-with-trigger
- Prototype/SpeechBubble speech-bubble
- Prototype/Sticker sticker
- Prototype/TileGhost tile-ghost
- Prototype/Equipment <abstract>
- Prototype/ActiveDefenseEquipment active-defense-equipment
- Prototype/BatteryEquipment battery-equipment
- Prototype/BeltImmunityEquipment belt-immunity-equipment
- Prototype/EnergyShieldEquipment energy-shield-equipment
- Prototype/GeneratorEquipment generator-equipment
- Prototype/MovementBonusEquipment movement-bonus-equipment
- Prototype/NightVisionEquipment night-vision-equipment
- Prototype/RoboportEquipment roboport-equipment
- Prototype/SolarPanelEquipment solar-panel-equipment
- Prototype/EquipmentCategory equipment-category
- Prototype/EquipmentGrid equipment-grid
- Prototype/Fluid fluid
- Prototype/FuelCategory fuel-category
- Prototype/GuiStyle gui-style
- Prototype/Item item
- Prototype/AmmoItem ammo
- Prototype/Capsule capsule
- Prototype/Gun gun
- Prototype/ItemWithEntityData item-with-entity-data
- Prototype/ItemWithLabel item-with-label
- Prototype/ItemWithInventory item-with-inventory
- Prototype/BlueprintBook blueprint-book
- Prototype/ItemWithTags item-with-tags
- Prototype/SelectionTool selection-tool
- Prototype/BlueprintItem blueprint
- Prototype/CopyPasteTool copy-paste-tool
- Prototype/DeconstructionItem deconstruction-item
- Prototype/UpgradeItem upgrade-item
- Prototype/ItemWithInventory item-with-inventory
- Prototype/Module module
- Prototype/RailPlanner rail-planner
- Prototype/SpidertronRemote spidertron-remote
- Prototype/Tool tool
- Prototype/Armor armor
- Prototype/MiningTool mining-tool (for migration, cannot be used)
- Prototype/RepairTool repair-tool
- Prototype/ItemGroup item-group
- Prototype/ItemSubGroup item-subgroup
- Prototype/ModuleCategory module-category
- Prototype/NamedNoiseExpression noise-expression
- Prototype/NoiseLayer noise-layer
- Prototype/Particle optimized-particle
- Prototype/Recipe recipe
- Prototype/RecipeCategory recipe-category
- Prototype/ResourceCategory resource-category
- Prototype/Shortcut shortcut
- Prototype/Technology technology
- Prototype/Tile tile
- Prototype/TipsAndTricksItem tips-and-tricks-item
- Prototype/TrivialSmoke trivial-smoke
- Prototype/Tutorial tutorial
- Prototype/UtilityConstants utility-constants
- Prototype/UtilitySounds utility-sounds
- Prototype/UtilitySprites utility-sprites
- Prototype/VirtualSignal virtual-signal