Wiki Help

From Good Company
Jump to navigation Jump to search

This page will be a help for editing the wiki pages on the Good Company Wiki.

This will not cover the usual Media Wiki stuff, rather it will expect that you even know already some basics.

If you want to inform yourself about formatting and handling Mediawiki articles in general, please visit the Help section of it.



The administration of this Wiki is done officially by the Chasing Carrot team. If aside from content discussion you want to have an exchange about the wiki, visit us on our Discord: https://discord.gg/goodcompany


Good Company Replacements[edit]

Those are very specific replacements done by a script that handles additional tags after initial parsing. It used sources from the game itself and if maintained with up-to-date data exports can be easily used to fill in for some content that would require manual texting and linking.

What it can generally do:

  • Use game text
  • Use game icons
  • Display info with icon and link from the game
  • Get very specific game data

We'll expand on the data that can be used with the system.


Localization Files[edit]

Contents from localization files can be used by using [t:<textkey>]

This will take the localization directly from game files. This does currently do not support multi-language support as the wiki is currently only in English.


Example: [t:itm_plastic] => [t:itm_plastic]


If there are any icons used in the text, they will be automatically replaced. But please note, the script will (not yet) take care of all replacement parameters used in Good Company.

What already works is modifications on story texts:

Original Text Content [portrait:portraits/kerry_normal3][n:campaign_speech_kerry]The last step is to select the item you want to have crafted. Currently, we only have [s:icons_modules/itm_plastic_case] Plastic Case available. Please select it.
Normal [t:campaign1_ms3_task3] [t:campaign1_ms3_task3]
Portrait [t:campaign1_ms3_task3:only_portrait] [t:campaign1_ms3_task3:only_portrait]
Without Portrait [t:campaign1_ms3_task3:remove_portrait] [t:campaign1_ms3_task3:remove_portrait]
Name [t:campaign1_ms3_task3:only_name] [t:campaign1_ms3_task3:only_name]
Without Name [t:campaign1_ms3_task3:remove_name] [t:campaign1_ms3_task3:remove_name]
Only Text [t:campaign1_ms3_task3:only_text] [t:campaign1_ms3_task3:only_text]


Game Icons[edit]

In common cases if you are adding images into the wiki you may want to use the upload and image functions just as usual, but sometimes you may want to use Icons via replacements. This is usually used by other replacements to make the icons in text keys or data sets usable.

The advantage of using the game icons is that they have the same path just as the game and can be easily used when processing a lot of data. They can also be used in links and such. The drawback is that they must be uploaded by someone with VPN access and can't be used from the normal file upload and you have less customization options.


Example: [s:icons_materials/itm_plastic] => [s:icons_materials/itm_plastic]


The icons offer some options for a parameter to modify the display:


(default) [s:icons_materials/itm_plastic] [s:icons_materials/itm_plastic]
smaller/--/xs [s:icons_materials/itm_plastic:smaller] [s:icons_materials/itm_plastic:smaller]
small/-/s [s:icons_materials/itm_plastic:-] [s:icons_materials/itm_plastic:-]
medium/m [s:icons_materials/itm_plastic:m] [s:icons_materials/itm_plastic:m]
big/+/l [s:icons_materials/itm_plastic:big] [s:icons_materials/itm_plastic:big]
bigger/++/xl [s:icons_materials/itm_plastic:++] [s:icons_materials/itm_plastic:++]
giant/+++/xxl [s:icons_materials/itm_plastic:xxl] [s:icons_materials/itm_plastic:xxl]
portrait_small/ps [s:portraits/kerry_normal1:ps] [s:portraits/kerry_normal1:ps]
portrait/pm [s:portraits/kerry_normal1:portrait] [s:portraits/kerry_normal1:portrait]
portrait_large/pl [s:portraits/kerry_normal1:pl] [s:portraits/kerry_normal1:pl]
portrait_larger/pxl [s:portraits/kerry_normal1:pxl] [s:portraits/kerry_normal1:pxl]


Info Replacements[edit]

Info replacements take things like items and objects, and makes a linked representation with the icon and the name localized through the localization files out if it. This works potentially for all data that have icon and loca_strings as identifier.


Example: [item:icons_materials/itm_plastic] => [item:icons_materials/itm_plastic]


Right now there are exported files available for:

type tag file example result
Materials & Modules item materials.json [item:itm_plastic] [item:itm_plastic]
Tables & Dekos object equipment.json [object:bld_assembly_tier01] [object:bld_assembly_tier01]


For the info replacement there are also some modifiers that can be applied in any order. They will alter the display of an entry.

type=text only display the text [item:itm_plastic:type=text] [item:itm_plastic:type=text]
type=icon only the icon + tooltip [item:itm_plastic:type=icon] [item:itm_plastic:type=icon]
notip/code> does not show tips [item:itm_plastic:type=icon:notip] [item:itm_plastic:type=icon:notip]
icon_class=? sets another html class [item:itm_plastic:icon_class=gc_icon_big] [item:itm_plastic:type=icon:icon_class=gc_icon_big]
nolink does not link info [item:itm_plastic:nolink] [item:itm_plastic:nolink]

Data Replacements[edit]

Data replacements use the exact same files just as the info replacements, but instead you can pick a certain information and get that display. For example you could get the stack size of an item.

[itemdata:itm_plastic:stack_size] => [itemdata:itm_plastic:stack_size]



This can in theory retrieve data into endless depths, but of course the data files are not that deep. But for example you could get the identifier of an input material:

[itemdata:itm_plastic:input_materials:0:loca_string] => [itemdata:itm_7segment_display:input_materials:0:loca_string]

Note: Arrays always start at 0!



And if that seems fancy: It is possible to chain replacements. First data is grabbed, then the info replacements. This happens twice and after that come localization and finally icon replacements.

[t:[itemdata:itm_7segment_display:input_materials:0:loca_string]] => [t:[itemdata:itm_7segment_display:input_materials:0:loca_string]]

[item:[itemdata:itm_7segment_display:input_materials:0:loca_string]] => [item:[itemdata:itm_7segment_display:input_materials:0:loca_string]]



In case you try to fetch data that does not exist, the replacement will remove the replacement from the page and display nothing instead. This may proof useful when mass copying certain stuff into fixed tables, but might cause issues if further digging into data is based of it.

[itemdata:itm_plastic:input_materials:0:loca_string] => [itemdata:itm_plastic:input_materials:0:loca_string]

[itemdata:itm_7segment_display:input_materials:2:loca_string] => [itemdata:itm_7segment_display:input_materials:2:loca_string]



Last but not least: If you try to access an array or class through this, instead of getting the data placed, you will only get a true in return.

Can be crafted: [itemdata:itm_plastic:input_materials] => Can be crafted: [itemdata:itm_plastic:input_materials]

Can be crafted: [itemdata:itm_7segment_display:input_materials] => Can be crafted: [itemdata:itm_7segment_display:input_materials]