A lightweight mapping library used by the Lillero processor. https://docs.zaaarf.foo/lillero-mapper/
Find a file
2024-12-14 23:24:20 +01:00
.github/workflows ci: added github actions 2023-12-28 02:55:30 +01:00
gradle/wrapper feat: initial implementation, created interface and moved stuff from processor 2023-06-11 14:48:24 +02:00
src/main/java/ftbsc/lll fix: solved various (glaring) mistakes, now it works! 2024-05-31 18:56:00 +02:00
.editorconfig feat: initial implementation, created interface and moved stuff from processor 2023-06-11 14:48:24 +02:00
.gitignore feat: initial implementation, created interface and moved stuff from processor 2023-06-11 14:48:24 +02:00
build.gradle fix: solved various (glaring) mistakes, now it works! 2024-05-31 18:56:00 +02:00
gradlew fix: chmod +x on wrapper script 2023-06-11 14:52:59 +02:00
gradlew.bat feat: initial implementation, created interface and moved stuff from processor 2023-06-11 14:48:24 +02:00
LICENSE added license 2023-06-17 15:34:46 +02:00
README.md docs: specify various types in the readme 2024-12-14 23:24:20 +01:00

Lillero-mapper

A tiny library to process mappings in various formats.

Why?

I initially meant to fork Enigma, but honestly it was far more than I needed, even when stripped down to its core library.

The purpose of this library is to act as base for Lillero-processor, to work with various mapping formats.

Usage

Simply call MapperProvider.getMapper() and pass it a List of Strings representing the mapping file's contents, line by line. Call then populate() on the resulting IMapper, passing the same List once again, and you'll have an object that can process stuff back and forth - granted that a mapper capable of parsing the input was found.

Supported formats

These are the formats currently supported by this library:

  • srg
  • tsrg
  • tinyv2
  • multi (see below)

Multimapper

A case where multiple passes of deobfuscation may be needed is also supported, although unrecommended; I would also very much advise against referencing an untrusted multimapper in a remote location, for reasons that will be obvious to you in a second. A multimapper looks like this:

lll multimapper
<url-or-path-for-first-mapping>
<url-or-path-for-second-mapping>
...
<url-or-path-for-last-mapping>

You obviously don't want a remote location you don't control telling you what to download on your computer.

The passes are applied in the provided order, from the first to the last.