From 4f7ad220df0438b6f3382110577b53f29da46453 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:50:07 -0400 Subject: Update of all changes --- .../java/darkknight/jewelrycraft/client/Page.java | 364 ++++++++++++--------- 1 file changed, 213 insertions(+), 151 deletions(-) mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/client/Page.java (limited to 'src/main/java/darkknight/jewelrycraft/client/Page.java') diff --git a/src/main/java/darkknight/jewelrycraft/client/Page.java b/src/main/java/darkknight/jewelrycraft/client/Page.java old mode 100644 new mode 100755 index 866f6f3..f3fcec9 --- a/src/main/java/darkknight/jewelrycraft/client/Page.java +++ b/src/main/java/darkknight/jewelrycraft/client/Page.java @@ -1,8 +1,10 @@ package darkknight.jewelrycraft.client; import java.util.ArrayList; + import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; + import darkknight.jewelrycraft.client.gui.GuiGuide; import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; @@ -10,155 +12,215 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -public class Page -{ - static ResourceLocation pageFlipped = new ResourceLocation(Variables.MODID, "textures/gui/guidePageFlip.png"); - - public static void addCraftingRecipeTextPage(GuiGuide gui, int x, int y, boolean isSmall, String text, int mouseX, int mouseY, boolean rotate, ItemStack ... items) - { - y += 5; - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + items[0].getDisplayName(), x + Math.abs(70 - gui.getFont().getStringWidth(items[0].getDisplayName()) / 2) - 10, y - 2, 0); - GL11.glColor4f(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pageFlipped); - ArrayList name = new ArrayList(); - if (isSmall){ - gui.drawTexturedModalRect(x, y + 10, 145, 54, 111, 46); - gui.renderItem(items[0], x + 89, y + 22 + 10, 30f, rotate, 0, 0, 0); - for(int i = 1; i <= 4; i++) - if (items.length > i && items[i] != null){ - int posX = x + 8 + (i - 1) % 2 * 22; - int posY = y + 26 + (i - 1) / 2 * 22; - gui.renderItem(items[i], posX, posY, 30f, rotate, 0, 0, 0); - name.add(items[i].getDisplayName()); - if (mouseX >= posX - 8 && mouseX <= posX + 8 && mouseY >= posY - 16 && mouseY <= posY) gui.drawHoverString(name, posX - 20, posY - 14); - name.removeAll(name); - GL11.glDisable(GL11.GL_LIGHTING); - } - drawText(gui, text, x, y + 25); - }else{ - gui.drawTexturedModalRect(x, y + 12, 145, 0, 111, 54); - gui.renderItem(items[0], x + 91, y + 28 + 10, 30f, rotate, 0, 0, 0); - for(int i = 1; i <= 9; i++) - if (items.length > i && items[i] != null){ - int posX = x + 8 + (i - 1) % 3 * 19; - int posY = y + 22 + (i - 1) / 3 * 17; - gui.renderItem(items[i], posX, posY, 30f, rotate, 0, 0, 0); - name.add(items[i].getDisplayName()); - if (mouseX >= posX - 8 && mouseX <= posX + 8 && mouseY >= posY - 10 && mouseY <= posY) gui.drawHoverString(name, posX - 20, posY - 12); - name.removeAll(name); - GL11.glDisable(GL11.GL_LIGHTING); - } - drawText(gui, text, x, y + 32); - GL11.glColor4f(1, 1, 1, 1); - } - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addSmeltingRecipeTextPage(GuiGuide gui, int x, int y, String text, int mouseX, int mouseY, boolean rotate, ItemStack ... items) - { - ArrayList name = new ArrayList(); - gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + items[1].getDisplayName(), x + 30 - items[0].getDisplayName().length() / 2, y + 2, 0); - GL11.glColor4f(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pageFlipped); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - gui.drawTexturedModalRect(x, y + 10, 145, 100, 111, 52); - gui.renderItem(items[0], x + 13, y + 20 + 10, 35f, rotate, 0, 0, 0); - name.add(items[0].getDisplayName()); - if (mouseX >= x && mouseX <= x + 20 && mouseY >= y + 20 && mouseY <= y + 20 + 16) gui.drawHoverString(name, x, y + 20); - name.removeAll(name); - GL11.glDisable(GL11.GL_LIGHTING); - gui.renderItem(items[1], x + 77, y + 28 + 10, 35f, rotate, 0, 0, 0); - drawText(gui, text, x, y + 30); - GL11.glColor4f(1, 1, 1, 1); - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addImageTextPage(GuiGuide gui, int x, int y, ItemStack item, String text, float size, boolean rotate) - { - y += 5; - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + item.getDisplayName(), x + Math.abs(70 - gui.getFont().getStringWidth(item.getDisplayName()) / 2) - 10, y + (int)size/5, 0); - GL11.glColor4f(1, 1, 1, 1); - gui.renderItem(item, x + 13, y + 18, size, rotate, 0, 0, 0); - drawText(gui, text, x - 2, y - (int)(250 / size)); - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addSlotItem(GuiGuide gui, int x, int y, int mouseX, int mouseY, ItemStack item, float xRot, float yRot, float zRot) - { - ArrayList name = new ArrayList(); - GL11.glColor4f(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pageFlipped); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - gui.drawTexturedModalRect(x + 9, y + 19, 148, 153, 12, 12); - if(item.getItem() != null){ - name.add(item.getDisplayName()); - if (mouseX >= x + 10 && mouseX <= x + 20 && mouseY >= y + 20 && mouseY <= y + 30) gui.drawHoverString(name, x, y + 10); - name.removeAll(name); - } - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glColor4f(1, 1, 1, 1); - if(item.getItem() != null) gui.renderItem(item, x + 15, y + 25, 40f, false, xRot, yRot, zRot); - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addImageTextPage(GuiGuide gui, int x, int y, ItemStack item, String text, float size, int txtX, int txtY, boolean showName, int imgX, int imgY, boolean rotate) - { - y += 5; - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - if (showName) gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + item.getDisplayName().substring(0, item.getDisplayName().length() > 23?23:item.getDisplayName().length()), x + Math.abs(70 - gui.getFont().getStringWidth(item.getDisplayName()) / 2) - 10, y + 2, 0); - GL11.glColor4f(1, 1, 1, 1); - gui.renderItem(item, x + 13 + imgX, y + 18 + imgY, size, rotate, 0, 0, 0); - drawText(gui, text, x + txtX, y + txtY); - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addImageTextPage(GuiGuide gui, int x, int y, ItemStack item, String text, float size, int txtX, int txtY, String title, int imgX, int imgY, boolean rotate) - { - y += 5; - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + title.substring(0, item.getDisplayName().length() > 23?23:title.length()), x + Math.abs(70 - gui.getFont().getStringWidth(title) / 2) - 10, y + 2, 0); - GL11.glColor4f(1, 1, 1, 1); - gui.renderItem(item, x + 13 + imgX, y + 18 + imgY, size, rotate, 0, 0, 0); - drawText(gui, text, x + txtX, y + txtY); - GL11.glDisable(GL11.GL_BLEND); - } - - public static void addTextPage(GuiGuide gui, int x, int y, String text) - { - y -= 25; - drawText(gui, text, x, y); - GL11.glColor4f(1, 1, 1, 1); - } - - public static void drawText(GuiGuide gui, String text, int x, int y) - { - String[] s = text.split(" "); - String displayText = ""; - float scale = 0.75F; - ArrayList textLines = new ArrayList(); - for(String element: s) - if ((displayText + element + " ").length() <= 31) displayText += element + " "; - else{ - textLines.add(displayText.trim()); - displayText = element + " "; - } - textLines.add(displayText.trim()); - for(int i = 0; i < textLines.size(); i++) - { - GL11.glPushMatrix(); - GL11.glScalef(scale, scale, 0f); - gui.getFont().drawString(textLines.get(i), (int)(x/scale), (int)((y + 32 + i * 9)/scale), 0); - GL11.glPopMatrix(); - } - } +public class Page { + static ResourceLocation pageFlipped = new ResourceLocation( + Variables.MODID, "textures/gui/guidePageFlip.png"); + + public static void addCraftingRecipeTextPage(GuiGuide gui, int x, + int y, boolean isSmall, String text, int mouseX, int mouseY, + boolean rotate, ItemStack... items) { + y += 5; + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + gui.getFont().drawString( + EnumChatFormatting.DARK_BLUE + "\u00a7n" + + items[0].getDisplayName(), + x + Math.abs(70 - gui.getFont() + .getStringWidth(items[0].getDisplayName()) / 2) + - 10, + y - 2, 0); + GL11.glColor4f(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager() + .bindTexture(pageFlipped); + ArrayList name = new ArrayList<>(); + if (isSmall) { + gui.drawTexturedModalRect(x, y + 10, 145, 54, 111, 46); + gui.renderItem(items[0], x + 89, y + 22 + 10, 30f, rotate, 0, + 0, 0); + for (int i = 1; i <= 4; i++) + if (items.length > i && items[i] != null) { + int posX = x + 8 + (i - 1) % 2 * 22; + int posY = y + 26 + (i - 1) / 2 * 22; + gui.renderItem(items[i], posX, posY, 30f, rotate, 0, 0, + 0); + name.add(items[i].getDisplayName()); + if (mouseX >= posX - 8 && mouseX <= posX + 8 + && mouseY >= posY - 16 && mouseY <= posY) + gui.drawHoverString(name, posX - 20, posY - 14); + name.removeAll(name); + GL11.glDisable(GL11.GL_LIGHTING); + } + drawText(gui, text, x, y + 25); + } else { + gui.drawTexturedModalRect(x, y + 12, 145, 0, 111, 54); + gui.renderItem(items[0], x + 91, y + 28 + 10, 30f, rotate, 0, + 0, 0); + for (int i = 1; i <= 9; i++) + if (items.length > i && items[i] != null) { + int posX = x + 8 + (i - 1) % 3 * 19; + int posY = y + 22 + (i - 1) / 3 * 17; + gui.renderItem(items[i], posX, posY, 30f, rotate, 0, 0, + 0); + name.add(items[i].getDisplayName()); + if (mouseX >= posX - 8 && mouseX <= posX + 8 + && mouseY >= posY - 10 && mouseY <= posY) + gui.drawHoverString(name, posX - 20, posY - 12); + name.removeAll(name); + GL11.glDisable(GL11.GL_LIGHTING); + } + drawText(gui, text, x, y + 32); + GL11.glColor4f(1, 1, 1, 1); + } + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addSmeltingRecipeTextPage(GuiGuide gui, int x, + int y, String text, int mouseX, int mouseY, boolean rotate, + ItemStack... items) { + ArrayList name = new ArrayList<>(); + gui.getFont().drawString( + EnumChatFormatting.DARK_BLUE + "\u00a7n" + + items[1].getDisplayName(), + x + 30 - items[0].getDisplayName().length() / 2, y + 2, 0); + GL11.glColor4f(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager() + .bindTexture(pageFlipped); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + gui.drawTexturedModalRect(x, y + 10, 145, 100, 111, 52); + gui.renderItem(items[0], x + 13, y + 20 + 10, 35f, rotate, 0, 0, + 0); + name.add(items[0].getDisplayName()); + if (mouseX >= x && mouseX <= x + 20 && mouseY >= y + 20 + && mouseY <= y + 20 + 16) + gui.drawHoverString(name, x, y + 20); + name.removeAll(name); + GL11.glDisable(GL11.GL_LIGHTING); + gui.renderItem(items[1], x + 77, y + 28 + 10, 35f, rotate, 0, 0, + 0); + drawText(gui, text, x, y + 30); + GL11.glColor4f(1, 1, 1, 1); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addImageTextPage(GuiGuide gui, int x, int y, + ItemStack item, String text, float size, boolean rotate) { + y += 5; + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + gui.getFont().drawString(EnumChatFormatting.DARK_BLUE + "\u00a7n" + + item.getDisplayName(), + x + + Math.abs(70 - gui.getFont() + .getStringWidth(item.getDisplayName()) / 2) + - 10, + y + (int) size / 5, 0); + GL11.glColor4f(1, 1, 1, 1); + gui.renderItem(item, x + 13, y + 18, size, rotate, 0, 0, 0); + drawText(gui, text, x - 2, y - (int) (250 / size)); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addSlotItem(GuiGuide gui, int x, int y, int mouseX, + int mouseY, ItemStack item, float xRot, float yRot, + float zRot) { + ArrayList name = new ArrayList<>(); + GL11.glColor4f(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager() + .bindTexture(pageFlipped); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + gui.drawTexturedModalRect(x + 9, y + 19, 148, 153, 12, 12); + if (item.getItem() != null) { + name.add(item.getDisplayName()); + if (mouseX >= x + 10 && mouseX <= x + 20 && mouseY >= y + 20 + && mouseY <= y + 30) + gui.drawHoverString(name, x, y + 10); + name.removeAll(name); + } + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glColor4f(1, 1, 1, 1); + if (item.getItem() != null) + gui.renderItem(item, x + 15, y + 25, 40f, false, xRot, yRot, + zRot); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addImageTextPage(GuiGuide gui, int x, int y, + ItemStack item, String text, float size, int txtX, int txtY, + boolean showName, int imgX, int imgY, boolean rotate) { + y += 5; + GL11.glEnable(GL11.GL_BLEND); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + if (showName) + gui.getFont() + .drawString( + EnumChatFormatting.DARK_BLUE + "\u00a7n" + + item.getDisplayName().substring(0, + item.getDisplayName() + .length() > 23 + ? 23 : item + .getDisplayName() + .length()), + x + Math.abs(70 - gui.getFont().getStringWidth( + item.getDisplayName()) / 2) - 10, + y + 2, 0); + GL11.glColor4f(1, 1, 1, 1); + gui.renderItem(item, x + 13 + imgX, y + 18 + imgY, size, rotate, 0, + 0, 0); + drawText(gui, text, x + txtX, y + txtY); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addImageTextPage(GuiGuide gui, int x, int y, + ItemStack item, String text, float size, int txtX, int txtY, + String title, int imgX, int imgY, boolean rotate) { + y += 5; + GL11.glEnable(GL11.GL_BLEND); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + gui.getFont().drawString( + EnumChatFormatting.DARK_BLUE + "\u00a7n" + + title.substring(0, + item.getDisplayName().length() > 23 ? 23 + : title.length()), + x + Math.abs(70 - gui.getFont().getStringWidth(title) / 2) + - 10, + y + 2, 0); + GL11.glColor4f(1, 1, 1, 1); + gui.renderItem(item, x + 13 + imgX, y + 18 + imgY, size, rotate, 0, + 0, 0); + drawText(gui, text, x + txtX, y + txtY); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void addTextPage(GuiGuide gui, int x, int y, + String text) { + y -= 25; + drawText(gui, text, x, y); + GL11.glColor4f(1, 1, 1, 1); + } + + public static void drawText(GuiGuide gui, String text, int x, int y) { + String[] s = text.split(" "); + String displayText = ""; + float scale = 0.75F; + ArrayList textLines = new ArrayList<>(); + for (String element : s) + if ((displayText + element + " ").length() <= 31) + displayText += element + " "; + else { + textLines.add(displayText.trim()); + displayText = element + " "; + } + textLines.add(displayText.trim()); + for (int i = 0; i < textLines.size(); i++) { + GL11.glPushMatrix(); + GL11.glScalef(scale, scale, 0f); + gui.getFont().drawString(textLines.get(i), (int) (x / scale), + (int) ((y + 32 + i * 9) / scale), 0); + GL11.glPopMatrix(); + } + } } -- cgit v1.2.3