diff --git a/pom.xml b/pom.xml index 54310ee..dab4b7c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer MiniPlayerTitle - 4.2.7 + 4.2.8 jar MiniPlayerTitle diff --git a/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java b/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java index d76999a..0740894 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/Expansion.java @@ -32,19 +32,10 @@ public class Expansion extends PlaceholderExpansion { @Override public String onPlaceholderRequest(Player bukkitPlayer, @NotNull String params) { if (params.equalsIgnoreCase("player_title")) { - PlayerInfoDTO player = PlayerInfoDTO.get(bukkitPlayer); - if (player == null) { + TitleDTO t = MiniPlayerTitle.instance.getPlayerUsingTitle(bukkitPlayer.getUniqueId()); + if (t == null) { return ""; } - if (player.getUsingTitle().getId() == -1) { - return ""; - } - PlayerTitleDTO title = PlayerTitleDTO.get(bukkitPlayer.getUniqueId(), player.getUsingTitle().getId()); - if (title == null || title.isExpired()) { - player.setUsingTitle(null); - return ""; - } - TitleDTO t = title.getTitle(); return ChatColor.translateAlternateColorCodes('&', t.getTitleColoredBukkit()); } diff --git a/src/main/java/cn/lunadeer/miniplayertitle/MiniPlayerTitle.java b/src/main/java/cn/lunadeer/miniplayertitle/MiniPlayerTitle.java index 00d9642..a5770c1 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/MiniPlayerTitle.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/MiniPlayerTitle.java @@ -1,12 +1,16 @@ package cn.lunadeer.miniplayertitle; import cn.lunadeer.minecraftpluginutils.*; +import cn.lunadeer.miniplayertitle.dtos.TitleDTO; import cn.lunadeer.miniplayertitle.utils.ConfigManager; import cn.lunadeer.miniplayertitle.utils.DatabaseTables; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; +import java.util.UUID; public final class MiniPlayerTitle extends JavaPlugin { @@ -71,8 +75,17 @@ public final class MiniPlayerTitle extends JavaPlugin { public static ConfigManager config; public static DatabaseManager database; private GiteaReleaseCheck giteaReleaseCheck; + private Map playerUsingTitle = new HashMap<>(); public static boolean usingPapi() { return Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI"); } + + public void setPlayerUsingTitle(UUID uuid, TitleDTO title) { + playerUsingTitle.put(uuid, title); + } + + public TitleDTO getPlayerUsingTitle(UUID uuid) { + return playerUsingTitle.get(uuid); + } } diff --git a/src/main/java/cn/lunadeer/miniplayertitle/commands/Apis.java b/src/main/java/cn/lunadeer/miniplayertitle/commands/Apis.java index 84f06f7..8f3bd19 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/commands/Apis.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/commands/Apis.java @@ -1,6 +1,7 @@ package cn.lunadeer.miniplayertitle.commands; import cn.lunadeer.minecraftpluginutils.Notification; +import cn.lunadeer.miniplayertitle.MiniPlayerTitle; import cn.lunadeer.miniplayertitle.dtos.TitleDTO; import net.kyori.adventure.text.Component; import org.bukkit.command.CommandSender; @@ -24,6 +25,7 @@ public class Apis { } public static void updateName(Player player, @Nullable TitleDTO title) { + MiniPlayerTitle.instance.setPlayerUsingTitle(player.getUniqueId(), title); if (usingPapi()) { return; }