The Aether

The Aether

35M Downloads

Bug: PlayerRevive incompatibility, Player can bypass death

CreativeMD opened this issue ยท 2 comments

commented

What Feature Types Apply to This Bug?

Entity

Other Type

No response

What Type of Bug Is This?

Compatibility

Forge Version

47.2.20

The Aether Version

1.2.0

Is This Bug a Conflict With Another Mod?

PlayerRevive

Client Log

No response

Crash Report (if applicable)

No response

Steps to Reproduce

  • Open a world in singleplayer
  • Open the world to LAN
  • type in /kill
  • Exit to main menu
  • Log back in

What You Expect To Happen

Deathscreen and being forced to hit respawn (then obviously return to spawn location)

What Actually Happened

Sometimes no death screen. Player drops items, but stays in same location.

Additional Details

No response

Please Read and Confirm The Following

  • I have confirmed this bug can be replicated without the use of Optifine.
  • I have confirmed this bug is on the most recently supported version of Minecraft.
  • I have confirmed the details provided in this report are concise as possible and does not contained vague information (ie. Versions are properly recorded, answers to questions are clear).
  • I have confirmed this issue is unique and has not been reported already.
  • If playing on a modpack, I have reported this issue to their issue tracker already.
commented

This issue has been reported here: CreativeMD/PlayerRevive#142
When a player disconnects while bleeding/ being knocked out the player will be killed immediately. Code for it can be found here: https://github.com/CreativeMD/PlayerRevive/blob/1.20/src/main/java/team/creative/playerrevive/server/ReviveEventServer.java#L73

Somehow the aether mod changes this behavior. I have looked through the code a little bit, maybe this is caused by this?

private void handleLogoutSavedHealth() {
AttributeInstance health = this.getPlayer().getAttribute(Attributes.MAX_HEALTH);
if (health != null && health.hasModifier(this.getLifeShardHealthAttributeModifier())) {
this.setSavedHealth(this.getPlayer().getHealth());
}
}

In Regards
CreativeMD

commented

Solution offered at CreativeMD/PlayerRevive#142 (comment), if that doesn't work then I can reopen this issue and fix it on our end.