diff options
author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-09-20 22:13:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-20 22:13:24 +0200 |
commit | 193d93fc3c9c808c6e22017ec742f50989b6c863 (patch) | |
tree | be473852076034c847bfeb058191007c01b7c7db /src/main/java | |
parent | 199bf2233700b4cdb60f77c79b23b56b2551f01a (diff) | |
parent | e476c41e8956a61de6e1d962c9bb40948db8c2b5 (diff) | |
download | GT5-Unofficial-193d93fc3c9c808c6e22017ec742f50989b6c863.tar.gz GT5-Unofficial-193d93fc3c9c808c6e22017ec742f50989b6c863.tar.bz2 GT5-Unofficial-193d93fc3c9c808c6e22017ec742f50989b6c863.zip |
Merge pull request #22 from GTNewHorizons/bugfix
Prevent the boss status bar from showing
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/kubatech/client/effect/EntityRenderer.java | 12 | ||||
-rw-r--r-- | src/main/java/kubatech/nei/Mob_Handler.java | 24 |
2 files changed, 35 insertions, 1 deletions
diff --git a/src/main/java/kubatech/client/effect/EntityRenderer.java b/src/main/java/kubatech/client/effect/EntityRenderer.java index 1e211b6491..b43979d1c2 100644 --- a/src/main/java/kubatech/client/effect/EntityRenderer.java +++ b/src/main/java/kubatech/client/effect/EntityRenderer.java @@ -14,6 +14,7 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.world.World; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -142,6 +143,12 @@ public class EntityRenderer extends EntityFX { GL11.glEnable(GL12.GL_RESCALE_NORMAL); float desiredScale = MobUtils.getDesiredScale(entityToRender, 2f); if (desiredScale < 1f) GL11.glScalef(desiredScale, desiredScale, desiredScale); + + float healthScale = BossStatus.healthScale; + int statusBarTime = BossStatus.statusBarTime; + String bossName = BossStatus.bossName; + boolean hasColorModifier = BossStatus.hasColorModifier; + try { instance.renderEntityWithPosYaw(entityToRender, 0f, 0f, 0f, f1, p_147936_2_); } catch (Throwable ex) { @@ -152,6 +159,11 @@ public class EntityRenderer extends EntityFX { } } + BossStatus.healthScale = healthScale; + BossStatus.statusBarTime = statusBarTime; + BossStatus.bossName = bossName; + BossStatus.hasColorModifier = hasColorModifier; + GL11.glMatrixMode(GL11.GL_MODELVIEW_MATRIX); stackdepth -= GL11.glGetInteger(GL11.GL_MODELVIEW_STACK_DEPTH); if (stackdepth < 0) for (; stackdepth < 0; stackdepth++) GL11.glPopMatrix(); diff --git a/src/main/java/kubatech/nei/Mob_Handler.java b/src/main/java/kubatech/nei/Mob_Handler.java index 31a0f6d8b8..bdfda0202f 100644 --- a/src/main/java/kubatech/nei/Mob_Handler.java +++ b/src/main/java/kubatech/nei/Mob_Handler.java @@ -55,6 +55,7 @@ import net.minecraft.client.renderer.entity.RendererLivingEntity; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -87,6 +88,7 @@ public class Mob_Handler extends TemplateRecipeHandler { AVERAGE_REMINDER, MOD, MAX_HEALTH, + BOSS, LOOTABLE, PLAYER_ONLY, ; @@ -289,6 +291,13 @@ public class Mob_Handler extends TemplateRecipeHandler { GL11.glPushMatrix(); + float healthScale = BossStatus.healthScale; + int statusBarTime = BossStatus.statusBarTime; + String bossName = BossStatus.bossName; + boolean hasColorModifier = BossStatus.hasColorModifier; + + BossStatus.statusBarTime = 0; + try { EntityLiving e = currentrecipe.mob; @@ -300,6 +309,7 @@ public class Mob_Handler extends TemplateRecipeHandler { int mobx = 30, moby = 50; e.setPosition(mc.thePlayer.posX + 5, mc.thePlayer.posY, mc.thePlayer.posZ); + // ARGS: x, y, scale, rot, rot, entity GuiInventory.func_147046_a( mobx, moby, Math.round(scaled), (x + mobx) - mouseX, y + moby - eheight * scaled - mouseZ, e); @@ -311,6 +321,13 @@ public class Mob_Handler extends TemplateRecipeHandler { } } + if (BossStatus.statusBarTime > 0 && currentrecipe.isBoss.isEmpty()) currentrecipe.isBoss = BossStatus.bossName; + + BossStatus.healthScale = healthScale; + BossStatus.statusBarTime = statusBarTime; + BossStatus.bossName = bossName; + BossStatus.hasColorModifier = hasColorModifier; + GL11.glMatrixMode(GL11.GL_MODELVIEW_MATRIX); stackdepth -= GL11.glGetInteger(GL11.GL_MODELVIEW_STACK_DEPTH); if (stackdepth < 0) for (; stackdepth < 0; stackdepth++) GL11.glPopMatrix(); @@ -348,6 +365,10 @@ public class Mob_Handler extends TemplateRecipeHandler { GuiDraw.drawString(INFERNAL_ALWAYS.get(), x, y += yshift, 0xFFFF0000, false); break; } + + if (!currentrecipe.isBoss.isEmpty()) + GuiDraw.drawString(EnumChatFormatting.BOLD + "" + BOSS.get(), x, y += yshift, 0xFFD68F00, false); + MobRecipeLoader.MobRecipe MBRecipe = GT_MetaTileEntity_ExtremeExterminationChamber.MobNameToRecipeMap.get(currentrecipe.mobname); if (MBRecipe != null) { @@ -371,7 +392,7 @@ public class Mob_Handler extends TemplateRecipeHandler { } x = 6; - y = 83; + y = Math.max(83, 83 + (y - 67)); yshift = nextRowYShift; if (currentrecipe.normalOutputsCount > 0) { GuiDraw.drawString(NORMAL_DROPS.get(), x, y, 0xFF555555, false); @@ -531,6 +552,7 @@ public class Mob_Handler extends TemplateRecipeHandler { public final int rareOutputsCount; public final int additionalOutputsCount; public final int infernalOutputsCount; + public String isBoss = ""; public MobCachedRecipe( EntityLiving mob, |