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

# Factorio Auxiliary Docs Version 2.0.77

# Prototype Inheritance Tree - Auxiliary Docs

## Prototype Inheritance Tree

Prototypes rely on multiple levels of inheritance, which this page lists as a tree structure.

- AmbientSound - 'ambient-sound'
- AnimationPrototype - 'animation'
- DeliverCategory - 'deliver-category'
- DeliverImpactCombination - 'deliver-impact-combination'
- EditorControllerPrototype - 'editor-controller'
- FontPrototype - 'font'
- GodControllerPrototype - 'god-controller'
- ImpactCategory - 'impact-category'
- MapGenPresets - 'map-gen-presets'
- MapSettings - 'map-settings'
- MouseCursor - 'mouse-cursor'
- PrototypeBase - abstract
  - GuiStyle - 'gui-style'
  - Prototype - abstract
    - AchievementPrototype - 'achievement'
      - AchievementPrototypeWithCondition - abstract
        - CompleteObjectiveAchievementPrototype - 'complete-objective-achievement'
        - DontBuildEntityAchievementPrototype - 'dont-build-entity-achievement'
        - DontCraftManuallyAchievementPrototype - 'dont-craft-manually-achievement'
        - DontKillManuallyAchievementPrototype - 'dont-kill-manually-achievement'
        - DontResearchBeforeResearchingAchievementPrototype - 'dont-research-before-researching-achievement'
        - DontUseEntityInEnergyProductionAchievementPrototype - 'dont-use-entity-in-energy-production-achievement'
      - BuildEntityAchievementPrototype - 'build-entity-achievement'
      - ChangedSurfaceAchievementPrototype - 'change-surface-achievement'
      - CombatRobotCountAchievementPrototype - 'combat-robot-count-achievement'
      - ConstructWithRobotsAchievementPrototype - 'construct-with-robots-achievement'
      - CreatePlatformAchievementPrototype - 'create-platform-achievement'
      - DeconstructWithRobotsAchievementPrototype - 'deconstruct-with-robots-achievement'
      - DeliverByRobotsAchievementPrototype - 'deliver-by-robots-achievement'
      - DepleteResourceAchievementPrototype - 'deplete-resource-achievement'
      - DestroyCliffAchievementPrototype - 'destroy-cliff-achievement'
      - EquipArmorAchievementPrototype - 'equip-armor-achievement'
      - GroupAttackAchievementPrototype - 'group-attack-achievement'
      - KillAchievementPrototype - 'kill-achievement'
      - ModuleTransferAchievementPrototype - 'module-transfer-achievement'
      - PlaceEquipmentAchievementPrototype - 'place-equipment-achievement'
      - PlayerDamagedAchievementPrototype - 'player-damaged-achievement'
      - ProduceAchievementPrototype - 'produce-achievement'
      - ProducePerHourAchievementPrototype - 'produce-per-hour-achievement'
      - ResearchAchievementPrototype - 'research-achievement'
      - ResearchWithSciencePackAchievementPrototype - 'research-with-science-pack-achievement'
      - ShootAchievementPrototype - 'shoot-achievement'
      - SpaceConnectionDistanceTraveledAchievementPrototype - 'space-connection-distance-traveled-achievement'
      - TrainPathAchievementPrototype - 'train-path-achievement'
      - UseEntityInEnergyProductionAchievementPrototype - 'use-entity-in-energy-production-achievement'
      - UseItemAchievementPrototype - 'use-item-achievement'
    - ActiveTriggerPrototype - abstract
      - ChainActiveTriggerPrototype - 'chain-active-trigger'
      - DelayedActiveTriggerPrototype - 'delayed-active-trigger'
    - AirbornePollutantPrototype - 'airborne-pollutant'
    - AmmoCategory - 'ammo-category'
    - AsteroidChunkPrototype - 'asteroid-chunk'
    - AutoplaceControl - 'autoplace-control'
    - BurnerUsagePrototype - 'burner-usage'
    - CollisionLayerPrototype - 'collision-layer'
    - CustomEventPrototype - 'custom-event'
    - CustomInputPrototype - 'custom-input'
    - DamageType - 'damage-type'
    - DecorativePrototype - 'optimized-decorative'
    - EntityPrototype - abstract
      - ArrowPrototype - 'arrow'
      - ArtilleryFlarePrototype - 'artillery-flare'
      - ArtilleryProjectilePrototype - 'artillery-projectile'
      - BeamPrototype - 'beam'
      - CharacterCorpsePrototype - 'character-corpse'
      - CliffPrototype - 'cliff'
      - CorpsePrototype - 'corpse'
        - RailRemnantsPrototype - 'rail-remnants'
      - DeconstructibleTileProxyPrototype - 'deconstructible-tile-proxy'
      - EntityGhostPrototype - 'entity-ghost'
      - EntityWithHealthPrototype - abstract
        - EntityWithOwnerPrototype - abstract
          - AccumulatorPrototype - 'accumulator'
          - AgriculturalTowerPrototype - 'agricultural-tower'
          - ArtilleryTurretPrototype - 'artillery-turret'
          - AsteroidCollectorPrototype - 'asteroid-collector'
          - AsteroidPrototype - 'asteroid'
          - BeaconPrototype - 'beacon'
          - BoilerPrototype - 'boiler'
          - BurnerGeneratorPrototype - 'burner-generator'
          - CargoBayPrototype - 'cargo-bay'
          - CargoLandingPadPrototype - 'cargo-landing-pad'
          - CargoPodPrototype - 'cargo-pod'
          - CharacterPrototype - 'character'
          - CombinatorPrototype - abstract
            - ArithmeticCombinatorPrototype - 'arithmetic-combinator'
            - DeciderCombinatorPrototype - 'decider-combinator'
            - SelectorCombinatorPrototype - 'selector-combinator'
          - ConstantCombinatorPrototype - 'constant-combinator'
          - ContainerPrototype - 'container'
            - LogisticContainerPrototype - 'logistic-container'
              - InfinityContainerPrototype - 'infinity-container'
            - TemporaryContainerPrototype - 'temporary-container'
          - CraftingMachinePrototype - abstract
            - AssemblingMachinePrototype - 'assembling-machine'
              - RocketSiloPrototype - 'rocket-silo'
            - FurnacePrototype - 'furnace'
          - DisplayPanelPrototype - 'display-panel'
          - ElectricEnergyInterfacePrototype - 'electric-energy-interface'
          - ElectricPolePrototype - 'electric-pole'
          - EnemySpawnerPrototype - 'unit-spawner'
          - FlyingRobotPrototype - abstract
            - CaptureRobotPrototype - 'capture-robot'
            - CombatRobotPrototype - 'combat-robot'
            - RobotWithLogisticInterfacePrototype - abstract
              - ConstructionRobotPrototype - 'construction-robot'
              - LogisticRobotPrototype - 'logistic-robot'
          - FusionGeneratorPrototype - 'fusion-generator'
          - FusionReactorPrototype - 'fusion-reactor'
          - GatePrototype - 'gate'
          - GeneratorPrototype - 'generator'
          - HeatInterfacePrototype - 'heat-interface'
          - HeatPipePrototype - 'heat-pipe'
          - InserterPrototype - 'inserter'
          - LabPrototype - 'lab'
          - LampPrototype - 'lamp'
          - LandMinePrototype - 'land-mine'
          - LightningAttractorPrototype - 'lightning-attractor'
          - LinkedContainerPrototype - 'linked-container'
          - MarketPrototype - 'market'
          - MiningDrillPrototype - 'mining-drill'
          - OffshorePumpPrototype - 'offshore-pump'
          - PipePrototype - 'pipe'
            - InfinityPipePrototype - 'infinity-pipe'
          - PipeToGroundPrototype - 'pipe-to-ground'
          - PlayerPortPrototype - 'player-port'
          - PowerSwitchPrototype - 'power-switch'
          - ProgrammableSpeakerPrototype - 'programmable-speaker'
          - ProxyContainerPrototype - 'proxy-container'
          - PumpPrototype - 'pump'
          - RadarPrototype - 'radar'
          - RailPrototype - abstract
            - CurvedRailAPrototype - 'curved-rail-a'
              - ElevatedCurvedRailAPrototype - 'elevated-curved-rail-a'
            - CurvedRailBPrototype - 'curved-rail-b'
              - ElevatedCurvedRailBPrototype - 'elevated-curved-rail-b'
            - HalfDiagonalRailPrototype - 'half-diagonal-rail'
              - ElevatedHalfDiagonalRailPrototype - 'elevated-half-diagonal-rail'
            - LegacyCurvedRailPrototype - 'legacy-curved-rail'
            - LegacyStraightRailPrototype - 'legacy-straight-rail'
            - RailRampPrototype - 'rail-ramp'
            - StraightRailPrototype - 'straight-rail'
              - ElevatedStraightRailPrototype - 'elevated-straight-rail'
          - RailSignalBasePrototype - abstract
            - RailChainSignalPrototype - 'rail-chain-signal'
            - RailSignalPrototype - 'rail-signal'
          - RailSupportPrototype - 'rail-support'
          - ReactorPrototype - 'reactor'
          - RoboportPrototype - 'roboport'
          - SegmentPrototype - 'segment'
            - SegmentedUnitPrototype - 'segmented-unit'
          - SimpleEntityWithOwnerPrototype - 'simple-entity-with-owner'
            - SimpleEntityWithForcePrototype - 'simple-entity-with-force'
          - SolarPanelPrototype - 'solar-panel'
          - SpacePlatformHubPrototype - 'space-platform-hub'
          - SpiderLegPrototype - 'spider-leg'
          - SpiderUnitPrototype - 'spider-unit'
          - StorageTankPrototype - 'storage-tank'
          - ThrusterPrototype - 'thruster'
          - TrainStopPrototype - 'train-stop'
          - TransportBeltConnectablePrototype - abstract
            - LaneSplitterPrototype - 'lane-splitter'
            - LinkedBeltPrototype - 'linked-belt'
            - LoaderPrototype - abstract
              - Loader1x1Prototype - 'loader-1x1'
              - Loader1x2Prototype - 'loader'
            - SplitterPrototype - 'splitter'
            - TransportBeltPrototype - 'transport-belt'
            - UndergroundBeltPrototype - 'underground-belt'
          - TurretPrototype - 'turret'
            - AmmoTurretPrototype - 'ammo-turret'
            - ElectricTurretPrototype - 'electric-turret'
            - FluidTurretPrototype - 'fluid-turret'
          - UnitPrototype - 'unit'
          - ValvePrototype - 'valve'
          - VehiclePrototype - abstract
            - CarPrototype - 'car'
            - RollingStockPrototype - abstract
              - ArtilleryWagonPrototype - 'artillery-wagon'
              - CargoWagonPrototype - 'cargo-wagon'
                - InfinityCargoWagonPrototype - 'infinity-cargo-wagon'
              - FluidWagonPrototype - 'fluid-wagon'
              - LocomotivePrototype - 'locomotive'
            - SpiderVehiclePrototype - 'spider-vehicle'
          - WallPrototype - 'wall'
        - FishPrototype - 'fish'
        - SimpleEntityPrototype - 'simple-entity'
        - TreePrototype - 'tree'
          - PlantPrototype - 'plant'
      - ExplosionPrototype - 'explosion'
      - FireFlamePrototype - 'fire'
      - FluidStreamPrototype - 'stream'
      - HighlightBoxEntityPrototype - 'highlight-box'
      - ItemEntityPrototype - 'item-entity'
      - ItemRequestProxyPrototype - 'item-request-proxy'
      - LightningPrototype - 'lightning'
      - ParticleSourcePrototype - 'particle-source'
      - ProjectilePrototype - 'projectile'
      - ResourceEntityPrototype - 'resource'
      - RocketSiloRocketPrototype - 'rocket-silo-rocket'
      - RocketSiloRocketShadowPrototype - 'rocket-silo-rocket-shadow'
      - SmokePrototype - abstract
        - SmokeWithTriggerPrototype - 'smoke-with-trigger'
      - SpeechBubblePrototype - 'speech-bubble'
      - StickerPrototype - 'sticker'
      - TileGhostPrototype - 'tile-ghost'
    - EquipmentCategory - 'equipment-category'
    - EquipmentGridPrototype - 'equipment-grid'
    - EquipmentPrototype - abstract
      - ActiveDefenseEquipmentPrototype - 'active-defense-equipment'
      - BatteryEquipmentPrototype - 'battery-equipment'
      - BeltImmunityEquipmentPrototype - 'belt-immunity-equipment'
      - EnergyShieldEquipmentPrototype - 'energy-shield-equipment'
      - EquipmentGhostPrototype - 'equipment-ghost'
      - GeneratorEquipmentPrototype - 'generator-equipment'
      - InventoryBonusEquipmentPrototype - 'inventory-bonus-equipment'
      - MovementBonusEquipmentPrototype - 'movement-bonus-equipment'
      - NightVisionEquipmentPrototype - 'night-vision-equipment'
      - RoboportEquipmentPrototype - 'roboport-equipment'
      - SolarPanelEquipmentPrototype - 'solar-panel-equipment'
    - FluidPrototype - 'fluid'
    - FuelCategory - 'fuel-category'
    - ItemGroup - 'item-group'
    - ItemPrototype - 'item'
      - AmmoItemPrototype - 'ammo'
      - CapsulePrototype - 'capsule'
      - GunPrototype - 'gun'
      - ItemWithEntityDataPrototype - 'item-with-entity-data'
      - ItemWithLabelPrototype - 'item-with-label'
        - ItemWithInventoryPrototype - 'item-with-inventory'
          - BlueprintBookPrototype - 'blueprint-book'
        - ItemWithTagsPrototype - 'item-with-tags'
        - SelectionToolPrototype - 'selection-tool'
          - BlueprintItemPrototype - 'blueprint'
          - CopyPasteToolPrototype - 'copy-paste-tool'
          - DeconstructionItemPrototype - 'deconstruction-item'
          - SpidertronRemotePrototype - 'spidertron-remote'
          - UpgradeItemPrototype - 'upgrade-item'
      - ModulePrototype - 'module'
      - RailPlannerPrototype - 'rail-planner'
      - SpacePlatformStarterPackPrototype - 'space-platform-starter-pack'
      - ToolPrototype - 'tool'
        - ArmorPrototype - 'armor'
        - RepairToolPrototype - 'repair-tool'
    - ItemSubGroup - 'item-subgroup'
    - ModData - 'mod-data'
    - ModuleCategory - 'module-category'
    - NamedNoiseExpression - 'noise-expression'
    - NamedNoiseFunction - 'noise-function'
    - ParticlePrototype - 'optimized-particle'
    - ProcessionLayerInheritanceGroup - 'procession-layer-inheritance-group'
    - ProcessionPrototype - 'procession'
    - QualityPrototype - 'quality'
    - RecipeCategory - 'recipe-category'
    - RecipePrototype - 'recipe'
    - ResourceCategory - 'resource-category'
    - ShortcutPrototype - 'shortcut'
    - SpaceConnectionPrototype - 'space-connection'
    - SpaceLocationPrototype - 'space-location'
      - PlanetPrototype - 'planet'
    - SurfacePropertyPrototype - 'surface-property'
    - SurfacePrototype - 'surface'
    - TechnologyPrototype - 'technology'
    - TilePrototype - 'tile'
    - TrivialSmokePrototype - 'trivial-smoke'
    - VirtualSignalPrototype - 'virtual-signal'
  - TipsAndTricksItem - 'tips-and-tricks-item'
  - TutorialDefinition - 'tutorial'
  - UtilityConstants - 'utility-constants'
  - UtilitySounds - 'utility-sounds'
  - UtilitySprites - 'utility-sprites'
- RemoteControllerPrototype - 'remote-controller'
- SoundPrototype - 'sound'
- SpectatorControllerPrototype - 'spectator-controller'
- SpritePrototype - 'sprite'
- TileEffectDefinition - 'tile-effect'
- TipsAndTricksItemCategory - 'tips-and-tricks-item-category'
- TriggerTargetType - 'trigger-target-type'