In other languages: Русский

Rich text: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (small fixes)
No edit summary
 
(28 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
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.
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.


==Text modifiers==
== Tags ==
 
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]
| [color=red]Red[/color] text
[color=1,0,0]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 a color name
Available colors: default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid.
|-
| [font</i>=<i>font-name</i>]...[/font]
| [font=default-bold]Bold text
| <b>Bold text</b>
| <i>font-name</i> is the name of the [[Data.raw#font|Factorio font]] to render
|}
 
==Tags==


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


Shift clicking most things with the console open will insert a tag for that thing 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.
When used in chat, the tag image will be followed by a text description, except for the img tag.
Line 44: Line 20:


|-
|-
| [img=<i>class</i>/<i>name</i>]
| [img=<i>class</i>/<i>name</i>]<br>
[img=<i>class</i>.<i>name</i>]
[img=<i>class</i>.<i>name</i>]<br>
| [img=item/iron-plate]
[img=<i>sprite-prototype-name</i>]
| [[File:Iron_plate.png|28px]]
| [img=item.iron-plate]<br>
| Embeds only a small inline game graphic. The period format must be used in game save names.
[img=quantity-time]<br>
<i>class</i> is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal or achievement
[img=utility/played_green]
| [[File:Iron_plate.png|28px]]<br>
[[File:Time_icon.png|28px]]<br>
[[File:Played green.png|28px]]
| 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]:
<i>class</i> is any of: item, entity, technology, recipe, item-group, fluid, tile, virtual-signal, achievement, equipment, space-location or utility.
 
<i>name</i>: see below
<i>name</i>: see below
<i>sprite-prototype-name</i> is the [[Data.raw#sprite|internal-name]] of a [[Prototype/Sprite|sprite prototype]].


|-
|-
Line 74: Line 58:
| [recipe=basic-oil-processing]
| [recipe=basic-oil-processing]
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]
| [[File:Basic_oil_processing.png|28px]] [Recipe: Basic oil processing]
| <i>name</i> is the internal-name of the recipe, usually the entity name
| <i>name</i> is the internal-name of the recipe, usually the item name


|-
|-
Line 107: Line 91:


|-
|-
| [gps=<i>x</i>,<i>y</i>]
| [gps=<i>x,y</i>]
[gps=<i>x,y,surface</i>]
| [gps=0,0]
| [gps=0,0]
| [[File:Map.png|28px]] [Location: 0,0]
| [[File:Map.png|28px]] [Location: 0,0]
| 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.
<i>x</i> is the x point coordinate
<i>x</i> is the x point coordinate<br>
<i>y</i> 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]
|-
|-
| [special-item=<i>blueprint_string</i>]
| [special-item=<i>blueprint_string</i>]
Line 140: Line 125:
| [[File:Train_stop.png|28px]] [Train Stop: Trangar]
| [[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.
<i>numbe</i>r is the internal unit number of the train stop
<i>number</i> is the internal unit number of the train stop
 
|-
| [shortcut=<i>shortcut-name</i>]
| [shortcut=give-spidertron-remote]
| [[File:Spidertron_remote.png|28px]] [Shortcut: Create spidertron remote]
| Embeds a reference to a shortcut from the [[Shortcut bar]]. Hovering over the rich text will show the shortcut's description. Clicking the rich text will act as if you clicked the shortcut.
<i>shortcut-name</i> is the internal name of the shortcut.
 
|-
| [tip=<i>tip-name</i>]
| [tip=spidertron-control]
| [[File:Tip.png|28px]] [Tip: Spidertron control]
| Embeds a reference to a tip from the "Tips and tricks" menu. Hovering over the icon will show the tip's text. Clicking the icon will open the "Tips and tricks" menu to that page.
 
|-
| [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]].


|-
| [quality=<i>tier</i>]<br>
[item=<i>name</i>,quality=<i>tier</i>]<br>
[entity=<i>name</i>,quality=<i>tier</i>]<br>
<!--[recipe=<i>name</i>,quality=<i>tier</i>]<br>
[fluid=<i>name</i>,quality=<i>tier</i>]<br>
[virtual-signal=<i>name</i>,quality=<i>tier</i>]-->
|[quality=normal]<br>
[item=iron-plate,quality=normal]<br>
[entity=small-biter,quality=uncommon]<br>
<!--[recipe=basic-oil-processing,quality=rare]<br>
[fluid=water,quality=epic]<br>
[virtual-signal=signal-A,quality=legendary]-->
| [[File:Quality normal.png|28px]] [Quality: Normal]<br>
[[File:Iron_plate.png|28px]] [Item: Iron plate]<br>
[[File:Uncommon small biter.png|28px]] [Entity: Uncommon Small biter]<br>
|
[[Quality]] can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal<br>
It can also be added to the other tags that use <i>name</i>, but they ignore it.
The normal quality is the default quality and won't modify tags. Any other quality won't exist without [[Space Age]] and Quality
<i>tier</i> is the internal-name of the quality
|-
| [space-platform=<i>number</i>]
| [space-platform=3]
| [[File:Space_platform_hub.png|28px]] [Space platform: My cool space platform]
| <i>number</i> is the internal id of a space-platform, starting with 1.
Hovering over the rich text will show a view of the space platform. Clicking the rich text will go to the platform in remote view.
|-
| [planet=<i>name</i>]
| [planet=gleba]
| [[File:Gleba.png|28px]] [Planet: Gleba]
| <i>name</i> is the internal name of a planet.
Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.
[[Nauvis]] is part of the base game and will always be available.
|-
| [space-location=<i>name</i>]
| [space-location=shattered-planet]
[space-location=gleba]
| [[File:Shattered Planet.png|28px]] [Space location: Shattered Planet]
[[File:Gleba.png|28px]] [Planet: Gleba]
| <i>name</i> is the internal name of a space-location in Space Age.
Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.
For the planet's listed in the section above 'planet' will be used as the text prefix instead of 'space-location'
|-
| [space-age]
| [space-age]
| [[File:Space_age_icon.png|28px]]
| Embeds the Space Age icon.
|}
== 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 ==
== See also ==
* [[Console]]
* [[Console]]
* [[Data.raw]] for the list of internal names of recipes, technologies, fluids, etc.
{{C|GUI}}

Latest revision as of 00:14, 8 November 2024

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]
[img=utility/played_green]

Iron plate.png

Time icon.png
Played green.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, space-location 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

[shortcut=shortcut-name] [shortcut=give-spidertron-remote] Spidertron remote.png [Shortcut: Create spidertron remote] Embeds a reference to a shortcut from the Shortcut bar. Hovering over the rich text will show the shortcut's description. Clicking the rich text will act as if you clicked the shortcut.

shortcut-name is the internal name of the shortcut.

[tip=tip-name] [tip=spidertron-control] Tip.png [Tip: Spidertron control] Embeds a reference to a tip from the "Tips and tricks" menu. Hovering over the icon will show the tip's text. Clicking the icon will open the "Tips and tricks" menu to that page.
[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.
[quality=tier]

[item=name,quality=tier]
[entity=name,quality=tier]

[quality=normal]

[item=iron-plate,quality=normal]
[entity=small-biter,quality=uncommon]

Quality normal.png [Quality: Normal]

Iron plate.png [Item: Iron plate]
Uncommon small biter.png [Entity: Uncommon Small biter]

Quality can also be optionally specified on the following tags: item, entity, recipe, fluid, and virtual-signal
It can also be added to the other tags that use name, but they ignore it.

The normal quality is the default quality and won't modify tags. Any other quality won't exist without Space Age and Quality

tier is the internal-name of the quality

[space-platform=number] [space-platform=3] Space platform hub.png [Space platform: My cool space platform] number is the internal id of a space-platform, starting with 1.

Hovering over the rich text will show a view of the space platform. Clicking the rich text will go to the platform in remote view.

[planet=name] [planet=gleba] Gleba.png [Planet: Gleba] name is the internal name of a planet.

Available planets in Space Age are: nauvis, gleba, fulgora, vulcanus, and aquilo.

Nauvis is part of the base game and will always be available.

[space-location=name] [space-location=shattered-planet]

[space-location=gleba]

Shattered Planet.png [Space location: Shattered Planet]

Gleba.png [Planet: Gleba]

name is the internal name of a space-location in Space Age.

Available locations in Space Age are: nauvis, gleba, fulgora, vulcanus, aquilo, solar-system-edge, and shattered-planet.

For the planet's listed in the section above 'planet' will be used as the text prefix instead of 'space-location'

[space-age] [space-age] Space age icon.png Embeds the Space Age icon.

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.