factorio-types 1.2.27 → 1.2.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Factorio API reference https://lua-api.factorio.com/latest/index.html
3
3
  // Generated from JSON source https://lua-api.factorio.com/latest/prototype-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 2.0.39
5
+ // Factorio version 2.0.42
6
6
  // API version 6
7
7
 
8
8
  declare namespace prototype {
@@ -71,7 +71,7 @@ interface ActivityBarStyleSpecification extends BaseStyleSpecification {
71
71
  type: 'activity_bar_style';
72
72
  }
73
73
  interface ActivityMatchingModifiers {
74
- inverted?: bool;
74
+ inverted?: boolean;
75
75
  maximum?: float;
76
76
  /**
77
77
  * Cannot be larger than `maximum`.
@@ -109,7 +109,7 @@ interface AggregationSpecification {
109
109
  /**
110
110
  * If `true`, already playing sounds are taken into account when checking `max_count`.
111
111
  */
112
- count_already_playing?: bool;
112
+ count_already_playing?: boolean;
113
113
  max_count: uint32;
114
114
  priority?: 'closest' | 'farthest' | 'newest' | 'oldest';
115
115
  /**
@@ -121,7 +121,7 @@ interface AggregationSpecification {
121
121
  *
122
122
  * If `true`, sound instances above `max_count` are removed.
123
123
  */
124
- remove: bool;
124
+ remove: boolean;
125
125
  /**
126
126
  * Has to be greater than or equal to 0.0.
127
127
  */
@@ -155,7 +155,7 @@ interface AgriculturalCraneSpeedArm {
155
155
  turn_rate?: double;
156
156
  }
157
157
  interface AgriculturalCraneSpeedGrappler {
158
- allow_transpolar_movement?: bool;
158
+ allow_transpolar_movement?: boolean;
159
159
  /**
160
160
  * Must be positive.
161
161
  */
@@ -175,7 +175,7 @@ interface AgriculturalCraneSpeedGrappler {
175
175
  "pollution"
176
176
  ```
177
177
  * @example ```
178
- "pollen"
178
+ "spores"
179
179
  ```
180
180
  */
181
181
  type AirbornePollutantID = string;
@@ -216,7 +216,7 @@ interface AmmoDamageModifier extends BaseModifier {
216
216
  /**
217
217
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
218
218
  */
219
- infer_icon?: bool;
219
+ infer_icon?: boolean;
220
220
  /**
221
221
  * Modification value, which will be added to the current ammo damage modifier upon researching.
222
222
  */
@@ -225,7 +225,7 @@ interface AmmoDamageModifier extends BaseModifier {
225
225
  /**
226
226
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
227
227
  */
228
- use_icon_overlay_constant?: bool;
228
+ use_icon_overlay_constant?: boolean;
229
229
  }
230
230
  /**
231
231
  * Used to allow specifying different ammo effects depending on which kind of entity the ammo is used in.
@@ -244,7 +244,7 @@ interface AmmoType {
244
244
  /**
245
245
  * When true, the gun will be able to shoot even when the target is out of range. Only applies when `target_type` equals `"position"`. The gun will fire at the maximum range in the direction of the target position.
246
246
  */
247
- clamp_position?: bool;
247
+ clamp_position?: boolean;
248
248
  consumption_modifier?: float;
249
249
  cooldown_modifier?: double;
250
250
  /**
@@ -378,9 +378,9 @@ type Animation4Way = {
378
378
  west?: Animation;
379
379
  } | Animation;
380
380
  interface AnimationElement {
381
- always_draw?: bool;
381
+ always_draw?: boolean;
382
382
  animation?: Animation;
383
- apply_tint?: bool;
383
+ apply_tint?: boolean;
384
384
  render_layer?: RenderLayer;
385
385
  /**
386
386
  * Used to determine render order for sprites with the same `render_layer` in the same position. Sprites with a higher `secondary_draw_order` are drawn on top.
@@ -450,7 +450,7 @@ interface AnimationParameters extends SpriteParameters {
450
450
  /**
451
451
  * Unused.
452
452
  */
453
- generate_sdf?: bool;
453
+ generate_sdf?: boolean;
454
454
  /**
455
455
  * Mandatory if `size` is not defined.
456
456
  *
@@ -1349,29 +1349,29 @@ interface ApplyStarterPackTipTrigger extends CountBasedTipTrigger {
1349
1349
  interface AreaTriggerItem extends TriggerItem {
1350
1350
  collision_mode?: 'distance-from-collision-box' | 'distance-from-center';
1351
1351
  radius: double;
1352
- show_in_tooltip?: bool;
1353
- target_enemies?: bool;
1354
- target_entities?: bool;
1355
- trigger_from_target?: bool;
1352
+ show_in_tooltip?: boolean;
1353
+ target_enemies?: boolean;
1354
+ target_entities?: boolean;
1355
+ trigger_from_target?: boolean;
1356
1356
  type: 'area';
1357
1357
  }
1358
1358
  interface ArtilleryRangeModifier extends SimpleModifier {
1359
1359
  /**
1360
1360
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
1361
1361
  */
1362
- infer_icon?: bool;
1362
+ infer_icon?: boolean;
1363
1363
  type: 'artillery-range';
1364
1364
  /**
1365
1365
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
1366
1366
  */
1367
- use_icon_overlay_constant?: bool;
1367
+ use_icon_overlay_constant?: boolean;
1368
1368
  }
1369
1369
  interface ArtilleryRemoteCapsuleAction {
1370
1370
  /**
1371
1371
  * Name of an {@link ArtilleryFlarePrototype | prototype:ArtilleryFlarePrototype}.
1372
1372
  */
1373
1373
  flare: EntityID;
1374
- play_sound_on_failure?: bool;
1374
+ play_sound_on_failure?: boolean;
1375
1375
  type: 'artillery-remote';
1376
1376
  }
1377
1377
  interface ArtilleryTriggerDelivery extends TriggerDeliveryItem {
@@ -1386,7 +1386,7 @@ interface ArtilleryTriggerDelivery extends TriggerDeliveryItem {
1386
1386
  range_deviation?: float;
1387
1387
  starting_speed: float;
1388
1388
  starting_speed_deviation?: float;
1389
- trigger_fired_artillery?: bool;
1389
+ trigger_fired_artillery?: boolean;
1390
1390
  type: 'artillery';
1391
1391
  }
1392
1392
  /**
@@ -1491,7 +1491,7 @@ interface AutoplaceSettings {
1491
1491
  /**
1492
1492
  * Whether missing autoplace names for this type should be default enabled.
1493
1493
  */
1494
- treat_missing_as_default?: bool;
1494
+ treat_missing_as_default?: boolean;
1495
1495
  }
1496
1496
  /**
1497
1497
  * Autoplace specification is used to determine which entities are placed when generating map. Currently it is used for enemy bases, tiles, resources and other entities (trees, fishes, etc.).
@@ -1508,7 +1508,7 @@ interface AutoplaceSpecification {
1508
1508
  *
1509
1509
  * If true, normal frequency/size/richness (`value=1`) are used in that case. Otherwise it is treated as if 'none' were selected.
1510
1510
  */
1511
- default_enabled?: bool;
1511
+ default_enabled?: boolean;
1512
1512
  /**
1513
1513
  * Force of the placed entity. Can be a custom force name. Only relevant for {@link EntityWithOwnerPrototype | prototype:EntityWithOwnerPrototype}.
1514
1514
  */
@@ -1632,12 +1632,12 @@ interface BaseAttackParameters {
1632
1632
  /**
1633
1633
  * Projectile will be creation position and orientation will be collinear with shooter and target (unless offset projectile center is specified). Used for railgun turrets to avoid unexpected friendly fire incidents.
1634
1634
  */
1635
- true_collinear_ejection?: bool;
1635
+ true_collinear_ejection?: boolean;
1636
1636
  /**
1637
1637
  * If this is <= 0, it is set to 1. Arc from 0 to 1, so for example 0.25 is 90°. Used by the {@link flamethrower turret | https://wiki.factorio.com/Flamethrower_turret} in the base game. Arcs greater than 0.5 but less than 1 will be clamped to 0.5 as targeting in arcs larger than half circle is {@link not implemented | https://forums.factorio.com/94654}.
1638
1638
  */
1639
1639
  turn_range?: float;
1640
- use_shooter_direction?: bool;
1640
+ use_shooter_direction?: boolean;
1641
1641
  /**
1642
1642
  * Number of ticks it takes for the weapon to actually shoot after the order for shooting has been made. This also allows to "adjust" the shooting animation to the effect of shooting.
1643
1643
  *
@@ -1656,17 +1656,17 @@ interface BaseEnergySource {
1656
1656
  /**
1657
1657
  * Whether to render the "no network" icon if the entity is not connected to an electric network.
1658
1658
  */
1659
- render_no_network_icon?: bool;
1659
+ render_no_network_icon?: boolean;
1660
1660
  /**
1661
1661
  * Whether to render the "no power" icon if the entity is low on power. Also applies to the "no fuel" icon when using burner energy sources.
1662
1662
  */
1663
- render_no_power_icon?: bool;
1663
+ render_no_power_icon?: boolean;
1664
1664
  }
1665
1665
  /**
1666
1666
  * The abstract base of all {@link Modifiers | prototype:Modifier}.
1667
1667
  */
1668
1668
  interface BaseModifier {
1669
- hidden?: bool;
1669
+ hidden?: boolean;
1670
1670
  /**
1671
1671
  * Path to the icon file.
1672
1672
  *
@@ -1712,7 +1712,7 @@ interface BaseStyleSpecification {
1712
1712
  horizontal_align?: HorizontalAlign;
1713
1713
  horizontally_squashable?: StretchRule;
1714
1714
  horizontally_stretchable?: StretchRule;
1715
- ignored_by_search?: bool;
1715
+ ignored_by_search?: boolean;
1716
1716
  left_margin?: int16;
1717
1717
  left_padding?: int16;
1718
1718
  /**
@@ -1750,7 +1750,7 @@ interface BaseStyleSpecification {
1750
1750
  * Natural width specifies the width of the element tries to have, but it can still be squashed/stretched to have a different size.
1751
1751
  */
1752
1752
  natural_width?: uint32;
1753
- never_hide_by_search?: bool;
1753
+ never_hide_by_search?: boolean;
1754
1754
  /**
1755
1755
  * Sets `top_padding`, `right_padding`, `bottom_padding` and `left_padding` to the same value.
1756
1756
  */
@@ -1785,12 +1785,12 @@ interface BeaconDistributionModifier extends SimpleModifier {
1785
1785
  /**
1786
1786
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
1787
1787
  */
1788
- infer_icon?: bool;
1788
+ infer_icon?: boolean;
1789
1789
  type: 'beacon-distribution';
1790
1790
  /**
1791
1791
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
1792
1792
  */
1793
- use_icon_overlay_constant?: bool;
1793
+ use_icon_overlay_constant?: boolean;
1794
1794
  }
1795
1795
  interface BeaconGraphicsSet {
1796
1796
  animation_layer?: RenderLayer;
@@ -1801,19 +1801,19 @@ interface BeaconGraphicsSet {
1801
1801
  */
1802
1802
  apply_module_tint?: ModuleTint;
1803
1803
  base_layer?: RenderLayer;
1804
- draw_animation_when_idle?: bool;
1805
- draw_light_when_idle?: bool;
1804
+ draw_animation_when_idle?: boolean;
1805
+ draw_light_when_idle?: boolean;
1806
1806
  frozen_patch?: Sprite;
1807
1807
  light?: LightDefinition;
1808
- module_icons_suppressed?: bool;
1808
+ module_icons_suppressed?: boolean;
1809
1809
  module_tint_mode?: 'single-module' | 'mix';
1810
1810
  /**
1811
1811
  * The visualisations available for displaying the modules in the beacon. The visualisation is chosen based on art style, see {@link BeaconModuleVisualizations::art_style | prototype:BeaconModuleVisualizations::art_style} and {@link ModulePrototype::art_style | prototype:ModulePrototype::art_style}.
1812
1812
  */
1813
1813
  module_visualisations?: BeaconModuleVisualizations[];
1814
1814
  no_modules_tint?: Color;
1815
- random_animation_offset?: bool;
1816
- reset_animation_when_frozen?: bool;
1815
+ random_animation_offset?: boolean;
1816
+ reset_animation_when_frozen?: boolean;
1817
1817
  top_layer?: RenderLayer;
1818
1818
  }
1819
1819
  interface BeaconModuleVisualization {
@@ -1821,7 +1821,7 @@ interface BeaconModuleVisualization {
1821
1821
  * Which tint set in {@link ModulePrototype::beacon_tint | prototype:ModulePrototype::beacon_tint} should be applied to this, if any.
1822
1822
  */
1823
1823
  apply_module_tint?: ModuleTint;
1824
- has_empty_slot?: bool;
1824
+ has_empty_slot?: boolean;
1825
1825
  pictures?: SpriteVariations;
1826
1826
  render_layer?: RenderLayer;
1827
1827
  /**
@@ -1863,7 +1863,7 @@ interface BeaconModuleVisualizations {
1863
1863
  */
1864
1864
  slots?: BeaconModuleVisualization[][];
1865
1865
  tier_offset?: int32;
1866
- use_for_empty_slots?: bool;
1866
+ use_for_empty_slots?: boolean;
1867
1867
  }
1868
1868
  interface BeaconVisualizationTints {
1869
1869
  primary?: Color;
@@ -1906,17 +1906,17 @@ interface BeamGraphicsSet {
1906
1906
  */
1907
1907
  desired_segment_length?: float;
1908
1908
  ground?: BeamAnimationSet;
1909
- random_end_animation_rotation?: bool;
1910
- randomize_animation_per_segment?: bool;
1911
- transparent_start_end_animations?: bool;
1909
+ random_end_animation_rotation?: boolean;
1910
+ randomize_animation_per_segment?: boolean;
1911
+ transparent_start_end_animations?: boolean;
1912
1912
  }
1913
1913
  interface BeamTriggerDelivery extends TriggerDeliveryItem {
1914
- add_to_shooter?: bool;
1914
+ add_to_shooter?: boolean;
1915
1915
  /**
1916
1916
  * Name of a {@link BeamPrototype | prototype:BeamPrototype}.
1917
1917
  */
1918
1918
  beam: EntityID;
1919
- destroy_with_source_or_target?: bool;
1919
+ destroy_with_source_or_target?: boolean;
1920
1920
  duration?: uint32;
1921
1921
  max_length?: uint32;
1922
1922
  source_offset?: Vector;
@@ -1934,7 +1934,7 @@ interface BeltStackSizeBonusModifier extends SimpleModifier {
1934
1934
  /**
1935
1935
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
1936
1936
  */
1937
- use_icon_overlay_constant?: bool;
1937
+ use_icon_overlay_constant?: boolean;
1938
1938
  }
1939
1939
  interface BeltTraverseTipTrigger extends CountBasedTipTrigger {
1940
1940
  type: 'belt-traverse';
@@ -2006,7 +2006,7 @@ interface BoolModifier extends BaseModifier {
2006
2006
  /**
2007
2007
  * The value this modifier will have upon researching.
2008
2008
  */
2009
- modifier: bool;
2009
+ modifier: boolean;
2010
2010
  }
2011
2011
  interface BorderImageSet {
2012
2012
  border_width?: int32;
@@ -2061,7 +2061,7 @@ interface BoxSpecification {
2061
2061
  /**
2062
2062
  * Whether this is a complete box or just the top left corner. If this is true, `side_length` and `side_height` must be present. Otherwise `max_side_length` must be present.
2063
2063
  */
2064
- is_whole_box?: bool;
2064
+ is_whole_box?: boolean;
2065
2065
  /**
2066
2066
  * Only loaded, and mandatory if `is_whole_box` is `false`.
2067
2067
  */
@@ -2084,15 +2084,15 @@ interface BuildEntityTechnologyTrigger {
2084
2084
  type: 'build-entity';
2085
2085
  }
2086
2086
  interface BuildEntityTipTrigger extends CountBasedTipTrigger {
2087
- build_by_dragging?: bool;
2088
- build_in_line?: bool;
2087
+ build_by_dragging?: boolean;
2088
+ build_in_line?: boolean;
2089
2089
  /**
2090
2090
  * Building is considered consecutive when the built entity is the same as the last built entity.
2091
2091
  */
2092
- consecutive?: bool;
2092
+ consecutive?: boolean;
2093
2093
  entity?: EntityID;
2094
- linear_power_pole_line?: bool;
2095
- match_type_only?: bool;
2094
+ linear_power_pole_line?: boolean;
2095
+ match_type_only?: boolean;
2096
2096
  quality?: QualityID;
2097
2097
  type: 'build-entity';
2098
2098
  }
@@ -2101,12 +2101,12 @@ interface BulkInserterCapacityBonusModifier extends SimpleModifier {
2101
2101
  /**
2102
2102
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
2103
2103
  */
2104
- infer_icon?: bool;
2104
+ infer_icon?: boolean;
2105
2105
  type: 'bulk-inserter-capacity-bonus';
2106
2106
  /**
2107
2107
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2108
2108
  */
2109
- use_icon_overlay_constant?: bool;
2109
+ use_icon_overlay_constant?: boolean;
2110
2110
  }
2111
2111
  interface BurnerEnergySource extends BaseEnergySource {
2112
2112
  burner_usage?: BurnerUsageID;
@@ -2141,16 +2141,16 @@ interface ButtonStyleSpecificationBase extends StyleWithClickableGraphicalSetSpe
2141
2141
  clicked_vertical_offset?: uint32;
2142
2142
  default_font_color?: Color;
2143
2143
  disabled_font_color?: Color;
2144
- draw_grayscale_picture?: bool;
2145
- draw_shadow_under_picture?: bool;
2144
+ draw_grayscale_picture?: boolean;
2145
+ draw_shadow_under_picture?: boolean;
2146
2146
  /**
2147
2147
  * Name of a {@link FontPrototype | prototype:FontPrototype}.
2148
2148
  */
2149
2149
  font?: string;
2150
2150
  hovered_font_color?: Color;
2151
2151
  icon_horizontal_align?: HorizontalAlign;
2152
- invert_colors_of_picture_when_disabled?: bool;
2153
- invert_colors_of_picture_when_hovered_or_toggled?: bool;
2152
+ invert_colors_of_picture_when_disabled?: boolean;
2153
+ invert_colors_of_picture_when_hovered_or_toggled?: boolean;
2154
2154
  pie_progress_color?: Color;
2155
2155
  selected_clicked_font_color?: Color;
2156
2156
  selected_font_color?: Color;
@@ -2268,7 +2268,7 @@ interface CargoLandingPadLimitModifier extends SimpleModifier {
2268
2268
  /**
2269
2269
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2270
2270
  */
2271
- use_icon_overlay_constant?: bool;
2271
+ use_icon_overlay_constant?: boolean;
2272
2272
  }
2273
2273
  /**
2274
2274
  * A cargo station is any entity that has the capacity to send cargo units. In Space Age those are {@link RocketSiloPrototype | prototype:RocketSiloPrototype}, {@link SpacePlatformHubPrototype | prototype:SpacePlatformHubPrototype} and {@link CargoLandingPadPrototype | prototype:CargoLandingPadPrototype}. {@link Cargo bays | prototype:CargoBayPrototype} may provide additional cargo hatches to cargo stations which are cargo bay connectable.
@@ -2282,7 +2282,7 @@ interface CargoStationParameters {
2282
2282
  /**
2283
2283
  * Packed cargo units will wait for the full order to be completed. This is useful to save rockets in rocket silos when items trickle in slowly. The platform hub has immediate access to items so false is better to allow partial fulfillments.
2284
2284
  */
2285
- prefer_packed_cargo_units?: bool;
2285
+ prefer_packed_cargo_units?: boolean;
2286
2286
  }
2287
2287
  interface ChainTriggerDelivery extends TriggerDeliveryItem {
2288
2288
  chain: ActiveTriggerID;
@@ -2295,7 +2295,7 @@ interface ChangeRecipeProductivityModifier extends BaseModifier {
2295
2295
  /**
2296
2296
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2297
2297
  */
2298
- use_icon_overlay_constant?: bool;
2298
+ use_icon_overlay_constant?: boolean;
2299
2299
  }
2300
2300
  interface ChangeSurfaceTipTrigger extends CountBasedTipTrigger {
2301
2301
  surface: string;
@@ -2354,95 +2354,95 @@ interface CharacterBuildDistanceModifier extends SimpleModifier {
2354
2354
  /**
2355
2355
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2356
2356
  */
2357
- use_icon_overlay_constant?: bool;
2357
+ use_icon_overlay_constant?: boolean;
2358
2358
  }
2359
2359
  interface CharacterCraftingSpeedModifier extends SimpleModifier {
2360
2360
  type: 'character-crafting-speed';
2361
2361
  /**
2362
2362
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2363
2363
  */
2364
- use_icon_overlay_constant?: bool;
2364
+ use_icon_overlay_constant?: boolean;
2365
2365
  }
2366
2366
  interface CharacterHealthBonusModifier extends SimpleModifier {
2367
2367
  type: 'character-health-bonus';
2368
2368
  /**
2369
2369
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2370
2370
  */
2371
- use_icon_overlay_constant?: bool;
2371
+ use_icon_overlay_constant?: boolean;
2372
2372
  }
2373
2373
  interface CharacterInventorySlotsBonusModifier extends SimpleModifier {
2374
2374
  type: 'character-inventory-slots-bonus';
2375
2375
  /**
2376
2376
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2377
2377
  */
2378
- use_icon_overlay_constant?: bool;
2378
+ use_icon_overlay_constant?: boolean;
2379
2379
  }
2380
2380
  interface CharacterItemDropDistanceModifier extends SimpleModifier {
2381
2381
  type: 'character-item-drop-distance';
2382
2382
  /**
2383
2383
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2384
2384
  */
2385
- use_icon_overlay_constant?: bool;
2385
+ use_icon_overlay_constant?: boolean;
2386
2386
  }
2387
2387
  interface CharacterItemPickupDistanceModifier extends SimpleModifier {
2388
2388
  type: 'character-item-pickup-distance';
2389
2389
  /**
2390
2390
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2391
2391
  */
2392
- use_icon_overlay_constant?: bool;
2392
+ use_icon_overlay_constant?: boolean;
2393
2393
  }
2394
2394
  interface CharacterLogisticRequestsModifier extends BoolModifier {
2395
2395
  type: 'character-logistic-requests';
2396
2396
  /**
2397
2397
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2398
2398
  */
2399
- use_icon_overlay_constant?: bool;
2399
+ use_icon_overlay_constant?: boolean;
2400
2400
  }
2401
2401
  interface CharacterLogisticTrashSlotsModifier extends SimpleModifier {
2402
2402
  type: 'character-logistic-trash-slots';
2403
2403
  /**
2404
2404
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2405
2405
  */
2406
- use_icon_overlay_constant?: bool;
2406
+ use_icon_overlay_constant?: boolean;
2407
2407
  }
2408
2408
  interface CharacterLootPickupDistanceModifier extends SimpleModifier {
2409
2409
  type: 'character-loot-pickup-distance';
2410
2410
  /**
2411
2411
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2412
2412
  */
2413
- use_icon_overlay_constant?: bool;
2413
+ use_icon_overlay_constant?: boolean;
2414
2414
  }
2415
2415
  interface CharacterMiningSpeedModifier extends SimpleModifier {
2416
2416
  type: 'character-mining-speed';
2417
2417
  /**
2418
2418
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2419
2419
  */
2420
- use_icon_overlay_constant?: bool;
2420
+ use_icon_overlay_constant?: boolean;
2421
2421
  }
2422
2422
  interface CharacterReachDistanceModifier extends SimpleModifier {
2423
2423
  type: 'character-reach-distance';
2424
2424
  /**
2425
2425
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2426
2426
  */
2427
- use_icon_overlay_constant?: bool;
2427
+ use_icon_overlay_constant?: boolean;
2428
2428
  }
2429
2429
  interface CharacterResourceReachDistanceModifier extends SimpleModifier {
2430
2430
  type: 'character-resource-reach-distance';
2431
2431
  /**
2432
2432
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2433
2433
  */
2434
- use_icon_overlay_constant?: bool;
2434
+ use_icon_overlay_constant?: boolean;
2435
2435
  }
2436
2436
  interface CharacterRunningSpeedModifier extends SimpleModifier {
2437
2437
  type: 'character-running-speed';
2438
2438
  /**
2439
2439
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2440
2440
  */
2441
- use_icon_overlay_constant?: bool;
2441
+ use_icon_overlay_constant?: boolean;
2442
2442
  }
2443
2443
  interface ChargableGraphics {
2444
2444
  charge_animation?: Animation;
2445
- charge_animation_is_looped?: bool;
2445
+ charge_animation_is_looped?: boolean;
2446
2446
  charge_cooldown?: uint16;
2447
2447
  charge_light?: LightDefinition;
2448
2448
  discharge_animation?: Animation;
@@ -2487,7 +2487,7 @@ interface ChartUtilityConstants {
2487
2487
  elevated_rail_color: Color;
2488
2488
  enabled_switch_color: Color;
2489
2489
  entity_ghost_color: Color;
2490
- explosion_visualization_duration: uint32;
2490
+ explosion_visualization_duration: MapTick;
2491
2491
  green_signal_color: Color;
2492
2492
  green_wire_color: Color;
2493
2493
  rail_color: Color;
@@ -2575,7 +2575,7 @@ interface CircuitNetworkModifier extends BoolModifier {
2575
2575
  /**
2576
2576
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2577
2577
  */
2578
- use_icon_overlay_constant?: bool;
2578
+ use_icon_overlay_constant?: boolean;
2579
2579
  }
2580
2580
  interface CircularParticleCreationSpecification {
2581
2581
  center?: Vector;
@@ -2590,7 +2590,7 @@ interface CircularParticleCreationSpecification {
2590
2590
  speed_deviation?: float;
2591
2591
  starting_frame_speed: float;
2592
2592
  starting_frame_speed_deviation?: float;
2593
- use_source_position?: bool;
2593
+ use_source_position?: boolean;
2594
2594
  vertical_speed?: float;
2595
2595
  vertical_speed_deviation?: float;
2596
2596
  }
@@ -2606,7 +2606,7 @@ interface CliffDeconstructionEnabledModifier extends BoolModifier {
2606
2606
  /**
2607
2607
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
2608
2608
  */
2609
- use_icon_overlay_constant?: bool;
2609
+ use_icon_overlay_constant?: boolean;
2610
2610
  }
2611
2611
  interface CliffPlacementSettings {
2612
2612
  /**
@@ -2722,11 +2722,11 @@ interface CollisionMaskConnector {
2722
2722
  /**
2723
2723
  * Any prototype with this collision option will only be checked for collision with other prototype's collision masks if they are a tile.
2724
2724
  */
2725
- colliding_with_tiles_only?: bool;
2725
+ colliding_with_tiles_only?: boolean;
2726
2726
  /**
2727
2727
  * Uses the prototypes position rather than its collision box when doing collision checks with tile prototypes. Allows the prototype to overlap colliding tiles up until its center point. This is only respected for character movement and cars driven by players.
2728
2728
  */
2729
- consider_tile_transitions?: bool;
2729
+ consider_tile_transitions?: boolean;
2730
2730
  /**
2731
2731
  * Every key in the dictionary is the name of one {@link layer | prototype:CollisionLayerPrototype} the object collides with. The value is meaningless and always `true`. An empty table means that no layers are set.
2732
2732
  */
@@ -2734,7 +2734,7 @@ interface CollisionMaskConnector {
2734
2734
  /**
2735
2735
  * Any two entities that both have this option enabled on their prototype and have an identical collision mask layers list will not collide. Other collision mask options are not included in the identical layer list check. This does mean that two different prototypes with the same collision mask layers and this option enabled will not collide.
2736
2736
  */
2737
- not_colliding_with_itself?: bool;
2737
+ not_colliding_with_itself?: boolean;
2738
2738
  }
2739
2739
  /**
2740
2740
  * Table of red, green, blue, and alpha float values between 0 and 1. Alternatively, values can be from 0-255, they are interpreted as such if at least one value is `> 1`.
@@ -2978,11 +2978,11 @@ interface CoverGraphicProcessionLayer {
2978
2978
  /**
2979
2979
  * Advanced cloud effect mask modifies the regular mask thresholds instead of being a flat multiplication of the resulting opacity.
2980
2980
  */
2981
- is_cloud_effect_advanced?: bool;
2981
+ is_cloud_effect_advanced?: boolean;
2982
2982
  /**
2983
2983
  * The texture and mask are interpreted as four smaller textures that are randomly tiled.
2984
2984
  */
2985
- is_quad_texture?: bool;
2985
+ is_quad_texture?: boolean;
2986
2986
  /**
2987
2987
  * Opacity gradient of the layer.
2988
2988
  */
@@ -2999,7 +2999,7 @@ interface CoverGraphicProcessionLayer {
2999
2999
  /**
3000
3000
  * Add rotation of the pod to the cloud rotation.
3001
3001
  */
3002
- rotate_with_pod?: bool;
3002
+ rotate_with_pod?: boolean;
3003
3003
  secondary_draw_order?: int8;
3004
3004
  /**
3005
3005
  * Where the tiled texture is centered and rotated.
@@ -3136,7 +3136,7 @@ interface CraftItemTipTrigger extends CountBasedTipTrigger {
3136
3136
  /**
3137
3137
  * Can only be used when `event_type` is `"crafting-finished"`.
3138
3138
  */
3139
- consecutive?: bool;
3139
+ consecutive?: boolean;
3140
3140
  event_type: 'crafting-of-single-item-ordered' | 'crafting-of-multiple-items-ordered' | 'crafting-finished';
3141
3141
  item?: ItemID;
3142
3142
  type: 'craft-item';
@@ -3152,14 +3152,14 @@ interface CraftingMachineGraphicsSet extends WorkingVisualisations {
3152
3152
  */
3153
3153
  circuit_connector_secondary_draw_order?: int8 | CircuitConnectorSecondaryDrawOrder;
3154
3154
  frozen_patch?: Sprite4Way;
3155
- reset_animation_when_frozen?: bool;
3155
+ reset_animation_when_frozen?: boolean;
3156
3156
  }
3157
3157
  interface CranePart {
3158
- allow_sprite_rotation?: bool;
3158
+ allow_sprite_rotation?: boolean;
3159
3159
  dying_effect?: CranePartDyingEffect;
3160
3160
  extendable_length?: Vector3D;
3161
3161
  extendable_length_grappler?: Vector3D;
3162
- is_contractible_by_cropping?: bool;
3162
+ is_contractible_by_cropping?: boolean;
3163
3163
  layer?: int8;
3164
3164
  name?: string;
3165
3165
  /**
@@ -3180,8 +3180,8 @@ interface CranePart {
3180
3180
  * Only loaded if `sprite_shadow` is not defined.
3181
3181
  */
3182
3182
  rotated_sprite_shadow?: RotatedSprite;
3183
- scale_to_fit_model?: bool;
3184
- should_scale_for_perspective?: bool;
3183
+ scale_to_fit_model?: boolean;
3184
+ should_scale_for_perspective?: boolean;
3185
3185
  snap_end?: float;
3186
3186
  snap_end_arm_extent_multiplier?: float;
3187
3187
  snap_start?: float;
@@ -3195,7 +3195,7 @@ interface CranePartDyingEffect {
3195
3195
  explosion?: ExplosionDefinition;
3196
3196
  explosion_linear_distance_step?: float;
3197
3197
  particle_effect_linear_distance_step?: float;
3198
- particle_effects?: CreateParticleTriggerEffectItem[];
3198
+ particle_effects?: CreateParticleTriggerEffectItem | CreateParticleTriggerEffectItem[];
3199
3199
  }
3200
3200
  interface CraterPlacementDefinition {
3201
3201
  minimum_segments_to_place?: uint32;
@@ -3213,7 +3213,7 @@ interface CreateAsteroidChunkEffectItem extends TriggerEffectItem {
3213
3213
  type: 'create-asteroid-chunk';
3214
3214
  }
3215
3215
  interface CreateDecorativesTriggerEffectItem extends TriggerEffectItem {
3216
- apply_projection?: bool;
3216
+ apply_projection?: boolean;
3217
3217
  decorative: DecorativeID;
3218
3218
  radius_curve?: float;
3219
3219
  spawn_max: uint16;
@@ -3223,24 +3223,24 @@ interface CreateDecorativesTriggerEffectItem extends TriggerEffectItem {
3223
3223
  spawn_max_radius: float;
3224
3224
  spawn_min?: uint16;
3225
3225
  spawn_min_radius: float;
3226
- spread_evenly?: bool;
3226
+ spread_evenly?: boolean;
3227
3227
  type: 'create-decorative';
3228
3228
  }
3229
3229
  interface CreateEntityTriggerEffectItemBase extends TriggerEffectItem {
3230
3230
  /**
3231
3231
  * If true, creates the entity as a member of the enemy force. If the surface.no_enemies_mode is true, the entity will not be created.
3232
3232
  */
3233
- as_enemy?: bool;
3234
- check_buildability?: bool;
3233
+ as_enemy?: boolean;
3234
+ check_buildability?: boolean;
3235
3235
  /**
3236
3236
  * The name of the entity that should be created.
3237
3237
  */
3238
3238
  entity_name: EntityID;
3239
- find_non_colliding_position?: bool;
3239
+ find_non_colliding_position?: boolean;
3240
3240
  /**
3241
3241
  * If true and `as_enemy` is true, allows the entity to be created even if the current surface.no_enemies_mode is true.
3242
3242
  */
3243
- ignore_no_enemies_mode?: bool;
3243
+ ignore_no_enemies_mode?: boolean;
3244
3244
  /**
3245
3245
  * Only loaded if `find_non_colliding_position` is defined.
3246
3246
  */
@@ -3255,8 +3255,8 @@ interface CreateEntityTriggerEffectItemBase extends TriggerEffectItem {
3255
3255
  /**
3256
3256
  * The result entity will be protected from automated attacks of enemies.
3257
3257
  */
3258
- protected?: bool;
3259
- show_in_tooltip?: bool;
3258
+ protected?: boolean;
3259
+ show_in_tooltip?: boolean;
3260
3260
  /**
3261
3261
  * Entity creation will not occur if any tile matches the collision condition. Defaults to no collisions.
3262
3262
  */
@@ -3264,12 +3264,12 @@ interface CreateEntityTriggerEffectItemBase extends TriggerEffectItem {
3264
3264
  /**
3265
3265
  * If `true`, the {@link on_trigger_created_entity | runtime:on_trigger_created_entity} event will be raised.
3266
3266
  */
3267
- trigger_created_entity?: bool;
3267
+ trigger_created_entity?: boolean;
3268
3268
  type: string;
3269
3269
  }
3270
3270
  interface CreateExplosionTriggerEffectItem extends CreateEntityTriggerEffectItemBase {
3271
- cycle_while_moving?: bool;
3272
- inherit_movement_distance_from_projectile?: bool;
3271
+ cycle_while_moving?: boolean;
3272
+ inherit_movement_distance_from_projectile?: boolean;
3273
3273
  max_movement_distance?: float;
3274
3274
  max_movement_distance_deviation?: float;
3275
3275
  type: 'create-explosion';
@@ -3283,7 +3283,7 @@ interface CreateGhostOnEntityDeathModifier extends BoolModifier {
3283
3283
  /**
3284
3284
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
3285
3285
  */
3286
- use_icon_overlay_constant?: bool;
3286
+ use_icon_overlay_constant?: boolean;
3287
3287
  }
3288
3288
  interface CreateParticleTriggerEffectItemBase extends TriggerEffectItem {
3289
3289
  apply_tile_tint?: 'primary' | 'secondary';
@@ -3299,10 +3299,10 @@ interface CreateParticleTriggerEffectItemBase extends TriggerEffectItem {
3299
3299
  /**
3300
3300
  * Create particles only when they are in 200 tiles range of any connected player.
3301
3301
  */
3302
- only_when_visible?: bool;
3302
+ only_when_visible?: boolean;
3303
3303
  particle_name: ParticleID;
3304
- rotate_offsets?: bool;
3305
- show_in_tooltip?: bool;
3304
+ rotate_offsets?: boolean;
3305
+ show_in_tooltip?: boolean;
3306
3306
  speed_from_center?: float;
3307
3307
  speed_from_center_deviation?: float;
3308
3308
  /**
@@ -3336,7 +3336,7 @@ interface CreateSpacePlatformTechnologyTrigger {
3336
3336
  type: 'create-space-platform';
3337
3337
  }
3338
3338
  interface CreateStickerTriggerEffectItem extends TriggerEffectItem {
3339
- show_in_tooltip?: bool;
3339
+ show_in_tooltip?: boolean;
3340
3340
  /**
3341
3341
  * Name of a {@link StickerPrototype | prototype:StickerPrototype} that should be created.
3342
3342
  */
@@ -3344,7 +3344,7 @@ interface CreateStickerTriggerEffectItem extends TriggerEffectItem {
3344
3344
  /**
3345
3345
  * If `true`, {@link on_trigger_created_entity | runtime:on_trigger_created_entity} will be triggered when the sticker is created.
3346
3346
  */
3347
- trigger_created_entity?: bool;
3347
+ trigger_created_entity?: boolean;
3348
3348
  type: 'create-sticker';
3349
3349
  }
3350
3350
  interface CreateTrivialSmokeEffectItem extends TriggerEffectItem {
@@ -3352,7 +3352,7 @@ interface CreateTrivialSmokeEffectItem extends TriggerEffectItem {
3352
3352
  max_radius?: float;
3353
3353
  offset_deviation?: BoundingBox;
3354
3354
  offsets?: Vector[];
3355
- only_when_visible?: float;
3355
+ only_when_visible?: boolean;
3356
3356
  smoke_name: TrivialSmokeID;
3357
3357
  speed?: Vector;
3358
3358
  speed_from_center?: float;
@@ -3372,8 +3372,8 @@ interface CursorBoxSpecification {
3372
3372
  not_allowed: BoxSpecification[];
3373
3373
  pair: BoxSpecification[];
3374
3374
  regular: BoxSpecification[];
3375
- rts_selected: BoxSpecification[];
3376
- rts_to_be_selected: BoxSpecification[];
3375
+ spidertron_remote_selected: BoxSpecification[];
3376
+ spidertron_remote_to_be_selected: BoxSpecification[];
3377
3377
  train_visualization: BoxSpecification[];
3378
3378
  }
3379
3379
  /**
@@ -3424,6 +3424,20 @@ interface CyclicSound {
3424
3424
  */
3425
3425
  middle_sound?: Sound;
3426
3426
  }
3427
+ interface DamageEntityTriggerEffectItem extends TriggerEffectItem {
3428
+ apply_damage_to_trees?: boolean;
3429
+ damage: DamageParameters;
3430
+ lower_damage_modifier?: float;
3431
+ lower_distance_threshold?: uint16;
3432
+ type: 'damage';
3433
+ upper_damage_modifier?: float;
3434
+ upper_distance_threshold?: uint16;
3435
+ use_substitute?: boolean;
3436
+ /**
3437
+ * If `true`, no corpse for killed entities will be created.
3438
+ */
3439
+ vaporize?: boolean;
3440
+ }
3427
3441
  /**
3428
3442
  * Used to specify what type of damage and how much damage something deals.
3429
3443
  */
@@ -3437,21 +3451,7 @@ interface DamageParameters {
3437
3451
  interface DamageTileTriggerEffectItem extends TriggerEffectItem {
3438
3452
  damage: DamageParameters;
3439
3453
  radius?: float;
3440
- type: 'damage';
3441
- }
3442
- interface DamageTriggerEffectItem extends TriggerEffectItem {
3443
- apply_damage_to_trees?: bool;
3444
- damage: DamageParameters;
3445
- lower_damage_modifier?: float;
3446
- lower_distance_threshold?: uint16;
3447
- type: 'damage';
3448
- upper_damage_modifier?: float;
3449
- upper_distance_threshold?: uint16;
3450
- use_substitute?: bool;
3451
- /**
3452
- * If `true`, no corpse for killed entities will be created.
3453
- */
3454
- vaporize?: bool;
3454
+ type: 'damage-tile';
3455
3455
  }
3456
3456
  /**
3457
3457
  * @example ```
@@ -3483,7 +3483,7 @@ type DamageTypeFilters = {
3483
3483
  /**
3484
3484
  * Whether this is a whitelist or a blacklist of damage types. Defaults to being a blacklist.
3485
3485
  */
3486
- whitelist?: bool;
3486
+ whitelist?: boolean;
3487
3487
  } | DamageTypeID | DamageTypeID[];
3488
3488
  /**
3489
3489
  * The name of a {@link DamageType | prototype:DamageType}.
@@ -3526,7 +3526,7 @@ interface Data {
3526
3526
  /**
3527
3527
  * Set by the game based on whether the demo or retail version is running. Should not be used by mods.
3528
3528
  */
3529
- is_demo: bool;
3529
+ is_demo: boolean;
3530
3530
  /**
3531
3531
  * A dictionary of prototype types to values that themselves are dictionaries of prototype names to specific prototypes.
3532
3532
  *
@@ -3573,7 +3573,7 @@ interface DeconstructionTimeToLiveModifier extends SimpleModifier {
3573
3573
  /**
3574
3574
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
3575
3575
  */
3576
- use_icon_overlay_constant?: bool;
3576
+ use_icon_overlay_constant?: boolean;
3577
3577
  }
3578
3578
  /**
3579
3579
  * The name of a {@link DecorativePrototype | prototype:DecorativePrototype}.
@@ -3597,14 +3597,14 @@ interface DependenciesMetTipTrigger {
3597
3597
  }
3598
3598
  interface DestroyCliffsCapsuleAction {
3599
3599
  attack_parameters: AttackParameters;
3600
- play_sound_on_failure?: bool;
3600
+ play_sound_on_failure?: boolean;
3601
3601
  radius: float;
3602
3602
  timeout?: uint32;
3603
3603
  type: 'destroy-cliffs';
3604
3604
  /**
3605
3605
  * Whether using the capsule consumes an item from the stack.
3606
3606
  */
3607
- uses_stack?: bool;
3607
+ uses_stack?: boolean;
3608
3608
  }
3609
3609
  interface DestroyCliffsTriggerEffectItem extends TriggerEffectItem {
3610
3610
  /**
@@ -3622,14 +3622,14 @@ interface DestroyDecorativesTriggerEffectItem extends TriggerEffectItem {
3622
3622
  /**
3623
3623
  * If `true`, only decoratives with a {@link DecorativePrototype::trigger_effect | prototype:DecorativePrototype::trigger_effect} will be destroyed.
3624
3624
  */
3625
- decoratives_with_trigger_only?: bool;
3625
+ decoratives_with_trigger_only?: boolean;
3626
3626
  from_render_layer?: RenderLayer;
3627
- include_decals?: bool;
3627
+ include_decals?: boolean;
3628
3628
  /**
3629
3629
  * Soft decoratives are those where {@link DecorativePrototype::grows_through_rail_path | prototype:DecorativePrototype::grows_through_rail_path} is `true`.
3630
3630
  */
3631
- include_soft_decoratives?: bool;
3632
- invoke_decorative_trigger?: bool;
3631
+ include_soft_decoratives?: boolean;
3632
+ invoke_decorative_trigger?: boolean;
3633
3633
  radius: float;
3634
3634
  to_render_layer?: RenderLayer;
3635
3635
  type: 'destroy-decoratives';
@@ -3645,7 +3645,7 @@ interface DifficultySettings {
3645
3645
  technology_price_multiplier?: double;
3646
3646
  }
3647
3647
  interface DirectTriggerItem extends TriggerItem {
3648
- filter_enabled?: bool;
3648
+ filter_enabled?: boolean;
3649
3649
  type: 'direct';
3650
3650
  }
3651
3651
  /**
@@ -3722,7 +3722,7 @@ interface DropDownStyleSpecification extends BaseStyleSpecification {
3722
3722
  type: 'dropdown_style';
3723
3723
  }
3724
3724
  interface DropItemTipTrigger extends CountBasedTipTrigger {
3725
- drop_into_entity?: bool;
3725
+ drop_into_entity?: boolean;
3726
3726
  type: 'drop-item';
3727
3727
  }
3728
3728
  /**
@@ -3756,9 +3756,9 @@ interface Effect {
3756
3756
  }
3757
3757
  interface EffectReceiver {
3758
3758
  base_effect?: Effect;
3759
- uses_beacon_effects?: bool;
3760
- uses_module_effects?: bool;
3761
- uses_surface_effects?: bool;
3759
+ uses_beacon_effects?: boolean;
3760
+ uses_module_effects?: boolean;
3761
+ uses_surface_effects?: boolean;
3762
3762
  }
3763
3763
  /**
3764
3764
  * Identifies what {@link CloudEffectStyle | prototype:CloudEffectStyle} refers to.
@@ -3940,7 +3940,7 @@ type ElementImageSet = {
3940
3940
  * If this is loaded as a Sprite, it gets used as `center`.
3941
3941
  */
3942
3942
  type ElementImageSetLayer = {
3943
- background_blur?: bool;
3943
+ background_blur?: boolean;
3944
3944
  background_blur_sigma?: float;
3945
3945
  /**
3946
3946
  * Sets `top_border`, `right_border`, `bottom_border` and `left_border`.
@@ -3957,7 +3957,7 @@ type ElementImageSetLayer = {
3957
3957
  */
3958
3958
  bottom_border?: int32;
3959
3959
  bottom_outer_border_shift?: int32;
3960
- bottom_tiling?: bool;
3960
+ bottom_tiling?: boolean;
3961
3961
  /**
3962
3962
  * Only loaded if `corner_size` is defined. Only loaded if `type` is `"composition"`.
3963
3963
  */
@@ -3970,8 +3970,8 @@ type ElementImageSetLayer = {
3970
3970
  * Only loaded if `corner_size` is defined. Only loaded if `type` is `"composition"`.
3971
3971
  */
3972
3972
  center_height?: SpriteSizeType;
3973
- center_tiling_horizontal?: bool;
3974
- center_tiling_vertical?: bool;
3973
+ center_tiling_horizontal?: boolean;
3974
+ center_tiling_vertical?: boolean;
3975
3975
  /**
3976
3976
  * Only loaded if `corner_size` is defined. Only loaded if `type` is `"composition"`.
3977
3977
  */
@@ -4020,7 +4020,7 @@ type ElementImageSetLayer = {
4020
4020
  /**
4021
4021
  * Tiling is used to make a side (not corner) texture repeat instead of being stretched.
4022
4022
  */
4023
- left_tiling?: bool;
4023
+ left_tiling?: boolean;
4024
4024
  /**
4025
4025
  * Only loaded if `type` is `"composition"`.
4026
4026
  */
@@ -4028,7 +4028,7 @@ type ElementImageSetLayer = {
4028
4028
  /**
4029
4029
  * Only loaded if `corner_size` is defined. Only loaded if `type` is `"composition"`.
4030
4030
  */
4031
- load_in_minimal_mode?: bool;
4031
+ load_in_minimal_mode?: boolean;
4032
4032
  opacity?: double;
4033
4033
  overall_tiling_horizontal_padding?: uint16;
4034
4034
  /**
@@ -4060,7 +4060,7 @@ type ElementImageSetLayer = {
4060
4060
  */
4061
4061
  right_height?: SpriteSizeType;
4062
4062
  right_outer_border_shift?: int32;
4063
- right_tiling?: bool;
4063
+ right_tiling?: boolean;
4064
4064
  /**
4065
4065
  * Only loaded if `type` is `"composition"`.
4066
4066
  */
@@ -4072,7 +4072,7 @@ type ElementImageSetLayer = {
4072
4072
  /**
4073
4073
  * Only loaded if `type` is `"composition"`.
4074
4074
  */
4075
- stretch_monolith_image_to_size?: bool;
4075
+ stretch_monolith_image_to_size?: boolean;
4076
4076
  /**
4077
4077
  * Only loaded if `type` is `"composition"`.
4078
4078
  */
@@ -4086,7 +4086,7 @@ type ElementImageSetLayer = {
4086
4086
  */
4087
4087
  top_border?: int32;
4088
4088
  top_outer_border_shift?: int32;
4089
- top_tiling?: bool;
4089
+ top_tiling?: boolean;
4090
4090
  /**
4091
4091
  * Only loaded if `corner_size` is defined. Only loaded if `type` is `"composition"`.
4092
4092
  */
@@ -4102,7 +4102,7 @@ interface EnemyEvolutionSettings {
4102
4102
  * Percentual increase in the evolution factor for every destroyed spawner
4103
4103
  */
4104
4104
  destroy_factor: double;
4105
- enabled: bool;
4105
+ enabled: boolean;
4106
4106
  /**
4107
4107
  * Percentual increase in the evolution factor for 1 pollution unit
4108
4108
  */
@@ -4114,7 +4114,7 @@ interface EnemyEvolutionSettings {
4114
4114
  }
4115
4115
  interface EnemyExpansionSettings {
4116
4116
  building_coefficient: double;
4117
- enabled: bool;
4117
+ enabled: boolean;
4118
4118
  enemy_building_influence_radius: uint32;
4119
4119
  friendly_base_influence_radius: uint32;
4120
4120
  /**
@@ -4146,7 +4146,7 @@ interface EnemySpawnerAbsorption {
4146
4146
  interface EnemySpawnerGraphicsSet {
4147
4147
  animations?: AnimationVariations;
4148
4148
  integration?: SpriteVariations;
4149
- random_animation_offset?: bool;
4149
+ random_animation_offset?: boolean;
4150
4150
  underwater_animations?: AnimationVariations;
4151
4151
  underwater_layer_offset?: int8;
4152
4152
  water_effect_map_animations?: AnimationVariations;
@@ -4206,7 +4206,7 @@ FluidEnergySource | /**
4206
4206
  */
4207
4207
  VoidEnergySource;
4208
4208
  interface EnterVehicleTipTrigger extends CountBasedTipTrigger {
4209
- match_type_only?: bool;
4209
+ match_type_only?: boolean;
4210
4210
  type: 'enter-vehicle';
4211
4211
  vehicle?: EntityID;
4212
4212
  }
@@ -4287,7 +4287,7 @@ type EntityPrototypeFlags = (/**
4287
4287
  * Used to automatically detect the proper direction, if possible. Used by base with the pump, train stop, and train signal.
4288
4288
  */
4289
4289
  'filter-directions' | /**
4290
- * When set, entity will be possible to obtain by using {@link LuaGameScript::get_entity_by_unit_number | runtime:LuaGameScript::get_entity_by_unit_number}. It also changes input actions sent by a player to be selecting entity by unit number instead of a position which may help players in latency to select moving entities.
4290
+ * When set, entity will be possible to obtain by using {@link LuaGameScript::get_entity_by_unit_number | runtime:LuaGameScript::get_entity_by_unit_number}.
4291
4291
  */
4292
4292
  'get-by-unit-number' | /**
4293
4293
  * This is used to specify that the entity breathes air, and so is affected by poison (currently {@link poison capsules | https://wiki.factorio.com/Poison_capsule} are the only source).
@@ -4432,7 +4432,7 @@ interface FastBeltBendTipTrigger extends CountBasedTipTrigger {
4432
4432
  type: 'fast-belt-bend';
4433
4433
  }
4434
4434
  interface FastReplaceTipTrigger extends CountBasedTipTrigger {
4435
- match_type_only?: bool;
4435
+ match_type_only?: boolean;
4436
4436
  source?: EntityID;
4437
4437
  target?: EntityID;
4438
4438
  type: 'fast-replace';
@@ -4447,13 +4447,13 @@ end
4447
4447
  ```
4448
4448
  */
4449
4449
  interface FeatureFlags {
4450
- expansion_shaders: bool;
4451
- freezing: bool;
4452
- quality: bool;
4453
- rail_bridges: bool;
4454
- segmented_units: bool;
4455
- space_travel: bool;
4456
- spoiling: bool;
4450
+ expansion_shaders: boolean;
4451
+ freezing: boolean;
4452
+ quality: boolean;
4453
+ rail_bridges: boolean;
4454
+ segmented_units: boolean;
4455
+ space_travel: boolean;
4456
+ spoiling: boolean;
4457
4457
  }
4458
4458
  /**
4459
4459
  * A slash `"/"` is always used as the directory delimiter. A path always begins with the specification of a root, which can be one of three formats:
@@ -4509,8 +4509,8 @@ interface FluidBox {
4509
4509
  /**
4510
4510
  * Defaults to true if `pipe_picture` is not defined, otherwise defaults to false.
4511
4511
  */
4512
- always_draw_covers?: bool;
4513
- draw_only_when_connected?: bool;
4512
+ always_draw_covers?: boolean;
4513
+ draw_only_when_connected?: boolean;
4514
4514
  /**
4515
4515
  * Array of the {@link WorkingVisualisation::name | prototype:WorkingVisualisation::name} of working visualisations to enable when this fluidbox is present.
4516
4516
  *
@@ -4524,7 +4524,7 @@ interface FluidBox {
4524
4524
  /**
4525
4525
  * Hides the blue input/output arrows and icons at each connection point.
4526
4526
  */
4527
- hide_connection_info?: bool;
4527
+ hide_connection_info?: boolean;
4528
4528
  /**
4529
4529
  * The max extent that a pipeline with this fluidbox can span. A given pipeline's extent is calculated as the min extent of all the fluidboxes that comprise it.
4530
4530
  */
@@ -4582,6 +4582,10 @@ interface FluidBox {
4582
4582
  * Must be greater than 0.
4583
4583
  */
4584
4584
  volume: FluidAmount;
4585
+ /**
4586
+ * A fraction of the volume that will be "reserved" and cannot be removed by flow operations. This does nothing if the fluidbox is part of a fluid segment.
4587
+ */
4588
+ volume_reservation_fraction?: float;
4585
4589
  }
4586
4590
  type FluidBoxLinkedConnectionID = uint32;
4587
4591
  interface FluidBoxSecondaryDrawOrders {
@@ -4594,13 +4598,13 @@ interface FluidEnergySource extends BaseEnergySource {
4594
4598
  /**
4595
4599
  * If set to `true`, the energy source will calculate power based on the fluid's `fuel_value`, else it will calculate based on fluid temperature.
4596
4600
  */
4597
- burns_fluid?: bool;
4601
+ burns_fluid?: boolean;
4598
4602
  /**
4599
4603
  * Property is only used when `burns_fluid` is `true` and the fluid has a {@link fuel_value | prototype:FluidPrototype::fuel_value} of `0`, or when `burns_fluid` is `false` and the fluid is at its `default_temperature`.
4600
4604
  *
4601
4605
  * In those cases, this property determines whether the fluid should be destroyed, meaning that the fluid is consumed at the rate of `fluid_usage_per_tick`, without producing any power.
4602
4606
  */
4603
- destroy_non_fuel_fluid?: bool;
4607
+ destroy_non_fuel_fluid?: boolean;
4604
4608
  /**
4605
4609
  * `1` means 100% effectivity. Must be greater than `0`. Multiplier of the energy output.
4606
4610
  */
@@ -4623,7 +4627,7 @@ interface FluidEnergySource extends BaseEnergySource {
4623
4627
  /**
4624
4628
  * If set to `true`, the energy source will consume as much fluid as required to produce the desired power, otherwise it will consume as much as it is allowed to, wasting any excess.
4625
4629
  */
4626
- scale_fluid_usage?: bool;
4630
+ scale_fluid_usage?: boolean;
4627
4631
  smoke?: SmokeSource[];
4628
4632
  type: 'fluid';
4629
4633
  }
@@ -4733,7 +4737,7 @@ interface FluidProductPrototype {
4733
4737
  /**
4734
4738
  * When hovering over a recipe in the crafting menu the recipe tooltip will be shown. An additional item tooltip will be shown for every product, as a separate tooltip, if the item tooltip has a description and/or properties to show and if `show_details_in_recipe_tooltip` is `true`.
4735
4739
  */
4736
- show_details_in_recipe_tooltip?: bool;
4740
+ show_details_in_recipe_tooltip?: boolean;
4737
4741
  /**
4738
4742
  * The temperature of the fluid product.
4739
4743
  */
@@ -4763,12 +4767,12 @@ interface FollowerRobotLifetimeModifier extends SimpleModifier {
4763
4767
  /**
4764
4768
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
4765
4769
  */
4766
- infer_icon?: bool;
4770
+ infer_icon?: boolean;
4767
4771
  type: 'follower-robot-lifetime';
4768
4772
  /**
4769
4773
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
4770
4774
  */
4771
- use_icon_overlay_constant?: bool;
4775
+ use_icon_overlay_constant?: boolean;
4772
4776
  }
4773
4777
  interface FootprintParticle {
4774
4778
  /**
@@ -4782,7 +4786,7 @@ interface FootprintParticle {
4782
4786
  /**
4783
4787
  * Whether this footprint particle should be the default particle that is used for `tiles` that don't have an associated footprint particle.
4784
4788
  */
4785
- use_as_default?: bool;
4789
+ use_as_default?: boolean;
4786
4790
  }
4787
4791
  interface FootstepTriggerEffectItem extends CreateParticleTriggerEffectItemBase {
4788
4792
  /**
@@ -4793,7 +4797,7 @@ interface FootstepTriggerEffectItem extends CreateParticleTriggerEffectItemBase
4793
4797
  /**
4794
4798
  * When `true`, the trigger(s) defined in `actions` are the default triggers for tiles that don't have an associated footstep particle trigger. (ie. don't show up in one of the "tiles" lists).
4795
4799
  */
4796
- use_as_default?: bool;
4800
+ use_as_default?: boolean;
4797
4801
  }
4798
4802
  /**
4799
4803
  * @example ```
@@ -4862,7 +4866,7 @@ type ForceCondition = 'all' | 'enemy' | 'ally' | 'friend' | 'not-friend' | 'same
4862
4866
  interface FrameStyleSpecification extends BaseStyleSpecification {
4863
4867
  background_graphical_set?: ElementImageSet;
4864
4868
  border?: BorderImageSet;
4865
- drag_by_title?: bool;
4869
+ drag_by_title?: boolean;
4866
4870
  graphical_set?: ElementImageSet;
4867
4871
  header_background?: ElementImageSet;
4868
4872
  header_filler_style?: EmptyWidgetStyleSpecification;
@@ -4870,7 +4874,7 @@ interface FrameStyleSpecification extends BaseStyleSpecification {
4870
4874
  horizontal_flow_style?: HorizontalFlowStyleSpecification;
4871
4875
  title_style?: LabelStyleSpecification;
4872
4876
  type: 'frame_style';
4873
- use_header_filler?: bool;
4877
+ use_header_filler?: boolean;
4874
4878
  vertical_flow_style?: VerticalFlowStyleSpecification;
4875
4879
  }
4876
4880
  interface FrequencySizeRichness {
@@ -4925,7 +4929,7 @@ interface FusionReactorGraphicsSet {
4925
4929
  plasma_category: NeighbourConnectableConnectionCategory;
4926
4930
  render_layer?: RenderLayer;
4927
4931
  structure?: Sprite4Way;
4928
- use_fuel_glow_color?: bool;
4932
+ use_fuel_glow_color?: boolean;
4929
4933
  working_light_pictures?: Sprite4Way;
4930
4934
  }
4931
4935
  interface GameControllerVibrationData {
@@ -4947,23 +4951,23 @@ interface GameViewSettings {
4947
4951
  /**
4948
4952
  * If this is defined then it sets the default value for all other properties.
4949
4953
  */
4950
- default_show_value?: bool;
4951
- show_alert_gui?: bool;
4952
- show_controller_gui?: bool;
4953
- show_crafting_queue?: bool;
4954
- show_entity_info?: bool;
4955
- show_entity_tooltip?: bool;
4956
- show_hotkey_suggestions?: bool;
4957
- show_map_view_options?: bool;
4958
- show_minimap?: bool;
4959
- show_quickbar?: bool;
4960
- show_rail_block_visualisation?: bool;
4961
- show_research_info?: bool;
4962
- show_shortcut_bar?: bool;
4963
- show_side_menu?: bool;
4964
- show_surface_list?: bool;
4965
- show_tool_bar?: bool;
4966
- update_entity_selection?: bool;
4954
+ default_show_value?: boolean;
4955
+ show_alert_gui?: boolean;
4956
+ show_controller_gui?: boolean;
4957
+ show_crafting_queue?: boolean;
4958
+ show_entity_info?: boolean;
4959
+ show_entity_tooltip?: boolean;
4960
+ show_hotkey_suggestions?: boolean;
4961
+ show_map_view_options?: boolean;
4962
+ show_minimap?: boolean;
4963
+ show_quickbar?: boolean;
4964
+ show_rail_block_visualisation?: boolean;
4965
+ show_research_info?: boolean;
4966
+ show_shortcut_bar?: boolean;
4967
+ show_side_menu?: boolean;
4968
+ show_surface_list?: boolean;
4969
+ show_tool_bar?: boolean;
4970
+ update_entity_selection?: boolean;
4967
4971
  }
4968
4972
  interface GateOverRailBuildTipTrigger extends CountBasedTipTrigger {
4969
4973
  type: 'gate-over-rail-build';
@@ -4982,9 +4986,9 @@ interface GhostShimmerConfig {
4982
4986
  * The array must have at least 6 elements.
4983
4987
  */
4984
4988
  overlay_layers: GhostShimmerOverlayData[];
4985
- proportional_distortion: bool;
4989
+ proportional_distortion: boolean;
4986
4990
  tint: Color;
4987
- visualize_borders: bool;
4991
+ visualize_borders: boolean;
4988
4992
  world_uv_modulo: int32;
4989
4993
  }
4990
4994
  interface GhostShimmerDistortionData {
@@ -5007,7 +5011,7 @@ interface GhostTintSet {
5007
5011
  tile_ghost_delivery_tint: Color;
5008
5012
  tile_ghost_tint: Color;
5009
5013
  /**
5010
- * Wires are hard to read when the ghost_tint is very satured, so they use a separate tint color for better fine tuning.
5014
+ * Wires are hard to read when the ghost_tint is very saturated, so they use a separate tint color for better fine tuning.
5011
5015
  */
5012
5016
  wire_tint: Color;
5013
5017
  }
@@ -5034,7 +5038,7 @@ interface GiveItemModifier extends BaseModifier {
5034
5038
  /**
5035
5039
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
5036
5040
  */
5037
- use_icon_overlay_constant?: bool;
5041
+ use_icon_overlay_constant?: boolean;
5038
5042
  }
5039
5043
  interface GlobalRecipeTints {
5040
5044
  primary?: Color;
@@ -5095,7 +5099,7 @@ interface GunSpeedModifier extends BaseModifier {
5095
5099
  /**
5096
5100
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
5097
5101
  */
5098
- infer_icon?: bool;
5102
+ infer_icon?: boolean;
5099
5103
  /**
5100
5104
  * Modification value, which will be added to the current gun speed modifier upon researching.
5101
5105
  */
@@ -5104,7 +5108,7 @@ interface GunSpeedModifier extends BaseModifier {
5104
5108
  /**
5105
5109
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
5106
5110
  */
5107
- use_icon_overlay_constant?: bool;
5111
+ use_icon_overlay_constant?: boolean;
5108
5112
  }
5109
5113
  /**
5110
5114
  * Used to specify heat capacity properties without a {@link heat energy source | prototype:HeatEnergySource}.
@@ -5237,11 +5241,11 @@ interface IconData {
5237
5241
  /**
5238
5242
  * Outline is drawn using signed distance field generated on load. One icon image, will have only one SDF generated. But if the image is used in multiple icon with different scales, outline width won't match the desired width in all the scales but the largest one.
5239
5243
  */
5240
- draw_background?: bool;
5244
+ draw_background?: boolean;
5241
5245
  /**
5242
5246
  * When `true` the layer is not considered for calculating bounds of the icon, so it can go out of bounds of rectangle into which the icon is drawn in GUI.
5243
5247
  */
5244
- floating?: bool;
5248
+ floating?: boolean;
5245
5249
  /**
5246
5250
  * Path to the icon file.
5247
5251
  */
@@ -5317,8 +5321,8 @@ data.raw["gui-style"]["default"]["stretchy-sprite"] =
5317
5321
  */
5318
5322
  interface ImageStyleSpecification extends BaseStyleSpecification {
5319
5323
  graphical_set?: ElementImageSet;
5320
- invert_colors_of_picture_when_hovered_or_toggled?: bool;
5321
- stretch_image_to_widget_size?: bool;
5324
+ invert_colors_of_picture_when_hovered_or_toggled?: boolean;
5325
+ stretch_image_to_widget_size?: boolean;
5322
5326
  type: 'image_style';
5323
5327
  }
5324
5328
  /**
@@ -5350,12 +5354,12 @@ interface InserterStackSizeBonusModifier extends SimpleModifier {
5350
5354
  /**
5351
5355
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
5352
5356
  */
5353
- infer_icon?: bool;
5357
+ infer_icon?: boolean;
5354
5358
  type: 'inserter-stack-size-bonus';
5355
5359
  /**
5356
5360
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
5357
5361
  */
5358
- use_icon_overlay_constant?: bool;
5362
+ use_icon_overlay_constant?: boolean;
5359
5363
  }
5360
5364
  interface InstantTriggerDelivery extends TriggerDeliveryItem {
5361
5365
  type: 'instant';
@@ -5491,7 +5495,7 @@ interface ItemProductPrototype {
5491
5495
  /**
5492
5496
  * When hovering over a recipe in the crafting menu the recipe tooltip will be shown. An additional item tooltip will be shown for every product, as a separate tooltip, if the item tooltip has a description and/or properties to show and if `show_details_in_recipe_tooltip` is `true`.
5493
5497
  */
5494
- show_details_in_recipe_tooltip?: bool;
5498
+ show_details_in_recipe_tooltip?: boolean;
5495
5499
  type: 'item';
5496
5500
  }
5497
5501
  /**
@@ -5561,7 +5565,7 @@ interface ItemToPlace {
5561
5565
  interface KillTipTrigger extends CountBasedTipTrigger {
5562
5566
  damage_type?: DamageTypeID;
5563
5567
  entity?: EntityID;
5564
- match_type_only?: bool;
5568
+ match_type_only?: boolean;
5565
5569
  type: 'kill';
5566
5570
  }
5567
5571
  interface LabelStyleSpecification extends BaseStyleSpecification {
@@ -5579,31 +5583,31 @@ interface LabelStyleSpecification extends BaseStyleSpecification {
5579
5583
  rich_text_highlight_ok_color?: Color;
5580
5584
  rich_text_highlight_warning_color?: Color;
5581
5585
  rich_text_setting?: RichTextSetting;
5582
- single_line?: bool;
5586
+ single_line?: boolean;
5583
5587
  type: 'label_style';
5584
- underlined?: bool;
5588
+ underlined?: boolean;
5585
5589
  }
5586
5590
  interface LaboratoryProductivityModifier extends SimpleModifier {
5587
5591
  /**
5588
5592
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
5589
5593
  */
5590
- infer_icon?: bool;
5594
+ infer_icon?: boolean;
5591
5595
  type: 'laboratory-productivity';
5592
5596
  /**
5593
5597
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
5594
5598
  */
5595
- use_icon_overlay_constant?: bool;
5599
+ use_icon_overlay_constant?: boolean;
5596
5600
  }
5597
5601
  interface LaboratorySpeedModifier extends SimpleModifier {
5598
5602
  /**
5599
5603
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
5600
5604
  */
5601
- infer_icon?: bool;
5605
+ infer_icon?: boolean;
5602
5606
  type: 'laboratory-speed';
5603
5607
  /**
5604
5608
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
5605
5609
  */
5606
- use_icon_overlay_constant?: bool;
5610
+ use_icon_overlay_constant?: boolean;
5607
5611
  }
5608
5612
  type LayeredSound = {
5609
5613
  layers: Sound[];
@@ -5660,7 +5664,7 @@ light =
5660
5664
  ```
5661
5665
  */
5662
5666
  type LightDefinition = {
5663
- add_perspective?: bool;
5667
+ add_perspective?: boolean;
5664
5668
  /**
5665
5669
  * Color of the light.
5666
5670
  */
@@ -5676,7 +5680,7 @@ type LightDefinition = {
5676
5680
  /**
5677
5681
  * Offsets tick used to calculate flicker by position hash. Useful to desynchronize flickering of multiple stationary lights.
5678
5682
  */
5679
- offset_flicker?: bool;
5683
+ offset_flicker?: boolean;
5680
5684
  /**
5681
5685
  * Only loaded, and mandatory if `type` is `"oriented"`.
5682
5686
  */
@@ -5693,7 +5697,7 @@ type LightDefinition = {
5693
5697
  source_orientation_offset?: RealOrientation;
5694
5698
  type?: 'basic' | 'oriented';
5695
5699
  } | {
5696
- add_perspective?: bool;
5700
+ add_perspective?: boolean;
5697
5701
  /**
5698
5702
  * Color of the light.
5699
5703
  */
@@ -5709,7 +5713,7 @@ type LightDefinition = {
5709
5713
  /**
5710
5714
  * Offsets tick used to calculate flicker by position hash. Useful to desynchronize flickering of multiple stationary lights.
5711
5715
  */
5712
- offset_flicker?: bool;
5716
+ offset_flicker?: boolean;
5713
5717
  /**
5714
5718
  * Only loaded, and mandatory if `type` is `"oriented"`.
5715
5719
  */
@@ -5951,9 +5955,9 @@ interface MainSound {
5951
5955
  * Can't be used when `match_progress_to_activity` is `true`.
5952
5956
  */
5953
5957
  fade_out_ticks?: uint32;
5954
- match_progress_to_activity?: bool;
5955
- match_speed_to_activity?: bool;
5956
- match_volume_to_activity?: bool;
5958
+ match_progress_to_activity?: boolean;
5959
+ match_speed_to_activity?: boolean;
5960
+ match_volume_to_activity?: boolean;
5957
5961
  /**
5958
5962
  * Array of {@link WorkingVisualisation::name | prototype:WorkingVisualisation::name}s, individual names cannot be empty.
5959
5963
  *
@@ -5982,7 +5986,7 @@ interface ManualTransferTipTrigger extends CountBasedTipTrigger {
5982
5986
  type: 'manual-transfer';
5983
5987
  }
5984
5988
  interface ManualWireDragTipTrigger extends CountBasedTipTrigger {
5985
- match_type_only?: bool;
5989
+ match_type_only?: boolean;
5986
5990
  source?: EntityID;
5987
5991
  target?: EntityID;
5988
5992
  type: 'manual-wire-drag';
@@ -6020,7 +6024,7 @@ interface MapGenPreset {
6020
6024
  *
6021
6025
  * If no MapGenPreset has `default = true`, the preset selector will have a blank preset label, with default settings. The "blank" preset goes away when another preset is selected.
6022
6026
  */
6023
- default?: bool;
6027
+ default?: boolean;
6024
6028
  /**
6025
6029
  * Specifies the ordering in the {@link map generator GUI | https://wiki.factorio.com/Map_generator}.
6026
6030
  */
@@ -6038,7 +6042,7 @@ interface MapGenPresetEnemyEvolutionSettings {
6038
6042
  * Percentual increase in the evolution factor for every destroyed spawner
6039
6043
  */
6040
6044
  destroy_factor?: double;
6041
- enabled?: bool;
6045
+ enabled?: boolean;
6042
6046
  /**
6043
6047
  * Percentual increase in the evolution factor for 1 pollution unit
6044
6048
  */
@@ -6049,7 +6053,7 @@ interface MapGenPresetEnemyEvolutionSettings {
6049
6053
  time_factor?: double;
6050
6054
  }
6051
6055
  interface MapGenPresetEnemyExpansionSettings {
6052
- enabled?: bool;
6056
+ enabled?: boolean;
6053
6057
  /**
6054
6058
  * In ticks.
6055
6059
  */
@@ -6080,7 +6084,7 @@ interface MapGenPresetPollutionSettings {
6080
6084
  * Must be <= 0.25. Amount that is diffused to neighboring chunks.
6081
6085
  */
6082
6086
  diffusion_ratio?: double;
6083
- enabled?: bool;
6087
+ enabled?: boolean;
6084
6088
  /**
6085
6089
  * Must be >= 0.1.
6086
6090
  */
@@ -6098,7 +6102,7 @@ interface MapGenSettings {
6098
6102
  /**
6099
6103
  * Whether undefined `autoplace_controls` should fall back to the default controls or not.
6100
6104
  */
6101
- default_enable_all_autoplace_controls?: bool;
6105
+ default_enable_all_autoplace_controls?: boolean;
6102
6106
  /**
6103
6107
  * Height of the map in tiles. Silently limited to 2 000 000, ie. +/- 1 million tiles from the center in both directions.
6104
6108
  */
@@ -6106,15 +6110,15 @@ interface MapGenSettings {
6106
6110
  /**
6107
6111
  * If true, enemy creatures will not naturally spawn from spawners, map gen, or trigger effects.
6108
6112
  */
6109
- no_enemies_mode?: bool;
6113
+ no_enemies_mode?: boolean;
6110
6114
  /**
6111
6115
  * If true, enemy creatures will not attack unless the player first attacks them.
6112
6116
  */
6113
- peaceful_mode?: bool;
6117
+ peaceful_mode?: boolean;
6114
6118
  /**
6115
6119
  * Map of property name (`"elevation"`, etc) to name of noise expression that will provide it. Entries may be omitted. A notable usage is changing autoplace behavior of an entity based on the preset, which cannot be read from a noise expression.
6116
6120
  */
6117
- property_expression_names?: Record<string, string | bool | double>;
6121
+ property_expression_names?: Record<string, string | boolean | double>;
6118
6122
  /**
6119
6123
  * Read by the game, but not used or set in the GUI.
6120
6124
  */
@@ -6196,7 +6200,7 @@ interface MapLocation {
6196
6200
  /**
6197
6201
  * Direction this connection point will be facing to.
6198
6202
  */
6199
- direction: MapPosition;
6203
+ direction: Direction;
6200
6204
  /**
6201
6205
  * Position relative to entity's position where the connection point will be located at.
6202
6206
  */
@@ -6290,25 +6294,25 @@ interface MaxFailedAttemptsPerTickPerConstructionQueueModifier extends SimpleMod
6290
6294
  /**
6291
6295
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6292
6296
  */
6293
- use_icon_overlay_constant?: bool;
6297
+ use_icon_overlay_constant?: boolean;
6294
6298
  }
6295
6299
  interface MaxSuccessfulAttemptsPerTickPerConstructionQueueModifier extends SimpleModifier {
6296
6300
  type: 'max-successful-attempts-per-tick-per-construction-queue';
6297
6301
  /**
6298
6302
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6299
6303
  */
6300
- use_icon_overlay_constant?: bool;
6304
+ use_icon_overlay_constant?: boolean;
6301
6305
  }
6302
6306
  interface MaximumFollowingRobotsCountModifier extends SimpleModifier {
6303
6307
  /**
6304
6308
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
6305
6309
  */
6306
- infer_icon?: bool;
6310
+ infer_icon?: boolean;
6307
6311
  type: 'maximum-following-robots-count';
6308
6312
  /**
6309
6313
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6310
6314
  */
6311
- use_icon_overlay_constant?: bool;
6315
+ use_icon_overlay_constant?: boolean;
6312
6316
  }
6313
6317
  /**
6314
6318
  * The mining properties of objects. For formulas for the mining time, see {@link mining | https://wiki.factorio.com/Mining}.
@@ -6341,7 +6345,7 @@ interface MinableProperties {
6341
6345
  * The amount of fluid that is used up when this object is mined. If this is > 0, this object cannot be mined by hand.
6342
6346
  */
6343
6347
  fluid_amount?: FluidAmount;
6344
- include_in_show_counts?: bool;
6348
+ include_in_show_counts?: boolean;
6345
6349
  /**
6346
6350
  * Name of a {@link ParticlePrototype | prototype:ParticlePrototype}. Which set of particles to use.
6347
6351
  */
@@ -6365,7 +6369,7 @@ interface MinableProperties {
6365
6369
  * The items or fluids that are returned when this object is mined.
6366
6370
  */
6367
6371
  results?: ProductPrototype[];
6368
- transfer_entity_health_to_products?: bool;
6372
+ transfer_entity_health_to_products?: boolean;
6369
6373
  }
6370
6374
  interface MineEntityTechnologyTrigger {
6371
6375
  entity: EntityID;
@@ -6392,25 +6396,25 @@ interface MiningDrillGraphicsSet extends WorkingVisualisations {
6392
6396
  circuit_connector_secondary_draw_order?: int8 | CircuitConnectorSecondaryDrawOrder;
6393
6397
  drilling_vertical_movement_duration?: uint16;
6394
6398
  frozen_patch?: Sprite4Way;
6395
- reset_animation_when_frozen?: bool;
6399
+ reset_animation_when_frozen?: boolean;
6396
6400
  }
6397
6401
  interface MiningDrillProductivityBonusModifier extends SimpleModifier {
6398
6402
  /**
6399
6403
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
6400
6404
  */
6401
- infer_icon?: bool;
6405
+ infer_icon?: boolean;
6402
6406
  type: 'mining-drill-productivity-bonus';
6403
6407
  /**
6404
6408
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6405
6409
  */
6406
- use_icon_overlay_constant?: bool;
6410
+ use_icon_overlay_constant?: boolean;
6407
6411
  }
6408
6412
  interface MiningWithFluidModifier extends BoolModifier {
6409
6413
  type: 'mining-with-fluid';
6410
6414
  /**
6411
6415
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6412
6416
  */
6413
- use_icon_overlay_constant?: bool;
6417
+ use_icon_overlay_constant?: boolean;
6414
6418
  }
6415
6419
  type Mirroring = 'horizontal' | 'vertical' | 'diagonal-pos' | 'diagonal-neg';
6416
6420
  /**
@@ -6420,7 +6424,7 @@ interface ModSetting {
6420
6424
  /**
6421
6425
  * The value of the mod setting. The type depends on the kind of setting.
6422
6426
  */
6423
- value: int32 | double | bool | string | Color;
6427
+ value: int32 | double | boolean | string | Color;
6424
6428
  }
6425
6429
  /**
6426
6430
  * The effect that is applied when a {@link TechnologyPrototype | prototype:TechnologyPrototype} is researched.
@@ -6618,7 +6622,7 @@ interface NeighbourConnectable {
6618
6622
  /**
6619
6623
  * If the connection positions and directions will be affected by entity's direction.
6620
6624
  */
6621
- affected_by_direction?: bool;
6625
+ affected_by_direction?: boolean;
6622
6626
  /**
6623
6627
  * Definitions of the connection points.
6624
6628
  */
@@ -6698,7 +6702,7 @@ interface NestedTriggerEffectItem extends TriggerEffectItem {
6698
6702
  "clamp(x, -1, 1)"
6699
6703
  ```
6700
6704
  */
6701
- type NoiseExpression = string | bool | double;
6705
+ type NoiseExpression = string | boolean | double;
6702
6706
  /**
6703
6707
  * The advantage of noise functions over {@link noise expressions | prototype:NoiseExpression} is that they have parameters.
6704
6708
  */
@@ -6729,7 +6733,7 @@ interface NothingModifier extends BaseModifier {
6729
6733
  /**
6730
6734
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
6731
6735
  */
6732
- use_icon_overlay_constant?: bool;
6736
+ use_icon_overlay_constant?: boolean;
6733
6737
  }
6734
6738
  interface OffshorePumpGraphicsSet {
6735
6739
  /**
@@ -6846,7 +6850,7 @@ interface OtherColors {
6846
6850
  */
6847
6851
  type ParticleID = string;
6848
6852
  interface PasteEntitySettingsTipTrigger extends CountBasedTipTrigger {
6849
- match_type_only?: bool;
6853
+ match_type_only?: boolean;
6850
6854
  source?: EntityID;
6851
6855
  target?: EntityID;
6852
6856
  type: 'paste-entity-settings';
@@ -6965,7 +6969,7 @@ interface PathFinderSettings {
6965
6969
  * If the current actual cost from start is higher than this times estimate of start to goal then path finding is terminated.
6966
6970
  */
6967
6971
  start_to_goal_cost_multiplier_to_terminate_path_find: double;
6968
- use_path_cache: bool;
6972
+ use_path_cache: boolean;
6969
6973
  }
6970
6974
  /**
6971
6975
  * Not all prototypes that use this type are affected by all properties.
@@ -7188,7 +7192,7 @@ interface PipePictures {
7188
7192
  interface PlaceAsTile {
7189
7193
  condition: CollisionMaskConnector;
7190
7194
  condition_size: uint32;
7191
- invert?: bool;
7195
+ invert?: boolean;
7192
7196
  result: TileID;
7193
7197
  tile_condition?: TileID[];
7194
7198
  }
@@ -7209,16 +7213,16 @@ interface PlanetPrototypeMapGenSettings {
7209
7213
  /**
7210
7214
  * Used for showing the planet icon in map generator GUI next to aux climate control.
7211
7215
  */
7212
- aux_climate_control?: bool;
7216
+ aux_climate_control?: boolean;
7213
7217
  cliff_settings?: CliffPlacementSettings;
7214
7218
  /**
7215
7219
  * Used for showing the planet icon in map generator GUI next to moisture climate control.
7216
7220
  */
7217
- moisture_climate_control?: bool;
7221
+ moisture_climate_control?: boolean;
7218
7222
  /**
7219
7223
  * Map of property name (e.g. "elevation") to name of noise expression that will provide it. Entries may be omitted. A notable usage is changing autoplace behavior of an entity based on the preset, which cannot be read from a noise expression.
7220
7224
  */
7221
- property_expression_names?: Record<string, string | bool | double>;
7225
+ property_expression_names?: Record<string, string | boolean | double>;
7222
7226
  territory_settings?: TerritorySettings;
7223
7227
  }
7224
7228
  /**
@@ -7240,7 +7244,7 @@ interface PlaySoundTriggerEffectItem extends TriggerEffectItem {
7240
7244
  * Negative values are silently clamped to 0.
7241
7245
  */
7242
7246
  min_distance?: float;
7243
- play_on_target_position?: bool;
7247
+ play_on_target_position?: boolean;
7244
7248
  sound: Sound;
7245
7249
  type: 'play-sound';
7246
7250
  }
@@ -7302,7 +7306,7 @@ interface PodDistanceTraveledProcessionBezierControlPoint {
7302
7306
  timestamp?: MapTick;
7303
7307
  }
7304
7308
  interface PodDistanceTraveledProcessionLayer {
7305
- contribute_to_distance_traveled?: bool;
7309
+ contribute_to_distance_traveled?: boolean;
7306
7310
  distance_traveled_contribution?: float;
7307
7311
  frames: PodDistanceTraveledProcessionBezierControlPoint[];
7308
7312
  /**
@@ -7367,7 +7371,7 @@ interface PodMovementProcessionBezierControlPoint {
7367
7371
  ```
7368
7372
  */
7369
7373
  interface PodMovementProcessionLayer {
7370
- contribute_to_distance_traveled?: bool;
7374
+ contribute_to_distance_traveled?: boolean;
7371
7375
  distance_traveled_contribution?: float;
7372
7376
  frames: PodMovementProcessionBezierControlPoint[];
7373
7377
  /**
@@ -7445,7 +7449,7 @@ interface PollutionSettings {
7445
7449
  * Amount that is diffused to neighboring chunks.
7446
7450
  */
7447
7451
  diffusion_ratio: double;
7448
- enabled: bool;
7452
+ enabled: boolean;
7449
7453
  enemy_attack_pollution_consumption_modifier: double;
7450
7454
  /**
7451
7455
  * Anything bigger than this is visualized as this value.
@@ -7685,7 +7689,7 @@ interface ProcessionSet {
7685
7689
  * A wrapper for a collection of {@link ProcessionLayers | prototype:ProcessionLayer}.
7686
7690
  */
7687
7691
  interface ProcessionTimeline {
7688
- audio_events: ProcessionAudioEvent[];
7692
+ audio_events?: ProcessionAudioEvent[];
7689
7693
  /**
7690
7694
  * During procession, the pod will at some point start being drawn above the rest of the game:
7691
7695
  *
@@ -7763,7 +7767,7 @@ interface ProgressBarStyleSpecification extends BaseStyleSpecification {
7763
7767
  bar_background?: ElementImageSet;
7764
7768
  bar_width?: uint32;
7765
7769
  color?: Color;
7766
- embed_text_in_bar?: bool;
7770
+ embed_text_in_bar?: boolean;
7767
7771
  filled_font_color?: Color;
7768
7772
  /**
7769
7773
  * Name of a {@link FontPrototype | prototype:FontPrototype}.
@@ -7775,7 +7779,7 @@ interface ProgressBarStyleSpecification extends BaseStyleSpecification {
7775
7779
  type: 'progressbar_style';
7776
7780
  }
7777
7781
  interface ProjectileAttackParameters extends BaseAttackParameters {
7778
- apply_projection_to_projectile_creation_position?: bool;
7782
+ apply_projection_to_projectile_creation_position?: boolean;
7779
7783
  /**
7780
7784
  * When used with `projectile_creation_parameters`, this offsets what the turret's sprite looks at. Setting to `{0,1}` will cause the turret to aim one tile up from the target but the projectile will still aim for the entity. Can be used to give the illusion of height but can also confuse aim logic when set too high.
7781
7785
  *
@@ -7831,7 +7835,7 @@ interface PrototypeStrafeSettings {
7831
7835
  * Must be between 0 and 1 inclusive.
7832
7836
  */
7833
7837
  clockwise_chance?: float;
7834
- face_target?: bool;
7838
+ face_target?: boolean;
7835
7839
  /**
7836
7840
  * Must be between 0 and max_distance inclusive.
7837
7841
  */
@@ -7974,8 +7978,8 @@ interface RadiusVisualisationSpecification {
7974
7978
  * Must be greater than or equal to 0.
7975
7979
  */
7976
7980
  distance?: double;
7977
- draw_in_cursor?: bool;
7978
- draw_on_selection?: bool;
7981
+ draw_in_cursor?: boolean;
7982
+ draw_on_selection?: boolean;
7979
7983
  offset?: Vector;
7980
7984
  sprite?: Sprite;
7981
7985
  }
@@ -8033,7 +8037,7 @@ interface RailPictureSet {
8033
8037
  *
8034
8038
  * Only loaded if `front_rail_endings` or `back_rail_endings` are not defined.
8035
8039
  */
8036
- rail_endings: Sprite16Way;
8040
+ rail_endings?: Sprite16Way;
8037
8041
  render_layers: RailRenderLayers;
8038
8042
  secondary_render_layers?: RailRenderLayers;
8039
8043
  /**
@@ -8081,7 +8085,7 @@ interface RailPlannerAllowElevatedRailsModifier extends BoolModifier {
8081
8085
  /**
8082
8086
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
8083
8087
  */
8084
- use_icon_overlay_constant?: bool;
8088
+ use_icon_overlay_constant?: boolean;
8085
8089
  }
8086
8090
  interface RailRenderLayers {
8087
8091
  back_end?: RenderLayer;
@@ -8124,8 +8128,8 @@ interface RailSignalPictureSet {
8124
8128
  }
8125
8129
  interface RailSignalStaticSpriteLayer {
8126
8130
  align_to_frame_index?: uint8[];
8127
- hide_if_not_connected_to_rails?: bool;
8128
- hide_if_simulation?: bool;
8131
+ hide_if_not_connected_to_rails?: boolean;
8132
+ hide_if_simulation?: boolean;
8129
8133
  render_layer?: RenderLayer;
8130
8134
  /**
8131
8135
  * Must be an empty array or contain exactly 16 values.
@@ -8144,7 +8148,7 @@ interface RailSupportOnDeepOilOceanModifier extends BoolModifier {
8144
8148
  /**
8145
8149
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
8146
8150
  */
8147
- use_icon_overlay_constant?: bool;
8151
+ use_icon_overlay_constant?: boolean;
8148
8152
  }
8149
8153
  interface RailsFogMaskDefinitions {
8150
8154
  east?: FogMaskShapeDefinition;
@@ -8296,7 +8300,7 @@ type RichTextSetting = 'enabled' | 'disabled' | 'highlight';
8296
8300
  interface RollingStockRotatedSlopedGraphics {
8297
8301
  rotated: RotatedSprite;
8298
8302
  slope_angle_between_frames?: double;
8299
- slope_back_equals_front?: bool;
8303
+ slope_back_equals_front?: boolean;
8300
8304
  sloped?: RotatedSprite;
8301
8305
  }
8302
8306
  interface RotateEntityTipTrigger extends CountBasedTipTrigger {
@@ -8306,17 +8310,17 @@ interface RotatedAnimation extends AnimationParameters {
8306
8310
  /**
8307
8311
  * Only loaded if `layers` is not defined.
8308
8312
  */
8309
- apply_projection?: bool;
8313
+ apply_projection?: boolean;
8310
8314
  /**
8311
8315
  * Only loaded if `layers` is not defined.
8312
8316
  *
8313
8317
  * If `true`, `direction_count` must be greater than `1`.
8314
8318
  */
8315
- axially_symmetrical?: bool;
8319
+ axially_symmetrical?: boolean;
8316
8320
  /**
8317
8321
  * Only loaded if `layers` is not defined.
8318
8322
  */
8319
- counterclockwise?: bool;
8323
+ counterclockwise?: boolean;
8320
8324
  /**
8321
8325
  * Only loaded if `layers` is not defined.
8322
8326
  *
@@ -8430,29 +8434,29 @@ interface RotatedSprite extends SpriteParameters {
8430
8434
  /**
8431
8435
  * Only loaded if `layers` is not defined.
8432
8436
  */
8433
- allow_low_quality_rotation?: bool;
8437
+ allow_low_quality_rotation?: boolean;
8434
8438
  /**
8435
8439
  * Only loaded if `layers` is not defined.
8436
8440
  *
8437
8441
  * Used to fix the inconsistency of direction of the entity in 3d when rendered and direction on the screen (where the 45 degree angle for projection is used).
8438
8442
  */
8439
- apply_projection?: bool;
8443
+ apply_projection?: boolean;
8440
8444
  /**
8441
8445
  * Only loaded if `layers` is not defined.
8442
8446
  *
8443
8447
  * When `true`, the same picture is used for left/right direction, just flipped, which can save half of the space required, but is not usable once the picture contains shadows, etc.
8444
8448
  */
8445
- axially_symmetrical?: bool;
8449
+ axially_symmetrical?: boolean;
8446
8450
  /**
8447
8451
  * Only loaded if `layers` is not defined.
8448
8452
  */
8449
- back_equals_front?: bool;
8453
+ back_equals_front?: boolean;
8450
8454
  /**
8451
8455
  * Only loaded if `layers` is not defined.
8452
8456
  *
8453
8457
  * Set to `true` to indicate sprites in the spritesheet are in counterclockwise order.
8454
8458
  */
8455
- counterclockwise?: bool;
8459
+ counterclockwise?: boolean;
8456
8460
  /**
8457
8461
  * Only loaded if `layers` is not defined.
8458
8462
  *
@@ -8496,7 +8500,7 @@ interface RotatedSprite extends SpriteParameters {
8496
8500
  *
8497
8501
  * Unused.
8498
8502
  */
8499
- generate_sdf?: bool;
8503
+ generate_sdf?: boolean;
8500
8504
  /**
8501
8505
  * If this property is present, all RotatedSprite definitions have to be placed as entries in the array, and they will all be loaded from there. `layers` may not be an empty table. Each definition in the array may also have the `layers` property.
8502
8506
  *
@@ -8551,9 +8555,9 @@ interface ScrollBarStyleSpecification extends BaseStyleSpecification {
8551
8555
  thumb_button_style?: ButtonStyleSpecification;
8552
8556
  }
8553
8557
  interface ScrollPaneStyleSpecification extends BaseStyleSpecification {
8554
- always_draw_borders?: bool;
8558
+ always_draw_borders?: boolean;
8555
8559
  background_graphical_set?: ElementImageSet;
8556
- dont_force_clipping_rect_for_contents?: bool;
8560
+ dont_force_clipping_rect_for_contents?: boolean;
8557
8561
  extra_bottom_margin_when_activated?: int32;
8558
8562
  extra_bottom_padding_when_activated?: int32;
8559
8563
  extra_left_margin_when_activated?: int32;
@@ -8572,7 +8576,7 @@ interface ScrollPaneStyleSpecification extends BaseStyleSpecification {
8572
8576
  extra_top_padding_when_activated?: int32;
8573
8577
  graphical_set?: ElementImageSet;
8574
8578
  horizontal_scrollbar_style?: HorizontalScrollBarStyleSpecification;
8575
- scrollbars_go_outside?: bool;
8579
+ scrollbars_go_outside?: boolean;
8576
8580
  type: 'scroll_pane_style';
8577
8581
  vertical_flow_style?: VerticalFlowStyleSpecification;
8578
8582
  vertical_scrollbar_style?: VerticalScrollBarStyleSpecification;
@@ -8605,7 +8609,7 @@ interface SelectionModeData {
8605
8609
  entity_filters?: EntityID[];
8606
8610
  entity_type_filters?: string[];
8607
8611
  mode: SelectionModeFlags;
8608
- play_ended_sound_when_nothing_selected?: bool;
8612
+ play_ended_sound_when_nothing_selected?: boolean;
8609
8613
  started_sound?: Sound;
8610
8614
  tile_filter_mode?: 'whitelist' | 'blacklist';
8611
8615
  tile_filters?: TileID[];
@@ -8762,7 +8766,7 @@ interface SendItemToOrbitTechnologyTrigger {
8762
8766
  type: 'send-item-to-orbit';
8763
8767
  }
8764
8768
  interface SendSpidertronTipTrigger extends CountBasedTipTrigger {
8765
- append?: bool;
8769
+ append?: boolean;
8766
8770
  type: 'send-spidertron';
8767
8771
  }
8768
8772
  type SendToOrbitMode = 'not-sendable' | 'manual' | 'automated';
@@ -8774,27 +8778,27 @@ interface SequenceTipTrigger {
8774
8778
  type: 'sequence';
8775
8779
  }
8776
8780
  interface SetFilterTipTrigger extends CountBasedTipTrigger {
8777
- consecutive?: bool;
8781
+ consecutive?: boolean;
8778
8782
  entity?: EntityID;
8779
- match_type_only?: bool;
8783
+ match_type_only?: boolean;
8780
8784
  type: 'set-filter';
8781
8785
  }
8782
8786
  interface SetLogisticRequestTipTrigger extends CountBasedTipTrigger {
8783
8787
  entity?: EntityID;
8784
- logistic_chest_only?: bool;
8788
+ logistic_chest_only?: boolean;
8785
8789
  type: 'set-logistic-request';
8786
8790
  }
8787
8791
  interface SetRecipeTipTrigger extends CountBasedTipTrigger {
8788
- any_quality?: bool;
8789
- consecutive?: bool;
8792
+ any_quality?: boolean;
8793
+ consecutive?: boolean;
8790
8794
  machine?: EntityID;
8791
8795
  recipe?: RecipeID;
8792
8796
  type: 'set-recipe';
8793
- uses_fluid?: bool;
8797
+ uses_fluid?: boolean;
8794
8798
  }
8795
8799
  interface SetTileTriggerEffectItem extends TriggerEffectItem {
8796
- apply_on_space_platform?: bool;
8797
- apply_projection?: bool;
8800
+ apply_on_space_platform?: boolean;
8801
+ apply_projection?: boolean;
8798
8802
  radius: float;
8799
8803
  tile_collision_mask?: CollisionMaskConnector;
8800
8804
  tile_name: TileID;
@@ -8871,14 +8875,14 @@ interface SimulationDefinition {
8871
8875
  /**
8872
8876
  * If this is true, the map of the simulation is set to be a lab-tile checkerboard in the area of `{{-20, -15},{20, 15}}` when the scenario is first initialized (before init/init_file run).
8873
8877
  */
8874
- checkboard?: bool;
8878
+ checkboard?: boolean;
8875
8879
  game_view_settings?: GameViewSettings;
8876
8880
  /**
8877
8881
  * If `save` is not given and this is true, a map gets generated by the game for use in the simulation.
8878
8882
  */
8879
- generate_map?: bool;
8880
- hide_factoriopedia_gradient?: bool;
8881
- hide_health_bars?: bool;
8883
+ generate_map?: boolean;
8884
+ hide_factoriopedia_gradient?: boolean;
8885
+ hide_health_bars?: boolean;
8882
8886
  /**
8883
8887
  * Only loaded if `init_file` is not defined.
8884
8888
  *
@@ -8901,18 +8905,18 @@ interface SimulationDefinition {
8901
8905
  * An array of mods that will be run in this simulation if they are present and enabled.
8902
8906
  */
8903
8907
  mods?: string[];
8904
- mute_alert_sounds?: bool;
8905
- mute_technology_finished_sound?: bool;
8908
+ mute_alert_sounds?: boolean;
8909
+ mute_technology_finished_sound?: boolean;
8906
8910
  /**
8907
8911
  * Overrides whether a simulation has its wind sounds muted.
8908
8912
  *
8909
8913
  * Tips and Tricks simulations and Factoriopedia simulations have their wind sounds muted by default, other simulations don't.
8910
8914
  */
8911
- mute_wind_sounds?: bool;
8915
+ mute_wind_sounds?: boolean;
8912
8916
  /**
8913
8917
  * If true, overrides the simulation volume set by the player in the sound settings, simply setting the volume modifier to `1`.
8914
8918
  */
8915
- override_volume?: bool;
8919
+ override_volume?: boolean;
8916
8920
  planet?: SpaceLocationID;
8917
8921
  /**
8918
8922
  * The save file that is used for this simulation. If not given and `generate_map` is `true`, a map is generated by the game.
@@ -8997,12 +9001,12 @@ interface SingleGraphicLayerProcessionBezierControlPoint {
8997
9001
  tint_t?: Color;
8998
9002
  }
8999
9003
  interface SingleGraphicProcessionLayer {
9000
- animation_driven_by_curve?: bool;
9001
- clip_with_hatches?: bool;
9004
+ animation_driven_by_curve?: boolean;
9005
+ clip_with_hatches?: boolean;
9002
9006
  /**
9003
9007
  * Swaps the order of sprite shift and rotation.
9004
9008
  */
9005
- compensated_pivot?: bool;
9009
+ compensated_pivot?: boolean;
9006
9010
  /**
9007
9011
  * Default values if unspecified:
9008
9012
  *
@@ -9020,23 +9024,23 @@ interface SingleGraphicProcessionLayer {
9020
9024
  */
9021
9025
  frames: SingleGraphicLayerProcessionBezierControlPoint[];
9022
9026
  graphic: ProcessionGraphic;
9023
- is_passenger_only?: bool;
9027
+ is_passenger_only?: boolean;
9024
9028
  /**
9025
9029
  * Where the sprite is centered.
9026
9030
  */
9027
9031
  relative_to?: EffectRelativeTo;
9028
9032
  render_layer?: RenderLayer;
9029
- rotates_with_pod?: bool;
9033
+ rotates_with_pod?: boolean;
9030
9034
  secondary_draw_order?: int8;
9031
9035
  /**
9032
9036
  * Only applied when the `relative_to` is `pod`.
9033
9037
  */
9034
- shift_rotates_with_pod?: bool;
9038
+ shift_rotates_with_pod?: boolean;
9035
9039
  type: 'single-graphic';
9036
9040
  }
9037
9041
  interface SliderStyleSpecificationBase extends BaseStyleSpecification {
9038
9042
  button?: ButtonStyleSpecification;
9039
- draw_notches?: bool;
9043
+ draw_notches?: boolean;
9040
9044
  empty_bar?: ElementImageSet;
9041
9045
  empty_bar_disabled?: ElementImageSet;
9042
9046
  full_bar?: ElementImageSet;
@@ -9055,7 +9059,7 @@ interface SmokeSource {
9055
9059
  * Number of smokes generated per entity animation cycle (or per tick for some entities). Can't be negative or infinite.
9056
9060
  */
9057
9061
  frequency: float;
9058
- has_8_directions?: bool;
9062
+ has_8_directions?: boolean;
9059
9063
  height?: float;
9060
9064
  height_deviation?: float;
9061
9065
  name: TrivialSmokeID;
@@ -9108,7 +9112,7 @@ interface SmokeSource {
9108
9112
  type Sound = {
9109
9113
  advanced_volume_control?: AdvancedVolumeControl;
9110
9114
  aggregation?: AggregationSpecification;
9111
- allow_random_repeat?: bool;
9115
+ allow_random_repeat?: boolean;
9112
9116
  /**
9113
9117
  * Modifies how far a sound can be heard. Cannot be less than zero.
9114
9118
  */
@@ -9154,7 +9158,7 @@ type Sound = {
9154
9158
  /**
9155
9159
  * Only loaded if `variations` is not defined.
9156
9160
  */
9157
- preload?: bool;
9161
+ preload?: boolean;
9158
9162
  /**
9159
9163
  * Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached.
9160
9164
  *
@@ -9218,7 +9222,7 @@ type SoundDefinition = {
9218
9222
  */
9219
9223
  min_volume?: float;
9220
9224
  modifiers?: SoundModifier | SoundModifier[];
9221
- preload?: bool;
9225
+ preload?: boolean;
9222
9226
  /**
9223
9227
  * Speed must be `>= 1 / 64`. This sets both min and max speeds.
9224
9228
  */
@@ -9295,7 +9299,7 @@ interface SpacePlatformsModifier extends BoolModifier {
9295
9299
  /**
9296
9300
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
9297
9301
  */
9298
- use_icon_overlay_constant?: bool;
9302
+ use_icon_overlay_constant?: boolean;
9299
9303
  }
9300
9304
  /**
9301
9305
  * Nebulae are rendered only behind tiles with the effect, but stars are rendered behind entire terrain. For that reason using two or more tile types with different space effect on one surface is not supported. The game will allow this to happen, but rendering will chose one star configuration for entire screen.
@@ -9350,7 +9354,7 @@ interface SpeechBubbleStyleSpecification extends BaseStyleSpecification {
9350
9354
  close_color?: Color;
9351
9355
  frame_style?: FrameStyleSpecification;
9352
9356
  label_style?: LabelStyleSpecification;
9353
- pass_through_mouse?: bool;
9357
+ pass_through_mouse?: boolean;
9354
9358
  type: 'speech_bubble_style';
9355
9359
  }
9356
9360
  /**
@@ -9751,34 +9755,34 @@ interface SpriteNWaySheet extends SpriteParameters {
9751
9755
  /**
9752
9756
  * Unused.
9753
9757
  */
9754
- generate_sdf?: bool;
9758
+ generate_sdf?: boolean;
9755
9759
  }
9756
9760
  interface SpriteParameters extends SpriteSource {
9757
- apply_runtime_tint?: bool;
9758
- apply_special_effect?: bool;
9761
+ apply_runtime_tint?: boolean;
9762
+ apply_special_effect?: boolean;
9759
9763
  blend_mode?: BlendMode;
9760
9764
  /**
9761
9765
  * Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. This takes precedence over `draw_as_light`.
9762
9766
  *
9763
9767
  * Draws first as a normal sprite, then again as a light layer. See {@link https://forums.factorio.com/91682 | https://forums.factorio.com/91682}.
9764
9768
  */
9765
- draw_as_glow?: bool;
9769
+ draw_as_glow?: boolean;
9766
9770
  /**
9767
9771
  * Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
9768
9772
  */
9769
- draw_as_light?: bool;
9773
+ draw_as_light?: boolean;
9770
9774
  /**
9771
9775
  * Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. This takes precedence over `draw_as_glow` and `draw_as_light`.
9772
9776
  */
9773
- draw_as_shadow?: bool;
9777
+ draw_as_shadow?: boolean;
9774
9778
  flags?: SpriteFlags;
9775
9779
  /**
9776
9780
  * This property is only used by sprites used in {@link UtilitySprites | prototype:UtilitySprites} that have the `"icon"` flag set.
9777
9781
  *
9778
9782
  * If this is set to `true`, the game will generate an icon shadow (using signed distance fields) for the sprite.
9779
9783
  */
9780
- generate_sdf?: bool;
9781
- invert_colors?: bool;
9784
+ generate_sdf?: boolean;
9785
+ invert_colors?: boolean;
9782
9786
  /**
9783
9787
  * Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. Will be clamped to range `[0, 5]`.
9784
9788
  */
@@ -9787,7 +9791,7 @@ interface SpriteParameters extends SpriteSource {
9787
9791
  /**
9788
9792
  * Whether to rotate the `shift` alongside the sprite's rotation. This only applies to sprites which are procedurally rotated by the game engine (like projectiles, wires, inserter hands, etc).
9789
9793
  */
9790
- rotate_shift?: bool;
9794
+ rotate_shift?: boolean;
9791
9795
  /**
9792
9796
  * Values other than `1` specify the scale of the sprite on default zoom. A scale of `2` means that the picture will be two times bigger on screen (and thus more pixelated).
9793
9797
  */
@@ -9801,7 +9805,7 @@ interface SpriteParameters extends SpriteSource {
9801
9805
  */
9802
9806
  surface?: SpriteUsageSurfaceHint;
9803
9807
  tint?: Color;
9804
- tint_as_overlay?: bool;
9808
+ tint_as_overlay?: boolean;
9805
9809
  /**
9806
9810
  * Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.
9807
9811
  */
@@ -9844,7 +9848,7 @@ interface SpriteSource {
9844
9848
  /**
9845
9849
  * If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. Whether downsampling happens depends on detected hardware and other graphics settings.
9846
9850
  */
9847
- allow_forced_downscale?: bool;
9851
+ allow_forced_downscale?: boolean;
9848
9852
  /**
9849
9853
  * The path to the sprite file to use.
9850
9854
  * This property is required, but marked as optional due to typescript inheritance limitations
@@ -9859,7 +9863,7 @@ interface SpriteSource {
9859
9863
  /**
9860
9864
  * Minimal mode is entered when mod loading fails. You are in it when you see the gray box after (part of) the loading screen that tells you a mod error. Modders can ignore this property.
9861
9865
  */
9862
- load_in_minimal_mode?: bool;
9866
+ load_in_minimal_mode?: boolean;
9863
9867
  /**
9864
9868
  * Loaded only when `x` and `y` are both `0`. The first member of the tuple is `x` and the second is `y`.
9865
9869
  */
@@ -9870,7 +9874,7 @@ interface SpriteSource {
9870
9874
  /**
9871
9875
  * Whether alpha should be pre-multiplied.
9872
9876
  */
9873
- premul_alpha?: bool;
9877
+ premul_alpha?: boolean;
9874
9878
  /**
9875
9879
  * The width and height of the sprite. If this is a tuple, the first member of the tuple is the width and the second is the height. Otherwise the size is both width and height. Width and height may only be in the range of 0-4096.
9876
9880
  */
@@ -9938,7 +9942,7 @@ interface StateSteeringSettings {
9938
9942
  /**
9939
9943
  * Used only for special "to look good" purposes (like in trailer).
9940
9944
  */
9941
- force_unit_fuzzy_goto_behavior: bool;
9945
+ force_unit_fuzzy_goto_behavior: boolean;
9942
9946
  /**
9943
9947
  * Not including the radius of the unit.
9944
9948
  */
@@ -9950,14 +9954,14 @@ interface StatelessVisualisation {
9950
9954
  acceleration_x?: float;
9951
9955
  acceleration_y?: float;
9952
9956
  acceleration_z?: float;
9953
- adjust_animation_speed_by_base_scale?: bool;
9954
- affected_by_wind?: bool;
9957
+ adjust_animation_speed_by_base_scale?: boolean;
9958
+ affected_by_wind?: boolean;
9955
9959
  /**
9956
9960
  * One of `nested_visualisations`, `animation` and `light` needs to be defined.
9957
9961
  */
9958
9962
  animation?: AnimationVariations;
9959
9963
  begin_scale?: float;
9960
- can_lay_on_the_ground?: bool;
9964
+ can_lay_on_the_ground?: boolean;
9961
9965
  count?: uint16;
9962
9966
  end_scale?: float;
9963
9967
  fade_in_progress_duration?: float;
@@ -10232,7 +10236,7 @@ interface SurfaceRenderParameters {
10232
10236
  /**
10233
10237
  * When set to `true` and `clouds` property is not set, the legacy sprite clouds will be rendered on the surface.
10234
10238
  */
10235
- draw_sprite_clouds?: bool;
10239
+ draw_sprite_clouds?: boolean;
10236
10240
  fog?: FogEffectProperties;
10237
10241
  shadow_opacity?: float;
10238
10242
  space_dust_background?: SpaceDustEffectProperties;
@@ -10263,15 +10267,15 @@ interface TabStyleSpecification extends StyleWithClickableGraphicalSetSpecificat
10263
10267
  disabled_badge_font_color?: Color;
10264
10268
  disabled_badge_graphical_set?: ElementImageSet;
10265
10269
  disabled_font_color?: Color;
10266
- draw_grayscale_picture?: bool;
10270
+ draw_grayscale_picture?: boolean;
10267
10271
  /**
10268
10272
  * Name of a {@link FontPrototype | prototype:FontPrototype}.
10269
10273
  */
10270
10274
  font?: string;
10271
10275
  hover_badge_graphical_set?: ElementImageSet;
10272
- increase_height_when_selected?: bool;
10276
+ increase_height_when_selected?: boolean;
10273
10277
  left_edge_selected_graphical_set?: ElementImageSet;
10274
- override_graphics_on_edges?: bool;
10278
+ override_graphics_on_edges?: boolean;
10275
10279
  press_badge_graphical_set?: ElementImageSet;
10276
10280
  right_edge_selected_graphical_set?: ElementImageSet;
10277
10281
  selected_badge_font_color?: Color;
@@ -10286,7 +10290,7 @@ interface TabbedPaneStyleSpecification extends BaseStyleSpecification {
10286
10290
  vertical_spacing?: uint32;
10287
10291
  }
10288
10292
  interface TableStyleSpecification extends BaseStyleSpecification {
10289
- apply_row_graphical_set_per_column?: bool;
10293
+ apply_row_graphical_set_per_column?: boolean;
10290
10294
  background_graphical_set?: ElementImageSet;
10291
10295
  border?: BorderImageSet;
10292
10296
  bottom_cell_padding?: int16;
@@ -10319,7 +10323,7 @@ interface TableStyleSpecification extends BaseStyleSpecification {
10319
10323
  type: 'table_style';
10320
10324
  vertical_line_color?: Color;
10321
10325
  vertical_spacing?: int32 | SpacingItem[];
10322
- wide_as_column_count?: bool;
10326
+ wide_as_column_count?: boolean;
10323
10327
  }
10324
10328
  /**
10325
10329
  * The name of a {@link TechnologyPrototype | prototype:TechnologyPrototype}.
@@ -10492,7 +10496,7 @@ interface ThrowCapsuleAction {
10492
10496
  /**
10493
10497
  * Whether using the capsule consumes an item from the stack.
10494
10498
  */
10495
- uses_stack?: bool;
10499
+ uses_stack?: boolean;
10496
10500
  }
10497
10501
  interface ThrusterGraphicsSet extends WorkingVisualisations {
10498
10502
  flame?: Sprite;
@@ -10532,7 +10536,7 @@ interface TileBuildSound {
10532
10536
  interface TileBuildabilityRule {
10533
10537
  area: SimpleBoundingBox;
10534
10538
  colliding_tiles?: CollisionMaskConnector;
10535
- remove_on_collision?: bool;
10539
+ remove_on_collision?: boolean;
10536
10540
  required_tiles?: CollisionMaskConnector;
10537
10541
  }
10538
10542
  /**
@@ -10946,10 +10950,10 @@ interface TileTransitionVariantLayout extends TileSpriteLayoutVariant {
10946
10950
  * Use `layout` with `spritesheet` to define all the tile layers inside the `layout` property. The `*_enabled`, `*_layout` and `*_spritesheet` properties can be used to override specific layers of a reused layout.
10947
10951
  */
10948
10952
  interface TileTransitions {
10949
- apply_effect_color_to_overlay?: bool;
10950
- apply_waving_effect_on_background_mask?: bool;
10951
- apply_waving_effect_on_masks?: bool;
10952
- auxiliary_effect_mask_enabled?: bool;
10953
+ apply_effect_color_to_overlay?: boolean;
10954
+ apply_waving_effect_on_background_mask?: boolean;
10955
+ apply_waving_effect_on_masks?: boolean;
10956
+ auxiliary_effect_mask_enabled?: boolean;
10953
10957
  /**
10954
10958
  * Overrides the `auxiliary_effect_mask` definition inside `layout`.
10955
10959
  */
@@ -10960,14 +10964,14 @@ interface TileTransitions {
10960
10964
  * Default spritesheet for `auxiliary_effect_mask_layout` and `layout.auxiliary_effect_mask`.
10961
10965
  */
10962
10966
  auxiliary_effect_mask_spritesheet?: FileName;
10963
- background_enabled?: bool;
10967
+ background_enabled?: boolean;
10964
10968
  background_layer_group?: TileRenderLayer;
10965
10969
  background_layer_offset?: int8;
10966
10970
  /**
10967
10971
  * Overrides the `background` definition inside `layout`.
10968
10972
  */
10969
10973
  background_layout?: TileTransitionVariantLayout;
10970
- background_mask_enabled?: bool;
10974
+ background_mask_enabled?: boolean;
10971
10975
  /**
10972
10976
  * Overrides the `background_mask` definition inside `layout`.
10973
10977
  */
@@ -10986,9 +10990,9 @@ interface TileTransitions {
10986
10990
  background_spritesheet?: FileName;
10987
10991
  double_side_variations_in_group?: uint8;
10988
10992
  double_side_weights?: float[];
10989
- draw_background_layer_under_tiles?: bool;
10990
- draw_simple_outer_corner_over_diagonal?: bool;
10991
- effect_map_enabled?: bool;
10993
+ draw_background_layer_under_tiles?: boolean;
10994
+ draw_simple_outer_corner_over_diagonal?: boolean;
10995
+ effect_map_enabled?: boolean;
10992
10996
  /**
10993
10997
  * Overrides the `effect_map` definition inside `layout`.
10994
10998
  */
@@ -11001,7 +11005,7 @@ interface TileTransitions {
11001
11005
  effect_map_spritesheet?: FileName;
11002
11006
  inner_corner_weights?: float[];
11003
11007
  layout?: TileTransitionSpritesheetLayout;
11004
- lightmap_enabled?: bool;
11008
+ lightmap_enabled?: boolean;
11005
11009
  /**
11006
11010
  * Overrides the `lightmap` definition inside `layout`.
11007
11011
  */
@@ -11012,7 +11016,7 @@ interface TileTransitions {
11012
11016
  * Default spritesheet for `lightmap_layout` and `layout.lightmap`.
11013
11017
  */
11014
11018
  lightmap_spritesheet?: FileName;
11015
- mask_enabled?: bool;
11019
+ mask_enabled?: boolean;
11016
11020
  /**
11017
11021
  * Overrides the `mask` definition inside `layout`.
11018
11022
  */
@@ -11025,9 +11029,9 @@ interface TileTransitions {
11025
11029
  mask_spritesheet?: FileName;
11026
11030
  masked_background_layer_offset?: int8;
11027
11031
  masked_overlay_layer_offset?: int8;
11028
- offset_background_layer_by_tile_layer?: bool;
11032
+ offset_background_layer_by_tile_layer?: boolean;
11029
11033
  outer_corner_weights?: float[];
11030
- overlay_enabled?: bool;
11034
+ overlay_enabled?: boolean;
11031
11035
  overlay_layer_group?: TileRenderLayer;
11032
11036
  overlay_layer_offset?: int8;
11033
11037
  /**
@@ -11053,7 +11057,7 @@ interface TileTransitionsToTiles extends TileTransitions {
11053
11057
  transition_group: uint8;
11054
11058
  }
11055
11059
  interface TileTransitionsVariants {
11056
- empty_transitions?: bool;
11060
+ empty_transitions?: boolean;
11057
11061
  light?: TileLightPictures[];
11058
11062
  main?: TileMainPictures[];
11059
11063
  material_background?: MaterialTextureParameters;
@@ -11303,12 +11307,12 @@ interface TrainBrakingForceBonusModifier extends SimpleModifier {
11303
11307
  /**
11304
11308
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
11305
11309
  */
11306
- infer_icon?: bool;
11310
+ infer_icon?: boolean;
11307
11311
  type: 'train-braking-force-bonus';
11308
11312
  /**
11309
11313
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
11310
11314
  */
11311
- use_icon_overlay_constant?: bool;
11315
+ use_icon_overlay_constant?: boolean;
11312
11316
  }
11313
11317
  interface TrainPathFinderConstants {
11314
11318
  signal_reserved_by_circuit_network_penalty: uint32;
@@ -11349,12 +11353,12 @@ interface TrainVisualizationConstants {
11349
11353
  stock_number_scale: float;
11350
11354
  }
11351
11355
  interface TransitionApplication {
11352
- offset?: bool;
11353
- pod_offset?: bool;
11354
- rotation?: bool;
11356
+ offset?: boolean;
11357
+ pod_offset?: boolean;
11358
+ rotation?: boolean;
11355
11359
  }
11356
11360
  interface TransportBeltAnimationSet {
11357
- alternate?: bool;
11361
+ alternate?: boolean;
11358
11362
  animation_set: RotatedAnimation;
11359
11363
  belt_reader?: BeltReaderLayer[];
11360
11364
  east_index?: uint8;
@@ -11590,7 +11594,7 @@ interface TriggerDeliveryItem {
11590
11594
  type TriggerEffect = (/**
11591
11595
  * Loaded when the `type` is `"damage"`.
11592
11596
  */
11593
- DamageTriggerEffectItem | /**
11597
+ DamageEntityTriggerEffectItem | /**
11594
11598
  * Loaded when the `type` is `"damage-tile"`.
11595
11599
  */
11596
11600
  DamageTileTriggerEffectItem | /**
@@ -11659,7 +11663,7 @@ CameraEffectTriggerEffectItem | /**
11659
11663
  ActivateImpactTriggerEffectItem) | (/**
11660
11664
  * Loaded when the `type` is `"damage"`.
11661
11665
  */
11662
- DamageTriggerEffectItem | /**
11666
+ DamageEntityTriggerEffectItem | /**
11663
11667
  * Loaded when the `type` is `"damage-tile"`.
11664
11668
  */
11665
11669
  DamageTileTriggerEffectItem | /**
@@ -11730,7 +11734,7 @@ ActivateImpactTriggerEffectItem)[];
11730
11734
  * The abstract base of all {@link TriggerEffects | prototype:TriggerEffect}.
11731
11735
  */
11732
11736
  interface TriggerEffectItem {
11733
- affects_target?: bool;
11737
+ affects_target?: boolean;
11734
11738
  /**
11735
11739
  * Guaranteed to work with {@link EntityWithHealthPrototype::damaged_trigger_effect | prototype:EntityWithHealthPrototype::damaged_trigger_effect} and {@link EntityWithHealthPrototype::dying_trigger_effect | prototype:EntityWithHealthPrototype::dying_trigger_effect}. Unknown if it works with other properties that use {@link TriggerEffect | prototype:TriggerEffect}.
11736
11740
  */
@@ -11741,7 +11745,7 @@ interface TriggerEffectItem {
11741
11745
  probability?: float;
11742
11746
  repeat_count?: uint16;
11743
11747
  repeat_count_deviation?: uint16;
11744
- show_in_tooltip?: bool;
11748
+ show_in_tooltip?: boolean;
11745
11749
  }
11746
11750
  /**
11747
11751
  * A {@link TriggerEffect | prototype:TriggerEffect} with cooldown conditions, used to limit the frequency of trigger effects that would otherwise fire every single tick. If multiple cooldown conditions are defined, then all cooldowns must be satisfied before the effect can be triggered.
@@ -11782,7 +11786,7 @@ interface TriggerItem {
11782
11786
  * Only entities meeting the force condition are affected by the trigger item.
11783
11787
  */
11784
11788
  force?: ForceCondition;
11785
- ignore_collision_condition?: bool;
11789
+ ignore_collision_condition?: boolean;
11786
11790
  /**
11787
11791
  * Must be greater than 0 and less than or equal to 1.
11788
11792
  */
@@ -11811,7 +11815,7 @@ interface TurretAttackModifier extends BaseModifier {
11811
11815
  /**
11812
11816
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
11813
11817
  */
11814
- infer_icon?: bool;
11818
+ infer_icon?: boolean;
11815
11819
  /**
11816
11820
  * Modification value, which will be added to the current turret attack modifier upon researching.
11817
11821
  */
@@ -11824,16 +11828,16 @@ interface TurretAttackModifier extends BaseModifier {
11824
11828
  /**
11825
11829
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
11826
11830
  */
11827
- use_icon_overlay_constant?: bool;
11831
+ use_icon_overlay_constant?: boolean;
11828
11832
  }
11829
11833
  interface TurretBaseVisualisation {
11830
11834
  animation: Animation4Way;
11831
- draw_when_frozen?: bool;
11832
- draw_when_has_ammo?: bool;
11833
- draw_when_has_energy?: bool;
11834
- draw_when_no_ammo?: bool;
11835
- draw_when_no_energy?: bool;
11836
- draw_when_not_frozen?: bool;
11835
+ draw_when_frozen?: boolean;
11836
+ draw_when_has_ammo?: boolean;
11837
+ draw_when_has_energy?: boolean;
11838
+ draw_when_no_ammo?: boolean;
11839
+ draw_when_no_energy?: boolean;
11840
+ draw_when_not_frozen?: boolean;
11837
11841
  /**
11838
11842
  * If not defined, visualisation will be drawn in all states.
11839
11843
  */
@@ -11904,19 +11908,19 @@ interface UnitAISettings {
11904
11908
  /**
11905
11909
  * If enabled, units that have nothing else to do will attempt to return to a spawner.
11906
11910
  */
11907
- allow_try_return_to_spawner?: bool;
11911
+ allow_try_return_to_spawner?: boolean;
11908
11912
  /**
11909
11913
  * If enabled, units that repeatedly fail to succeed at commands will be destroyed.
11910
11914
  */
11911
- destroy_when_commands_fail?: bool;
11915
+ destroy_when_commands_fail?: boolean;
11912
11916
  /**
11913
11917
  * If enabled, units will try to separate themselves from nearby friendly units.
11914
11918
  */
11915
- do_separation?: bool;
11919
+ do_separation?: boolean;
11916
11920
  /**
11917
11921
  * If enabled, the unit is permitted to join attack groups.
11918
11922
  */
11919
- join_attacks?: bool;
11923
+ join_attacks?: boolean;
11920
11924
  /**
11921
11925
  * Must be between -8 and 8.
11922
11926
  */
@@ -12030,7 +12034,7 @@ interface UnlockQualityModifier extends BaseModifier {
12030
12034
  /**
12031
12035
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12032
12036
  */
12033
- use_icon_overlay_constant?: bool;
12037
+ use_icon_overlay_constant?: boolean;
12034
12038
  }
12035
12039
  interface UnlockRecipeModifier extends BaseModifier {
12036
12040
  /**
@@ -12041,7 +12045,7 @@ interface UnlockRecipeModifier extends BaseModifier {
12041
12045
  /**
12042
12046
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12043
12047
  */
12044
- use_icon_overlay_constant?: bool;
12048
+ use_icon_overlay_constant?: boolean;
12045
12049
  }
12046
12050
  interface UnlockRecipeTipTrigger {
12047
12051
  recipe: RecipeID;
@@ -12053,7 +12057,7 @@ interface UnlockSpaceLocationModifier extends BaseModifier {
12053
12057
  /**
12054
12058
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12055
12059
  */
12056
- use_icon_overlay_constant?: bool;
12060
+ use_icon_overlay_constant?: boolean;
12057
12061
  }
12058
12062
  interface UseConfirmTipTrigger extends CountBasedTipTrigger {
12059
12063
  type: 'use-confirm';
@@ -12064,7 +12068,7 @@ interface UseOnSelfCapsuleAction {
12064
12068
  /**
12065
12069
  * Whether using the capsule consumes an item from the stack.
12066
12070
  */
12067
- uses_stack?: bool;
12071
+ uses_stack?: boolean;
12068
12072
  }
12069
12073
  interface UsePipetteTipTrigger extends CountBasedTipTrigger {
12070
12074
  type: 'use-pipette';
@@ -12106,11 +12110,11 @@ interface VariableAmbientSoundLayer {
12106
12110
  /**
12107
12111
  * If `true`, the last of {@link Sound::variations | prototype:Sound::variations} is played at the end of a sequence (if the sequence is long enough). The end sample counts towards the {@link VariableAmbientSoundLayerStateProperties::sequence_length | prototype:VariableAmbientSoundLayerStateProperties::sequence_length}.
12108
12112
  */
12109
- has_end_sample?: bool;
12113
+ has_end_sample?: boolean;
12110
12114
  /**
12111
12115
  * If `true`, the first of {@link Sound::variations | prototype:Sound::variations} is played at the start of a sequence. The start sample counts towards the {@link VariableAmbientSoundLayerStateProperties::sequence_length | prototype:VariableAmbientSoundLayerStateProperties::sequence_length}
12112
12116
  */
12113
- has_start_sample?: bool;
12117
+ has_start_sample?: boolean;
12114
12118
  /**
12115
12119
  * Name has to be unique across all layers.
12116
12120
  */
@@ -12176,7 +12180,7 @@ type VariableAmbientSoundLayerSample = [
12176
12180
  uint32
12177
12181
  ];
12178
12182
  interface VariableAmbientSoundLayerStateProperties {
12179
- enabled?: bool;
12183
+ enabled?: boolean;
12180
12184
  /**
12181
12185
  * Pause before a layer finishes playing. The last repetition and consequently the layer being finished is not counted until the pause finishes.
12182
12186
  */
@@ -12425,7 +12429,7 @@ interface VehicleLogisticsModifier extends BoolModifier {
12425
12429
  /**
12426
12430
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12427
12431
  */
12428
- use_icon_overlay_constant?: bool;
12432
+ use_icon_overlay_constant?: boolean;
12429
12433
  }
12430
12434
  type VerticalAlign = 'top' | 'center' | 'bottom';
12431
12435
  interface VerticalFlowStyleSpecification extends BaseStyleSpecification {
@@ -12478,9 +12482,9 @@ interface WallPictures {
12478
12482
  * Entity water reflection. {@link Currently only renders | https://forums.factorio.com/100703} for {@link EntityWithHealthPrototype | prototype:EntityWithHealthPrototype}.
12479
12483
  */
12480
12484
  interface WaterReflectionDefinition {
12481
- orientation_to_variation?: bool;
12485
+ orientation_to_variation?: boolean;
12482
12486
  pictures?: SpriteVariations;
12483
- rotate?: bool;
12487
+ rotate?: boolean;
12484
12488
  }
12485
12489
  interface WaterTileEffectParameters {
12486
12490
  animation_scale: float | [
@@ -12539,34 +12543,34 @@ interface WorkerRobotBatteryModifier extends SimpleModifier {
12539
12543
  /**
12540
12544
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
12541
12545
  */
12542
- infer_icon?: bool;
12546
+ infer_icon?: boolean;
12543
12547
  type: 'worker-robot-battery';
12544
12548
  /**
12545
12549
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12546
12550
  */
12547
- use_icon_overlay_constant?: bool;
12551
+ use_icon_overlay_constant?: boolean;
12548
12552
  }
12549
12553
  interface WorkerRobotSpeedModifier extends SimpleModifier {
12550
12554
  /**
12551
12555
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
12552
12556
  */
12553
- infer_icon?: bool;
12557
+ infer_icon?: boolean;
12554
12558
  type: 'worker-robot-speed';
12555
12559
  /**
12556
12560
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12557
12561
  */
12558
- use_icon_overlay_constant?: bool;
12562
+ use_icon_overlay_constant?: boolean;
12559
12563
  }
12560
12564
  interface WorkerRobotStorageModifier extends SimpleModifier {
12561
12565
  /**
12562
12566
  * If set to `false`, use the icon from {@link UtilitySprites | prototype:UtilitySprites} for this technology effect icon.
12563
12567
  */
12564
- infer_icon?: bool;
12568
+ infer_icon?: boolean;
12565
12569
  type: 'worker-robot-storage';
12566
12570
  /**
12567
12571
  * If `false`, do not draw the small "constant" icon over the technology effect icon.
12568
12572
  */
12569
- use_icon_overlay_constant?: bool;
12573
+ use_icon_overlay_constant?: boolean;
12570
12574
  }
12571
12575
  /**
12572
12576
  * This type is used to produce sound from in-game entities when they are working/idle.
@@ -12600,7 +12604,7 @@ type WorkingSound = {
12600
12604
  /**
12601
12605
  * If `true`, `max_sounds_per_prototype` is ignored. 'extra sound' refers to `idle_sound`, `activate_sound` or `deactivate_sound`.
12602
12606
  */
12603
- extra_sounds_ignore_limit?: bool;
12607
+ extra_sounds_ignore_limit?: boolean;
12604
12608
  /**
12605
12609
  * The sound to be played when the entity is idle. Might not work with all entities that use working_sound.
12606
12610
  */
@@ -12620,17 +12624,17 @@ type WorkingSound = {
12620
12624
  /**
12621
12625
  * When `true`, working sounds for all entities of the same prototype are combined into one and some (most) properties of this are ignored or unused.
12622
12626
  */
12623
- persistent?: bool;
12627
+ persistent?: boolean;
12624
12628
  sound_accents?: SoundAccent | SoundAccent[];
12625
- use_doppler_shift?: bool;
12629
+ use_doppler_shift?: boolean;
12626
12630
  } | Sound;
12627
12631
  /**
12628
12632
  * Used by crafting machines to display different graphics when the machine is running.
12629
12633
  */
12630
12634
  interface WorkingVisualisation {
12631
- align_to_waypoint?: bool;
12632
- always_draw?: bool;
12633
- animated_shift?: bool;
12635
+ align_to_waypoint?: boolean;
12636
+ always_draw?: boolean;
12637
+ animated_shift?: boolean;
12634
12638
  animation?: Animation;
12635
12639
  /**
12636
12640
  * Used by {@link CraftingMachinePrototype | prototype:CraftingMachinePrototype}. Has precedence over `apply_tint`.
@@ -12645,7 +12649,7 @@ interface WorkingVisualisation {
12645
12649
  /**
12646
12650
  * Whether the animations are always played at the same speed, not adjusted to the machine speed.
12647
12651
  */
12648
- constant_speed?: bool;
12652
+ constant_speed?: boolean;
12649
12653
  /**
12650
12654
  * Only loaded if {@link WorkingVisualisations::states | prototype:WorkingVisualisations::states} is defined in the WorkingVisualisations that loads this.
12651
12655
  */
@@ -12653,7 +12657,7 @@ interface WorkingVisualisation {
12653
12657
  /**
12654
12658
  * Only loaded if {@link WorkingVisualisations::states | prototype:WorkingVisualisations::states} is defined in the WorkingVisualisations that loads this.
12655
12659
  */
12656
- draw_when_state_filter_matches?: bool;
12660
+ draw_when_state_filter_matches?: boolean;
12657
12661
  east_animation?: Animation;
12658
12662
  /**
12659
12663
  * If defined, animation in this visualisation layer will be used only as mask for fog effect and will not render in world.
@@ -12662,19 +12666,19 @@ interface WorkingVisualisation {
12662
12666
  east_position?: Vector;
12663
12667
  east_secondary_draw_order?: int8;
12664
12668
  effect?: 'flicker' | 'uranium-glow' | 'none';
12665
- enabled_by_name?: bool;
12666
- enabled_in_animated_shift_during_transition?: bool;
12667
- enabled_in_animated_shift_during_waypoint_stop?: bool;
12668
- fadeout?: bool;
12669
+ enabled_by_name?: boolean;
12670
+ enabled_in_animated_shift_during_transition?: boolean;
12671
+ enabled_in_animated_shift_during_waypoint_stop?: boolean;
12672
+ fadeout?: boolean;
12669
12673
  /**
12670
12674
  * Loaded only if at least one of north_fog_mask, east_fog_mask, south_fog_mask, west_fog_mask is not specified.
12671
12675
  *
12672
12676
  * If defined, animation in this visualisation layer will be used only as mask for fog effect and will not render in world.
12673
12677
  */
12674
12678
  fog_mask?: FogMaskShapeDefinition;
12675
- frame_based_on_shift_animation_progress?: bool;
12679
+ frame_based_on_shift_animation_progress?: boolean;
12676
12680
  light?: LightDefinition;
12677
- mining_drill_scorch_mark?: bool;
12681
+ mining_drill_scorch_mark?: boolean;
12678
12682
  name?: string;
12679
12683
  north_animation?: Animation;
12680
12684
  /**
@@ -12707,7 +12711,7 @@ interface WorkingVisualisation {
12707
12711
  south_fog_mask?: FogMaskShapeDefinition;
12708
12712
  south_position?: Vector;
12709
12713
  south_secondary_draw_order?: int8;
12710
- synced_fadeout?: bool;
12714
+ synced_fadeout?: boolean;
12711
12715
  west_animation?: Animation;
12712
12716
  /**
12713
12717
  * If defined, animation in this visualisation layer will be used only as mask for fog effect and will not render in world.
@@ -12720,7 +12724,7 @@ interface WorkingVisualisations {
12720
12724
  /**
12721
12725
  * Only loaded if `idle_animation` is defined.
12722
12726
  */
12723
- always_draw_idle_animation?: bool;
12727
+ always_draw_idle_animation?: boolean;
12724
12728
  animation?: Animation4Way;
12725
12729
  default_recipe_tint?: GlobalRecipeTints;
12726
12730
  /**
@@ -12764,10 +12768,6 @@ type WorldAmbientSoundDefinition = {
12764
12768
  radius?: double;
12765
12769
  sound?: Sound;
12766
12770
  } | Sound;
12767
- /**
12768
- * A variable type which can have one of two values: `true` or `false`. Wikipedia has a {@link comprehensive article | https://en.wikipedia.org/wiki/Boolean} on Booleans.
12769
- */
12770
- type bool = boolean;
12771
12771
  /**
12772
12772
  * Format uses a dot as its decimal delimiter. Doubles are stored in the {@link double precision | http://en.wikipedia.org/wiki/Double-precision_floating-point_format} floating point format.
12773
12773
  *