If I delete every locomotive entity prototype:
> 'entity' prototype type 'locomotive' requires at least 1 prototype be defined so save files can be loaded
This rule seems to apply to locomotive and solar-panel, but not to thruster or agricultural-tower which seem to behave just fine with every prototype removed from the type.
It would be helpful if the api docs described this distinction across all the other types.
Document prototype types allowed to be empty
Re: Document prototype types allowed to be empty
Claude Opus 5 helped me build this partial list
Cannot be emptied: 106 types
The game refuses to start without at least one prototype of each of these.
Can be emptied: 73 types
The game loads with the category present but empty.
Undetermined: 72 types
For these, a reference somewhere else fails the load before the engine gets as far as counting prototypes, so the question never gets asked. They may or may not need a survivor.
Cannot be emptied: 106 types
The game refuses to start without at least one prototype of each of these.
Code: Select all
accumulator, arithmetic-combinator, arrow, artillery-turret, artillery-wagon, beacon, blueprint, boiler, burner-generator, car, cargo-wagon, character, character-corpse, cliff, constant-combinator, construction-robot, container, copy-paste-tool, curved-rail-a, curved-rail-b, decider-combinator, deconstructible-tile-proxy, display-panel, editor-controller, electric-energy-interface, electric-pole, electric-turret, elevated-curved-rail-a, elevated-curved-rail-b, elevated-half-diagonal-rail, elevated-straight-rail, entity-ghost, equipment-ghost, equipment-grid, fish, fluid-wagon, gate, generator, god-controller, gun, half-diagonal-rail, heat-interface, heat-pipe, highlight-box, infinity-cargo-wagon, infinity-container, infinity-pipe, inserter, item-entity, item-group, item-request-proxy, item-subgroup, lab, lamp, land-mine, lane-splitter, legacy-curved-rail, legacy-straight-rail, linked-belt, linked-container, loader, loader-1x1, locomotive, logistic-container, logistic-robot, map-settings, market, mining-drill, noise-expression, offshore-pump, pipe, pipe-to-ground, power-switch, programmable-speaker, proxy-container, pump, radar, rail-chain-signal, rail-ramp, rail-remnants, rail-signal, rail-support, reactor, remote-controller, roboport, rocket-silo, rocket-silo-rocket, rocket-silo-rocket-shadow, selector-combinator, simple-entity-with-force, simple-entity-with-owner, solar-panel, spectator-controller, speech-bubble, spider-vehicle, splitter, storage-tank, straight-rail, tile-ghost, train-stop, transport-belt, turret, underground-belt, upgrade-item, valve, wallThe game loads with the category present but empty.
Code: Select all
achievement, agricultural-tower, ambient-sound, ammo, assembling-machine, battery-equipment, belt-immunity-equipment, blueprint-book, build-entity-achievement, cargo-bay, cargo-landing-pad, change-surface-achievement, combat-robot-count-achievement, complete-objective-achievement, construct-with-robots-achievement, create-platform-achievement, custom-input, deconstruct-with-robots-achievement, deconstruction-item, deliver-by-robots-achievement, deliver-impact-combination, deplete-resource-achievement, destroy-cliff-achievement, dont-build-entity-achievement, dont-craft-manually-achievement, dont-kill-manually-achievement, dont-research-before-researching-achievement, dont-use-entity-in-energy-production-achievement, electric-energy-interface-equipment, energy-shield-equipment, equip-armor-achievement, furnace, fusion-generator, fusion-reactor, generator-equipment, group-attack-achievement, gui-style, inventory-bonus-equipment, item-with-entity-data, kill-achievement, map-gen-presets, module-transfer-achievement, mouse-cursor, movement-bonus-equipment, night-vision-equipment, place-equipment-achievement, player-damaged-achievement, produce-achievement, produce-per-hour-achievement, repair-tool, research-achievement, research-with-science-pack-achievement, segmented-unit, selection-tool, shoot-achievement, shortcut, solar-panel-equipment, space-connection, space-connection-distance-traveled-achievement, space-platform-starter-pack, spidertron-remote, sprite, surface, thruster, tile-effect, tips-and-tricks-item, tips-and-tricks-item-category, train-path-achievement, use-entity-in-energy-production-achievement, use-item-achievement, utility-constants, utility-sounds, utility-spritesFor these, a reference somewhere else fails the load before the engine gets as far as counting prototypes, so the question never gets asked. They may or may not need a survivor.
Code: Select all
active-defense-equipment, airborne-pollutant, ammo-category, ammo-turret, armor, artillery-flare, artillery-projectile, asteroid, asteroid-chunk, asteroid-collector, autoplace-control, beam, burner-usage, capsule, capture-robot, cargo-pod, chain-active-trigger, collision-layer, combat-robot, corpse, damage-type, delayed-active-trigger, deliver-category, equipment-category, explosion, fire, fluid, fluid-turret, font, fuel-category, impact-category, item, lightning, lightning-attractor, module, module-category, noise-function, optimized-decorative, optimized-particle, particle-source, planet, plant, procession, procession-layer-inheritance-group, projectile, quality, rail-planner, recipe, recipe-category, resource, resource-category, roboport-equipment, segment, simple-entity, smoke-with-trigger, space-location, space-platform-hub, spider-leg, spider-unit, sticker, stream, surface-property, technology, temporary-container, tile, tree, trigger-target-type, trivial-smoke, tutorial, unit, unit-spawner, virtual-signal