diff options
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java')
-rw-r--r-- | src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java new file mode 100644 index 0000000..38fa874 --- /dev/null +++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java @@ -0,0 +1,37 @@ +package com.thatgravyboat.skyblockhud.handlers; + +import com.thatgravyboat.skyblockhud.SkyblockHud; +import com.thatgravyboat.skyblockhud.Utils; +import com.thatgravyboat.skyblockhud.location.DwarvenMineHandler; +import com.thatgravyboat.skyblockhud.location.LocationHandler; +import com.thatgravyboat.skyblockhud.location.Locations; +import net.minecraft.entity.boss.BossStatus; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class BossbarHandler { + + public static boolean bossBarRendered = true; + + @SubscribeEvent(priority = EventPriority.LOWEST) + public void onBossbarRender(RenderGameOverlayEvent.Pre event) { + if (event.type == RenderGameOverlayEvent.ElementType.BOSSHEALTH && BossStatus.bossName != null) { + bossBarRendered = !event.isCanceled(); + if (!SkyblockHud.config.main.bossShiftHud){ + bossBarRendered = false; + } + String bossName = Utils.removeColor(BossStatus.bossName); + if (SkyblockHud.config.renderer.hideBossBar && DwarvenMineHandler.currentEvent == DwarvenMineHandler.Event.NONE && !LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS)){ + if (bossName.equalsIgnoreCase("wither")){ + event.setCanceled(true); + bossBarRendered = false; + } + if (bossName.toLowerCase().startsWith("objective:")){ + event.setCanceled(true); + bossBarRendered = false; + } + } + } + } +} |