Josh194 / FMCB

A platform that allows the linking of multiple applications/games together in various ways.
GNU General Public License v3.0
2 stars 1 forks source link

Design Full .itl Specification #10

Open Josh194 opened 3 years ago

Josh194 commented 3 years ago

Design a full specification for the custom .itl (Item Translation List) files. The files should be in a text format using a common encoding, and should contain mappings between items from two different games (not necessarily MC and Factorio, this will provide the most flexibility later on). They should be human readable, and easily editable, but also as space efficient as possible while not compromising readability. To allow for multiple game-pair mappings while not wasting space, the format should define sections of pair mappings. An example of such a file might look something like this:

sec MC,Fac: minecraft:stone, 34 minecraft:wood, 25 sec MC,Civ: minecraft:stone, 78 mekanism:wire, 90

NOTE: We may need another file type (.def or similar maybe?) to define mappings between human readable names and internal id's to make life easier. Also note that .itl files will never be stored in memory for long, they will instead be converted to a much more efficient format that only uses internal id's instead of readable names. This allows users to easily interact with the internal mechanics of the mod while not having to worry about our specific implementations for id's where games might not use them normally, and still allows the core server to efficiently carry out translations.