Updated minimessage

This commit is contained in:
Teriuihi 2022-05-30 20:09:20 +02:00
parent 92c1ee42a9
commit 05cc57ddec
10 changed files with 102 additions and 46 deletions

View File

@ -33,10 +33,10 @@ allprojects {
dependencies {
// Minimessage
implementation("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT")
// implementation("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT")
// Velocity
compileOnly("com.velocitypowered:velocity-api:3.0.1") // Velocity
annotationProcessor("com.velocitypowered:velocity-api:3.0.1")
compileOnly("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT") // Velocity
annotationProcessor("com.velocitypowered:velocity-api:3.1.2-SNAPSHOT")
// JDA
implementation("net.dv8tion:JDA:5.0.0-alpha.3") {
shadow("net.dv8tion:JDA:5.0.0-alpha.3") {
@ -55,8 +55,8 @@ dependencies {
shadowJar {
archiveFileName.set("${project.name}-${project.version}.jar")
exclude("net.kyori.adventure")
exclude("net.kyori.examination")
// exclude("net.kyori.adventure")
// exclude("net.kyori.examination")
minimize {
//exclude(dependency("net.kyori:.*:.*"))
}

View File

@ -14,7 +14,7 @@ dependencyResolutionManagement {
// JDA
maven("https://m2.dv8tion.net/releases/")
// MiniMessage
maven("https://oss.sonatype.org/content/repositories/snapshots/")
// maven("https://oss.sonatype.org/content/repositories/snapshots/")
// LiteBans
maven("https://jitpack.io")
}

View File

@ -9,7 +9,7 @@ import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@ -23,7 +23,7 @@ public class DiscordRoleListener extends ListenerAdapter {
public DiscordRoleListener() {
plugin = DiscordLink.getPlugin();
bot = plugin.getBot();
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
/**
@ -53,9 +53,10 @@ public class DiscordRoleListener extends ListenerAdapter {
added_roles.forEach(discordRole -> {
discordLinkPlayer.addRole(discordRole.getInternalName());
if (!discordRole.getAnnouncement().isEmpty()) {
Component component = miniMessage.parse(
Component component = miniMessage.deserialize(
discordRole.getAnnouncement(),
Template.of("player", discordLinkPlayer.getUsername()));
Placeholder.unparsed("player", discordLinkPlayer.getUsername()));
DiscordLink.getPlugin().getProxy().getAllPlayers()
.forEach(onlinePlayer -> onlinePlayer.sendMessage(component));

View File

@ -11,7 +11,7 @@ import com.velocitypowered.api.command.SimpleCommand;
import com.velocitypowered.api.proxy.Player;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import java.util.ArrayList;
import java.util.Arrays;
@ -24,7 +24,7 @@ public class MinecraftCommand implements SimpleCommand {
public MinecraftCommand() {
subCommands = Arrays.asList(new CheckLinked(), new Link(), new Unlink(), new Reload());
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
@Override
@ -34,11 +34,11 @@ public class MinecraftCommand implements SimpleCommand {
if (args.length < 1) {
if (!source.hasPermission("discordlink.link"))
source.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
else if (source instanceof Player)
source.sendMessage(miniMessage.parse(Config.DISCORD_LINK));
source.sendMessage(miniMessage.deserialize(Config.DISCORD_LINK));
else
source.sendMessage(miniMessage.parse(Config.NO_CONSOLE));
source.sendMessage(miniMessage.deserialize(Config.NO_CONSOLE));
return;
}
@ -98,6 +98,6 @@ public class MinecraftCommand implements SimpleCommand {
if (stringBuilder.length() != 0)
stringBuilder.replace(stringBuilder.length() - 1, stringBuilder.length(), "");
return miniMessage.parse(Config.HELP_MESSAGE, Template.of("commands", stringBuilder.toString()));
return miniMessage.deserialize(Config.HELP_MESSAGE, Placeholder.unparsed("commands", stringBuilder.toString()));
}
}

View File

@ -6,7 +6,8 @@ import com.alttd.proxydiscordlink.minecraft.commands.SubCommand;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import java.util.List;
import java.util.Optional;
@ -22,7 +23,7 @@ public class CheckLinked implements SubCommand {
public CheckLinked() {
name = "checklinked";
permission = "discordlink.checklinked";
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
public String getName() {
@ -36,11 +37,11 @@ public class CheckLinked implements SubCommand {
@Override
public void execute(String[] args, CommandSource source) {
if (!source.hasPermission(getPermission())) {
source.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
return;
}
if (args.length != 2 || !args[1].matches("\\w{3,16}")) {
source.sendMessage(miniMessage.parse(getHelpMessage()));
source.sendMessage(miniMessage.deserialize(getHelpMessage()));
return;
}
@ -53,7 +54,7 @@ public class CheckLinked implements SubCommand {
.getPlayer(UUID.fromString(uuidFromName));
if (optionalPlayer.isEmpty())
{
source.sendMessage(miniMessage.parse(Config.INVALID_PLAYER, Template.of("player", args[1])));
source.sendMessage(miniMessage.deserialize(Config.INVALID_PLAYER, Placeholder.unparsed("player", args[1])));
return;
}
}
@ -62,12 +63,12 @@ public class CheckLinked implements SubCommand {
}
private void isLinked(CommandSource source, Player player) {
List<Template> templates = List.of(
Template.of("linked_status", DiscordLink.getPlugin().getDatabase()
TagResolver tagResolver = TagResolver.resolver(
Placeholder.unparsed("linked_status", DiscordLink.getPlugin().getDatabase()
.playerIsLinked(player.getUniqueId()) ? "linked" : "not linked"),
Template.of("player", player.getUsername()));
Placeholder.unparsed("player", player.getUsername()));
source.sendMessage(miniMessage.parse(Config.IS_LINKED, templates));
source.sendMessage(miniMessage.deserialize(Config.IS_LINKED, tagResolver));
}
@Override

View File

@ -8,7 +8,7 @@ import com.alttd.proxydiscordlink.util.Utilities;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import java.util.ArrayList;
import java.util.List;
@ -22,7 +22,7 @@ public class Link implements SubCommand {
public Link() {
name = "link";
permission = "discordlink.link";
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
public String getName() {
@ -36,11 +36,11 @@ public class Link implements SubCommand {
@Override
public void execute(String[] args, CommandSource source) {
if (!(source instanceof Player player)) {
source.sendMessage(miniMessage.parse(Config.NO_CONSOLE));
source.sendMessage(miniMessage.deserialize(Config.NO_CONSOLE));
return;
}
if (!player.hasPermission(getPermission())) {
source.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
return;
}
@ -51,18 +51,18 @@ public class Link implements SubCommand {
Database database = DiscordLink.getPlugin().getDatabase();
if (database.playerIsLinked(player.getUniqueId())) {
player.sendMessage(miniMessage.parse(Config.ALREADY_LINKED_ACCOUNTS));
player.sendMessage(miniMessage.deserialize(Config.ALREADY_LINKED_ACCOUNTS));
return;
}
String authCode = DiscordLink.getPlugin().getCache().getCode(player.getUniqueId());
if (authCode != null) {
player.sendMessage(miniMessage.parse(Config.ALREADY_GOT_CODE, Template.of("code", authCode)));
player.sendMessage(miniMessage.deserialize(Config.ALREADY_GOT_CODE, Placeholder.unparsed("code", authCode)));
return;
}
authCode = Utilities.getAuthKey();
player.sendMessage(miniMessage.parse(Config.GIVE_CODE, Template.of("code", authCode)));
player.sendMessage(miniMessage.deserialize(Config.GIVE_CODE, Placeholder.unparsed("code", authCode)));
DiscordLink.getPlugin().getCache()
.cacheCode(player.getUniqueId(), authCode);
}

View File

@ -18,7 +18,7 @@ public class Reload implements SubCommand {
public Reload() {
name = "reload";
permission = "discordlink.reload";
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
@Override
@ -34,7 +34,7 @@ public class Reload implements SubCommand {
@Override
public void execute(String[] args, CommandSource source) {
DiscordLink.getPlugin().reloadConfig();
source.sendMessage(miniMessage.parse(Config.RELOAD_CONFIG));
source.sendMessage(miniMessage.deserialize(Config.RELOAD_CONFIG));
}
@Override

View File

@ -1,25 +1,79 @@
package com.alttd.proxydiscordlink.minecraft.commands.subcommands;
import com.alttd.proxydiscordlink.DiscordLink;
import com.alttd.proxydiscordlink.bot.objects.DiscordRole;
import com.alttd.proxydiscordlink.config.Config;
import com.alttd.proxydiscordlink.database.Database;
import com.alttd.proxydiscordlink.minecraft.commands.SubCommand;
import com.alttd.proxydiscordlink.objects.DiscordLinkPlayer;
import com.alttd.proxydiscordlink.util.Utilities;
import com.velocitypowered.api.command.CommandSource;
import com.velocitypowered.api.proxy.Player;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.luckperms.api.model.user.User;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.node.types.InheritanceNode;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
public class Sync implements SubCommand { //TODO implement
private final String name;
private final String permission;
private final MiniMessage miniMessage;
public Sync() { //TODO finish syncing roles to db and init command
name = "sync";
permission = "discordlink.sync";
miniMessage = MiniMessage.miniMessage();
}
@Override
public String getName() {
return null;
return name;
}
@Override
public String getPermission() {
return null;
return permission;
}
@Override
public void execute(String[] args, CommandSource source) {
if (!(source instanceof Player player)) {
source.sendMessage(miniMessage.deserialize(Config.NO_CONSOLE));
return;
}
if (!player.hasPermission(getPermission())) {
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
return;
}
User user = Utilities.getLuckPerms().getUserManager().getUser(player.getUniqueId());
if (user == null) {
source.sendMessage(miniMessage.deserialize(Config.INVALID_PLAYER));
return;
}
player.sendMessage(syncAccounts(user));
}
private Component syncAccounts(User user) {
Database database = DiscordLink.getPlugin().getDatabase();
if (!database.playerIsLinked(user.getUniqueId())) {
return miniMessage.deserialize(Config.ACCOUNTS_NOT_LINKED);
}
DiscordLinkPlayer discordLinkPlayer = DiscordLinkPlayer.getDiscordLinkPlayer(user.getUniqueId());
List<DiscordRole> discordRoles = DiscordRole.getDiscordRoles().stream().filter(DiscordRole::isUpdateToDiscord).collect(Collectors.toList());
Collection<InheritanceNode> nodes = user.getNodes(NodeType.INHERITANCE);
//TODO reset all roles and add them again, maybe relinking them is easier???
// return miniMessage.deserialize(Config.SYNCHED_ACCOUNTS);
return (null);
}
@Override
@ -29,6 +83,6 @@ public class Sync implements SubCommand { //TODO implement
@Override
public String getHelpMessage() {
return null;
return Config.HELP_SYNC;
}
}

View File

@ -27,7 +27,7 @@ public class Unlink implements SubCommand {
public Unlink() {
name = "unlink";
permission = "discordlink.unlink";
miniMessage = MiniMessage.get();
miniMessage = MiniMessage.miniMessage();
}
@Override
@ -46,11 +46,11 @@ public class Unlink implements SubCommand {
unlinkOther(args, source);
}
if (!(source instanceof Player player)) {
source.sendMessage(miniMessage.parse(Config.NO_CONSOLE));
source.sendMessage(miniMessage.deserialize(Config.NO_CONSOLE));
return;
}
if (!player.hasPermission(getPermission())) {
source.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
return;
}
@ -59,12 +59,12 @@ public class Unlink implements SubCommand {
private void unlinkOther(String[] args, CommandSource source) {
if (!source.hasPermission(getPermission() + ".other")) {
source.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
source.sendMessage(miniMessage.deserialize(Config.NO_PERMISSION));
return;
}
User user = Utilities.getLuckPerms().getUserManager().getUser(args[1]);
if (user == null) {
source.sendMessage(miniMessage.parse(Config.INVALID_PLAYER));
source.sendMessage(miniMessage.deserialize(Config.INVALID_PLAYER));
return;
}
@ -75,7 +75,7 @@ public class Unlink implements SubCommand {
Database database = DiscordLink.getPlugin().getDatabase();
if (!database.playerIsLinked(uuid)) {
return miniMessage.parse(Config.ACCOUNTS_NOT_LINKED);
return miniMessage.deserialize(Config.ACCOUNTS_NOT_LINKED);
}
DiscordLinkPlayer discordLinkPlayer = DiscordLinkPlayer.getDiscordLinkPlayer(uuid);
@ -91,7 +91,7 @@ public class Unlink implements SubCommand {
.filter(role -> discordLinkPlayer.getRoles().contains(role.getInternalName()))
.collect(Collectors.toList()),
false);
return miniMessage.parse(Config.UNLINKED_ACCOUNTS);
return miniMessage.deserialize(Config.UNLINKED_ACCOUNTS);
}
@Override

View File

@ -20,7 +20,7 @@ import java.util.stream.Collectors;
public class Utilities {
private static LuckPerms luckPerms;
private static MiniMessage miniMessage = MiniMessage.get();
private static MiniMessage miniMessage = MiniMessage.miniMessage();
public static LuckPerms getLuckPerms() {
if (luckPerms == null)
@ -98,7 +98,7 @@ public class Utilities {
public static void broadcast(String message) {
ProxyServer server = DiscordLink.getPlugin().getProxy();
server.sendMessage(miniMessage.parse(message));
server.sendMessage(miniMessage.deserialize(message));
}
public static List<DiscordRole> getDiscordRolesForUser(UUID uuid, Member member) {