All Projects → HeartPattern → MC-Remapper

HeartPattern / MC-Remapper

Licence: MIT license
Deobfuscator for Minecraft by mapping json

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to MC-Remapper

VeinMiner
Minecraft Bukkit/Spigot/Paper plugin with Fabric client side mod. Mine multiple blocks of the same type in quick succession.
Stars: ✭ 67 (-35.58%)
Mutual labels:  bukkit, mod
ignite
A Mixin and Access Widener mod loader for Spigot/Paper
Stars: ✭ 115 (+10.58%)
Mutual labels:  bukkit, mod
Orion
Mixin loader for Paper
Stars: ✭ 46 (-55.77%)
Mutual labels:  bukkit, mod
pocketmod
Small ANSI C library for turning ProTracker MOD files into playable PCM audio.
Stars: ✭ 54 (-48.08%)
Mutual labels:  mod
Regeneration
Minecraft Mod that adds the concept of Regeneration from the show Doctor who
Stars: ✭ 22 (-78.85%)
Mutual labels:  mod
software-inc-multiplayer
A multiplayer mod for Software Inc written in C# for Unity.
Stars: ✭ 17 (-83.65%)
Mutual labels:  mod
JavaDeobfuscator
Java Deobfuscator
Stars: ✭ 32 (-69.23%)
Mutual labels:  deobfuscator
carpet-discarpet
Fabric carpet extension that adds discord functionality to scarpet
Stars: ✭ 26 (-75%)
Mutual labels:  mod
factorio-example-mod
Lightweight modular example mod with various features and compatibilities
Stars: ✭ 15 (-85.58%)
Mutual labels:  mod
Presence-Footsteps
An overly complicated footstep sound enhancement mod for Minecraft
Stars: ✭ 79 (-24.04%)
Mutual labels:  mod
Glaedr
An extensive, modular functional scoreboard library for the Bukkit/Spigot API.
Stars: ✭ 23 (-77.88%)
Mutual labels:  bukkit
KK Plugins
Various plugins for various Illusion games
Stars: ✭ 241 (+131.73%)
Mutual labels:  mod
sk89q-command-framework
A command framework by sk89q
Stars: ✭ 32 (-69.23%)
Mutual labels:  bukkit
SubServers-2
SubServers – The Minecraft Server Management Platform
Stars: ✭ 80 (-23.08%)
Mutual labels:  bukkit
relics
No description or website provided.
Stars: ✭ 24 (-76.92%)
Mutual labels:  mod
Randomly-Adding-Anything
No description or website provided.
Stars: ✭ 42 (-59.62%)
Mutual labels:  mod
SmartInventory
Moved to https://github.com/Infumia/InfumiaLib
Stars: ✭ 16 (-84.62%)
Mutual labels:  bukkit
Hawk
An anticheat written for legacy versions of Spigot
Stars: ✭ 82 (-21.15%)
Mutual labels:  bukkit
Spore-ModAPI
A C++ library that allows you to create advanced mods for Spore (user interface, shaders,...)
Stars: ✭ 31 (-70.19%)
Mutual labels:  mod
FactorioMods
Various mods for the game Factorio
Stars: ✭ 12 (-88.46%)
Mutual labels:  mod

Maven metadata URL Jenkins GitHub top language CodeFactor Grade GitHub repo size GitHub GitHub commit activity GitHub last commit

MC-Remapper

Deobfuscator for Minecraft

Mojang provide mapping file of obfuscated class, field, and method name for minecraft mod developer. This program applies mapping file to original minecraft code. It does not decompile jar, but only apply mapping. You have to decompile jar with your favorite decompiler after deobfuscate minecraft with mc-remapper.

Compile

Java 11 is required to compile MC-Remapper.
Clone project to your local machine and open terminal in the directory where build.gradle located. Run following command to compile.

./gradlew installDist

Runnable script and runtime libraries will generate under build/install/MC-Remapper.

Usage

Open terminal at build/install/MC-Remapper/bin. Execute MC-Remapper (Mac/Linux) or MC-Remapper.bat(Windows) with following parameters.

Arguments

Execute with specific file

To run mc remapper with a specific file, you can provide input jar and mapping txt.

Input jar is path to file or url of obfuscated minecraft client or server.

Mapping txt is path to file or url of proguard's mapping txt file. You can find it at .minecraft/versions/$version$/$version$.json file.

Execute with version

To run mc remapper with automatically download artifact and mapping tt, you can provide artifact name and version id.

Artifact name is either server or client.

Version id is release version or snapshot version.

Options

--output or --output-name(Default=Generate from other arguments)

Path to output file. If file already exists, overwrite it.

--thread (Default=8)

Number of thread used for apply mapping to class.

--fixlocalvar (Default=no)

Fix local variable name \u2603(). This variable name declared multiple time in same scope, so some decompiler does not work. There are three options.

option description
no Do not fix
rename Rename problematic local variable to debug$index like debug1, debug2...
delete Delete problematic local variable

--reobf (Flag, Default=no)

This option is useless for now. Both forge and bukkit modify nms with their own mapping, therefore applying this option is meaningless

Reobf option reverses mapping direction. By default, MC-Remapper map obfuscated code to deobfuscated code. However, if you write your mod/plugin with deobfuscated minecraft source and apply it to forge/bukkit, minecraft will crash with NoClassDefFoundException, NoSuchMethodException, or else. That's because, forge or bukkit use obfuscated code, but your plugin tried to access to deobfuscated code. In this case, you have to re-obfuscate your mod/plugin to use obfuscated minecraft code. You can use this option to map deobfuscated to. obfuscated code.

For csrg/srg mappings, this option is needed to apply deobfuscating mapping. i.e. deobfuscating = --reobf, reobfuscating = no --reobf.

--format (Default=proguard)

Supported mapping format: proguard, csrg, srg

--autologger (Flag, default=no)

Static final fields with type org.apache.logging.log4j.Logger is automatically renamed to LOGGER if it is not explicitly renamed by the mapping.

--autotoken (Flag, default=no)

Members' names that are Java keywords are automatically appended an underscore (_).

--mappackage (Map, default=None)

Renames packages AFTER other mappings are applied. Can occur multiple times, where they are merged.

Example: --mappackage =net.minecraft.server.v1_15 --mappackage net.minecraft.server=net.minecraft.server.v1_15

The unnamed package is renamed to net.minecraft.server.v1_15, and net.minecraft.server is renamed to net.minecraft.server.v1_15.

Example usages

Execute by specifying input file and mapping url

./MC-Remapper server.jar https://launcher.mojang.com/v1/objects/448ccb7b455f156bb5cb9cdadd7f96cd68134dbd/server.txt

Execute by specifying input and mapping file with options

./MC-Remapper server.jar server_mapping.txt --output deobf.jar --thread 8 --fixlocalvar=delete --reobf

Execute by specifying version

./MC-Remapper server 1.15.2
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].