mirror of https://github.com/kami-blue/client
[feature] Added old TextRadar
For #1648 Signed-off-by: Dominika <sokolov.dominika@gmail.com>
This commit is contained in:
parent
3bfff5c4db
commit
d258749eae
|
@ -0,0 +1,102 @@
|
||||||
|
package me.zeroeightsix.kami.gui.hudgui.elements.combat
|
||||||
|
|
||||||
|
import me.zeroeightsix.kami.gui.hudgui.LabelHud
|
||||||
|
import me.zeroeightsix.kami.manager.managers.FriendManager
|
||||||
|
import me.zeroeightsix.kami.module.modules.combat.AntiBot
|
||||||
|
import me.zeroeightsix.kami.setting.GuiConfig.setting
|
||||||
|
import me.zeroeightsix.kami.util.text.format
|
||||||
|
import net.minecraft.entity.player.EntityPlayer
|
||||||
|
import net.minecraft.init.MobEffects
|
||||||
|
import net.minecraft.util.text.TextFormatting
|
||||||
|
import org.kamiblue.commons.utils.MathUtils
|
||||||
|
|
||||||
|
object TextRadar : LabelHud(
|
||||||
|
name = "TextRadar",
|
||||||
|
category = Category.COMBAT,
|
||||||
|
description = "View player names and health in text form"
|
||||||
|
) {
|
||||||
|
private val showHeightDifference = setting("ShowHeightDifference", true)
|
||||||
|
private val showCombatPotion = setting("ShowCombatPotion", false)
|
||||||
|
private val showDistance = setting("ShowDistance", true)
|
||||||
|
|
||||||
|
override val minWidth = 10f
|
||||||
|
override val minHeight = 10f
|
||||||
|
|
||||||
|
override fun updateText() {
|
||||||
|
for (player in mc.world.playerEntities.sorted()) {
|
||||||
|
if (player.isDead || player.name == mc.player.name || AntiBot.botSet.contains(player)) continue
|
||||||
|
|
||||||
|
displayText.addLine(
|
||||||
|
player.heightDifference()
|
||||||
|
+ player.formattedHealth()
|
||||||
|
+ player.formattedName()
|
||||||
|
+ player.formattedPotions()
|
||||||
|
+ player.formattedDistance()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun EntityPlayer.heightDifference() = if (showHeightDifference.value) {
|
||||||
|
when {
|
||||||
|
this.posY > mc.player.posY -> {
|
||||||
|
TextFormatting.DARK_GREEN format "+ "
|
||||||
|
}
|
||||||
|
this.posY < mc.player.posY -> {
|
||||||
|
TextFormatting.DARK_RED format "- "
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
" "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun EntityPlayer.formattedDistance() = if (showDistance.value) {
|
||||||
|
" " + (TextFormatting.DARK_GRAY format MathUtils.round(mc.player.getDistance(this), 1))
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun EntityPlayer.formattedName() = if (FriendManager.isFriend(this.name)) {
|
||||||
|
TextFormatting.GREEN format this.name
|
||||||
|
} else {
|
||||||
|
TextFormatting.GRAY format this.name
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun EntityPlayer.formattedPotions(): String = if (showCombatPotion.value) {
|
||||||
|
var potion = ""
|
||||||
|
|
||||||
|
if (this.isPotionActive(MobEffects.WEAKNESS)) {
|
||||||
|
potion += TextFormatting.DARK_GRAY format "W"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.isPotionActive(MobEffects.STRENGTH)) {
|
||||||
|
potion += TextFormatting.DARK_PURPLE format "S"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (potion.isNotEmpty()) {
|
||||||
|
" $potion "
|
||||||
|
} else {
|
||||||
|
potion
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun EntityPlayer.formattedHealth(): String {
|
||||||
|
val health = MathUtils.round(this.health + this.absorptionAmount, 1)
|
||||||
|
return healthColor(health) format "$health "
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun healthColor(health: Double) = when {
|
||||||
|
health >= 20 -> TextFormatting.GREEN
|
||||||
|
health >= 10 -> TextFormatting.YELLOW
|
||||||
|
health >= 5 -> TextFormatting.GOLD
|
||||||
|
else -> TextFormatting.RED
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun List<EntityPlayer>.sorted(): List<EntityPlayer> {
|
||||||
|
return this.sortedBy { it.getDistance(mc.player) }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue