You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The three major changes were left up to the community:
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.
After that, we moved on to updating MCPConfig itself. @JDLogic, @quadraxis, @williewillus, and a bunch of others were a big help in this. So thank you.
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:
Class names can only change on MAJOR Minecraft versions. Such as 1.12.2 -> 1.13. Not 1.13 -> 1.13.1.
This is to keep the modding scene sane during minor versions.
Votes for class names must have been open for at least a week, to give people ample time to discuss and vote.
Votes need to be tagged with the 'classname' and 'vote' labels to make them easy to find.
Votes must be kept to single changes only to prevent 'all or nothing', an example being us splitting the above mentioned votes into three separate issues.
Lastly, the MCP team reserves the right to veto any changes, just in case things like 'Block' -> 'Dohicky' get suggested and somehow the troll votes win.
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!
The text was updated successfully, but these errors were encountered:
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
Hello everyone,
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.
The three major changes were left up to the community:
Drop "Enum" prefix for enumerations #815 Drop "Enum" prefixes for enumerations: Favor.
Enumerations will no longer be prefixed. ("EnumFoobar" -> "Foobar")
Enum Changes TSRG
Drop "I" prefix for interfaces #816 Drop "I" prefixes for interfaces: Opposed.
Interfaces will continue to be prefixed. ("IFoobar")
Interface Changes TSRG
Migrate from prefixes to suffixes #817 Migrate from prefixes to suffixes: Favor.
Everything will now use suffixes. ("BlockFoo" -> "FooBlock")
Suffix Changes TSRG
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.
After that, we moved on to updating MCPConfig itself. @JDLogic, @quadraxis, @williewillus, and a bunch of others were a big help in this. So thank you.
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:
Class names can only change on MAJOR Minecraft versions. Such as 1.12.2 -> 1.13. Not 1.13 -> 1.13.1.
This is to keep the modding scene sane during minor versions.
Votes for class names must have been open for at least a week, to give people ample time to discuss and vote.
Votes need to be tagged with the 'classname' and 'vote' labels to make them easy to find.
Votes must be kept to single changes only to prevent 'all or nothing', an example being us splitting the above mentioned votes into three separate issues.
Lastly, the MCP team reserves the right to veto any changes, just in case things like 'Block' -> 'Dohicky' get suggested and somehow the troll votes win.
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!
The text was updated successfully, but these errors were encountered: