In other languages: Русский

Rich text: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(first draft)
 
(Adjusted the spritename img tag info)
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
Rich text formatting in allows the use of tags within most of the game's textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.


Rich text formatting introduced in [[Version history#0.17.0|0.17.0]] allows the use of tags within most of the game's textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.
== Tags ==


==Text modifiers==
Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into [[console|chat]].


The color and font of text can be changed
Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.
 
When used in chat, the tag image will be followed by a text description, except for the img tag.
Used elsewhere only the image is shown.


{| class="wikitable"
{| class="wikitable"
Line 13: Line 18:
! style="width:15%"| Example Result
! style="width:15%"| Example Result
! style="width:50%"| Description
! style="width:50%"| Description
|-
|-
| <code>[color=<i>rgb</i>]...[/color]</code>
| [img=<i>class</i>/<i>name</i>]<br>
| <code>[color=red]Red[/color] text</code>
[img=<i>class</i>.<i>name</i>]<br>
<code>[color=1,0,0]Red[/color] text</code>
[img=<i>sprite-prototype-name</i>]
| <span style="color: #ff0000">Red</span> text
| [img=item.iron-plate]<br>
| <code><i>rgb</i></code> is a comma separated RGB color ranging from 0 to 1, or an English color name
[img=quantity-time]
|-
| [[File:Iron_plate.png|28px]]<br>
| <code>[font</i>=<i>font-name</i>]...[/font]</code>
[[File:Time_icon.png|28px]]
| <code>[font=default-bold]Bold text</code>
| Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses [https://lua-api.factorio.com/latest/Concepts.html#SpritePath sprite paths]:
| <b>Bold text</b>
<i>class</i> is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment or utility.
| <code><i>font-name</i></code> is the name of the factorio font to render
|}


==Tags==
<i>name</i>: see below


Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations.
<i>sprite-prototype-name</i> is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].
Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into chat.


Shift clicking most things with the console open will insert a tag for that thing into chat.
{| class="wikitable"
|-
|-
! style="width:20%"| Syntax
| [item=<i>name</i>]
! style="width:15%"| Example Input
| [item=iron-plate]
! style="width:15%"| Example Result
| [[File:Iron_plate.png|28px]] [Item: Iron plate]
! style="width:50%"| Description
| <i>name</i> is the internal-name of the item
 
|-
| <code>[img=<i>class</i>/<i>name</i>]</code>
<code>[img=<i>class</i>.<i>name</i>]</code>
| <code>[img=item/iron-plate]</code>
| [[File:Iron_plate.png|24px]]
| Embeds only a small inline game graphic. The slash may be substituted for a period in save names.
<code><i>class</i></code> is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal or achievement
<code><i>name</i></code>: see below


|-
|-
| <code>[item=<i>name</i>]</code>
| [entity=<i>name</i>]
| <code>[item=iron-plate]</code>
| [entity=small-biter]
| [[File:Iron_plate.png|24px]]
| [[File:Small_biter.png|28px]] [Entity: Small biter]
| <code>name</code> is the internal-name of the item
| <i>name</i> is the internal-name of the entity


|-
|-
| <code>[entity=<i>name</i>]</code>
| [technology=<i>name</i>]
| <code>[entity=small-biter]</code>
| [technology=logistics]
| [[File:Behemoth_biter.png|24px]]
| [[File:Logistics_(research).png|28px]] [Technology: Logistics]
| <code>name</code> is the internal-name of the entity
| <i>name</i> is the internal-name of the technology


|-
|-
| <code>[technology=<i>name</i>]</code>
| [recipe=<i>name</i>]
| <code>[technology=logistics]</code>
| [recipe=basic-oil-processing]
| [[File:Logistics_(research).png|24px]]
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]
| <code>name</code> is the internal-name of the technology
| <i>name</i> is the internal-name of the recipe, usually the item name


|-
|-
| <code>[recipe=<i>name</i>]</code>
| [item-group=<i>name</i>]
| <code>[recipe=basic-oil-processing]</code>
| [item-group=combat]
| [[File:Basic_oil_processing.png|24px]]
| [[File:Item-group_military.png|28px]] [Item Group: Combat]
| <code>name</code> is the internal-name of the recipe, usually the entity name
| <i>name</i> is any of: logistics, production, intermediate-products, combat, fluids or signals


|-
|-
| <code>[item-group=<i>name</i>]</code>
| [fluid=<i>name</i>]
| <code>[item-group=combat]</code>
| [fluid=water]
| [[File:Item-group_military.png|24px]]
| [[File:Water.png|28px]] [Fluid: Water]
| <code>name</code> is any of: logistics, production, intermediate-products, combat, fluids or signals
| <i>name</i> is the internal name of the fluid


|-
|-
| <code>[fluid=<i>name</i>]</code>
| [tile=<i>name</i>]
| <code>[fluid=water]</code>
| [tile=grass-3]
| [[File:Water.png|24px]]
| [[File:Grass_3.png|28px]] [Tile: Grass 3]
| <code>name</code> is the internal name of the fluid
| <i>name</i> is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor


|-
|-
| <code>[tile=<i>name</i>]</code>
| [virtual-signal=<i>name</i>]
| <code>[tile=grass-3]</code>
| [virtual-signal=signal-A]
| [[File:Grass_3.png|24px]]
| [[File:Signal-A.png|28px]] [Virtual Signal: Signal A]
| <code>name</code> is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor
| <i>name</i> is the word signal followed by either an uppercase letter, number, color, each, everything or anything


|-
|-
| <code>[virtual-signal=<i>name</i>]</code>
| [achievement=<i>name</i>]
| <code>[virtual-signal=signal-A]</code>
| [achievement=minions]
| [[File:Signal-A.png|24px]]
| [[File:Minions-achievement.png|28px]] [Achievement: Minions]
| <code>name</code> is the word signal followed by either an uppercase letter, number, color, each, everything or anything
| <i>name</i> is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces


|-
|-
| <code>[achievement=<i>name</i>]</code>
| [gps=<i>x,y</i>]
| <code>[achievement=minions]</code>
[gps=<i>x,y,surface</i>]
| [[File:Minions-achievement.png|24px]]
| [gps=0,0]
| <code>name</code> is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces
| [[File:Map.png|28px]] [Location: 0,0]
 
|-
| <code>[gps=<i>x</i>,<i>y</i>]</code>
| <code>map origin: [gps=0,0]</code>
| map origin: [[File:Map.png|24px]]
| Embeds a map location and marks the location on the map of other players.
| Embeds a map location and marks the location on the map of other players.
<code>x</code> is the x point coordinate
<i>x</i> is the x point coordinate<br>
<code>y</code> is the y point coordinate  
<i>y</i> is the y point coordinate<br>
 
<i>surface</i> is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than <i>surface</i>, clicking the tag does nothing. Mods must handle this case with [https://lua-api.factorio.com/latest/events.html#on_player_clicked_gps_tag on_player_clicked_gps_tag]
|-
|-
| <code>[special-item=<i>blueprint_string</i>]</code>
| [special-item=<i>blueprint_string</i>]
|
|  
|  
| Embeds a blueprint. Other players can get a blueprint item by clicking the icon
| [[File:Blueprint.png|28px]] [Blueprint]
<code>blueprint_string</code> is the blueprint string of a blueprint, deconstruction planner or upgrade planners
| Embeds a blueprint. Players can get a blueprint item by clicking the icon.
<i>blueprint_string</i> is the blueprint string of a blueprint, deconstruction planner or upgrade planners


|-
|-
| <code>[armor=<i>player</i>]</code>
| [armor=<i>player</i>]
| <code>[armor=Bilka]</code>
| [armor=Player]  
|  
| [[File:Power_armor_MK2.png|28px]] [Armor: Player]
| Embeds the armor of a player. Allows other players to see the equipment installed.
| Embeds the armor of a player. Allows other players to see the equipment installed.
<code>player</code> is the name of the player
<i>player</i> is the name of the player


|-
|-
| <code>[train=<i>number</i>]</code>
| [train=<i>number</i>]
| <code>[train=93]</code>
| [train=93]  
|  
| [[File:Locomotive.png|28px]] [Train: 2]
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.
| Embeds a reference to a train. Clicking the icon will open the train GUI for that train.
<code>number</code> is the ingame number of the train
<i>number</i> is the internal unit number of the train


|-
|-
| <code>[train-stop=<i>number</i>]</code>
| [train-stop=<i>number</i>]
| <code>[train-stop=100]</code>
| [train-stop=100]
|  
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.
| Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.
<code>number</code> is the ingame number of the train
<i>number</i> is the internal unit number of the train stop
 
|-
| [tooltip=<i>text,tooltip locale key</i>]
| [tooltip=Hover to see "Iron plate",item-name.iron-plate]
| <span title="Iron plate"> [[File:Custom-tag-icon.png|28px]] Hover to see "Iron plate"</span>
| Shows the given <i>text</i> with a <i>tooltip</i> that is specified with a [[Tutorial:Localisation#Localising_simple_strings|locale key]].


|}
|}
== Text modifiers ==
[[File:Fonts.png|right|thumbnail|100px|Different fonts displayed in-game. (Click to enlarge.)]]
The color and font of text can be changed
{| class="wikitable"
|-
! style="width:20%"| Syntax
! style="width:15%"| Example Input
! style="width:15%"| Example Result
! style="width:50%"| Description
|-
| [color=<i>rgb</i>]...[/color]<br>
[color=<i>#rrggbb</i>]...[/color]<br>
[color=<i>#aarrggbb</i>]...[/color]<br>
[color=<i>rgb</i>]...[.color]<br>
[color=<i>#rrggbb</i>]...[.color]<br>
[color=<i>#aarrggbb</i>]...[.color]
| [color=red]Red[/color] text<br>
[color=1,0,0]Red[/color] text<br>
[color=255,0,0]Red[/color] text<br>
[color=#ff0000]Red[/color] text
| <span style="color: #ff0000">Red</span> text
| <i>rgb</i> is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.
|-
| [font=<i>font-name</i>]...[/font]<br>
[font=<i>font-name</i>]...[.font]
| [font=default-bold]Bold text[/font]
| <b>Bold text</b>
| <i>font-name</i> is the name of the [[Data.raw#font|Factorio font]] to render
|}
== See also ==
* [[Console]]
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.

Latest revision as of 11:27, 2 December 2020

Rich text formatting in allows the use of tags within most of the game's textboxes to change the visual formatting of text or to embed interactable images/entities. Predefined text tags are employed for this purpose.

Tags

Tags are useful for sharing blueprints, marking map locations in chat or adding icons to map markers and train stations. Ctrl+alt clicking the map or ground will automatically insert a gps tag and post it into chat.

Shift clicking most things with the console open will insert a tag for that thing into chat. The chat and many other textboxes in the game have a button on the right edge that opens an icon selector. This can be used to easily insert rich text tags of recipes, items, fluids, virtual signals and entities into the textbox.

When used in chat, the tag image will be followed by a text description, except for the img tag. Used elsewhere only the image is shown.

Syntax Example Input Example Result Description
[img=class/name]

[img=class.name]
[img=sprite-prototype-name]

[img=item.iron-plate]

[img=quantity-time]

Iron plate.png

Time icon.png

Embeds only a small inline game graphic. The period format must be used in game save names. This tag uses sprite paths:

class is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment or utility.

name: see below

sprite-prototype-name is the internal-name of a sprite prototype.

[item=name] [item=iron-plate] Iron plate.png [Item: Iron plate] name is the internal-name of the item
[entity=name] [entity=small-biter] Small biter.png [Entity: Small biter] name is the internal-name of the entity
[technology=name] [technology=logistics] Logistics (research).png [Technology: Logistics] name is the internal-name of the technology
[recipe=name] [recipe=basic-oil-processing] Basic oil processing.png [Recipe: Basic oil processing] name is the internal-name of the recipe, usually the item name
[item-group=name] [item-group=combat] Item-group military.png [Item Group: Combat] name is any of: logistics, production, intermediate-products, combat, fluids or signals
[fluid=name] [fluid=water] Water.png [Fluid: Water] name is the internal name of the fluid
[tile=name] [tile=grass-3] Grass 3.png [Tile: Grass 3] name is the internal name of the tile, usually the lowercase name with hyphens replacing spaces as written from the map editor
[virtual-signal=name] [virtual-signal=signal-A] Signal-A.png [Virtual Signal: Signal A] name is the word signal followed by either an uppercase letter, number, color, each, everything or anything
[achievement=name] [achievement=minions] Minions-achievement.png [Achievement: Minions] name is the internal-name of the achievement, usually the lowercase name with hyphens replacing spaces
[gps=x,y]

[gps=x,y,surface]

[gps=0,0] Map.png [Location: 0,0] Embeds a map location and marks the location on the map of other players.

x is the x point coordinate
y is the y point coordinate
surface is the current surface. Is only added if the player Ctrl+alt clicks on a surface that is not the default surface. When the player is on another surface than surface, clicking the tag does nothing. Mods must handle this case with on_player_clicked_gps_tag

[special-item=blueprint_string] Blueprint.png [Blueprint] Embeds a blueprint. Players can get a blueprint item by clicking the icon.

blueprint_string is the blueprint string of a blueprint, deconstruction planner or upgrade planners

[armor=player] [armor=Player] Power armor MK2.png [Armor: Player] Embeds the armor of a player. Allows other players to see the equipment installed.

player is the name of the player

[train=number] [train=93] Locomotive.png [Train: 2] Embeds a reference to a train. Clicking the icon will open the train GUI for that train.

number is the internal unit number of the train

[train-stop=number] [train-stop=100] Train stop.png [Train Stop: Trangar] Embeds a reference to a train stop. Clicking the icon will open the GUI for that train stop.

number is the internal unit number of the train stop

[tooltip=text,tooltip locale key] [tooltip=Hover to see "Iron plate",item-name.iron-plate] Custom-tag-icon.png Hover to see "Iron plate" Shows the given text with a tooltip that is specified with a locale key.

Text modifiers

Different fonts displayed in-game. (Click to enlarge.)

The color and font of text can be changed

Syntax Example Input Example Result Description
[color=rgb]...[/color]

[color=#rrggbb]...[/color]
[color=#aarrggbb]...[/color]
[color=rgb]...[.color]
[color=#rrggbb]...[.color]
[color=#aarrggbb]...[.color]

[color=red]Red[/color] text

[color=1,0,0]Red[/color] text
[color=255,0,0]Red[/color] text
[color=#ff0000]Red[/color] text

Red text rgb is a comma separated RGB color ranging from 0 to 1 or 0 to 255, or a color name

Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.

[font=font-name]...[/font]

[font=font-name]...[.font]

[font=default-bold]Bold text[/font] Bold text font-name is the name of the Factorio font to render

See also

  • Console
  • Data.raw for the list of internal names of recipes, technologies, fluids, etc.