Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.r4g3baby.simplescore.api.scoreboard.Scoreboard
import com.r4g3baby.simplescore.api.scoreboard.data.Priority
import com.r4g3baby.simplescore.bukkit.command.MainCmd
import com.r4g3baby.simplescore.bukkit.config.MainConfig
import com.r4g3baby.simplescore.bukkit.hooks.PapiExpansion
import com.r4g3baby.simplescore.bukkit.listener.PlayerListener
import com.r4g3baby.simplescore.bukkit.protocol.legacy.LegacyProtocolHandler
import com.r4g3baby.simplescore.bukkit.protocol.modern.ModernProtocolHandler
Expand Down Expand Up @@ -38,6 +39,10 @@ class BukkitManager(private val plugin: BukkitPlugin) : BaseManager<Player, Yaml
plugin.getCommand(plugin.name)?.executor = MainCmd(plugin)
plugin.server.pluginManager.registerEvents(PlayerListener(this), plugin)

if (varReplacer.usePlaceholderAPI) {
PapiExpansion(plugin).register()
}

if (config.scoreboardTaskAsync) plugin.scheduler.runTaskTimerAsync(
20L, config.taskUpdateTime, ScoreboardTask(this, protocolHandler)
) else plugin.scheduler.runTaskTimer(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.r4g3baby.simplescore.bukkit.hooks

import com.r4g3baby.simplescore.BukkitPlugin
import me.clip.placeholderapi.expansion.PlaceholderExpansion
import org.bukkit.entity.Player

class PapiExpansion(private val plugin: BukkitPlugin) : PlaceholderExpansion() {
override fun getIdentifier(): String {
return plugin.description.name
}

override fun getAuthor(): String {
return plugin.description.authors[0]
}

override fun getVersion(): String {
return plugin.description.version
}

override fun persist(): Boolean {
return true
}

override fun onPlaceholderRequest(player: Player?, params: String): String? {
if (player == null) return null
val viewer = plugin.manager.getViewer(player.uniqueId) ?: return null

return when {
params.equals("scoreboard", true) -> viewer.scoreboard?.name ?: "none"
params.equals("isHidden", true) -> viewer.isScoreboardHidden.toString()
else -> null
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import kotlin.math.min
import kotlin.math.roundToInt

class VarReplacer(plugin: BukkitPlugin) : VarReplacer<Player> {
private val usePlaceholderAPI = plugin.server.pluginManager.getPlugin("PlaceholderAPI") != null
internal val usePlaceholderAPI = plugin.server.pluginManager.getPlugin("PlaceholderAPI") != null

override fun replace(text: String, viewer: Player): String {
var result = if (usePlaceholderAPI) PlaceholderAPI.setPlaceholders(viewer, text) else text
Expand Down