From c69735ea2b072fda97c16e67d634da8bca15daf8 Mon Sep 17 00:00:00 2001 From: XiaoMoMi <972454774@qq.com> Date: Fri, 2 Feb 2024 02:19:17 +0800 Subject: [PATCH] 2.3.0.7 --- .../api/data/DataStorageInterface.java | 7 ++++++ .../paper/CustomNameplatesPluginImpl.java | 3 +++ .../placeholder/PlaceholderManagerImpl.java | 25 +++++++++++++------ 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/api/src/main/java/net/momirealms/customnameplates/api/data/DataStorageInterface.java b/api/src/main/java/net/momirealms/customnameplates/api/data/DataStorageInterface.java index a847c9e..437ecc7 100644 --- a/api/src/main/java/net/momirealms/customnameplates/api/data/DataStorageInterface.java +++ b/api/src/main/java/net/momirealms/customnameplates/api/data/DataStorageInterface.java @@ -41,6 +41,13 @@ public interface DataStorageInterface { */ StorageType getStorageType(); + /** + * Get a player's data by uuid + * This player can be an offline one + * + * @param uuid uuid + * @return player data + */ CompletableFuture> getPlayerData(UUID uuid); CompletableFuture updatePlayerData(UUID uuid, PlayerData playerData); diff --git a/paper/src/main/java/net/momirealms/customnameplates/paper/CustomNameplatesPluginImpl.java b/paper/src/main/java/net/momirealms/customnameplates/paper/CustomNameplatesPluginImpl.java index df08ecd..aaa8884 100644 --- a/paper/src/main/java/net/momirealms/customnameplates/paper/CustomNameplatesPluginImpl.java +++ b/paper/src/main/java/net/momirealms/customnameplates/paper/CustomNameplatesPluginImpl.java @@ -43,6 +43,7 @@ import net.momirealms.customnameplates.paper.setting.CNLocale; import net.momirealms.customnameplates.paper.storage.StorageManagerImpl; import net.momirealms.customnameplates.paper.util.Migration; import net.momirealms.customnameplates.paper.util.ReflectionUtils; +import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.event.HandlerList; @@ -95,6 +96,8 @@ public class CustomNameplatesPluginImpl extends CustomNameplatesPlugin implement this.getServer().getPluginManager().registerEvents((VersionManagerImpl) versionManager, this); if (CNConfig.generatePackOnStart) this.resourcePackManager.generateResourcePack(); + if (CNConfig.metrics) + new Metrics(this, 16649); } @Override diff --git a/paper/src/main/java/net/momirealms/customnameplates/paper/mechanic/placeholder/PlaceholderManagerImpl.java b/paper/src/main/java/net/momirealms/customnameplates/paper/mechanic/placeholder/PlaceholderManagerImpl.java index a536168..3ec8f51 100644 --- a/paper/src/main/java/net/momirealms/customnameplates/paper/mechanic/placeholder/PlaceholderManagerImpl.java +++ b/paper/src/main/java/net/momirealms/customnameplates/paper/mechanic/placeholder/PlaceholderManagerImpl.java @@ -24,6 +24,7 @@ import net.momirealms.customnameplates.api.mechanic.placeholder.*; import net.momirealms.customnameplates.api.requirement.Requirement; import net.momirealms.customnameplates.api.util.LogUtils; import net.momirealms.customnameplates.common.Pair; +import net.momirealms.customnameplates.paper.setting.CNConfig; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; @@ -242,21 +243,31 @@ public class PlaceholderManagerImpl implements PlaceholderManager { } private void loadBackGroundTexts(ConfigurationSection section) { + if (!CNConfig.backgroundModule) return; for (Map.Entry entry : section.getValues(false).entrySet()) { if (!(entry.getValue() instanceof ConfigurationSection innerSection)) continue; - backGroundTextMap.put(entry.getKey(), - BackGroundText.builder() - .background(Objects.requireNonNull(plugin.getBackGroundManager().getBackGround(innerSection.getString("background")))) - .text(innerSection.getString("text", "")) - .removeShadow(innerSection.getBoolean("remove-shadow")) - .build() - ); + if (innerSection.contains("background")) { + String bg = innerSection.getString("background"); + var background = plugin.getBackGroundManager().getBackGround(bg); + if (background == null) { + LogUtils.warn("Background: " + bg + " doesn't exist"); + continue; + } + backGroundTextMap.put(entry.getKey(), + BackGroundText.builder() + .background(background) + .text(innerSection.getString("text", "")) + .removeShadow(innerSection.getBoolean("remove-shadow")) + .build() + ); + } } } private void loadNameplateTexts(ConfigurationSection section) { + if (!CNConfig.nameplateModule) return; for (Map.Entry entry : section.getValues(false).entrySet()) { if (!(entry.getValue() instanceof ConfigurationSection innerSection)) continue;