Repository navigation
Releases: ancientmc/AncientCoderPack
Release list
Obfuscation Removal and Mapping Stuff
0.4.0 is coming along, but I don't really know when that will be done. Frankly, I'm not quite sure about the roadmap for this project. Most likely after I implement the features I've considered, I will work on code cleanup and other stuff to prepare for the 1.0 release.
In the meantime, I wanted to talk about the announcement Mojang made about removing obfuscation from Java Edition's releases. This is a big deal, and something I (and surely a large portion of the community) never thought was going to happen. Already there's been some big changes to the modding community, such as Yarn, Fabric's libre mappings, being discontinued.
What does this mean for the Ancient Coder Pack?
Overall, this news means nothing. Unsurpisingly, although somewhat disappointingly, this is not a retroactive change. They were releasing some experimental builds with the last update, but they're officially starting deobfuscation with the upcoming game drop, 26.1 (that is so weird to say). Versions prior to some of the 1.21.11 snapshots aren't deobfuscated.
However, in response to Mojang's decision, I've decided to be more liberal with applying official Mojmap names to the Cuneiform mappings that ACP uses. Previously, this was something I avoided, though in hindsight it seems pointless, when a lot of mappings from MCP and RetroMCP (which I have relied on instead) seem to be lifted from the unobfuscated pre-classic builds anyways. With this change though, I feel it's probably more permissible to rely on official mappings, particularly from the leaked unobfuscated Beta 1.2_02 build..
The goal of Cuneiform is to be as complete as possible. Obviously, not everyone needs to know every field, method, or parameter in order to make mods. But it looks nicer, and will hopefully be helpful to any niche cases. I also feel it's beneficial from an educational perspective. Along with enabling modding of older versions, this program aims to educate users about Minecraft's history from a technical standpoint.
Relying on official mojang data from the Beta build will be a huge boost in my eyes, as it will let me fill in those nagging missing things or that are often too technical for me to deduce.
Obviously, the EULA still applies. Don't be stupid.
ACP Beta 0.3.0
Changelog
- ACP-Gradle: Step-based processes for decompiling the game and building mod files, instead of using
task dependency chains. - ACP now requires JDK 21. The game also now compiles in Java 8, which does not break any compatibility errors when running an ACP-based
mod in another launcher. The game's resolution doesn't fit the window, though, but it's entirely functional. - Fixed bug with archive creation.
- Version 3 of the AncientMC License.
I am not done yet with the plugin for now, but the changes I want to make will be internal, so I'm posting this release regardless.
ACP Beta 0.2.2
Changelog
- Modders can now configure the version number for their mod, based on the 'version' property in the gradle buildscript. The version number is appended to the generated mod archives' file names.
ACP Beta 0.2.1
Changelog
- Added startup message upon loading ACP for the first time. Shows the Minecraft version, ACP-Gradle version, and ACP version.
- A few internal changes to the ACP-Gradle plugin.
Not much else to say, the majority of the changes came from the plugin rather than the end-user repo. The same probably won't be said for 0.3.0, though, so stay tuned ;)
ACP Beta 0.2.0
Changelog
- GZip Support. Archive creation task now generates a ZIP and a tar.gz archive.
- Some internal name changes. Check commit history for this repo and the ACP-Gradle repo for more information.
ACP Beta 0.2.0 Pre-Release 1
I do not expect more than a pre-release or two before officially declaring this ready. It's in really good shape and there's nothing I'd add--maybe TAR/GZIP formatting for exports, but we'll see.
Changelog
- This version uses a revamped ACP-Gradle plugin. See the ACP-Gradle repo for a detailed overview of all the changes made.
These changes, in part, are designed to encourage greater flexibility between adding different MC versions for ACP.
Link: ancientmc/acp-gradle@7833c96 - Added support for Risugami’s ModLoader, the predecessor to Forge. For an example mod written in
Alpha 1.2.6 ModLoader, see this example Ruby Mod.
Link: https://github.com/ancientmc/Alpha-Ruby-Mod/tree/main - Added support for easily creating a ZIP file containing class files relating to your mod, as well as for
easily making and distributing patch files that you can show in a repository (if you’re editing vanilla code).
ACP Beta 0.1.3 Pre-Release 1
This is a pre-release to address Issue #1. The license has also been updated to Version 2.
If I get confirmation the issue has been fixed, and no other issues arise, this will likely drop the pre-release label and just become 0.1.3.
I will fix it if the issue persists or another bug comes up, but I also want to mention that eventually (I don't know when) I plan on releasing Beta 0.2.0, which afterwards will make any 0.1.x version deprecated.
Enjoy!
[Announcement] On Forge/NeoForge
First, I wish GitHub had a proper announcement system, but it's not the end of the world that it doesn't. I won't usually use the release section for non-release things, but I feel this topic is somewhat important enough to warrant making this.
I’ve mentioned this in a comment in one of the commits to this repo, but I want to repeat it here,
Very recently, I learned of the Forge drama and the creation of NeoForge that occurred almost a year ago (I was away from programming when it all happened). ACP and several other AncientMC software utilize Forge-developed tools for many of their processes. Regular Forge is still being developed by LexManos. However, because I expect NeoForge and its components to be more actively worked on in the long run (and because of the toxic reputation associated with Lex), ACP and its related components will be switching to NeoForge-based tools in the future.
This probably won't be a difficult task, but it's a lot of work I don't want to do all at once right now. For now, ACP will still be using Forge. When I get to the next major update (after 0.2.0), I will make the shift gradually as I update each repo in the ACP toolchain.
Thanks,
Mason (moist-mason), Ancient Coder Pack developer
ACP Beta 0.1.2
This is the final FINAL update for Beta 0.1.x. Progress for Beta 0.2.x is already well under way, and I want to focus my energy on that.
This update adds more params, as well as mentions proper param attribution in the README.
Not much else to say, really. Expect big changes in 0.2.x.
ACP Beta 0.1.1
Changelog
- Fixed error in RenderSorter.java patch
- Fixed some minor param inconsistencies/errors
- Updated Gradle JVM args from 512MB to 2GB
This update was primarily to address the first point, which made recompilation fail. Any other weird parameter inconsistencies or quirks (that don't cause any major issues) will be pushed for the next major update.