Files
Chat/galaxy/src/main/java/com/alttd/chat/commands/PartyChat.java
T
auto 9e437079e4 Remove Galaxy dependency
Switched back to paper since we don't use any features from Galaxy that aren't already in paper
2025-03-21 20:34:45 +01:00

74 lines
2.2 KiB
Java

package com.alttd.chat.commands;
import com.alttd.chat.ChatPlugin;
import com.alttd.chat.config.Config;
import com.alttd.chat.objects.Toggleable;
import com.alttd.chat.util.ALogger;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
import java.util.UUID;
public class PartyChat extends Toggleable implements CommandExecutor {
private final HashSet<UUID> toggledUsers = new HashSet<>();
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if(!(sender instanceof Player player)) { // must be a player
return true;
}
if(args.length == 0) {
player.sendRichMessage(Config.PARTY_TOGGLED, Placeholder.component("status",
toggle(player.getUniqueId()) ? Config.TOGGLED_ON : Config.TOGGLED_OFF));
return true;
}
String message = StringUtils.join(args, " ", 0, args.length);
new BukkitRunnable() {
@Override
public void run() {
ChatPlugin.getInstance().getChatHandler().partyMessage(player, message);
}
}.runTaskAsynchronously(ChatPlugin.getInstance());
return true;
}
@Override
public boolean isToggled(UUID uuid) {
return toggledUsers.contains(uuid);
}
@Override
public void setOff(UUID uuid) {
toggledUsers.remove(uuid);
}
@Override
public void setOn(UUID uuid) {
disableToggles(uuid);
toggledUsers.add(uuid);
}
@Override
public void sendMessage(Player player, String message) {
ALogger.info(player.getName() + " sent party message: " + message);
new BukkitRunnable() {
@Override
public void run() {
ChatPlugin.getInstance().getChatHandler().partyMessage(player, message);
}
}.runTaskAsynchronously(ChatPlugin.getInstance());
}
}