diff --git a/src/main/java/net/momirealms/customnameplates/listener/packet/ActionBarListener.java b/src/main/java/net/momirealms/customnameplates/listener/packet/ActionBarListener.java index 9032a2f..edf0794 100644 --- a/src/main/java/net/momirealms/customnameplates/listener/packet/ActionBarListener.java +++ b/src/main/java/net/momirealms/customnameplates/listener/packet/ActionBarListener.java @@ -20,11 +20,9 @@ package net.momirealms.customnameplates.listener.packet; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.events.ListenerPriority; import com.comphenix.protocol.events.PacketAdapter; -import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.events.PacketEvent; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.manager.ActionBarManager; -import net.momirealms.customnameplates.object.nameplate.mode.PacketsHandler; public class ActionBarListener extends PacketAdapter { @@ -36,6 +34,6 @@ public class ActionBarListener extends PacketAdapter { } public void onPacketSending(PacketEvent event) { - actionBarManager.onReceivePacket(event); + actionBarManager.onReceiveActionBarPacket(event); } } diff --git a/src/main/java/net/momirealms/customnameplates/listener/packet/SystemChatListener.java b/src/main/java/net/momirealms/customnameplates/listener/packet/SystemChatListener.java new file mode 100644 index 0000000..70af7ad --- /dev/null +++ b/src/main/java/net/momirealms/customnameplates/listener/packet/SystemChatListener.java @@ -0,0 +1,22 @@ +package net.momirealms.customnameplates.listener.packet; + +import com.comphenix.protocol.PacketType; +import com.comphenix.protocol.events.ListenerPriority; +import com.comphenix.protocol.events.PacketAdapter; +import com.comphenix.protocol.events.PacketEvent; +import net.momirealms.customnameplates.CustomNameplates; +import net.momirealms.customnameplates.manager.ActionBarManager; + +public class SystemChatListener extends PacketAdapter { + + private final ActionBarManager actionBarManager; + + public SystemChatListener(ActionBarManager actionBarManager) { + super(CustomNameplates.getInstance(), ListenerPriority.HIGHEST, PacketType.Play.Server.SYSTEM_CHAT); + this.actionBarManager = actionBarManager; + } + + public void onPacketSending(PacketEvent event) { + actionBarManager.onReceiveSystemChatPacket(event); + } +} diff --git a/src/main/java/net/momirealms/customnameplates/manager/ActionBarManager.java b/src/main/java/net/momirealms/customnameplates/manager/ActionBarManager.java index ea58ec4..956b185 100644 --- a/src/main/java/net/momirealms/customnameplates/manager/ActionBarManager.java +++ b/src/main/java/net/momirealms/customnameplates/manager/ActionBarManager.java @@ -22,11 +22,11 @@ import com.comphenix.protocol.events.PacketEvent; import com.comphenix.protocol.wrappers.WrappedChatComponent; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.ScoreComponent; -import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.listener.JoinQuitListener; import net.momirealms.customnameplates.listener.packet.ActionBarListener; +import net.momirealms.customnameplates.listener.packet.SystemChatListener; import net.momirealms.customnameplates.object.Function; import net.momirealms.customnameplates.object.actionbar.ActionBarConfig; import net.momirealms.customnameplates.object.actionbar.ActionBarTask; @@ -49,6 +49,7 @@ public class ActionBarManager extends Function { private final LinkedHashMap actionBarConfigMap; private final ConcurrentHashMap actionBarTaskMap; private final ActionBarListener actionBarListener; + private final SystemChatListener systemChatListener; private final JoinQuitListener joinQuitListener; private final CustomNameplates plugin; @@ -58,6 +59,7 @@ public class ActionBarManager extends Function { this.actionBarTaskMap = new ConcurrentHashMap<>(); this.joinQuitListener = new JoinQuitListener(this); this.actionBarListener = new ActionBarListener(this); + this.systemChatListener = new SystemChatListener(this); } @Override @@ -66,6 +68,7 @@ public class ActionBarManager extends Function { this.loadConfig(); Bukkit.getPluginManager().registerEvents(joinQuitListener, plugin); CustomNameplates.getProtocolManager().addPacketListener(actionBarListener); + CustomNameplates.getProtocolManager().addPacketListener(systemChatListener); for (Player player : Bukkit.getOnlinePlayers()) { onJoin(player); } @@ -78,6 +81,7 @@ public class ActionBarManager extends Function { } actionBarConfigMap.clear(); CustomNameplates.getProtocolManager().removePacketListener(actionBarListener); + CustomNameplates.getProtocolManager().removePacketListener(systemChatListener); HandlerList.unregisterAll(joinQuitListener); } @@ -113,7 +117,7 @@ public class ActionBarManager extends Function { AdventureUtils.consoleMessage("[CustomNameplates] Loaded " + actionBarConfigMap.size() + " actionbars"); } - public void onReceivePacket(PacketEvent event) { + public void onReceiveActionBarPacket(PacketEvent event) { PacketContainer packet = event.getPacket(); WrappedChatComponent wrappedChatComponent = packet.getChatComponents().read(0); if (wrappedChatComponent != null) { @@ -131,6 +135,27 @@ public class ActionBarManager extends Function { } } + public void onReceiveSystemChatPacket(PacketEvent event) { + PacketContainer packet = event.getPacket(); + // 1.19+ + Boolean overlay = packet.getBooleans().readSafely(0); + // lower version + Integer position = packet.getIntegers().readSafely(0); + if ((overlay != null && overlay || position != null && position == 2)) { + ActionBarTask actionBarTask = getActionBarTask(event.getPlayer().getUniqueId()); + if (actionBarTask != null) { + Component component = GsonComponentSerializer.gson().deserialize(packet.getStrings().read(0)); + if (component instanceof ScoreComponent scoreComponent) { + if (scoreComponent.name().equals("nameplates") && scoreComponent.objective().equals("actionbar")) { + return; + } + } + event.setCancelled(true); + actionBarTask.setOtherText(AdventureUtils.getMiniMessageFormat(component), System.currentTimeMillis()); + } + } + } + public String getOtherPluginActionBarText(Player player) { ActionBarTask actionBarTask = getActionBarTask(player.getUniqueId()); if (actionBarTask != null) { diff --git a/src/main/java/net/momirealms/customnameplates/manager/NameplateManager.java b/src/main/java/net/momirealms/customnameplates/manager/NameplateManager.java index c74229c..05aac95 100644 --- a/src/main/java/net/momirealms/customnameplates/manager/NameplateManager.java +++ b/src/main/java/net/momirealms/customnameplates/manager/NameplateManager.java @@ -6,7 +6,6 @@ import net.momirealms.customnameplates.object.ConditionalText; import net.momirealms.customnameplates.object.Function; import net.momirealms.customnameplates.object.SimpleChar; import net.momirealms.customnameplates.object.armorstand.ArmorStandManager; -import net.momirealms.customnameplates.object.bubble.BubbleConfig; import net.momirealms.customnameplates.object.font.OffsetFont; import net.momirealms.customnameplates.object.nameplate.NameplateConfig; import net.momirealms.customnameplates.object.nameplate.mode.AbstractNameplateTag; diff --git a/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarSender.java b/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarSender.java index a7e849f..ecd9b94 100644 --- a/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarSender.java +++ b/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarSender.java @@ -2,9 +2,7 @@ package net.momirealms.customnameplates.object.actionbar; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.ScoreComponent; -import net.kyori.adventure.text.minimessage.MiniMessage; import net.momirealms.customnameplates.object.DynamicText; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import net.momirealms.customnameplates.object.requirements.Requirement; import net.momirealms.customnameplates.utils.AdventureUtils; import org.bukkit.entity.Player; @@ -17,10 +15,8 @@ public class ActionBarSender { private int current_text_id; private final DynamicText[] dynamicTexts; private final Requirement[] requirements; - private final ActionBarTask actionBarTask; - public ActionBarSender(int switch_interval, String[] texts, Requirement[] requirements, Player player, ActionBarTask actionBarTask) { - this.actionBarTask = actionBarTask; + public ActionBarSender(int switch_interval, String[] texts, Requirement[] requirements, Player player) { this.player = player; this.switch_interval = switch_interval; this.requirements = requirements; @@ -31,10 +27,10 @@ public class ActionBarSender { this.current_text_id = 0; } - public boolean canSend(PlayerCondition playerCondition) { + public boolean canSend() { if (requirements.length == 0) return true; for (Requirement requirement : requirements) { - if (!requirement.isConditionMet(playerCondition)) { + if (!requirement.isConditionMet(player)) { return false; } } diff --git a/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarTask.java b/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarTask.java index c715975..c4707c3 100644 --- a/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarTask.java +++ b/src/main/java/net/momirealms/customnameplates/object/actionbar/ActionBarTask.java @@ -1,7 +1,6 @@ package net.momirealms.customnameplates.object.actionbar; import net.momirealms.customnameplates.CustomNameplates; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitTask; @@ -12,10 +11,8 @@ public class ActionBarTask { private final ActionBarSender[] actionBarSenders; private String otherText; private long expireTime; - private final Player player; public ActionBarTask(Player player, ActionBarConfig[] configs) { - this.player = player; this.actionBarSenders = new ActionBarSender[configs.length]; this.otherText = ""; for (int i = 0; i < configs.length; i++) { @@ -24,8 +21,7 @@ public class ActionBarTask { actionBarConfig.getInterval(), actionBarConfig.getTexts(), actionBarConfig.getConditions(), - player, - this + player ); } } @@ -39,9 +35,8 @@ public class ActionBarTask { if (System.currentTimeMillis() > getExpireTime()) { this.otherText = ""; } - PlayerCondition playerCondition = new PlayerCondition(player); for (ActionBarSender actionBarSender : actionBarSenders) { - if (actionBarSender.canSend(playerCondition)) { + if (actionBarSender.canSend()) { actionBarSender.send(); return; } diff --git a/src/main/java/net/momirealms/customnameplates/object/armorstand/FakeArmorStand.java b/src/main/java/net/momirealms/customnameplates/object/armorstand/FakeArmorStand.java index 9ef96bd..f262bda 100644 --- a/src/main/java/net/momirealms/customnameplates/object/armorstand/FakeArmorStand.java +++ b/src/main/java/net/momirealms/customnameplates/object/armorstand/FakeArmorStand.java @@ -25,7 +25,6 @@ import com.comphenix.protocol.wrappers.WrappedDataWatcher; import com.google.common.collect.Lists; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.object.DynamicText; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import net.momirealms.customnameplates.object.requirements.Requirement; import org.bukkit.Location; import org.bukkit.entity.Entity; @@ -76,7 +75,7 @@ public class FakeArmorStand { public boolean canShow() { if (requirements == null) return true; for (Requirement requirement : requirements) { - if (!requirement.isConditionMet(new PlayerCondition(owner))) { + if (!requirement.isConditionMet(owner)) { return false; } } diff --git a/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarSender.java b/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarSender.java index 539edc7..2496cf2 100644 --- a/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarSender.java +++ b/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarSender.java @@ -9,7 +9,6 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.object.DynamicText; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import net.momirealms.customnameplates.object.requirements.Requirement; import net.momirealms.customnameplates.utils.AdventureUtils; import org.bukkit.boss.BarColor; @@ -53,10 +52,10 @@ public class BossBarSender { return isShown; } - public boolean canSend(PlayerCondition playerCondition) { + public boolean canSend() { if (requirements.length == 0) return true; for (Requirement requirement : requirements) { - if (!requirement.isConditionMet(playerCondition)) { + if (!requirement.isConditionMet(player)) { return false; } } diff --git a/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarTask.java b/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarTask.java index feed2f5..3ebcc01 100644 --- a/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarTask.java +++ b/src/main/java/net/momirealms/customnameplates/object/bossbar/BossBarTask.java @@ -1,7 +1,6 @@ package net.momirealms.customnameplates.object.bossbar; import net.momirealms.customnameplates.CustomNameplates; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitTask; @@ -37,9 +36,8 @@ public class BossBarTask { public void start() { this.timerTask = Bukkit.getScheduler().runTaskTimerAsynchronously(CustomNameplates.getInstance(), () -> { - PlayerCondition playerCondition = new PlayerCondition(player); for (BossBarSender bossBarSender : bossBarSenders) { - if (!bossBarSender.canSend(playerCondition)) { + if (!bossBarSender.canSend()) { if (bossBarSender.isShown()) { bossBarSender.hide(); return; diff --git a/src/main/java/net/momirealms/customnameplates/object/nameplate/NameplatesTeam.java b/src/main/java/net/momirealms/customnameplates/object/nameplate/NameplatesTeam.java index ea3e410..2b374ac 100644 --- a/src/main/java/net/momirealms/customnameplates/object/nameplate/NameplatesTeam.java +++ b/src/main/java/net/momirealms/customnameplates/object/nameplate/NameplatesTeam.java @@ -21,7 +21,6 @@ import me.clip.placeholderapi.PlaceholderAPI; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.momirealms.customnameplates.CustomNameplates; -import net.momirealms.customnameplates.manager.ConfigManager; import net.momirealms.customnameplates.manager.NameplateManager; import net.momirealms.customnameplates.object.DynamicText; import net.momirealms.customnameplates.utils.AdventureUtils; diff --git a/src/main/java/net/momirealms/customnameplates/object/placeholders/ConditionalTexts.java b/src/main/java/net/momirealms/customnameplates/object/placeholders/ConditionalTexts.java index 2dc44eb..ad90a90 100644 --- a/src/main/java/net/momirealms/customnameplates/object/placeholders/ConditionalTexts.java +++ b/src/main/java/net/momirealms/customnameplates/object/placeholders/ConditionalTexts.java @@ -1,7 +1,6 @@ package net.momirealms.customnameplates.object.placeholders; import net.momirealms.customnameplates.object.ConditionalText; -import net.momirealms.customnameplates.object.requirements.PlayerCondition; import net.momirealms.customnameplates.object.requirements.Requirement; import org.bukkit.entity.Player; @@ -14,11 +13,10 @@ public class ConditionalTexts { } public String getValue(Player player) { - PlayerCondition playerCondition = new PlayerCondition(player); outer: for (ConditionalText conditionalText : conditionalTexts) { for (Requirement requirement : conditionalText.getRequirements()) { - if (!requirement.isConditionMet(playerCondition)) { + if (!requirement.isConditionMet(player)) { continue outer; } } diff --git a/src/main/java/net/momirealms/customnameplates/object/placeholders/NameplatePlaceholders.java b/src/main/java/net/momirealms/customnameplates/object/placeholders/NameplatePlaceholders.java index 0f934e4..80b2aab 100644 --- a/src/main/java/net/momirealms/customnameplates/object/placeholders/NameplatePlaceholders.java +++ b/src/main/java/net/momirealms/customnameplates/object/placeholders/NameplatePlaceholders.java @@ -33,8 +33,6 @@ import org.bukkit.World; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; -import java.util.Optional; - public class NameplatePlaceholders extends PlaceholderExpansion { private final PlaceholderManager placeholderManager; diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/BiomeImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/BiomeImpl.java index 80bfded..122d1af 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/BiomeImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/BiomeImpl.java @@ -18,13 +18,14 @@ package net.momirealms.customnameplates.object.requirements; import net.momirealms.biomeapi.BiomeAPI; +import org.bukkit.entity.Player; import java.util.HashSet; public record BiomeImpl(HashSet biomes) implements Requirement { @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - return biomes.contains(BiomeAPI.getBiome(playerCondition.getPlayer().getLocation())); + public boolean isConditionMet(Player player) { + return biomes.contains(BiomeAPI.getBiome(player.getLocation())); } } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/CustomPapiImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/CustomPapiImpl.java index fe77eec..780d2f0 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/CustomPapiImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/CustomPapiImpl.java @@ -19,15 +19,14 @@ package net.momirealms.customnameplates.object.requirements; import net.momirealms.customnameplates.object.requirements.papi.*; import org.bukkit.configuration.MemorySection; +import org.bukkit.entity.Player; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.Map; public class CustomPapiImpl implements Requirement { - public static HashSet allPapi = new HashSet<>(); private final List papiRequirement; public CustomPapiImpl(Map expressions){ @@ -35,9 +34,9 @@ public class CustomPapiImpl implements Requirement { } @Override - public boolean isConditionMet(PlayerCondition condition) { + public boolean isConditionMet(Player player) { for (PapiRequirement requirement : papiRequirement) { - if (!requirement.isMet(condition.getPapiMap(), condition.getPlayer())) { + if (!requirement.isMet(player)) { return false; } } @@ -61,7 +60,6 @@ public class CustomPapiImpl implements Requirement { String papi = map2.getString("papi"); String value = map2.getString("value"); if (value == null || papi == null || type == null) return; - allPapi.add(papi); switch (type){ case "==" -> papiRequirements.add(new PapiEquals(papi, value)); case "!=" -> papiRequirements.add(new PapiNotEquals(papi, value)); diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/DateImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/DateImpl.java index 04acf31..5b1a130 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/DateImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/DateImpl.java @@ -1,12 +1,14 @@ package net.momirealms.customnameplates.object.requirements; +import org.bukkit.entity.Player; + import java.util.Calendar; import java.util.HashSet; public record DateImpl(HashSet dates) implements Requirement { @Override - public boolean isConditionMet(PlayerCondition playerCondition) { + public boolean isConditionMet(Player player) { Calendar calendar = Calendar.getInstance(); String current = (calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.DATE); return dates.contains(current); diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/PermissionImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/PermissionImpl.java index 9a5e0db..3b2fcc7 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/PermissionImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/PermissionImpl.java @@ -17,6 +17,8 @@ package net.momirealms.customnameplates.object.requirements; +import org.bukkit.entity.Player; + public record PermissionImpl(String permission) implements Requirement { public String getPermission() { @@ -24,7 +26,7 @@ public record PermissionImpl(String permission) implements Requirement { } @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - return playerCondition.getPlayer().hasPermission(permission); + public boolean isConditionMet(Player player) { + return player.hasPermission(permission); } } \ No newline at end of file diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/Requirement.java b/src/main/java/net/momirealms/customnameplates/object/requirements/Requirement.java index f59398a..8ee8b79 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/Requirement.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/Requirement.java @@ -17,6 +17,8 @@ package net.momirealms.customnameplates.object.requirements; +import org.bukkit.entity.Player; + public interface Requirement { - boolean isConditionMet(PlayerCondition playerCondition); + boolean isConditionMet(Player player); } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/TimeImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/TimeImpl.java index 645e96f..bddb922 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/TimeImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/TimeImpl.java @@ -18,6 +18,7 @@ package net.momirealms.customnameplates.object.requirements; import org.apache.commons.lang.StringUtils; +import org.bukkit.entity.Player; import java.util.List; @@ -28,8 +29,8 @@ public record TimeImpl(List times) implements Requirement{ } @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - long time = playerCondition.getPlayer().getWorld().getTime(); + public boolean isConditionMet(Player player) { + long time = player.getWorld().getTime(); for (String range : times) { String[] timeMinMax = StringUtils.split(range, "~"); if (time > Long.parseLong(timeMinMax[0]) && time < Long.parseLong(timeMinMax[1])) { diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/WeatherImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/WeatherImpl.java index c4b1ecf..594d703 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/WeatherImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/WeatherImpl.java @@ -18,6 +18,7 @@ package net.momirealms.customnameplates.object.requirements; import org.bukkit.World; +import org.bukkit.entity.Player; import java.util.List; @@ -28,8 +29,8 @@ public record WeatherImpl(List weathers) implements Requirement { } @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - World world = playerCondition.getPlayer().getWorld(); + public boolean isConditionMet(Player player) { + World world = player.getWorld(); String currentWeather; if (world.isThundering()) { if (world.isClearWeather()) currentWeather = "thunder"; diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/WorldImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/WorldImpl.java index 0493857..a402832 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/WorldImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/WorldImpl.java @@ -17,6 +17,8 @@ package net.momirealms.customnameplates.object.requirements; +import org.bukkit.entity.Player; + import java.util.List; public record WorldImpl(List worlds) implements Requirement { @@ -26,8 +28,8 @@ public record WorldImpl(List worlds) implements Requirement { } @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - org.bukkit.World world = playerCondition.getPlayer().getWorld(); + public boolean isConditionMet(Player player) { + org.bukkit.World world = player.getWorld(); return worlds.contains(world.getName()); } } \ No newline at end of file diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/YPosImpl.java b/src/main/java/net/momirealms/customnameplates/object/requirements/YPosImpl.java index 97af0e7..169e912 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/YPosImpl.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/YPosImpl.java @@ -18,6 +18,7 @@ package net.momirealms.customnameplates.object.requirements; import org.apache.commons.lang.StringUtils; +import org.bukkit.entity.Player; import java.util.List; @@ -28,8 +29,8 @@ public record YPosImpl(List yPos) implements Requirement { } @Override - public boolean isConditionMet(PlayerCondition playerCondition) { - int y = (int) playerCondition.getPlayer().getLocation().getY(); + public boolean isConditionMet(Player player) { + int y = (int) player.getLocation().getY(); for (String range : yPos) { String[] yMinMax = StringUtils.split(range, "~"); if (y > Integer.parseInt(yMinMax[0]) && y < Integer.parseInt(yMinMax[1])) { diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionAnd.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionAnd.java index f631d66..fb42a19 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionAnd.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionAnd.java @@ -19,15 +19,14 @@ package net.momirealms.customnameplates.object.requirements.papi; import org.bukkit.entity.Player; -import java.util.HashMap; import java.util.List; public record ExpressionAnd(List requirements) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { + public boolean isMet(Player player) { for (PapiRequirement requirement : requirements) { - if (!requirement.isMet(papiMap, player)) return false; + if (!requirement.isMet(player)) return false; } return true; } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionOr.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionOr.java index bb2b884..b95e436 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionOr.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/ExpressionOr.java @@ -19,15 +19,14 @@ package net.momirealms.customnameplates.object.requirements.papi; import org.bukkit.entity.Player; -import java.util.HashMap; import java.util.List; public record ExpressionOr(List requirements) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { + public boolean isMet(Player player) { for (PapiRequirement requirement : requirements) { - if (requirement.isMet(papiMap, player)) return true; + if (requirement.isMet(player)) return true; } return false; } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiEquals.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiEquals.java index 63ff1a2..257d75b 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiEquals.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiEquals.java @@ -20,14 +20,13 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; import java.util.Objects; public record PapiEquals(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - String value = papiMap.get(papi); + public boolean isMet(Player player) { + String value = PlaceholderAPI.setPlaceholders(player, papi); return Objects.equals(value, PlaceholderAPI.setPlaceholders(player, requirement)); } } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiGreater.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiGreater.java index e161636..129fc96 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiGreater.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiGreater.java @@ -20,13 +20,11 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; - public record PapiGreater(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - double value = Double.parseDouble(papiMap.get(papi)); + public boolean isMet(Player player) { + double value = Double.parseDouble(PlaceholderAPI.setPlaceholders(player, papi)); return value > Double.parseDouble(PlaceholderAPI.setPlaceholders(player, requirement)); } } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLarger.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLarger.java index ebb88fe..2a72872 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLarger.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLarger.java @@ -20,13 +20,11 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; - public record PapiNoLarger(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - double value = Double.parseDouble(papiMap.get(papi)); + public boolean isMet(Player player) { + double value = Double.parseDouble(PlaceholderAPI.setPlaceholders(player, papi)); return value <= Double.parseDouble(PlaceholderAPI.setPlaceholders(player, requirement)); } } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLess.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLess.java index 304d0d6..d71dec5 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLess.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNoLess.java @@ -20,13 +20,11 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; - public record PapiNoLess(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - double value = Double.parseDouble(papiMap.get(papi)); + public boolean isMet(Player player) { + double value = Double.parseDouble(PlaceholderAPI.setPlaceholders(player, papi)); return value >= Double.parseDouble(PlaceholderAPI.setPlaceholders(player, requirement)); } } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNotEquals.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNotEquals.java index 6df0ce4..ef80bf3 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNotEquals.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiNotEquals.java @@ -20,14 +20,13 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; import java.util.Objects; public record PapiNotEquals(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - String value = papiMap.get(papi); + public boolean isMet(Player player) { + String value = PlaceholderAPI.setPlaceholders(player, papi); return !Objects.equals(value, PlaceholderAPI.setPlaceholders(player, requirement)); } } \ No newline at end of file diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiRequirement.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiRequirement.java index ab693c3..3f85088 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiRequirement.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiRequirement.java @@ -19,8 +19,6 @@ package net.momirealms.customnameplates.object.requirements.papi; import org.bukkit.entity.Player; -import java.util.HashMap; - public interface PapiRequirement { - boolean isMet(HashMap papiMap, Player player); + boolean isMet(Player player); } diff --git a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiSmaller.java b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiSmaller.java index 75c66e1..64161f1 100644 --- a/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiSmaller.java +++ b/src/main/java/net/momirealms/customnameplates/object/requirements/papi/PapiSmaller.java @@ -20,13 +20,11 @@ package net.momirealms.customnameplates.object.requirements.papi; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; -import java.util.HashMap; - public record PapiSmaller(String papi, String requirement) implements PapiRequirement{ @Override - public boolean isMet(HashMap papiMap, Player player) { - double value = Double.parseDouble(papiMap.get(papi)); + public boolean isMet(Player player) { + double value = Double.parseDouble(PlaceholderAPI.setPlaceholders(player, papi)); return value < Double.parseDouble(PlaceholderAPI.setPlaceholders(player, requirement)); } } diff --git a/src/main/java/net/momirealms/customnameplates/utils/AdventureUtils.java b/src/main/java/net/momirealms/customnameplates/utils/AdventureUtils.java index 6b3226f..5d7a511 100644 --- a/src/main/java/net/momirealms/customnameplates/utils/AdventureUtils.java +++ b/src/main/java/net/momirealms/customnameplates/utils/AdventureUtils.java @@ -19,8 +19,6 @@ package net.momirealms.customnameplates.utils; import net.kyori.adventure.audience.Audience; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.TextComponent; -import net.kyori.adventure.text.format.TextDecoration; import net.kyori.adventure.text.minimessage.MiniMessage; import net.momirealms.customnameplates.CustomNameplates; import org.bukkit.Bukkit;