diff --git a/build.gradle.kts b/build.gradle.kts index 3ccf6e8..9f9d015 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,11 +16,13 @@ java { repositories { maven("https://repo.purpurmc.org/snapshots/") maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") + maven("https://jitpack.io") } dependencies { paperweight.paperDevBundle("1.20.1-R0.1-SNAPSHOT", "org.purpurmc.purpur") compileOnly("me.clip:placeholderapi:2.11.3") + compileOnly("com.github.LeonMangler:SuperVanish:6.2.17") } tasks { diff --git a/src/main/java/me/youhavetrouble/notjustnameplates/NotJustNameplates.java b/src/main/java/me/youhavetrouble/notjustnameplates/NotJustNameplates.java index 2dd9dd8..aa97e8f 100644 --- a/src/main/java/me/youhavetrouble/notjustnameplates/NotJustNameplates.java +++ b/src/main/java/me/youhavetrouble/notjustnameplates/NotJustNameplates.java @@ -3,9 +3,6 @@ package me.youhavetrouble.notjustnameplates; import me.youhavetrouble.notjustnameplates.commands.MainCommand; import me.youhavetrouble.notjustnameplates.displays.DisplayContent; import me.youhavetrouble.notjustnameplates.nameplates.NameplateManager; -import net.kyori.adventure.text.minimessage.MiniMessage; -import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; -import net.kyori.adventure.text.minimessage.tag.standard.StandardTags; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.permissions.PermissionDefault; @@ -23,9 +20,7 @@ public final class NotJustNameplates extends JavaPlugin { private final TeamManager teamManager = new TeamManager(); private NameplateManager nameplateManager = null; - private static boolean papiHook = false; - - public static final MiniMessage miniMessage = null; + private static boolean papiHook, superVanishHook = false; @Override public void onEnable() { @@ -33,6 +28,7 @@ public final class NotJustNameplates extends JavaPlugin { config = new NJNConfig(this); papiHook = Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null && Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI"); + superVanishHook = Bukkit.getPluginManager().isPluginEnabled("SuperVanish") || Bukkit.getPluginManager().isPluginEnabled("PremiumVanish"); DefaultPermissions.registerPermission("notjustnameplates.seeown", "Allows a player to see their own nameplate", PermissionDefault.FALSE); DefaultPermissions.registerPermission("notjustnameplates.command", "Allows a player to use the /njn command", PermissionDefault.TRUE); @@ -110,4 +106,7 @@ public final class NotJustNameplates extends JavaPlugin { return papiHook; } + public static boolean isSuperVanishHooked() { + return superVanishHook; + } } diff --git a/src/main/java/me/youhavetrouble/notjustnameplates/nameplates/Nameplate.java b/src/main/java/me/youhavetrouble/notjustnameplates/nameplates/Nameplate.java index b7e4fe1..519321f 100644 --- a/src/main/java/me/youhavetrouble/notjustnameplates/nameplates/Nameplate.java +++ b/src/main/java/me/youhavetrouble/notjustnameplates/nameplates/Nameplate.java @@ -1,5 +1,6 @@ package me.youhavetrouble.notjustnameplates.nameplates; +import de.myzelyam.api.vanish.VanishAPI; import me.youhavetrouble.notjustnameplates.NotJustNameplates; import me.youhavetrouble.notjustnameplates.displays.DisplayContent; import me.youhavetrouble.notjustnameplates.text.TextParser; @@ -148,6 +149,11 @@ public class Nameplate { return; } + if (NotJustNameplates.isSuperVanishHooked() && VanishAPI.isInvisible(player)) { + remove(); + return; + } + createDisplayEntity(); if (textDisplay == null || textDisplay.isDead()) return; if (!player.getPassengers().contains(textDisplay)) { diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml index edb9703..d8ecd2c 100644 --- a/src/main/resources/paper-plugin.yml +++ b/src/main/resources/paper-plugin.yml @@ -8,3 +8,7 @@ website: https://youhavetrouble.me dependencies: - name: PlaceholderAPI required: false + - name: SuperVanish + required: false + - name: PremiumVanish + required: false