From 862b7c9ee6d6b087877f87384474b8f090ddbd47 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Sun, 26 May 2024 15:31:19 -0500 Subject: [PATCH] fix: Backpacks not appearing after respawning in a different world --- .../hmccosmetics/listener/PaperPlayerGameListener.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PaperPlayerGameListener.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PaperPlayerGameListener.java index 62506a54..2b629157 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PaperPlayerGameListener.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PaperPlayerGameListener.java @@ -1,6 +1,7 @@ package com.hibiscusmc.hmccosmetics.listener; import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent; +import com.destroystokyo.paper.event.player.PlayerPostRespawnEvent; import com.hibiscusmc.hmccosmetics.cosmetic.CosmeticSlot; import com.hibiscusmc.hmccosmetics.user.CosmeticUser; import com.hibiscusmc.hmccosmetics.user.CosmeticUsers; @@ -17,6 +18,14 @@ public class PaperPlayerGameListener implements Listener { user.updateCosmetic(slotTypeToCosmeticType(event.getSlotType())); } + @EventHandler + public void onPlayerRespawn(PlayerPostRespawnEvent event) { + CosmeticUser user = CosmeticUsers.getUser(event.getPlayer()); + if (user == null) return; + if (user.isInWardrobe()) return; + if (user.hasCosmeticInSlot(CosmeticSlot.BACKPACK)) user.respawnBackpack(); + } + private CosmeticSlot slotTypeToCosmeticType(PlayerArmorChangeEvent.SlotType slotType) { return switch (slotType) { case HEAD -> CosmeticSlot.HELMET;