From 70c1354a4a96698758a88c032866288f79de6f5a Mon Sep 17 00:00:00 2001 From: Benjamin Culkin Date: Sat, 24 Aug 2024 08:16:37 -0400 Subject: Initial commit --- .../fbs/gui/button/GuiButtonSpiritMain.java | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java (limited to 'src/main/java/jp/plusplus/fbs/gui/button/GuiButtonSpiritMain.java') 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); + } + } +} -- cgit v1.2.3