Replay Mod (Fabric & Forge)

Replay Mod (Fabric & Forge)

787k Downloads

How do I build 1.7.10

wohaopa opened this issue ยท 12 comments

commented

First of all thanks for making such a good mod. Maintaining multiple versions is extremely difficult.
I need to recompile mc1.7.10 to fix mod conflicts. After reviewing the data, I reverted the branch to version 2.5.2 and used gradlew :jGui:1.7.10:setupDecompWorkspace :1.7.10:setupDecompWorkspace to get the following results
image
I just need to build it on my computer, I don't want you to keep maintaining mc1.7.10

commented

Looks like the MCP website is down again (might also be down permanently, I recall something about it shutting down some time ago?):

Etag download for http://export.mcpbot.bspk.rs/versions.json failed with code 502

Try updating the ForgeGradle 2.1 version in RM and jGui to the most recent one in the 2.1 branch of our ForgeGradle fork so you get ReplayMod/ForgeGradle@ceb83c0.
Might also have to backport that (should be enough to just replace the url, don't need to implement all the fallback logic) to the 1.2 branch of our ForgeGradle depending on whether it also need it.

commented

FabricMC/fabric-loom@b4cd38a#commitcomment-52279257

If you are using 0.7 or bellow there is an issue where eclipse updated some deps without us doing anything this is the 2nd part of the fix for that. I have already put a mercury build with a patched pom on the maven that will help. To use this make sure that fabric's maven is first in your settings.gradle file.

If reordering the maven repo doesn't help (currently it's last, not first), then you could also try pinning the respective versions manually or upgrading to loom 0.6 which from the looks of it has received a backport of the fix (RM 2.5.2 is currently on 0.5).

commented

FabricMC/fabric-loom@b4cd38a#commitcomment-52279257

If you are using 0.7 or bellow there is an issue where eclipse updated some deps without us doing anything this is the 2nd part of the fix for that. I have already put a mercury build with a patched pom on the maven that will help. To use this make sure that fabric's maven is first in your settings.gradle file.

If reordering the maven repo doesn't help (currently it's last, not first), then you could also try pinning the respective versions manually or upgrading to loom 0.6 which from the looks of it has received a backport of the fix (RM 2.5.2 is currently on 0.5).

And I did, but....
image

commented

Run with --stacktrace option to get the stack trace.

commented

I replaced the invalid mcp and replaced the other invalid urls. But forgeGradle 1.7.10 still has issues. Is there any way I can get the source code for RM1.7.10? I wanted to try it out with other unofficial ForgeGradle. Thank you very much!

commented

https://paste.ubuntu.com/p/m5bVtskyQy/
This file will be deleted automatically even if I put it there manually.

commented

I replaced the invalid mcp and replaced the other invalid urls.
[...]
File 'D:\JavaProject.gradle\caches\minecraft\fernflower-fixed.jar' specified for property 'fernFlower' does not exist.

Does it include ReplayMod/ForgeGradle@10afffc? If it does, maybe try manually downloading and placing the file at the location it expects.

Is there any way I can get the source code for RM1.7.10?

The source code is automatically derived from the 1.16 code (with multiple steps in between), so you need to get those building and 1.7.10 working at least far enough for the code-remapping tool to be able to know which names changed between 1.8 and 1.7.10.
That should only require the mappings for 1.7.10, not a fully decompiled/patched minecraft jar, so you might already be at that point. If ./gradlew :jGui:1.7.10:preprocessJava :1.7.10:preprocessJava works, then you should be able to find the 1.7.10 code in versions/1.7.10/build/preprocessed (and same thing within jGui) iirc. You'll probably also want to run the same thing with preprocessResources instead of preprocessJava to also get the resources (mainly the mixin json) in the same folder.
Whether it'll be easier to get all of RM's dependencies set up with the other fork rather than fixing the issues in the RM fork I cannot tell.

commented

Thank you for your help. I managed to resolve the conflict part. And smoothly into the game. But I crashed when I went from Replay center to replay, and according to the crash log I couldn't see the crux of the problem. But I guess Gson's version is wrong. https://paste.ubuntu.com/p/pNd72v3C6p/ However, Gson in the game is also 2.2.4, which is consistent with ReplayMod

commented

I think I understand what's going wrong. Probably caused by a bad packet sent by a mod.

commented

I found the broken code snippet, but I don't understand why it's broken. Can you give me some hints? I don't understand what it does, but it executes this line of code at the wrong time. What was it used for before? can i remove it?

//$$ mc.currentScreen.handleInput();

commented

No, that line cannot be removed. Prior to 1.8 incoming packets aren't processed by the main Minecraft class until you're in a world, prior to that, it's the job of the GuiConnect screen or in the case of a replay the GuiOpeningReplay screen to poll the NetworkManager to make progress.
I've got no clue about the error itself.

But I guess Gson's version is wrong. [...] However, Gson in the game is also 2.2.4, which is consistent with ReplayMod

The builtin gson being too old for ViaVersion is expected on (iirc) 1.8.9 and below. With later RM versions I believe I've started bundling a relocated newer version of gson but on older ones you'll still run into this error on 1.8.9 as well.
Should be harmless though unless you need to use ViaVersion (which you don't because it's only used to convert replays from older MC versions and there are no MC versions older than 1.8 which it supports).