Types/Order: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (grammar)
(Removed old prototype docs)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
<div class="stub"><p>'''The prototype docs have moved to a new website with an improved format.''' This documentation page can now be found here: [https://lua-api.factorio.com/latest/types/Order.html https://lua-api.factorio.com/latest/types/Order.html]
== Basic ==
The order property is a '''simple''' [[Types/string|string]]. When the game needs to sort prototypes, it looks at their order properties and sorts those alphabetically. So, something with the order "a" comes before something with the order "b" or "c". The "-" or "[]" structures that can be found in vanilla order strings ''do not'' have any special meaning.


== Advanced ==
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
When the game compares 2 prototypes (of the same type) if the order strings aren't equal they're [[:Wikipedia:Lexicographical_order|lexicographically compared]] to determine if a given prototype is shown before or after another. When the order strings are equal the game then falls back to comparing the prototype names to determine order.
 
== Examples ==
 
=== Two item prototypes ===
The second item is shown before the first one (in the crafting grid/inventory etc)
 
<syntaxhighlight lang="lua">{
    type = "item",
    name = "item-1",
    order = "ad",
  },
 
  {
    type = "item",
    name = "item-2",
    order = "ab",
  },</syntaxhighlight>
 
=== Some sorted strings ===
Using a UTF-8 character list, the sort order of special characters can identified, here the sort order for common characters:
* "-"
* "0"
* "9"
* "A"
* "Z"
* "["
* "]"
* "a"
* "z"
 
Example using the above ordering:
* "a"
* "ab"
* "azaaa" (<code>b</code> is sorted before <code>z</code>, so "ab" comes before "az", regardless of the rest of the letters after "az")
* "b"
* "b-zzzz"
* "b[aaaa]" (<code>[</code> is sorted after <code>-</code> in UTF-8)
* "bb" (<code>b</code> is sorted after <code>[</code> in UTF-8)

Latest revision as of 14:32, 25 October 2024

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/types/Order.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.