https://github.com/zaaarf/lillero-mapper
A lightweight mapping library used by the Lillero processor.
https://github.com/zaaarf/lillero-mapper
java mappings obfuscation
Last synced: 10 months ago
JSON representation
A lightweight mapping library used by the Lillero processor.
- Host: GitHub
- URL: https://github.com/zaaarf/lillero-mapper
- Owner: zaaarf
- License: mit
- Created: 2023-06-11T16:09:54.000Z (about 3 years ago)
- Default Branch: dev
- Last Pushed: 2025-07-14T16:54:22.000Z (11 months ago)
- Last Synced: 2025-07-14T21:30:52.866Z (11 months ago)
- Topics: java, mappings, obfuscation
- Language: Java
- Homepage: https://docs.zaaarf.foo/lillero-mapper/
- Size: 145 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Lillero-mapper
A tiny library to process mappings in various formats.
## Why?
I initially [meant to fork Enigma](https://github.com/FabricMC/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](https://github.com/zaaarf/lillero-processor/), to work with various mapping formats.
## Usage
Simply call `MapperProvider.getMapper()` and pass it a `List` of `String`s 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
...
```
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.