Advertisement
Guest User

Untitled

a guest
Apr 24th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. package net.madcrazydrumma.skyrimcraft.gui;
  2.  
  3. import org.lwjgl.opengl.GL11;
  4.  
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.client.gui.FontRenderer;
  7. import net.minecraft.client.gui.Gui;
  8. import net.minecraft.client.renderer.GlStateManager;
  9. import net.minecraft.client.renderer.OpenGlHelper;
  10. import net.minecraft.entity.EntityLivingBase;
  11. import net.minecraft.util.ResourceLocation;
  12. import net.minecraft.util.math.MathHelper;
  13. import net.minecraftforge.client.event.RenderGameOverlayEvent;
  14. import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
  15. import net.minecraftforge.event.entity.player.AttackEntityEvent;
  16. import net.minecraftforge.fml.common.eventhandler.EventPriority;
  17. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  18.  
  19. public class GuiSkyrimIngame extends Gui
  20. {
  21. private Minecraft mc = Minecraft.getMinecraft();
  22.  
  23. private boolean renderMobHealth = false;
  24. private float currentMobHealth = 0;
  25.  
  26. @SubscribeEvent
  27. public void onAttackEntity(AttackEntityEvent event) {
  28. if(event.getTarget() instanceof EntityLivingBase) {
  29. EntityLivingBase entity = (EntityLivingBase) event.getTarget();
  30. if(event.getTarget().isDead) {
  31. renderMobHealth = false;
  32. currentMobHealth = 0;
  33. } else {
  34. renderMobHealth = true;
  35. currentMobHealth = entity.getHealth();
  36. }
  37. }
  38. }
  39.  
  40. @SubscribeEvent
  41. public void renderGameOverlay(RenderGameOverlayEvent event) {
  42. if(event.getType() == ElementType.HEALTH || event.getType() == ElementType.ARMOR || event.getType() == ElementType.FOOD || event.getType() == ElementType.EXPERIENCE) {
  43. event.setCanceled(true);
  44. return;
  45. }
  46. }
  47.  
  48. @SubscribeEvent(priority = EventPriority.NORMAL)
  49. public void renderGameOverlay(RenderGameOverlayEvent.Post event) {
  50. int width = event.getResolution().getScaledWidth();
  51. int height = event.getResolution().getScaledHeight();
  52. FontRenderer fontrenderer = mc.fontRendererObj;
  53.  
  54. /*PlayerNBT props = PlayerNBT.get(this.mc.thePlayer);
  55. if (props == null || props.getMaxMana() == 0) {
  56. return;
  57. }*/
  58.  
  59. ResourceLocation icons = new ResourceLocation("skyrimcraft", "textures/gui/icons.png");
  60.  
  61. GlStateManager.pushMatrix();
  62. GlStateManager.enableBlend();
  63. GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA.factor, GlStateManager.SourceFactor.ONE_MINUS_SRC_ALPHA.factor);
  64.  
  65. mc.renderEngine.bindTexture(icons);
  66. drawTexturedModalRect(width / 2 - 110, 10, 0, 37, 221, 14);
  67.  
  68. //BARS
  69. drawTexturedModalRect(20, height - 40, 0, 51, 102, 10);
  70. drawTexturedModalRect(width / 2 - 50, height - 40, 0, 51, 102, 10);
  71. drawTexturedModalRect(width - 120, height - 40, 0, 51, 102, 10);
  72.  
  73. //Checking stuff for mana and health and stamina
  74. float magicka = (float) (20 * 4.1);//(float) (props.getCurrentMana() * 4.1);
  75. float health = (float) (mc.thePlayer.getHealth() * 4.1);
  76. float stamina = (float) (mc.thePlayer.getFoodStats().getFoodLevel() * 4.1);
  77. //End checking stuff
  78.  
  79. //INNER BARS
  80. drawTexturedModalRect(31, height - 38, 11, 64, (int)magicka, 6); //mana
  81. drawTexturedModalRect(width / 2 - 39, height - 38, 11, 72, (int)health, 6); //health
  82. drawTexturedModalRect(width - 109, height - 38, 11, 80, (int)stamina, 6); //stamina
  83. //END INNER BARS
  84.  
  85. GlStateManager.popMatrix();
  86.  
  87. //EXP
  88. int exp = (int)(this.mc.thePlayer.experience * (float)(182 + 1));
  89. //EXP END
  90.  
  91. int r = 0;
  92. if (mc.thePlayer.rotationYaw < 0) {
  93. r = -MathHelper.floor_double(mc.thePlayer.rotationYaw % 360);
  94. } else {
  95. r = MathHelper.floor_double(mc.thePlayer.rotationYaw % 360);
  96. }
  97.  
  98. boolean flag1 = (r > 0 && r < 180);
  99. boolean flag2 = (r <= 270 && r >= 90);
  100. boolean flag3 = (r <= 180 && r >= 0);
  101. boolean flag5 = (r <= 1 && r >= 0);
  102. boolean flag4 = mc.thePlayer.rotationYaw < 0;
  103.  
  104. if (r == 0) {
  105. drawCenteredString(fontrenderer, "S", width / 2, 13, 0xffffff);
  106. drawCenteredString(fontrenderer, "E", (width / 2) - 90, 13, 0xffffff);
  107. drawCenteredString(fontrenderer, "W", (width / 2) + 90, 13, 0xffffff);
  108. } else if (!flag4) {
  109. drawCenteredString(fontrenderer, flag2 ? "N" : "", (width / 2 - r) + 180, 13, 0xffffff);
  110.  
  111. if (!flag1) {
  112. r = r - 360;
  113. }
  114. drawCenteredString(fontrenderer, !flag2 ? "S" : "", width / 2 - r, 13,
  115. 0xffffff);
  116. drawCenteredString(fontrenderer, !flag3 ? "E" : "",
  117. (width / 2 - r) - 90, 13, 0xffffff);
  118. drawCenteredString(fontrenderer, flag3 ? "W" : "",
  119. (width / 2 - r) + 90, 13, 0xffffff);
  120. } else if (flag4) {
  121. drawCenteredString(fontrenderer, flag2 ? "N" : "",
  122. (width / 2 + r) - 180, 13, 0xffffff);
  123.  
  124. if (!flag1) {
  125. r = r - 360;
  126. }
  127.  
  128. drawCenteredString(fontrenderer, !flag2 ? "S" : "", width / 2 + r, 13,
  129. 0xffffff);
  130. drawCenteredString(fontrenderer, !flag3 ? "W" : "",
  131. (width / 2 + r) + 90, 13, 0xffffff);
  132. drawCenteredString(fontrenderer, flag3 ? "E" : "",
  133. (width / 2 + r) - 90, 13, 0xffffff);
  134. }
  135.  
  136. mc.renderEngine.bindTexture(icons);
  137. if(renderMobHealth) {
  138. drawTexturedModalRect(((float)(width / 2) - 78.5f), (float)32, 3, 88, 157, 8);
  139. drawTexturedModalRect(((float)(width / 2) - 78.5f) + 9, (float)35, 10, 102, (int) (142 % currentMobHealth), 2);
  140. }
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement