9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-29 03:49:19 +00:00

Wardrobe internal improvements

This commit is contained in:
LoJoSho
2023-01-16 19:51:32 -06:00
parent 044528188d
commit f546500f1e
2 changed files with 39 additions and 15 deletions

View File

@@ -246,9 +246,25 @@ public class CosmeticUser {
if (event.isCancelled()) {
return;
}
if (!getWardrobe().getWardrobeStatus().equals(Wardrobe.WardrobeStatus.RUNNING)) return;
wardrobe.end();
wardrobe = null;
getWardrobe().setWardrobeStatus(Wardrobe.WardrobeStatus.STOPPING);
if (WardrobeSettings.isEnabledTransition()) {
MessagesUtil.sendTitle(
getPlayer(),
WardrobeSettings.getTransitionText(),
WardrobeSettings.getTransitionFadeIn(),
WardrobeSettings.getTransitionStay(),
WardrobeSettings.getTransitionFadeOut()
);
Bukkit.getScheduler().runTaskLater(HMCCosmeticsPlugin.getInstance(), () -> {
wardrobe.end();
wardrobe = null;
}, WardrobeSettings.getTransitionDelay());
} else {
}
}
public boolean isInWardrobe() {

View File

@@ -39,15 +39,18 @@ public class Wardrobe {
private Location exitLocation;
private BossBar bossBar;
private boolean active;
private WardrobeStatus wardrobeStatus;
public Wardrobe(CosmeticUser user) {
NPC_ID = NMSHandlers.getHandler().getNextEntityId();
ARMORSTAND_ID = NMSHandlers.getHandler().getNextEntityId();
WARDROBE_UUID = UUID.randomUUID();
VIEWER = user;
wardrobeStatus = WardrobeStatus.SETUP;
}
public void start() {
setWardrobeStatus(WardrobeStatus.STARTING);
Player player = VIEWER.getPlayer();
this.originalGamemode = player.getGameMode();
@@ -121,6 +124,7 @@ public class Wardrobe {
this.active = true;
update();
setWardrobeStatus(WardrobeStatus.RUNNING);
};
@@ -140,6 +144,7 @@ public class Wardrobe {
}
public void end() {
setWardrobeStatus(WardrobeStatus.STOPPING);
Player player = VIEWER.getPlayer();
List<Player> viewer = List.of(player);
@@ -195,19 +200,7 @@ public class Wardrobe {
VIEWER.updateCosmetic();
};
if (WardrobeSettings.isEnabledTransition()) {
MessagesUtil.sendTitle(
VIEWER.getPlayer(),
WardrobeSettings.getTransitionText(),
WardrobeSettings.getTransitionFadeIn(),
WardrobeSettings.getTransitionStay(),
WardrobeSettings.getTransitionFadeOut()
);
Bukkit.getScheduler().runTaskLater(HMCCosmeticsPlugin.getInstance(), run, WardrobeSettings.getTransitionDelay());
} else {
run.run();
}
run.run();
}
public void update() {
@@ -278,4 +271,19 @@ public class Wardrobe {
public int getArmorstandId() {
return ARMORSTAND_ID;
}
public WardrobeStatus getWardrobeStatus() {
return wardrobeStatus;
}
public void setWardrobeStatus(WardrobeStatus status) {
this.wardrobeStatus = status;
}
public enum WardrobeStatus {
SETUP,
STARTING,
RUNNING,
STOPPING,
}
}