Skip to content

Commit

Permalink
Reset the air of respawning players
Browse files Browse the repository at this point in the history
  • Loading branch information
haykam821 committed Jul 8, 2024
1 parent 09f4b3b commit 2be961d
Showing 1 changed file with 12 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.minecraft.entity.EntityType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
Expand Down Expand Up @@ -116,16 +117,20 @@ public ActionResult attemptRespawn() {
}

// Reset state
entry.getPlayer().setHealth(entry.getPlayer().getMaxHealth());
entry.getPlayer().getHungerManager().setFoodLevel(20);
entry.getPlayer().extinguish();
entry.getPlayer().getDamageTracker().update();
entry.getPlayer().fallDistance = 0;
ServerPlayerEntity player = this.entry.getPlayer();

player.setHealth(player.getMaxHealth());
player.getHungerManager().setFoodLevel(20);
player.setAir(player.getMaxAir());

player.extinguish();
player.getDamageTracker().update();
player.fallDistance = 0;

// Teleport and spawn
Vec3d spawn = this.getRespawnAroundPos(respawnPos);
entry.getPlayer().teleport(world, spawn.getX(), spawn.getY(), spawn.getZ(), 0, 0);;
entry.getKit().reinitialize();
player.teleport(world, spawn.getX(), spawn.getY(), spawn.getZ(), 0, 0);
this.entry.getKit().reinitialize();

return ActionResult.SUCCESS;
}
Expand Down

0 comments on commit 2be961d

Please sign in to comment.