Added a lil bit of color (it's not much, don't get too excited)
Versions are now initialized after the app is open.
A little loading message will appear while the versions are being pulled from Mojang servers. This will only take a second.
This was done in the event there are many more versions, and the app hangs to create while waiting for those versions.
Initially the versions were loaded before the app even appeared on screen. If your machine is slow or theres a slow internet connection, the app would appear to not be loading.
Added two more console commands "releases" and "snapshots" to show their respective versions only
macOS app is now smaller (apparently I was missing an option, which in turn double packages dependencies)
Bumped up RAM for macOS app (2G -> 3G, app often ran out of memory while running)
Changed the logger for decompiling to a custom logger:
Now the app shows progress as the decompiler is running (not so boring to look at now)
Better color in console for logging making it easier to spot errors/warnings
Added legacy versions:
Versions 1.14.4+ use Mojang mappings
Versions below that will use Searge mappings (and warning, they're absolute crap) (also I only added last major releases for 1.7.10 to 1.13.2 as I had to generate the mappings myself, long process, may add more upon request)
CHANGED:
- Changed from Reconstruct deobfuscator to SpecialSource by md_5.
This is the same tool used internally by Spigot/BuildTools
This speeds up the remapping process tremendously, from about 3 minutes down to about 6 seconds.
- Mojang bundles now included with the server jar (This includes some libraries such as Brigadier and DataFixerUpper)
FIXED:
- Apparently this wasn't working well with snapshots?!?! Well that is fixed now.
Previous:
Code (Text):
[14:40:37 Processor INFO]: Downloading JAR file from Mojang.
[14:40:38 Processor INFO]: Successfully downloaded JAR file in less than a second!
[14:40:38 Processor INFO]: Downloading mappings file from Mojang...
[14:40:38 Processor INFO]: Successfully downloaded mappings file in less than a second!
[14:40:38 Processor INFO]: Remapping minecraft_client_1.21.1.jar file...
[Processor] INFO Reconstruct - Parsing mappings...
[Processor] INFO Reconstruct - Mapped:
[Processor] INFO Reconstruct - - 9410 Classes
[Processor] INFO Reconstruct - - 11228 Constructors
[Processor] INFO Reconstruct - - 37906 Fields
[Processor] INFO Reconstruct - - 62204 Methods
[Processor] INFO Reconstruct - Linking...
[Processor] INFO Reconstruct - Linked 9410 classes
[Processor] INFO Reconstruct - Transforming...
[Processor] INFO Reconstruct - Waiting for TransformTasks to complete...
[Processor] INFO Reconstruct - Waiting for WriteTask to complete...
[14:43:48 Processor INFO]: Remapping completed in 3 minutes, 10 seconds!
[14:43:49 Processor INFO]: Completed in 3 minutes, 11 seconds!
Update:
Code (Text):
[14:45:22 Processor INFO]: Downloading JAR file from Mojang.
[14:45:23 Processor INFO]: Successfully downloaded JAR file in less than a second!
[14:45:23 Processor INFO]: Downloading mappings file from Mojang...
[14:45:23 Processor INFO]: Successfully downloaded mappings file in less than a second!
[14:45:23 Processor INFO]: Remapping minecraft_client_1.21.1.jar file...
[14:45:30 Processor INFO]: Remapping completed in 6 seconds!
[14:45:30 Processor INFO]: Completed in 7 seconds!
CHANGED:
- Completely wiped Version class, removed all hardcoded versions
- Versions are pulled from the Mojang version manifest at runtime
- A list will generate of all versions that are available to map
- A button was added to toggle between snapshots and releases
- The text box showing which version was chosen was removed (this was only used for "latest" releases and is no longer needed)
- Minor cleanup was done in several areas
CHANGED:
- Updated Reconstruct (appears to maybe be faster??!?!)
-
Switched from FernFlower to VineFlower (appears to be multithreaded and faster) (never mind on that, stupid me didn't test and it borks up the code)
- Decompiled output is no longer a zip/jar file (a little less work for the end user)
IMPORTANT McDeob now requires Java 16 as a minimum Java version
CHANGES ADDED:
- Added support for MC 1.19.2
- Added support for "Latest Release" and "Latest Snapshot" (Thanks
@StrangeOne101)
- Added option to get all versions in CLI
-versions
CHANGED:
- Changed some spacing issues with layout (Thanks
@bluelhf)
- Changed window to be resizable (Thanks
@bluelhf)
- Changed minimum Java version to Java 16
FIXED:
- Fixed a bug (
#25) which caused an ugly window on Linux (Thanks
@bluelhf)
FIXED:
- Fixed some issues with the decompile process as well as the remap process
NOTE:
- Due to fixes with the remapping process, the status during this process will not appear in the app (this will be fixed in a later update) It may seem like its taking a while, just be patient til its done.
- Speed has greatly improved. Prior to this update, remap/decompile could take 30+ minutes, now it takes about 3 minutes
CHANGED:
- Add support for Snapshot versions 21w13a to 21w15a
- Removed snapshot versions 21w03a to 21w10a (if you need these, download the previous version 2.1.26)
CHANGED:
- Add support for Snapshot versions 21w03a to 21w11a (thanks
@DerFrZocker) - Removed 2020 snapshots
- Make buttons disabled during process work (thanks
@montlikadani)
CHANGED:
- Added 20w51a snapshot
- Updated time messages to use seconds/minutes instead of milliseconds (because this process takes so damn long, oh mah gawd!)
FIXED:
- Fixed an issue when running the app twice, it would fail to remap
CHANGED:
- Updated mappings for all full releases as well as the infinite snapshot to include the new copyright.
ADDED:
- Added combat test 7c snapshot (with old mappings)
REMOVED:
- Removed all old snapshots.
NOTE:
- The wiki page hasn't been updated to reflect all the updated mappings for all versions. I had to manually grab the new mappings links from the version's json file, which means I had to create a new "install" for each version in the launcher. Due to this being a time consuming task, I only updated mappings for the stable releases and the April fools infinite snapshot.
- For some reason I cant find an updated mapping for the combat snapshots with the new copyright, so they still include the old mappings.
- Going forward, all future releases will include the updated mappings.
- When running this program the mappings are downloaded into the work folder. You can find the updated copyright in the mappings there.
CHANGED:
- Add 1.16.2-rc2 snapshot
- Add 1.16.2 full release
NOTE:
- Mojang has announced they're updating the copyright for the mappings on Friday August 14th.
At that time I will update the mapping links in this program as well. Stay Tuned!
In this update I removed a few of the 1.16 snapshots. These probably aren't really need. If someone needs a specific version, please let me know and I can add it back in (Reminding, this is only available for 1.14.4+)
CHANGED:
- Added 1.16-pre8 snapshot version
- Removed snapshots for 20w16a to 20w19a (We don't really need these anymore)
A big thanks to
@MrIvanPlays for doing a big PR which is the contents of the majority of this update.
CHANGED:
- On Windows and Linux, the output files will now appear in the same location that the jar file is run, and the folder will be called "deobf-work". Make sure to double click the jar to run it, else the files will appear in your home folder (if the jar is run from console with CDing into the directory).
- On macOS, the output files will still continue to be placed in your home folder under a folder called "McDeob"
- Changed the look of the APP on Windows to look a little nicer
- Changed spacing in the APP on Windows to fit better
ADDED:
- Added a CLI feature, enabling you to run McDeob without the app, just from console, see
WIKI for further details on how this works.