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

Add hidden reason to internal code

This commit is contained in:
LoJoSho
2023-01-20 17:03:44 -06:00
parent d9b92d5336
commit 1db96c38d9
4 changed files with 24 additions and 6 deletions

View File

@@ -8,10 +8,12 @@ import org.bukkit.event.HandlerList;
public class PlayerCosmeticHideEvent extends Event implements Cancellable {
private CosmeticUser user;
private CosmeticUser.HiddenReason reason;
private boolean isCancelled;
public PlayerCosmeticHideEvent(CosmeticUser user) {
public PlayerCosmeticHideEvent(CosmeticUser user, CosmeticUser.HiddenReason reason) {
this.user = user;
this.reason = reason;
this.isCancelled = false;
}
@@ -39,4 +41,7 @@ public class PlayerCosmeticHideEvent extends Event implements Cancellable {
public CosmeticUser getUser() {
return user;
}
public CosmeticUser.HiddenReason getReason() {
return reason;
}
}

View File

@@ -326,9 +326,8 @@ public class CosmeticCommand implements CommandExecutor {
}
CosmeticUser user = CosmeticUsers.getUser(player);
MessagesUtil.sendMessage(sender, "hide-cosmetic");
user.hideCosmetics();
user.hideCosmetics(CosmeticUser.HiddenReason.PLUGIN);
return true;
}
case ("show") -> {

View File

@@ -30,7 +30,7 @@ public class WGListener implements Listener {
}
for (ProtectedRegion protectedRegion : set.getRegions()) {
if (protectedRegion.getFlags().containsKey(WGHook.getCosmeticEnableFlag())) {
user.hideCosmetics();
user.hideCosmetics(CosmeticUser.HiddenReason.WORLDGUARD);
return;
}
if (protectedRegion.getFlags().containsKey(WGHook.getCosmeticWardrobeFlag())) {

View File

@@ -42,6 +42,7 @@ public class CosmeticUser {
// Cosmetic Settings/Toggles
private boolean hideBackpack;
private boolean hideCosmetics;
private HiddenReason hiddenReason;
private HashMap<CosmeticSlot, Color> colors = new HashMap<>();
public CosmeticUser() {
@@ -400,15 +401,16 @@ public class CosmeticUser {
}
}
public void hideCosmetics() {
public void hideCosmetics(HiddenReason reason) {
if (hideCosmetics == true) return;
PlayerCosmeticHideEvent event = new PlayerCosmeticHideEvent(this);
PlayerCosmeticHideEvent event = new PlayerCosmeticHideEvent(this, reason);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
hideCosmetics = true;
hiddenReason = reason;
if (hasCosmeticInSlot(CosmeticSlot.BALLOON)) {
getBalloonEntity().removePlayerFromModel(getPlayer());
List<Player> viewer = PlayerUtils.getNearbyPlayers(getPlayer());
@@ -429,7 +431,9 @@ public class CosmeticUser {
if (event.isCancelled()) {
return;
}
hideCosmetics = false;
hiddenReason = HiddenReason.NONE;
if (hasCosmeticInSlot(CosmeticSlot.BALLOON)) {
CosmeticBalloonType balloonType = (CosmeticBalloonType) getCosmetic(CosmeticSlot.BALLOON);
getBalloonEntity().addPlayerToModel(getPlayer(), balloonType);
@@ -448,4 +452,14 @@ public class CosmeticUser {
public boolean getHidden() {
return this.hideCosmetics;
}
public HiddenReason getHiddenReason() {
return hiddenReason;
}
public enum HiddenReason {
NONE,
WORLDGUARD,
PLUGIN
}
}