9
0
mirror of https://github.com/Auxilor/EcoMobs.git synced 2025-12-24 09:29:28 +00:00

Various fixes and improvements

This commit is contained in:
Auxilor
2022-02-06 13:41:17 +00:00
parent 4765b20d20
commit f7961ba7f3
2 changed files with 13 additions and 4 deletions

View File

@@ -18,7 +18,7 @@ private const val metaKey = "TOP_DAMAGERS"
@Suppress("UNCHECKED_CAST")
var LivingEntity.topDamagers: List<Damager>
get() = (this.getMetadata(metaKey).getOrNull(0) as? List<Damager>) ?: emptyList()
get() = (this.getMetadata(metaKey).getOrNull(0)?.value() as? List<Damager>) ?: emptyList()
private set(value) {
this.removeMetadata(metaKey, EcoBossesPlugin.instance)
this.setMetadata(metaKey, EcoBossesPlugin.instance.metadataValueFactory.create(value))

View File

@@ -1,8 +1,10 @@
package com.willfp.ecobosses.util
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.eco.util.NumberUtils
import com.willfp.eco.util.formatEco
import com.willfp.eco.util.savedDisplayName
import com.willfp.ecobosses.EcoBossesPlugin
import org.bukkit.Bukkit
import org.bukkit.Location
import org.bukkit.entity.Player
@@ -15,9 +17,16 @@ data class LocalBroadcast(
val toBroadcast = messages.toMutableList()
toBroadcast.replaceAll {
var message = it
for ((index, damager) in topDamagers.withIndex()) {
message = message.replace("%damage_${index + 1}%", damager.damage.toString())
.replace("%damage_${index + 1}_player%", Bukkit.getOfflinePlayer(damager.uuid).savedDisplayName)
for (i in 1..20) {
val damager = topDamagers.getOrNull(i - 1)
val damage = if (damager?.damage != null) NumberUtils.format(damager.damage) else
EcoBossesPlugin.instance.langYml.getFormattedString("na")
val player = if (damager?.uuid != null) Bukkit.getOfflinePlayer(damager.uuid).savedDisplayName else
EcoBossesPlugin.instance.langYml.getFormattedString("na")
message = message.replace("%damage_${i}%", damage)
.replace("%damage_${i}_player%", player)
}
message = message.replace("%x%", location.blockX.toString())