diff --git a/build.gradle.kts b/build.gradle.kts index 3739d36..50947f2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,6 +31,7 @@ dependencies { paperweight.paperDevBundle(libs.versions.paperApi.get()) compileOnly(libs.placeholder.api) + compileOnly(libs.tab.api) compileOnly(libs.packet.events) implementation(libs.entity.lib) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 15f0209..ce6034d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,6 +11,7 @@ runPaper = "2.2.4" packetEvents = "2.4.0" entityLib = "2.4.9-SNAPSHOT" +tab = "4.1.8" [libraries] @@ -21,6 +22,7 @@ placeholder-api = { module = "me.clip:placeholderapi", version.ref = "placeholde ktgui = { module = "com.mattmx:ktgui", version.ref = "ktgui" } packet-events = { module = "com.github.retrooper:packetevents-spigot", version.ref = "packetEvents" } entity-lib = { module = "me.tofaa.entitylib:spigot", version.ref = "entityLib" } +tab-api = { module = "com.github.NEZNAMY:TAB-API", version.ref = "tab" } [plugins] diff --git a/src/main/java/com/mattmx/nametags/hook/NeznamyTABHook.java b/src/main/java/com/mattmx/nametags/hook/NeznamyTABHook.java new file mode 100644 index 0000000..f2aa698 --- /dev/null +++ b/src/main/java/com/mattmx/nametags/hook/NeznamyTABHook.java @@ -0,0 +1,29 @@ +package com.mattmx.nametags.hook; + +import com.mattmx.nametags.NameTags; +import me.neznamy.tab.api.TabAPI; +import me.neznamy.tab.api.nametag.NameTagManager; +import me.neznamy.tab.api.nametag.UnlimitedNameTagManager; +import org.bukkit.Bukkit; +import org.jetbrains.annotations.NotNull; + +public class NeznamyTABHook { + + public static void inject(@NotNull NameTags plugin) { + Bukkit.getScheduler().runTask(plugin, NeznamyTABHook::start); + } + + private static void start() { + final boolean isTab = Bukkit.getPluginManager().isPluginEnabled("TAB"); + + if (!isTab) return; + + NameTagManager nameTagManager = TabAPI.getInstance().getNameTagManager(); + + if (nameTagManager instanceof UnlimitedNameTagManager unlimitedNameTagManager) { + // TODO(matt): Disable this module somehow? + // Maybe we need to use the TAB jar as a dependency, i don't think api exposes it. + } + } + +}