Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.madcrazydrumma.skyrimcraft.gui;
- import org.lwjgl.opengl.GL11;
- import net.madcrazydrumma.skyrimcraft.capability.CapabilityMana;
- import net.madcrazydrumma.skyrimcraft.item.ModItems;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.Gui;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.util.math.MathHelper;
- import net.minecraftforge.client.event.RenderGameOverlayEvent;
- import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
- import net.minecraftforge.event.entity.player.AttackEntityEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- public class GuiSkyrimIngame extends Gui
- {
- private Minecraft mc = Minecraft.getMinecraft();
- protected ResourceLocation bow_crosshair = new ResourceLocation("skyrimcraft", "textures/gui/bow_crosshair.png");
- private boolean renderMobHealth = false;
- private float currentMobHealth = 0;
- @SubscribeEvent
- public void onAttackEntity(AttackEntityEvent event) {
- if(event.getTarget() instanceof EntityLivingBase) {
- EntityLivingBase entity = (EntityLivingBase) event.getTarget();
- if(event.getTarget().isDead) {
- renderMobHealth = false;
- currentMobHealth = 0;
- } else {
- renderMobHealth = true;
- currentMobHealth = entity.getHealth();
- }
- }
- }
- @SubscribeEvent
- public void renderGameOverlay(RenderGameOverlayEvent.Pre event) {
- if(event.getType() == ElementType.HEALTH || event.getType() == ElementType.ARMOR || event.getType() == ElementType.FOOD /*|| event.getType() == ElementType.EXPERIENCE*/) {
- event.setCanceled(true);
- return;
- }
- if(event.getType() == ElementType.CROSSHAIRS) {
- if(mc.thePlayer.getHeldItemMainhand() != null
- && mc.thePlayer.getHeldItemMainhand().getItem() == ModItems.daedricBow) {
- event.setCanceled(true); // ?
- //draw new crosshair
- int width = event.getResolution().getScaledWidth();
- int height = event.getResolution().getScaledHeight();
- mc.renderEngine.bindTexture(bow_crosshair);
- drawModalRectWithCustomSizedTexture(width / 2 - 4, height / 2 - 4, 0, 0, 8, 8, 8, 8);
- }
- }
- }
- @SubscribeEvent
- public void renderGameOverlay(RenderGameOverlayEvent.Post event) {
- if(event.getType() != ElementType.ALL)
- return;
- int width = event.getResolution().getScaledWidth();
- int height = event.getResolution().getScaledHeight();
- FontRenderer fontrenderer = mc.fontRendererObj;
- ResourceLocation icons = new ResourceLocation("skyrimcraft", "textures/gui/icons.png");
- GlStateManager.disableLighting();
- GlStateManager.enableRescaleNormal();
- GlStateManager.enableBlend();
- GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GlStateManager.depthMask(false);
- mc.renderEngine.bindTexture(icons);
- drawTexturedModalRect(width / 2 - 110, 10, 0, 37, 221, 14);
- //BARS
- drawTexturedModalRect(20, height - 40, 0, 51, 102, 10);
- drawTexturedModalRect(width / 2 - 50, height - 40, 0, 51, 102, 10);
- drawTexturedModalRect(width - 120, height - 40, 0, 51, 102, 10);
- //Checking stuff for mana and health and stamina
- float magicka = (float) (20 * 4.1);
- float health = (float) (mc.thePlayer.getHealth() * 4.1);
- float stamina = (float) (mc.thePlayer.getFoodStats().getFoodLevel() / 20);//* 4.1);
- //End checking stuff
- float barMaxWidth = 80;
- float healthBarWidth = barMaxWidth * (mc.thePlayer.getHealth() / mc.thePlayer.getMaxHealth());
- float healthBarStartX = (width / 2 - 39) + ((barMaxWidth - healthBarWidth) / 2);
- float staminaBarWidth = barMaxWidth * (mc.thePlayer.getFoodStats().getFoodLevel() / 20);
- float staminaBarStartX = (width - 109) + (barMaxWidth - staminaBarWidth);
- //INNER BARS
- drawTexturedModalRect(31, height - 38, 11, 64, (int)magicka, 6); //mana
- //drawTexturedModalRect(width / 2 - 39, height - 38, 11, 72, (int)health, 6); //health
- drawTexturedModalRect(healthBarStartX, height - 38, 11, 72, (int) healthBarWidth, 6);
- drawTexturedModalRect(staminaBarStartX, height - 38, 11, 80, (int) staminaBarWidth, 6); //stamina
- //END INNER BARS
- //EXP
- int exp = (int)(this.mc.thePlayer.experience * (float)(182 + 1));
- //EXP END
- int r = 0;
- if (mc.thePlayer.rotationYaw < 0) {
- r = -MathHelper.floor_double(mc.thePlayer.rotationYaw % 360);
- } else {
- r = MathHelper.floor_double(mc.thePlayer.rotationYaw % 360);
- }
- boolean flag1 = (r > 0 && r < 180);
- boolean flag2 = (r <= 270 && r >= 90);
- boolean flag3 = (r <= 180 && r >= 0);
- boolean flag5 = (r <= 1 && r >= 0);
- boolean flag4 = mc.thePlayer.rotationYaw < 0;
- if (r == 0) {
- drawCenteredString(fontrenderer, "S", width / 2, 13, 0xffffff);
- drawCenteredString(fontrenderer, "E", (width / 2) - 90, 13, 0xffffff);
- drawCenteredString(fontrenderer, "W", (width / 2) + 90, 13, 0xffffff);
- } else if (!flag4) {
- drawCenteredString(fontrenderer, flag2 ? "N" : "", (width / 2 - r) + 180, 13, 0xffffff);
- if (!flag1) {
- r = r - 360;
- }
- drawCenteredString(fontrenderer, !flag2 ? "S" : "", width / 2 - r, 13,
- 0xffffff);
- drawCenteredString(fontrenderer, !flag3 ? "E" : "",
- (width / 2 - r) - 90, 13, 0xffffff);
- drawCenteredString(fontrenderer, flag3 ? "W" : "",
- (width / 2 - r) + 90, 13, 0xffffff);
- } else if (flag4) {
- drawCenteredString(fontrenderer, flag2 ? "N" : "",
- (width / 2 + r) - 180, 13, 0xffffff);
- if (!flag1) {
- r = r - 360;
- }
- drawCenteredString(fontrenderer, !flag2 ? "S" : "", width / 2 + r, 13,
- 0xffffff);
- drawCenteredString(fontrenderer, !flag3 ? "W" : "",
- (width / 2 + r) + 90, 13, 0xffffff);
- drawCenteredString(fontrenderer, flag3 ? "E" : "",
- (width / 2 + r) - 90, 13, 0xffffff);
- }
- mc.renderEngine.bindTexture(icons);
- if(renderMobHealth) {
- drawTexturedModalRect(((float)(width / 2) - 78.5f), (float)32, 3, 88, 157, 8);
- drawTexturedModalRect(((float)(width / 2) - 78.5f) + 9, (float)35, 10, 102, (int) (142 % currentMobHealth), 2);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement