Jonas Herzig 5257a412a5 Merge branch 1.10.2 into 1.11
689f897 Merge branch 1.9.4 into 1.10.2
0aed9c3 Merge branch 1.8.9 into 1.9.4
f36ebf1 Merge branch 1.8 into 1.8.9
08170b3 Downgrade FG to 2.1 because FG 2.2 is 1.9+ only
41d2547 Update translations
00e999f Fix replay not being closed when opened via URI scheme handler (fixes #92)
767ea29 Fix book gui not being suppressed during replay (fixes #90)
5b04edb Hide ReplayMod app entry from menus on Linux
6aff99d Fix livelock during netty write to embedded channel (fixes #85)
703805f Fix infinite loop in mc.scheduledTasks (fixes #86)
7a4440c Update ReplayStudio
0b9c56c Fix resource packs not working after first time jumping back in time
933ee5f [Compat] Fix camera entity with BetterSprinting prior to 2.0.0 (fixes #78)
83b1090 Fix hotbar being visible while spectating player (fixes #83)
5c73117 [Compat] Fix invisible entities with Orange's 1.7 Animations (fixes #78)
4704b29 Replace the RenderPlayer hook (used subclassing) with a mixin (fixes #79)
0c226b0 Fix path at end of replay resulting in constant reloading (fixes #56)
1b9b13e Rename render success sound to all lowercase (required for 1.11) (fixes #66)
c2000b3 Fix only front-facing chunks visible for ODS rendering (fixes #67)
aafeecc Fix initial login gui not closing on success (fixes #68)
9292add Use percent-encoding for replay file names (fixes #71)
8499c0f Fix name of invis armor stand with CustomNameVisible not rendering (fixes #72)
b9ea572 Try to handle invalid ffmpeg arguments more gracefully (fixes #77)
a2f8c88 Fix compression packets being recorded (fixes #80)
19629c3 Replace usages of System.out with logger
fe1d9b8 Stop Forge from allowing the mod to load on other MC versions (fixes #82)
7c719e0 Update ReplayStudio/MCProtocolLib (Fixes missing ARMOR_STAND MobType)
1a1e96c Fix server with RM installed refusing clients without RM (fixes #76)
35eb9ca Replace usage of FMLLog with the mod logger
2017-08-26 14:28:30 +02:00
2016-03-02 11:40:46 +01:00
2017-05-31 20:49:04 +02:00
2017-08-26 14:28:30 +02:00
2015-04-26 18:11:53 +02:00
2017-08-26 14:28:30 +02:00
2015-01-03 23:25:21 +01:00

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 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. 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.

Description
No description provided
Readme 77 MiB
Languages
Java 99.5%
GLSL 0.4%