Prototype/Tile: Difference between revisions
(Added prototype type to page) |
(to_tiles is an array, formatting) |
||
(19 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Prototype parent|PrototypeBase}} | |||
Prototype | A [[tile]]. Only 255 instances of this prototype may be defined. | ||
{{Prototype TOC|tile}} | |||
== Mandatory properties == | == Mandatory properties == | ||
Inherits all properties from [[ | Inherits all properties from [[PrototypeBase]]. | ||
{{Prototype property|collision_mask|[[Types/CollisionMask|CollisionMask]]}} | |||
{{Prototype property|layer|[[Types/uint8|uint8]]}} | |||
Specifies transition drawing priority. | Specifies transition drawing priority. | ||
{{Prototype property|variants|[[Types/TileTransitions|TileTransitions]]}} | |||
Graphics for this tile. This has extra properties besides the properties from [[Types/TileTransitions|TileTransitions]]: | |||
* main - [[Types/table|table]] of [[Types/TileSprite|TileSprite]] - Mandatory. Array of [[Types/TileSprite|TileSprite]]s with the following extra properties: | |||
** size - [[Types/uint32|uint32]] - Mandatory. - Only powers of 2 from 1 to 128 can be used. Square size of the tile arrangement this animation is used for. Used to calculate the <code>width</code> and <code>height</code> of the animation which cannot be set directly. (width or height) = size * 32 / scale. | |||
** probability - [[Types/double|double]] - Optional. - Default: 1.0 - Probability of 1x1 (size = 1) version of tile must be 1. | |||
** weights - [[Types/table|table]] of [[Types/double|double]] - Optional. - Array of [[Types/double|double]]. | |||
* material_background - [[Types/TileSprite|TileSprite]] - Optional. Width and height are given by the game, setting them will not have an effect. Width and height are calculated from the expected size (32) and the scale. So, for HR tiles at a size of 64x64, the scale needs to be 0.5. | |||
{{Prototype property|map_color|[[Types/Color|Color]]}} | |||
{{Prototype property|pollution_absorption_per_second|[[Types/double|double]]}} | |||
Emissions absorbed per second by this tile. Use a negative value if pollution is created instead of removed. | |||
==== | == Optional properties == | ||
{{Prototype property|transition_overlay_layer_offset|[[Types/uint8|uint8]]|0|optional=true}} | |||
{{Prototype property|layer_group|[[Types/string|string]]|"water" if <code>draw_in_water_layer</code> is true, else "ground"|optional=true}} | |||
One of "zero", "water", "water-overlay", "ground" and "top". | |||
{{Prototype property|draw_in_water_layer|[[Types/bool|bool]]|false|optional=true}} | |||
Used only for the <code>layer_group</code> default, see above. | |||
{{Prototype property|transition_merges_with_tile|[[Types/string|string]]|optional=true}} | |||
Name of a tile. | |||
{{Prototype property|effect_color|[[Types/Color|Color]]|<nowiki>{r=1, g=1, b=1, a=1} (white)</nowiki>|optional=true}} | |||
{{Prototype property|tint|[[Types/Color|Color]]|<nowiki>{r=1, g=1, b=1, a=1} (white)</nowiki>|optional=true}} | |||
{{Prototype property|walking_sound|[[Types/Sound|Sound]]|optional=true}} | |||
= | {{Prototype property|build_sound|[[Types/table|table]]|optional=true}} | ||
Either one [[Types/Sound|Sound]] or a table with the following optional key/value pairs: | |||
* small - [[Types/Sound|Sound]] | |||
* medium - [[Types/Sound|Sound]] | |||
* large - [[Types/Sound|Sound]] | |||
If the [[Types/Sound|Sound]] is provided directly, it is loaded as the "small" build sound. | |||
{{Prototype property|mined_sound|[[Types/Sound|Sound]]|optional=true}} | |||
{{Prototype property|walking_speed_modifier|[[Types/double|double]]|1|optional=true}} | |||
= | {{Prototype property|vehicle_friction_modifier|[[Types/double|double]]|1|optional=true}} | ||
{{Prototype property|decorative_removal_probability|[[Types/float|float]]|0.0|optional=true}} | |||
{{Prototype property|allowed_neighbors|[[Types/table|table]] of [[Types/string|string]]|All tiles|optional=true}} | |||
Array of tile names that are allowed next to this one. | |||
{{Prototype property|needs_correction|[[Types/bool|bool]]|false|optional=true}} | |||
{{Prototype property|minable|[[Types/MinableProperties|MinableProperties]]|optional=true}} | |||
If you want the tile to not be mineable, don't specify the minable property. Only non-mineable tiles become hidden tiles when placing mineable tiles on top of them. | |||
{{Prototype property|next_direction|[[Types/string|string]]|optional=true}} | |||
Name of a tile. | Name of a tile. | ||
{{Prototype property|can_be_part_of_blueprint|[[Types/bool|bool]]|true|optional=true}} | |||
= | |||
{{Prototype property|effect|[[Types/string|string]]|optional=true}} | |||
Name of a [[Prototype/TileEffect]]. | |||
{{Prototype property|trigger_effect|[[Types/TriggerEffect|TriggerEffect]]|optional=true}} | |||
Called by [[Types/InvokeTileEffectTriggerEffectItem|InvokeTileEffectTriggerEffectItem]]. | |||
{{Prototype property|scorch_mark_color|[[Types/Color|Color]]|optional=true}} | |||
{{Prototype property|check_collision_with_entities|[[Types/bool|bool]]|false|optional=true}} | |||
If set to true, the game will check for collisions with entities before building or mining the tile. If entities are in the way it is not possible to mine/build the tile. | |||
{{Prototype property|icons, icon, icon_size (IconSpecification)|[[Types/IconSpecification|IconSpecification]]|optional=true}} | |||
If this is not set, the <code>material_background</code> in <code>variants</code> is used as the icon. | |||
{{Prototype property|effect_color_secondary|[[Types/Color|Color]]|optional=true}} | |||
Used by the [[pollution]] shader. | |||
{{Prototype property|effect_is_opaque|[[Types/bool|bool]]|<code>effect_color</code> alpha >= 1|optional=true}} | |||
{{Prototype property|transitions|[[Types/table|table]] of [[Types/TileTransitions|TileTransitions]]|optional=true}} | |||
Extra transitions. Array of [[Types/TileTransitions|TileTransitions]]. | |||
Each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory property <code>to_tiles</code>, which is a [[Types/table|table]] (array) of [[Types/string|string]] which is the name of a tile.<br> | |||
Furthermore, each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory property <code>transition_group</code> which is a [[Types/uint8|uint8]]. | |||
{{Prototype property|transitions_between_transitions|[[Types/table|table]] of [[Types/TileTransitions|TileTransitions]]|optional=true}} | |||
Array of [[Types/TileTransitions|TileTransitions]]. | |||
Each [[Types/TileTransitions|TileTransitions]] needs the extra mandatory properties <code>transition_group1</code> and <code>transition_group2</code>, which are of [[Types/uint8|uint8]]. | |||
{{Prototype property|autoplace|[[Types/AutoplaceSpecification|AutoplaceSpecification]]|optional=true}} | |||
{{Prototype property|placeable_by|[[Types/ItemToPlace|ItemToPlace]] or [[Types/table|table]] of [[Types/ItemToPlace|ItemToPlace]]|optional=true}} | |||
Latest revision as of 16:42, 17 June 2022
Prototype definitions » PrototypeBase » Prototype/Tile
A tile. Only 255 instances of this prototype may be defined.
Mandatory properties
Inherits all properties from PrototypeBase.
collision_mask
Type: CollisionMask
layer
Type: uint8
Specifies transition drawing priority.
variants
Type: TileTransitions
Graphics for this tile. This has extra properties besides the properties from TileTransitions:
- main - table of TileSprite - Mandatory. Array of TileSprites with the following extra properties:
- size - uint32 - Mandatory. - Only powers of 2 from 1 to 128 can be used. Square size of the tile arrangement this animation is used for. Used to calculate the
width
andheight
of the animation which cannot be set directly. (width or height) = size * 32 / scale. - probability - double - Optional. - Default: 1.0 - Probability of 1x1 (size = 1) version of tile must be 1.
- weights - table of double - Optional. - Array of double.
- size - uint32 - Mandatory. - Only powers of 2 from 1 to 128 can be used. Square size of the tile arrangement this animation is used for. Used to calculate the
- material_background - TileSprite - Optional. Width and height are given by the game, setting them will not have an effect. Width and height are calculated from the expected size (32) and the scale. So, for HR tiles at a size of 64x64, the scale needs to be 0.5.
map_color
Type: Color
pollution_absorption_per_second
Type: double
Emissions absorbed per second by this tile. Use a negative value if pollution is created instead of removed.
Optional properties
transition_overlay_layer_offset
Type: uint8
Default: 0
layer_group
Type: string
Default: "water" if draw_in_water_layer
is true, else "ground"
One of "zero", "water", "water-overlay", "ground" and "top".
draw_in_water_layer
Type: bool
Default: false
Used only for the layer_group
default, see above.
transition_merges_with_tile
Type: string
Name of a tile.
effect_color
Type: Color
Default: {r=1, g=1, b=1, a=1} (white)
tint
Type: Color
Default: {r=1, g=1, b=1, a=1} (white)
walking_sound
Type: Sound
build_sound
Type: table
Either one Sound or a table with the following optional key/value pairs:
If the Sound is provided directly, it is loaded as the "small" build sound.
mined_sound
Type: Sound
walking_speed_modifier
Type: double
Default: 1
vehicle_friction_modifier
Type: double
Default: 1
decorative_removal_probability
Type: float
Default: 0.0
allowed_neighbors
Type: table of string
Default: All tiles
Array of tile names that are allowed next to this one.
needs_correction
Type: bool
Default: false
minable
Type: MinableProperties
If you want the tile to not be mineable, don't specify the minable property. Only non-mineable tiles become hidden tiles when placing mineable tiles on top of them.
next_direction
Type: string
Name of a tile.
can_be_part_of_blueprint
Type: bool
Default: true
effect
Type: string
Name of a Prototype/TileEffect.
trigger_effect
Type: TriggerEffect
Called by InvokeTileEffectTriggerEffectItem.
scorch_mark_color
Type: Color
check_collision_with_entities
Type: bool
Default: false
If set to true, the game will check for collisions with entities before building or mining the tile. If entities are in the way it is not possible to mine/build the tile.
icons, icon, icon_size (IconSpecification)
Type: IconSpecification
If this is not set, the material_background
in variants
is used as the icon.
effect_color_secondary
Type: Color
Used by the pollution shader.
effect_is_opaque
Type: bool
transitions
Type: table of TileTransitions
Extra transitions. Array of TileTransitions.
Each TileTransitions needs the extra mandatory property to_tiles
, which is a table (array) of string which is the name of a tile.
Furthermore, each TileTransitions needs the extra mandatory property transition_group
which is a uint8.
transitions_between_transitions
Type: table of TileTransitions
Array of TileTransitions.
Each TileTransitions needs the extra mandatory properties transition_group1
and transition_group2
, which are of uint8.
autoplace
Type: AutoplaceSpecification
placeable_by
Type: ItemToPlace or table of ItemToPlace