9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-21 16:09:27 +00:00

feat: add WardrobeManager#lastOpenMenu

This commit is contained in:
Boy
2024-03-10 12:48:03 +01:00
parent 5a963391f8
commit 5ff1a63eaa
4 changed files with 10 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ plugins {
} }
group = "com.hibiscusmc" group = "com.hibiscusmc"
version = "2.7.3-MIA" version = "2.7.3-DEV"
allprojects { allprojects {
apply(plugin = "java") apply(plugin = "java")

View File

@@ -645,7 +645,8 @@ public class PlayerGameListener implements Listener {
} }
if (!user.isInWardrobe()) return; if (!user.isInWardrobe()) return;
if (!user.getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return; if (!user.getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return;
Menu menu = Menus.getDefaultMenu();
Menu menu = user.getWardrobeManager().getLastOpenMenu();
if (menu == null) return; if (menu == null) return;
menu.openMenu(user); menu.openMenu(user);
event.setCancelled(true); event.setCancelled(true);

View File

@@ -13,6 +13,7 @@ import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticArmorType;
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType;
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType;
import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticMainhandType; 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.UserBackpackManager;
import com.hibiscusmc.hmccosmetics.user.manager.UserBalloonManager; import com.hibiscusmc.hmccosmetics.user.manager.UserBalloonManager;
import com.hibiscusmc.hmccosmetics.user.manager.UserEmoteManager; import com.hibiscusmc.hmccosmetics.user.manager.UserEmoteManager;
@@ -362,6 +363,7 @@ public class CosmeticUser {
if (!getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return; if (!getWardrobeManager().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return;
getWardrobeManager().setWardrobeStatus(UserWardrobeManager.WardrobeStatus.STOPPING); getWardrobeManager().setWardrobeStatus(UserWardrobeManager.WardrobeStatus.STOPPING);
getWardrobeManager().setLastOpenMenu(Menus.getDefaultMenu());
if (WardrobeSettings.isEnabledTransition() && !ejected) { if (WardrobeSettings.isEnabledTransition() && !ejected) {
MessagesUtil.sendTitle( MessagesUtil.sendTitle(

View File

@@ -14,6 +14,7 @@ import com.hibiscusmc.hmccosmetics.util.MessagesUtil;
import com.hibiscusmc.hmccosmetics.util.HMCCServerUtils; import com.hibiscusmc.hmccosmetics.util.HMCCServerUtils;
import com.hibiscusmc.hmccosmetics.util.packets.HMCCPacketManager; import com.hibiscusmc.hmccosmetics.util.packets.HMCCPacketManager;
import lombok.Getter; import lombok.Getter;
import lombok.Setter;
import me.lojosho.hibiscuscommons.nms.NMSHandlers; import me.lojosho.hibiscuscommons.nms.NMSHandlers;
import me.lojosho.hibiscuscommons.util.packets.PacketManager; import me.lojosho.hibiscuscommons.util.packets.PacketManager;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
@@ -64,6 +65,9 @@ public class UserWardrobeManager {
private boolean active; private boolean active;
@Getter @Getter
private WardrobeStatus wardrobeStatus; private WardrobeStatus wardrobeStatus;
@Getter
@Setter
private Menu lastOpenMenu;
public UserWardrobeManager(CosmeticUser user, Wardrobe wardrobe) { public UserWardrobeManager(CosmeticUser user, Wardrobe wardrobe) {
NPC_ID = me.lojosho.hibiscuscommons.util.ServerUtils.getNextEntityId(); NPC_ID = me.lojosho.hibiscuscommons.util.ServerUtils.getNextEntityId();
@@ -79,6 +83,7 @@ public class UserWardrobeManager {
this.npcLocation = wardrobeLocation.getNpcLocation(); this.npcLocation = wardrobeLocation.getNpcLocation();
wardrobeStatus = WardrobeStatus.SETUP; wardrobeStatus = WardrobeStatus.SETUP;
this.lastOpenMenu = Menus.getDefaultMenu();
} }
public void start() { public void start() {