Skip to content
This repository has been archived by the owner on Jan 20, 2024. It is now read-only.

Commit

Permalink
InteractiveChat: fix mention support
Browse files Browse the repository at this point in the history
  • Loading branch information
TheFaser committed Aug 16, 2023
1 parent 3daf405 commit a6c2be8
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,18 +1,33 @@
package net.flectone.integrations.interactivechat;

import com.loohp.interactivechat.api.InteractiveChatAPI;
import com.loohp.interactivechat.listeners.ChatEvents;
import com.loohp.interactivechat.registry.Registry;
import net.flectone.Main;
import net.flectone.integrations.HookInterface;
import net.flectone.managers.HookManager;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.jetbrains.annotations.NotNull;

import java.util.UUID;

public class FInteractiveChat implements HookInterface {

public static String checkMention(AsyncPlayerChatEvent event) {
return ChatEvents.checkMention(event);
}

@NotNull
public static String mark(@NotNull String message, @NotNull UUID sender) {
return InteractiveChatAPI.markSender(message, sender);
StringBuilder stringBuilder = new StringBuilder();
for(String string : message.split(" ")) {
if (!Registry.MENTION_TAG_CONVERTER.containsTags(string))
string = InteractiveChatAPI.markSender(string, sender);

stringBuilder.append(string).append(" ");
}

return stringBuilder.toString().trim();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package net.flectone.listeners;

import net.flectone.integrations.interactivechat.FInteractiveChat;
import net.flectone.managers.FPlayerManager;
import net.flectone.managers.HookManager;
import net.flectone.misc.commands.FCommand;
import net.flectone.misc.entity.FPlayer;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -56,11 +58,14 @@ public void chat(@NotNull AsyncPlayerChatEvent event) {
recipients.stream().filter(recipient -> !recipient.getGameMode().equals(GameMode.SPECTATOR)).count() == 1) {
noRecipientsMessage = locale.getFormatString("chat.local.no-recipients", player);
}
}

} else if(HookManager.enabledInteractiveChat) message = FInteractiveChat.checkMention(event);

if (config.getBoolean("chat.local.set-cancelled")) event.setCancelled(true);

} else {
if(HookManager.enabledInteractiveChat) message = FInteractiveChat.checkMention(event);

if (config.getBoolean("chat.global.prefix.cleared")) event.setMessage(message.replaceFirst(globalPrefix, ""));
if (config.getBoolean("chat.global.set-cancelled")) event.setCancelled(true);
message = message
Expand Down

0 comments on commit a6c2be8

Please sign in to comment.