summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/misc
diff options
context:
space:
mode:
authorThunderblade73 <85900443+Thunderblade73@users.noreply.github.com>2024-03-11 16:28:59 +0100
committerGitHub <noreply@github.com>2024-03-11 16:28:59 +0100
commit5b53cc7bda66be5f740749f9fd0cba23927c4d82 (patch)
tree429d423dbe3e4dec775f6894df810fba9c132bfc /src/main/java/at/hannibal2/skyhanni/features/misc
parent9637398e94e41a1bb8787d2ef5bce6b839606b57 (diff)
downloadskyhanni-5b53cc7bda66be5f740749f9fd0cba23927c4d82.tar.gz
skyhanni-5b53cc7bda66be5f740749f9fd0cba23927c4d82.tar.bz2
skyhanni-5b53cc7bda66be5f740749f9fd0cba23927c4d82.zip
Backend: RenderEntityLiving performance fix (#1127)
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/misc')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/MarkedPlayerManager.kt52
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt4
2 files changed, 26 insertions, 30 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/MarkedPlayerManager.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/MarkedPlayerManager.kt
index 6997da51b..86c7ffc92 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/MarkedPlayerManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/MarkedPlayerManager.kt
@@ -5,10 +5,10 @@ import at.hannibal2.skyhanni.config.enums.OutsideSbFeature
import at.hannibal2.skyhanni.events.ConfigLoadEvent
import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
-import at.hannibal2.skyhanni.events.RenderMobColoredEvent
-import at.hannibal2.skyhanni.events.ResetEntityHurtEvent
-import at.hannibal2.skyhanni.events.withAlpha
+import at.hannibal2.skyhanni.mixins.hooks.RenderLivingEntityHelper
import at.hannibal2.skyhanni.utils.ChatUtils
+import at.hannibal2.skyhanni.utils.ColorUtils.withAlpha
+import at.hannibal2.skyhanni.utils.ConditionalUtils.onToggle
import at.hannibal2.skyhanni.utils.EntityUtils
import at.hannibal2.skyhanni.utils.LorenzUtils
import net.minecraft.client.Minecraft
@@ -16,10 +16,10 @@ import net.minecraft.client.entity.EntityOtherPlayerMP
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class MarkedPlayerManager {
- private val config get() = SkyHanniMod.feature.markedPlayers
-
companion object {
+ private val config get() = SkyHanniMod.feature.markedPlayers
+
val playerNamesToMark = mutableListOf<String>()
private val markedPlayers = mutableMapOf<String, EntityOtherPlayerMP>()
@@ -44,6 +44,7 @@ class MarkedPlayerManager {
ChatUtils.chat("§aMarked §eplayer §b$displayName§e!")
} else {
playerNamesToMark.remove(name)
+ markedPlayers[name]?.let { RenderLivingEntityHelper.removeCustomRender(it) }
markedPlayers.remove(name)
ChatUtils.chat("§cUnmarked §eplayer §b$displayName§e!")
}
@@ -56,11 +57,28 @@ class MarkedPlayerManager {
val name = entity.name.lowercase()
if (name in playerNamesToMark) {
markedPlayers[name] = entity
+ entity.setColor()
}
}
}
+ private fun refreshColours() =
+ markedPlayers.forEach {
+ it.value.setColor()
+ }
+
+ private fun EntityOtherPlayerMP.setColor() {
+ RenderLivingEntityHelper.setEntityColorWithNoHurtTime(
+ this,
+ config.entityColor.get().toColor().withAlpha(127),
+ ::isEnabled
+ )
+ }
+
fun isMarkedPlayer(player: String): Boolean = player.lowercase() in playerNamesToMark
+
+ private fun isEnabled() = (LorenzUtils.inSkyBlock || OutsideSbFeature.MARKED_PLAYERS.isSelected())
+ && config.highlightInWorld
}
@SubscribeEvent
@@ -75,6 +93,7 @@ class MarkedPlayerManager {
playerNamesToMark.remove(name)
}
}
+ config.entityColor.onToggle(::refreshColours)
}
@SubscribeEvent
@@ -87,29 +106,6 @@ class MarkedPlayerManager {
}
@SubscribeEvent
- fun onRenderMobColored(event: RenderMobColoredEvent) {
- if (!isEnabled()) return
-
- val entity = event.entity
- if (entity in markedPlayers.values) {
- event.color = config.entityColor.toColor().withAlpha(127)
- }
- }
-
- @SubscribeEvent
- fun onResetEntityHurtTime(event: ResetEntityHurtEvent) {
- if (!isEnabled()) return
-
- val entity = event.entity
- if (entity in markedPlayers.values) {
- event.shouldReset = true
- }
- }
-
- private fun isEnabled() = (LorenzUtils.inSkyBlock || OutsideSbFeature.MARKED_PLAYERS.isSelected())
- && config.highlightInWorld
-
- @SubscribeEvent
fun onWorldChange(event: LorenzWorldChangeEvent) {
if (Minecraft.getMinecraft().thePlayer == null) return
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
index ffd25c4e1..45a8c2f89 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
@@ -11,12 +11,12 @@ import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.events.LorenzKeyPressEvent
import at.hannibal2.skyhanni.events.LorenzRenderWorldEvent
import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent
-import at.hannibal2.skyhanni.events.withAlpha
import at.hannibal2.skyhanni.features.garden.farming.GardenCropSpeed
import at.hannibal2.skyhanni.mixins.hooks.RenderLivingEntityHelper
import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled
import at.hannibal2.skyhanni.test.command.ErrorManager
import at.hannibal2.skyhanni.utils.ChatUtils
+import at.hannibal2.skyhanni.utils.ColorUtils.withAlpha
import at.hannibal2.skyhanni.utils.ConfigUtils
import at.hannibal2.skyhanni.utils.EntityUtils
import at.hannibal2.skyhanni.utils.LocationUtils
@@ -236,7 +236,7 @@ object TrevorFeatures {
var entityTrapper = EntityUtils.getEntityByID(trapperID)
if (entityTrapper !is EntityLivingBase) entityTrapper = EntityUtils.getEntityByID(backupTrapperID)
if (entityTrapper is EntityLivingBase && config.trapperTalkCooldown) {
- RenderLivingEntityHelper.setEntityColor(entityTrapper, currentStatus.color)
+ RenderLivingEntityHelper.setEntityColorWithNoHurtTime(entityTrapper, currentStatus.color)
{ config.trapperTalkCooldown }
entityTrapper.getLorenzVec().let {
if (it.distanceToPlayer() < 15) {