-
Notifications
You must be signed in to change notification settings - Fork 1
The ITL Specification
Josh Nave edited this page Jan 1, 2021
·
4 revisions
(In progress)
.itl (Item Translation List) files are used by the core server to create mappings between objects in different subsystems. ITL is an NSS (The NSS Format) implementation.
ITL defines a single extension pair to the NSS header:
-
definition
Tells the core server to apply a definition list (The .def Specification) to the current file. Definition lists convert human-readable values to subsystem specific internal id's. The associated value should be the relative path to a .def file, and must be terminated by.def.
The ITL type is itl, and the only available version is 1.
An basic ITL header might look like this:
{
type:"itl"
version:"1"
encoding:"iso-8859-1"
definition:"mc.def"
definition:"factorio.def"
definition:"mcmods/mekanism.def"
}
The ITL specification defines a single available section:
-
.map <subsystem id> <subsystem id>
Indicates that the section defines translations between the two subsystems identified in the declaration. Translations are in the form of<name> <name>, and must use the same order that the subsystem id's were listed in, though translations go in both directions. The core server will search for each name in all linked definition lists; if found, it will instead use the id provided by the file, otherwise, the name will be assumed to be internal.
An example .map section might look like this:
.map mc fac
minecraft:stone 13
minecraft:cobblestone 14
minecraft:dirt 37
An complete .itl file might look something like this:
{
type:"itl"
version:"1"
encoding:"iso-8859-1"
definition:"mc.def"
definition:"factorio.def"
definition:"mcmods/mekanism.def"
}
.map mc fac
minecraft:stone 13
minecraft:cobblestone 14
minecraft:dirt 37
.map fac civ
23 iron
26 copper
# Need to finish metal translations
45 food