diff --git a/build.gradle b/build.gradle index eb6e5eb..7840033 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ plugins { } group 'me.arasple.mc.trhologram' -version '2.0-BETA2' +version '2.0-BETA3' task buildJar(dependsOn: [clean, shadowJar]) diff --git a/libs/TrMenu-3.0-Beta6-all.jar b/libs/TrMenu-3.0-Beta6-all.jar new file mode 100644 index 0000000..e3d9d7a Binary files /dev/null and b/libs/TrMenu-3.0-Beta6-all.jar differ diff --git a/src/main/kotlin/me/arasple/mc/trhologram/module/conf/HologramLoader.kt b/src/main/kotlin/me/arasple/mc/trhologram/module/conf/HologramLoader.kt index 6f462e2..df8561e 100644 --- a/src/main/kotlin/me/arasple/mc/trhologram/module/conf/HologramLoader.kt +++ b/src/main/kotlin/me/arasple/mc/trhologram/module/conf/HologramLoader.kt @@ -15,6 +15,8 @@ import me.arasple.mc.trhologram.module.action.Reaction import me.arasple.mc.trhologram.module.condition.Condition import me.arasple.mc.trhologram.module.display.Hologram import me.arasple.mc.trhologram.module.display.texture.Texture +import me.arasple.mc.trhologram.module.display.texture.TrMenuTexture +import me.arasple.mc.trhologram.module.hook.HookPlugin import me.arasple.mc.trhologram.util.Parser import org.bukkit.Location import org.bukkit.command.CommandSender @@ -105,11 +107,12 @@ object HologramLoader { val offset = options[Property.OFFSET]?.toDoubleOrNull() ?: lineSpacing val isItem = itemDisplay != null val fix = if (isItem) 0.5 else 0.0 + val texture = if (!HookPlugin.TRMENU) Texture.createTexture(itemDisplay!!) else TrMenuTexture(itemDisplay!!) position = position.clone(y = -(fix + offset)) val hologram = when { - isItem -> ItemHologram(Texture.createTexture(itemDisplay!!), position, update) + isItem -> ItemHologram(texture, position, update) line.isBlank() -> null else -> TextHologram(line, position, update) } diff --git a/src/main/kotlin/me/arasple/mc/trhologram/module/display/texture/TrMenuTexture.kt b/src/main/kotlin/me/arasple/mc/trhologram/module/display/texture/TrMenuTexture.kt new file mode 100644 index 0000000..5adfda1 --- /dev/null +++ b/src/main/kotlin/me/arasple/mc/trhologram/module/display/texture/TrMenuTexture.kt @@ -0,0 +1,21 @@ +package me.arasple.mc.trhologram.module.display.texture + +import me.arasple.mc.trhologram.api.base.ItemTexture +import me.arasple.mc.trmenu.module.display.MenuSession +import org.bukkit.entity.Player +import org.bukkit.inventory.ItemStack + +/** + * @author Arasple + * @date 2021/2/12 21:11 + */ +class TrMenuTexture(texture: String) : ItemTexture { + + private val texture = me.arasple.mc.trmenu.module.display.texture.Texture.createTexture(texture) + + override fun generate(player: Player): ItemStack { + return texture.generate(MenuSession.getSession(player)) + } + + +} \ No newline at end of file diff --git a/src/main/kotlin/me/arasple/mc/trhologram/module/hook/HookPlugin.kt b/src/main/kotlin/me/arasple/mc/trhologram/module/hook/HookPlugin.kt new file mode 100644 index 0000000..4b20d00 --- /dev/null +++ b/src/main/kotlin/me/arasple/mc/trhologram/module/hook/HookPlugin.kt @@ -0,0 +1,17 @@ +package me.arasple.mc.trhologram.module.hook + +import org.bukkit.Bukkit + +/** + * @author Arasple + * @date 2021/2/12 21:12 + */ +object HookPlugin { + + val TRMENU by lazy { + + Bukkit.getPluginManager().getPlugin("TrMenu")?.isEnabled ?: false + + } + +} \ No newline at end of file