mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-30 20:39:13 +00:00
move wardrobe to a manager
This commit is contained in:
@@ -13,6 +13,7 @@ import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticMainhandType;
|
||||
import com.hibiscusmc.hmccosmetics.user.manager.UserBackpackManager;
|
||||
import com.hibiscusmc.hmccosmetics.user.manager.UserBalloonManager;
|
||||
import com.hibiscusmc.hmccosmetics.nms.NMSHandlers;
|
||||
import com.hibiscusmc.hmccosmetics.user.manager.UserWardrobeManager;
|
||||
import com.hibiscusmc.hmccosmetics.util.InventoryUtils;
|
||||
import com.hibiscusmc.hmccosmetics.util.MessagesUtil;
|
||||
import com.hibiscusmc.hmccosmetics.util.PlayerUtils;
|
||||
@@ -21,8 +22,6 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.*;
|
||||
@@ -36,7 +35,7 @@ public class CosmeticUser {
|
||||
private UUID uniqueId;
|
||||
private int taskId;
|
||||
private HashMap<CosmeticSlot, Cosmetic> playerCosmetics = new HashMap<>();
|
||||
private Wardrobe wardrobe;
|
||||
private UserWardrobeManager userWardrobeManager;
|
||||
private UserBalloonManager userBalloonManager;
|
||||
private UserBackpackManager userBackpackManager;
|
||||
|
||||
@@ -233,14 +232,14 @@ public class CosmeticUser {
|
||||
return;
|
||||
}
|
||||
|
||||
if (wardrobe == null) {
|
||||
wardrobe = new Wardrobe(this, exitLocation, viewingLocation, npcLocation);
|
||||
wardrobe.start();
|
||||
if (userWardrobeManager == null) {
|
||||
userWardrobeManager = new UserWardrobeManager(this, exitLocation, viewingLocation, npcLocation);
|
||||
userWardrobeManager.start();
|
||||
}
|
||||
}
|
||||
|
||||
public Wardrobe getWardrobe() {
|
||||
return wardrobe;
|
||||
public UserWardrobeManager getWardrobe() {
|
||||
return userWardrobeManager;
|
||||
}
|
||||
|
||||
public void leaveWardrobe() {
|
||||
@@ -249,9 +248,9 @@ public class CosmeticUser {
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
if (!getWardrobe().getWardrobeStatus().equals(Wardrobe.WardrobeStatus.RUNNING)) return;
|
||||
if (!getWardrobe().getWardrobeStatus().equals(UserWardrobeManager.WardrobeStatus.RUNNING)) return;
|
||||
|
||||
getWardrobe().setWardrobeStatus(Wardrobe.WardrobeStatus.STOPPING);
|
||||
getWardrobe().setWardrobeStatus(UserWardrobeManager.WardrobeStatus.STOPPING);
|
||||
|
||||
if (WardrobeSettings.isEnabledTransition()) {
|
||||
MessagesUtil.sendTitle(
|
||||
@@ -262,14 +261,14 @@ public class CosmeticUser {
|
||||
WardrobeSettings.getTransitionFadeOut()
|
||||
);
|
||||
Bukkit.getScheduler().runTaskLater(HMCCosmeticsPlugin.getInstance(), () -> {
|
||||
wardrobe.end();
|
||||
wardrobe = null;
|
||||
userWardrobeManager.end();
|
||||
userWardrobeManager = null;
|
||||
}, WardrobeSettings.getTransitionDelay());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isInWardrobe() {
|
||||
if (wardrobe == null) return false;
|
||||
if (userWardrobeManager == null) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.hibiscusmc.hmccosmetics.user;
|
||||
package com.hibiscusmc.hmccosmetics.user.manager;
|
||||
|
||||
import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin;
|
||||
import com.hibiscusmc.hmccosmetics.config.Settings;
|
||||
import com.hibiscusmc.hmccosmetics.config.WardrobeSettings;
|
||||
import com.hibiscusmc.hmccosmetics.cosmetic.CosmeticSlot;
|
||||
import com.hibiscusmc.hmccosmetics.nms.NMSHandlers;
|
||||
import com.hibiscusmc.hmccosmetics.user.CosmeticUser;
|
||||
import com.hibiscusmc.hmccosmetics.util.MessagesUtil;
|
||||
import com.hibiscusmc.hmccosmetics.util.ServerUtils;
|
||||
import com.hibiscusmc.hmccosmetics.util.packets.PacketManager;
|
||||
@@ -26,7 +27,7 @@ import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
public class Wardrobe {
|
||||
public class UserWardrobeManager {
|
||||
|
||||
private int NPC_ID;
|
||||
private String npcName;
|
||||
@@ -41,7 +42,7 @@ public class Wardrobe {
|
||||
private boolean active;
|
||||
private WardrobeStatus wardrobeStatus;
|
||||
|
||||
public Wardrobe(CosmeticUser user) {
|
||||
public UserWardrobeManager(CosmeticUser user) {
|
||||
NPC_ID = NMSHandlers.getHandler().getNextEntityId();
|
||||
ARMORSTAND_ID = NMSHandlers.getHandler().getNextEntityId();
|
||||
WARDROBE_UUID = UUID.randomUUID();
|
||||
@@ -54,7 +55,7 @@ public class Wardrobe {
|
||||
wardrobeStatus = WardrobeStatus.SETUP;
|
||||
}
|
||||
|
||||
public Wardrobe(CosmeticUser user, Location exitLocation, Location viewingLocation, Location npcLocation) {
|
||||
public UserWardrobeManager(CosmeticUser user, Location exitLocation, Location viewingLocation, Location npcLocation) {
|
||||
NPC_ID = NMSHandlers.getHandler().getNextEntityId();
|
||||
ARMORSTAND_ID = NMSHandlers.getHandler().getNextEntityId();
|
||||
WARDROBE_UUID = UUID.randomUUID();
|
||||
Reference in New Issue
Block a user