diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/config/WardrobeSettings.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/config/WardrobeSettings.java index b6104927..7381325f 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/config/WardrobeSettings.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/config/WardrobeSettings.java @@ -39,6 +39,9 @@ public class WardrobeSettings { private static final String TRANSITION_ENABLE_PATH = "enabled"; private static final String TRANSITION_DELAY_PATH = "delay"; private static final String TRANSITION_TEXT_PATH = "text"; + private static final String TRANSITION_FADE_IN_PATH = "title-fade-in"; + private static final String TRANSITION_STAY_PATH = "title-stay"; + private static final String TRANSITION_FADE_OUT_PATH = "title-fade-out"; private static ConfigurationNode configRoot; private static boolean disableOnDamage; @@ -63,6 +66,9 @@ public class WardrobeSettings { private static boolean enabledTransition; private static String transitionText; private static int transitionDelay; + private static int transitionFadeIn; + private static int transitionStay; + private static int transitionFadeOut; public static void load(ConfigurationNode source) { configRoot = source; @@ -99,6 +105,9 @@ public class WardrobeSettings { enabledTransition = transitionNode.node(TRANSITION_ENABLE_PATH).getBoolean(false); transitionText = transitionNode.node(TRANSITION_TEXT_PATH).getString(""); transitionDelay = transitionNode.node(TRANSITION_DELAY_PATH).getInt(1); + transitionFadeIn = transitionNode.node(TRANSITION_FADE_IN_PATH).getInt(2000); + transitionStay = transitionNode.node(TRANSITION_STAY_PATH).getInt(2000); + transitionFadeOut = transitionNode.node(TRANSITION_FADE_OUT_PATH).getInt(2000); try { wardrobeLocation = LocationSerializer.INSTANCE.deserialize(Location.class, source.node(STATIC_LOCATION_PATH)); @@ -208,6 +217,15 @@ public class WardrobeSettings { public static int getTransitionDelay() { return transitionDelay; } + public static int getTransitionFadeIn() { + return transitionFadeIn; + } + public static int getTransitionStay() { + return transitionStay; + } + public static int getTransitionFadeOut() { + return transitionFadeOut; + } public static void setWardrobeLocation(Location newLocation) { wardrobeLocation = newLocation; diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/Wardrobe.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/Wardrobe.java index 187c229e..95daccd7 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/Wardrobe.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/Wardrobe.java @@ -124,7 +124,13 @@ public class Wardrobe { if (WardrobeSettings.isEnabledTransition()) { - MessagesUtil.sendTitle(VIEWER.getPlayer(), WardrobeSettings.getTransitionText()); + MessagesUtil.sendTitle( + VIEWER.getPlayer(), + WardrobeSettings.getTransitionText(), + WardrobeSettings.getTransitionFadeIn(), + WardrobeSettings.getTransitionStay(), + WardrobeSettings.getTransitionFadeOut() + ); Bukkit.getScheduler().runTaskLater(HMCCosmeticsPlugin.getInstance(), run, 40); } else { run.run(); @@ -136,9 +142,6 @@ public class Wardrobe { this.active = false; Player player = VIEWER.getPlayer(); - MessagesUtil.sendDebugMessages("end"); - MessagesUtil.sendDebugMessages("NPC ID " + NPC_ID); - MessagesUtil.sendDebugMessages("armorstand id " + ARMORSTAND_ID); List viewer = List.of(player); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java index b0c96d72..e230433c 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java @@ -67,9 +67,13 @@ public class MessagesUtil { } public static void sendTitle(Player player, String message) { + sendTitle(player, message, 2000, 2000, 2000); + } + + public static void sendTitle(Player player, String message, int fadein, int stay, int fadeout) { Audience target = BukkitAudiences.create(HMCCosmeticsPlugin.getInstance()).player(player); - Title.Times times = Title.Times.times(Duration.ofMillis(3000), Duration.ofMillis(3000), Duration.ofMillis(1000)); + Title.Times times = Title.Times.times(Duration.ofMillis(WardrobeSettings.getTransitionFadeIn()), Duration.ofMillis(3000), Duration.ofMillis(1000)); Title title = Title.title(processStringNoKey(player, message), Component.empty(), times); target.showTitle(title); diff --git a/common/src/main/resources/config.yml b/common/src/main/resources/config.yml index e47377af..b8fe5fef 100644 --- a/common/src/main/resources/config.yml +++ b/common/src/main/resources/config.yml @@ -49,12 +49,15 @@ wardrobe: bossbar: enabled: false text: "Left-Click to open the menu!" - progress: 100 + progress: 1.0 # Goes between 0.0 -> 1.0 overlay: PROGRESS transition: enabled: true text: "" delay: 40 + title-fade-in: 2000 # milliseconds + title-stay: 2000 # milliseconds + title-fade-out: 2000 # milliseconds wardrobe-location: world: "World" x: 0