From 8470a73f91a0f4b230429e88cbe89abb49a54658 Mon Sep 17 00:00:00 2001 From: XiaoMoMi <972454774@qq.com> Date: Thu, 26 Oct 2023 21:48:01 +0800 Subject: [PATCH] fix --- .../bungeecord/BungeeEventListener.java | 6 ++++-- .../customnameplates/manager/ChatBubblesManager.java | 6 +++++- .../customnameplates/manager/ImageManager.java | 1 - .../object/carrier/NamedEntityImpl.java | 6 +++++- .../object/carrier/NamedEntityManager.java | 11 ++++++----- .../object/carrier/NamedEntityPacketsHandler.java | 4 ---- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java index a1c21ec..35d6cb6 100644 --- a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java +++ b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java @@ -29,6 +29,7 @@ import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import java.util.Objects; +import java.util.Optional; public class BungeeEventListener implements Listener { @@ -57,8 +58,9 @@ public class BungeeEventListener implements Listener { String teamName = playerName; if (plugin.getBungeeConfig().isTab()) { TabPlayer tabPlayer = TabAPI.getInstance().getPlayer(playerName); - if (tabPlayer == null) return; - teamName = sortingManager.getOriginalTeamName(tabPlayer); + if (tabPlayer != null) { + teamName = Optional.ofNullable(sortingManager.getOriginalTeamName(tabPlayer)).orElse(playerName); + } } ProxiedPlayer proxiedPlayer = plugin.getProxy().getPlayer(playerName); ByteArrayDataOutput byteArrayDataOutput = ByteStreams.newDataOutput(); diff --git a/src/main/java/net/momirealms/customnameplates/manager/ChatBubblesManager.java b/src/main/java/net/momirealms/customnameplates/manager/ChatBubblesManager.java index e730aed..959c6c3 100644 --- a/src/main/java/net/momirealms/customnameplates/manager/ChatBubblesManager.java +++ b/src/main/java/net/momirealms/customnameplates/manager/ChatBubblesManager.java @@ -44,6 +44,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.permissions.PermissionAttachmentInfo; import org.bukkit.plugin.PluginManager; +import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.Nullable; import java.io.File; @@ -250,7 +251,10 @@ public class ChatBubblesManager extends Function { } public void onChat(Player player, String text) { - if (player.getGameMode() == GameMode.SPECTATOR || !player.hasPermission("bubbles.use")) return; + if (player.getGameMode() == GameMode.SPECTATOR + || player.hasPotionEffect(PotionEffectType.INVISIBILITY) + || !player.hasPermission("bubbles.use") + ) return; String bubble = plugin.getDataManager().getEquippedBubble(player); BubblesEvent bubblesEvent = new BubblesEvent(player, bubble, text); diff --git a/src/main/java/net/momirealms/customnameplates/manager/ImageManager.java b/src/main/java/net/momirealms/customnameplates/manager/ImageManager.java index 58be1e5..c79447a 100644 --- a/src/main/java/net/momirealms/customnameplates/manager/ImageManager.java +++ b/src/main/java/net/momirealms/customnameplates/manager/ImageManager.java @@ -22,7 +22,6 @@ import net.momirealms.customnameplates.object.Function; import net.momirealms.customnameplates.object.SimpleChar; import net.momirealms.customnameplates.utils.AdventureUtils; import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; import org.jetbrains.annotations.Nullable; import java.io.File; diff --git a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityImpl.java b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityImpl.java index 0526961..042f1c7 100644 --- a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityImpl.java @@ -32,6 +32,7 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.entity.Pose; +import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -80,7 +81,10 @@ public class NamedEntityImpl implements NamedEntity { @Override public boolean canShow() { - if (requirements == null) return true; + if (owner.hasPotionEffect(PotionEffectType.INVISIBILITY)) + return false; + if (requirements == null) + return true; for (Requirement requirement : requirements) { if (!requirement.isConditionMet(owner)) { return false; diff --git a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityManager.java b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityManager.java index 7ed68a0..0768c41 100644 --- a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityManager.java +++ b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityManager.java @@ -17,14 +17,9 @@ package net.momirealms.customnameplates.object.carrier; -import com.comphenix.protocol.PacketType; -import com.comphenix.protocol.events.PacketContainer; -import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.object.ConditionalText; import net.momirealms.customnameplates.object.DisplayMode; import net.momirealms.customnameplates.object.DynamicText; -import org.bukkit.Bukkit; -import org.bukkit.Location; import org.bukkit.entity.Player; import java.util.*; @@ -79,6 +74,12 @@ public class NamedEntityManager { fakeArmorStand.spawn(viewer); } + public void spawn() { + for (Player player : nearbyPlayers) { + spawn(player); + } + } + public void refresh(boolean force) { highestTextHeight = -2; for (NamedEntity fakeArmorStand : namedEntityArray) { diff --git a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityPacketsHandler.java b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityPacketsHandler.java index 6aaea03..1b3923c 100644 --- a/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityPacketsHandler.java +++ b/src/main/java/net/momirealms/customnameplates/object/carrier/NamedEntityPacketsHandler.java @@ -17,13 +17,9 @@ package net.momirealms.customnameplates.object.carrier; -import com.comphenix.protocol.PacketType; -import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketEvent; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.listener.packet.*; -import org.bukkit.Bukkit; -import org.bukkit.Location; import org.bukkit.entity.Player; import java.util.List;