Module.txt - TheShubham99/Terasology GitHub Wiki

Module.txt

Contents

  • id - Machine-readable name of the module. Used by the terasology engine and other modules to refer to the module.
  • version - Version of the module. See Versioning
  • displayName - The name of the module isplayed to end-users
  • description - Human-readable description of the module.
  • dependencies - List of ids and minVersions of modules needed for this module to work. See Module-Dependencies
  • defaultWorldGenerator - The default world generator to use for this module.

Ways to categorize your module:

  • serverSideOnly - only used on servers
  • isGameplay - defines a game type/mode (mod pack) that may depend on a large number of modules and forces a particular style of play. Unlikely to work well with other gameplay modules. Example: WoodAndStone, LightAndShadow
  • isAugmentation - some sort of plug and play content that can be enabled and seen/played, but doesn't force particular gameplay. Could work in combination with a gameplay module. Example: NightTerrors* isAsset - plain art / passive content module, possibly with basic block/model definitions. Example: LASR, Minerals, Soils
  • isWorld - provides world generation features. Example: AnotherWorld
  • isLibrary - active content for use by other modules. Cannot be used by itself. Typically Component Systems. Example: BlockNetwork
  • isSpecial - Special-purpose modules. Core, Sample, Malicious

Example

{
    "id" : "CoreSampleGameplay",
    "version" : "2.0.0-SNAPSHOT",
    "displayName" : "Core Gameplay",
    "description" : "Minimal gameplay template. Little content but a few starting items.",
    "dependencies" : [
        {"id": "Core", "minVersion": "2.0.0"}
    ],
    "isGameplay" : "true",
    "defaultWorldGenerator" : "Core:FacetedPerlin"
}

More information

Gestalt Modules - In-depth discussion of Modules (non-Terasology-specific)