Advertisement
Guest User

Untitled

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