Skip to content

Modding

Robert Wetzold edited this page Jun 4, 2021 · 5 revisions

Introduction

While creating a world is starting from scratch, modding is altering something that already exists and where one cannot change the original. The mod is then placed next to the installed app.

Location

Modding always happens inside a modding.json file. This can either be placed into the root (then imageLink needs to be prefixed with the directory name) or one level deeper in a sub-directory. Multiple files will be combined into one automatically.

It is recommendable to use an editor that can validate JSON files, like Visual Studio Code.

Features

The following modding capabilities exist right now (for more please request these in the Discord).

Image Data

The imageLink attribute identifies the image to override. It is possible to override the following image data attributes:

  • name
  • author
  • authorLink
  • ratingCount
  • audio: path to a .wav file in the same or sub-directory
  • speak: text to be spoken by TTS. The global speakLanguage and speakVoice will be used if not otherwise set. It is possible to specify language and voice per entry, by prefixing the text with language and or voice, examples:
    • en-US|Hello this is english text!
    • de-DE|ru-RU-DmitryNeural|Hi das ist Deutsch, gesprochen mit russischem Akzent!

Additional Properties:

  • imageFilter (enum): None, List (will only show images contained in imageData)
  • imageOrder (enum): Native (Default), List (will sort images like they are listed in imageData, unlisted ones at the end), Random, NameAsc, NameDesc, DateAsc, DateDesc
  • speakNames (bool): Will set speak property to the value of name if not set already
  • speakLanguage (enum): Language to be used for TTS, see full list (default: en-US)
  • speakVoice (enum): Speaker to be used for TTS, see full list (default: en-US-GuyNeural)
{
    "imageFilter": "None",
    "imageOrder": "List",
    "imageData": [
        {
            "imageLink": "dcim83214123.jpg",
            "author": "taken by me",
            "name": "My own custom very fancy description",
            "speak": "This is a really nice painting!",
            "audio": "Guide/picture1.wav"
        }
    ]
}

A more elaborate example, showing how to change the TTS voice and also how to use the names as the text that should be spoken.

{
    "imageOrder": "Random",
    "speakNames": true,
    "speakLanguage": "de-De",
    "speakVoice": "ru-RU-DmitryNeural",
    "imageData": [
       {
            "imageLink": "2020-01-01 12.01.29-1.jpg",
            "author": "Mittwoch, 1. Januar 2020 12:01",
            "name": "Here is where it all started."
        },
        {
            "imageLink": "2020-01-01 16.26.53.jpg",
            "author": "Mittwoch, 1. Januar 2020 16:26",
            "name": "This was a great day!",
            "speak": "This text will be spoken instead of the name in this case."
        }
    ]
}
Clone this wiki locally