From a80b0e8d28568a71f9d767c9e6d7cb601464d955 Mon Sep 17 00:00:00 2001 From: LAX1DUDE Date: Sat, 14 May 2022 22:50:01 -0700 Subject: [PATCH] added configurable main menu link --- lwjgl-rundir/resources/gui/gui.png | Bin 17724 -> 28900 bytes .../lax1dude/eaglercraft/ConfigConstants.java | 8 +- .../java/net/minecraft/src/GLAllocation.java | 2 +- .../java/net/minecraft/src/GuiMainMenu.java | 113 ++++++++++++++++++ .../net/minecraft/src/NBTTagCompound.java | 4 + .../java/net/minecraft/src/ServerList.java | 10 ++ 6 files changed, 135 insertions(+), 2 deletions(-) diff --git a/lwjgl-rundir/resources/gui/gui.png b/lwjgl-rundir/resources/gui/gui.png index e035bcda3b1eaeb77fdaa24a82e0085d99ff6820..ed61674798c072761ec8e586ac4336ea21f7d476 100644 GIT binary patch literal 28900 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 A>Hq)$ diff --git a/src/main/java/net/lax1dude/eaglercraft/ConfigConstants.java b/src/main/java/net/lax1dude/eaglercraft/ConfigConstants.java index e6ecf41..f3ffe6c 100644 --- a/src/main/java/net/lax1dude/eaglercraft/ConfigConstants.java +++ b/src/main/java/net/lax1dude/eaglercraft/ConfigConstants.java @@ -4,7 +4,7 @@ public class ConfigConstants { public static boolean profanity = false; - public static final String version = "22w16h"; + public static final String version = "22w19a"; public static final String mainMenuString = "eaglercraft " + version; public static final String forkMe = "https://github.com/LAX1DUDE/eaglercraft"; @@ -14,4 +14,10 @@ public class ConfigConstants { public static String ayonullTitle = null; public static String ayonullLink = null; + public static int mainMenuItem = -1; + public static String mainMenuItemLine0 = null; + public static String mainMenuItemLine1 = null; + public static String mainMenuItemLine2 = null; + public static String mainMenuItemLink = null; + } diff --git a/src/main/java/net/minecraft/src/GLAllocation.java b/src/main/java/net/minecraft/src/GLAllocation.java index 0380efa..165462e 100644 --- a/src/main/java/net/minecraft/src/GLAllocation.java +++ b/src/main/java/net/minecraft/src/GLAllocation.java @@ -68,7 +68,7 @@ public class GLAllocation { * Creates and returns a direct byte buffer with the specified capacity. Applies * native ordering to speed up access. */ - public static synchronized ByteBuffer createDirectByteBuffer(int par0) { + public static ByteBuffer createDirectByteBuffer(int par0) { return EaglerAdapter.isWebGL ? ByteBuffer.wrap(new byte[par0]).order(ByteOrder.nativeOrder()) : ByteBuffer.allocateDirect(par0).order(ByteOrder.nativeOrder()); } diff --git a/src/main/java/net/minecraft/src/GuiMainMenu.java b/src/main/java/net/minecraft/src/GuiMainMenu.java index 0c5a86e..70f26da 100644 --- a/src/main/java/net/minecraft/src/GuiMainMenu.java +++ b/src/main/java/net/minecraft/src/GuiMainMenu.java @@ -198,6 +198,7 @@ public class GuiMainMenu extends GuiScreen { int w = this.fontRenderer.getStringWidth("eaglercraft readme.txt") * 3 / 4; if(par1 >= (this.width - w - 4) && par1 <= this.width && par2 >= 0 && par2 <= 9) { showAck = true; + return; } /* w = this.fontRenderer.getStringWidth("debug console") * 3 / 4; @@ -205,6 +206,31 @@ public class GuiMainMenu extends GuiScreen { EaglerAdapter.openConsole(); } */ + if(ConfigConstants.mainMenuItem > 0 && ConfigConstants.mainMenuItemLink != null) { + //drawRect((this.width - w - 4), 0, this.width, 9, 0x55200000); + + int posX = this.width / 2 - 170 - this.width / 10; + int posY = this.height / 4 + 70; + int ww = 66; + int hh = 46; + int ln0w = ConfigConstants.mainMenuItemLine0 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine0); + ww = ww < ln0w ? ln0w : ww; + hh = hh < ln0w ? hh + 12 : hh; + int ln1w = ConfigConstants.mainMenuItemLine1 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine1); + ww = ww < ln1w ? ln1w : ww; + hh = hh < ln1w ? hh + 12 : hh; + int ln2w = ConfigConstants.mainMenuItemLine2 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine2); + ww = ww < ln2w ? ln2w : ww; + hh = hh < ln2w ? hh + 12 : hh; + + ww += 20; + hh += 20; + + if(par1 > posX && par1 < posX + (ww / 4 * 3) && par2 > posY && par2 < posY + (hh / 4 * 3)) { + EaglerAdapter.openLink(ConfigConstants.mainMenuItemLink); + return; + } + } } }else { if(par3 == 0) { @@ -401,6 +427,7 @@ public class GuiMainMenu extends GuiScreen { private static final TextureLocation mclogo = new TextureLocation("/title/mclogo.png"); private static final TextureLocation ackbk = new TextureLocation("/gui/demo_bg.png"); private static final TextureLocation beaconx = new TextureLocation("/gui/beacon.png"); + private static final TextureLocation items = new TextureLocation("/gui/items.png"); /** * Draws the screen and all the components in it. @@ -490,6 +517,92 @@ public class GuiMainMenu extends GuiScreen { this.drawString(this.fontRenderer, var10, 0, 0, 16777215); EaglerAdapter.glPopMatrix(); */ + + if(ConfigConstants.mainMenuItem > 0 && ConfigConstants.mainMenuItemLink != null) { + //drawRect((this.width - w - 4), 0, this.width, 9, 0x55200000); + + int posX = this.width / 2 - 170 - this.width / 10; + int posY = this.height / 4 + 70; + int ww = 66; + int hh = 46; + int ln0w = ConfigConstants.mainMenuItemLine0 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine0); + ww = ww < ln0w ? ln0w : ww; + hh = hh < ln0w ? hh + 12 : hh; + int ln1w = ConfigConstants.mainMenuItemLine1 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine1); + ww = ww < ln1w ? ln1w : ww; + hh = hh < ln1w ? hh + 12 : hh; + int ln2w = ConfigConstants.mainMenuItemLine2 == null ? 0 : fontRenderer.getStringWidth(ConfigConstants.mainMenuItemLine2); + ww = ww < ln2w ? ln2w : ww; + hh = hh < ln2w ? hh + 12 : hh; + + ww += 20; + hh += 20; + + boolean over = par1 > posX && par1 < posX + (ww / 4 * 3) && par2 > posY && par2 < posY + (hh / 4 * 3); + + int iconSize = 45; + + if(over) { + EaglerAdapter.glPushMatrix(); + EaglerAdapter.glTranslatef(posX, posY, 0.0f); + EaglerAdapter.glScalef(0.75f, 0.75f, 0.75f); + + drawRect(0, 0, ww, hh, 0x44000022); + + drawRect(3, 3, ww - 3, 4, 0x99999999); + drawRect(3, hh - 4, ww - 3, hh - 3, 0x99999999); + drawRect(3, 4, 4, hh - 4, 0x99999999); + drawRect(ww - 4, 4, ww - 3, hh - 4, 0x99999999); + + int i = 10; + + if(ln0w > 0) { + this.drawString(this.fontRenderer, ConfigConstants.mainMenuItemLine0, (ww - ln0w) / 2, i, 0xFFFF99); + i += 12; + } + + items.bindTexture(); + + EaglerAdapter.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + this.drawTexturedModelRectFromIcon((ww - iconSize) / 2, i, Item.itemsList[ConfigConstants.mainMenuItem].getIconFromDamage(0), iconSize, iconSize); + + i += iconSize + 5; + + if(ln1w > 0) { + this.drawString(this.fontRenderer, ConfigConstants.mainMenuItemLine1, (ww - ln1w) / 2, i, 0xFFFF99); + i += 12; + } + + if(ln2w > 0) { + this.drawString(this.fontRenderer, ConfigConstants.mainMenuItemLine2, (ww - ln2w) / 2, i, 0xDDDDDD); + } + + int ww75 = (ww * 4 / 3); + int hh75 = (hh * 4 / 3); + + //this.drawString(this.fontRenderer, var10, this.width - this.fontRenderer.getStringWidth(var10) - 2, this.height - 10, 16777215); + + EaglerAdapter.glPopMatrix(); + + }else { + EaglerAdapter.glEnable(EaglerAdapter.GL_BLEND); + EaglerAdapter.glBlendFunc(EaglerAdapter.GL_SRC_ALPHA, EaglerAdapter.GL_ONE_MINUS_SRC_ALPHA); + EaglerAdapter.glColor4f(0.9f, 0.9f, 0.9f, MathHelper.sin((float)(System.currentTimeMillis() % 1000000l) / 300f) * 0.17f + 0.5f); + + items.bindTexture(); + + EaglerAdapter.glPushMatrix(); + EaglerAdapter.glTranslatef(posX, posY, 0.0f); + EaglerAdapter.glScalef(0.75f, 0.75f, 0.75f); + this.drawTexturedModelRectFromIcon((ww - iconSize) / 2, ln0w > 0 ? 22 : 10, Item.itemsList[ConfigConstants.mainMenuItem].getIconFromDamage(0), iconSize, iconSize); + EaglerAdapter.glPopMatrix(); + + EaglerAdapter.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + EaglerAdapter.glDisable(EaglerAdapter.GL_BLEND); + } + + } + if(showAck) { super.drawScreen(0, 0, par3); this.drawGradientRect(0, 0, this.width, this.height, -1072689136, -804253680); diff --git a/src/main/java/net/minecraft/src/NBTTagCompound.java b/src/main/java/net/minecraft/src/NBTTagCompound.java index ca30019..4203bbd 100644 --- a/src/main/java/net/minecraft/src/NBTTagCompound.java +++ b/src/main/java/net/minecraft/src/NBTTagCompound.java @@ -330,4 +330,8 @@ public class NBTTagCompound extends NBTBase { public static Map getTagMap(NBTTagCompound par0NBTTagCompound) { return par0NBTTagCompound.tagMap; } + + public String getStringOrNull(String string) { + return !this.tagMap.containsKey(string) ? null : ((NBTTagString) this.tagMap.get(string)).data; + } } diff --git a/src/main/java/net/minecraft/src/ServerList.java b/src/main/java/net/minecraft/src/ServerList.java index 48e5bb9..6a4182c 100644 --- a/src/main/java/net/minecraft/src/ServerList.java +++ b/src/main/java/net/minecraft/src/ServerList.java @@ -40,6 +40,16 @@ public class ServerList { hideDownDefaultServers = nbt.getBoolean("hide_down"); ConfigConstants.ayonullTitle = nbt.hasKey("serverListTitle") ? nbt.getString("serverListTitle") : null; ConfigConstants.ayonullLink = nbt.hasKey("serverListLink") ? nbt.getString("serverListLink") : null; + if(nbt.hasKey("mainMenu")) { + NBTTagCompound cmp = nbt.getCompoundTag("mainMenu"); + ConfigConstants.mainMenuItem = cmp.hasKey("mainMenuItem") ? (int)cmp.getShort("mainMenuItem") & 0xffff : -1; + if(ConfigConstants.mainMenuItem > 0) { + ConfigConstants.mainMenuItemLine0 = cmp.getStringOrNull("itemLine0"); + ConfigConstants.mainMenuItemLine1 = cmp.getStringOrNull("itemLine1"); + ConfigConstants.mainMenuItemLine2 = cmp.getStringOrNull("itemLine2"); + ConfigConstants.mainMenuItemLink = cmp.getStringOrNull("itemLink"); + } + } forcedServers.clear(); NBTTagList list = nbt.getTagList("servers"); for (int i = 0; i < list.tagCount(); ++i) {