extras/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java
2019-09-22 05:37:43 +03:00

65 lines
1.8 KiB
Java

package pw.kaboom.extras;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
class PlayerChat implements Listener {
private Main main;
public PlayerChat(Main main) {
this.main = main;
}
@EventHandler
void onAsyncPlayerChat(AsyncPlayerChatEvent event) {
final Player player = event.getPlayer();
final UUID playerUuid = event.getPlayer().getUniqueId();
if (main.commandMillisList.get(playerUuid) != null) {
final long millisDifference = System.currentTimeMillis() - main.commandMillisList.get(playerUuid);
if (millisDifference < 5) {
event.setCancelled(true);
}
}
main.commandMillisList.put(playerUuid, System.currentTimeMillis());
if (event.isCancelled()) {
return;
}
if (main.getConfig().getString(player.getUniqueId().toString()) != null) {
final String prefix = ChatColor.translateAlternateColorCodes(
'&',
main.getConfig().getString(player.getUniqueId().toString())
);
event.setFormat(prefix + ChatColor.RESET + " " + player.getDisplayName().toString() + ChatColor.RESET + ": " + ChatColor.RESET + "%2$s");
} else if (event.getPlayer().isOp()) {
final String prefix = ChatColor.translateAlternateColorCodes(
'&',
"&4&l[&c&lOP&4&l]"
);
event.setFormat(prefix + ChatColor.RED + " " + player.getDisplayName().toString() + ChatColor.RESET + ": " + ChatColor.RESET + "%2$s");
} else {
final String prefix = ChatColor.translateAlternateColorCodes(
'&',
"&8&l[&7&lDeOP&8&l]"
);
event.setFormat(prefix + ChatColor.GRAY + " " + player.getDisplayName().toString() + ChatColor.RESET + ": " + ChatColor.RESET + "%2$s");
}
event.setMessage(ChatColor.translateAlternateColorCodes('&', event.getMessage()));
}
}