Skip to main content

Creating String Mods

See Extracting Strings before proceeding.

Make sure to backup the unmodified BLANG file.

Strings can be added to BLANG files, but you must reference them with decls files.

String Editing ( BlangJsonGeneratorUI )

  • Extract the contents of BlangJsonGenerator-*.zip.
  • Open BlangJsonGenerator.exe, then go to File -> Open blang file... to edit an existing BLANG file, or to File -> Open blang from .resources file to edit a BLANG file contained in a .resources file. You can also go to  File -> New... to create a new BLANG JSON mod from scratch.
  • You should now see something like this:

screenshot.png

  • You may edit any string Identifier or Text you wish.
  • To add a string, use the + button in the top-right corner.
  • After modifying the strings go to File  ->  Save...  ->  Give it the same name as its original BLANG file, with the extension changed to JSON. (ex: english.json).
  • Create the following folder directories in your DOOMEternal\Mods folder:

    gameresources_patch1\EternalMod\strings

    • Copy your modified JSON file into the strings folder.
    • Run the EternalModInjector like normal.

    String Editing ( BlangJsonGenerator )

    Any unused string can be deleted, so it can be compatible with other mods that affect other strings.

    • Create a backup for the string JSON file.
    • Open the string JSON file. ( ex: english.json )
    • The strings should be formatted like this:

    image-1631218573399.png

    • If they are not, see the Extracting Strings page, under Extraction Instructions: ( BlangJsonGenerator )
    • Go to the Replace tab (CTRL + F)  ->  Replace  ->  Search Mode: Check Regular expression
    • Input the following and select Replace All for each:

    1) image-1631217604007.PNG
    "identifier":
    "name":

    The "Replace with : " box is empty for screenshot 2.

    2) image-1631217614687.PNG
    "modified": 0

    The "Replace with : " box is empty for screenshot 3.

    3) image-1631217622425.PNG
    ^(?:[\t ]*(?:\r?\n|\r))+

    • The results should be formatted like this:

    image-1631218052834.png

    • The JSON file is now in a format that can be properly re-injected into DOOM Eternal.
      Save a backup of this JSON file as well, so you would not need to go through this process again
      (before the next DOOM Eternal update).
    • Find the strings that you wish to modify. (CTRL + F)
    • After modifying the strings of your choice, delete all other unmodified strings.
    • Save your modified JSON file with the same name as it was exported. ( ex: english.json )
    • Create the following folder directories in your DOOMEternal\Mods folder:

    gameresources_patch1\EternalMod\strings

    • Copy your modified JSON file into the strings folder.
    • Run the EternalModInjector like normal.

    The commas "," at the end of each string name and text are unnecessary and can be deleted.
    However, they do not impact the syntax in any way.

    Since JSON files can be edited with raw text editors,
    you can execute scripts or regular expressions to edit strings more efficiently.

    String Editing ( BlangParser )

    The entire BLANG file will be modified, which means it will be incompatible with other string mods.

    • Extract the contents of BlangEditorv#.#.zip
    • Open BlangEditor.exe you should be prompted with the following:

    image-1631220049230.PNG

    • You may edit any string Identifier or Text you wish.
    • Upon highlighting a string line, you may select the DELETE key to remove it.
    • To add a string, scroll down to the bottom of the list and add your own Identifiers and Text lines.
    • After modifying the strings go to File  ->  Save As...  ->  Give it the same name as its original BLANG file.
      (ex: english.blang)
    • Create the following folder directories in your DOOMEternal\Mods folder:

    gameresources_patch1\strings

    • Copy your modified BLANG file into the strings folder.
    • Run the EternalModInjector like normal.

    It is not recommended to delete existing string lines because DOOM Eternal will fail to recognize them.