mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-10-05 08:47:39 +02:00
Defer legacy component handling on 1.7 servers to Kyori lib
This commit is contained in:
parent
141d3e26ea
commit
94809c2a66
@ -25,7 +25,6 @@
|
||||
|
||||
package me.lucko.luckperms.bukkit;
|
||||
|
||||
import me.lucko.luckperms.bukkit.util.CraftBukkitImplementation;
|
||||
import me.lucko.luckperms.common.plugin.LuckPermsPlugin;
|
||||
import me.lucko.luckperms.common.sender.Sender;
|
||||
import me.lucko.luckperms.common.sender.SenderFactory;
|
||||
@ -78,12 +77,13 @@ public class BukkitSenderFactory extends SenderFactory<CommandSender> {
|
||||
|
||||
@Override
|
||||
protected void sendMessage(CommandSender sender, Component message) {
|
||||
if (CraftBukkitImplementation.isChatCompatible() && sender instanceof Player) {
|
||||
if (sender instanceof Player) {
|
||||
TextAdapter.sendComponent(sender, message);
|
||||
} else {
|
||||
// Fallback to legacy format
|
||||
sendMessage(sender, TextUtils.toLegacy(message));
|
||||
return;
|
||||
}
|
||||
|
||||
// Fallback to legacy format
|
||||
sendMessage(sender, TextUtils.toLegacy(message));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -34,32 +34,17 @@ public final class CraftBukkitImplementation {
|
||||
private CraftBukkitImplementation() {}
|
||||
|
||||
private static final String SERVER_PACKAGE_VERSION;
|
||||
private static final boolean CHAT_COMPATIBLE;
|
||||
|
||||
static {
|
||||
Class<?> server = Bukkit.getServer().getClass();
|
||||
Matcher matcher = Pattern.compile("^org\\.bukkit\\.craftbukkit\\.(\\w+)\\.CraftServer$").matcher(server.getName());
|
||||
if (matcher.matches()) {
|
||||
SERVER_PACKAGE_VERSION = '.' + matcher.group(1) + '.';
|
||||
CHAT_COMPATIBLE = !SERVER_PACKAGE_VERSION.startsWith(".v1_7_");
|
||||
} else {
|
||||
SERVER_PACKAGE_VERSION = ".";
|
||||
CHAT_COMPATIBLE = true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isChatCompatible() {
|
||||
return CHAT_COMPATIBLE;
|
||||
}
|
||||
|
||||
public static String nms(String className) {
|
||||
return "net.minecraft.server" + SERVER_PACKAGE_VERSION + className;
|
||||
}
|
||||
|
||||
public static Class<?> nmsClass(String className) throws ClassNotFoundException {
|
||||
return Class.forName(nms(className));
|
||||
}
|
||||
|
||||
public static String obc(String className) {
|
||||
return "org.bukkit.craftbukkit" + SERVER_PACKAGE_VERSION + className;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user