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.minecraft.client.Minecraft;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.Gui;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.OpenGlHelper;
- 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.EventPriority;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- public class GuiSkyrimIngame extends Gui
- {
- private Minecraft mc = Minecraft.getMinecraft();
- 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 event) {
- if(event.getType() == ElementType.HEALTH || event.getType() == ElementType.ARMOR || event.getType() == ElementType.FOOD || event.getType() == ElementType.EXPERIENCE) {
- event.setCanceled(true);
- return;
- }
- }
- @SubscribeEvent(priority = EventPriority.NORMAL)
- public void renderGameOverlay(RenderGameOverlayEvent.Post event) {
- int width = event.getResolution().getScaledWidth();
- int height = event.getResolution().getScaledHeight();
- FontRenderer fontrenderer = mc.fontRendererObj;
- /*PlayerNBT props = PlayerNBT.get(this.mc.thePlayer);
- if (props == null || props.getMaxMana() == 0) {
- return;
- }*/
- ResourceLocation icons = new ResourceLocation("skyrimcraft", "textures/gui/icons.png");
- GlStateManager.pushMatrix();
- GlStateManager.enableBlend();
- GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA.factor, GlStateManager.SourceFactor.ONE_MINUS_SRC_ALPHA.factor);
- 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) (props.getCurrentMana() * 4.1);
- float health = (float) (mc.thePlayer.getHealth() * 4.1);
- float stamina = (float) (mc.thePlayer.getFoodStats().getFoodLevel() * 4.1);
- //End checking stuff
- //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(width - 109, height - 38, 11, 80, (int)stamina, 6); //stamina
- //END INNER BARS
- GlStateManager.popMatrix();
- //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