Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Respawning players don't show up in the .replay file. #73

Open
cassidyincandela opened this issue Feb 2, 2024 · 0 comments
Open

Respawning players don't show up in the .replay file. #73

cassidyincandela opened this issue Feb 2, 2024 · 0 comments

Comments

@cassidyincandela
Copy link

cassidyincandela commented Feb 2, 2024

Environment

Minecraft version
1.20.1

Mod version
0.9.0

Blender version
3.6.0

Problem

Seem's like players who died at some point, never returns in the .replay file. I encountered this in a replay from 1.8.9 that is opened and exported to a .replay in 1.20.1. So I thought this is just an error because it's a replay from a significantly older version of Minecraft. But I dug deeper with a single-player world in 1.20.1 where I get to my death in-game. The issue is still there. So, this must be something from the exporter or importer.

My theory is that this is the exporter's side, because the imported keyframes just ends right there at the time of death, so no more information was read afterwards.

Here's a preview of the replay, to show how the death and respawn should look like:

output.mp4

And here's how the imported replay in Blender play out. It may look like it's freezing, but the moment my character's arms stop moving is the moment where I pressed the Respawn button in-game and I should've came back out under that tree as seen in the video above.

0001-0371.mp4

Workaround

The workaround is pretty tricky. It is to export an additional .replay starting from a couple milliseconds after the character respawned. A starting time keyframe is added when the respawned player is fully ready in the scene. This doesn't work if the time keyframe was added at the time before the player respawned, because the previous entity (the "dead body") is still there. When importing, you'll need to only import the entities, single the respawned character out. Disable the Disable in Viewports keyframe action from the timeline (you'll need to select the body mesh while it's visible, go to Timeline window, open the sidebar, expand Summary, and move all the keyframes to start where the character is supposed to respawn in the scene before. In some cases, the "dead body" needs to be hidden, so add a keyframe to disable the object in the viewport and renders.

output2.mp4

Files

Example replay recording file;
2024_02_02_21_42_18_1.zip

Example .replay file:
single player death.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant