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;
}