From a8db0033df9a2ddf7f30dceb0bd2b283c580ab23 Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Thu, 3 Sep 2020 17:23:23 +0100 Subject: [PATCH] Add MineDown support (and with that RGB colors) --- pom.xml | 10 +++++++-- randomteleport-plugin/pom.xml | 4 ++++ .../randomteleport/RandomTeleport.java | 21 ++++++++++++++----- .../searcher/options/SimpleOptionParser.java | 2 +- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index c2630c2..2a5e2ed 100644 --- a/pom.xml +++ b/pom.xml @@ -50,8 +50,8 @@ - org.bukkit - bukkit + org.spigotmc + spigot-api 1.13.2-R0.1-SNAPSHOT provided @@ -61,6 +61,12 @@ 1.0.2 compile + + de.themoep + minedown + 1.6.1-SNAPSHOT + compile + de.themoep.utils lang-bukkit diff --git a/randomteleport-plugin/pom.xml b/randomteleport-plugin/pom.xml index ec46ad8..d7d7e9c 100644 --- a/randomteleport-plugin/pom.xml +++ b/randomteleport-plugin/pom.xml @@ -65,6 +65,10 @@ io.papermc.lib de.themoep.randomteleport.libs.paperlib + + de.themoep.minedown + de.themoep.randomteleport.libs.minedown + de.themoep.utils.lang de.themoep.randomteleport.libs.lang diff --git a/randomteleport-plugin/src/main/java/de/themoep/randomteleport/RandomTeleport.java b/randomteleport-plugin/src/main/java/de/themoep/randomteleport/RandomTeleport.java index e2950d2..40decff 100644 --- a/randomteleport-plugin/src/main/java/de/themoep/randomteleport/RandomTeleport.java +++ b/randomteleport-plugin/src/main/java/de/themoep/randomteleport/RandomTeleport.java @@ -20,6 +20,7 @@ package de.themoep.randomteleport; import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table; +import de.themoep.minedown.MineDown; import de.themoep.randomteleport.api.RandomTeleportAPI; import de.themoep.randomteleport.hook.HookManager; import de.themoep.randomteleport.listeners.SignListener; @@ -38,6 +39,8 @@ import de.themoep.randomteleport.searcher.validators.ProtectionValidator; import de.themoep.randomteleport.searcher.validators.WorldborderValidator; import de.themoep.utils.lang.bukkit.LanguageManager; import io.papermc.lib.PaperLib; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; @@ -276,16 +279,24 @@ public class RandomTeleport extends JavaPlugin implements RandomTeleportAPI { } public boolean sendMessage(CommandSender sender, String key, String... replacements) { - String message = getMessage(sender, key, replacements); - if (message != null && !message.isEmpty()) { - sender.sendMessage(message); + BaseComponent[] message = getComponentMessage(sender, key, replacements); + if (message != null && message.length != 0) { + sender.spigot().sendMessage(message); return true; } return false; } - public String getMessage(CommandSender sender, String key, String... replacements) { - return lang.getConfig(sender).get(key, replacements); + public BaseComponent[] getComponentMessage(CommandSender sender, String key, String... replacements) { + return MineDown.parse(getLang(sender, key), replacements); + } + + public String getTextMessage(CommandSender sender, String key, String... replacements) { + return TextComponent.toLegacyText(getComponentMessage(sender, key, replacements)); + } + + private String getLang(CommandSender sender, String key) { + return lang.getConfig(sender).get(key); } public HookManager getHookManager() { diff --git a/randomteleport-plugin/src/main/java/de/themoep/randomteleport/searcher/options/SimpleOptionParser.java b/randomteleport-plugin/src/main/java/de/themoep/randomteleport/searcher/options/SimpleOptionParser.java index 73cfeec..05ab0c2 100644 --- a/randomteleport-plugin/src/main/java/de/themoep/randomteleport/searcher/options/SimpleOptionParser.java +++ b/randomteleport-plugin/src/main/java/de/themoep/randomteleport/searcher/options/SimpleOptionParser.java @@ -58,7 +58,7 @@ public class SimpleOptionParser implements OptionParser { } if (aliases.contains(option)) { if (!hasAccess(searcher.getInitiator())) { - throw new IllegalArgumentException(searcher.getPlugin().getMessage( + throw new IllegalArgumentException(searcher.getPlugin().getTextMessage( searcher.getInitiator(), "error.no-permission.option", "option", option, "perm", "randomteleport.manual.option." + aliases.iterator().next()));