Skip to content

Changes with Anno 117

Important

  1. Most base game files are also under data/base now.

    E.g. data/base/config/export/assets.xml

  2. Only mods with game version 8 in modinfo.json are loaded.

    {
      "Anno": 8,
      "Version": "1.0.0",
      "ModID": "first-mod-jakob"
      // ..
    }
    

  3. Reserve your GUID range.

    Open a PR on GuidRanges or ask on Discord.

  4. The mod folders for manual installation are:

    • <user>/Anno 117/mods/
    • <install>/Anno 117/mods/
Templates in Visual Studio Code

Press F1 in Anno Modding Tools and run Anno: Create Mod from Template to generate a template.

Changes

  • Localization - Texts use LineIDs now instead of GUIDs.
  • Modinfo - New Difficulty entry is mandatory, but mods load without it.
  • InfoTips - The format has changed for better readability.
  • Dependencies - Changed dependency entries in modinfo.

New Features

  1. ModOps can be shortened with Merge=<XPath> instead of the old long form Type="merge" Path=<XPath>.

    <ModOp GUID="1010372"
           Merge="Building">
      <AllowChangeVariation>1</AllowChangeVariation>
    </ModOp>
    
    <ModOp GUID="1010372"
           Type="merge" Path="/Values/Building">
      <AllowChangeVariation>1</AllowChangeVariation>
    </ModOp>
    
  2. 117 (not in demo)

    Directly drop assets into your file without ModOp. The order of BaseAssetGUID is automatically handled.

    <ModOps>
      <Asset>
        <BaseAssetGUID>100780</BaseAssetGUID>
        <Values> <!-- .. --> </Values>
      </Asset>
    </ModOps>
    
    <ModOps>
      <ModOp Type="addNextSibling" GUID="100780">
        <Asset>
          <BaseAssetGUID>100780</BaseAssetGUID>
          <Values> <!-- .. --> </Values>
        </Asset>
      </ModOp>
    </ModOps>
    

Extra Notes

Safe Ranges

Reserve your range

Open a PR on GuidRanges or ask on Discord.

The GUID ranges safe to use for mods have not changed.

Name Range
GUIDs 1.337.471.142 - 2.147.483.647
LineIDs 1.337.471.142 - 2.147.483.647
Personal use 2.001.000.000 - 2.001.009.999
Enums will come with future releases

Localization

Text IDs are based on Oasis Line IDs now instead of GUIDs.

Vanilla text IDs are always negative numbers like -6911555031864321364 (or A015 3951 4829 DAAC in hex).

For modding purposes it is best to simply use the same range as GUIDs. E.g. matching LineID of a building name with the GUID of the building asset.

<ModOp Add="/TextExport/Texts[1]">
  <Text>
    <Text>Happy Modding</Text>
    <LineId>2001000000</LineId>
  </Text>
</ModOp>
<Values>
  <!-- ... -->
  <Text>
    <OasisId>2001000000</OasisId>
  </Text>
</Values>
<ModOp Add="/TextExport/Texts[1]">
  <Text>
    <Text>Happy Modding</Text>
    <GUID>2001000000</GUID>
  </Text>
</ModOp>
<Values>
  <!-- ... -->
  <Standard>
    <GUID>2001000000</GUID>
  </Standard>
</Values>