Description
Some of you that have stuck around may have been wondering, what happened? What happened to version 2.0? Is the project dead?
After a long quiet time, these questions deserve to be addressed.
What Happened
Well, as it may pain to say this... I have moved on. Work got in the way and just life in general. Plus some personal projects that I've been working on which, by the way, you may want to stay tuned for those...
I should've communicated this better, that's my fault, and for that I apologise.
What Happened to Version 2.0
Version 2.0 was in development for a while, I have worked on it with a friend of mine, but the source code has since been lost, and the reason development on it has become stale and eventually stopped is easy, we never quite figured out a clean way to deliver code updates through patches.
As someone pointed out in issue #79, releasing Minecraft's source code leaves this project exposed, as redistributing Minecraft's code or assets is against their user agreement, as well as copyright law, so we needed a system. We needed something like Spigot.
But, unfortunately, dealing with package name changes, class name changes and so on can't be really done in a clean way, which is why...
Is the project dead?
Even though the project remained stale for a while, as long as there's a community, the project stays alive.
Plus, a new rewrite of the client has begun.
I know, that doesn't look like much, yet. A red square, really?
But forking MavenMCP-1.8.9 grants us a new beginning. There's still a lot of work to do, and we're probably even more exposed to Microsoft's strong arm, which means the new repository may go dark at any time. But a new solution has been found.
What's Next?
The new fork can be found here and, while no commits have been pushed yet, work on it has already started.
Dealing with DMCA
How can the project work around, well, the copyright law? This is both simple and complex at the same time.
Right now the whole Minecraft decompiled source code is on the repository, along with its assets, but after reaching a stable version the idea is to switch to a diff files model, much like Spigot.
But you have struggled with it in the past, whose' to say that it won't happen again?
I have devised a plan. The idea is to load a Client class dynamically upon load. This means that, rather than modifying the base client's code and renaming its package, a new additional package should be created.
This has limitations, but we will figure some workarounds when that does actually get implemented.
In Summary
In summary I would like to apologise for my absence, and thank everyone for your support.
Please, show the new repository much needed love, because updates are coming soon 🤞