Added continue, fixed mail

This commit is contained in:
Teriuihi 2022-06-02 03:48:51 +02:00
parent 20c7f0a6d9
commit b1f2370bec
4 changed files with 18 additions and 4 deletions

View File

@ -45,6 +45,7 @@ public class ChatPlugin extends JavaPlugin {
}
registerCommand("message", new Message());
registerCommand("reply", new Reply());
registerCommand("continue", new Continue());
registerCommand("ignore", new Ignore());
registerCommand("unignore", new Unignore());
registerCommand("muteserver", new MuteServer());

View File

@ -62,6 +62,7 @@ public class PluginMessage implements PluginMessageListener {
if (p != null) {
ChatUser chatUser = ChatUserManager.getChatUser(uuid);
if (!chatUser.getIgnoredPlayers().contains(targetuuid)) {
chatUser.setReplyTarget(target);
p.sendMessage(GsonComponentSerializer.gson().deserialize(message));
// ChatUser user = ChatUserManager.getChatUser(uuid);
// user.setReplyTarget(target);

View File

@ -68,7 +68,7 @@ public class SilentJoinCommand {
player.sendMessage(Utility.parseMiniMessage(Config.SILENT_JOIN_JOINING,
Placeholder.unparsed("server", registeredServer.getServerInfo().getName())));
ProxyPlayerListener.addSilentJoin(player.getUniqueId());
player.createConnectionRequest(registeredServer);
player.createConnectionRequest(registeredServer).connectWithIndication();
return 1;
})
)

View File

@ -14,7 +14,6 @@ import com.alttd.chat.util.Utility;
import com.alttd.velocitychat.VelocityChat;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import com.mysql.cj.MessageBuilder;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.ServerConnection;
@ -25,6 +24,7 @@ import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import org.jetbrains.annotations.Nullable;
import java.time.Duration;
import java.util.*;
public class ChatHandler {
@ -204,7 +204,7 @@ public class ChatHandler {
} else {
targetUUID = optionalPlayer.get().getUniqueId();
}
Mail mail = new Mail(uuid, targetUUID, message);
Mail mail = new Mail(targetUUID, uuid, message);
ChatUser chatUser = ChatUserManager.getChatUser(targetUUID);
chatUser.addMail(mail);
// TODO load from config
@ -236,12 +236,14 @@ public class ChatHandler {
mail.setReadTime(System.currentTimeMillis());
Queries.markMailRead(mail);
}
Date date = new Date(mail.getSendTime());
ChatUser chatUser = ChatUserManager.getChatUser(mail.getSender());
TagResolver Placeholders = TagResolver.resolver(
Placeholder.component("staffprefix", chatUser.getStaffPrefix()),
Placeholder.component("sender", chatUser.getDisplayName()),
Placeholder.component("message", Utility.parseMiniMessage(mail.getMessage())),
Placeholder.unparsed("date", new Date(mail.getSendTime()).toString())
Placeholder.unparsed("date", date.toString()),
Placeholder.unparsed("time_ago", getTimeAgo(Duration.between(date.toInstant(), new Date().toInstant())))
);
Component mailMessage = Utility.parseMiniMessage(Config.mailBody, Placeholders);
component = component.append(Component.newline()).append(mailMessage);
@ -270,4 +272,14 @@ public class ChatHandler {
buf.writeUTF(uuid);
buf.writeBoolean(muted);
}
private String getTimeAgo(Duration duration) {
StringBuilder stringBuilder = new StringBuilder();
if (duration.toDays() != 0)
stringBuilder.append(duration.toDays()).append("d ");
if (duration.toHoursPart() != 0 || !stringBuilder.isEmpty())
stringBuilder.append(duration.toHoursPart()).append("h ");
stringBuilder.append(duration.toMinutesPart()).append("m ago");
return stringBuilder.toString();
}
}