-
Notifications
You must be signed in to change notification settings - Fork 0
Development
All contributors should read, understand and respect the contributor's code of conduct.
- Test InstantReplay on different Minecraft versions and open an issue to report any bugs you find.
- Work on small fixes to InstantReplay and create a pull request.
- Propose changes to InstantReplay by opening an issue.
- Propose large changes to InstantReplay by first opening an issue to discuss the changes, once you receive the go-ahead you can make the changes and create a pull request.
I ask that you test any changes you have made to InstantReplay before creating a pull request.
InstantReplay is designed to be compatible with all Minecraft versions greater than or equal to 1.8. In order to achieve this, there are a few version-specific components in InstantReplay. To properly test these version-specific components, it is ideal to use a testing environment which has many different Minecraft server versions.
I have written some scripts which can help you easily create and manage Minecraft servers of all versions that InstantReplay aims to support - these can be found in my spigot-dev-env repository.
First, ensure you have Spigot (with NMS) installed to your local Maven repository for every version of Minecraft that InstantReplay aims to support. This can be easily achieved by using my spigot-dev-env repository which contains tools to do this for you.
Next, download the latest version of Apache Maven. If you are using an older version of Maven, please update it as there are known issues that occur when building this project using previous Maven versions. This project has been confirmed to successfully build using Apache Maven 3.8.3.
Maven must be ran with Java 16 to be able successfully build all versions that InstantReplay aims to support. If you don't use Maven with Java 16, class file compatibility errors will arise. Please note: when I say 'run Maven with Java 16', that does not mean you should change the language level or JDK version in any pom.xml files, it just means that you need to be using Java 16 when running Maven from the command line. See this answer on stack-overflow for how to achieve this. Running the command mvn -version will tell you the Java version Maven is running with.
Assuming all the above went smoothly, you should be able to run the command mvn clean package in the root directory of the project and see a built jar file for InstantReplay in the target directory.
If you experience any issues configuring your development environment, don't hesitate to open a support request under the issues tab and I'll be happy to help. You should receive a response within 24 hours of opening the support request.