factorio-types 0.0.16 → 0.0.17

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/classes.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/runtime-api.json
4
4
  // Definition source https://github.com/sguest/factorio-types
5
- // Factorio version 1.1.46
5
+ // Factorio version 1.1.47
6
6
  // API version 1
7
7
 
8
8
  /**
@@ -985,23 +985,19 @@ interface LuaControl {
985
985
 
986
986
  /**
987
987
  * Gets the parameters of a personal logistic request and auto-trash slot.
988
- * @remarks
989
- * This will silently return an empty value (`name` will be `nil`) if personal logistics are not researched yet.
990
- *
991
988
  * @param slot_index - The slot to get.
989
+ * @returns The logistic parameters. If personal logistics are not researched yet, their `name` will be `nil`.
992
990
  */
993
991
  get_personal_logistic_slot(this: void,
994
- slot_index: number): PersonalLogisticParameters
992
+ slot_index: number): LogisticParameters
995
993
 
996
994
  /**
997
995
  * Gets the parameters of a vehicle logistic request and auto-trash slot.
998
- * @remarks
999
- * This will silently return an empty value (`name` will be `nil`) if the vehicle does not use logistics.
1000
- *
1001
996
  * @param slot_index - The slot to get.
997
+ * @returns The logistic parameters. If the vehicle does not use logistics, their `name` will be `nil`.
1002
998
  */
1003
999
  get_vehicle_logistic_slot(this: void,
1004
- slot_index: number): PersonalLogisticParameters
1000
+ slot_index: number): LogisticParameters
1005
1001
 
1006
1002
  /**
1007
1003
  * Does this entity have any item inside it?
@@ -1080,29 +1076,23 @@ interface LuaControl {
1080
1076
 
1081
1077
  /**
1082
1078
  * Sets a personal logistic request and auto-trash slot to the given value.
1083
- * @remarks
1084
- * This will silently fail if personal logistics are not researched yet.
1085
- *
1086
1079
  * @param slot_index - The slot to set.
1087
1080
  * @param value - The logistic request parameters.
1088
- * @returns Whether the slot was set successfully.
1081
+ * @returns Whether the slot was set successfully. `false` if personal logistics are not researched yet.
1089
1082
  */
1090
1083
  set_personal_logistic_slot(this: void,
1091
1084
  slot_index: number,
1092
- value: PersonalLogisticParameters): boolean
1085
+ value: LogisticParameters): boolean
1093
1086
 
1094
1087
  /**
1095
1088
  * Sets a vehicle logistic request and auto-trash slot to the given value.
1096
- * @remarks
1097
- * This will silently fail if the vehicle does not use logistics.
1098
- *
1099
1089
  * @param slot_index - The slot to set.
1100
1090
  * @param value - The logistic request parameters.
1101
- * @returns Whether the slot was set successfully.
1091
+ * @returns Whether the slot was set successfully. `false` if the vehicle does not use logistics.
1102
1092
  */
1103
1093
  set_vehicle_logistic_slot(this: void,
1104
1094
  slot_index: number,
1105
- value: PersonalLogisticParameters): boolean
1095
+ value: LogisticParameters): boolean
1106
1096
 
1107
1097
  /**
1108
1098
  * Teleport the entity to a given position, possibly on another surface.
@@ -1281,7 +1271,7 @@ interface LuaControl {
1281
1271
  * ```
1282
1272
  *
1283
1273
  */
1284
- readonly cursor_stack: LuaItemStack
1274
+ readonly cursor_stack?: LuaItemStack
1285
1275
 
1286
1276
  /**
1287
1277
  * `true` if the player is in a vehicle. Writing to this attribute puts the player in or out of a vehicle.
@@ -1336,12 +1326,12 @@ interface LuaControl {
1336
1326
  * Write supports any of the types. Read will return the `entity`, `equipment`, `equipment-grid`, `player`, `element` or `nil`.
1337
1327
  *
1338
1328
  */
1339
- opened: LuaEntity | LuaItemStack | LuaEquipment | LuaEquipmentGrid | LuaPlayer | LuaGuiElement | defines.gui_type
1329
+ opened?: LuaEntity | LuaItemStack | LuaEquipment | LuaEquipmentGrid | LuaPlayer | LuaGuiElement | defines.gui_type
1340
1330
 
1341
1331
  /**
1342
1332
  * Returns the {@link defines.gui_type | defines.gui_type} or `nil`.
1343
1333
  */
1344
- readonly opened_gui_type: defines.gui_type
1334
+ readonly opened_gui_type?: defines.gui_type
1345
1335
 
1346
1336
  /**
1347
1337
  * Current item-picking state.
@@ -1544,7 +1534,7 @@ interface LuaCustomInputPrototype {
1544
1534
  /**
1545
1535
  * The item that gets spawned when this custom input is fired or `nil`.
1546
1536
  */
1547
- readonly item_to_spawn: LuaItemPrototype
1537
+ readonly item_to_spawn?: LuaItemPrototype
1548
1538
 
1549
1539
  /**
1550
1540
  * The default key sequence for this custom input.
@@ -1554,7 +1544,7 @@ interface LuaCustomInputPrototype {
1554
1544
  /**
1555
1545
  * The linked game control name or `nil`.
1556
1546
  */
1557
- readonly linked_game_control: string
1547
+ readonly linked_game_control?: string
1558
1548
 
1559
1549
  readonly localised_description: LocalisedString
1560
1550
 
@@ -2864,7 +2854,7 @@ interface LuaEntity extends LuaControl {
2864
2854
  * Applies to subclasses: Character
2865
2855
  *
2866
2856
  */
2867
- associated_player: LuaPlayer
2857
+ associated_player?: LuaPlayer
2868
2858
 
2869
2859
  /**
2870
2860
  * Whether this rocket silo automatically launches the rocket when cargo is inserted.
@@ -2880,7 +2870,7 @@ interface LuaEntity extends LuaControl {
2880
2870
  * Applies to subclasses: SpiderVehicle
2881
2871
  *
2882
2872
  */
2883
- autopilot_destination: Position
2873
+ autopilot_destination?: Position
2884
2874
 
2885
2875
  /**
2886
2876
  * The queued destination positions of spidertron's autopilot.
@@ -2896,7 +2886,7 @@ interface LuaEntity extends LuaControl {
2896
2886
  * While train stops get the name of a backer when placed down, players can rename them if they want to. In this case, `backer_name` returns the player-given name of the entity.
2897
2887
  *
2898
2888
  */
2899
- backer_name: string
2889
+ backer_name?: string
2900
2890
 
2901
2891
  /**
2902
2892
  * The belt connectable neighbours of this belt connectable entity. Only entities that input to or are outputs of this entity. Does not contain the other end of an underground belt, see {@link LuaEntity::neighbours | LuaEntity::neighbours} for that. This is a dictionary with `"inputs"`, `"outputs"` entries that are arrays of transport belt connectable entities, or empty tables if no entities.
@@ -2917,7 +2907,7 @@ interface LuaEntity extends LuaControl {
2917
2907
  /**
2918
2908
  * The bonus mining progress for this mining drill or `nil` if this isn't a mining drill. Read yields a number in range [0, mining_target.prototype.mineable_properties.mining_time]
2919
2909
  */
2920
- bonus_mining_progress: number
2910
+ bonus_mining_progress?: number
2921
2911
 
2922
2912
  /**
2923
2913
  * The current productivity bonus progress, as a number in range [0, 1].
@@ -2935,7 +2925,7 @@ interface LuaEntity extends LuaControl {
2935
2925
  /**
2936
2926
  * The burner energy source for this entity or `nil` if there isn't one.
2937
2927
  */
2938
- readonly burner: LuaBurner
2928
+ readonly burner?: LuaBurner
2939
2929
 
2940
2930
  /**
2941
2931
  * The state of this chain signal.
@@ -2991,7 +2981,7 @@ interface LuaEntity extends LuaControl {
2991
2981
  * Car color is overridden by the color of the current driver/passenger, if there is one.
2992
2982
  *
2993
2983
  */
2994
- color: Color
2984
+ color?: Color
2995
2985
 
2996
2986
  /**
2997
2987
  * The owner of this combat robot if any.
@@ -3004,7 +2994,7 @@ interface LuaEntity extends LuaControl {
3004
2994
  * Applies to subclasses: Unit
3005
2995
  *
3006
2996
  */
3007
- readonly command: Command
2997
+ readonly command?: Command
3008
2998
 
3009
2999
  /**
3010
3000
  * The rail entity this train stop is connected to or `nil` if there is none.
@@ -3012,7 +3002,7 @@ interface LuaEntity extends LuaControl {
3012
3002
  * Applies to subclasses: TrainStop
3013
3003
  *
3014
3004
  */
3015
- readonly connected_rail: LuaEntity
3005
+ readonly connected_rail?: LuaEntity
3016
3006
 
3017
3007
  /**
3018
3008
  * Rail direction to which this train stop is binding. This returns a value even when no rails are present.
@@ -3095,7 +3085,7 @@ interface LuaEntity extends LuaControl {
3095
3085
  * Applies to subclasses: Unit
3096
3086
  *
3097
3087
  */
3098
- readonly distraction_command: Command
3088
+ readonly distraction_command?: Command
3099
3089
 
3100
3090
  /**
3101
3091
  * Whether the driver of this car or spidertron is the gunner, if false, the passenger is the gunner.
@@ -3116,7 +3106,7 @@ interface LuaEntity extends LuaControl {
3116
3106
  * Meaningful only for entities that put items somewhere, such as mining drills or inserters. Returns `nil` for any other entity.
3117
3107
  *
3118
3108
  */
3119
- drop_target: LuaEntity
3109
+ drop_target?: LuaEntity
3120
3110
 
3121
3111
  /**
3122
3112
  * The current speed of this unit in tiles per tick, taking into account any walking speed modifier given by the tile the unit is standing on.
@@ -3137,7 +3127,7 @@ interface LuaEntity extends LuaControl {
3137
3127
  /**
3138
3128
  * The effects being applied to this entity or `nil`. For beacons this is the effect the beacon is broadcasting.
3139
3129
  */
3140
- readonly effects: ModuleEffects
3130
+ readonly effects?: ModuleEffects
3141
3131
 
3142
3132
  /**
3143
3133
  * The buffer size for the electric energy source or nil if the entity doesn't have an electric energy source.
@@ -3165,7 +3155,7 @@ interface LuaEntity extends LuaControl {
3165
3155
  /**
3166
3156
  * Returns the id of the electric network that this entity is connected to or `nil`.
3167
3157
  */
3168
- readonly electric_network_id: number
3158
+ readonly electric_network_id?: number
3169
3159
 
3170
3160
  /**
3171
3161
  * The electric network statistics for this electric pole.
@@ -3213,7 +3203,7 @@ interface LuaEntity extends LuaControl {
3213
3203
  * only usable on entities that have labels (currently only spider-vehicles).
3214
3204
  *
3215
3205
  */
3216
- entity_label: string
3206
+ entity_label?: string
3217
3207
 
3218
3208
  /**
3219
3209
  * The number of filter slots this inserter, loader, or logistic storage container has. 0 if not one of those entities.
@@ -3305,12 +3295,12 @@ interface LuaEntity extends LuaControl {
3305
3295
  /**
3306
3296
  * The graphics variation for this entity or `nil` if this entity doesn't use graphics variations.
3307
3297
  */
3308
- graphics_variation: number
3298
+ graphics_variation?: number
3309
3299
 
3310
3300
  /**
3311
3301
  * The equipment grid or `nil` if this entity doesn't have an equipment grid.
3312
3302
  */
3313
- readonly grid: LuaEquipmentGrid
3303
+ readonly grid?: LuaEquipmentGrid
3314
3304
 
3315
3305
  /**
3316
3306
  * The current health of the entity, or `nil` if it doesn't have health. Health is automatically clamped to be between `0` and max health (inclusive). Entities with a health of `0` can not be attacked.
@@ -3318,7 +3308,7 @@ interface LuaEntity extends LuaControl {
3318
3308
  * To get the maximum possible health of this entity, see {@link LuaEntityPrototype::max_health | LuaEntityPrototype::max_health} on its prototype.
3319
3309
  *
3320
3310
  */
3321
- health: number
3311
+ health?: number
3322
3312
 
3323
3313
  /**
3324
3314
  * The item stack currently held in an inserter's hand.
@@ -3375,7 +3365,7 @@ interface LuaEntity extends LuaControl {
3375
3365
  * Applies to subclasses: Inserter
3376
3366
  *
3377
3367
  */
3378
- inserter_filter_mode: string
3368
+ inserter_filter_mode?: string
3379
3369
 
3380
3370
  /**
3381
3371
  * Sets the stack size limit on this inserter. If the stack size is > than the force stack size limit the value is ignored.
@@ -3490,7 +3480,7 @@ interface LuaEntity extends LuaControl {
3490
3480
  /**
3491
3481
  * The mining progress for this mining drill or `nil` if this isn't a mining drill. Is a number in range [0, mining_target.prototype.mineable_properties.mining_time]
3492
3482
  */
3493
- mining_progress: number
3483
+ mining_progress?: number
3494
3484
 
3495
3485
  /**
3496
3486
  * The mining target or `nil` if none
@@ -3498,7 +3488,7 @@ interface LuaEntity extends LuaControl {
3498
3488
  * Applies to subclasses: MiningDrill
3499
3489
  *
3500
3490
  */
3501
- readonly mining_target: LuaEntity
3491
+ readonly mining_target?: LuaEntity
3502
3492
 
3503
3493
  /**
3504
3494
  * Returns true if this unit is moving.
@@ -3527,7 +3517,7 @@ interface LuaEntity extends LuaControl {
3527
3517
  * - When called on an underground transport belt, this is the other end of the underground belt connection, or `nil` if none.
3528
3518
  * - When called on a wall-connectable entity or reactor, this is a dictionary of all connections indexed by the connection direction "north", "south", "east", and "west".
3529
3519
  */
3530
- readonly neighbours: {[key: string]: LuaEntity[]} | Array<LuaEntity[]> | LuaEntity
3520
+ readonly neighbours?: {[key: string]: LuaEntity[]} | Array<LuaEntity[]> | LuaEntity
3531
3521
 
3532
3522
  /**
3533
3523
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
@@ -3566,7 +3556,7 @@ interface LuaEntity extends LuaControl {
3566
3556
  * Applies to subclasses: Inserter
3567
3557
  *
3568
3558
  */
3569
- pickup_target: LuaEntity
3559
+ pickup_target?: LuaEntity
3570
3560
 
3571
3561
  /**
3572
3562
  * The player connected to this character or `nil` if none.
@@ -3574,7 +3564,7 @@ interface LuaEntity extends LuaControl {
3574
3564
  * Applies to subclasses: Character
3575
3565
  *
3576
3566
  */
3577
- readonly player: LuaPlayer
3567
+ readonly player?: LuaPlayer
3578
3568
 
3579
3569
  /**
3580
3570
  * The pollution bonus of this entity.
@@ -3634,7 +3624,7 @@ interface LuaEntity extends LuaControl {
3634
3624
  /**
3635
3625
  * The target entity for this item-request-proxy or `nil`
3636
3626
  */
3637
- readonly proxy_target: LuaEntity
3627
+ readonly proxy_target?: LuaEntity
3638
3628
 
3639
3629
  /**
3640
3630
  * The rail target of this pump or `nil`.
@@ -3642,7 +3632,7 @@ interface LuaEntity extends LuaControl {
3642
3632
  * Applies to subclasses: Pump
3643
3633
  *
3644
3634
  */
3645
- readonly pump_rail_target: LuaEntity
3635
+ readonly pump_rail_target?: LuaEntity
3646
3636
 
3647
3637
  /**
3648
3638
  * When locked; the recipe in this assembling machine can't be changed by the player.
@@ -3658,7 +3648,7 @@ interface LuaEntity extends LuaControl {
3658
3648
  * Writing does nothing if the vehicle doesn't have a turret.
3659
3649
  *
3660
3650
  */
3661
- relative_turret_orientation: RealOrientation
3651
+ relative_turret_orientation?: RealOrientation
3662
3652
 
3663
3653
  /**
3664
3654
  * If items not included in this infinity container filters should be removed from the container.
@@ -3713,12 +3703,12 @@ interface LuaEntity extends LuaControl {
3713
3703
  /**
3714
3704
  * The secondary bounding box of this entity or `nil` if it doesn't have one.
3715
3705
  */
3716
- readonly secondary_bounding_box: BoundingBox
3706
+ readonly secondary_bounding_box?: BoundingBox
3717
3707
 
3718
3708
  /**
3719
3709
  * The secondary selection box of this entity or `nil` if it doesn't have one.
3720
3710
  */
3721
- readonly secondary_selection_box: BoundingBox
3711
+ readonly secondary_selection_box?: BoundingBox
3722
3712
 
3723
3713
  /**
3724
3714
  * Index of the currently selected weapon slot of this character, car, or spidertron, or `nil` if the car/spidertron doesn't have guns.
@@ -3726,7 +3716,7 @@ interface LuaEntity extends LuaControl {
3726
3716
  * Applies to subclasses: Character,Car
3727
3717
  *
3728
3718
  */
3729
- selected_gun_index: number
3719
+ selected_gun_index?: number
3730
3720
 
3731
3721
  /**
3732
3722
  * {@link LuaEntityPrototype::selection_box | LuaEntityPrototype::selection_box} around entity's given position and respecting the current entity orientation.
@@ -3736,7 +3726,7 @@ interface LuaEntity extends LuaControl {
3736
3726
  /**
3737
3727
  * The shooting target for this turret or `nil`.
3738
3728
  */
3739
- shooting_target: LuaEntity
3729
+ shooting_target?: LuaEntity
3740
3730
 
3741
3731
  /**
3742
3732
  * The state of this rail signal.
@@ -3749,7 +3739,7 @@ interface LuaEntity extends LuaControl {
3749
3739
  /**
3750
3740
  * The spawner associated with this unit entity or `nil` if the unit has no associated spawner.
3751
3741
  */
3752
- readonly spawner: LuaEntity
3742
+ readonly spawner?: LuaEntity
3753
3743
 
3754
3744
  /**
3755
3745
  * The current speed of this car in tiles per tick, rolling stock, projectile or spider vehicle, or current max speed of the unit. Only the speed of units, cars, and projectiles are writable.
@@ -3770,7 +3760,7 @@ interface LuaEntity extends LuaControl {
3770
3760
  * Applies to subclasses: Splitter
3771
3761
  *
3772
3762
  */
3773
- splitter_filter: LuaItemPrototype
3763
+ splitter_filter?: LuaItemPrototype
3774
3764
 
3775
3765
  /**
3776
3766
  * The input priority for this splitter : "left", "none", or "right".
@@ -3798,7 +3788,7 @@ interface LuaEntity extends LuaControl {
3798
3788
  /**
3799
3789
  * The status of this entity or `nil` if no status.
3800
3790
  */
3801
- readonly status: defines.entity_status
3791
+ readonly status?: defines.entity_status
3802
3792
 
3803
3793
  /**
3804
3794
  * The entity this sticker is sticked to.
@@ -3808,7 +3798,7 @@ interface LuaEntity extends LuaControl {
3808
3798
  /**
3809
3799
  * The sticker entities attached to this entity or `nil` if none.
3810
3800
  */
3811
- readonly stickers: LuaEntity[]
3801
+ readonly stickers?: LuaEntity[]
3812
3802
 
3813
3803
  /**
3814
3804
  * The storage filter for this logistic storage container.
@@ -3823,12 +3813,12 @@ interface LuaEntity extends LuaControl {
3823
3813
  /**
3824
3814
  * The tags associated with this entity ghost or `nil` if not an entity ghost.
3825
3815
  */
3826
- tags: Tags
3816
+ tags?: Tags
3827
3817
 
3828
3818
  /**
3829
3819
  * The temperature of this entities heat energy source if this entity uses a heat energy source or `nil`.
3830
3820
  */
3831
- temperature: number
3821
+ temperature?: number
3832
3822
 
3833
3823
  /**
3834
3824
  * The text of this flying-text entity.
@@ -3966,7 +3956,7 @@ interface LuaEntity extends LuaControl {
3966
3956
  * Applies to subclasses: Unit
3967
3957
  *
3968
3958
  */
3969
- readonly unit_group: LuaUnitGroup
3959
+ readonly unit_group?: LuaUnitGroup
3970
3960
 
3971
3961
  /**
3972
3962
  * The unit number or nil if the entity doesn't have one. This is universally unique for every entity that has one, for the lifetime of a whole game.
@@ -4048,12 +4038,12 @@ interface LuaEntityPrototype {
4048
4038
  /**
4049
4039
  * Whether this unit prototype is affected by tile walking speed modifiers or `nil`.
4050
4040
  */
4051
- readonly affected_by_tiles: boolean
4041
+ readonly affected_by_tiles?: boolean
4052
4042
 
4053
4043
  /**
4054
4044
  * The air resistance of this rolling stock prototype or `nil` if not a rolling stock prototype.
4055
4045
  */
4056
- readonly air_resistance: number
4046
+ readonly air_resistance?: number
4057
4047
 
4058
4048
  /**
4059
4049
  * The alert icon shift of this entity prototype.
@@ -4063,12 +4053,12 @@ interface LuaEntityPrototype {
4063
4053
  /**
4064
4054
  * Does this turret prototype alert when attacking? or `nil` if not turret prototype.
4065
4055
  */
4066
- readonly alert_when_attacking: boolean
4056
+ readonly alert_when_attacking?: boolean
4067
4057
 
4068
4058
  /**
4069
4059
  * Does this entity with health prototype alert when damaged? or `nil` if not entity with health prototype.
4070
4060
  */
4071
- readonly alert_when_damaged: boolean
4061
+ readonly alert_when_damaged?: boolean
4072
4062
 
4073
4063
  /**
4074
4064
  * If this market allows access to all forces or just friendly ones.
@@ -4098,17 +4088,17 @@ interface LuaEntityPrototype {
4098
4088
  /**
4099
4089
  * The allowed module effects for this entity or `nil`.
4100
4090
  */
4101
- readonly allowed_effects: {[key: string]: boolean}
4091
+ readonly allowed_effects?: {[key: string]: boolean}
4102
4092
 
4103
4093
  /**
4104
4094
  * Whether the lamp is always on (except when out of power or turned off by the circuit network) or `nil`.
4105
4095
  */
4106
- readonly always_on: boolean
4096
+ readonly always_on?: boolean
4107
4097
 
4108
4098
  /**
4109
4099
  * The attack parameters for this entity or `nil` if the entity doesn't use attack parameters.
4110
4100
  */
4111
- readonly attack_parameters: AttackParameters
4101
+ readonly attack_parameters?: AttackParameters
4112
4102
 
4113
4103
  /**
4114
4104
  * The attack result of this entity if the entity has one, else `nil`.
@@ -4118,7 +4108,7 @@ interface LuaEntityPrototype {
4118
4108
  /**
4119
4109
  * The amount of ammo that inserters automatically insert into this ammo-turret or artillery-turret or `nil`.
4120
4110
  */
4121
- readonly automated_ammo_count: number
4111
+ readonly automated_ammo_count?: number
4122
4112
 
4123
4113
  /**
4124
4114
  * Autoplace specification for this entity prototype. `nil` if none.
@@ -4128,7 +4118,7 @@ interface LuaEntityPrototype {
4128
4118
  /**
4129
4119
  * The base productivity of this crafting machine, lab, or mining drill, or `nil`.
4130
4120
  */
4131
- readonly base_productivity: number
4121
+ readonly base_productivity?: number
4132
4122
 
4133
4123
  /**
4134
4124
  * @remarks
@@ -4147,12 +4137,12 @@ interface LuaEntityPrototype {
4147
4137
  /**
4148
4138
  * The speed of this transport belt or `nil` if this isn't a transport belt related prototype.
4149
4139
  */
4150
- readonly belt_speed: number
4140
+ readonly belt_speed?: number
4151
4141
 
4152
4142
  /**
4153
4143
  * The braking force of this vehicle prototype or `nil` if not a vehicle prototype.
4154
4144
  */
4155
- readonly braking_force: number
4145
+ readonly braking_force?: number
4156
4146
 
4157
4147
  /**
4158
4148
  * The evolution requirement to build this entity as a base when expanding enemy bases.
@@ -4174,14 +4164,14 @@ interface LuaEntityPrototype {
4174
4164
  /**
4175
4165
  * The burner energy source prototype this entity uses or `nil`.
4176
4166
  */
4177
- readonly burner_prototype: LuaBurnerPrototype
4167
+ readonly burner_prototype?: LuaBurnerPrototype
4178
4168
 
4179
4169
  readonly call_for_help_radius: number
4180
4170
 
4181
4171
  /**
4182
4172
  * Whether this unit prototype can open gates or `nil`.
4183
4173
  */
4184
- readonly can_open_gates: boolean
4174
+ readonly can_open_gates?: boolean
4185
4175
 
4186
4176
  /**
4187
4177
  * The collision mask used only for collision test with tile directly at offshore pump position.
@@ -4201,7 +4191,7 @@ interface LuaEntityPrototype {
4201
4191
  /**
4202
4192
  * The item prototype name used to destroy this cliff or `nil`.
4203
4193
  */
4204
- readonly cliff_explosive_prototype: string
4194
+ readonly cliff_explosive_prototype?: string
4205
4195
 
4206
4196
  /**
4207
4197
  * The bounding box used for collision checking.
@@ -4233,17 +4223,17 @@ interface LuaEntityPrototype {
4233
4223
  /**
4234
4224
  * The color of the prototype, or `nil` if the prototype doesn't have color.
4235
4225
  */
4236
- readonly color: Color
4226
+ readonly color?: Color
4237
4227
 
4238
4228
  /**
4239
4229
  * The construction radius for this roboport prototype or `nil`.
4240
4230
  */
4241
- readonly construction_radius: number
4231
+ readonly construction_radius?: number
4242
4232
 
4243
4233
  /**
4244
4234
  * The energy consumption of this car prototype or `nil` if not a car prototype.
4245
4235
  */
4246
- readonly consumption: number
4236
+ readonly consumption?: number
4247
4237
 
4248
4238
  /**
4249
4239
  * @remarks
@@ -4273,7 +4263,7 @@ interface LuaEntityPrototype {
4273
4263
  /**
4274
4264
  * The crafting speed of this crafting-machine or `nil`.
4275
4265
  */
4276
- readonly crafting_speed: number
4266
+ readonly crafting_speed?: number
4277
4267
 
4278
4268
  /**
4279
4269
  * If this prototype will attempt to create a ghost of itself on death.
@@ -4286,12 +4276,12 @@ interface LuaEntityPrototype {
4286
4276
  /**
4287
4277
  * The trigger run when this entity is created or `nil`.
4288
4278
  */
4289
- readonly created_effect: TriggerItem[]
4279
+ readonly created_effect?: TriggerItem[]
4290
4280
 
4291
4281
  /**
4292
4282
  * The smoke trigger run when this entity is built or `nil`.
4293
4283
  */
4294
- readonly created_smoke: { initial_height: number, max_radius?: number, offset_deviation: BoundingBox, offsets: Vector[], smoke_name: string, speed: Vector, speed_from_center: number, speed_from_center_deviation: number, speed_multiplier: number, speed_multiplier_deviation: number, starting_frame: number, starting_frame_deviation: number, starting_frame_speed: number, starting_frame_speed_deviation: number }
4284
+ readonly created_smoke?: { initial_height: number, max_radius?: number, offset_deviation: BoundingBox, offsets: Vector[], smoke_name: string, speed: Vector, speed_from_center: number, speed_from_center_deviation: number, speed_multiplier: number, speed_multiplier_deviation: number, starting_frame: number, starting_frame_deviation: number, starting_frame_speed: number, starting_frame_speed_deviation: number }
4295
4285
 
4296
4286
  /**
4297
4287
  * @remarks
@@ -4303,12 +4293,12 @@ interface LuaEntityPrototype {
4303
4293
  /**
4304
4294
  * Value between 0 and 1 darkness where all lamps of this lamp prototype are off or `nil`.
4305
4295
  */
4306
- readonly darkness_for_all_lamps_off: number
4296
+ readonly darkness_for_all_lamps_off?: number
4307
4297
 
4308
4298
  /**
4309
4299
  * Value between 0 and 1 darkness where all lamps of this lamp prototype are on or `nil`.
4310
4300
  */
4311
- readonly darkness_for_all_lamps_on: number
4301
+ readonly darkness_for_all_lamps_on?: number
4312
4302
 
4313
4303
  /**
4314
4304
  * The hardcoded default collision mask (with flags) for this entity prototype type.
@@ -4318,22 +4308,22 @@ interface LuaEntityPrototype {
4318
4308
  /**
4319
4309
  * The distraction cooldown of this unit prototype or `nil`.
4320
4310
  */
4321
- readonly distraction_cooldown: number
4311
+ readonly distraction_cooldown?: number
4322
4312
 
4323
4313
  /**
4324
4314
  * The distribution effectivity for this beacon prototype or `nil` if not a beacon prototype.
4325
4315
  */
4326
- readonly distribution_effectivity: number
4316
+ readonly distribution_effectivity?: number
4327
4317
 
4328
4318
  /**
4329
4319
  * The door opening speed for this rocket silo prototype or `nil`.
4330
4320
  */
4331
- readonly door_opening_speed: number
4321
+ readonly door_opening_speed?: number
4332
4322
 
4333
4323
  /**
4334
4324
  * Whether this logistics or construction robot renders its cargo when flying or `nil`.
4335
4325
  */
4336
- readonly draw_cargo: boolean
4326
+ readonly draw_cargo?: boolean
4337
4327
 
4338
4328
  /**
4339
4329
  * The bounding box used for drawing the entity icon.
@@ -4350,12 +4340,12 @@ interface LuaEntityPrototype {
4350
4340
  /**
4351
4341
  * The effectivity of this car prototype, generator prototype or `nil`.
4352
4342
  */
4353
- readonly effectivity: number
4343
+ readonly effectivity?: number
4354
4344
 
4355
4345
  /**
4356
4346
  * The electric energy source prototype this entity uses or `nil`.
4357
4347
  */
4358
- readonly electric_energy_source_prototype: LuaElectricEnergySourcePrototype
4348
+ readonly electric_energy_source_prototype?: LuaElectricEnergySourcePrototype
4359
4349
 
4360
4350
  /**
4361
4351
  * Amount of pollution emissions per second this entity will create.
@@ -4370,27 +4360,27 @@ interface LuaEntityPrototype {
4370
4360
  /**
4371
4361
  * The energy used per hitpoint taken for this vehicle during collisions or `nil`.
4372
4362
  */
4373
- readonly energy_per_hit_point: number
4363
+ readonly energy_per_hit_point?: number
4374
4364
 
4375
4365
  /**
4376
4366
  * The energy consumed per tile moved for this flying robot or `nil`.
4377
4367
  */
4378
- readonly energy_per_move: number
4368
+ readonly energy_per_move?: number
4379
4369
 
4380
4370
  /**
4381
4371
  * The energy consumed per tick for this flying robot or `nil`.
4382
4372
  */
4383
- readonly energy_per_tick: number
4373
+ readonly energy_per_tick?: number
4384
4374
 
4385
4375
  /**
4386
4376
  * The direct energy usage of this entity or `nil` if this entity doesn't have a direct energy usage.
4387
4377
  */
4388
- readonly energy_usage: number
4378
+ readonly energy_usage?: number
4389
4379
 
4390
4380
  /**
4391
4381
  * The engine starting speed for this rocket silo rocket prototype or `nil`.
4392
4382
  */
4393
- readonly engine_starting_speed: number
4383
+ readonly engine_starting_speed?: number
4394
4384
 
4395
4385
  /**
4396
4386
  * @remarks
@@ -4402,12 +4392,12 @@ interface LuaEntityPrototype {
4402
4392
  /**
4403
4393
  * Does this explosion have a beam or `nil` if not an explosion prototype.
4404
4394
  */
4405
- readonly explosion_beam: number
4395
+ readonly explosion_beam?: number
4406
4396
 
4407
4397
  /**
4408
4398
  * Does this explosion rotate or `nil` if not an explosion prototype.
4409
4399
  */
4410
- readonly explosion_rotate: number
4400
+ readonly explosion_rotate?: number
4411
4401
 
4412
4402
  /**
4413
4403
  * The group of mutually fast-replaceable entities. Possibly `nil`.
@@ -4417,7 +4407,7 @@ interface LuaEntityPrototype {
4417
4407
  /**
4418
4408
  * The filter count of this inserter, loader, or logistic chest or `nil`. For logistic containers, `nil` means no limit.
4419
4409
  */
4420
- readonly filter_count: number
4410
+ readonly filter_count?: number
4421
4411
 
4422
4412
  /**
4423
4413
  * The final attack result for projectiles `nil` if not a projectile
@@ -4427,7 +4417,7 @@ interface LuaEntityPrototype {
4427
4417
  /**
4428
4418
  * The fixed recipe name for this assembling machine prototype or `nil`.
4429
4419
  */
4430
- readonly fixed_recipe: string
4420
+ readonly fixed_recipe?: string
4431
4421
 
4432
4422
  /**
4433
4423
  * The flags for this entity prototype.
@@ -4437,7 +4427,7 @@ interface LuaEntityPrototype {
4437
4427
  /**
4438
4428
  * The fluid this offshore pump produces or `nil`.
4439
4429
  */
4440
- readonly fluid: LuaFluidPrototype
4430
+ readonly fluid?: LuaFluidPrototype
4441
4431
 
4442
4432
  /**
4443
4433
  * The fluid capacity of this entity or 0 if this entity doesn't support fluids.
@@ -4450,12 +4440,12 @@ interface LuaEntityPrototype {
4450
4440
  /**
4451
4441
  * The fluid energy source prototype this entity uses or `nil`.
4452
4442
  */
4453
- readonly fluid_energy_source_prototype: LuaFluidEnergySourcePrototype
4443
+ readonly fluid_energy_source_prototype?: LuaFluidEnergySourcePrototype
4454
4444
 
4455
4445
  /**
4456
4446
  * The fluid usage of this generator prototype or `nil`.
4457
4447
  */
4458
- readonly fluid_usage_per_tick: number
4448
+ readonly fluid_usage_per_tick?: number
4459
4449
 
4460
4450
  /**
4461
4451
  * The fluidbox prototypes for this entity.
@@ -4465,17 +4455,17 @@ interface LuaEntityPrototype {
4465
4455
  /**
4466
4456
  * The flying acceleration for this rocket silo rocket prototype or `nil`.
4467
4457
  */
4468
- readonly flying_acceleration: number
4458
+ readonly flying_acceleration?: number
4469
4459
 
4470
4460
  /**
4471
4461
  * The flying speed for this rocket silo rocket prototype or `nil`.
4472
4462
  */
4473
- readonly flying_speed: number
4463
+ readonly flying_speed?: number
4474
4464
 
4475
4465
  /**
4476
4466
  * The friction of this vehicle prototype or `nil` if not a vehicle prototype.
4477
4467
  */
4478
- readonly friction_force: number
4468
+ readonly friction_force?: number
4479
4469
 
4480
4470
  /**
4481
4471
  * The friendly map color used when charting this entity.
@@ -4485,7 +4475,7 @@ interface LuaEntityPrototype {
4485
4475
  /**
4486
4476
  * The equipment grid prototype for this entity or `nil`.
4487
4477
  */
4488
- readonly grid_prototype: LuaEquipmentGridPrototype
4478
+ readonly grid_prototype?: LuaEquipmentGridPrototype
4489
4479
 
4490
4480
  /**
4491
4481
  * Group of this entity.
@@ -4495,7 +4485,7 @@ interface LuaEntityPrototype {
4495
4485
  /**
4496
4486
  * The guns this prototype uses or `nil`.
4497
4487
  */
4498
- readonly guns: {[key: string]: LuaItemPrototype}
4488
+ readonly guns?: {[key: string]: LuaItemPrototype}
4499
4489
 
4500
4490
  /**
4501
4491
  * Whether this unit, car, or character prototype has belt immunity, `nil` if not car, unit, or character prototype.
@@ -4510,7 +4500,7 @@ interface LuaEntityPrototype {
4510
4500
  /**
4511
4501
  * The heat energy source prototype this entity uses or `nil`.
4512
4502
  */
4513
- readonly heat_energy_source_prototype: LuaHeatEnergySourcePrototype
4503
+ readonly heat_energy_source_prototype?: LuaHeatEnergySourcePrototype
4514
4504
 
4515
4505
  /**
4516
4506
  * Every time this infinite resource 'ticks' down it is reduced by this amount. `nil` when not a resource. Meaningless if this isn't an infinite type resource.
@@ -4525,37 +4515,42 @@ interface LuaEntityPrototype {
4525
4515
  /**
4526
4516
  * The max number of ingredients this crafting-machine prototype supports or `nil` if this isn't a crafting-machine prototype.
4527
4517
  */
4528
- readonly ingredient_count: number
4518
+ readonly ingredient_count?: number
4529
4519
 
4530
4520
  /**
4531
4521
  * True if this inserter chases items on belts for pickup or `nil`.
4532
4522
  */
4533
- readonly inserter_chases_belt_items: boolean
4523
+ readonly inserter_chases_belt_items?: boolean
4534
4524
 
4535
4525
  /**
4536
4526
  * The drop position for this inserter or `nil`.
4537
4527
  */
4538
- readonly inserter_drop_position: Vector
4528
+ readonly inserter_drop_position?: Vector
4539
4529
 
4540
4530
  /**
4541
4531
  * The extension speed of this inserter or `nil`.
4542
4532
  */
4543
- readonly inserter_extension_speed: number
4533
+ readonly inserter_extension_speed?: number
4544
4534
 
4545
4535
  /**
4546
4536
  * The pickup position for this inserter or `nil`.
4547
4537
  */
4548
- readonly inserter_pickup_position: Vector
4538
+ readonly inserter_pickup_position?: Vector
4549
4539
 
4550
4540
  /**
4551
4541
  * The rotation speed of this inserter or `nil`.
4552
4542
  */
4553
- readonly inserter_rotation_speed: number
4543
+ readonly inserter_rotation_speed?: number
4544
+
4545
+ /**
4546
+ * Gets the current stack size bonus of this entity, returns nil if not an inserter.
4547
+ */
4548
+ readonly inserter_stack_size_bonus: number
4554
4549
 
4555
4550
  /**
4556
4551
  * The instruments for this programmable speaker or `nil`.
4557
4552
  */
4558
- readonly instruments: ProgrammableSpeakerInstrument[]
4553
+ readonly instruments?: ProgrammableSpeakerInstrument[]
4559
4554
 
4560
4555
  readonly is_building: boolean
4561
4556
 
@@ -4569,27 +4564,27 @@ interface LuaEntityPrototype {
4569
4564
  /**
4570
4565
  * The item slot count of this constant combinator prototype or `nil`.
4571
4566
  */
4572
- readonly item_slot_count: number
4567
+ readonly item_slot_count?: number
4573
4568
 
4574
4569
  /**
4575
4570
  * Items that, when placed, will produce this entity. It is an array of items, or `nil` if no items place this entity. Construction bots will always choose the first item in this list to build this entity.
4576
4571
  */
4577
- readonly items_to_place_this: SimpleItemStack[]
4572
+ readonly items_to_place_this?: SimpleItemStack[]
4578
4573
 
4579
4574
  /**
4580
4575
  * The item prototype names that are the inputs of this lab prototype or `nil`.
4581
4576
  */
4582
- readonly lab_inputs: string[]
4577
+ readonly lab_inputs?: string[]
4583
4578
 
4584
4579
  /**
4585
4580
  * The rocket launch delay for this rocket silo prototype or `nil`.
4586
4581
  */
4587
- readonly launch_wait_time: number
4582
+ readonly launch_wait_time?: number
4588
4583
 
4589
4584
  /**
4590
4585
  * The light blinking speed for this rocket silo prototype or `nil`.
4591
4586
  */
4592
- readonly light_blinking_speed: number
4587
+ readonly light_blinking_speed?: number
4593
4588
 
4594
4589
  readonly localised_description: LocalisedString
4595
4590
 
@@ -4598,12 +4593,12 @@ interface LuaEntityPrototype {
4598
4593
  /**
4599
4594
  * The logistic mode of this logistic container or `nil` if this isn't a logistic container prototype. One of `"requester"`, `"active-provider"`, `"passive-provider"`, `"buffer"`, `"storage"`, `"none"`.
4600
4595
  */
4601
- readonly logistic_mode: string
4596
+ readonly logistic_mode?: string
4602
4597
 
4603
4598
  /**
4604
4599
  * The logistic radius for this roboport prototype or `nil`.
4605
4600
  */
4606
- readonly logistic_radius: number
4601
+ readonly logistic_radius?: number
4607
4602
 
4608
4603
  /**
4609
4604
  * Loot that will be dropped when this entity is killed. `nil` if there is no loot.
@@ -4620,7 +4615,7 @@ interface LuaEntityPrototype {
4620
4615
  /**
4621
4616
  * The map color used when charting this entity if a friendly or enemy color isn't defined or `nil`.
4622
4617
  */
4623
- readonly map_color: Color
4618
+ readonly map_color?: Color
4624
4619
 
4625
4620
  /**
4626
4621
  * The bounding box used for map generator collision checking.
@@ -4655,7 +4650,7 @@ interface LuaEntityPrototype {
4655
4650
  /**
4656
4651
  * The max energy for this flying robot or `nil`.
4657
4652
  */
4658
- readonly max_energy: number
4653
+ readonly max_energy?: number
4659
4654
 
4660
4655
  /**
4661
4656
  * The theoretical maximum energy production for this this entity.
@@ -4680,32 +4675,32 @@ interface LuaEntityPrototype {
4680
4675
  /**
4681
4676
  * The max payload size of this logistics or construction robot or `nil`.
4682
4677
  */
4683
- readonly max_payload_size: number
4678
+ readonly max_payload_size?: number
4684
4679
 
4685
4680
  /**
4686
4681
  * The maximum polyphony for this programmable speaker or `nil`.
4687
4682
  */
4688
- readonly max_polyphony: number
4683
+ readonly max_polyphony?: number
4689
4684
 
4690
4685
  /**
4691
4686
  * The maximum pursue distance of this unit prototype or `nil`.
4692
4687
  */
4693
- readonly max_pursue_distance: number
4688
+ readonly max_pursue_distance?: number
4694
4689
 
4695
4690
  /**
4696
4691
  * The max speed of this projectile prototype or flying robot prototype or `nil`.
4697
4692
  */
4698
- readonly max_speed: number
4693
+ readonly max_speed?: number
4699
4694
 
4700
4695
  /**
4701
4696
  * The maximum energy for this flying robot above which it won't try to recharge when stationing or `nil`.
4702
4697
  */
4703
- readonly max_to_charge: number
4698
+ readonly max_to_charge?: number
4704
4699
 
4705
4700
  /**
4706
4701
  * The max underground distance for underground belts and underground pipes or `nil` if this isn't one of those prototypes.
4707
4702
  */
4708
- readonly max_underground_distance: number
4703
+ readonly max_underground_distance?: number
4709
4704
 
4710
4705
  /**
4711
4706
  * The maximum wire distance for this entity. 0 when the entity doesn't support wires.
@@ -4722,7 +4717,7 @@ interface LuaEntityPrototype {
4722
4717
  /**
4723
4718
  * The maximum fluid temperature of this generator prototype or `nil`.
4724
4719
  */
4725
- readonly maximum_temperature: number
4720
+ readonly maximum_temperature?: number
4726
4721
 
4727
4722
  /**
4728
4723
  * The minimum darkness at which this unit spawner can spawn entities.
@@ -4732,12 +4727,12 @@ interface LuaEntityPrototype {
4732
4727
  /**
4733
4728
  * The minimum pursue time of this unit prototype or `nil`.
4734
4729
  */
4735
- readonly min_pursue_time: number
4730
+ readonly min_pursue_time?: number
4736
4731
 
4737
4732
  /**
4738
4733
  * The minimum energy for this flying robot before it tries to recharge or `nil`.
4739
4734
  */
4740
- readonly min_to_charge: number
4735
+ readonly min_to_charge?: number
4741
4736
 
4742
4737
  /**
4743
4738
  * Whether this entity is minable and what can be obtained by mining it.
@@ -4752,22 +4747,22 @@ interface LuaEntityPrototype {
4752
4747
  /**
4753
4748
  * The mining radius of this mining drill prototype or `nil` if this isn't a mining drill prototype.
4754
4749
  */
4755
- readonly mining_drill_radius: number
4750
+ readonly mining_drill_radius?: number
4756
4751
 
4757
4752
  /**
4758
4753
  * The mining speed of this mining drill/character prototype or `nil`.
4759
4754
  */
4760
- readonly mining_speed: number
4755
+ readonly mining_speed?: number
4761
4756
 
4762
4757
  /**
4763
4758
  * The module inventory size or `nil` if this entity doesn't support modules.
4764
4759
  */
4765
- readonly module_inventory_size: number
4760
+ readonly module_inventory_size?: number
4766
4761
 
4767
4762
  /**
4768
4763
  * Whether this unit prototype can move while shooting or `nil`.
4769
4764
  */
4770
- readonly move_while_shooting: boolean
4765
+ readonly move_while_shooting?: boolean
4771
4766
 
4772
4767
  /**
4773
4768
  * Name of this prototype.
@@ -4792,7 +4787,7 @@ interface LuaEntityPrototype {
4792
4787
  /**
4793
4788
  * The next upgrade for this entity or `nil`.
4794
4789
  */
4795
- readonly next_upgrade: LuaEntityPrototype
4790
+ readonly next_upgrade?: LuaEntityPrototype
4796
4791
 
4797
4792
  /**
4798
4793
  * The normal amount for this resource. `nil` when not a resource.
@@ -4817,12 +4812,12 @@ interface LuaEntityPrototype {
4817
4812
  /**
4818
4813
  * The pumping speed of this offshore pump, normal pump, or `nil`.
4819
4814
  */
4820
- readonly pumping_speed: number
4815
+ readonly pumping_speed?: number
4821
4816
 
4822
4817
  /**
4823
4818
  * The radar range of this unit prototype or `nil`.
4824
4819
  */
4825
- readonly radar_range: number
4820
+ readonly radar_range?: number
4826
4821
 
4827
4822
  /**
4828
4823
  * The radius of this entity prototype.
@@ -4865,7 +4860,7 @@ interface LuaEntityPrototype {
4865
4860
  /**
4866
4861
  * The base researching speed of this lab prototype or `nil`.
4867
4862
  */
4868
- readonly researching_speed: number
4863
+ readonly researching_speed?: number
4869
4864
 
4870
4865
  /**
4871
4866
  * List of resistances towards each damage type. It is a dictionary indexed by damage type names (see `data/base/prototypes/damage-type.lua`).
@@ -4878,7 +4873,7 @@ interface LuaEntityPrototype {
4878
4873
  * The value in the dictionary is meaningless and exists just to allow the dictionary type for easy lookup.
4879
4874
  *
4880
4875
  */
4881
- readonly resource_categories: {[key: string]: boolean}
4876
+ readonly resource_categories?: {[key: string]: boolean}
4882
4877
 
4883
4878
  /**
4884
4879
  * Name of the category of this resource or `nil` when not a resource.
@@ -4886,7 +4881,7 @@ interface LuaEntityPrototype {
4886
4881
  * During data stage this property is named "category".
4887
4882
  *
4888
4883
  */
4889
- readonly resource_category: string
4884
+ readonly resource_category?: string
4890
4885
 
4891
4886
  /**
4892
4887
  * @remarks
@@ -4903,27 +4898,27 @@ interface LuaEntityPrototype {
4903
4898
  /**
4904
4899
  * The rising speed for this rocket silo rocket prototype or `nil`.
4905
4900
  */
4906
- readonly rising_speed: number
4901
+ readonly rising_speed?: number
4907
4902
 
4908
4903
  /**
4909
4904
  * The rocket entity prototype associated with this rocket silo prototype or `nil`.
4910
4905
  */
4911
- readonly rocket_entity_prototype: LuaEntityPrototype
4906
+ readonly rocket_entity_prototype?: LuaEntityPrototype
4912
4907
 
4913
4908
  /**
4914
4909
  * The rocket parts required for this rocket silo prototype or `nil`.
4915
4910
  */
4916
- readonly rocket_parts_required: number
4911
+ readonly rocket_parts_required?: number
4917
4912
 
4918
4913
  /**
4919
4914
  * The rocket rising delay for this rocket silo prototype or `nil`.
4920
4915
  */
4921
- readonly rocket_rising_delay: number
4916
+ readonly rocket_rising_delay?: number
4922
4917
 
4923
4918
  /**
4924
4919
  * The rotation speed of this car prototype or `nil` if not a car prototype.
4925
4920
  */
4926
- readonly rotation_speed: number
4921
+ readonly rotation_speed?: number
4927
4922
 
4928
4923
  /**
4929
4924
  * Gets the current movement speed of this character, including effects from exoskeletons, tiles, stickers and shooting.
@@ -4936,7 +4931,7 @@ interface LuaEntityPrototype {
4936
4931
  /**
4937
4932
  * The secondary bounding box used for collision checking, or `nil` if it doesn't have one. This is only used in rails and rail remnants.
4938
4933
  */
4939
- readonly secondary_collision_box: BoundingBox
4934
+ readonly secondary_collision_box?: BoundingBox
4940
4935
 
4941
4936
  /**
4942
4937
  * Is this entity selectable?
@@ -4961,7 +4956,7 @@ interface LuaEntityPrototype {
4961
4956
  /**
4962
4957
  * The spawning cooldown for this enemy spawner prototype or `nil`.
4963
4958
  */
4964
- readonly spawn_cooldown: { max: number, min: number }
4959
+ readonly spawn_cooldown?: { max: number, min: number }
4965
4960
 
4966
4961
  /**
4967
4962
  * How far from the spawner can the units be spawned.
@@ -4976,7 +4971,7 @@ interface LuaEntityPrototype {
4976
4971
  /**
4977
4972
  * The spawning time modifier of this unit prototype or `nil`.
4978
4973
  */
4979
- readonly spawning_time_modifier: number
4974
+ readonly spawning_time_modifier?: number
4980
4975
 
4981
4976
  /**
4982
4977
  * The default speed of this flying robot, rolling stock or unit, `nil` if not one of these.
@@ -4989,7 +4984,7 @@ interface LuaEntityPrototype {
4989
4984
  /**
4990
4985
  * The speed multiplier when this flying robot is out of energy or `nil`.
4991
4986
  */
4992
- readonly speed_multiplier_when_out_of_energy: number
4987
+ readonly speed_multiplier_when_out_of_energy?: number
4993
4988
 
4994
4989
  /**
4995
4990
  * If this inserter is a stack-type.
@@ -5009,7 +5004,7 @@ interface LuaEntityPrototype {
5009
5004
  /**
5010
5005
  * The supply area of this electric pole, beacon, or `nil` if this is neither.
5011
5006
  */
5012
- readonly supply_area_distance: number
5007
+ readonly supply_area_distance?: number
5013
5008
 
5014
5009
  /**
5015
5010
  * If this entity prototype could possibly ever be rotated.
@@ -5019,12 +5014,12 @@ interface LuaEntityPrototype {
5019
5014
  /**
5020
5015
  * If this car prototype uses tank controls to drive or `nil` if this is not a car prototype.
5021
5016
  */
5022
- readonly tank_driving: boolean
5017
+ readonly tank_driving?: boolean
5023
5018
 
5024
5019
  /**
5025
5020
  * The target temperature of this boiler prototype or `nil`.
5026
5021
  */
5027
- readonly target_temperature: number
5022
+ readonly target_temperature?: number
5028
5023
 
5029
5024
  /**
5030
5025
  * The terrain friction modifier for this vehicle.
@@ -5070,12 +5065,12 @@ interface LuaEntityPrototype {
5070
5065
  /**
5071
5066
  * The range of this turret or `nil` if this isn't a turret related prototype.
5072
5067
  */
5073
- readonly turret_range: number
5068
+ readonly turret_range?: number
5074
5069
 
5075
5070
  /**
5076
5071
  * The turret rotation speed of this car prototype or `nil` if not a car prototype.
5077
5072
  */
5078
- readonly turret_rotation_speed: number
5073
+ readonly turret_rotation_speed?: number
5079
5074
 
5080
5075
  /**
5081
5076
  * Type of this prototype.
@@ -5090,17 +5085,17 @@ interface LuaEntityPrototype {
5090
5085
  /**
5091
5086
  * The vision distance of this unit prototype or `nil`.
5092
5087
  */
5093
- readonly vision_distance: number
5088
+ readonly vision_distance?: number
5094
5089
 
5095
5090
  /**
5096
5091
  * The void energy source prototype this entity uses or `nil`.
5097
5092
  */
5098
- readonly void_energy_source_prototype: LuaVoidEnergySourcePrototype
5093
+ readonly void_energy_source_prototype?: LuaVoidEnergySourcePrototype
5099
5094
 
5100
5095
  /**
5101
5096
  * The weight of this vehicle prototype or `nil` if not a vehicle prototype.
5102
5097
  */
5103
- readonly weight: number
5098
+ readonly weight?: number
5104
5099
 
5105
5100
  }
5106
5101
 
@@ -5119,7 +5114,7 @@ interface LuaEquipment {
5119
5114
  /**
5120
5115
  * The burner energy source for this equipment or `nil` if there isn't one.
5121
5116
  */
5122
- readonly burner: LuaBurner
5117
+ readonly burner?: LuaBurner
5123
5118
 
5124
5119
  /**
5125
5120
  * Current available energy.
@@ -5443,7 +5438,7 @@ interface LuaEquipmentPrototype {
5443
5438
  /**
5444
5439
  * The equipment attack parameters or `nil`.
5445
5440
  */
5446
- readonly attack_parameters: AttackParameters
5441
+ readonly attack_parameters?: AttackParameters
5447
5442
 
5448
5443
  /**
5449
5444
  * Is this active defense equipment automatic. Returns false if not active defense equipment.
@@ -5458,12 +5453,12 @@ interface LuaEquipmentPrototype {
5458
5453
  /**
5459
5454
  * The burner energy source prototype this equipment uses or `nil`.
5460
5455
  */
5461
- readonly burner_prototype: LuaBurnerPrototype
5456
+ readonly burner_prototype?: LuaBurnerPrototype
5462
5457
 
5463
5458
  /**
5464
5459
  * The electric energy source prototype this equipment uses or `nil`.
5465
5460
  */
5466
- readonly electric_energy_source_prototype: LuaElectricEnergySourcePrototype
5461
+ readonly electric_energy_source_prototype?: LuaElectricEnergySourcePrototype
5467
5462
 
5468
5463
  readonly energy_consumption: number
5469
5464
 
@@ -5626,7 +5621,7 @@ interface LuaFlowStatistics {
5626
5621
  /**
5627
5622
  * The force these statistics belong to or `nil` for pollution statistics.
5628
5623
  */
5629
- readonly force: LuaForce
5624
+ readonly force?: LuaForce
5630
5625
 
5631
5626
  /**
5632
5627
  * List of input counts indexed by prototype name. Represents the data that is shown on the left side of the GUI for the given statistics.
@@ -5783,7 +5778,7 @@ interface LuaFluidBoxPrototype {
5783
5778
  /**
5784
5779
  * The filter or `nil` if no filter is set.
5785
5780
  */
5786
- readonly filter: LuaFluidPrototype
5781
+ readonly filter?: LuaFluidPrototype
5787
5782
 
5788
5783
  readonly height: number
5789
5784
 
@@ -5795,12 +5790,12 @@ interface LuaFluidBoxPrototype {
5795
5790
  /**
5796
5791
  * The maximum temperature or `nil` if none is set.
5797
5792
  */
5798
- readonly maximum_temperature: number
5793
+ readonly maximum_temperature?: number
5799
5794
 
5800
5795
  /**
5801
5796
  * The minimum temperature or `nil` if none is set.
5802
5797
  */
5803
- readonly minimum_temperature: number
5798
+ readonly minimum_temperature?: number
5804
5799
 
5805
5800
  /**
5806
5801
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
@@ -5847,6 +5842,8 @@ interface LuaFluidEnergySourcePrototype {
5847
5842
 
5848
5843
  readonly burns_fluid: boolean
5849
5844
 
5845
+ readonly destroy_non_fuel_fluid: boolean
5846
+
5850
5847
  readonly effectivity: number
5851
5848
 
5852
5849
  readonly emissions: number
@@ -5981,7 +5978,7 @@ interface LuaFontPrototype {
5981
5978
  /**
5982
5979
  * The border color or `nil` if not set.
5983
5980
  */
5984
- readonly border_color: Color
5981
+ readonly border_color?: Color
5985
5982
 
5986
5983
  readonly filtered: boolean
5987
5984
 
@@ -6441,7 +6438,7 @@ interface LuaForce {
6441
6438
  /**
6442
6439
  * The current technology in research, or `nil` if no research is currently ongoing.
6443
6440
  */
6444
- readonly current_research: LuaTechnology
6441
+ readonly current_research?: LuaTechnology
6445
6442
 
6446
6443
  /**
6447
6444
  * The time, in ticks, before a deconstruction order is removed.
@@ -6605,7 +6602,7 @@ interface LuaForce {
6605
6602
  * This only allows mods to queue research that this force is able to research in the first place. As an example, an already researched technology or one whose prerequisites are not fulfilled will not be queued, but dropped silently instead.
6606
6603
  *
6607
6604
  */
6608
- research_queue: TechnologyIdentification[]
6605
+ research_queue?: TechnologyIdentification[]
6609
6606
 
6610
6607
  /**
6611
6608
  * Whether the research queue is available for this force.
@@ -8352,7 +8349,7 @@ interface LuaGuiElement {
8352
8349
  * ```
8353
8350
  *
8354
8351
  */
8355
- elem_filters: ItemPrototypeFilter | TilePrototypeFilter | EntityPrototypeFilter | FluidPrototypeFilter | RecipePrototypeFilter | DecorativePrototypeFilter | AchievementPrototypeFilter | EquipmentPrototypeFilter | TechnologyPrototypeFilter[]
8352
+ elem_filters?: ItemPrototypeFilter | TilePrototypeFilter | EntityPrototypeFilter | FluidPrototypeFilter | RecipePrototypeFilter | DecorativePrototypeFilter | AchievementPrototypeFilter | EquipmentPrototypeFilter | TechnologyPrototypeFilter[]
8356
8353
 
8357
8354
  /**
8358
8355
  * The elem type of this choose-elem-button.
@@ -8369,7 +8366,7 @@ interface LuaGuiElement {
8369
8366
  * Applies to subclasses: choose-elem-button
8370
8367
  *
8371
8368
  */
8372
- elem_value: string | SignalID
8369
+ elem_value?: string | SignalID
8373
8370
 
8374
8371
  /**
8375
8372
  * Whether this GUI element is enabled. Disabled GUI elements don't trigger events when clicked.
@@ -8379,12 +8376,12 @@ interface LuaGuiElement {
8379
8376
  /**
8380
8377
  * The entity associated with this entity-preview, camera, minimap or `nil` if no entity is associated.
8381
8378
  */
8382
- entity: LuaEntity
8379
+ entity?: LuaEntity
8383
8380
 
8384
8381
  /**
8385
8382
  * The force this minimap is using or `nil` if no force is set.
8386
8383
  */
8387
- force: string
8384
+ force?: string
8388
8385
 
8389
8386
  /**
8390
8387
  * The GUI this element is a child of.
@@ -8449,7 +8446,7 @@ interface LuaGuiElement {
8449
8446
  /**
8450
8447
  * The location of this widget when stored in {@link LuaGui::screen | LuaGui::screen}, or `nil` if not set or not in {@link LuaGui::screen | LuaGui::screen}.
8451
8448
  */
8452
- location: GuiLocation
8449
+ location?: GuiLocation
8453
8450
 
8454
8451
  /**
8455
8452
  * Whether this choose-elem-button can be changed by the player.
@@ -8571,7 +8568,7 @@ interface LuaGuiElement {
8571
8568
  * Applies to subclasses: tabbed-pane
8572
8569
  *
8573
8570
  */
8574
- selected_tab_index: number
8571
+ selected_tab_index?: number
8575
8572
 
8576
8573
  /**
8577
8574
  * Related to the number to be shown in the bottom right corner of this sprite-button. When set to `true`, numbers that are non-zero and smaller than one are shown as a percentage rather than the value. For example, `0.5` will be shown as `50%` instead.
@@ -8979,22 +8976,22 @@ interface LuaInventory {
8979
8976
  /**
8980
8977
  * The entity that owns this inventory or `nil` if this isn't owned by an entity.
8981
8978
  */
8982
- readonly entity_owner: LuaEntity
8979
+ readonly entity_owner?: LuaEntity
8983
8980
 
8984
8981
  /**
8985
8982
  * The equipment that owns this inventory or `nil` if this isn't owned by an equipment.
8986
8983
  */
8987
- readonly equipment_owner: LuaEquipment
8984
+ readonly equipment_owner?: LuaEquipment
8988
8985
 
8989
8986
  /**
8990
8987
  * The inventory index this inventory uses, or `nil` if the inventory doesn't have an index.
8991
8988
  */
8992
- readonly index: defines.inventory
8989
+ readonly index?: defines.inventory
8993
8990
 
8994
8991
  /**
8995
8992
  * The mod that owns this inventory or `nil` if this isn't owned by a mod.
8996
8993
  */
8997
- readonly mod_owner: string
8994
+ readonly mod_owner?: string
8998
8995
 
8999
8996
  /**
9000
8997
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
@@ -9004,7 +9001,7 @@ interface LuaInventory {
9004
9001
  /**
9005
9002
  * The player that owns this inventory or `nil` if this isn't owned by a player.
9006
9003
  */
9007
- readonly player_owner: LuaPlayer
9004
+ readonly player_owner?: LuaPlayer
9008
9005
 
9009
9006
  /**
9010
9007
  * Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
@@ -9142,12 +9139,12 @@ interface LuaItemPrototype {
9142
9139
  /**
9143
9140
  * The gun attack parameters or `nil` if not a gun item prototype.
9144
9141
  */
9145
- readonly attack_parameters: AttackParameters
9142
+ readonly attack_parameters?: AttackParameters
9146
9143
 
9147
9144
  /**
9148
9145
  * The result of burning this item as fuel or `nil`.
9149
9146
  */
9150
- readonly burnt_result: LuaItemPrototype
9147
+ readonly burnt_result?: LuaItemPrototype
9151
9148
 
9152
9149
  /**
9153
9150
  * If this item can be mod-opened.
@@ -9157,7 +9154,7 @@ interface LuaItemPrototype {
9157
9154
  /**
9158
9155
  * The capsule action for this capsule item prototype or `nil` if this isn't a capsule item prototype.
9159
9156
  */
9160
- readonly capsule_action: CapsuleAction
9157
+ readonly capsule_action?: CapsuleAction
9161
9158
 
9162
9159
  /**
9163
9160
  * The name of a {@link LuaModuleCategoryPrototype | LuaModuleCategoryPrototype}. Used when upgrading modules: Ctrl + click modules into an entity and it will replace lower tier modules of the same category with higher tier modules.
@@ -9202,7 +9199,7 @@ interface LuaItemPrototype {
9202
9199
  * Applies to subclasses: ToolItem
9203
9200
  *
9204
9201
  */
9205
- readonly durability: number
9202
+ readonly durability?: number
9206
9203
 
9207
9204
  /**
9208
9205
  * The durability message key used when displaying the durability of this tool.
@@ -9226,7 +9223,7 @@ interface LuaItemPrototype {
9226
9223
  * Applies to subclasses: DeconstructionItem
9227
9224
  *
9228
9225
  */
9229
- readonly entity_filter_slots: number
9226
+ readonly entity_filter_slots?: number
9230
9227
 
9231
9228
  /**
9232
9229
  * The entity filters used by this selection tool indexed by entity name.
@@ -9248,7 +9245,7 @@ interface LuaItemPrototype {
9248
9245
  /**
9249
9246
  * The prototype of this armor equipment grid or `nil` if none or this is not an armor item.
9250
9247
  */
9251
- readonly equipment_grid: LuaEquipmentGridPrototype
9248
+ readonly equipment_grid?: LuaEquipmentGridPrototype
9252
9249
 
9253
9250
  /**
9254
9251
  * If this item with inventory extends the inventory it resides in by default.
@@ -9279,7 +9276,7 @@ interface LuaItemPrototype {
9279
9276
  /**
9280
9277
  * The fuel category or `nil`.
9281
9278
  */
9282
- readonly fuel_category: string
9279
+ readonly fuel_category?: string
9283
9280
 
9284
9281
  /**
9285
9282
  * The emissions multiplier if this is used as fuel.
@@ -9421,7 +9418,7 @@ interface LuaItemPrototype {
9421
9418
  /**
9422
9419
  * Prototype of the equipment that will be created by placing this item in an equipment grid or `nil` if there is no equipment defined.
9423
9420
  */
9424
- readonly place_as_equipment_result: LuaEquipmentPrototype
9421
+ readonly place_as_equipment_result?: LuaEquipmentPrototype
9425
9422
 
9426
9423
  /**
9427
9424
  * The place-as-tile result if one is defined, else `nil`.
@@ -9431,12 +9428,12 @@ interface LuaItemPrototype {
9431
9428
  /**
9432
9429
  * Prototype of the entity that will be created by placing this item, or `nil` if there is no such entity.
9433
9430
  */
9434
- readonly place_result: LuaEntityPrototype
9431
+ readonly place_result?: LuaEntityPrototype
9435
9432
 
9436
9433
  /**
9437
9434
  * Amount of extra time (in ticks) it takes to reload the weapon after depleting the magazine or `nil` if this is not an ammo item.
9438
9435
  */
9439
- readonly reload_time: number
9436
+ readonly reload_time?: number
9440
9437
 
9441
9438
  /**
9442
9439
  * The repair result of this repair tool prototype or `nil` if this isn't a repair tool prototype.
@@ -9444,7 +9441,7 @@ interface LuaItemPrototype {
9444
9441
  * Applies to subclasses: RepairTool
9445
9442
  *
9446
9443
  */
9447
- readonly repair_result: TriggerItem[]
9444
+ readonly repair_result?: TriggerItem[]
9448
9445
 
9449
9446
  /**
9450
9447
  * Resistances of this armour item, indexed by damage type name. `nil` if not an armor or the armor has no resistances.
@@ -9529,7 +9526,7 @@ interface LuaItemPrototype {
9529
9526
  * Applies to subclasses: DeconstructionItem
9530
9527
  *
9531
9528
  */
9532
- readonly tile_filter_slots: number
9529
+ readonly tile_filter_slots?: number
9533
9530
 
9534
9531
  /**
9535
9532
  * The tile filters used by this selection tool indexed by tile name.
@@ -9585,7 +9582,6 @@ interface LuaItemStack {
9585
9582
  amount: number): void
9586
9583
 
9587
9584
  /**
9588
- * Build this blueprint
9589
9585
  * @remarks
9590
9586
  * Built entities can be come invalid between the building of the blueprint and the function returning if by_player or raise_built is used and one of those events invalidates the entity.
9591
9587
  *
@@ -9736,7 +9732,7 @@ interface LuaItemStack {
9736
9732
  amount: number): void
9737
9733
 
9738
9734
  /**
9739
- * Export a supported item (blueprint, blueprint-book, deconstruction-planner, upgrade-planner, item-with-tags) to a string
9735
+ * Export a supported item (blueprint, blueprint-book, deconstruction-planner, upgrade-planner, item-with-tags) to a string.
9740
9736
  * @returns The exported string
9741
9737
  */
9742
9738
  export_stack(this: void): string
@@ -9839,7 +9835,7 @@ interface LuaItemStack {
9839
9835
  help(this: void): string
9840
9836
 
9841
9837
  /**
9842
- * Import a supported item (blueprint, blueprint-book, deconstruction-planner, upgrade-planner, item-with-tags) from a string
9838
+ * Import a supported item (blueprint, blueprint-book, deconstruction-planner, upgrade-planner, item-with-tags) from a string.
9843
9839
  * @param data - The string to import
9844
9840
  * @returns 0 if the import succeeded with no errors. -1 if the import succeeded with errors. 1 if the import failed.
9845
9841
  */
@@ -10103,7 +10099,7 @@ interface LuaItemStack {
10103
10099
  /**
10104
10100
  * The equipment grid of this item or `nil` if this item doesn't have a grid.
10105
10101
  */
10106
- readonly grid: LuaEquipmentGrid
10102
+ readonly grid?: LuaEquipmentGrid
10107
10103
 
10108
10104
  /**
10109
10105
  * How much health the item has, as a number in range [0, 1].
@@ -10309,7 +10305,7 @@ interface LuaLampControlBehavior extends LuaGenericOnOffControlBehavior {
10309
10305
  /**
10310
10306
  * The color the lamp is showing or `nil` if not using any color.
10311
10307
  */
10312
- readonly color: Color
10308
+ readonly color?: Color
10313
10309
 
10314
10310
  /**
10315
10311
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
@@ -10405,7 +10401,7 @@ interface LuaLogisticCell {
10405
10401
  /**
10406
10402
  * The network that owns this cell or `nil`.
10407
10403
  */
10408
- readonly logistic_network: LuaLogisticNetwork
10404
+ readonly logistic_network?: LuaLogisticNetwork
10409
10405
 
10410
10406
  /**
10411
10407
  * Logistic radius of this cell.
@@ -10712,7 +10708,7 @@ interface LuaLogisticPoint {
10712
10708
  * The returned array will always have an entry for each filter and will be indexed in sequence when not nil.
10713
10709
  *
10714
10710
  */
10715
- readonly filters: LogisticFilter[]
10711
+ readonly filters?: LogisticFilter[]
10716
10712
 
10717
10713
  /**
10718
10714
  * The force of this logistic point.
@@ -10814,17 +10810,17 @@ interface LuaModSettingPrototype {
10814
10810
  /**
10815
10811
  * If this string setting allows blank values or `nil` if not a string setting.
10816
10812
  */
10817
- readonly allow_blank: boolean
10813
+ readonly allow_blank?: boolean
10818
10814
 
10819
10815
  /**
10820
10816
  * The allowed values for this setting or `nil` if this setting doesn't use the a fixed set of values.
10821
10817
  */
10822
- readonly allowed_values: string[] | number[]
10818
+ readonly allowed_values?: string[] | number[]
10823
10819
 
10824
10820
  /**
10825
10821
  * If this string setting auto-trims values or `nil` if not a string setting.
10826
10822
  */
10827
- readonly auto_trim: boolean
10823
+ readonly auto_trim?: boolean
10828
10824
 
10829
10825
  /**
10830
10826
  * The default value of this setting.
@@ -10843,12 +10839,12 @@ interface LuaModSettingPrototype {
10843
10839
  /**
10844
10840
  * The maximum value for this setting or `nil` if this setting type doesn't support a maximum.
10845
10841
  */
10846
- readonly maximum_value: number
10842
+ readonly maximum_value?: number
10847
10843
 
10848
10844
  /**
10849
10845
  * The minimum value for this setting or `nil` if this setting type doesn't support a minimum.
10850
10846
  */
10851
- readonly minimum_value: number
10847
+ readonly minimum_value?: number
10852
10848
 
10853
10849
  /**
10854
10850
  * The mod that owns this setting.
@@ -11745,7 +11741,7 @@ interface LuaPlayer extends LuaControl {
11745
11741
  * Will also return `nil` when the player is disconnected (see {@link LuaPlayer::connected | LuaPlayer::connected}).
11746
11742
  *
11747
11743
  */
11748
- character: LuaEntity
11744
+ character?: LuaEntity
11749
11745
 
11750
11746
  /**
11751
11747
  * The color used when this player talks in game.
@@ -11862,7 +11858,7 @@ interface LuaPlayer extends LuaControl {
11862
11858
  /**
11863
11859
  * The permission group this player is part of or `nil` if not part of any group.
11864
11860
  */
11865
- permission_group: LuaPermissionGroup
11861
+ permission_group?: LuaPermissionGroup
11866
11862
 
11867
11863
  /**
11868
11864
  * If items not included in this map editor infinity inventory filters should be removed.
@@ -11874,6 +11870,11 @@ interface LuaPlayer extends LuaControl {
11874
11870
  */
11875
11871
  readonly render_mode: defines.render_mode
11876
11872
 
11873
+ /**
11874
+ * If `true`, circle and name of given player is rendered on the map/chart.
11875
+ */
11876
+ show_on_map: boolean
11877
+
11877
11878
  /**
11878
11879
  * If `true`, zoom-to-world noise effect will be disabled and environmental sounds will be based on zoom-to-world view instead of position of player's character.
11879
11880
  */
@@ -11885,7 +11886,7 @@ interface LuaPlayer extends LuaControl {
11885
11886
  * This is mainly useful when a player is in the map editor.
11886
11887
  *
11887
11888
  */
11888
- readonly stashed_controller_type: defines.controllers
11889
+ readonly stashed_controller_type?: defines.controllers
11889
11890
 
11890
11891
  /**
11891
11892
  * The tag that is shown after the player in chat and on the map.
@@ -11899,7 +11900,7 @@ interface LuaPlayer extends LuaControl {
11899
11900
  * Set to any positive value to trigger the respawn state for this player.
11900
11901
  *
11901
11902
  */
11902
- ticks_to_respawn: number
11903
+ ticks_to_respawn?: number
11903
11904
 
11904
11905
  /**
11905
11906
  * Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
@@ -13946,6 +13947,13 @@ interface LuaStyle {
13946
13947
  */
13947
13948
  badge_horizontal_spacing: number
13948
13949
 
13950
+ /**
13951
+ * @remarks
13952
+ * Applies to subclasses: LuaProgressBarStyle
13953
+ *
13954
+ */
13955
+ bar_width: number
13956
+
13949
13957
  /**
13950
13958
  * Space between the table cell contents bottom and border.
13951
13959
  * @remarks
@@ -15725,7 +15733,7 @@ interface LuaTile {
15725
15733
  /**
15726
15734
  * The name of the {@link LuaTilePrototype | LuaTilePrototype} hidden under this tile or `nil` if there is no hidden tile. During normal gameplay, only {@link non-mineable | LuaTilePrototype::mineable_properties} tiles can become hidden. This can however be circumvented with {@link LuaSurface::set_hidden_tile | LuaSurface::set_hidden_tile}.
15727
15735
  */
15728
- readonly hidden_tile: string
15736
+ readonly hidden_tile?: string
15729
15737
 
15730
15738
  /**
15731
15739
  * Prototype name of this tile. E.g. `"sand-3"` or `"grass-2"`.
@@ -15824,7 +15832,7 @@ interface LuaTilePrototype {
15824
15832
  /**
15825
15833
  * The next direction of this tile or `nil` - used when a tile has multiple directions (such as hazard concrete)
15826
15834
  */
15827
- readonly next_direction: LuaTilePrototype
15835
+ readonly next_direction?: LuaTilePrototype
15828
15836
 
15829
15837
  /**
15830
15838
  * The class name of this object. Available even when `valid` is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
@@ -15947,7 +15955,7 @@ interface LuaTrain {
15947
15955
  /**
15948
15956
  * The back stock of this train or `nil`.
15949
15957
  */
15950
- readonly back_stock: LuaEntity
15958
+ readonly back_stock?: LuaEntity
15951
15959
 
15952
15960
  /**
15953
15961
  * The cargo carriages the train contains.
@@ -15972,7 +15980,7 @@ interface LuaTrain {
15972
15980
  /**
15973
15981
  * The front stock of this train or `nil`.
15974
15982
  */
15975
- readonly front_stock: LuaEntity
15983
+ readonly front_stock?: LuaEntity
15976
15984
 
15977
15985
  /**
15978
15986
  * If this train has a path.
@@ -16031,17 +16039,17 @@ interface LuaTrain {
16031
16039
  /**
16032
16040
  * The path this train is using or `nil` if none.
16033
16041
  */
16034
- readonly path: LuaRailPath
16042
+ readonly path?: LuaRailPath
16035
16043
 
16036
16044
  /**
16037
16045
  * The destination rail this train is currently pathing to or `nil`.
16038
16046
  */
16039
- readonly path_end_rail: LuaEntity
16047
+ readonly path_end_rail?: LuaEntity
16040
16048
 
16041
16049
  /**
16042
16050
  * The destination train stop this train is currently pathing to or `nil`.
16043
16051
  */
16044
- readonly path_end_stop: LuaEntity
16052
+ readonly path_end_stop?: LuaEntity
16045
16053
 
16046
16054
  readonly rail_direction_from_back_rail: defines.rail_direction
16047
16055
 
@@ -16058,12 +16066,12 @@ interface LuaTrain {
16058
16066
  * The schedule can't be changed by modifying the returned table. Instead, changes must be made by assigning a new table to this attribute.
16059
16067
  *
16060
16068
  */
16061
- schedule: TrainSchedule
16069
+ schedule?: TrainSchedule
16062
16070
 
16063
16071
  /**
16064
16072
  * The signal this train is arriving or waiting at or `nil` if none.
16065
16073
  */
16066
- readonly signal: LuaEntity
16074
+ readonly signal?: LuaEntity
16067
16075
 
16068
16076
  /**
16069
16077
  * Current speed.
@@ -16081,7 +16089,7 @@ interface LuaTrain {
16081
16089
  /**
16082
16090
  * The train stop this train is stopped at or `nil`.
16083
16091
  */
16084
- readonly station: LuaEntity
16092
+ readonly station?: LuaEntity
16085
16093
 
16086
16094
  /**
16087
16095
  * Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be `false`. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
@@ -16426,12 +16434,12 @@ interface LuaUnitGroup {
16426
16434
  /**
16427
16435
  * The command given to this group or `nil` is the group has no command.
16428
16436
  */
16429
- readonly command: Command
16437
+ readonly command?: Command
16430
16438
 
16431
16439
  /**
16432
16440
  * The distraction command given to this group or `nil` is the group currently isn't distracted.
16433
16441
  */
16434
- readonly distraction_command: Command
16442
+ readonly distraction_command?: Command
16435
16443
 
16436
16444
  /**
16437
16445
  * The force of this unit group.