diff --git a/eco-core/core-plugin/build.gradle b/eco-core/core-plugin/build.gradle index 35618aed..692b3a3c 100644 --- a/eco-core/core-plugin/build.gradle +++ b/eco-core/core-plugin/build.gradle @@ -43,6 +43,7 @@ dependencies { compileOnly 'com.iridium:IridiumSkyblock:3.1.2' compileOnly 'com.github.WillFP:CrashClaim:1.0.19' compileOnly 'com.wolfyscript.wolfyutilities:wolfyutilities:1.7.8.1' + compileOnly 'com.github.decentsoftware-eu:decentholograms:2.1.2' // CombatLogX V10 + NewbieHelper Expansion compileOnly 'com.SirBlobman.combatlogx:CombatLogX-API:10.0.0.0-SNAPSHOT' diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/EcoSpigotPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/EcoSpigotPlugin.kt index b8439f9e..35b89257 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/EcoSpigotPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/EcoSpigotPlugin.kt @@ -66,6 +66,7 @@ import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsItemsA import com.willfp.eco.internal.spigot.integrations.customitems.CustomItemsOraxen import com.willfp.eco.internal.spigot.integrations.economy.EconomyVault import com.willfp.eco.internal.spigot.integrations.hologram.HologramCMI +import com.willfp.eco.internal.spigot.integrations.hologram.HologramDecentHolograms import com.willfp.eco.internal.spigot.integrations.hologram.HologramHolographicDisplays import com.willfp.eco.internal.spigot.integrations.mcmmo.McmmoIntegrationImpl import com.willfp.eco.internal.spigot.integrations.multiverseinventories.MultiverseInventoriesIntegration @@ -213,6 +214,7 @@ abstract class EcoSpigotPlugin : EcoPlugin( // Hologram IntegrationLoader("HolographicDisplays") { HologramManager.register(HologramHolographicDisplays(this)) }, IntegrationLoader("CMI") { HologramManager.register(HologramCMI()) }, + IntegrationLoader("DecentHolograms") { HologramManager.register(HologramDecentHolograms()) }, //IntegrationLoader("GHolo") { HologramManager.register(HologramGHolo()) }, // AFK diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/integrations/hologram/HologramDecentHolograms.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/integrations/hologram/HologramDecentHolograms.kt new file mode 100644 index 00000000..add9ab32 --- /dev/null +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/eco/internal/spigot/integrations/hologram/HologramDecentHolograms.kt @@ -0,0 +1,36 @@ +package com.willfp.eco.internal.spigot.integrations.hologram + +import com.willfp.eco.core.integrations.hologram.Hologram +import com.willfp.eco.core.integrations.hologram.HologramWrapper +import eu.decentsoftware.holograms.api.DHAPI +import me.gholo.api.GHoloAPI +import org.bukkit.Location +import java.util.UUID + +@Suppress("DEPRECATION") +class HologramDecentHolograms : HologramWrapper { + + override fun createHologram(location: Location, contents: MutableList): Hologram { + val id = UUID.randomUUID().toString() + + val holo = DHAPI.createHologram(id, location, contents) + + return HologramImplGHolo(id) + } + + override fun getPluginName(): String { + return "GHolo" + } + + class HologramImplGHolo( + private val id: String, + ) : Hologram { + override fun remove() { + DHAPI.getHologram(id)?.destroy() + } + + override fun setContents(contents: MutableList) { + DHAPI.setHologramLines(DHAPI.getHologram(id), contents) + } + } +} \ No newline at end of file