Package crazypants.enderio.machine.soul

Source Code of crazypants.enderio.machine.soul.GuiSoulBinder

package crazypants.enderio.machine.soul;

import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;

import org.lwjgl.opengl.GL11;

import cpw.mods.fml.client.FMLClientHandler;

import crazypants.enderio.gui.IconButtonEIO;
import crazypants.enderio.gui.IconEIO;
import crazypants.enderio.machine.AbstractMachineEntity;
import crazypants.enderio.machine.GuiMachineBase;
import crazypants.enderio.machine.painter.PainterContainer;
import crazypants.enderio.network.PacketHandler;
import crazypants.enderio.xp.ExperienceBarRenderer;
import crazypants.enderio.xp.PacketDrainPlayerXP;
import crazypants.enderio.xp.XpUtil;
import crazypants.render.ColorUtil;
import crazypants.render.RenderUtil;
import crazypants.util.SoundUtil;
import crazypants.vecmath.Vector4f;

public class GuiSoulBinder extends GuiMachineBase {

  private static final int PLAYER_XP_ID = 985162394;

  private TileSoulBinder tileEntity;
 
  private IconButtonEIO usePlayerXP;

  public GuiSoulBinder(InventoryPlayer par1InventoryPlayer, TileSoulBinder te) {
    super(te, new ContainerSoulBinder(par1InventoryPlayer, te));
    tileEntity = te;
    usePlayerXP = new IconButtonEIO(this, PLAYER_XP_ID, 125, 57, IconEIO.XP);
    usePlayerXP.visible = false;
    usePlayerXP.setToolTip("Use Player XP");   
  }

  @Override
  public void initGui() {   
    super.initGui();
    usePlayerXP.onGuiInit();
  }

  @Override
  protected void actionPerformed(GuiButton b) {   
    super.actionPerformed(b);
    if(b.id == PLAYER_XP_ID) {
      int xp = XpUtil.getPlayerXP(Minecraft.getMinecraft().thePlayer);
      if(xp > 0 || Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) {
        PacketHandler.INSTANCE.sendToServer(new PacketDrainPlayerXP(tileEntity, tileEntity.getCurrentlyRequiredLevel(), true));
        SoundUtil.playClientSoundFX("random.orb", tileEntity);       
      }
    }
  }

  /**
   * Draw the background layer for the GuiContainer (everything behind the
   * items)
   */
  @Override
  protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    RenderUtil.bindTexture("enderio:textures/gui/soulFuser.png");
    int k = (width - xSize) / 2;
    int l = (height - ySize) / 2;

    drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
    int i1;

    i1 = tileEntity.getProgressScaled(24);
    drawTexturedModalRect(k + 80, l + 34, 176, 14, i1 + 1, 16);   

    boolean needsXp = tileEntity.getCurrentlyRequiredLevel() > 0 && tileEntity.getCurrentlyRequiredLevel() > tileEntity.getContainer().getExperienceLevel();
    usePlayerXP.visible = needsXp;       
   
    ExperienceBarRenderer.render(this, getGuiLeft() + 56, getGuiTop() + 68, 65, tileEntity.getContainer(), tileEntity.getCurrentlyRequiredLevel());
   
    RenderUtil.bindTexture("enderio:textures/gui/soulFuser.png");
    super.drawGuiContainerBackgroundLayer(par1, par2, par3);
   
  }

}
TOP

Related Classes of crazypants.enderio.machine.soul.GuiSoulBinder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.