Move README.md, LICENSE.md and user docs from master branch to 1.8
This commit is contained in:
71
README.md
Normal file
71
README.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# ReplayMod
|
||||
A Minecraft mod to record game sessions and replay them afterwards from any perspective.
|
||||
|
||||
## Building
|
||||
Make sure your sub-projects are up-to-date: `git submodule update --init --recursive`
|
||||
|
||||
For each branch you visit the first time, running `./gradlew setupDecompWorkspace` is necessary.
|
||||
This will also be necessary if the `replaymod_at.cfg` file has been changed (getting errors about code that is trying
|
||||
to access private fields is a good indication that this has happened).
|
||||
|
||||
### No IDE
|
||||
You can build the mod by running `./gradlew :build`. You can then find the final jar files in `build/libs/`.
|
||||
|
||||
### IntelliJ
|
||||
For the initial setup run `./gradlew preshadowJar idea genIntellijRuns`.
|
||||
You also need to enable the Mixin annotation processor:
|
||||
1. Go to File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors
|
||||
2. Tick "Enable annotation processing"
|
||||
3. Add a new entry to the "Annotation Processor options"
|
||||
4. Set the name to "reobfSrgFile" and the value to "$path/build/mcp-srg.srg" where you replace $path with the full
|
||||
path to the folder containing the gradlew file
|
||||
|
||||
Whenever you switch to another branch, you can either just run `./gradlew preshadowJar idea` or instead run
|
||||
`./gradlew preshadowJar copySrg` and then refresh the gradle project from within IntelliJ.
|
||||
|
||||
### Eclipse
|
||||
|
||||
## Development
|
||||
### Branches
|
||||
New features are developed on the `1.8` branch and merged upwards for release. Larger features are developed on their
|
||||
own branch that is based on `1.8` and then merged back once it's finished.
|
||||
|
||||
Features or bug fixes that apply only to a specific Minecraft version are fixed on the branch corresponding to that
|
||||
version and reverted when merging upwards.
|
||||
|
||||
Both subprojects follow a similar branching model.
|
||||
|
||||
The user documentation (`docs` folder) is only committed to on the current development branch. Any changes committed on
|
||||
a branch for a more recent Minecraft version are not kept up to date on the website and should only be
|
||||
of importance once support for the previous Minecraft version is dropped.
|
||||
|
||||
The `master` branch is solely to be used for the `version.json` file that contains a list of all versions
|
||||
used by the clients to check for updates of this mod.
|
||||
|
||||
### Versioning
|
||||
The ReplayMod uses the versioning scheme outlined [here](http://mcforge.readthedocs.io/en/latest/conventions/versioning/)
|
||||
with three changes:
|
||||
- No `MAJORAPI`, the ReplayMod does not provide any external API
|
||||
- "Updating to a new Minecraft version" should not increment `MAJORMOD`, we maintain one version of the ReplayMod
|
||||
for each version of Minecraft and all these versions share the same feature set (and most bugs). We therefore try to
|
||||
keep the version name the same for all of them (with the exception of `MCVERSION` of course). This also means that the
|
||||
"Multiple Minecraft Version" section does not apply.
|
||||
- For pre-releases the shorter `-bX` is used instead of `-betaX`
|
||||
|
||||
When a new version is (pre-)release, a new annotated tag should be added with the name of the version and the
|
||||
`versions.json` file in the `master` branch should be updated. To simplify this process the gradle task `doRelease` can
|
||||
be used: `./gradlew -PreleaseVersion=1.8-2.0.0-rc1 doRelease`. It will create the tag and update the version.json
|
||||
accordingly.
|
||||
|
||||
Care should be taken that the updated `version.json` is not pushed before a jar file is available on the
|
||||
download page (or Jenkins) as it will inform the users of the update.
|
||||
|
||||
### Bugs
|
||||
Bugs in the mod are tracked via [Bugzilla](https://bugs.replaymod.com/).
|
||||
GitHub should only be used for issues that are generally not likely to affect any end users.
|
||||
|
||||
Bug numbers in commits such as `(fixes #42)` refer to Bugzilla unless noted otherwise.
|
||||
|
||||
## License
|
||||
The ReplayMod is provided under the terms of the GNU General Public License Version 3 or (at your option) any later version.
|
||||
See `LICENSE.md` for the full license text.
|
||||
Reference in New Issue
Block a user