2021-04-04 15:48:59 +00:00
package com.liteflags.util ;
import java.util.concurrent.TimeUnit ;
2021-04-04 17:24:43 +00:00
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 {
2021-04-04 17:24:43 +00:00
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
2021-04-04 17:24:43 +00:00
public static String format ( String m ) {
return ChatColor . translateAlternateColorCodes ( '&' , m ) ;
}
2021-04-04 15:48:59 +00:00
2021-04-04 17:24:43 +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
2021-04-04 17:24:43 +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
2021-04-04 17:24:43 +00:00
public static TextComponent textComponent ( TextComponent component ) {
return component ;
}
2021-04-04 15:48:59 +00:00
2021-04-04 17:24:43 +00:00
public static void sendMessage ( Player player , TextComponent component ) {
player . spigot ( ) . sendMessage ( component ) ;
}
2021-04-04 15:48:59 +00:00
}