9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-30 20:39:13 +00:00

Better title handling

This commit is contained in:
LoJoSho
2023-01-08 11:24:46 -06:00
parent 1b802861e3
commit bc74c45b40
4 changed files with 34 additions and 6 deletions

View File

@@ -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;

View File

@@ -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<Player> viewer = List.of(player);

View File

@@ -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);