From 5ff1a63eaacf1caad8b174057008fa339e2e9b2a Mon Sep 17 00:00:00 2001 From: Boy Date: Sun, 10 Mar 2024 12:48:03 +0100 Subject: [PATCH] feat: add WardrobeManager#lastOpenMenu --- build.gradle.kts | 2 +- .../hibiscusmc/hmccosmetics/listener/PlayerGameListener.java | 3 ++- .../java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java | 2 ++ .../hmccosmetics/user/manager/UserWardrobeManager.java | 5 +++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d4ea13ad..021ca54b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "com.hibiscusmc" -version = "2.7.3-MIA" +version = "2.7.3-DEV" allprojects { apply(plugin = "java") diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java index 417d0c30..a068aa76 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/listener/PlayerGameListener.java @@ -645,7 +645,8 @@ public class PlayerGameListener implements Listener { } if (!user.isInWardrobe()) return; if (!user.getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return; - Menu menu = Menus.getDefaultMenu(); + + Menu menu = user.getWardrobeManager().getLastOpenMenu(); if (menu == null) return; menu.openMenu(user); event.setCancelled(true); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java index d59587b9..b4e691fb 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java @@ -13,6 +13,7 @@ import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticMainhandType; +import com.hibiscusmc.hmccosmetics.gui.Menus; import com.hibiscusmc.hmccosmetics.user.manager.UserBackpackManager; import com.hibiscusmc.hmccosmetics.user.manager.UserBalloonManager; import com.hibiscusmc.hmccosmetics.user.manager.UserEmoteManager; @@ -362,6 +363,7 @@ public class CosmeticUser { if (!getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return; getWardrobeManager().setWardrobeStatus(UserWardrobeManager.WardrobeStatus.STOPPING); + getWardrobeManager().setLastOpenMenu(Menus.getDefaultMenu()); if (WardrobeSettings.isEnabledTransition() && !ejected) { MessagesUtil.sendTitle( diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java index 4b0cedcc..b536eea4 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java @@ -14,6 +14,7 @@ import com.hibiscusmc.hmccosmetics.util.MessagesUtil; import com.hibiscusmc.hmccosmetics.util.HMCCServerUtils; import com.hibiscusmc.hmccosmetics.util.packets.HMCCPacketManager; import lombok.Getter; +import lombok.Setter; import me.lojosho.hibiscuscommons.nms.NMSHandlers; import me.lojosho.hibiscuscommons.util.packets.PacketManager; import net.kyori.adventure.audience.Audience; @@ -64,6 +65,9 @@ public class UserWardrobeManager { private boolean active; @Getter private WardrobeStatus wardrobeStatus; + @Getter + @Setter + private Menu lastOpenMenu; public UserWardrobeManager(CosmeticUser user, Wardrobe wardrobe) { NPC_ID = me.lojosho.hibiscuscommons.util.ServerUtils.getNextEntityId(); @@ -79,6 +83,7 @@ public class UserWardrobeManager { this.npcLocation = wardrobeLocation.getNpcLocation(); wardrobeStatus = WardrobeStatus.SETUP; + this.lastOpenMenu = Menus.getDefaultMenu(); } public void start() {