From 5cc50730621941a144a125657953fed25a0c6968 Mon Sep 17 00:00:00 2001 From: Daniel Saukel Date: Fri, 19 Jun 2020 22:13:30 +0200 Subject: [PATCH] Improve and fix DInstancePlayer#clearPlayerState(); resolves #809 --- .../erethon/dungeonsxl/player/DInstancePlayer.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java b/core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java index 2a27e18f..09b069f6 100644 --- a/core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java +++ b/core/src/main/java/de/erethon/dungeonsxl/player/DInstancePlayer.java @@ -24,6 +24,7 @@ import de.erethon.dungeonsxl.api.world.InstanceWorld; import de.erethon.dungeonsxl.config.MainConfig; import de.erethon.dungeonsxl.util.ParsingUtil; import org.bukkit.World; +import org.bukkit.attribute.Attribute; import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; @@ -73,9 +74,16 @@ public abstract class DInstancePlayer extends DGlobalPlayer implements InstanceP player.getInventory().setArmorContents(null); player.setExp(0f); player.setLevel(0); - player.setMaxHealth(20); - player.setHealth(20); + double maxHealth; + if (is1_9) { + maxHealth = player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue(); + } else { + maxHealth = player.getMaxHealth(); + } + player.setHealth(maxHealth); player.setFoodLevel(20); + player.setExp(0f); + player.setLevel(0); for (PotionEffect effect : player.getActivePotionEffects()) { player.removePotionEffect(effect.getType()); }