Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
I know the 1.14 has taken a bit of time to come out. This is due to many factors. Not the least of which was my decision to try and experiment and include a large part of the community into the update process. This was a bit chaotic while people learned the process, I still did quite large chunks of the process myself and will be exposing more and more to the community as time progresses and tasks get finished. My goal was have some people gain a better understanding and appreciation for the work I have been doing, and build a better system for moving forward.
The first major pass was the creation of new class names for all of the new classes added in 1.14. This was done as a completely open process. Everyone had access to submit and discuss new names. This was done through Google docs, and the MCPConfig channel on the Forge discord. Overall, this was a good process. We had a few trolls. Some greifing, and some really good debate. So thank yo to everyone who helped in that.
We also introduced some coding standards in an attempt to unify and cleanup the Minecraft code base.
This second pass was a bit more controlled, The general public could still comment in Discord and see what we were doing. But the actual changes were limited to a select group of people, @kashike @gabizou @Aaron1011 @Zidane and @jamierocks. Others were invited, but for one reason or another declined to join. You can see the document we used to do this pass here
You can see a full TSRG for the changes here. There are some tools out there to help this migration process. Most major IDE's have refactoring tools that can be scripts. As well as https://github.com/MinecraftForge/Srg2Source being a tool Forge has used for years for similar process. I know this will not be a 100% fool proof process, but my hope is to mitigate a majority of things, and have the community help build tools to make it as painless as possible.
What does this mean going forward?
Firstly, we have to address the timeframe, This update took quite a while longer then I expected due to many factors. Not the least of which was bringing everyone on board and getting them up to speed. My hope is that in the future this process will get faster and faster, while still having more people's inputs.
Secondly, this has proven to be a great success when it comes to finding a way to fairly decide things that effect the entire community such as class names. So moving forward we will be holding a standardized voting system on class names. The first pass will still be done internally by myself, and others who are helping the update process. However, after that this repo's issue section will be the forum and voting system for changing changes.
A few rules:
However, due to this being a new process, and a large amount of changes being done. I will be breaking the rules just once and allowing community votes on class names during a minor version. 1.14.1 is due to be released here shortly. But to give the community a chance to have their input heard. Any vote open before/on Monday (05/13/19) will be counted on Friday (05/17/19) and applied to the 1.14.1 MCP update.
For now, MCPConfig 1.14 has been deployed to the Forge maven. Forge will begin it's update process shortly, and hopefully this will breed a better community!
Here is an intellij migration mapping from 1.13 -> 1.14 class names. It should automate all of the renamings described here within several clicks and is generated from lex's TSRG. See the comment below the gist for usage instructions: https://gist.github.com/williewillus/2dfc945b7b7fdb69cc3ff830072d22fe