summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java')
-rw-r--r--src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java124
1 files changed, 124 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java b/src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java
new file mode 100644
index 0000000..2033c8f
--- /dev/null
+++ b/src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java
@@ -0,0 +1,124 @@
+package jp.plusplus.fbs.gui.button;
+
+import jp.plusplus.fbs.FBS;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by plusplus_F on 2015/11/14.
+ */
+public class GuiButtonSpiritMain extends GuiButton {
+ public static final ResourceLocation rl = new ResourceLocation(FBS.MODID+":textures/gui/spiritMain.png");
+ public String rowString;
+ public String character;
+
+ public GuiButtonSpiritMain(int id, int x, int y, String str) {
+ this(id, x, y, str, "");
+ }
+ public GuiButtonSpiritMain(int id, int x, int y, String str, String character){
+ super(id, x, y, 48, 16, StatCollector.translateToLocal("spirit.gui.fbs.button."+str));
+ rowString=str;
+ this.character=character;
+ }
+
+ @Override
+ public void drawButton(Minecraft par1Minecraft, int par2, int par3) {
+ if (this.visible) {
+ par1Minecraft.getTextureManager().bindTexture(rl);
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ boolean onMouse = par2 >= this.xPosition && par3 >= this.yPosition && par2 < this.xPosition + this.width && par3 < this.yPosition + this.height;
+
+ int drawX = 176;
+ int drawY = 0;
+
+ if(!enabled) drawY=32;
+ else if(onMouse) drawY=16;
+
+ this.drawTexturedModalRect(this.xPosition, this.yPosition, drawX, drawY, this.width, this.height);
+ drawCenteredString(par1Minecraft.fontRenderer, displayString, xPosition + width / 2, yPosition + (this.height - 8) / 2, enabled? 0xffffff:0xa0a0a0);
+ }
+ }
+
+
+ public void drawHoveringText(List p_146283_1_, int p_146283_2_, int p_146283_3_, FontRenderer font) {
+ if (!p_146283_1_.isEmpty()) {
+ GL11.glDisable(GL12.GL_RESCALE_NORMAL);
+ RenderHelper.disableStandardItemLighting();
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glDisable(GL11.GL_DEPTH_TEST);
+ int width = 0;
+ Iterator iterator = p_146283_1_.iterator();
+
+ while (iterator.hasNext()) {
+ String s = (String) iterator.next();
+ int l = font.getStringWidth(s);
+
+ if (l > width) {
+ width = l;
+ }
+ }
+
+ int xMin = p_146283_2_ + 12;
+ int yMin = p_146283_3_ - 12;
+ int i1 = 8;
+
+ if (p_146283_1_.size() > 1) {
+ i1 += 2 + (p_146283_1_.size() - 1) * 10;
+ }
+
+ /*
+ if (xMin + width > this.width) {
+ xMin -= 28 + width;
+ }
+
+ if (yMin + i1 + 6 > this.height) {
+ yMin = this.height - i1 - 6;
+ }
+ */
+
+
+ //this.zLevel = 300.0F;
+ //itemRender.zLevel = 300.0F;
+ int color = -267386864;
+ this.drawGradientRect(xMin - 3, yMin - 4, xMin + width + 3, yMin - 3, color, color);
+ this.drawGradientRect(xMin - 3, yMin + i1 + 3, xMin + width + 3, yMin + i1 + 4, color, color);
+ this.drawGradientRect(xMin - 3, yMin - 3, xMin + width + 3, yMin + i1 + 3, color, color);
+ this.drawGradientRect(xMin - 4, yMin - 3, xMin - 3, yMin + i1 + 3, color, color);
+ this.drawGradientRect(xMin + width + 3, yMin - 3, xMin + width + 4, yMin + i1 + 3, color, color);
+ int k1 = 1347420415;
+ int l1 = (k1 & 16711422) >> 1 | k1 & -16777216;
+ this.drawGradientRect(xMin - 3, yMin - 3 + 1, xMin - 3 + 1, yMin + i1 + 3 - 1, k1, l1);
+ this.drawGradientRect(xMin + width + 2, yMin - 3 + 1, xMin + width + 3, yMin + i1 + 3 - 1, k1, l1);
+ this.drawGradientRect(xMin - 3, yMin - 3, xMin + width + 3, yMin - 3 + 1, k1, k1);
+ this.drawGradientRect(xMin - 3, yMin + i1 + 2, xMin + width + 3, yMin + i1 + 3, l1, l1);
+
+ for (int i2 = 0; i2 < p_146283_1_.size(); ++i2) {
+ String s1 = (String) p_146283_1_.get(i2);
+ font.drawStringWithShadow(s1, xMin, yMin, -1);
+
+ if (i2 == 0) {
+ yMin += 2;
+ }
+
+ yMin += 10;
+ }
+
+ //this.zLevel = 0.0F;
+ //itemRender.zLevel = 0.0F;
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glEnable(GL11.GL_DEPTH_TEST);
+ RenderHelper.enableStandardItemLighting();
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ }
+ }
+}