diff --git a/src/main/java/buttondevteam/chat/ChatUtils.java b/src/main/java/buttondevteam/chat/ChatUtils.java index b9b5e98..63b3fc7 100644 --- a/src/main/java/buttondevteam/chat/ChatUtils.java +++ b/src/main/java/buttondevteam/chat/ChatUtils.java @@ -1,8 +1,8 @@ package buttondevteam.chat; import buttondevteam.core.component.channel.Channel; -import buttondevteam.lib.ChromaUtils; import buttondevteam.lib.TBMCChatEvent; +import buttondevteam.lib.player.ChromaGamerBase; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -48,19 +48,18 @@ public final class ChatUtils { * @param e The chat event */ public static void sendChatMessage(TBMCChatEvent e) { - var str = getMessageString(e.getChannel(), e.getSender(), e.getMessage()); + var str = getMessageString(e.getChannel(), e.getUser(), e.getMessage()); for (Player p : Bukkit.getOnlinePlayers()) - if (e.shouldSendTo(p)) + if (e.shouldSendTo(ChromaGamerBase.getFromSender(p))) p.sendMessage(str); Bukkit.getConsoleSender().sendMessage(str); } - public static String getMessageString(Channel channel, CommandSender sender, String message) { - return "§c!§r[" + channel.displayName.get() + "] <" - + ChromaUtils.getDisplayName(sender) + "> " + message; + public static String getMessageString(Channel channel, ChromaGamerBase sender, String message) { + return "§c!§r[" + channel.displayName.get() + "] <" + sender.getName() + "> " + message; } - public static void sendChatMessage(Channel channel, CommandSender sender, String message, CommandSender to) { + public static void sendChatMessage(Channel channel, ChromaGamerBase sender, String message, CommandSender to) { to.sendMessage(getMessageString(channel, sender, message)); } } diff --git a/src/main/java/buttondevteam/chat/VanillaUtils.java b/src/main/java/buttondevteam/chat/VanillaUtils.java index 7a22fff..9cb09a8 100644 --- a/src/main/java/buttondevteam/chat/VanillaUtils.java +++ b/src/main/java/buttondevteam/chat/VanillaUtils.java @@ -2,6 +2,7 @@ package buttondevteam.chat; import buttondevteam.core.MainPlugin; import buttondevteam.lib.TBMCChatEvent; +import buttondevteam.lib.player.ChromaGamerBase; import lombok.experimental.UtilityClass; import lombok.val; import org.bukkit.entity.Player; @@ -16,14 +17,12 @@ import java.util.function.Predicate; public class VanillaUtils { public String getGroupIfChatOn(Player p, TBMCChatEvent e) { try { - if (isChatOn(p)) // Only send if client allows chat - return e.getGroupID(p); - else + if (!isChatOn(p)) // Only send if client allows chat return null; } catch (NoClassDefFoundError ex) { MainPlugin.instance.getLogger().warning("Compatibility error, can't check if the chat is hidden by the player."); - return e.getGroupID(p); } + return e.getGroupID(ChromaGamerBase.getFromSender(p)); } private Predicate isChatOn; diff --git a/src/main/java/buttondevteam/chat/commands/MeCommand.java b/src/main/java/buttondevteam/chat/commands/MeCommand.java index 997a6c3..5fa5616 100644 --- a/src/main/java/buttondevteam/chat/commands/MeCommand.java +++ b/src/main/java/buttondevteam/chat/commands/MeCommand.java @@ -1,6 +1,5 @@ package buttondevteam.chat.commands; -import buttondevteam.lib.ChromaUtils; import buttondevteam.lib.TBMCSystemChatEvent; import buttondevteam.lib.chat.*; @@ -11,6 +10,6 @@ import buttondevteam.lib.chat.*; public class MeCommand extends ICommand2MC { @Command2.Subcommand public void def(Command2MCSender sender, @Command2.TextArg String message) { - TBMCChatAPI.SendSystemMessage(sender.getChannel(), sender.getChannel().getRTR(sender.getPermCheck()), "§5* " + ChromaUtils.getDisplayName(sender.getSender()) + " " + message, TBMCSystemChatEvent.BroadcastTarget.ALL); + TBMCChatAPI.SendSystemMessage(sender.getChannel(), sender.getChannel().getRTR(sender.getPermCheck()), "§5* " + sender.getSender().getName() + " " + message, TBMCSystemChatEvent.BroadcastTarget.ALL); } } diff --git a/src/main/java/buttondevteam/chat/commands/ucmds/HistoryCommand.java b/src/main/java/buttondevteam/chat/commands/ucmds/HistoryCommand.java index 7b684c6..1b398d2 100644 --- a/src/main/java/buttondevteam/chat/commands/ucmds/HistoryCommand.java +++ b/src/main/java/buttondevteam/chat/commands/ucmds/HistoryCommand.java @@ -6,9 +6,8 @@ import buttondevteam.lib.chat.ChatMessage; import buttondevteam.lib.chat.Command2; import buttondevteam.lib.chat.CommandClass; import buttondevteam.lib.chat.CustomTabCompleteMethod; -import lombok.RequiredArgsConstructor; +import buttondevteam.lib.player.ChromaGamerBase; import lombok.val; -import org.bukkit.command.CommandSender; import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; @@ -26,11 +25,11 @@ public class HistoryCommand extends UCommandBase { private static final HashMap> messages = new HashMap<>(); @Command2.Subcommand - public boolean def(CommandSender sender, @Command2.OptionalArg String channel) { + public boolean def(ChromaGamerBase sender, @Command2.OptionalArg String channel) { return showHistory(sender, channel); } - public static boolean showHistory(CommandSender sender, String channel) { + public static boolean showHistory(ChromaGamerBase sender, String channel) { if (!PluginMain.Instance.storeChatHistory.get()) { sender.sendMessage("§6Chat history is disabled"); return true; @@ -55,7 +54,7 @@ public class HistoryCommand extends UCommandBase { for (int i = Math.max(0, arr.length - 10); i < arr.length; i++) { HistoryEntry e = arr[i]; val cm = e.chatMessage; - sender.sendMessage("[" + e.channel.displayName.get() + "] " + cm.getSender().getName() + ": " + cm.getMessage()); + sender.sendMessage("[" + e.channel.displayName.get() + "] " + cm.getUser().getName() + ": " + cm.getMessage()); sent.set(true); } } @@ -69,14 +68,10 @@ public class HistoryCommand extends UCommandBase { return Channel.getChannels().map(Channel::getIdentifier)::iterator; } - @RequiredArgsConstructor - private static class HistoryEntry { - /** - * System.nanoTime() - */ - private final long timestamp; - private final ChatMessage chatMessage; - private final Channel channel; + /** + * @param timestamp System.nanoTime() + */ + private record HistoryEntry(long timestamp, ChatMessage chatMessage, Channel channel) { } public static void addChatMessage(ChatMessage chatMessage, Channel channel) { diff --git a/src/main/java/buttondevteam/chat/components/appendext/AppendTextComponent.java b/src/main/java/buttondevteam/chat/components/appendext/AppendTextComponent.java index c61ff35..72cfbf2 100644 --- a/src/main/java/buttondevteam/chat/components/appendext/AppendTextComponent.java +++ b/src/main/java/buttondevteam/chat/components/appendext/AppendTextComponent.java @@ -5,7 +5,6 @@ import buttondevteam.lib.architecture.Component; import buttondevteam.lib.architecture.ConfigData; import buttondevteam.lib.architecture.IHaveConfig; import buttondevteam.lib.chat.*; -import buttondevteam.lib.player.ChromaGamerBase; import lombok.val; import java.lang.reflect.Method; @@ -101,7 +100,7 @@ public class AppendTextComponent extends Component { @Command2.Subcommand public void def(Command2MCSender sender, @Command2.OptionalArg @Command2.TextArg String message) { - TBMCChatAPI.sendChatMessage(ChatMessage.builder(sender.getSender(), ChromaGamerBase.getFromSender(sender.getSender()), + TBMCChatAPI.sendChatMessage(ChatMessage.builder(sender.getSender(), (message == null ? "" : message + " ") + appendedText).fromCommand(true).permCheck(sender.getPermCheck()).build()); } diff --git a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java index 0708ecc..b37f639 100644 --- a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java +++ b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java @@ -26,6 +26,7 @@ import com.google.common.collect.Lists; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import lombok.val; +import net.ess3.api.events.AfkStatusChangeEvent; import org.bukkit.Bukkit; import org.bukkit.Sound; import org.bukkit.command.CommandSender; @@ -103,14 +104,14 @@ public class ChatProcessing { public static boolean ProcessChat(TBMCChatEvent e, FormatterComponent component) { Channel channel = e.getChannel(); - CommandSender sender = e.getSender(); + ChromaGamerBase cuser = e.getUser(); String message = e.getMessage(); long processstart = System.nanoTime(); - Player player = (sender instanceof Player ? (Player) sender : null); + Player player = (cuser instanceof TBMCPlayerBase ? ((TBMCPlayerBase) cuser).getPlayer() : null); User user = PluginMain.essentials.getUser(player); if (player != null && PluginMain.essentials.getSettings().cancelAfkOnInteract()) { - user.updateActivity(true); //Could talk in a private channel, so broadcast + user.updateActivity(true, AfkStatusChangeEvent.Cause.CHAT); //Could talk in a private channel, so broadcast if (user.isMuted()) return true; } @@ -123,7 +124,7 @@ public class ChatProcessing { if (mp != null) { if (System.nanoTime() - mp.LastMessageTime < 1000L * 1000L * component.minTimeBetweenMessages.get()) { //0.1s by default - sender.sendMessage("§cYou are sending messages too quickly!"); + cuser.sendMessage("§cYou are sending messages too quickly!"); return true; } mp.LastMessageTime = System.nanoTime(); @@ -135,12 +136,12 @@ public class ChatProcessing { //IRegistry //CraftServer - doFunStuff(sender, e, message); + doFunStuff(cuser, e, message); final String channelidentifier = getChannelID(channel, e.getOrigin()); PluginMain.Instance.getServer().getConsoleSender() - .sendMessage(String.format("%s <%s§r> %s", channelidentifier, getSenderName(sender, player), message)); + .sendMessage(String.format("%s <%s§r> %s", channelidentifier, cuser.getName(), message)); if (Bukkit.getOnlinePlayers().size() == 0) return false; //Don't try to send to nobody (errors on 1.14) @@ -150,7 +151,7 @@ public class ChatProcessing { ArrayList formatters; if (component.allowFormatting.get()) { - formatters = addFormatters(e::shouldSendTo, component); + formatters = addFormatters(sender -> e.shouldSendTo(ChromaGamerBase.getFromSender(sender)), component); if (colormode == channel.color.get() && mp != null && mp.RainbowPresserColorMode) { // Only overwrite channel color createRPC(colormode, formatters); } @@ -158,14 +159,13 @@ public class ChatProcessing { } else formatters = Lists.newArrayList(); - TellrawPart json = createTellraw(sender, message, player, mp, e.getUser(), channelidentifier, e.getOrigin()); + TellrawPart json = createTellraw(cuser, message, player, mp, e.getUser(), channelidentifier, e.getOrigin()); long combinetime = System.nanoTime(); ChatFormatter.Combine(formatters, message, json, component.getConfig(), FormatSettings.builder().color(colormode).build()); combinetime = System.nanoTime() - combinetime; String jsonstr = toJson(json); if (jsonstr.length() >= 32767) { - sender.sendMessage( - "§cError: Message too long. Try shortening it, or remove hashtags and other formatting."); + cuser.sendMessage("§cError: Message too long. Try shortening it, or remove hashtags and other formatting."); return true; } DebugCommand.SendDebugMessage(jsonstr); @@ -180,7 +180,7 @@ public class ChatProcessing { val tc = ComponentManager.getIfEnabled(TownyComponent.class); Consumer spyConsumer = null; if (tc != null) - spyConsumer = tc.handleSpiesInit(channel, json, ChatProcessing::toJson, sender, message); + spyConsumer = tc.handleSpiesInit(channel, json, ChatProcessing::toJson, cuser, message); for (Player p : Bukkit.getOnlinePlayers()) { final String group; if (player != null @@ -221,11 +221,11 @@ public class ChatProcessing { return gson.toJson(json); } - static TellrawPart createTellraw(CommandSender sender, String message, @Nullable Player player, + static TellrawPart createTellraw(ChromaGamerBase user, String message, @Nullable Player player, @Nullable ChatPlayer mp, @Nullable ChromaGamerBase cg, final String channelidentifier, String origin) { TellrawPart json = new TellrawPart(""); - ChatOnlyComponent.tellrawCreate(mp, json); //TODO: Make nice API + ChatOnlyComponent.tellrawCreate(mp, json); //TODO: Use nice API (Paper) json.addExtra( new TellrawPart(channelidentifier) .setHoverEvent( @@ -243,7 +243,7 @@ public class ChatProcessing { TellrawPart hovertp = new TellrawPart(""); if (cg != null) hovertp.addExtra(new TellrawPart(cg.getInfo(ChromaGamerBase.InfoTarget.MCHover))); - json.addExtra(new TellrawPart(getSenderName(sender, player)) + json.addExtra(new TellrawPart(user.getName()) .setHoverEvent(TellrawEvent.create(TellrawEvent.HoverAction.SHOW_TEXT, hovertp))); json.addExtra(new TellrawPart("> ")); return json; @@ -330,8 +330,8 @@ public class ChatProcessing { component.notificationPitch.get()); } - static void doFunStuff(CommandSender sender, TBMCChatEventBase event, String message) { + static void doFunStuff(ChromaGamerBase user, TBMCChatEventBase event, String message) { val fc = ComponentManager.getIfEnabled(FunComponent.class); - if (fc != null) fc.onChat(sender, event, message); + if (fc != null) fc.onChat(user, event, message); } } diff --git a/src/main/java/buttondevteam/chat/components/fun/FunComponent.java b/src/main/java/buttondevteam/chat/components/fun/FunComponent.java index 48100ee..9c8c5b8 100644 --- a/src/main/java/buttondevteam/chat/components/fun/FunComponent.java +++ b/src/main/java/buttondevteam/chat/components/fun/FunComponent.java @@ -3,7 +3,6 @@ package buttondevteam.chat.components.fun; import buttondevteam.chat.ChatPlayer; import buttondevteam.chat.PluginMain; import buttondevteam.core.component.channel.Channel; -import buttondevteam.lib.ChromaUtils; import buttondevteam.lib.TBMCChatEventBase; import buttondevteam.lib.TBMCCommandPreprocessEvent; import buttondevteam.lib.TBMCSystemChatEvent; @@ -12,9 +11,9 @@ import buttondevteam.lib.architecture.ConfigData; import buttondevteam.lib.chat.TBMCChatAPI; import buttondevteam.lib.player.ChromaGamerBase; import buttondevteam.lib.player.TBMCPlayer; +import buttondevteam.lib.player.TBMCPlayerBase; import lombok.val; import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -36,7 +35,7 @@ public class FunComponent extends Component implements Listener { private boolean ActiveF = false; private ChatPlayer FPlayer = null; private BukkitTask Ftask = null; - private final HashSet Fs = new HashSet<>(); + private final HashSet Fs = new HashSet<>(); private UnlolCommand command; private TBMCSystemChatEvent.BroadcastTarget unlolTarget; private TBMCSystemChatEvent.BroadcastTarget fTarget; @@ -80,20 +79,21 @@ public class FunComponent extends Component implements Listener { } - public void onChat(CommandSender sender, TBMCChatEventBase event, String message) { + public void onChat(ChromaGamerBase sender, TBMCChatEventBase event, String message) { if (ActiveF && !Fs.contains(sender) && message.equalsIgnoreCase("F")) Fs.add(sender); if (unlol.get()) { String msg = message.toLowerCase(); val lld = new UnlolCommand.LastlolData(sender, event, System.nanoTime()); - boolean add; - if (add = msg.contains("lol")) + boolean add = msg.contains("lol"); + if (add) lld.setLolornot(true); else { String[] laughs = laughStrings.get(); for (String laugh : laughs) { - if (add = msg.contains(laugh)) { + add = msg.contains(laugh); + if (add) { lld.setLolornot(false); break; } @@ -136,7 +136,7 @@ public class FunComponent extends Component implements Listener { @EventHandler public void onPlayerLeave(PlayerQuitEvent event) { if (unlol.get()) - command.Lastlol.values().removeIf(lld -> lld.getLolowner().equals(event.getPlayer())); + command.Lastlol.values().removeIf(lld -> lld.getLolowner().equals(ChromaGamerBase.getFromSender(event.getPlayer()))); } @EventHandler(priority = EventPriority.LOWEST) @@ -150,7 +150,14 @@ public class FunComponent extends Component implements Listener { if (ht.getName().equalsIgnoreCase(cmd)) return; } - if (PluginMain.permission.has(event.getSender(), "chroma.unanything")) { + val user = event.getSender(); + if (!(user instanceof TBMCPlayerBase)) { + // TODO: Cross-platform permission check; console is not supported here + user.sendMessage("§cError: You must be a player to use this command."); + return; + } + val player = ((TBMCPlayerBase) user).getPlayer(); + if (player != null && PluginMain.permission.has(player, "chroma.unanything")) { event.setCancelled(true); int index = cmd.lastIndexOf(' '); if (index == -1) { @@ -163,10 +170,9 @@ public class FunComponent extends Component implements Listener { event.getSender().sendMessage("§cError: Player not found. (/un" + s + " )"); return; } - val user = ChromaGamerBase.getFromSender(event.getSender()); target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 10 * 20, 5, false, false)); - val chan = user.channel.get(); - TBMCChatAPI.SendSystemMessage(chan, chan.getRTR(event.getSender()), ChromaUtils.getDisplayName(event.getSender()) + " un" + s + val chan = user.getChannel().get(); + TBMCChatAPI.SendSystemMessage(chan, chan.getRTR(event.getSender()), event.getSender().getName() + " un" + s + "'d " + target.getDisplayName(), unlolTarget); } } diff --git a/src/main/java/buttondevteam/chat/components/fun/UnlolCommand.java b/src/main/java/buttondevteam/chat/components/fun/UnlolCommand.java index 54b66c5..81ac5e8 100644 --- a/src/main/java/buttondevteam/chat/components/fun/UnlolCommand.java +++ b/src/main/java/buttondevteam/chat/components/fun/UnlolCommand.java @@ -1,17 +1,16 @@ package buttondevteam.chat.components.fun; import buttondevteam.core.component.channel.Channel; -import buttondevteam.lib.ChromaUtils; import buttondevteam.lib.TBMCChatEventBase; import buttondevteam.lib.TBMCSystemChatEvent; import buttondevteam.lib.chat.Command2; import buttondevteam.lib.chat.CommandClass; import buttondevteam.lib.chat.ICommand2MC; import buttondevteam.lib.chat.TBMCChatAPI; +import buttondevteam.lib.player.ChromaGamerBase; +import buttondevteam.lib.player.TBMCPlayerBase; import lombok.Data; import lombok.RequiredArgsConstructor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; @@ -33,17 +32,17 @@ public final class UnlolCommand extends ICommand2MC { private final TBMCSystemChatEvent.BroadcastTarget target; @Command2.Subcommand - public boolean def(CommandSender sender) { + public boolean def(ChromaGamerBase sender) { LastlolData lol = Lastlol.values().stream().filter(lld -> lld.Chatevent.shouldSendTo(sender)) - .max(Comparator.comparingLong(lld -> lld.Loltime)).orElse(null); + .max(Comparator.comparingLong(lld -> lld.Loltime)).orElse(null); if (lol == null) return true; - if (lol.Lolowner instanceof Player) - ((Player) lol.Lolowner) - .addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 2 * 20, 5, false, false)); - String msg = ChromaUtils.getDisplayName(sender) - + (lol.Lolornot ? " unlolled " : " unlaughed ") - + ChromaUtils.getDisplayName(lol.Lolowner); + if (lol.Lolowner instanceof TBMCPlayerBase) { + var player = ((TBMCPlayerBase) lol.Lolowner).getPlayer(); + if (player != null) + player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 2 * 20, 5, false, false)); + } + String msg = sender.getName() + (lol.Lolornot ? " unlolled " : " unlaughed ") + lol.Lolowner.getName(); TBMCChatAPI.SendSystemMessage(Channel.globalChat, Channel.RecipientTestResult.ALL, msg, target); Lastlol.remove(lol.Chatevent.getChannel()); return true; @@ -52,7 +51,7 @@ public final class UnlolCommand extends ICommand2MC { @Data public static class LastlolData { private boolean Lolornot; - private final CommandSender Lolowner; + private final ChromaGamerBase Lolowner; private final TBMCChatEventBase Chatevent; private final long Loltime; } diff --git a/src/main/java/buttondevteam/chat/components/towny/TownyComponent.java b/src/main/java/buttondevteam/chat/components/towny/TownyComponent.java index a002955..2f22d17 100644 --- a/src/main/java/buttondevteam/chat/components/towny/TownyComponent.java +++ b/src/main/java/buttondevteam/chat/components/towny/TownyComponent.java @@ -8,6 +8,8 @@ import buttondevteam.core.component.channel.Channel; import buttondevteam.lib.architecture.Component; import buttondevteam.lib.chat.Color; import buttondevteam.lib.chat.TBMCChatAPI; +import buttondevteam.lib.player.ChromaGamerBase; +import buttondevteam.lib.player.TBMCPlayerBase; import com.palmergames.bukkit.towny.TownyAPI; import com.palmergames.bukkit.towny.TownyUniverse; import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; @@ -15,7 +17,6 @@ import com.palmergames.bukkit.towny.object.Nation; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import lombok.val; -import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.ArrayList; @@ -55,7 +56,7 @@ public class TownyComponent extends Component { } public Consumer handleSpiesInit(Channel channel, TellrawPart json, Function toJson, - CommandSender sender, String message) { + ChromaGamerBase sender, String message) { if (channel.getIdentifier().equals(TownChat.getIdentifier()) || channel.getIdentifier().equals(NationChat.getIdentifier())) { ((List) json.getExtra()).add(0, new TellrawPart("[SPY]")); String jsonstr = toJson.apply(json); @@ -64,7 +65,7 @@ public class TownyComponent extends Component { return p -> {}; } - private void handleSpies(Channel channel, Player p, String jsonstr, CommandSender sender, String message) { + private void handleSpies(Channel channel, Player p, String jsonstr, ChromaGamerBase sender, String message) { if (channel.getIdentifier().equals(TownChat.getIdentifier()) || channel.getIdentifier().equals(NationChat.getIdentifier())) { val res = dataSource.getResident(p.getName()); if (res == null) { @@ -79,9 +80,10 @@ public class TownyComponent extends Component { /** * Return the error message for the message sender if they can't send it and the score */ - private static Channel.RecipientTestResult checkTownNationChat(CommandSender sender, boolean nationchat) { - if (!(sender instanceof Player)) + private static Channel.RecipientTestResult checkTownNationChat(ChromaGamerBase user, boolean nationchat) { + if (!(user instanceof TBMCPlayerBase)) return new Channel.RecipientTestResult("§cYou are not a player!"); + val sender = ((TBMCPlayerBase) user).getOfflinePlayer(); Resident resident = dataSource.getResident(sender.getName()); Channel.RecipientTestResult result = checkTownNationChatInternal(nationchat, resident); if (result.errormessage != null && resident != null && resident.getModes().contains("spy")) // Only use spy if they wouldn't see it diff --git a/src/main/java/buttondevteam/chat/listener/PlayerJoinLeaveListener.java b/src/main/java/buttondevteam/chat/listener/PlayerJoinLeaveListener.java index 4c079da..7122768 100644 --- a/src/main/java/buttondevteam/chat/listener/PlayerJoinLeaveListener.java +++ b/src/main/java/buttondevteam/chat/listener/PlayerJoinLeaveListener.java @@ -7,6 +7,7 @@ import buttondevteam.chat.commands.ucmds.HistoryCommand; import buttondevteam.chat.components.flair.FlairComponent; import buttondevteam.chat.components.flair.FlairStates; import buttondevteam.core.ComponentManager; +import buttondevteam.lib.player.ChromaGamerBase; import buttondevteam.lib.player.TBMCPlayerBase; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -53,7 +54,7 @@ public class PlayerJoinLeaveListener implements Listener { PlayerListener.nicknames.forcePut(nwithoutformatting.toLowerCase(), p.getUniqueId()); if (PluginMain.Instance.storeChatHistory.get()) - HistoryCommand.showHistory(e.getPlayer(), null); + HistoryCommand.showHistory(ChromaGamerBase.getFromSender(e.getPlayer()), null); } @EventHandler diff --git a/src/main/java/buttondevteam/chat/listener/PlayerListener.java b/src/main/java/buttondevteam/chat/listener/PlayerListener.java index 4810034..cbafc0b 100644 --- a/src/main/java/buttondevteam/chat/listener/PlayerListener.java +++ b/src/main/java/buttondevteam/chat/listener/PlayerListener.java @@ -10,6 +10,7 @@ import buttondevteam.chat.components.towncolors.TownColorComponent; import buttondevteam.core.ComponentManager; import buttondevteam.lib.TBMCChatEvent; import buttondevteam.lib.TBMCCoreAPI; +import buttondevteam.lib.player.ChromaGamerBase; import buttondevteam.lib.player.ChromaGamerBase.InfoTarget; import buttondevteam.lib.player.TBMCPlayerGetInfoEvent; import com.google.common.collect.BiMap; @@ -81,7 +82,7 @@ public class PlayerListener implements Listener { && Bukkit.getOnlinePlayers().size() > 0) { //If there are no players on, display to the first person lastError = System.nanoTime(); //I put the whole thing in the if to protect against race conditions for (Player p : Bukkit.getOnlinePlayers()) - if (e.shouldSendTo(p)) + if (e.shouldSendTo(ChromaGamerBase.getFromSender(p))) p.sendMessage("[" + e.getChannel().displayName.get() + "] §cSome features in the message below might be unavailable due to an error."); } ChatUtils.sendChatMessage(e);