extras/src/main/java/pw/kaboom/extras/modules/player/PlayerChat.java

66 lines
2.3 KiB
Java
Raw Normal View History

2019-12-17 12:37:59 +00:00
package pw.kaboom.extras.modules.player;
2019-07-30 17:14:24 +00:00
2019-11-30 23:04:08 +00:00
import java.io.File;
2019-09-21 23:46:15 +00:00
import java.util.UUID;
2019-07-30 17:14:24 +00:00
import org.bukkit.ChatColor;
2019-11-30 23:04:08 +00:00
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
2019-07-30 17:14:24 +00:00
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
2019-09-28 00:29:48 +00:00
import org.bukkit.plugin.java.JavaPlugin;
2019-07-30 17:14:24 +00:00
2019-12-17 12:37:59 +00:00
import pw.kaboom.extras.Main;
2019-12-21 14:12:26 +00:00
public final class PlayerChat implements Listener {
2022-05-20 02:35:48 +00:00
@EventHandler
void onAsyncPlayerChat(final AsyncPlayerChatEvent event) {
final Player player = event.getPlayer();
final UUID playerUuid = event.getPlayer().getUniqueId();
if (PlayerCommand.getCommandMillisList().get(playerUuid) != null) {
final long lastCommandTime = PlayerCommand.getCommandMillisList().get(playerUuid);
final long millisDifference = System.currentTimeMillis() - lastCommandTime;
2022-05-20 02:35:48 +00:00
if (millisDifference < 50) {
event.setCancelled(true);
}
}
PlayerCommand.getCommandMillisList().put(playerUuid, System.currentTimeMillis());
if (event.isCancelled()) {
return;
}
final File configFile = new File(JavaPlugin.getPlugin(Main.class).getDataFolder(),
"prefixes.yml");
2022-05-20 02:35:48 +00:00
final FileConfiguration prefixConfig = YamlConfiguration.loadConfiguration(configFile);
final String prefix;
final String name = player.getDisplayName().toString();
if (prefixConfig.getString(player.getUniqueId().toString()) != null) {
prefix = ChatColor.translateAlternateColorCodes(
'&',
prefixConfig.getString(player.getUniqueId().toString()) + " " + ChatColor.RESET
);
} else if (event.getPlayer().isOp()) {
prefix = JavaPlugin.getPlugin(Main.class).getConfig().getString("opTag");
} else {
prefix = JavaPlugin.getPlugin(Main.class).getConfig().getString("deOpTag");
}
event.setFormat(prefix + name + ChatColor.RESET + ": " + ChatColor.RESET + "%2$s");
event.setMessage(
ChatColor.translateAlternateColorCodes('&', event.getMessage())
);
}
2019-07-30 17:14:24 +00:00
}