LiteFlags/src/main/java/com/liteflags/util/Utilities.java

71 lines
3.2 KiB
Java
Raw Normal View History

2021-04-04 15:48:59 +00:00
package com.liteflags.util;
import java.util.concurrent.TimeUnit;
2021-04-04 15:48:59 +00:00
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.chat.HoverEvent.Action;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class Utilities {
public static String convertTime(int time) {
int days = (int) TimeUnit.MINUTES.toDays(time);
int hours = (int) (TimeUnit.MINUTES.toHours(time) - TimeUnit.DAYS.toHours(days));
int minutes = (int) (TimeUnit.MINUTES.toMinutes(time) - TimeUnit.HOURS.toMinutes(hours) - TimeUnit.DAYS.toMinutes(days));
String timeString = formatTime(days, " day");
timeString += (timeString.length() == 0 ? "" : ", ") + formatTime(hours, " hour");
timeString += (timeString.length() == 0 ? "" : ", ") + formatTime(minutes, " minute");
if (timeString.length() == 0) timeString = "0 minutes";
return timeString;
}
private static String formatTime(int value, String s) {
switch (value) {
case 0:
return "";
case 1:
return value + s;
default:
return value + s + "s";
}
}
2021-04-04 15:48:59 +00:00
public static String format(String m) {
return ChatColor.translateAlternateColorCodes('&', m);
}
2021-04-04 15:48:59 +00:00
public static void sendStaffHoverMessage(OfflinePlayer targetPlayer, Player staffPlayer, String mainString) {
TextComponent mainComponent = new TextComponent(mainString);
mainComponent.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, (new ComponentBuilder(ChatColor.GRAY + "Click to view " + targetPlayer.getName() + "'s flags")).create()));
mainComponent.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/flaglist " + targetPlayer.getName()));
staffPlayer.spigot().sendMessage(mainComponent);
}
2021-04-04 15:48:59 +00:00
public static void sendFlagConfirmMessage(CommandSender sender, OfflinePlayer targetPlayer, int id, String flagReason) {
TextComponent mainComponent = new TextComponent("Are you sure you want to remove the flag '" + flagReason + "' from " + ChatColor.YELLOW + targetPlayer.getName() + "'s" + ChatColor.GRAY + " flag history? ");
mainComponent.setColor(ChatColor.GRAY);
TextComponent confirmButton = new TextComponent("[Confirm]");
confirmButton.setColor(ChatColor.GREEN);
confirmButton.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, (new ComponentBuilder(ChatColor.GREEN + "Click to confirm")).create()));
confirmButton.setClickEvent(new ClickEvent(net.md_5.bungee.api.chat.ClickEvent.Action.RUN_COMMAND, "/flag remove " + id + " " + targetPlayer.getName() + " -c"));
mainComponent.addExtra(confirmButton);
sender.spigot().sendMessage(mainComponent);
}
2021-04-04 15:48:59 +00:00
public static TextComponent textComponent(TextComponent component) {
return component;
}
2021-04-04 15:48:59 +00:00
public static void sendMessage(Player player, TextComponent component) {
player.spigot().sendMessage(component);
}
2021-04-04 15:48:59 +00:00
}