From 8f01395a6df23f7ec64080c28684936964a5d921 Mon Sep 17 00:00:00 2001 From: jebibot <83044352+jebibot@users.noreply.github.com> Date: Wed, 26 Jul 2023 23:53:57 +0900 Subject: [PATCH] Fix level not restored when keepLevel on PlayerDeathEvent (#1045) Co-authored-by: IzzelAliz --- .../common/mixin/core/server/management/PlayerListMixin.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/management/PlayerListMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/management/PlayerListMixin.java index 1ef6962e8..461befe2e 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/management/PlayerListMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/management/PlayerListMixin.java @@ -463,6 +463,10 @@ public ServerPlayer respawn(ServerPlayer playerIn, boolean conqueredEnd) { playerIn.getRespawnAngle(), playerIn.isRespawnForced(), false); if (!conqueredEnd) { // keep inventory here since inventory dropped at ServerPlayerEntity#onDeath serverplayerentity.getInventory().replaceWith(playerIn.getInventory()); + serverplayerentity.experienceLevel = playerIn.experienceLevel; + serverplayerentity.totalExperience = playerIn.totalExperience; + serverplayerentity.experienceProgress = playerIn.experienceProgress; + serverplayerentity.setScore(playerIn.getScore()); } serverplayerentity.setId(playerIn.getId()); serverplayerentity.setMainArm(playerIn.getMainArm());