Fix health bar rendering when it shouldn't
This commit is contained in:
parent
04c295a359
commit
38e4c078fe
@ -193,18 +193,10 @@ object MatteryGUI {
|
|||||||
showIteration(event)
|
showIteration(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderFoodAndAir(event: RenderGuiOverlayEvent.Pre) {
|
private fun renderFoodAndAir(event: RenderGuiOverlayEvent.Pre, gui: ForgeGui) {
|
||||||
if (event.overlay != FOOD_LEVEL_ELEMENT && event.overlay != AIR_LEVEL_ELEMENT) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
val ply: LocalPlayer = minecraft.player ?: return
|
val ply: LocalPlayer = minecraft.player ?: return
|
||||||
|
|
||||||
if (ply.vehicle is LivingEntity ||
|
if (ply.vehicle is LivingEntity) {
|
||||||
minecraft.options.hideGui ||
|
|
||||||
minecraft.gameMode?.canHurtPlayer() == false ||
|
|
||||||
minecraft.getCameraEntity() !is Player
|
|
||||||
) {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,8 +206,6 @@ object MatteryGUI {
|
|||||||
mattery = lastState
|
mattery = lastState
|
||||||
}
|
}
|
||||||
|
|
||||||
val gui = minecraft.gui as? ForgeGui ?: return
|
|
||||||
|
|
||||||
if (mattery != null && mattery.isAndroid) {
|
if (mattery != null && mattery.isAndroid) {
|
||||||
event.isCanceled = true
|
event.isCanceled = true
|
||||||
lastState = mattery
|
lastState = mattery
|
||||||
@ -273,7 +263,7 @@ object MatteryGUI {
|
|||||||
return HEALTH_POISON
|
return HEALTH_POISON
|
||||||
} else if (player.hasEffect(MobEffects.WITHER)) {
|
} else if (player.hasEffect(MobEffects.WITHER)) {
|
||||||
return HEALTH_WITHER
|
return HEALTH_WITHER
|
||||||
} else if (player.isFullyFrozen()) {
|
} else if (player.isFullyFrozen) {
|
||||||
return HEALTH_FROZEN
|
return HEALTH_FROZEN
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,26 +275,23 @@ object MatteryGUI {
|
|||||||
return RGBAColor.DARK_GREEN.toInt()
|
return RGBAColor.DARK_GREEN.toInt()
|
||||||
} else if (player.hasEffect(MobEffects.WITHER)) {
|
} else if (player.hasEffect(MobEffects.WITHER)) {
|
||||||
return RGBAColor.WHITE.toInt()
|
return RGBAColor.WHITE.toInt()
|
||||||
} else if (player.isFullyFrozen()) {
|
} else if (player.isFullyFrozen) {
|
||||||
return RGBAColor.AQUA.toInt()
|
return RGBAColor.AQUA.toInt()
|
||||||
}
|
}
|
||||||
|
|
||||||
return RGBAColor.RED.toInt()
|
return RGBAColor.RED.toInt()
|
||||||
} // можно вынести в конфиг, но для этого нужен селектор цвета
|
} // можно вынести в конфиг, но для этого нужен селектор цвета
|
||||||
|
|
||||||
private fun renderPlayerHealth(event: RenderGuiOverlayEvent.Pre) {
|
private fun renderPlayerHealth(event: RenderGuiOverlayEvent.Pre, gui: ForgeGui) {
|
||||||
if (!ClientConfig.ANDROID_HEALTH_HUD) return
|
if (!ClientConfig.ANDROID_HEALTH_HUD) return
|
||||||
|
|
||||||
val ply: LocalPlayer = minecraft.player ?: return
|
val ply: LocalPlayer = minecraft.player ?: return
|
||||||
|
|
||||||
var mattery = ply.matteryPlayer
|
var mattery = ply.matteryPlayer
|
||||||
|
|
||||||
if (!ply.isAlive && mattery == null) {
|
if (!ply.isAlive && mattery == null) {
|
||||||
mattery = lastState
|
mattery = lastState
|
||||||
}
|
}
|
||||||
|
|
||||||
val gui = minecraft.gui as? ForgeGui ?: return
|
|
||||||
|
|
||||||
if (mattery != null && mattery.isAndroid) {
|
if (mattery != null && mattery.isAndroid) {
|
||||||
event.isCanceled = true
|
event.isCanceled = true
|
||||||
lastState = mattery
|
lastState = mattery
|
||||||
@ -352,10 +339,13 @@ object MatteryGUI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun onLayerRenderEvent(event: RenderGuiOverlayEvent.Pre) {
|
fun onLayerRenderEvent(event: RenderGuiOverlayEvent.Pre) {
|
||||||
|
val gui = minecraft.gui as? ForgeGui ?: return
|
||||||
|
if (minecraft.options.hideGui || !gui.shouldDrawSurvivalElements()) return
|
||||||
|
|
||||||
if (event.overlay == FOOD_LEVEL_ELEMENT || event.overlay == AIR_LEVEL_ELEMENT) {
|
if (event.overlay == FOOD_LEVEL_ELEMENT || event.overlay == AIR_LEVEL_ELEMENT) {
|
||||||
renderFoodAndAir(event)
|
renderFoodAndAir(event, gui)
|
||||||
} else if (event.overlay == PLAYER_HEALTH_ELEMENT) {
|
} else if (event.overlay == PLAYER_HEALTH_ELEMENT) {
|
||||||
renderPlayerHealth(event)
|
renderPlayerHealth(event, gui)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user