mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-05-09 11:46:24 +02:00
54 lines
1.6 KiB
Java
54 lines
1.6 KiB
Java
package com.gmail.nossr50.chat;
|
|
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
import com.gmail.nossr50.events.chat.McMMOChatEvent;
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
|
|
public abstract class ChatManager {
|
|
protected Plugin plugin;
|
|
protected boolean useDisplayNames;
|
|
protected String chatPrefix;
|
|
|
|
protected String senderName;
|
|
protected String displayName;
|
|
protected String message;
|
|
|
|
protected ChatManager(Plugin plugin, boolean useDisplayNames, String chatPrefix) {
|
|
this.plugin = plugin;
|
|
this.useDisplayNames = useDisplayNames;
|
|
this.chatPrefix = chatPrefix;
|
|
}
|
|
|
|
protected void handleChat(McMMOChatEvent event) {
|
|
plugin.getServer().getPluginManager().callEvent(event);
|
|
|
|
if (event.isCancelled()) {
|
|
return;
|
|
}
|
|
|
|
senderName = event.getSender();
|
|
displayName = useDisplayNames ? event.getDisplayName() : senderName;
|
|
message = LocaleLoader.formatString(chatPrefix, displayName) + " " + event.getMessage();
|
|
|
|
sendMessage();
|
|
}
|
|
|
|
public void handleChat(String senderName, String message) {
|
|
handleChat(senderName, senderName, message, false);
|
|
}
|
|
|
|
public void handleChat(Player player, String message, boolean isAsync) {
|
|
handleChat(player.getName(), player.getDisplayName(), message, isAsync);
|
|
}
|
|
|
|
public void handleChat(String senderName, String displayName, String message) {
|
|
handleChat(senderName, displayName, message, false);
|
|
}
|
|
|
|
public abstract void handleChat(String senderName, String displayName, String message, boolean isAsync);
|
|
|
|
protected abstract void sendMessage();
|
|
}
|