Factorio.com|Forums|Wiki|Mod Portal|API Docs Prototype|Runtime|Auxiliary

# Factorio Prototype Docs Version 2.0.7

## SpriteSheet :: struct

Inherits from SpriteParameters « SpriteSource

## Properties

- default
- sorted

layers optional | :: array[SpriteSheet] | If this property is present, all SpriteSheet definitions have to be placed as entries in the array, and they will all be loaded from there. [...]
If this property is present, all SpriteSheet definitions have to be placed as entries in the array, and they will all be loaded from there. [...]
variation_count optional | :: uint32 |
repeat_count optional | :: uint32 |
line_length optional | :: uint32 |
filenames optional | :: array[FileName] |
lines_per_file optional | :: uint32 | Mandatory if `filenames` is defined.
Mandatory if `filenames` is defined.
dice optional | :: SpriteSizeType | Number of slices this is sliced into when using the "optimized atlas packing" option. [...]
Number of slices this is sliced into when using the "optimized atlas packing" option. [...]
dice_x optional | :: SpriteSizeType | Same as `dice` above, but this specifies only how many slices there are on the x axis.
Same as `dice` above, but this specifies only how many slices there are on the x axis.
dice_y optional | :: SpriteSizeType | Same as `dice` above, but this specifies only how many slices there are on the y axis.
Same as `dice` above, but this specifies only how many slices there are on the y axis.

Inherited from SpriteParameters

priority optional | :: SpritePriority |
flags optional | :: SpriteFlags |
shift optional | :: Vector | The shift in tiles. [...]
The shift in tiles. [...]
rotate_shift optional | :: bool |
apply_special_effect optional | :: bool |
scale optional | :: double | Values other than `1` specify the scale of the sprite on default zoom. [...]
Values other than `1` specify the scale of the sprite on default zoom. [...]
draw_as_shadow optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_glow optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_light optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
mipmap_count optional | :: uint8 | Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
apply_runtime_tint optional | :: bool |
tint_as_overlay optional | :: bool |
invert_colors optional | :: bool |
tint optional | :: Color |
blend_mode optional | :: BlendMode |
generate_sdf optional | :: bool | This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
surface optional | :: SpriteUsageSurfaceHint | Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
usage optional | :: SpriteUsageHint | Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.
Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.

Inherited from SpriteSource

filename | :: FileName | The path to the sprite file to use.
The path to the sprite file to use.
size optional | :: SpriteSizeType or {SpriteSizeType, SpriteSizeType} | The width and height of the sprite. [...]
The width and height of the sprite. [...]
width optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
height optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
x optional | :: SpriteSizeType | Horizontal position of the sprite in the source file in pixels.
Horizontal position of the sprite in the source file in pixels.
y optional | :: SpriteSizeType | Vertical position of the sprite in the source file in pixels.
Vertical position of the sprite in the source file in pixels.
position optional | :: {SpriteSizeType, SpriteSizeType} | Loaded only when `x` and `y` are both `0`. [...]
Loaded only when `x` and `y` are both `0`. [...]
load_in_minimal_mode optional | :: bool | Minimal mode is entered when mod loading fails. [...]
Minimal mode is entered when mod loading fails. [...]
premul_alpha optional | :: bool | Whether alpha should be pre-multiplied.
Whether alpha should be pre-multiplied.

dice optional | :: SpriteSizeType | Number of slices this is sliced into when using the "optimized atlas packing" option. [...]
Number of slices this is sliced into when using the "optimized atlas packing" option. [...]
dice_x optional | :: SpriteSizeType | Same as `dice` above, but this specifies only how many slices there are on the x axis.
Same as `dice` above, but this specifies only how many slices there are on the x axis.
dice_y optional | :: SpriteSizeType | Same as `dice` above, but this specifies only how many slices there are on the y axis.
Same as `dice` above, but this specifies only how many slices there are on the y axis.
filenames optional | :: array[FileName] |
layers optional | :: array[SpriteSheet] | If this property is present, all SpriteSheet definitions have to be placed as entries in the array, and they will all be loaded from there. [...]
If this property is present, all SpriteSheet definitions have to be placed as entries in the array, and they will all be loaded from there. [...]
line_length optional | :: uint32 |
lines_per_file optional | :: uint32 | Mandatory if `filenames` is defined.
Mandatory if `filenames` is defined.
repeat_count optional | :: uint32 |
variation_count optional | :: uint32 |

Inherited from SpriteParameters

apply_runtime_tint optional | :: bool |
apply_special_effect optional | :: bool |
blend_mode optional | :: BlendMode |
draw_as_glow optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_light optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
draw_as_shadow optional | :: bool | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
flags optional | :: SpriteFlags |
generate_sdf optional | :: bool | This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
invert_colors optional | :: bool |
mipmap_count optional | :: uint8 | Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
priority optional | :: SpritePriority |
rotate_shift optional | :: bool |
scale optional | :: double | Values other than `1` specify the scale of the sprite on default zoom. [...]
Values other than `1` specify the scale of the sprite on default zoom. [...]
shift optional | :: Vector | The shift in tiles. [...]
The shift in tiles. [...]
surface optional | :: SpriteUsageSurfaceHint | Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
tint optional | :: Color |
tint_as_overlay optional | :: bool |
usage optional | :: SpriteUsageHint | Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.
Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.

Inherited from SpriteSource

filename | :: FileName | The path to the sprite file to use.
The path to the sprite file to use.
height optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
load_in_minimal_mode optional | :: bool | Minimal mode is entered when mod loading fails. [...]
Minimal mode is entered when mod loading fails. [...]
position optional | :: {SpriteSizeType, SpriteSizeType} | Loaded only when `x` and `y` are both `0`. [...]
Loaded only when `x` and `y` are both `0`. [...]
premul_alpha optional | :: bool | Whether alpha should be pre-multiplied.
Whether alpha should be pre-multiplied.
size optional | :: SpriteSizeType or {SpriteSizeType, SpriteSizeType} | The width and height of the sprite. [...]
The width and height of the sprite. [...]
width optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
x optional | :: SpriteSizeType | Horizontal position of the sprite in the source file in pixels.
Horizontal position of the sprite in the source file in pixels.
y optional | :: SpriteSizeType | Vertical position of the sprite in the source file in pixels.
Vertical position of the sprite in the source file in pixels.

## Properties

### layers :: array[SpriteSheet] optional

If this property is present, all SpriteSheet 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.

If this property is present, all other properties, including those inherited from SpriteParameters, are ignored.

### variation_count :: uint32 optional

Default: `1`

### repeat_count :: uint32 optional

Default: `1`

### line_length :: uint32 optional

Default: Value of `variation_count`

### filenames :: array[FileName] optional

### lines_per_file :: uint32 optional

Mandatory if `filenames` is defined.

### dice :: SpriteSizeType optional

Number of slices this is sliced into when using the "optimized atlas packing" option. If you are a modder, you can just ignore this property. Example: If this is 4, the sprite will be sliced into a 4x4 grid.

### dice_x :: SpriteSizeType optional

Same as `dice` above, but this specifies only how many slices there are on the x axis.

### dice_y :: SpriteSizeType optional

Same as `dice` above, but this specifies only how many slices there are on the y axis.

Type used in

- SpriteSheet::layers
- SpriteVariations
- SpriteVariations::sheet