ViaFabricPlus uses Gradle, to make sure that it is installed properly you can check Gradle's website.
- Clone the repository using
git clone https://github.com/ViaVersion/ViaFabricPlus
. - CD into the local repository.
- Run
./gradlew genSources
. - Open the folder as a Gradle project in your preferred IDE.
- Run the mod.
Translation files are located in src/main/resources/assets/viafabricplus/lang/
. To update them, you need to do the following:
- Copy the
en_us.json
file and rename it to the language code of the language you want to update (e.g.de_de.json
for German) - Translate all values in the file to the language you want to update
- Do not change the keys of the values, only the values themselves
- Do not change the formatting of the file (e.g. the spaces between the keys and values or the order of the keys)
- Try to be consistent with Minecraft language files.
- Take a look at UN's guidelines for Gender-inclusive language: https://www.un.org/en/gender-inclusive-language/guidelines.shtml
- Create a pull request and wait for it to be reviewed and merged.
- You're done, congrats!
- Create a new branch for your feature/bugfix (e.g.
feature/fix-xyz
orfix/fix-xyz
) - Implement your feature/bugfix and make sure it works correctly
- Clean your code and make sure it is readable and understandable (e.g. use proper variable names)
- Use the Google java code style (https://google.github.io/styleguide/javaguide.html) and format your code accordingly
- If you're changing API, make sure to update the documentation in the
docs
folder, add javadocs to your code and don't break backwards compatibility if not necessary - Create a pull request and wait for it to be reviewed and merged.
- You're done, congrats!
Protocol fixes are the core functionality of ViaFabricPlus, they make ViaFabricPlus stand out from all other existing protocol translation platforms, and so it's even more important to keep them working.
When adding new fixes, you should always check if the fix is relevant for the current version of the game. If you're unsure, ask in the ViaVersion discord.
In general, you should only implement changes which could be detected by the server or are relevant for the gameplay.
From experience, most changes are related to either movement or networking. If you contribute new fixes, please proof your changes by showing that they are relevant and also by providing a game source diff. It's important that fixes are changing the actual change happend in the game and not just visual changes.
See MAINTAINING.md for more information on how to maintain the mod.