Prototype definitions: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (add prototype/setting with bool-setting and double-setting as example)
(Linked to overview page)
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is a list of all available prototype types in the game. 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 <code><abstract></code> cannot be directly created, they simple exist as classes that multiple prototypes can inherit properties from. '''This list and all existing prototype pages are up to date as of version 0.16. Pages with the Types/ prefix are not guaranteed to be up to date.'''
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 [http://lua-api.factorio.com/latest/Data-Lifecycle.html data phase].


General info for prototype creation:
: '''See [[prototype overview]] for a full overview of all prototypes and their properties.'''
* Prototype objects are specified in the data phase: [http://lua-api.factorio.com/latest/Data-Lifecycle.html]
 
* Only the properties listed on the page of a prototype, and the properties the prototype inherits, are recognized by the game. Any additional code will be discarded at the end of the data phase.
== Prototype hierachy ==
== Prototypes ==
This is a list of all available prototype types and their inheritance structure.<br>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 <code><abstract></code> 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/Font]] '''font'''
* [[Prototype/GodController]] '''god-controller'''
* [[Prototype/GodController]] '''god-controller'''
* [[Prototype/GuiStyle]] '''gui-style'''
* [[Prototype/MapGenPresets]] '''map-gen-presets'''
* [[Prototype/MapGenPresets]] '''map-gen-presets'''
* [[Prototype/MapSettings]] '''map-settings'''
* [[Prototype/MapSettings]] '''map-settings'''
* [[Prototype/MouseCursor]] '''mouse-cursor'''
* [[Prototype/Sound]] '''sound'''
* [[Prototype/Sound]] '''sound'''
* [[Prototype/SpectatorController]] '''spectator-controller'''
* [[Prototype/Sprite]] '''sprite'''
* [[Prototype/Sprite]] '''sprite'''
* [[Prototype/Tutorial]] '''tutorial'''
* [[Prototype/TriggerTargetType]] '''trigger-target-type'''
* [[Prototype/UtilityConstants]] '''utility-constants'''
* [[Prototype/UtilityConstants]] '''utility-constants'''
* [[Prototype/UtilitySounds]] '''utility-sounds'''
* [[Prototype/UtilitySounds]] '''utility-sounds'''
* [[Prototype/UtilitySprites]] '''utility-sprites'''
* [[Prototype/WindSound]] '''wind-sound'''
* [[Prototype]] <abstract>
* [[PrototypeBase]] <abstract>
<div class="factorio-list">
<div class="factorio-list">
:* [[Prototype/Achievement]] '''achievement'''
:* [[Prototype/Achievement]] '''achievement'''
Line 35: Line 40:
:** [[Prototype/ResearchAchievement]] '''research-achievement'''
:** [[Prototype/ResearchAchievement]] '''research-achievement'''
:** [[Prototype/TrainPathAchievement]] '''train-path-achievement'''
:** [[Prototype/TrainPathAchievement]] '''train-path-achievement'''
:* [[Prototype/AmbientSound]] '''ambient-sound'''
:* [[Prototype/AmmoCategory]] '''ammo-category'''
:* [[Prototype/AmmoCategory]] '''ammo-category'''
:* [[Prototype/AutoplaceControl]] '''autoplace-control'''
:* [[Prototype/AutoplaceControl]] '''autoplace-control'''
Line 55: Line 59:
:*** [[Prototype/Beacon]] '''beacon'''
:*** [[Prototype/Beacon]] '''beacon'''
:*** [[Prototype/Boiler]] '''boiler'''
:*** [[Prototype/Boiler]] '''boiler'''
:*** [[Prototype/Character]] '''player'''
:*** [[Prototype/Character]] '''character'''
:*** [[Prototype/Combinator]] <abstract>
:*** [[Prototype/Combinator]] <abstract>
:**** [[Prototype/ArithmeticCombinator]] '''arithmetic-combinator'''
:**** [[Prototype/ArithmeticCombinator]] '''arithmetic-combinator'''
Line 78: Line 82:
:*** [[Prototype/Gate]] '''gate'''
:*** [[Prototype/Gate]] '''gate'''
:*** [[Prototype/Generator]] '''generator'''
:*** [[Prototype/Generator]] '''generator'''
:*** [[Prototype/HeatInterface]] '''heat-interface'''
:*** [[Prototype/HeatPipe]] '''heat-pipe'''
:*** [[Prototype/HeatPipe]] '''heat-pipe'''
:*** [[Prototype/Inserter]] '''inserter'''
:*** [[Prototype/Inserter]] '''inserter'''
Line 87: Line 92:
:*** [[Prototype/OffshorePump]] '''offshore-pump'''
:*** [[Prototype/OffshorePump]] '''offshore-pump'''
:*** [[Prototype/Pipe]] '''pipe'''
:*** [[Prototype/Pipe]] '''pipe'''
:**** [[Prototype/InfinityPipe]] '''infinity-pipe'''
:*** [[Prototype/PipeToGround]] '''pipe-to-ground'''
:*** [[Prototype/PipeToGround]] '''pipe-to-ground'''
:*** [[Prototype/PlayerPort]] '''player-port'''
:*** [[Prototype/PlayerPort]] '''player-port'''
Line 131: Line 137:
:** [[Prototype/FluidStream]] '''stream'''
:** [[Prototype/FluidStream]] '''stream'''
:** [[Prototype/FlyingText]] '''flying-text'''
:** [[Prototype/FlyingText]] '''flying-text'''
:** [[Prototype/HighlightBoxEntity]] '''highlight-box'''
:** [[Prototype/ItemEntity]] '''item-entity'''
:** [[Prototype/ItemEntity]] '''item-entity'''
:** [[Prototype/ItemRequestProxy]] '''item-request-proxy'''
:** [[Prototype/ItemRequestProxy]] '''item-request-proxy'''
:** [[Prototype/LegacyDecorative]] '''decorative''' probably exists for migration
:** [[Prototype/LegacyDecorative]] '''decorative''' (for migration, cannot be used)
:** [[Prototype/Particle]] '''particle'''
:** [[Prototype/Particle]] '''particle'''
:*** [[Prototype/ArtilleryFlare]] '''artillery-flare'''
:*** [[Prototype/ArtilleryFlare]] '''artillery-flare'''
Line 143: Line 150:
:** [[Prototype/RocketSiloRocketShadow]] '''rocket-silo-rocket-shadow'''
:** [[Prototype/RocketSiloRocketShadow]] '''rocket-silo-rocket-shadow'''
:** [[Prototype/Smoke]] <abstract>
:** [[Prototype/Smoke]] <abstract>
:*** [[Prototype/SimpleSmoke]] '''smoke'''
:*** [[Prototype/SimpleSmoke]] '''smoke''' (for migration, cannot be used)
:*** [[Prototype/SmokeWithTrigger]] '''smoke-with-trigger'''
:*** [[Prototype/SmokeWithTrigger]] '''smoke-with-trigger'''
:** [[Prototype/SpeechBubble]] '''speech-bubble'''
:** [[Prototype/Sticker]] '''sticker'''
:** [[Prototype/Sticker]] '''sticker'''
:** [[Prototype/TileGhost]] '''tile-ghost'''
:** [[Prototype/TileGhost]] '''tile-ghost'''
Line 161: Line 169:
:* [[Prototype/Fluid]] '''fluid'''
:* [[Prototype/Fluid]] '''fluid'''
:* [[Prototype/FuelCategory]] '''fuel-category'''
:* [[Prototype/FuelCategory]] '''fuel-category'''
:* [[Prototype/GuiStyle]] '''gui-style'''
:* [[Prototype/Item]] '''item'''
:* [[Prototype/Item]] '''item'''
:** [[Prototype/AmmoItem]] '''ammo'''
:** [[Prototype/AmmoItem]] '''ammo'''
Line 172: Line 181:
:*** [[Prototype/SelectionTool]] '''selection-tool'''
:*** [[Prototype/SelectionTool]] '''selection-tool'''
:**** [[Prototype/BlueprintItem]] '''blueprint'''
:**** [[Prototype/BlueprintItem]] '''blueprint'''
:**** [[Prototype/CopyPasteTool]] '''copy-paste-tool'''
:**** [[Prototype/DeconstructionItem]] '''deconstruction-item'''
:**** [[Prototype/DeconstructionItem]] '''deconstruction-item'''
:**** [[Prototype/UpgradeItem]] '''upgrade-item'''
:** [[Prototype/Module]] '''module'''
:** [[Prototype/Module]] '''module'''
:** [[Prototype/RailPlanner]] '''rail-planner'''
:** [[Prototype/RailPlanner]] '''rail-planner'''
:** [[Prototype/Tool]] '''tool'''
:** [[Prototype/Tool]] '''tool'''
:*** [[Prototype/Armor]] '''armor'''
:*** [[Prototype/Armor]] '''armor'''
:*** [[Prototype/MiningTool]] '''mining-tool'''
:*** [[Prototype/MiningTool]] '''mining-tool''' (for migration, cannot be used)
:*** [[Prototype/RepairTool]] '''repair-tool'''
:*** [[Prototype/RepairTool]] '''repair-tool'''
:* [[Prototype/ItemGroup]] '''item-group'''
:* [[Prototype/ItemGroup]] '''item-group'''
Line 185: Line 196:
:* [[Prototype/NoiseLayer]] '''noise-layer'''
:* [[Prototype/NoiseLayer]] '''noise-layer'''
:* [[Prototype/Decorative]] '''optimized-decorative'''
:* [[Prototype/Decorative]] '''optimized-decorative'''
:* [[Prototype/RailCategory]] '''rail-category'''
:* [[Prototype/Recipe]] '''recipe'''
:* [[Prototype/Recipe]] '''recipe'''
:* [[Prototype/RecipeCategory]] '''recipe-category'''
:* [[Prototype/RecipeCategory]] '''recipe-category'''
:* [[Prototype/ResourceCategory]] '''resource-category'''
:* [[Prototype/ResourceCategory]] '''resource-category'''
:* [[Prototype/Setting]]
:* [[Prototype/Shortcut]] '''shortcut'''
:** [[Prototype/BoolSetting]] '''bool-setting'''
:** [[Prototype/DoubleSetting]] '''double-setting'''
:* [[Prototype/Technology]] '''technology'''
:* [[Prototype/Technology]] '''technology'''
:* [[Prototype/Tile]] '''tile'''
:* [[Prototype/Tile]] '''tile'''
:* [[Prototype/TrivialSmoke]] '''trivial-smoke'''
:* [[Prototype/TrivialSmoke]] '''trivial-smoke'''
:* [[Prototype/Tutorial]] '''tutorial'''
:* [[Prototype/UtilitySprites]] '''utility-sprites'''
:* [[Prototype/VirtualSignal]] '''virtual-signal'''
:* [[Prototype/VirtualSignal]] '''virtual-signal'''
</div>
</div>

Revision as of 19:07, 8 August 2019

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 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.