From 54cd65aed30fe840358ae03d1251df95306d9da3 Mon Sep 17 00:00:00 2001 From: AFS0021822 Date: Wed, 7 Jun 2023 12:41:11 +0200 Subject: [PATCH] update clickgui --- .../client/renderer/entity/Render.java | 60 +-- .../client/config/cloud/ProfileHandler.java | 80 ---- .../rip/athena/client/config/save/Config.java | 2 +- .../client/config/save/ConfigManager.java | 2 +- .../athena/client/gui/clickgui/Category.java | 19 +- .../client/gui/clickgui/IngameMenu.java | 24 +- .../fps/OptifineParentBackground.java | 14 +- .../components/mods/CategoryButton.java | 39 +- .../components/mods/ModCategoryButton.java | 28 +- .../clickgui/components/mods/ModuleBox.java | 21 +- .../components/mods/SearchTextfield.java | 2 + .../components/profiles/ProfilesBase.java | 5 +- .../client/gui/clickgui/pages/GroupsPage.java | 24 +- .../client/gui/clickgui/pages/MacrosPage.java | 8 +- .../client/gui/clickgui/pages/ModsPage.java | 20 +- .../gui/clickgui/pages/ProfilesPage.java | 15 +- .../gui/clickgui/pages/SettingsPage.java | 66 +-- .../gui/clickgui/pages/WaypointsPage.java | 13 +- .../rip/athena/client/modules/Module.java | 12 + .../client/modules/impl/mods/Freelook.java | 2 +- .../modules/impl/mods/MouseDelayFix.java | 2 +- .../client/modules/impl/mods/NoHurtCam.java | 2 +- .../modules/impl/mods/OldAnimations.java | 2 +- .../athena/client/modules/impl/mods/Zoom.java | 2 +- .../client/modules/impl/other/Settings.java | 2 +- .../modules/impl/render/ArmorStatus.java | 2 +- .../modules/impl/render/BlockOverlay.java | 2 +- .../client/modules/impl/render/CPS.java | 2 +- .../client/modules/impl/render/Chat.java | 2 +- .../client/modules/impl/render/Clock.java | 2 +- .../modules/impl/render/Coordinates.java | 2 +- .../client/modules/impl/render/Crosshair.java | 2 +- .../modules/impl/render/CustomHitColor.java | 2 +- .../client/modules/impl/render/FPS10Mod.java | 68 --- .../client/modules/impl/render/FPS11Mod.java | 68 --- .../client/modules/impl/render/FPS12Mod.java | 68 --- .../client/modules/impl/render/FPS13Mod.java | 68 --- .../client/modules/impl/render/FPS14Mod.java | 68 --- .../client/modules/impl/render/FPS15Mod.java | 68 --- .../client/modules/impl/render/FPS16Mod.java | 68 --- .../client/modules/impl/render/FPS17Mod.java | 68 --- .../client/modules/impl/render/FPS18Mod.java | 68 --- .../client/modules/impl/render/FPS19Mod.java | 68 --- .../client/modules/impl/render/FPS2Mod.java | 104 ----- .../client/modules/impl/render/FPS3Mod.java | 68 --- .../client/modules/impl/render/FPS4Mod.java | 68 --- .../client/modules/impl/render/FPS5Mod.java | 68 --- .../client/modules/impl/render/FPS6Mod.java | 68 --- .../client/modules/impl/render/FPS7Mod.java | 68 --- .../client/modules/impl/render/FPS8Mod.java | 68 --- .../client/modules/impl/render/FPS9Mod.java | 68 --- .../client/modules/impl/render/FPSMod.java | 2 +- .../modules/impl/render/Keystrokes.java | 2 +- .../modules/impl/render/MemoryUsage.java | 2 +- .../modules/impl/render/MotionBlur.java | 2 +- .../client/modules/impl/render/MouseHUD.java | 246 ----------- .../modules/impl/render/PotCounter.java | 2 +- .../client/modules/impl/render/TPS.java | 2 +- .../client/utils/render/RoundedUtils.java | 402 ++++++++++++++++++ .../minecraft/Athena/gui/menu/bluefps.png | Bin 0 -> 44738 bytes .../minecraft/Athena/gui/menu/cosmetics.png | Bin 0 -> 244 bytes .../assets/minecraft/Athena/gui/menu/edit.png | Bin 0 -> 155 bytes .../minecraft/Athena/gui/menu/greenfps.png | Bin 0 -> 44708 bytes .../minecraft/Athena/gui/menu/macro.png | Bin 0 -> 737 bytes .../assets/minecraft/Athena/gui/menu/mods.png | Bin 0 -> 212 bytes .../minecraft/Athena/gui/menu/profiles.png | Bin 0 -> 5732 bytes .../minecraft/Athena/gui/menu/redfps.png | Bin 0 -> 44735 bytes .../minecraft/Athena/gui/menu/search.png | Bin 0 -> 752 bytes .../minecraft/Athena/gui/menu/settings.png | Bin 0 -> 1066 bytes .../minecraft/Athena/gui/mods/animation.png | Bin 0 -> 1559 bytes .../minecraft/Athena/gui/mods/armorstatus.png | Bin 0 -> 671 bytes .../Athena/gui/mods/blockoverlay.png | Bin 0 -> 1115 bytes .../assets/minecraft/Athena/gui/mods/chat.png | Bin 0 -> 2865 bytes .../minecraft/Athena/gui/mods/coordinates.png | Bin 0 -> 1840 bytes .../assets/minecraft/Athena/gui/mods/cps.png | Bin 0 -> 737 bytes .../minecraft/Athena/gui/mods/crosshair.png | Bin 0 -> 899 bytes .../assets/minecraft/Athena/gui/mods/fps.png | Bin 0 -> 315 bytes .../minecraft/Athena/gui/mods/freelook.png | Bin 0 -> 947 bytes .../minecraft/Athena/gui/mods/hitcolor.png | Bin 0 -> 634 bytes .../minecraft/Athena/gui/mods/keystrokes.png | Bin 0 -> 325 bytes .../minecraft/Athena/gui/mods/memory.png | Bin 0 -> 276 bytes .../minecraft/Athena/gui/mods/motionblur.png | Bin 0 -> 343 bytes .../minecraft/Athena/gui/mods/nohurtcam.png | Bin 0 -> 461 bytes .../minecraft/Athena/gui/mods/potion.png | Bin 0 -> 467 bytes .../minecraft/Athena/gui/mods/settings.png | Bin 0 -> 1066 bytes .../assets/minecraft/Athena/gui/mods/time.png | Bin 0 -> 1092 bytes .../assets/minecraft/Athena/gui/mods/tps.png | Bin 0 -> 5454 bytes .../assets/minecraft/Athena/gui/mods/zoom.png | Bin 0 -> 529 bytes .../assets/minecraft/Athena/images/gear.png | Bin 16277 -> 0 bytes .../minecraft/Athena/images/gear_white.png | Bin 22857 -> 0 bytes 90 files changed, 670 insertions(+), 1732 deletions(-) delete mode 100644 src/main/java/rip/athena/client/config/cloud/ProfileHandler.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS10Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS11Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS12Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS13Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS14Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS15Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS16Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS17Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS18Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS19Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS3Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS4Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS5Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS6Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS7Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS8Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/FPS9Mod.java delete mode 100644 src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java create mode 100644 src/main/java/rip/athena/client/utils/render/RoundedUtils.java create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/bluefps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/cosmetics.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/edit.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/greenfps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/macro.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/mods.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/profiles.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/redfps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/search.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/menu/settings.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/animation.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/armorstatus.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/blockoverlay.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/chat.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/coordinates.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/cps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/crosshair.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/fps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/freelook.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/hitcolor.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/keystrokes.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/memory.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/motionblur.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/nohurtcam.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/potion.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/settings.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/time.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/tps.png create mode 100644 src/main/resources/assets/minecraft/Athena/gui/mods/zoom.png delete mode 100644 src/main/resources/assets/minecraft/Athena/images/gear.png delete mode 100644 src/main/resources/assets/minecraft/Athena/images/gear_white.png diff --git a/src/main/java/net/minecraft/client/renderer/entity/Render.java b/src/main/java/net/minecraft/client/renderer/entity/Render.java index b9a45e52..242b24d4 100644 --- a/src/main/java/net/minecraft/client/renderer/entity/Render.java +++ b/src/main/java/net/minecraft/client/renderer/entity/Render.java @@ -372,37 +372,39 @@ public abstract class Render if (entityIn instanceof AbstractClientPlayer) { String username = ((AbstractClientPlayer) entityIn).getGameProfile().getId().toString(); - if (SocketClient.isUser(username) && entityIn.ticksExisted > 20) { - Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("Athena/logo/Athena.png")); + if(str.contains(Minecraft.getMinecraft().thePlayer.getName())) { + if (SocketClient.isUser(username) && entityIn.ticksExisted > 20) { + Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("Athena/logo/Athena.png")); - String rank = SocketClient.getRank(username).toString(); - ResourceLocation rankTexture = null; - switch (rank) { - case "OWNER": - rankTexture = new ResourceLocation("Athena/ranks/owner.png"); - break; - case "DEVELOPER": - rankTexture = new ResourceLocation("Athena/ranks/developer.png"); - break; - case "ADMIN": - rankTexture = new ResourceLocation("Athena/ranks/admin.png"); - break; - case "MOD": - rankTexture = new ResourceLocation("Athena/ranks/mod.png"); - break; - case "PREMIUM": - rankTexture = new ResourceLocation("Athena/ranks/premium.png"); - break; - case "USER": - rankTexture = new ResourceLocation("Athena/ranks/user.png"); - break; - default: - break; - } + String rank = SocketClient.getRank(username).toString(); + ResourceLocation rankTexture = null; + switch (rank) { + case "OWNER": + rankTexture = new ResourceLocation("Athena/ranks/owner.png"); + break; + case "DEVELOPER": + rankTexture = new ResourceLocation("Athena/ranks/developer.png"); + break; + case "ADMIN": + rankTexture = new ResourceLocation("Athena/ranks/admin.png"); + break; + case "MOD": + rankTexture = new ResourceLocation("Athena/ranks/mod.png"); + break; + case "PREMIUM": + rankTexture = new ResourceLocation("Athena/ranks/premium.png"); + break; + case "USER": + rankTexture = new ResourceLocation("Athena/ranks/user.png"); + break; + default: + break; + } - if (rankTexture != null) { - Minecraft.getMinecraft().getTextureManager().bindTexture(rankTexture); - Gui.drawModalRectWithCustomSizedTexture(-fontrenderer.getStringWidth(entityIn.getDisplayName().getFormattedText()) / 2 - 12, (int) -1.5, 10, 10, 10, 10, 10, 10); + if (rankTexture != null) { + Minecraft.getMinecraft().getTextureManager().bindTexture(rankTexture); + Gui.drawModalRectWithCustomSizedTexture(-fontrenderer.getStringWidth(entityIn.getDisplayName().getFormattedText()) / 2 - 12, (int) -1.5, 10, 10, 10, 10, 10, 10); + } } } } diff --git a/src/main/java/rip/athena/client/config/cloud/ProfileHandler.java b/src/main/java/rip/athena/client/config/cloud/ProfileHandler.java deleted file mode 100644 index 82f6eb75..00000000 --- a/src/main/java/rip/athena/client/config/cloud/ProfileHandler.java +++ /dev/null @@ -1,80 +0,0 @@ -package rip.athena.client.config.cloud; - -import net.minecraft.client.gui.GuiScreen; -import org.apache.commons.lang3.RandomStringUtils; -import org.json.JSONException; -import rip.athena.client.Athena; - -import java.awt.*; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.net.URLEncoder; -import java.net.URL; -import java.util.NoSuchElementException; -import java.net.HttpURLConnection; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/6/2023 - */ - - -public class ProfileHandler { - - private static final String UPLOAD_URL = "https://athena.rip/api/v1/profiles/upload"; - - public void uploadProfileConfig(String configFilePath) { - try { - String code = URLEncoder.encode(RandomStringUtils.randomAlphabetic(12).toLowerCase(), "UTF-8"); - - String uploadUrl = UPLOAD_URL + "?id=" + code; - URL url = new URL(uploadUrl); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - connection.setRequestMethod("POST"); - connection.setDoOutput(true); - - String boundary = "WebKitFormBoundaryYDPG5KWy5y4yolEf"; - String formData = "------" + boundary + "\r\n" + - "Content-Disposition: form-data; name=\"fileToUpload\"; filename=\"config.json\"\r\n" + - "Content-Type: application/json\r\n" + - "\r\n" + - readFile(configFilePath) + - "\r\n" + - "------" + boundary + "\r\n" + - "Content-Disposition: form-data; name=\"submit\"\r\n" + - "\r\n" + - "Upload Image\r\n" + - "------" + boundary + "--\r\n"; - - connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary); - connection.getOutputStream().write(formData.getBytes()); - - int responseCode = connection.getResponseCode(); - if (responseCode == 200) { - //Athena.INSTANCE.notificationManager.showNotification("Config uploaded, config code: " + code + ", copied to clipboard.", Color.RED); - } else { - //Athena.INSTANCE.notificationManager.showNotification("Config failed to upload.", Color.RED); - } - - GuiScreen.setClipboardString(code); - } catch (JSONException | NoSuchElementException | IOException e) { - //Athena.INSTANCE.log.error("Failed to upload config.", e); - } - } - - private String readFile(String filePath) throws IOException { - StringBuilder contentBuilder = new StringBuilder(); - - try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { - String line; - - while ((line = reader.readLine()) != null) { - contentBuilder.append(line).append("\n"); - } - } - - return contentBuilder.toString(); - } -} diff --git a/src/main/java/rip/athena/client/config/save/Config.java b/src/main/java/rip/athena/client/config/save/Config.java index b19d206e..22dece73 100644 --- a/src/main/java/rip/athena/client/config/save/Config.java +++ b/src/main/java/rip/athena/client/config/save/Config.java @@ -44,7 +44,7 @@ public class Config { this.file.init(); if(this.file.isFresh()) { - save(); + save(file.getName()); } } catch (IOException e) { Athena.INSTANCE.getLog().error("Failed to initiate config " + name + "." + e); diff --git a/src/main/java/rip/athena/client/config/save/ConfigManager.java b/src/main/java/rip/athena/client/config/save/ConfigManager.java index 58786e5f..59baf223 100644 --- a/src/main/java/rip/athena/client/config/save/ConfigManager.java +++ b/src/main/java/rip/athena/client/config/save/ConfigManager.java @@ -105,7 +105,7 @@ public class ConfigManager { public Config getConfig(String name) { String safeName = name; - + return new Config(this, name, Paths.get(directory.getAbsolutePath(), safeName + EXTENSION).toFile()); } diff --git a/src/main/java/rip/athena/client/gui/clickgui/Category.java b/src/main/java/rip/athena/client/gui/clickgui/Category.java index bed5281d..0bdab73b 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/Category.java +++ b/src/main/java/rip/athena/client/gui/clickgui/Category.java @@ -7,15 +7,26 @@ package rip.athena.client.gui.clickgui; */ public enum Category { - MODS("MODS"), SETTINGS("SETTINGS"), MACROS("MACROS"), WAYPOINTS("WAYPOINTS"), PROFILES("PROFILES"), COSMETICS("COSMETICS"), GROUPS("GROUPS"); - + MODS("MODS", "Athena/gui/menu/mods.png"), + SETTINGS("SETTINGS", "Athena/gui/menu/settings.png"), + MACROS("MACROS", "Athena/gui/mods/cps.png"), + WAYPOINTS("WAYPOINTS", "Athena/gui/menu/waypoints.png"), + PROFILES("PROFILES", "Athena/gui/menu/profiles.png"), + COSMETICS("COSMETICS", "Athena/gui/menu/cosmetics.png"), + GROUPS("GROUPS", "Athena/gui/menu/groups.png"); + private String name; - - Category(String name) { + private String icon; + + Category(String name, String icon) { this.name = name; + this.icon = icon; } public String getName() { return name; } + public String getIcon() { + return icon; + } } diff --git a/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java index 6a9fe23e..d19db840 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java +++ b/src/main/java/rip/athena/client/gui/clickgui/IngameMenu.java @@ -20,6 +20,7 @@ import rip.athena.client.modules.Module; import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.AssetUtils; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; import java.util.ArrayList; @@ -40,7 +41,7 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl { public static PageManager pageManager; public static Category category = Category.MODS; - + private static boolean initd; private static int savedWidth = -1; private static int savedHeight = -1; @@ -67,10 +68,13 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl { menu.addComponent(new MenuDraggable(0, 0, menu.getWidth(), 58)); int x = 175; - int y = 58 / 2 + 2; - + //int y = 58 / 2 + 2; + + int y = 59 + 60; + int height = 32; + for(Category category : Category.values()) { - MenuButton comp = new CategoryButton(category, x + 50, y - (int) Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2) { + MenuButton comp = new CategoryButton(category, new ResourceLocation(category.getIcon()), 0, y, 205, height) { @Override public void onAction() { if(IngameMenu.category != null) { @@ -100,8 +104,9 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl { } else { x += mc.fontRendererObj.getStringWidth(category.getName()) + 20; } + y += 40; } - + initPage(); initd = true; } @@ -127,14 +132,15 @@ public class IngameMenu extends MinecraftMenuImpl implements DrawImpl { float value = guiScale / new ScaledResolution(mc).getScaleFactor(); GlStateManager.scale(value, value, value); - DrawUtils.drawRoundedRect(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + 58, 4, MENU_TOP_BG_COLOR); + //DrawUtils.drawRoundedRect(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + 58, 4, MENU_TOP_BG_COLOR); drawShadowDown(menu.getX(), menu.getY() + 58, menu.getWidth()); - FontManager.font1.drawString(Athena.INSTANCE.getClientName().toUpperCase(), menu.getX() + 70, menu.getY() + 20, MENU_HEADER_TEXT_COLOR); - - DrawUtils.drawRoundedRect(menu.getX(), menu.getY() + 54, menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 4, new Color(30, 30, 30, 255).getRGB()); + RoundedUtils.drawRoundedOutline(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 54, 5, new Color(50, 50, 50, 255).getRGB()); + RoundedUtils.drawRoundedRect(menu.getX(), menu.getY(), menu.getX() + menu.getWidth(), menu.getY() + menu.getHeight(), 54, new Color(30, 30, 30, 255).getRGB()); + FontManager.font1.drawString(Athena.INSTANCE.getClientName().toUpperCase(), menu.getX() + 60, menu.getY() + 20, MENU_HEADER_TEXT_COLOR); + DrawUtils.drawImage(new ResourceLocation("Athena/logo/Athena.png"), (int) (menu.getX() + FontManager.font1.getStringWidth(Athena.INSTANCE.getClientName().toUpperCase()) + 70), (int) (menu.getY() - 10 + FontManager.font1.getHeight(Athena.INSTANCE.getClientName().toUpperCase())), 30, 30); drawShadowDown(menu.getX(), menu.getY() + 58, menu.getWidth()); if(category != null) { diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java b/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java index 5ae12883..d6ca0f02 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/fps/OptifineParentBackground.java @@ -9,6 +9,7 @@ import rip.athena.client.gui.framework.draw.DrawType; import rip.athena.client.gui.clickgui.IngameMenu; import net.minecraft.util.ResourceLocation; import rip.athena.client.modules.impl.other.Settings; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -50,9 +51,12 @@ public class OptifineParentBackground extends MenuComponent { int backgroundColor = getColor(DrawType.BACKGROUND, ButtonState.NORMAL); int textColor = getColor(DrawType.TEXT, ButtonState.NORMAL); - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x, y, width, height, backgroundColor); - - drawHorizontalLine(x, y, width + 1, 1, lineColor); + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x, y, width, height, backgroundColor); + + RoundedUtils.drawRoundedOutline(x, y, x + width, y + height, 24, 5, new Color(50, 50, 50, 255).getRGB()); + RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 24, new Color(30, 30, 30, 255).getRGB()); + + /*drawHorizontalLine(x, y, width + 1, 1, lineColor); drawVerticalLine(x, y + 1, height - 1, 1, lineColor); drawHorizontalLine(x, y + height, width + 1, 1, lineColor); drawVerticalLine(x + width, y + 1, height - 1, 1, lineColor); @@ -60,14 +64,14 @@ public class OptifineParentBackground extends MenuComponent { drawShadowUp(x, y, width + 1); drawShadowLeft(x, y, height + 1); drawShadowDown(x, y + height + 1, width + 1); - drawShadowRight(x + width + 1, y, height + 1); + drawShadowRight(x + width + 1, y, height + 1);*/ drawText(topText, x + 15, y + 15, textColor); drawText(botText, x + width / 2 - getStringWidth(botText) / 2, y + height - 60, textColor); int imgRad = 120; - //drawImage(image, x + 40, y + 60, imgRad, imgRad); + drawImage(image, x + 40, y + 60, imgRad, imgRad); } @Override diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java index 45506d07..9d2f20e4 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/CategoryButton.java @@ -1,12 +1,15 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.components.MenuButton; import rip.athena.client.gui.framework.draw.ButtonState; import rip.athena.client.gui.framework.draw.DrawType; import rip.athena.client.gui.clickgui.Category; import rip.athena.client.modules.impl.other.Settings; +import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -20,13 +23,24 @@ public class CategoryButton extends MenuButton { public CategoryButton(Category category, int x, int y) { super(category.getName(), x, y); } - + + public CategoryButton(Category category, int x, int y, int width, int height) { + super(category.getName(), x, y, width, height); + } + + private ResourceLocation image; + + public CategoryButton(Category category, ResourceLocation image, int x, int y, int width, int height) { + super(category.getName(), x, y, width, height); + this.image = image; + } + @Override public void onInitColors() { - setColor(DrawType.TEXT, ButtonState.NORMAL, new Color(126, 126, 126, 255)); - setColor(DrawType.TEXT, ButtonState.ACTIVE, new Color(235, 235, 235, 255)); - setColor(DrawType.TEXT, ButtonState.HOVER, new Color(160, 160, 160, 255)); - setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(180, 180, 180, 255)); + setColor(DrawType.TEXT, ButtonState.NORMAL, new Color(30, 30, 30, 255)); + setColor(DrawType.TEXT, ButtonState.ACTIVE, new Color(30, 30, 30 , 255)); + setColor(DrawType.TEXT, ButtonState.HOVER, new Color(25, 25, 25, 255)); + setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(20, 20, 20, 255)); setColor(DrawType.TEXT, ButtonState.DISABLED, new Color(255, 255, 255, 255)); super.onInitColors(); @@ -42,6 +56,19 @@ public class CategoryButton extends MenuButton { int backgroundColor = getColor(DrawType.BACKGROUND, lastState); int textColor = getColor(DrawType.TEXT, lastState); + //RoundedUtils.drawRoundedRect(x + 9, y - 1, x + width - 19, y + height + 1, 12, new Color(50,50,50,255).getRGB()); + if(isActive()) { + RoundedUtils.drawRoundedRect(x + 29, y - 1, x + width - 19, y + height + 1, 12, new Color(50, 50, 50, 255).getRGB()); + RoundedUtils.drawRoundedRect(x + 30, y, x + width - 20, y + height, 12, new Color(25,25,25,255).getRGB()); + } + if(Settings.customGuiFont) { + FontManager.baloo17.drawString(text, x + 70, y + height / 2 - (getStringHeight(text) / 2), textColor); + } else { + Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor); + } + + DrawUtils.drawImage(image, x + 35, y + 3, 25, 25); + /* if(Settings.customGuiFont) { FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); } else { @@ -49,7 +76,7 @@ public class CategoryButton extends MenuButton { } if(isActive()) { drawHorizontalLine(x + (width / 2 - getStringWidth(text) / 2), y + 29, (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(text), 2, textColor); - } + }*/ mouseDown = false; } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java index f29ed396..67768264 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModCategoryButton.java @@ -11,6 +11,7 @@ import net.minecraft.util.ResourceLocation; import rip.athena.client.modules.Category; import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -27,15 +28,19 @@ public class ModCategoryButton extends MenuButton { private ResourceLocation image; - public ModCategoryButton(Category category, ResourceLocation image, int x, int y, int width, int height) { + public ModCategoryButton(Category category, int x, int y, int width, int height) { super(category.getText(), x, y, width, height); - this.image = image; } public ModCategoryButton(String text, int x, int y, int width, int height) { super(text, x, y, width, height); } + public ModCategoryButton(String text, ResourceLocation resourceLocation, int x, int y, int width, int height) { + super(text, x, y, width, height); + this.image = resourceLocation; + } + @Override public void onInitColors() { super.onInitColors(); @@ -59,15 +64,30 @@ public class ModCategoryButton extends MenuButton { GlStateManager.color(1, 1, 1); + if(isActive()) { + RoundedUtils.drawRoundedRect(x + 17, y - 1, x + width - 19, y + height - 4, 12, new Color(50,50,50,255).getRGB()); + RoundedUtils.drawRoundedRect(x + 18, y, x + width - 20, y + height - 5, 12, backgroundColor); + //drawHorizontalLine(x + (width / 2 - getStringWidth(text) / 2), y + 29, (int)Minecraft.getMinecraft().fontRendererObj.getStringWidth(text), 2, textColor); + } + + if(Settings.customGuiFont) { + FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); + } else { + Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2) - 3, textColor); + } + + if(text.equalsIgnoreCase("EDIT HUD")) { + DrawUtils.drawImage(image, x + 35, y + 3, 25, 25); + } //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x, y, width - 10, height, backgroundColor); - DrawUtils.drawRoundedRect(x + 9, y - 1, x + width - 19, y + height + 1, 4, new Color(50,50,50,255).getRGB()); + /*DrawUtils.drawRoundedRect(x + 9, y - 1, x + width - 19, y + height + 1, 4, new Color(50,50,50,255).getRGB()); DrawUtils.drawRoundedRect(x + 10, y, x + width - 20, y + height, 4, backgroundColor); if(Settings.customGuiFont) { FontManager.baloo17.drawString(text, x + (width / 2 - getStringWidth(text) / 2) - 3, y + height / 2 - (getStringHeight(text) / 2), textColor); } else { Minecraft.getMinecraft().fontRendererObj.drawString(text, x + (width / 2 - getStringWidth(text) / 2), y + height / 2 - (getStringHeight(text) / 2), textColor); - } + }*/ mouseDown = false; } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java index aa883e30..cef32c2d 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/ModuleBox.java @@ -12,11 +12,10 @@ import rip.athena.client.gui.clickgui.IngameMenu; import rip.athena.client.modules.Module; import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; +import java.util.*; import java.util.List; /** @@ -182,10 +181,10 @@ public class ModuleBox extends MenuComponent { GlStateManager.color(1, 1, 1); - DrawUtils.drawRoundedRect(x, y, x + width, y + height, 4.0f, new Color(50,50,50,255).getRGB()); - DrawUtils.drawRoundedRect(x + 1, y + 1, x + width - 1, y + height - 1, 4.0f, new Color(35,35,35,255).getRGB()); + RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 26.0f, new Color(50,50,50,255).getRGB()); + RoundedUtils.drawRoundedRect(x + 1, y + 1, x + width - 1, y + height - 1, 26.0f, new Color(35,35,35,255).getRGB()); - int yPos = y + (height / 2) - tHeight / 2 - 5; + int yPos = y + (height / 2) - tHeight / 2 + 10; for (String line : lines) { if(Settings.customGuiFont) { @@ -205,9 +204,11 @@ public class ModuleBox extends MenuComponent { drawColor = backgroundColor; } } - - DrawUtils.drawRoundedRect(x + 10, y + height - 10 - 20, x + width - 10, y + height - 10, 4.0f, module.isToggled() ? new Color(0, 200, 0, 255).getRGB() : new Color(200, 0, 0, 225).getRGB()); - DrawUtils.drawRoundedRect(x + 11, y + height - 10 - 19, x + width - 11, y + height - 11, 4.0f, module.isToggled() ? new Color(40, 157, 93, 255).getRGB() : new Color(157, 40, 40, 225).getRGB()); + if (!Objects.equals(module.getIcon(), "")) { + DrawUtils.drawImage(new ResourceLocation(module.getIcon()), x + width / 2 - 25, y + 20, 50, 50); + } + RoundedUtils.drawRoundedRect(x + 10, y + height - 10 - 20, x + width - 10, y + height - 10, 12.0f, module.isToggled() ? new Color(0, 200, 0, 255).getRGB() : new Color(200, 0, 0, 225).getRGB()); + RoundedUtils.drawRoundedRect(x + 11, y + height - 10 - 19, x + width - 11, y + height - 11, 12.0f, module.isToggled() ? new Color(40, 157, 93, 255).getRGB() : new Color(157, 40, 40, 225).getRGB()); String text = module.isToggled() ? "ENABLED" : "DISABLED"; @@ -233,7 +234,7 @@ public class ModuleBox extends MenuComponent { //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + width - 14 - 17 - 4, y + 14 - 4, 25, 25, COG_BORDER); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(x + width - 14 - 17 - 3, y + 14 - 3, 23, 23, drawColor); - drawImage(new ResourceLocation("Athena/images/gear_white.png"), x + width - 14 - 17, y + 14, 17, 17); + drawImage(new ResourceLocation("Athena/gui/menu/settings.png"), x + width - 14 - 17, y + 14, 17, 17); } } diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java index a8e08917..857bc4c7 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/mods/SearchTextfield.java @@ -2,6 +2,8 @@ package rip.athena.client.gui.clickgui.components.mods; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.util.ResourceLocation; +import rip.athena.client.Athena; import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.TextPattern; import rip.athena.client.gui.framework.components.MenuTextField; diff --git a/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java index 7ab45745..603579e8 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java +++ b/src/main/java/rip/athena/client/gui/clickgui/components/profiles/ProfilesBase.java @@ -10,6 +10,7 @@ import rip.athena.client.gui.framework.draw.DrawType; import rip.athena.client.gui.clickgui.IngameMenu; import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.DrawUtils; +import rip.athena.client.utils.render.RoundedUtils; import java.awt.*; @@ -75,8 +76,8 @@ public class ProfilesBase extends MenuComponent { drawShadowDown(x, y + height + 1, width + 1); drawShadowRight(x + width + 1, y, height + 1);*/ - DrawUtils.drawRoundedRect(x, y, x + width, y + height, 4.0f, new Color(50,50,50,255).getRGB()); - DrawUtils.drawRoundedRect(x + 1, y + 1, x + width - 1, y + height - 1, 4.0f, new Color(35,35,35,255).getRGB()); + RoundedUtils.drawRoundedRect(x, y, x + width, y + height, 12.0f, new Color(50,50,50,255).getRGB()); + RoundedUtils.drawRoundedRect(x + 1, y + 1, x + width - 1, y + height - 1, 12.0f, new Color(35,35,35,255).getRGB()); drawText(text, x + width / 2 - getStringWidth(text) / 2, y + 30, textColor); } diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java index c9eb397d..ac9a326d 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/GroupsPage.java @@ -1,5 +1,6 @@ package rip.athena.client.gui.clickgui.pages; +import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.Menu; import rip.athena.client.gui.framework.MenuComponent; import rip.athena.client.gui.framework.TextPattern; @@ -14,6 +15,7 @@ import rip.athena.client.gui.clickgui.pages.groups.GroupSubTab; import net.minecraft.client.Minecraft; import net.minecraft.util.ResourceLocation; +import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.render.AssetUtils; import java.awt.*; @@ -819,17 +821,31 @@ public class GroupsPage extends Page { int y = menu.getY() + 59; int height = 32; - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, menu.getWidth() - width, height + 1, SUB_TAB_COLOR); + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB()); + + if(Settings.customGuiFont) { + FontManager.vision16.drawString("WAYPOINTS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } else { + mc.fontRendererObj.drawString("WAYPOINTS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } + rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, height + 1, ModCategoryButton.MAIN_COLOR); - drawShadowDown(menu.getX(), y - 1, menu.getWidth()); + drawShadowDown(menu.getX() + menu.getWidth() - width, y + height, width); + + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, menu.getWidth() - width, height + 1, SUB_TAB_COLOR); + + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); + + //rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, height + 1, ModCategoryButton.MAIN_COLOR); + //drawShadowDown(menu.getX(), y - 1, menu.getWidth()); //if(currentGroup == null) { - Minecraft.getMinecraft().fontRendererObj.drawString("YOUR GROUPS", menu.getX() + (menu.getWidth() - width) / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth("YOUR GROUPS") / 2, y + height / 2 - Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, IngameMenu.MENU_HEADER_TEXT_COLOR); + //Minecraft.getMinecraft().fontRendererObj.drawString("YOUR GROUPS", menu.getX() + (menu.getWidth() - width) / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth("YOUR GROUPS") / 2, y + height / 2 - Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, IngameMenu.MENU_HEADER_TEXT_COLOR); - drawShadowDown(menu.getX() + menu.getWidth() - width, y + height, width); + //drawShadowDown(menu.getX() + menu.getWidth() - width, y + height, width); Minecraft.getMinecraft().fontRendererObj.drawString("CREATE A GROUP", menu.getX() + menu.getWidth() - width / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth("CREATE A GROUP") / 2, y + height / 2 - Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, IngameMenu.MENU_HEADER_TEXT_COLOR); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java index 701998f1..ac027e1d 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/MacrosPage.java @@ -159,12 +159,14 @@ public class MacrosPage extends Page { int y = menu.getY() + 59; int height = 32; + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB()); + if(Settings.customGuiFont) { - FontManager.baloo17.drawString("MACROS", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + FontManager.vision16.drawString("MACROS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } else { - Minecraft.getMinecraft().fontRendererObj.drawString("MACROS", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + Minecraft.getMinecraft().fontRendererObj.drawString("MACROS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } - drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); + //drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MENU_SIDE_BG_COLOR); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java index 218d67a5..437a2ba9 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ModsPage.java @@ -85,16 +85,17 @@ public class ModsPage extends Page { if (modCategory != null) { if (Settings.customGuiFont) { - FontManager.baloo17.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + FontManager.vision16.drawString(activeModule != null ? activeModule.getName().toUpperCase() : modCategory.getText(), menu.getX() + 255, menu.getY() + 20, IngameMenu.MENU_HEADER_TEXT_COLOR); + FontManager.baloo17.drawString("Configure build-in client mods", menu.getX() + 255, menu.getY() + 35, IngameMenu.MENU_HEADER_TEXT_COLOR); } else { - mc.fontRendererObj.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + mc.fontRendererObj.drawString(activeModule != null ? "SETTINGS | " : modCategory.getText(), menu.getX() + 255, menu.getY() + 25, IngameMenu.MENU_HEADER_TEXT_COLOR); } if (activeModule != null) { int offset = (int) FontManager.baloo17.getStringWidth("SETTINGS | "); String text = activeModule.getName().toUpperCase().trim(); if (Settings.customGuiFont) { - FontManager.baloo17.drawString(text, menu.getX() + 255 + offset, menu.getY() + 80, MENU_HEADER_TEXT_COLOR_MOD); + //FontManager.vision16.drawString(text, menu.getX() + 255, menu.getY() + 25, IngameMenu.MENU_HEADER_TEXT_COLOR); } else { mc.fontRendererObj.drawString(text, menu.getX() + 255 + offset, menu.getY() + 80, MENU_HEADER_TEXT_COLOR_MOD); } @@ -122,11 +123,12 @@ public class ModsPage extends Page { @Override public void onLoad() { int y = 59 + 10; + int x = 255; int height = 32; for (Category category : Category.values()) { if (!category.isHidden()) { - MenuButton comp = new ModCategoryButton(category, MOD_TABS[category.getIndex()], 0, y, 225, height) { + MenuButton comp = new ModCategoryButton(category, x, y, (int) (50 + FontManager.baloo17.getStringWidth(category.getText())), height) { @Override public void onAction() { for (rip.athena.client.gui.framework.MenuComponent component : menu.getComponents()) { @@ -147,8 +149,12 @@ public class ModsPage extends Page { } menu.addComponent(comp); - - y += height + 2 + 10; + if(Settings.customGuiFont) { + x += FontManager.baloo17.getStringWidth(category.getText()) + 20; + } else { + x += mc.fontRendererObj.getStringWidth(category.getText()) + 20; + } + //y += height + 2 + 10; } } @@ -222,7 +228,7 @@ public class ModsPage extends Page { ModScrollPane pane = new ModScrollPane(255, 140, menu.getWidth() - 255 - 32, menu.getHeight() - 141, false); menu.addComponent(pane); - menu.addComponent(new ModCategoryButton("EDIT HUD", 0, menu.getHeight() - height - 5, 225, height) { + menu.addComponent(new ModCategoryButton("EDIT HUD", new ResourceLocation("Athena/gui/menu/edit.png"), 0, menu.getHeight() - height - 5, 225, height) { @Override public void onAction() { setActive(false); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java index 21d08bae..8228e5c3 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/ProfilesPage.java @@ -2,6 +2,7 @@ package rip.athena.client.gui.clickgui.pages; import net.minecraft.client.gui.GuiScreen; import org.apache.commons.lang3.RandomStringUtils; +import org.apache.logging.log4j.core.appender.FileManager; import org.json.JSONException; import rip.athena.client.Athena; import rip.athena.client.config.save.Config; @@ -91,8 +92,7 @@ public class ProfilesPage extends Page { WebRequestResult result = request.connect(); if(result.getResponse() == 200) { - Athena.INSTANCE.getLog().error(nameAdd.getText() + result.getData()); - //Athena.INSTANCE.getConfigManager().getConfig(nameAdd.getText()); + Athena.INSTANCE.getConfigManager().getConfig(nameAdd.getText()); Athena.INSTANCE.getNotificationManager().showNotification("Successfully downloaded config", Color.GREEN); } else { Athena.INSTANCE.getNotificationManager().showNotification("Config failed to download, make sure the profile name is accurate.", Color.RED); @@ -116,7 +116,7 @@ public class ProfilesPage extends Page { } }; - scrollPane = new ModScrollPane(31, 140, menu.getWidth() - width - 31 * 2, menu.getHeight() - 141, false); + scrollPane = new ModScrollPane(260, 140, menu.getWidth() - width - 120 * 2, menu.getHeight() - 141, false); populateScrollPane(); } @@ -235,12 +235,15 @@ public class ProfilesPage extends Page { int y = menu.getY() + 59; int height = 32; + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB()); + if(Settings.customGuiFont) { - FontManager.baloo17.drawString("PROFILES", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + FontManager.vision16.drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } else { - mc.fontRendererObj.drawString("PROFILES", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + mc.fontRendererObj.drawString("PROFILES", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); } - drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); + + //drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java index 1a74c66a..361d9524 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/SettingsPage.java @@ -188,9 +188,9 @@ public class SettingsPage extends Page { @Override public void onInit() { - OF_LOW = AssetUtils.getResource("/gui/oflow.png"); - OF_MEDMED = AssetUtils.getResource("/gui/ofmed.png"); - OF_HIGH = AssetUtils.getResource("/gui/ofhigh.png"); + OF_LOW = new ResourceLocation("Athena/gui/menu/greenfps.png"); + OF_MEDMED = new ResourceLocation("Athena/gui/menu/bluefps.png"); + OF_HIGH = new ResourceLocation("Athena/gui/menu/redfps.png"); int x = 15; int y = 59 + 50; @@ -200,7 +200,7 @@ public class SettingsPage extends Page { int width = 300; int compWidth = width - 6 - 20 * 2; - entities = new CosmeticGenericButton("ENTITIES", x, y, typeWidth, typeHeight, false) { + /*entities = new CosmeticGenericButton("ENTITIES", x, y, typeWidth, typeHeight, false) { @Override public void onAction() { setActive(false); @@ -234,17 +234,17 @@ public class SettingsPage extends Page { currentType = BlacklistType.PARTICLE; populateScrollPane(); } - }; + };*/ - blacklistPane = new ModScrollPane(x, y + typeHeight * 2 + 20, width - x - 2, menu.getHeight() - y - typeHeight * 2 - 20 - 1, true); + //blacklistPane = new ModScrollPane(x, y + typeHeight * 2 + 20, width - x - 2, menu.getHeight() - y - typeHeight * 2 - 20 - 1, true); - menuBackground = new MainWindowBackgroundPS(285 + 40 + 3, y - 25, menu.getWidth() - 285 - 40 * 2, 45); - fpsBackground = new MainWindowBackgroundPS(285 + 40 + 3, y + 30, menu.getWidth() - 285 - 40 * 2, menu.getHeight() - y - 30 - 30); + //menuBackground = new MainWindowBackgroundPS(250, y - 25, menu.getWidth() - 285 - 20 * 2, 45); + //fpsBackground = new MainWindowBackgroundPS(285 + 40 + 3, y + 30, menu.getWidth() - 285 - 40 * 2, menu.getHeight() - y - 30 - 30); int bWidth = 207; int bSpace = 10; - fpsButton = new FPSGenericButton("FPS", 285 + 43 + 15, y - 18, bWidth, 30, true) { + fpsButton = new FPSGenericButton("FPS", 270, y - 18, bWidth, 30, true) { @Override public void onAction() { setActive(false); @@ -253,7 +253,7 @@ public class SettingsPage extends Page { } }; - optifineButton = new FPSGenericButton("OPTIFINE", 285 + 43 + 15 + bWidth + bSpace, y - 18, bWidth, 30, true) { + optifineButton = new FPSGenericButton("OPTIFINE", 285 + bWidth + bSpace, y - 18, bWidth, 30, true) { @Override public void onAction() { setActive(false); @@ -262,7 +262,7 @@ public class SettingsPage extends Page { } }; - settingsButton = new FPSGenericButton("SETTINGS", 285 + 43 + 15 + bWidth * 2 + bSpace * 2, y - 18, bWidth, 30, true) { + settingsButton = new FPSGenericButton("SETTINGS", 285 + 20 + bWidth * 2 + bSpace * 2, y - 18, bWidth, 30, true) { @Override public void onAction() { setActive(false); @@ -271,9 +271,9 @@ public class SettingsPage extends Page { } }; - genericPane = new ModScrollPane(285 + 40 + 3, y + 30, menu.getWidth() - 285 - 40 * 2, menu.getHeight() - y - 30 - 30, true); + genericPane = new ModScrollPane(200 + 60 + 3, y + 30, menu.getWidth() - 285 - 20 * 2, menu.getHeight() - y - 30 - 30, true); - entities.onAction(); + //entities.onAction(); fpsButton.onAction(); } @@ -284,14 +284,16 @@ public class SettingsPage extends Page { int y = menu.getY() + 59; int height = 32; - rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB()); + + /*rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX(), menu.getY() + 58, width, height + 1, ModCategoryButton.MAIN_COLOR); drawShadowDown(menu.getX(), y + height, width); drawShadowDown(menu.getX(), y - 1, width); Minecraft.getMinecraft().fontRendererObj.drawString("FPS", menu.getX() + width / 2 - Minecraft.getMinecraft().fontRendererObj.getStringWidth("FPS") / 2, y + height / 2 - Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2, IngameMenu.MENU_HEADER_TEXT_COLOR); - } + */} @Override public void onLoad() { @@ -332,7 +334,7 @@ public class SettingsPage extends Page { module.setEnabled(found); - for(MenuComponent comp : blacklistPane.getComponents()) { + /*for(MenuComponent comp : blacklistPane.getComponents()) { if(comp instanceof FlipButtonFPS) { FlipButtonFPS flip = (FlipButtonFPS) comp; @@ -341,18 +343,18 @@ public class SettingsPage extends Page { break; } } - } + }*/ } - menu.addComponent(entities); - menu.addComponent(tileEntities); - menu.addComponent(blocks); - menu.addComponent(particles); + //menu.addComponent(entities); + //menu.addComponent(tileEntities); + //menu.addComponent(blocks); + //menu.addComponent(particles); - menu.addComponent(blacklistPane); + //menu.addComponent(blacklistPane); - menu.addComponent(menuBackground); - menu.addComponent(fpsBackground); + //menu.addComponent(menuBackground); + //menu.addComponent(fpsBackground); menu.addComponent(genericPane); menu.addComponent(fpsButton); @@ -405,11 +407,11 @@ public class SettingsPage extends Page { if(subTab == FPSSubTab.FPS) { initSettings(Athena.INSTANCE.getModuleManager().get(OptimizerMod.class)); } else if(subTab == FPSSubTab.OPTIFINE) { - genericPane.addComponent(new OptifineParentBackground(OF_HIGH, "BEST FPS", "LOW QUALITY", 14, 16, 200, 280)); - genericPane.addComponent(new OptifineParentBackground(OF_MEDMED, "MEDIUM FPS", "MEDIUM QUALITY", 234, 16, 200, 280)); - genericPane.addComponent(new OptifineParentBackground(OF_LOW, "LOW FPS", "HIGH QUALITY", 454, 16, 200, 280)); - - genericPane.addComponent(new CosmeticGenericButton("APPLY", 24, 257, 180, 30, true) { + genericPane.addComponent(new OptifineParentBackground(OF_HIGH, "BEST FPS", "LOW QUALITY", 15, 16, 200, 280)); + genericPane.addComponent(new OptifineParentBackground(OF_MEDMED, "MEDIUM FPS", "MEDIUM QUALITY", 240, 16, 200, 280)); + genericPane.addComponent(new OptifineParentBackground(OF_LOW, "LOW FPS", "HIGH QUALITY", 480, 16, 200, 280)); + + genericPane.addComponent(new CosmeticGenericButton("APPLY", 25, 257, 180, 30, true) { @Override public void onAction() { setActive(false); @@ -417,7 +419,7 @@ public class SettingsPage extends Page { } }); - genericPane.addComponent(new CosmeticGenericButton("APPLY", 244, 257, 180, 30, true) { + genericPane.addComponent(new CosmeticGenericButton("APPLY", 250, 257, 180, 30, true) { @Override public void onAction() { setActive(false); @@ -425,7 +427,7 @@ public class SettingsPage extends Page { } }); - genericPane.addComponent(new CosmeticGenericButton("APPLY", 464, 257, 180, 30, true) { + genericPane.addComponent(new CosmeticGenericButton("APPLY", 490, 257, 180, 30, true) { @Override public void onAction() { setActive(false); @@ -867,7 +869,7 @@ public class SettingsPage extends Page { } } - int defaultX = 25; + int defaultX = 2; int xPos = defaultX; int yPos = 25; diff --git a/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java b/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java index fb2acc7e..f8344107 100644 --- a/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java +++ b/src/main/java/rip/athena/client/gui/clickgui/pages/WaypointsPage.java @@ -1,5 +1,6 @@ package rip.athena.client.gui.clickgui.pages; +import rip.athena.client.font.FontManager; import rip.athena.client.gui.framework.Menu; import rip.athena.client.gui.framework.TextPattern; import rip.athena.client.gui.clickgui.IngameMenu; @@ -10,6 +11,7 @@ import rip.athena.client.gui.clickgui.components.mods.ModCategoryButton; import rip.athena.client.gui.clickgui.components.mods.ModScrollPane; import rip.athena.client.gui.clickgui.components.waypoints.WaypointTextBarrier; import net.minecraft.client.Minecraft; +import rip.athena.client.modules.impl.other.Settings; import rip.athena.client.utils.StringUtils; import java.awt.*; @@ -200,10 +202,15 @@ public class WaypointsPage extends Page { int x = menu.getX() + menu.getWidth() - width + 20; int y = menu.getY() + 59; int height = 32; - - Minecraft.getMinecraft().fontRendererObj.drawString("WAYPOINTS", menu.getX() + 31, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); - drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); + drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, new Color(27, 27, 27, 225).getRGB()); + + if(Settings.customGuiFont) { + FontManager.vision16.drawString("WAYPOINTS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } else { + mc.fontRendererObj.drawString("WAYPOINTS", menu.getX() + 235, menu.getY() + 80, IngameMenu.MENU_HEADER_TEXT_COLOR); + } + //drawHorizontalLine(menu.getX() + 31, menu.getY() + 110, menu.getWidth() - width - 31 * 2, 3, IngameMenu.MENU_LINE_COLOR); rip.athena.client.gui.framework.draw.DrawImpl.drawRect(menu.getX() + menu.getWidth() - width, menu.getY() + 58, width, menu.getHeight() - 58, MacrosPage.MENU_SIDE_BG_COLOR); diff --git a/src/main/java/rip/athena/client/modules/Module.java b/src/main/java/rip/athena/client/modules/Module.java index bfb68f0d..b728b7bc 100644 --- a/src/main/java/rip/athena/client/modules/Module.java +++ b/src/main/java/rip/athena/client/modules/Module.java @@ -36,6 +36,7 @@ public class Module { private final Category category; private final String name; + private String icon = ""; private boolean toggled; private List configEntries; @@ -50,6 +51,17 @@ public class Module { * @param name The name of the module. * @param category The category of the module. */ + public Module(String name, Category category, String icon) { + this.name = name; + this.category = category; + this.icon = icon; + + configEntries = new ArrayList<>(); + hudElements = new ArrayList<>(); + + processFields(); + } + public Module(String name, Category category) { this.name = name; this.category = category; diff --git a/src/main/java/rip/athena/client/modules/impl/mods/Freelook.java b/src/main/java/rip/athena/client/modules/impl/mods/Freelook.java index bb705a3c..961df65c 100644 --- a/src/main/java/rip/athena/client/modules/impl/mods/Freelook.java +++ b/src/main/java/rip/athena/client/modules/impl/mods/Freelook.java @@ -30,7 +30,7 @@ public class Freelook extends Module { public Freelook() { - super("Freelook", Category.MODS); + super("Freelook", Category.MODS, "Athena/gui/mods/freelook.png"); } @SubscribeEvent diff --git a/src/main/java/rip/athena/client/modules/impl/mods/MouseDelayFix.java b/src/main/java/rip/athena/client/modules/impl/mods/MouseDelayFix.java index 413b21dd..11fccc94 100644 --- a/src/main/java/rip/athena/client/modules/impl/mods/MouseDelayFix.java +++ b/src/main/java/rip/athena/client/modules/impl/mods/MouseDelayFix.java @@ -11,6 +11,6 @@ import rip.athena.client.modules.Module; public class MouseDelayFix extends Module { public MouseDelayFix() { - super("MouseDelayFix", Category.MODS); + super("MouseDelayFix", Category.MODS, "Athena/gui/mods/cps.png"); } } diff --git a/src/main/java/rip/athena/client/modules/impl/mods/NoHurtCam.java b/src/main/java/rip/athena/client/modules/impl/mods/NoHurtCam.java index bd2649b8..174b90b1 100644 --- a/src/main/java/rip/athena/client/modules/impl/mods/NoHurtCam.java +++ b/src/main/java/rip/athena/client/modules/impl/mods/NoHurtCam.java @@ -11,6 +11,6 @@ import rip.athena.client.modules.Module; public class NoHurtCam extends Module { public NoHurtCam() { - super("NoHurtCam", Category.MODS); + super("NoHurtCam", Category.MODS, "Athena/gui/mods/nohurtcam.png"); } } diff --git a/src/main/java/rip/athena/client/modules/impl/mods/OldAnimations.java b/src/main/java/rip/athena/client/modules/impl/mods/OldAnimations.java index 351ea156..4b63179a 100644 --- a/src/main/java/rip/athena/client/modules/impl/mods/OldAnimations.java +++ b/src/main/java/rip/athena/client/modules/impl/mods/OldAnimations.java @@ -36,7 +36,7 @@ public class OldAnimations extends Module { public boolean DISABLE_HEALTH_FLASH = true; public OldAnimations() { - super("Old Animations", Category.MODS); + super("Old Animations", Category.MODS, "Athena/gui/mods/animation.png"); } public void attemptSwing() { diff --git a/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java b/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java index 754c3dcd..12e8fddf 100644 --- a/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java +++ b/src/main/java/rip/athena/client/modules/impl/mods/Zoom.java @@ -29,7 +29,7 @@ public class Zoom extends Module { public float scrollAmount = 0; public Zoom() { - super("Zoom", Category.MODS); + super("Zoom", Category.MODS, "Athena/gui/mods/zoom.png"); } @SubscribeEvent diff --git a/src/main/java/rip/athena/client/modules/impl/other/Settings.java b/src/main/java/rip/athena/client/modules/impl/other/Settings.java index c1db4f79..5d9576aa 100644 --- a/src/main/java/rip/athena/client/modules/impl/other/Settings.java +++ b/src/main/java/rip/athena/client/modules/impl/other/Settings.java @@ -16,7 +16,7 @@ public class Settings extends Module { public static boolean customGuiFont = true; public Settings() { - super("General Settings", Category.HIDDEN); + super("General Settings", Category.HIDDEN, "Athena/gui/mods/fps.png"); } diff --git a/src/main/java/rip/athena/client/modules/impl/render/ArmorStatus.java b/src/main/java/rip/athena/client/modules/impl/render/ArmorStatus.java index f072edfe..596c2a7b 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/ArmorStatus.java +++ b/src/main/java/rip/athena/client/modules/impl/render/ArmorStatus.java @@ -50,7 +50,7 @@ public class ArmorStatus extends Module { private int armorstatusheight = 10; public ArmorStatus() { - super("Armor Status", Category.RENDER); + super("Armor Status", Category.RENDER, "Athena/gui/mods/armorstatus.png"); hud = new HUDElement("armorstatus", armorstatuswidth, armorstatusheight) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/BlockOverlay.java b/src/main/java/rip/athena/client/modules/impl/render/BlockOverlay.java index 0c3593c9..47cce0f5 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/BlockOverlay.java +++ b/src/main/java/rip/athena/client/modules/impl/render/BlockOverlay.java @@ -36,7 +36,7 @@ public class BlockOverlay extends Module { private boolean isUsingChroma = false; public BlockOverlay() { - super("Block Overlay", Category.RENDER); + super("Block Overlay", Category.RENDER, "Athena/gui/mods/blockoverlay.png"); } @SubscribeEvent diff --git a/src/main/java/rip/athena/client/modules/impl/render/CPS.java b/src/main/java/rip/athena/client/modules/impl/render/CPS.java index 59510577..07aceca3 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/CPS.java +++ b/src/main/java/rip/athena/client/modules/impl/render/CPS.java @@ -53,7 +53,7 @@ public class CPS extends Module { private int height = 18; public CPS() { - super("CPS", Category.RENDER); + super("CPS", Category.RENDER, "Athena/gui/mods/cps.png"); hud = new HUDElement("cps", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/Chat.java b/src/main/java/rip/athena/client/modules/impl/render/Chat.java index ad07befb..974ff1ba 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Chat.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Chat.java @@ -15,7 +15,7 @@ public class Chat extends Module { public static boolean customFont = false; public Chat() { - super("Chat", Category.RENDER); + super("Chat", Category.RENDER, "Athena/gui/mods/chat.png"); } @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/Clock.java b/src/main/java/rip/athena/client/modules/impl/render/Clock.java index f2755930..21f1d3fc 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Clock.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Clock.java @@ -47,7 +47,7 @@ public class Clock extends Module { private int height = 18; public Clock() { - super("Clock", Category.RENDER); + super("Clock", Category.RENDER, "Athena/gui/mods/time.png"); hud = new HUDElement("time", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java index 4893a8c3..7bae5c06 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Coordinates.java @@ -103,7 +103,7 @@ public class Coordinates extends Module { private HUDElement hud; public Coordinates() { - super("Coordinates", Category.RENDER); + super("Coordinates", Category.RENDER, "Athena/gui/mods/coordinates.png"); hud = new HUDElement("coordinates", 70, 30) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java b/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java index 6e5100f4..41bc0711 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Crosshair.java @@ -60,7 +60,7 @@ public class Crosshair extends Module { int groupContainerColor = new Color(35, 35, 35, 255).getRGB(); public Crosshair() { - super("Crosshair", Category.RENDER); + super("Crosshair", Category.RENDER, "Athena/gui/mods/crosshair.png"); crosshair = new int[84][74]; } diff --git a/src/main/java/rip/athena/client/modules/impl/render/CustomHitColor.java b/src/main/java/rip/athena/client/modules/impl/render/CustomHitColor.java index 59bbbe4f..c8b4b6d6 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/CustomHitColor.java +++ b/src/main/java/rip/athena/client/modules/impl/render/CustomHitColor.java @@ -17,6 +17,6 @@ public class CustomHitColor extends Module { public Color color = Color.WHITE; public CustomHitColor() { - super("Custom Hit Color", Category.RENDER); + super("Custom Hit Color", Category.RENDER, "Athena/gui/mods/hitcolor.png"); } } diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS10Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS10Mod.java deleted file mode 100644 index 3042f6c7..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS10Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS10Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS10Mod() { - super("FPS10", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS11Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS11Mod.java deleted file mode 100644 index 3167c58c..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS11Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS11Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS11Mod() { - super("FPS11", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS12Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS12Mod.java deleted file mode 100644 index 5fc50b88..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS12Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS12Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS12Mod() { - super("FPS12", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS13Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS13Mod.java deleted file mode 100644 index 2475555a..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS13Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS13Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS13Mod() { - super("FPS13", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS14Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS14Mod.java deleted file mode 100644 index 6944ad41..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS14Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS14Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS14Mod() { - super("FPS14", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS15Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS15Mod.java deleted file mode 100644 index 62a0e9db..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS15Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS15Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS15Mod() { - super("FPS15", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS16Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS16Mod.java deleted file mode 100644 index 2e0a1ad0..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS16Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS16Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS16Mod() { - super("FPS16", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS17Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS17Mod.java deleted file mode 100644 index 371ec04d..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS17Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS17Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS17Mod() { - super("FPS17", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS18Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS18Mod.java deleted file mode 100644 index 0a067f10..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS18Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS18Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS18Mod() { - super("FPS18", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS19Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS19Mod.java deleted file mode 100644 index e0ca7ed7..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS19Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS19Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS19Mod() { - super("FPS19", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java deleted file mode 100644 index 12d6c59b..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS2Mod.java +++ /dev/null @@ -1,104 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS2Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround1 = true; - - @ConfigValue.Boolean(name = "Background2") - private boolean backGround2 = true; - - @ConfigValue.Boolean(name = "Background3") - private boolean backGround3 = true; - - @ConfigValue.Boolean(name = "Background4") - private boolean backGround4 = true; - - @ConfigValue.Boolean(name = "Background5") - private boolean backGround5 = true; - - @ConfigValue.Boolean(name = "Background6") - private boolean backGround6 = true; - - @ConfigValue.Boolean(name = "Background7") - private boolean backGround7 = true; - - @ConfigValue.Boolean(name = "Background8") - private boolean backGround8 = true; - - @ConfigValue.Boolean(name = "Background9") - private boolean backGround9 = true; - - @ConfigValue.Boolean(name = "Background10") - private boolean backGround10 = true; - - @ConfigValue.Boolean(name = "Background11") - private boolean backGround11 = true; - - @ConfigValue.Boolean(name = "Background12") - private boolean backGround12 = true; - - @ConfigValue.Boolean(name = "Background13") - private boolean backGround13 = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS2Mod() { - super("FPS2", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS3Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS3Mod.java deleted file mode 100644 index 2f309fd2..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS3Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS3Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS3Mod() { - super("FPS3", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS4Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS4Mod.java deleted file mode 100644 index eb133864..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS4Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS4Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS4Mod() { - super("FPS4", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS5Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS5Mod.java deleted file mode 100644 index feba5d86..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS5Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS5Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS5Mod() { - super("FPS5", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS6Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS6Mod.java deleted file mode 100644 index 5670be15..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS6Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS6Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS6Mod() { - super("FPS6", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS7Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS7Mod.java deleted file mode 100644 index bc3a440c..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS7Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS7Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS7Mod() { - super("FPS7", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS8Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS8Mod.java deleted file mode 100644 index 8f263b4c..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS8Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS8Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS8Mod() { - super("FPS8", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPS9Mod.java b/src/main/java/rip/athena/client/modules/impl/render/FPS9Mod.java deleted file mode 100644 index 95b72350..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/FPS9Mod.java +++ /dev/null @@ -1,68 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import org.lwjgl.input.Keyboard; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.render.RenderEvent; -import rip.athena.client.events.types.render.RenderType; -import rip.athena.client.font.FontManager; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class FPS9Mod extends Module { - - @ConfigValue.Boolean(name = "Background") - private boolean backGround = true; - - @ConfigValue.Color(name = "Color") - private Color color = Color.WHITE; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.Boolean(name = "Static Chroma") - private boolean isUsingStaticChroma = false; - - @ConfigValue.Boolean(name = "Wave Chroma") - private boolean isUsingWaveChroma = false; - - public FPS9Mod() { - super("FPS9", Category.RENDER); - - setKeyBind(Keyboard.KEY_F); - } - - @SubscribeEvent - public void onRender(RenderEvent event) { - if (event.getRenderType() != RenderType.INGAME_OVERLAY) { - return; - } - - if (mc.gameSettings.showDebugInfo) { - return; - } - - String string = mc.debug.split(" fps")[0] + " FPS"; - FontManager.baloo17.drawString(string, 200, 50, -1); - } - - @Override - public void onEnable() { - super.onEnable(); - } - - @Override - public void onDisable() { - super.onDisable(); - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java index 49418c47..c1d94136 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java +++ b/src/main/java/rip/athena/client/modules/impl/render/FPSMod.java @@ -49,7 +49,7 @@ public class FPSMod extends Module { private int height = 18; public FPSMod() { - super("FPS", Category.RENDER); + super("FPS", Category.RENDER, "Athena/gui/mods/fps.png"); hud = new HUDElement("fps", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java index e6b266c3..5eb94a4b 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java +++ b/src/main/java/rip/athena/client/modules/impl/render/Keystrokes.java @@ -55,7 +55,7 @@ public class Keystrokes extends Module { private final ClickCounter rightClickCounter = new ClickCounter(); public Keystrokes() { - super("Key Strokes", Category.RENDER); + super("Key Strokes", Category.RENDER, "Athena/gui/mods/keystrokes.png"); hud = new HUDElement("keystrokes", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java index 3c31d7e9..bfd6d871 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java +++ b/src/main/java/rip/athena/client/modules/impl/render/MemoryUsage.java @@ -45,7 +45,7 @@ public class MemoryUsage extends Module { private int height = 18; public MemoryUsage() { - super("Memory usage", Category.RENDER); + super("Memory usage", Category.RENDER, "Athena/gui/mods/memory.png"); hud = new HUDElement("memory usage", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/MotionBlur.java b/src/main/java/rip/athena/client/modules/impl/render/MotionBlur.java index 700d6bd4..48419749 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/MotionBlur.java +++ b/src/main/java/rip/athena/client/modules/impl/render/MotionBlur.java @@ -47,7 +47,7 @@ public class MotionBlur extends Module { private double amount = 2.0D; public MotionBlur() { - super("Motion Blur", Category.RENDER); + super("Motion Blur", Category.RENDER, "Athena/gui/mods/motionblur.png"); } @SubscribeEvent diff --git a/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java b/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java deleted file mode 100644 index bfa3b37a..00000000 --- a/src/main/java/rip/athena/client/modules/impl/render/MouseHUD.java +++ /dev/null @@ -1,246 +0,0 @@ -package rip.athena.client.modules.impl.render; - -import net.minecraft.util.MathHelper; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL11; -import rip.athena.client.config.ConfigValue; -import rip.athena.client.events.SubscribeEvent; -import rip.athena.client.events.types.client.ClientTickEvent; -import rip.athena.client.events.types.input.MouseDownEvent; -import rip.athena.client.events.types.input.MouseMoveEvent; -import rip.athena.client.font.FontManager; -import rip.athena.client.gui.hud.HUDElement; -import rip.athena.client.modules.Category; -import rip.athena.client.modules.Module; -import rip.athena.client.utils.ClickCounter; -import rip.athena.client.utils.render.DrawUtils; - -import java.awt.*; - -/** - * @author Athena Development - * @project Athena-Client - * @date 6/1/2023 - */ -public class MouseHUD extends Module { - private final ClickCounter leftClickCounter = new ClickCounter(); - - private static long lastEvent; - public static float dx; - public static float dy; - public static float mX = 0; - public static float mY = 0; - - float mouseMultiH = 4.0f; - float mouseMultiV = 2.5f; - float smoothX = 0.7F; - float smoothY = 0.4F; - - @ConfigValue.Color(name = "Background Color") - private Color background = new Color(0, 0, 0, 150); - - @ConfigValue.Color(name = "Mouse Color") - private Color mouseColor = Color.BLACK; - - @ConfigValue.Color(name = "Center Color") - private Color centerColor = Color.WHITE; - - @ConfigValue.Color(name = "Sidebar Color") - private Color sideBarColor = Color.BLACK; - - @ConfigValue.Color(name = "Font Color") - private Color fontColor = Color.WHITE; - - @ConfigValue.Boolean(name = "Custom Font") - private boolean customFont = false; - - @ConfigValue.List(name = "Mode", values = {"Left", "Right"}) - private String Mode = "Right"; - - private HUDElement hud; - private int width = 114; - private int height = 41; - - public MouseHUD() { - super("Mouse HUD", Category.RENDER); - - hud = new HUDElement("hud", width, height) { - @Override - public void onRender() { - render(); - } - }; - - hud.setX(1); - hud.setY(190); - - addHUD(hud); - } - - public void render() { - if (mc.gameSettings.showDebugInfo) { - return; - } - - GL11.glPushMatrix(); - float posY = hud.getY(); - float posX = hud.getX(); - - if(this.Mode.equalsIgnoreCase("Right")) { - /* - * Background - */ - DrawUtils.drawGradientRect(posX, posY, posX + 70, posY + 21, background.getRGB(), background.getRGB()); - DrawUtils.drawGradientRect(posX+70, posY, posX + 114, posY + 40.8,background.getRGB(), background.getRGB()); - drawSlant((int)posX - 1, (int)posY-9,(int) 45, background.getRGB()); - /* - * Font - */ - if(fontColor.getBlue() == 5 && fontColor.getRed() == 5 && fontColor.getGreen() == 5) { - DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 15, posY + 7, true, true); - } else if(fontColor.getBlue() == 6 && fontColor.getRed() == 6 && fontColor.getGreen() == 6) { - DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 15, posY + 7, false, true); - } else { - if(customFont) { - FontManager.baloo17.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 15, (float) posY + 5, fontColor.getRGB()); - } else { - mc.fontRendererObj.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 15, (float) posY + 7, fontColor.getRGB()); - } - } - /* - * Sidebar - */ - DrawUtils.drawGradientRect(posX, posY, posX + 5, posY + 21, sideBarColor.getRGB(), sideBarColor.getRGB()); - - - DrawUtils.drawCircle((float)posX+90.0F, (float) posY+20.0F, 1, centerColor.getRGB(), 1, true); - DrawUtils.drawCircle((float)posX+90+mX, (float)posY+20+mY, 5, mouseColor.getRGB(), 1, false); - } else { - /* - * Background - */ - DrawUtils.drawGradientRect(posX, posY, posX + 44, posY + 40.8, background.getRGB(), background.getRGB()); - DrawUtils.drawGradientRect(posX+44, posY, posX + 114, posY + 21,background.getRGB(), background.getRGB()); - drawSlant((int)posX-7,(int) posY-9, 315, background.getRGB()); - /* - * Font - */ - if(fontColor.getBlue() == 5 && fontColor.getRed() == 5 && fontColor.getGreen() == 5) { - DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 75, posY + 7, true, true); - } else if(fontColor.getBlue() == 6 && fontColor.getRed() == 6 && fontColor.getGreen() == 6) { - DrawUtils.drawChromaString(leftClickCounter.getCps() + " CPS", posX + 75, posY + 7, false, true); - } else { - mc.fontRendererObj.drawStringWithShadow(leftClickCounter.getCps() + " CPS", (float) posX + 75, (float) posY + 7, fontColor.getRGB()); - } - /* - * Sidebar - */ - DrawUtils.drawGradientRect(posX + 109, posY, posX + 114,posY + 21, sideBarColor.getRGB(), sideBarColor.getRGB()); - - DrawUtils.drawCircle((float) posX+24, (float) posY+20.0F, 1, centerColor.getRGB(), 1, true); - DrawUtils.drawCircle((float) posX+24+mX, (float) posY+20+mY, 5, mouseColor.getRGB(), 1, false); - } - GL11.glColor3f(1, 1, 1); - GL11.glScaled(1, 1, 1); - GL11.glPopMatrix(); - } - - public void drawSlant(int x, int y, double rotation, int paramColor) { - float alpha = (float)(paramColor >> 24 & 0xFF) / 255F; - float red = (float)(paramColor >> 16 & 0xFF) / 255F; - float green = (float)(paramColor >> 8 & 0xFF) / 255F; - float blue = (float)(paramColor & 0xFF) / 255F; - GL11.glPushMatrix(); - GL11.glClear(256); - //GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glEnable(GL11.GL_LINE_SMOOTH); - - GL11.glColor4f(red, green, blue, alpha); - GL11.glScaled(1, 1, 1); - GL11.glTranslated(x+61, y+40, 0); - GL11.glRotated(rotation, 0F, 0F, 1.0F); - - GL11.glPushMatrix(); - - GL11.glBegin(GL11.GL_TRIANGLES); - GL11.glVertex2d(0, -13.9); - GL11.glVertex2d(-13.9, 0); - GL11.glVertex2d(13.9, 0); - GL11.glEnd(); - GL11.glPopMatrix(); - - GL11.glRotated(-rotation, 0F, 0F, 1.0F); - GL11.glTranslated(-x - 61, -y - 40, 0); - - GL11.glEnable(GL11.GL_TEXTURE_2D); - //GL11.glDisable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_LINE_SMOOTH); - GL11.glPopMatrix(); - } - - @SubscribeEvent - public void onClick(MouseDownEvent e) { - if(e.getButton() == 0) { - leftClickCounter.onClick(); - } - } - - @SubscribeEvent - public void onClick(MouseMoveEvent e) { - dx = Mouse.getEventDX(); - dy = Mouse.getEventDY(); - lastEvent = System.currentTimeMillis(); - } - - @SubscribeEvent - public void update(ClientTickEvent event) { - float circleX = MathHelper.clamp_float(dx * mouseMultiH, -12.0f, 20.0f); - float circleY = MathHelper.clamp_float(-dy * mouseMultiV, -10.0f, 10.0f); - - if (mX < circleX) { - if (mX + smoothX > circleX) { - mX = circleX; - } - else { - mX += smoothX; - } - } - else if (mX > circleX) { - if (mX - smoothX < circleX) { - mX = circleX; - } - else { - mX -= smoothX; - } - } - if (mY < circleY) { - if (mY + smoothY > circleY) { - mY = circleY; - } - else { - mY += smoothY; - } - } - else if (mY > circleY) { - if (mY - smoothY < circleY) { - mY = circleY; - } - else { - mY -= smoothY; - } - } - final boolean timeUp = timeSinceLastEvent() >= 45L; - if (timeUp) { - dx = 0; - } - if (timeUp) { - dy = 0; - } - } - - public static long timeSinceLastEvent() { - return System.currentTimeMillis() - lastEvent; - } -} diff --git a/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java b/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java index a82ef07a..0fb01629 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java +++ b/src/main/java/rip/athena/client/modules/impl/render/PotCounter.java @@ -52,7 +52,7 @@ public class PotCounter extends Module { private int counter = 0; public PotCounter() { - super("Pot Counter", Category.RENDER); + super("Pot Counter", Category.RENDER, "Athena/gui/mods/potion.png"); hud = new HUDElement("potioncounter", width, height) { @Override diff --git a/src/main/java/rip/athena/client/modules/impl/render/TPS.java b/src/main/java/rip/athena/client/modules/impl/render/TPS.java index 60a3e7ed..5d4ae8f4 100644 --- a/src/main/java/rip/athena/client/modules/impl/render/TPS.java +++ b/src/main/java/rip/athena/client/modules/impl/render/TPS.java @@ -54,7 +54,7 @@ public class TPS extends Module { private int height = 18; public TPS() { - super("TPS", Category.RENDER); + super("TPS", Category.RENDER, "Athena/gui/mods/tps.png"); hud = new HUDElement("tps", width, height) { @Override diff --git a/src/main/java/rip/athena/client/utils/render/RoundedUtils.java b/src/main/java/rip/athena/client/utils/render/RoundedUtils.java new file mode 100644 index 00000000..f3099ab1 --- /dev/null +++ b/src/main/java/rip/athena/client/utils/render/RoundedUtils.java @@ -0,0 +1,402 @@ +package rip.athena.client.utils.render; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.GlStateManager; + +import org.lwjgl.opengl.GL11; +import static org.lwjgl.opengl.GL11.*; +public class RoundedUtils { + + final static Minecraft mc = Minecraft.getMinecraft(); + final static FontRenderer fr = mc.fontRendererObj; + + public static void enableGL2D() { + glDisable(GL_DEPTH_TEST); + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDepthMask(true); + glEnable(GL_LINE_SMOOTH); + glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); + glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); + } + + public static void disableGL2D() { + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glEnable(GL_DEPTH_TEST); + glDisable(GL_LINE_SMOOTH); + glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE); + glHint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE); + } + /* + * + * NORMAL + * + */ + + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param radius : round of edges; + * @param color : color; + */ + + public static void drawSmoothRoundedRect(float x, float y, float x1, float y1, float radius, int color) { + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glEnable(GL_LINE_SMOOTH); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glBegin(GL_POLYGON); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glBegin(GL_LINE_LOOP); + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_LINE_SMOOTH); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + glLineWidth(1); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + } + public static void drawRoundedRect(float x, float y, float x1, float y1, float radius, int color) { + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glEnable(GL_LINE_SMOOTH); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glBegin(GL_POLYGON); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glScaled(2.0D, 2.0D, 2.0D); + glEnable(GL_BLEND); + glPopAttrib(); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + } + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param radius : round of edges; + * @param lineWidth : width of outline line; + * @param color : color; + */ + + public static void drawRoundedOutline(float x, float y, float x1, float y1, float radius,float lineWidth, int color) { + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glLineWidth(lineWidth); + glBegin(GL_LINE_LOOP); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + glLineWidth(1); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + } + + /* + * + * SELECTED EDGES + * + */ + + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param radius1 : round of left top edges; + * @param radius2 : round of right top edges; + * @param radius3 : round of left bottom edges; + * @param radius4 : round of right bottom edges; + * @param color : color; + */ + + public static void drawSelectRoundedRect(float x, float y, float x1, float y1, float radius1,float radius2,float radius3,float radius4, int color) { + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glBegin(9); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius1 + Math.sin(i * Math.PI / 180.0D) * radius1 * -1.0D, y + radius1 + Math.cos(i * Math.PI / 180.0D) * radius1 * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius2 + Math.sin(i * Math.PI / 180.0D) * radius2 * -1.0D, y1 - radius2 + Math.cos(i * Math.PI / 180.0D) * radius2 * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius3 + Math.sin(i * Math.PI / 180.0D) * radius3, y1 - radius3 + Math.cos(i * Math.PI / 180.0D) * radius3); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius4 + Math.sin(i * Math.PI / 180.0D) * radius4, y + radius4 + Math.cos(i * Math.PI / 180.0D) * radius4); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + glLineWidth(1); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + } + + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param radius1 : round of left top edges; + * @param radius2 : round of right top edges; + * @param radius3 : round of left bottom edges; + * @param radius4 : round of right bottom edges; + * @param lineWidth : width of outline line; + * @param color : color; + */ + + public static void drawSelectRoundedOutline(float x, float y, float x1, float y1, float radius1,float radius2,float radius3,float radius4,float lineWidth, int color) { + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glLineWidth(lineWidth); + glBegin(GL_LINE_LOOP); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius1 + Math.sin(i * Math.PI / 180.0D) * radius1 * -1.0D, y + radius1 + Math.cos(i * Math.PI / 180.0D) * radius1 * -1.0D); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius2 + Math.sin(i * Math.PI / 180.0D) * radius2 * -1.0D, y1 - radius2 + Math.cos(i * Math.PI / 180.0D) * radius2 * -1.0D); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius3 + Math.sin(i * Math.PI / 180.0D) * radius3, y1 - radius3 + Math.cos(i * Math.PI / 180.0D) * radius3); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius4 + Math.sin(i * Math.PI / 180.0D) * radius4, y + radius4 + Math.cos(i * Math.PI / 180.0D) * radius4); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + glLineWidth(1); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + } + public static void setColor(int color) { + float a = (color >> 24 & 0xFF) / 255.0F; + float r = (color >> 16 & 0xFF) / 255.0F; + float g = (color >> 8 & 0xFF) / 255.0F; + float b = (color & 0xFF) / 255.0F; + glColor4f(r, g, b, a); + } + + /* + * + * GRADIENT + * + */ + + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param radius : round of edges; + * @param color : color; + * @param color2 : color2; + * @param color3 : color3; + * @param color4 : color4; + */ + public static void drawRoundedGradientRectCorner(float x, float y, float x1, float y1, float radius, int color, int color2, int color3, int color4) { + setColor(-1); + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_LINE_SMOOTH); + glShadeModel(GL_SMOOTH); + + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glShadeModel(GL_SMOOTH); + glBegin(9); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + setColor(color2); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + setColor(color3); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + setColor(color4); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + + + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glShadeModel(GL_FLAT); + setColor(-1); + } + + + /** + * @param x : X pos + * @param y : Y pos + * @param x1 : X2 pos + * @param y1 : Y2 pos + * @param width : width of line; + * @param radius : round of edges; + * @param color : color; + * @param color2 : color2; + * @param color3 : color3; + * @param color4 : color4; + */ + public static void drawRoundedGradientOutlineCorner(float x, float y, float x1, float y1, float width, float radius, int color, int color2, int color3, int color4) { + setColor(-1); + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_LINE_SMOOTH); + glShadeModel(GL_SMOOTH); + + glPushAttrib(0); + glScaled(0.5D, 0.5D, 0.5D); + x *= 2.0D; + y *= 2.0D; + x1 *= 2.0D; + y1 *= 2.0D; + glEnable(GL_BLEND); + glDisable(GL_TEXTURE_2D); + setColor(color); + glEnable(GL_LINE_SMOOTH); + glShadeModel(GL_SMOOTH); + glLineWidth(width); + glBegin(GL_LINE_LOOP); + int i; + for (i = 0; i <= 90; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y + radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + setColor(color2); + for (i = 90; i <= 180; i += 3) + glVertex2d(x + radius + Math.sin(i * Math.PI / 180.0D) * radius * -1.0D, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius * -1.0D); + setColor(color3); + for (i = 0; i <= 90; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y1 - radius + Math.cos(i * Math.PI / 180.0D) * radius); + setColor(color4); + for (i = 90; i <= 180; i += 3) + glVertex2d(x1 - radius + Math.sin(i * Math.PI / 180.0D) * radius, y + radius + Math.cos(i * Math.PI / 180.0D) * radius); + glEnd(); + glLineWidth(1); + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); + glEnable(GL_TEXTURE_2D); + glScaled(2.0D, 2.0D, 2.0D); + glPopAttrib(); + + + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glDisable(GL_LINE_SMOOTH); + glShadeModel(GL_FLAT); + setColor(-1); + } +} \ No newline at end of file diff --git a/src/main/resources/assets/minecraft/Athena/gui/menu/bluefps.png b/src/main/resources/assets/minecraft/Athena/gui/menu/bluefps.png new file mode 100644 index 0000000000000000000000000000000000000000..e56e33e3afacbb54072176067602cd8eadde5dac GIT binary patch literal 44738 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 ONqf5bxvX^8l-xpm7|pluAEu6{1-oD!M< DXC^g? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/menu/greenfps.png b/src/main/resources/assets/minecraft/Athena/gui/menu/greenfps.png new file mode 100644 index 0000000000000000000000000000000000000000..71a74163a8b4ef75031d4effc1f564bdc22868a6 GIT binary patch literal 44708 zcmeFZ^;gyL@;!`*fiy~|QUW3%4bq*8ba$7ubV(x!NOwthw+e_fNVjx@wDdFF&%HlB z|G}5F-b>a2&UwYeo;`aEek&)A_K5Hi0s;b>q=d*j1cW2GUteFXi6HL~ednT*t*M*e+)SLBSQERet=%x7YDosWF*QEgrI7Xn8)0A!TR72qa+a8)v*g7d0Jnk(vCGlGNe1 zx$`X^)2~=rNATLpq^PKJUcqC>##SA*=M_?2U5%oos92}2uI|sx%{{ZZxk<>&+bo41 z=x4lO%B@WwEAZ5eoLmrGhAJ<95Xb59H(SkwwuL-JWo2^}C8Z4&6%`^S6_q6T)cBE+ zk@TCfpSGG=1qD*IH8sl3@L;tuQ4x3IyeE$9u+?m-sX3XRS3_;%eD&&8azjHyX-!Ry zLRD2&KikMfC?2D$XuSvW<1hU?-)+07ldBA^tacFLac5zvRP^w;B8H_|8W=30!fV8` zvVGWUYLj;G+9T99bEIRm9XK&^aqvlEjxt0B23IJ5KR0CqLhe@Z7-KI#u7>B;RKPscNG_5czE84)+ zG#-P+jyu?o(F_6*!wv<)`I|(z>~-5}Yc;h5BQrCzp2S2#%Ad+OI5>T<9$9k>3pR6e z^Uu!>B;LF5n~L>b2tErFfs;H*(#^UNvl_Z7yg5Ad%9{5`Q(NjwWJ^lV$#JZDT8@r_ zLgd)Pvi4*n9Gj_WAui4!)@zLyd*8S((W9cGLP|v6+RQA$(AYRuOXr*3ccMFGgNmCF z*`%*95fFT_1tK!&>FF7yq@3GAW2?mGLaWHa%F^;DtUS%qH0QJ{nx=UV<2mO`Q-1%UUHMaCo6ou&HglKF zetvD0PCHZ0rc+gBbOCxwKY||c`FLkzA(Y2fg$Q|>KJ}i%vgafo?e6ZTrlO*ng@thA z;NdwJ<>xaO78VW{Uo0h`p619&yf3sBWhk z?-IFxl{vo8DK6egQ>;6h*;L$ zEj9f6_iuL1m$lBew&ey&N-@jVsUf3@UpbBQeb6cJG^&_z~JM(j160z znGza6B7du{Zmy}VJ(mynA`2EU4*$*<6c#$RmbP4}kES>q-*5*|e=jcuLE5 z=C7*ag|~HI#cyx2(&T57?LTxWA5q=p*NX?oaw*)rmg6O}hqw&tP1WV)XQ+V5hQ2xGzFD;^}ysD_Ezl)h!K1y8A&i56&MrClIC;dJoE$N@I=?#25^)!o`nyw0nrdpaG>nWlJ45W}SRFD6k3R05jj3vAP?Yn{ zelG1x;$W0XE^6|TdQmg^HKN|B+GHSgocHzXl8Nc*ECLSVnIARJ1o^7q;J)I}a2lZ8 zVfA}SPtTH9ROHY#FhHiQu0D0AIYR7)%qnuRcnVh~qvUiYa||q~6s{Vr@WhqT*wixAz~o@_Q!t7}UfNI&GVaieAhwF6v`cJ%HO)Cn=sO zX{|1}b~CkgqhWYxO*y8ltc-GWd|d0TdXqT8?;%X~Y>1TGVZA<_ ^XcRm`L21Or!Ev##*K~GhGV#C?+e`Q2!;!%jO?-e%qF`=m*)%jV;y@6f zH`?l3YdVz4Fk`f8uV-q@nKMjEcDlchY(4x{Ho2w66Pf7_;-U~FHBCCI6&J9>gtWB1 z)TAVymb$u$ds=v1ZWvdGa|WbzlDHe^`d0e-6{GF#hPJ}`yw1BbDJx!VDKA%q*8_LG z@IRb{mzM779RiW2|b4b|Uvwsp}~&#RXh_)LF< z0?|pdeN@|?>(K*HtWg&0KBQx0to=1GkQN0i?^v<3`Ye#e|Kl2q!$&;gyR3{1;bV(4 zv*E8hZ5&lccyA|T5zk17_qDZYDmprNg;t?TLO z>E+Nz`R4W3K)k=pkNCP^HuV*2L&K_BI9I{DEEfLW-rmA?8q?vAw|u_q9_U={X~w@Y z>Mlv;b>kDL_5H4tiuxn)EgE=C!1t$ih^9mMaXpSNo~T=Q2& zKP4t6huiD=GHcVV5%qCy`S-7yhtxB?Yin!HWm=6+7y?z3iUb?o_uADPHv2;6GDY8r zii+;~`};2)9vs|<#9Oc*eq|`?tN#V5p=S8kFVjMQ|9k4X%7^xw_4W0eEXKW@B_3td zxa;xrlnQvPwE&t z?WWHzUtCZi#Ikk2gPWgU$9}OrI2SFv!KIAW#s_pKB<(JyvULA$n z`biAoOH(>6?g=_?-!hdH74?SIRuFwmRF`ZWC~{U;RlPh&aRl!UudO}h8jema8F}V& z?Dg=)r3o3l8{`j>^t(tOWx@O>KIY8uhc7*HadEk_x3j}lR#bEl;{5fHm4HZ6JVKi! z-FXb|>^mF*3p47)K(HocsIK*)EXMf26USHw(#*}YmDDJI3i0sQdXU^{3y8@}mZ5-( zy(A3H4&)4{$HT>SU0z<6c|k`fRLQM0C!cPJjaYuo$d;x6uT+}-uLW;aw(6oFQ68P2xkwXkVl1|8#Xw|Rwlw~H=1*m zliu2F7av{92QBfH&xH4W{34J7M#nB%L zNURHT6pjla$DdE5`vPmg>FMrX?SZvCr>FOV&=3+A7kBfFkufb;Pc;K}rJ|-*j~&br z*p@F)de(ZApL4No?!b)~*cK^hGMK*iY*Sx5b3CSHy`=hqHjXKpPjvLta03`0^?Q#-3}YPxh2 z742{axV``A(IYiFIyzHkeC#E{hI^{2e%L9jDsSJWpB!(g%q}k*CczW>@#Dv@`T6;= zkU4RSDa4&|l`U;gH25fXe}xgS)NpZfHsP*$3hZW50n|{x)+ZwAw5|8`MI0z9D#C#h z2wfuHWiQj^hp1BeR-2xB(b??WaU~}`9i1Iu>S04e!*_~`im9~p^!(A$(bAB>r5E0F zQsD<=OqPpWr%!Ul^^9I0ZA9P0-i5^!!nIG+P*Jf}H*;16iZ~^T*r)&I~qJm*QFnxE6B_5 z@656U=*0k@bpd2@lb4s*PDe}Yk;GP5P>@;7V`RF3CtngZM(U9O_x@Wf;`h?hl9hJT zhlRgK8w%ouWp|pXic3Y#4~;BGR`{>~8PsQGEulPf8pM5g%QRrdBXIXLmX*DiadkZ} z03gdknQo};ghE`VE&R13u@(Wf*(5eDt`v6O6B!dDJ3csAS6p1|A*rlZUhRWZ(z>b!_JYtVTY)PpmnUg_R#R2!I>mqD#7GBC zt|1VdvH0TNkQzQqi;AkC;^5%$Zd-UhrnBFRL{8nFSj$c1aVHW!IW{InbT4+#+{{cA z44NNm#{RYUoGVe65=p`82m0yGfA;2@El7!orq96ZOUjMdNq4_DoXf0|cdJe=*=SER zIBv0W%7}hZ!c3bWA6rzQk2F?)_fG%w=g*iB#%IHWJLi6Ezp$Yvz&4p9JGy~zCl&MM z3pVR0n@yfso+#LX=eu|Bx_x7seiZ$@anH@kNofE1)9H4T#>UDz zm=*z5IHvJHl`i!TB@IpI-;PkcVgr5shS^rH`HtPFxOU{zKY{Gcx7ap104d;|C_2j)TU%qI8pGLRaI%(Yq;6hkph0>OukdQF9x~gjKJ!dka?WB-samb=cN@{9J z(&x{E&tAQ%*qfYDR&cXfGY`^X^z5zc`dKtus9b!0SJ^+*jVhsstUZxy3>zyyGxNv! z;o5*60P~#$bxpDR#OJTR^Mn%5%J_d&mz2y`)zZ3Z2?+Sfg@Y3_4Mw_wAMkyV>6N#r zVRU5V5G6JB*NX%elb@`}b|lo9tk3;Fk=ZR6OGx}uy?fWsQY!qLY5~}xv{L=XhNYgK z-d=lqd)d^KIvP7NyA2kh%~-@W(asH|H5mx3d|CPV1O=Iy2ZUD5nSn?juyF3MQe6FA z5UxbQdx`ofENpvxbMtw5y^`g`(kk!l?5qvPPxRx`va+`d8X819oZe*Q-|mzL2>$(q z098z4bo5ejZZ2LnylLl}pU6{QUJnH)rxTf)g(a;gzTroZCOopi)CHB4j=N9Qj&54> zj5X#mdjn6OD{GQ<;X>>d6&G(56%#vAncG;Wmx{gAC%Q>#wVbRlvN$UauCrSSSp$>I z&4?a&{ra`_{vk?hocnFzsIw&I7SzB0^2H0{uo@#U0{r~K!ocaNsr&l)0X4L2{}hy! zjbo#t?5gYP>TnX9Gu>jg$QbElikh4Un$$e5rkfxjy>oDIkh3s1*A@tjz1$2p(Oac{ zF`p+#j4sZ{!Jz^qiE{ldbE4HPucYLE{d{C}v`bk@sS9|Po($qa+uZr<;GV^hf{=Cn z&yOID(Gd_Nm_uTGbnl+O6bVTRox?IM{{p6R+WJW-y1vWRdG+i{Puv4yj~^+!PCsVi zckvZ3SN_d$x7y6}=>UClqiLi*zZZx>R^;yC@usGcZ+CjXxH!VV2fj?-uovK6O3(uK zrDb@%$=*N(Q~^B`3yZy{l~wWFsdLk)tE+2aUvIDSfv^G~&26waaVRD6bx5?m%JCCr z3-j`_Hvw=AgB84xn=bzR&AnAZ_$4#5d~IEwDhC_e=xciVp64tq!{9#R5s+e6*48)# zYYk&!V+(LO$PAJ(8@!MDRBP_y8RvV|ClqIAD`u3GXcy(?#$}b1^p6e=b+IrrOR_LA z{kkPPpbmK<-~}fDF zX=i6Qvf7{0sN!LRw|Bmycq27+d9l}8IyN*!t1qlW{$Le~M3#YM9IT$69)?!;vkG=b zMw|GirY6M1l!Fs81N>Mcb8~J59UcCnazk5UmHzJTa~3d4EE{Dl8|g2D=fMXeEG|cH zfKxD;nwp{+%w#q)T4A)*8v3OC+w1H=6bd$(!>#esfZ*U@_I36`$VNTAy)u=M^Znu& zb!wgvvPOmP%>2wv>@uW`PfYx(rl#h>&cX4>eRO=Bad2?(xzQn^cT>~r zPlYO_=no+WW3HSqb}|`xd3oLFdKyjCSWR!gd5lwYRiJh9F9{Ej82`Z7*a-_i|6jK* zDESy%*jA>qqN1W|;1jkWkH2;aE&JfiNHKKfDew!Zo~?3-em8%yEGZmRrS$X`Y<|^T z-@|i%yfB=8O)@y2hUCuEE+QzHAtfrh5*Z%ezYmMk)Lp76gsog19XSkt`SK(bo-N4y z#{2vGeNdL~O2wdPY|qZj?5e7&Qcg}yd6rdIUs11vWtqjs#@6EpT)9PZNP7-8&*i>J zBgMzYel>TLZNg7IOotwZ#s&FV#4~V9L`3AMc{9;9r+g;0p5)VXlgnZ9?rdWx)8vC7 zDpzpc%+fnq1c2L6`+IveHNa0J+Hv~wypH{@TN@f&tD2jyBpf>Jge5ZxC?LqhfD=~$ zx?M8y$@yJ>Uf3YdxBl=gxY+|()&n3;OAYW(VnVzcEQcaHzGi z5)x&N_G@x94f;W$X|N3bimIwGo7slrB;{iDW^4FH4?lAS1&-o$FEpeR3Px;lRp)y90@?@IJ@T26c;xMtgb%3{5hwR*|{(| zIq3y_;LC-SQdx1650wr_FSP)`MYptEv$ID3WRh9FPyjn_@VaSf1A49DCuB`84U6Hk z;T+ipha-(BcUGcmu2#{rtN2?IYI7ui`0j%TfgHe&-OJpiaD9FKZ-1#|y2dKW#NM+k zsqA3GPH?ufvvci(!F6azh{MlMM9w3W?OFVhueW{8jr)_i>`OU|smOoxn_f`d#u|Jq z)2EYgkTd{ii$y}eZw{yuZF=%PU4t5{cWivz=E#F6d`T7?8@mK<)M1%KOz7m`)47vr zk5V+XEIMS+U4R-oqQ@U_Jf2F*$*~88hHkxI>nAzYAd|lEsB;-nd=!9DtW`yDqGIjb z_ob)V?KFIMFr!TYm~olgnpfQq^L>Evl)SwB-5R*Avcu+JE9CeCE4s$ztCAER=l%tn zufPClrgDj&GPa<54GEZd{G1vEzYCad{5ANPkqFabzW{H+(w2DqUki;ZcAy{i@0-}< zw9g018d+X|_Ng?~)z8f=EauH#_<*PFlJR@K)&j~Y2q{S?EX^b1#B>3_LX^HCiPg+5 z9cZmwoF`BCLWHu1!f5#T=3c#gSuzYHr)!|UKN__r0+Z>NZ-W`aj16^lGn+H@_C+Zv zvnD{2i`Ak&LZK-*{_gkS>ZIkJ#+2I|hK-n$rc2UBVoxkmQoe7!z1z|TT!Dds7)@g= zyvb6n-6riMYK=}ihz14*%1yYLzwyef;(@V1ia;msJdTcvI$2&@!&usp#C524x+<1m z_b4wY*jxeg?wz${VB4J=DI~Ko5~jJuz~6$V=9h0<M znW_lY$>#}U()A5N13v9m&so>f(W`OA#lMzAq`R_7?0wZWHF6nkWdC%@z?4o#KgNc2 z_w@8Z+_oc!Ro&$h(eHD6Jv*3L5rCNGZwh?@VgQrF?Ck6Ygwv${bDsbw76V{UWTc>= z7)a_kZ2Sj_23!}%gpGjNVs5QxXd<%#0zI#d&E9YgUf>D& zW^2aDdhb4vBeF}i@t;aQ{0UTp*wuSrOi4H;{7Kma514VmJ1!TwF5iRuKSciWN{dt> zBp|plgQaDZhXbUYHQFmtKrV&dYC z*{J=h-0@8fh-H2KjGL2lVj7xGwdINT@892Du(ZUHaGo`2Byk5@Wd$bmq;&lR?OH?{ zKyTHhSp@L5oAD4>>i|=;VGGT*m=*YZ(5L|5{t7C(OCa>K2oJmZ*0{aSFE^M1+sd!% zN%r1824F0NhW4p&b#=86+?|ivHXS*9>0ocZwKgmyWYc-E9k~?<``Zamb=Ovt zUe7h3wLBFL&>R^Ylwe_JH(qAuYS^&Y8Y>Q!x~WPWD9z2%sd8GaeQ^GFp{?bOxZ+=4 za(|to08cN9^w)dqsJSh2a&m8eog?s^K%c@`M^?f_5jf|kR8%Xfz}oV@(ez4Higvp8 z2ncUMfa0cea$+J(`Q1Ay%U@*J9nc9g0?Qp{Mjg(dFM-Ff>zYQWqd+ z%=ujo+V_9wNc%x=ge~ULgEAc6J32b^6v6?hT%jK$^OFF;XS!N}(X=Q{cl|jOii70)I5CH%<)D}j_)nd-axX`hc11%7obNQ5D*YJ z_^je5ZXt3aN~@D;%pP=j0)hK-nE=yu-M7GK#bZRgx;Sl}f~-srB<5Ot9T_(-uh!{u zSG1?3PeIaVv=o{BPIn}Q_|NstO*^7zL30WbglwCZp*<80ETS$FmMo_Lv*!)zNZYYU z!C4o|je6|?dB7X;r2ski%4pGZV{gq)B{4q!(tl2evlCy(qVMfKkwp_MGee}+ z=O7<@_7Y+AFOUzj{9f1YO~3&pBWJ9xTzK3#M%CA!Jvn;b7>Pl978VxP1@_zkHrvRA z+LJZ4_H!Fb@lUX{l}5v^sOleKcUvZGvs+EEwgQEW zeED)?qSedmTMskax-MDdW!Q(QObvhvq(PLNNICwH_8IU+m$HFcqT=E@0}3XA%f^u{ zI)VH<)CVW@T3RVXJ8b-?EVQ&;2bX7u!lzB68j<+RS^bm`f;!|7!6Pm_{{H#C zw!OW*=ubO!>FNbVc}eb6GgkdubhnwN+{VTWE6=kZdy|qttfx3GB;mMHoaBvUmv_|X`v*{RgdS$k=D`AO%V@{3oBgK^zC(s3nps`}6%YA&-{ zbVcIlfjeR1l-8Wc-Z;e2mnDYx#))iTYlL6_ET8MqI;SUx-w+mx`&(#*%cf)u@}^g|C@3fl;Ns!&{57r+!k`mC zI5H9h&MZ11VG^5xp|}S>KnYow`u$^vyUOq1|6S*GJCX4^KQeRkLCbiGNiL8c6TQ|c zNpZ2A%4Khi8K74+Ura(mvQq=D^@(KfU!^sw*Kw=8Q)f7d!dZ%u90Cn14mO*Omujji`p>p4CJ(jVFvh5Fo1oaP= zv~GZeAh=p+h>87lSPnyrXm0h=%Nqht&eYoax-ly1-RqU`G5gQa(OEz*ud)E+HtTSH zPe(xD?X8b$5aZ*25RjHG6nIM{IF*rQgZDzUOwOst=8kWbNyVrB^RQ|_p4xJ!an{rq zLIe?BUus_;^a@<8sOl%A6_w@IfH6uN}^f81WgIu{3 zx{4)yHEvXL2CT;u(5n3b%`HENxo!U?&Vb!y+*P&&!*WNoapJ9=9gnCY-U;N}hS}eV zs1r@-Ik58bUcH5;Hv8TclbH!6+EAamMBWhdR{(PBR}LW%gEb+|hB|m2dS0D7ZozF_ z5#Zw9pDvded(`_;I^AZzC6Zpb=wI}%pGb*z^At^{#&4ws<2N%G6DqBawoXo-A~V=8 zK0>%tk9Uy#SCW@!nwXqSEU&3~xg%#Tf0cgEP@*W(6f&h(SxpT(gt)plDtx9+wh&Sl zZW}VPac}-Yn@5uT`SV}%0|Sg7!?iG)h`y8Zd(PZxCfjpx7UI!cm1{qxkN7;%7Km~2 z$bg3^@^$)71d>SZ{kOq4n4nyN)ZwV(&K{a3)aT?9 zVVA+DKTdY0@dVbEyaX48k^*j3ZiWu&HdCg|lR!6Ie~FH6+hlxhpl?f%*g;{tN>bW%|Cr5kEQ)>e-Mq%WDk+HCsHX5bam}RCwwwoZ=!aKWQ!lsM5t)X z;NQ!UH@$s*G#GZz2S`Xr2KdUd z;-tvP$i|h%eN!f+Q*msKPl@H|<>EPQ^)X4V?vjlFS*frj9_k2Yx&@LWCJ3~|yyv(v zs#(q>N=iz^z?>DDGABeu{TAou4qB>PtT5_{Emo^ECLp=~_5f2C#mD7v)oQZIg(cBL z`FEs(on6Hc)U8fLr1oS&f&AR=VeVrUjfI8uR$EHzza$AgKv+<>x&E;tf{Z^iOGN8K zrPF%sTaZyp!Mo>!h7Xy4w{`Ya$k*P%!Pxoi8CZeG@4+kHY&dl=q<3|kf&2GlDT!^I~ z5~Uw>f0hP)U&$9;i|L@g-3G1EQTTZ(6x0zF6?Tte&@;v7@BnvhG6QAj&&9DAAAo8*(Jv6yFR+Y1c}3{=#a&R7Dc<7B)*bkf(HDJ3)yElX*L z4)2!Z>M7aT+pm57`qjFmu<%0pfqW2bg47Ed9djHkEJUTiZ}rr!1qB7QR5CtE^*tSa zMy!jOXp7hxL3Vm_a>6Gnn&%?9w!Dmg9|>ujjeE|5X^G@aRN&&z6akA#|4c`KW;XK! zObaX}V9I)FpFUmC2c-^aYh(U~rtZ&a{yv@*)T>(HvME3wCaH)Qok76%quzOMu1g_T zZkGO86(;V(pf3nhv2~zLkaeJpgq|mp?P9y%R~p_2g9{M_5zLI!4iIOj?-qD|OXY-v zTo#zQeoUOlNYU?u4@>F*SyC%I8yktVQl327XVp^Ga{Ue+udC{0 zowPrv0s>LUy?}rYZ*%m}{sbp4@2mqfmjjD_-2V`iIGME@s4b=wv|DJBFFws@FMlej zx#*|LqDkuzt!!s^unR~G0ouYonZpcYzsN$0^YZ@9fe0WIwkPa^ZI+D{zC>rg*00qJ zwE>r+hYv62XC%aymKO2B`3H0lLemFOss_#gm)Dr0C?#1Kh_qfCEbw2PY)`U8moQjF zy|th|2Wn~y?!c@TkU)9!>RyF+d3ApHJ) z8Gmcbw>=+kRxEsAqb33N^s}?DTnJUqn|}Z5^=I3lzqYd~b2GGncgl-b?*~#+``h9U{;@jh6c|DBrkFb3egA1GSChD2`FXK zWp}1Nqe=jgMnK@l!w;^mVmpA&3W|$&ObWC@gM&BhGW(>v-~7m1_1UKBa5kHU)U4w0 z50UH=g4v;oh%}1BD3G$7J~J~j`=(-_tSf{xzJB1B2|7NtQs)BwivjH1`rQsb_cy(R z<*x6*^E~s46RT#_#em5DZF2H#AwxLua%X${IT`B{0)h?OuCqfny;b_4y~S@6pO-o# z9_ZpLQ%ks+3V#9|&gO}z;dOOBN&`4NJvliUaccPT@H-7^uw#C3aMvra%GP^wO+EqZ zFAM-JEtQv-Yvr9Ix{;HkAx+g-U7W+-<{;&}2v@g?hZFC+ye>L=uEejnGoAV+DXgD0 zck{va8Fcqo2ZHQS9ClWKthZKFQPFr*aelGptw`pV^|%|lodp1g#{mvoXP(RcgUq6Q z=gu8*2+QLsuZZ6xAY}&$T%7Fa5WoH~I1V6{Eyg-41@9K)Byx#6kWj_tYni>RQ z;szi*G3Y$M;Xah0zXKY)T(^^L?a$#IuWw zG;abnoDc|BoW!hc=#L%|jsv2uRr~;?<|a^}BzVW9mW}C&3AfomGKW!j`qrhNhGV{r zvxo!!p#`e8mTM{!A=I;*5|`Xe+UL(N4ZsGapj`SLDD>`KR7P6bykxvQi#%`8Q#2$< z4oh;Wuell^9ejD&C-|oE{u_1IzLg3K7I{0r(S;v582Sv9Eg-v~qM_Lv=}fvy%|90%a8ru*0$bx`B&t= zqRn;)uo{j-v`^K)xJ&2q@_8Pu578=)w+B^VScaqNGh}Zrudd$D{`z(I2Z(B~rEKnZ zG>lA4e8|YiSh(YWh&^cyRcFBfu#~6!OP!sO$9J4Sw9YD{3x(bSAmXI-j10jIHk^j9 zhh${^*76ljp|Ab|1<6g*O-#wg4h0uo=u+Kvqx0S_guuze#%#Zmzw0P>&Yyj|Fo0_N zHXNY^=usIOr03o}T*%B%&5r}|KMI6_bvs8@ zayNhGd-WOoq$pdHy`p}=p=LjV$(ywWi~QeSfIp%EyPy_C>czqqUBWm5!VzW$^(y=j zJyrCW-K+ghvRhlN4hz93yN4(sz=Vi``(mO34CAcn;?KRx^KvCUy^NZ;xbXyIynwps z^4vBtE2D#2&%p&0_e%hfY<*c7Wo2b1@812MEGVF}swiyj%Km6PwqAzg;&PU~+Lz>( zUr@kDvlM7jX)#`6Hk|t=u+bu407-*f;PW@2tZy;5E`7{JnNG9osCnA)-R=jam@-#^ zt68bFc7l6L`Tr26$sqg;b3S`dtP&a#(HajDv49iB8+R#!PZ^%?JCd5A(~p~&kRUrc zJj^3XHMUWi8~Evn&?WZ&Hsww1BOHh>E2N^o$oW!OxhjH$hyA6K#6Ghf!P{CXQd_Rg z&C$a34N_uJDUvk~4DvBn9}(*o&ns>QDyn-7bXh|dOC@h#I0zA(GqbYJ80zVj`*!Pm zet<#h0F8ujqoTW*4<91<++fzZ9DYp#pwCcY3M)-zHu(8-%JF2l>pb0jeD{mHfPla^ zK}dwxIzTpvf-i5P zKmW)7ejFcSYHI4x)2C0{@`;xSu&{ zl?#B-4ixtkU}j-1g%xJ+d&cjne+y_=*U|ARPDmhdz0~R(U&limY%GVrEuO8jU3&KF zL>Gkl-tQmEr15$DM=Be6)%dAGz20u+mAv*ptoV_>7GR*sJ_<{?Hu2eEY&fQvc?gR!ZDvQ2ad=c)Zs zj)1l{-}LX_c44uxxEub@nVFfxfl>Aldd|suA8tk-5z^iNNfOY`k2Z!+0+aYX#l}(# zWJ4>l(>Bs0J_k?1%nYU0^jQetX%p}>|*m}NYN9rf3C1~+=0|Y=knF?w?7kMsW_noQg&|zcK5(DZbvaDs->XWugjUhk z&Gp6Jq~Z4W`!MZej4YGPx&Qb3=mQhI09D$AU-PBIuk~=)(>Vy-3fM_GWbfZXRo?#9 z=MWcW2b?YiHgNeWn&147&wQ&kE5}|#IpL!kU8E0v(7(W88-Q9~O2%gN6%*5hnYA@v z+BQWFbOl*!D=Ym*6DTb(j0FU~AnEJtCpS3lNS*)5JUd*od2uyt?(_T{q1G-k7hPZ0 zmjuuqbb(Dk0D1oK;?ia=GNi<9tFWlpYhD542Ex%7=92JM|$ueV)(YH&0SO1dAFQe{(ENT zvjGrp9Ky=GDSMFxvJ&4P$FMI@gshBMj1UnKA2k3z|SDXVl*BI2VYXfOF zPGxG_(ywY1t zYYB4$REGN2AR*a>)^pA0@_R%usWu_0+Z9E%H4bq3ql^=0c+X47acATH0X<_G~3IaCHHezr*Y9 z?C7YrcX0SP>_=%xEX3h0;DM-EGAtt{RYA--!}H_p1plWs%JK@|zYMe-g~@EIC*GI7&%K)Tt{e z

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%0D00n8{A;DSE0I4iwwRjIRfp&9!6 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 E0J@G&eEEAaV!i~rq9+3vA| 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 b8**P|a;heV`XJOm;p*hD!v6HKkj?)AztiF) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/menu/redfps.png b/src/main/resources/assets/minecraft/Athena/gui/menu/redfps.png new file mode 100644 index 0000000000000000000000000000000000000000..1061ea0abc389d9f0d60d3e72cda07b7b662d216 GIT binary patch literal 44735 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

U!YE!NJjk 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 B4N3q2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/menu/search.png b/src/main/resources/assets/minecraft/Athena/gui/menu/search.png new file mode 100644 index 0000000000000000000000000000000000000000..ca32c6c37bc147e5b91b2dd447249f92ebb0c67c GIT binary patch literal 752 zcmV^h`_6fD=gge>AQA*Y5ClOGVuCEzae_O4}BU%JfRy;C}KLD!7t(#-{lsI=?Z=ZRYawVnREm{gc90_LmMRw^*>?nk%arc zCN}2KKvEi*>sR>mXu<|f%=hQtZ+7`t%UD5xag1OD;|Q>Va+kN&WPc0D8pAn9fQT(#UDLV4G=b z)6BXJOh#6j)L5u;gukHaJh@m(IZa1eaBm=7vgKoI<-=v3`+_+%@+8s=k4SEdZ4{N} z-g^(6JqFcxMX~7CfVy0{NUV6FE_vL}zbZju%^;-dZcfIU($tH-Xo#el!Hc50=FY&W z(p1@sYFSY|b!XsOX=>Su>awDG?asi1?F`Un!Gk*kb)~5ZE2@E2^W4 z>Z|Vt{`lU78j{3=JB;#7WWRkcC02be=6?8HPS<2XGtf&)=ZpFZxyJFf$}hh+wr+gi zTKq{oINIDjA}*Y4uis&q_;7H*F-E*tJz@ghuteNgJLK!+koPUvIA(oQJ~`mcg=7ca zcNoJ`=u=h;@vj=RaP&FyXud1(W<#9I9yfodE$#OO?v##l-KNrc-Nx{%eg1K&_l2h# zj>82r4pU>{E3rGToYnD&E1Y2!Q^scw3>Nmt7Y4yX!C+xmEHGNwH(1ya3yc=_3>LP< z0;7dpgM}@zz-VE|U|~}%Fk09)SlIC0f!FQDJXOW7*BFeX16qB&A@@*T%Bpj@K$3`&;mn+|mQB1<)%J*V?lVKtb!Ijty zb4Q;r8q1@j8mnP!^a*odV_bnlF=Mn1_A{yXa4P;1(||Ep5f7-|qgWkd3)Z7f!aF8) zL>uGw_x1J=Ho=@R8T<%$s^9(iMN9^>V?*4pw=RAfZGlS_^Da)tA2Aj?;C;>c0DE9O zev9Mrj$&?zHo*T3=5_7y`qwhK!#F%-p~{@w4q3Jc=RBdI_^cRj`%jT#mIc zPxOF!uof=YoV}t7m>qAZ-%a>!^a;PkP3revC1EN4u3jB%62pW|&{3~NqimQ7kEqA% z_;-{9|HkX;@hoPGDqv1rp;{gMJ4%LsqoZ24V!@~q#$Y!Lsm3Nz5p1G52Vs2F1^>sZ z%5_sz3^ys)TUa@ofN$Y0<@s$?48K*LNAQDa5~j!ThVQbd2`)2y=V6v;3#^a#3~sHc z3Dz>W4z|XqXdCQeFkQ?OHNiaS8qC4bRyfjN9*&yfVS_n6+6osN%r#LnTvPjZZE=Wq za?}hb8_X@yR=6d1K!b2~UV<8g(?-Be`0Qva96SQT&|{))FbZ3vGXfH^E_T4^XamfG z^G0AP;v&o%O~McG$OtaRJ=$0?4lCm=kmcwVqb?YagG??PGW%m}R0#{>)@(`kbOYv# zDquD|n@#y?da{zHJQmHdl*0ZOWy8XFF9)-x>21s#Rlr_3nmA3nRGoCal*73_J%bsd zN?2PjX~n1-M&ovAayMaAol8m%0Z3i^thw5MIy&lxh4HrZI_8ZgU?*wwrpFSWHgY|J z@zEqKH-Z=ISR~p2Hz?*E9FN~(Jodl`n)5z(#5nvBC*xhkTpn$KpQ5X``>`QrkICQ{ zxL^J5!B2WT1+)ns(%T34ZnO!GFsXNNQjtgaF&3-iQPq18s}x+a>@PSK@0rwo(KeV7 zhvEusj5(rD7>m_Zqk|PNCi;ZAu^Fz!A($B7WOz~e9*mu-!K}*F#e_)3;brA{GE#qVv+`USsnJmMkVyT(pG$m|;h!S4 k;ANgErIb=iDW#OshuhULDywX}9{>OV07*qoM6N<$f+R!v-2eap literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/animation.png b/src/main/resources/assets/minecraft/Athena/gui/mods/animation.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8787a226944f11a3bcb864c142a64ef4143ec5 GIT binary patch literal 1559 zcmV+y2I%>TP)sk{lD_=KANTNa3pz@6(0#QOJHUETy1RwMR%1I{Ky8}nPC=nY95f%Ll zCQT#<@g&F+yJ<#ZM%gba(a#$^Gd=sq+57y`!Tk=;K6l-<&fR;j&szIjA#%zor<`)i zDFLyDy_}+lKAw_g7I;gRM|5+ZD%P%M*Vj@*FP|}KhI`agxcZzgp@TQrYMKs8SC8{4 zF7h5%eIdj8)!=?LuL-I#>Q~nJ0y>!^oVrP^l>2225`~_SUJ3Vi@Peo`#_puu-^IAW zp?~>@2C68hNC?WPq>&5*hUxY$(Gb|oD~%&lT;&h#=eEQDO{1{uMIuIbTQ{Kb-gY8QS%WlV$}Y#e;bq=2_rG zHOf(~U3oco#PRIALucD->MDRzX;Yn!xL#lbeUSjeW6CV2QIw3zPKG06o>3~4zpod_ z??>l;1ycrxo^z814pC0ACG$)wLui$9dR{c{Z{)eb{e6L$XH=d@Y?nf=ie~Bdo1T7P z<{6Y1DFdE+&P5TxE#rK?5rTQHOLt~Gcl3mJ{|NKO0GcfAsF|nEbJq#acz<~2@!NYU zt!=58Crk0Nd-iz7Uxp2!&38-O=wMC7JXbuE%~PR;d-|98=^KDkwp1jmPfH&Gg`Uyx zVR(N;S+0B!6M&L=+Lw&3^Nf89=6t@U+L|HFJI}REj<#jynWA7xk7Kzeg1Em$yYIIM z!AsAzJ@FH?0{!vC`hAZOxtNl2_Xe{B0ysFGSA(`u_n*RL-#h-n0C2d6+#Gl z!dFfb^L+TlJY4sT+;TI#)zD>|XS)zWaMp8uAV2^z^Bi0l8S-2|>Gso_dYlWhk%OM= zbN>hC7=o91&MpKtA2dx0A?P&j_Y2%Y9v?g-tpNg1G7nd!9AS^sRQoi@7nz5J(o)%W2E+Y%;n(N435C zdD48gWFCoI7M8OOU~|J5K&Q)cs?;#gIX~vnqQ^ANeyPpaXBu=$jGWXkPnAFOP{ydn zi3wWujKn^J`!CoUuIuxgc|Q6x4;4%rX7T_T8mXjA2#P7^5DnZkKK-%Z3DY)!hg#;j zZ^JxPXn%zu2i?2exo}9!JoR?TiZUKY;(k9{f>gj0TIMNK966L~^6ItF?su7w0`&oW zGcZqwJ@arh#8eugHhBNX#5|>Zv1cAqv`a+kub*7@Ki4+}U}m0-8}m@YCBwd?Qd`*W zr%AY~ye3>E?5nlLa$Q+c3{= zX}8ibPZ8z(Nh8;#9KXEgsEF_jKd-hIWo_BGK%~C^nDqAFA(U|F5*-m<|(9}dzSn; z5}J8@LkP$`tfh+cbn}QTZ?yr`iue^H^K^+M6eIH#h-4HC^SolSNKTP6&v<}FN$3!w zW1bhzZK{YSQZ&pnsD8aNndKaodFJR$Z0W|pJg*)4`>|%{Ak6cgi!1hrs?f~yh7Rka zxdel-VV=+QQnT9sqq>}VX36rDK6*ICUe<`5a>^;EoN`J){{bvmx27rMz;gfq002ov JPDHLkV1lJi0W<&r literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/armorstatus.png b/src/main/resources/assets/minecraft/Athena/gui/mods/armorstatus.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8678d6800b793160221bf1a050dc2976037af6 GIT binary patch literal 671 zcmV;Q0$}}#P)M?S+5722tA zL`J{-BInfUM4fXMbx(XZ=-Z06iSGtIThU?SyCM8m{4??05Naz7CSKoGB$#+TTajYo z!*7L!i4V0EmM7ltRydk?KU?8=;@xhAr-^sB6)MzQhygJm2E>3E5CdXB42S_SAO^&M z7!U(uKn#cho&svB{A=a`WmN%X^MH3%0q^Dk&#D5R%>!;!1>Bei6jcQj%>(vS1?-sz zY^e&^G7reA3douVj4HXG0jM)7=5Vhj;9iozshWV(WC0s$0ydHbOwv%H-(XUb!L^Ej zYe@>bDgt(s2h8ykT>pnTNe)-R1Fj?uePLEnNhb6MTENlrYajYW)Z1B^(TMmP-GOVF?Yn zgfF)ex#056gsB8qf<>m3=rgzIiUd+y6Go!3 zKv`v#Y|*yaeishLy>s@xJ7=eJ&ims9I1c|0zSs9WA(=~(BuSDaNs=VUp&Pvz6Dj=R z#2Z5|x{(XTgw+@T08)Ut8NljdKKTQX0%VSm3k!u)kOD+G6&4D8DL}NouuvFH0iunT z_Yb82sy#po5XuNmXbNRia{4_#fDT0i`#99VtK_+HlX} zyN9-#4S)um$8T|d;qUzUCC+c0M?*~oz+rq8?>1UP9$Il*ypK3s^#QO6uf*%e)-VTb zMZb8ju&Mk3iVUl86Vu`hqZ4(Z0Mwxq!{SWiCRT+?haApeRGe}2pfO~GM)Y7@oKc)X zE>t3H$B=jr&=D309e5z#5VnU(f`gb8=Ph=HBEv4c6=xC$LnS~v#$@*mCr}?s1ob$9 zZ?YRhdnE+8Dw`=>!-}v-umaaGC7Y|25MWR?-Jwj-Et|ng2rwbLhv*241RZ!NyNL=2 z5N#Y6u`HAbmf<4CMXKfi0K+(nx=kXp!yK?5L*m`7`T(=;iQb6!4C_N4*5jFYZ{+WLsy{#;{=zYQ z6=w=p^Jhw&uQ-OkLS9V-m<`Ku850)I1TJHF$g9l&vtSJ#E4{~96J|*PX2Bl3SA6fW zC*-975g+1a5dFb!3NQpv>heCuDplW|V z1xNu>fD|AFNC8rS6d(mi0a5@g{exfhmexXmLG1n00$?u&t0BM-^Ya92%N+n~@x=W6 zsDuD7OF2ZXfD#XbzpR7+U9ua&anzSO0P1lZBeLtNl(D2faR#unQ~|IP1LE`{7b*c- z@LIh4Xe(9#wBf#Zuh9}J335dkqP~EJ*Z^q2g(3`t=R&1IEAEK*2}iO9z!7{B?+#k4 z=FJw{&@WyuHY;p1dd2IEsJ1uOQ1xs)e-<8gHoWzo}F>4N3iR+kBJX5%im1$|;JYfT# zTe#=gkk(d4!U24c-3J^qU*-}df+1ONbrVVL5Zzk-_>oIzrt0&3up`?ywcld1p!002ovPDHLkV1iD@*`fdd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/chat.png b/src/main/resources/assets/minecraft/Athena/gui/mods/chat.png new file mode 100644 index 0000000000000000000000000000000000000000..d0802639745733b8c6c7ee975c28d9a00434b885 GIT binary patch literal 2865 zcmb`JX*?8qAI1N(Ff%ekrO9q=S?(|rvfK<3QPyOsiJ>IYM3&qb2HDyzSEX#zGIoO~ zOST~%vSdkQO=Zhk493hn-RJf5^1k|=-}#)+Id8v7_O_O2AxR+s0NU!fxg!9O-x30l z@ZV=6oV*Bt(598SsZ-dCDA&e?h)YT33Mf@+#6ZqZ`i*TF=AckKV;%yK*Us9g7?BxBWiCkKgoopdiao%25KqPbatb>kY%c zL1_F7rJl2SgmSfW)y{Y!_IZKM5#Dx@*KUw_dhmJOA6Jc6pNE`pW%nvVV;D0wZ%?yWNJ}P+ez!^4EPfMxXz>u)lE}3>4d~7*cFFa9EE2 z)P?1TU31v8ZRS9%NORlxc;c_0!R9_rxhK-i^zvG7JS0@|dFQx%jU~>FL2MOaRoZo7 zC-P*iK*bNfo4@a};7A|OSMFDbmj5BrJzq;Apx{GziIEl&=ZyR>)jfBA|Af>g9Dg9Z zs!kT9;bqp(?yecfXO`!ADsk0RiYyIW!g>GseugMj%b$5*1nn;}(D`Inh)G2Fhp86k z+k7I<8KDdcqs*_Pu3pV7%bjuxZQneyoqcv_Bldb8r%2+C4s{j!a?KNHQGxho0KfiAY(Z+dZ|~QDRm-lGma9FM zWj_5j2ht+=xI;Sd^~{86O3p}{j}MTSxlzwS#|KzZKM#9!hIbP~#vhBV(l#YBp| z;$!M08;zZhHnp}SNo<^8PVSxZ&?+n@pq_}Yw4XBNiYyY%fK6gA=W-L61-_ll zTMX)}sV-5yo%aIRC}}_boAXOA88R*W4_*b{yN|Ke(#}#i!~~V2BmMK^CSxpBUMNE) zO#6A)Lxw7qlG*q98WJdf+M0*#HuOMo-d*AAh8>*8t!$~El_aY2H@bcPdC6wF#qYZS zIT-=jdoO9UX`5&j`dWxq!iJv=$gF%n>$e_Pe`)Ihfdpiyn%W&qE^=RL$=vmTZ^J|^ zs`|G77+f6~JwZVO?3mwnPtnhAU=YXtf`qMmoZ-g8Oa#VnH_5I~kdoW9?UO!Egx=hK zj|30k?>t#oN}WqXn%(g5)Juxo>z`^Ps;OS3hZ!Hz9b^Gj-|qXuk%0s9<}zBzLxnx0 zaLhpyZ7{nB^|egWl`6VfJzd3UQcQm!ctC(Ai(FBU-oN55yfIIWzR`!=F;jD;hrI1c zwUvwxT1vt(XPwzWFC#K2dm~x|*%%xib)VuBS&FsN{Js>JJ%{Gq_CLmd-KkU=5YbMh z8*LKkT^}Fb{A(cK4admGmp-Z!f@{`CcVc*3;MK5|joeUW^o{zpZen}eO=hs|P4#mF2sYDCB zP8bY=PCMKSQC|xc6Bd|KT|%KKma8!4pB2;ABLVhe!lq2}Mopx1z^GxaB}&a}FV)09 z6u+PL?fW8@+Opj%7c)&is3GRJ^AOco?w!?ILw$B&(}u88X!oSp$4MKKXk@*A9fEL` z``UkIVp%w)xGu#Q*Xjj-l$~2X0Z z_qIG#M1>yzN)s*(c$&frg9;3UtY%n=qR2X~&QMZ^-ED#KO7W^6Wlu2m-u+=;f#Hw@e7`( zzGetvOK`FYgraIhqk>YAo0!PSJWZ0a0MO5$suVcgY_PDYc+t58$|M=~9U9>_u;5fM z$+7<8qnOFBs%a1b=9z_IT7LTCOn+ikkEx6RJ>{55Us_!4FlWU8$yVNt%?zR=Vq!`8u`P}}F@xu>V>uKw!a@D3T z61+d<^wQZk!6pO*f6$b|Qf7|@M%cr__8iT2E(48G#}xL!z}tibs1!~eZ@<9I32bz% zRP)Jwmzdu(;5{*XaU!Z)A)J^F0T*ME`6@g-^)mvf0dmEBR;wH!R~Iz9C0+;Q23rB- zF9=QQRA1ddIRcFK%FnotVL-sKxME9RT?p;O-|xDni|0Y3@;AM7#%Vyi+~2z}Bh7<@ zC5_{A1y6Uuf#H0iISByDyyGAV2YOG>L@mUsfyrx0VNgIKV1Co-zsZNC;QzL1&Jwc; W4NUFiS6jbP7+4*%H7_wE$NU$m2MHtq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/coordinates.png b/src/main/resources/assets/minecraft/Athena/gui/mods/coordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..b0d0b2c26f64f07675a7c6467665a9321fd6ccbb GIT binary patch literal 1840 zcmV-02haG4P)yrV*NyK%%rNL7^c9c)Dy(n}1^nP*~ z?rLQ?x$JkeQ%0{?3_p=7+fQDgkmQK0B~!=+TYFU`20i>CoUr*=BL&gX0}?2p(Z=ct zh6FqNcEjIDUtgB{ve6boVsLA}()fu`FjRnXgpBqp1KA67wAs2P^bG6|_p~`#$^xJn zM#tGiUf@n5k0z5-^=o#j!R!s@y3FS^mQ%tZLNroGh;qJWDQR?d>^GMihN+tBk2KU9 zhM(cETe2uK&SbM(qm)`!y=+wu3$%|NC*eL=GUw;P(xVlUF$JBb0f@ z=mhk+kQ3?fJ5jAxzv0+o9yfgv=u1p89&K_bRMROk09l$e7+Sp>Kn!r5mkgFQ!N`ha z_-$0E-bg>yYNqY%H}MmBOy^mWNMbyh z-pVSB39B~wOgi^qL>P{h!)xI09K1GONIVz zp+B!a+L2wx$LaRhKuw0>CfQsofD z_xu9rE+Z<}{^9bMI@O)^9b{t0{}Pe}K*Y)X;RxUdm$P=iijPH>$p0pmRC}nhjZS#XcCk6e z2tjZ5sVa3Nxm1rJLdwB{>q8w6Mg>8f(u!^`lDB3-1@)T^If?sxLs+8vNap)lP-&H+ zhMSa9pAf2Le}lV73ofx$Xc)plUkgbmwu)3@%j=z`hty&>7iryul`$ zY_<^s1JwLi#o~hF16S90h3lTLI_`pC@N@HGbH((2pcPxUAn>9(jc4ZbS3qAIs}gtz#dy_~$`L5{GC z6-+UcVHXI~{Z2 zLIzs=8k54;K749R@IpLl1uFrU9*VRs=+=23dQ*Gi2*`z&#-EFr?uXa z`F{vkMRuz{N{sp`;-*%AiWs(_ygvr5U>y@%Y0F+ImUONgVCvX%v;*_D0AB`$G^ eOI+d-jrv_D literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/cps.png b/src/main/resources/assets/minecraft/Athena/gui/mods/cps.png new file mode 100644 index 0000000000000000000000000000000000000000..7555425f751686b5fbe622bc2352010169bc12e5 GIT binary patch literal 737 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z_h~C#WAFU@$JEl-l2&y#~;4u z%;i{D&~DwmWBZHw50xfau$o%FoUpjfL&@X&`i?xSt)}W0kqR72TRgfKP518V*8MJg z^~&nX^Og1QE%#f`c^L%r;#Bf`AQ$0C-VmgOo4pB{SbN%!+P#rmu}?pvOJ+FJPShd%3%{kF$KZJ+%- z$Sm?e(SAnw)Dt&S7+57zCi`4{U}(*=grWKEhlr=iE&WdxFjUs0xIBF%xckW>hM#Xf zd88(F&k<2ruRFD!_1BXn43%Fa11x7eXuBh#uwPnjik#$pO$WxVA3n>jL@W_t)kq7> zy!fEWNo2tcZYi%$bCD$su6qNmOm-|%VAXil)fSXE^N`4b9jQwXnR5j9GMR@@Jv1*I^N!Xu zXq~RP^q`?!-&8K`iikihlNW(o<#?AKwhE07_cGbJ#A~|AR5AUPm%Nv{9kUC)sUBSA zQ{*eUZf1yOg`4QSl{Q;6qoY%m7CXmQL$2Dp%x1M zU?Ye=Uz0-j?z~*?F6ZRCx4w6F-u;=I-JKOlkRU;V1PMX|7PG9f%>kD*xCh{#2A3SL z%__54f79`P3RF3z6`WF~K>y!yK2MET{Nj}w`M6zAQRIpsxS~iZu1QnkjxcaXspAuh zIj#v4*UWX!`Elw*fjZ-zaDSd>qQW!t(K_GDmZuYs>{DTpNivLzh%icqNfxQF&!Z=Q zi{7Z*ALQuQrjJ=C=V>L!I>*1-Ibtvh_s6(!ZSsvOSzp$&RC#l?cfnZL?oV*z(%1`| z?WG4;Z1Un_^@fRXd*99dU4{c$9%k27LRh1~Am@%vG{Q**$kTANe;&$OAmy@j>!d>) z;k3)2zIGFulIg&8F%!fl)Ed((+&Xa@tk^L>1caZQD zAi;2$nP1WL{2oT|>9MB)-4!k%Gf#hbEYP&Q%}uwj_l@unOal%-e&EE#4Fy(wn~ zWvVp?gTkeiDdV#p}yQkM18?i7nGc-FZvTvUv?>?zVNj<3Ytrgn`=RH@wbTj z^82O;%?}`&5_CU7X^PPN2&gGR_cN@f2+a@SzRA%06!FJ|()$?nhY+pLaT6p+kRX9l Z`~xo}jVg(yC=~zz002ovPDHLkV1mf}sv7_R literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/fps.png b/src/main/resources/assets/minecraft/Athena/gui/mods/fps.png new file mode 100644 index 0000000000000000000000000000000000000000..695eee103b241b385f2a62a2e11c0504e9b2bff5 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeE3?v1%WpM*3l>na*S0MeL5ZJ=m`x2;*rzFTP zm_e)W>Zkv#lm6_Qc!fp4a2HT~m#2$kNCjik0XDaT8WOBdY6}Y*v>vVL@U5-N)?ixD z=`tm8Rr+kHE|v?fO2P&v1&p_}nYkMh6}r}4WVP}V?~plRa#O{-WIx-7%B6i?Q~xXM zsW`Bcn>9`0hEwB9j&A`8TusIzGuj?-ur5>T;N<-$#==+fOZecNe<=pb?In+#V6&B; zl5=5`V=dp0w+Xcewz@7ZFubJj;MLN=9d|NC=J89lvUj;X9FJ+uER87Yv@RelF{r5}E)58i-^7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/freelook.png b/src/main/resources/assets/minecraft/Athena/gui/mods/freelook.png new file mode 100644 index 0000000000000000000000000000000000000000..3511de42c550470aafdbd2e67c412e953f394806 GIT binary patch literal 947 zcmV;k15EshP);p=pc$0*>aUW+-Gf9(2m$=pflt zkU$nQWDue;+>la4BIHvwM(=m;dzV-L@5}#QxaZNpz(BDul^b9xGd?ht7spIx#R*e6 z@r9|3XlE)PJX6`w$y6>RnaYGTrt%=2sb4Y9EVsDN6L#38J5#^m0?TZYovB|i!VR|g zdZzdoV~G~u$`lh7uCPxCQ#{n!AdD#r8!ju_CyLsh>ExcWZl{*&k9w{H3r_+K8 zz@KAdp6BfLfBj$wB3wv-p8A2R zjaQs7Wrl$=VTwb%79+|JS2* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/hitcolor.png b/src/main/resources/assets/minecraft/Athena/gui/mods/hitcolor.png new file mode 100644 index 0000000000000000000000000000000000000000..386c724f39413affec200869bea87a76a72d2f3f GIT binary patch literal 634 zcmV-=0)_pFP)3YZulK_7rbYZKpr(#F`35Cj{w(!$sfJ5d`0ITjKl zKQrtuvpaXp{py+FoMe}K?`#yM4ppwGM4^T%&%k4#3R8RnRrrG+qQV@0XbKd0VlhD} z?DM4xs-Oz0pbDz+ZxpET0>LU!;Sp2hD_HU6E3Cwqtq==eu7Ux7%s2=IBYuNM019UO zD2gKS3U++)3ajx&E5ySWs}LVwq(U-$aSF-tMJc4i7o(6KUxdPX_}&%P$M>q>2H%^4 zJA5w+lwIOm70OxQ7a6$4wpa4*o!0^g|6buaLd4ZcC)!@a;KdFIo- zKrdH;o_m4ATm=r@3zWFc4gZ!>eud0^vMFSV?%vkJ_s|Vxj?WQCAt;#e_n0tYPr8B$ ze}^{!-q?|>V8Y+v;djjg8&VaFuPzre>n>!z&Sw1j!rHn#1vCC8!-dsDHf1ST{`Waw zy5n3@U9jQrE**7X%&rs#Yt^M~+}D;-o$dJBOpH4xZ2MPO(erR(-F@u4M_Spkabw+o z?YGT~(Qz)!;In!4*{Q~Am>F5m82M|qWA^*pSx>q1H7~>-S7=$!Y55s>5=>jv3}x)6 zl+}DpZ3%}(PK^SmKE5I(o^>g3xfK7BLiXQrw&>6NXrHYVrxZAwdyvMQ<$yoEj&IW8 zop(Ak(_fcUqs2WVM%>fN^x4;FG#ZUYqxpY9cvL_IR6qq(Km}Al1yn!<{907*qoM6N<$g0+PuJOBUy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/keystrokes.png b/src/main/resources/assets/minecraft/Athena/gui/mods/keystrokes.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0ab1f7489f7358b5460c43cb79ddbfce809df1 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z{un2;uunK>+LOTz9t6|w?yun zoxN`^A9LZ+Io6~a@mg+;XAR@8+cQ_NPM=^={$S1|0ps{X7Akjc_H;mi-K8LD*-*`r zsePxWe2e}Q6K(n_WVKUg?N95lm3H$QMXzK6t**K9*fT{s9-mfg_CDCo(;D9Jm<{7#v`Bh-o-@e=%dt{|CYh4V}y^3I+>`YWpPZO5|ghc^0$H%x*}$ zp)z4*}Q$iB}n?i%f literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/memory.png b/src/main/resources/assets/minecraft/Athena/gui/mods/memory.png new file mode 100644 index 0000000000000000000000000000000000000000..5aea23ad7bab6c6f307feeadebc5a3c3b0f7703c GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%xcgZhN{ohE&{od)t!lu!8`zh)Qt z=FNBd@MiO~SD(e}vro>8pZVZwc=YDy;VKoM?{4$@T>k&kJlp+T2ixbDT=~1iY^p5C zMR>tG-n0KN%GPClXb4E%CsLoMd{o}%u1d%p{iE`KV^u=t0qK2SAD16jZ<+El=+Do+ tBL5i{DXN^C{z#tD^W*sq9YE0aoryVl*7KXY8@7Y2@^tlcS?83{1OVs|adZFx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/motionblur.png b/src/main/resources/assets/minecraft/Athena/gui/mods/motionblur.png new file mode 100644 index 0000000000000000000000000000000000000000..f609a7ae50366742daa9fc8ecf408116afdd93d9 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy$g0(?STf%JdU!N=rde}FoLN`m}? z8N8o7{x7}s*_)?qdB;Cr$UX7tx!;YQK-qnsE{-7;jBjr;i!nPgFkf&@JNsLHTiGkK z)PKp>WZb^lpLwLxsc9d~wPeoydZxe1MwdAw=cPZqR}-nhuz;id*=Zx46d>uPGv)iU z@ADo0bv)6J{5x|NXGrPgZN9OAb(1b6F65pvKS(}AHf&edC*xPma?-Y`xBeA9?&4a{ zD9xODYo1i<6`3WE%8wj7F>||rV+hEWOZ!v)rmy;c@rY~dyq$IhwGVzB_}ciI*|=Z4 oa?gp!u4(h!KikZjx%Z&RK?m87<=0|w0e!;Y>FVdQ&MBb@0Obp_(EtDd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/nohurtcam.png b/src/main/resources/assets/minecraft/Athena/gui/mods/nohurtcam.png new file mode 100644 index 0000000000000000000000000000000000000000..44ed8f7832a955cf5c89927094c6969bb647c1c8 GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V4ULV;uuoF`1a23K;}RJ){Clq zuFiI+8f8@eMMy}`N(m?`yehF~uY<2`Ugj0qL$=?}q@;nsx8MU}H+(nB{6ACv`()B% zWv99t!B3C*-3=0sPvWp_*~_6c0|~|CA7Go&sQh}WKtuF{$s1)GC2z!B`k@}it#HLU zmW9b+^A&+ay}aV@@(k<^%Q)Ik{a|>^IBl0w$g%UxCJrll=Cfxs1W4{@c92PYg;=7+p>< zcT8XxP~=x|l5+q_FtG@rNYt#*b@~z7$Z<1WR*B`_)tEZ@1JWPlTnrwhH3~Sg2*!Qp zP}=iE(4|5Q$Z1foyPhXCjiY}}Ior0&7hEb7?Dui}{MfqVe82vofBKJS&xC?nM)PH5 VF|!vHWdfs#!PC{xWt~$(696D^sY(C< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/potion.png b/src/main/resources/assets/minecraft/Athena/gui/mods/potion.png new file mode 100644 index 0000000000000000000000000000000000000000..f819e44a7b07334101931c409cd9edf129ea6424 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%&M7z&Oj(#WAGf*4tT%e$9>oZrdA| za5{!42!u-b@CV-Iz9Ou*L0sV>Lp3AIF1f}vM-#LRRYEx?-BMff)8Vq=|2JpenEkxR zxNq)tlUk-Ar4|7v4n_9`#u^TcTmcPC2bo+WejZy}U7zEhs=){E)ljp`4V z>Mq;5+4xP%L-)_0g&-za|Uz3=(`!f`i}^Gx?2d6@B!oqO|V@%rrlmI;|Z zIiG$gN`3u4gVT2ZjsI>Z5!sd!bFtl9(k%Mbp`|>tWxqZQYCFp|yFl}BSbyw} zki^wT&0=^DO$*jJmZ+^Mb$P?j7HyrJx`$kxv-5Y{Is8ms@A`(LEvI#J3Lh46M(6C1 z0V<8>;feO#Yp9Wvdni?GTiHV+&gk0(q3vsHcdR;e&3(s}#MkOEt2TTU)pNa3WTm_6 zzlS?GXhaq;utGygWPw9E)7`(#+7N*UOPbv|6k7x?O^82a(D>i0_+&dUvKTyF{an^L HB{Ts5)M&=y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/settings.png b/src/main/resources/assets/minecraft/Athena/gui/mods/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..f26bf3c96ebe8f8d85dd57fb4577bebd5b3d3f6d GIT binary patch literal 1066 zcmV+_1l9YAP)!FQDJXOW7*BFeX16qB&A@@*T%Bpj@K$3`&;mn+|mQB1<)%J*V?lVKtb!Ijty zb4Q;r8q1@j8mnP!^a*odV_bnlF=Mn1_A{yXa4P;1(||Ep5f7-|qgWkd3)Z7f!aF8) zL>uGw_x1J=Ho=@R8T<%$s^9(iMN9^>V?*4pw=RAfZGlS_^Da)tA2Aj?;C;>c0DE9O zev9Mrj$&?zHo*T3=5_7y`qwhK!#F%-p~{@w4q3Jc=RBdI_^cRj`%jT#mIc zPxOF!uof=YoV}t7m>qAZ-%a>!^a;PkP3revC1EN4u3jB%62pW|&{3~NqimQ7kEqA% z_;-{9|HkX;@hoPGDqv1rp;{gMJ4%LsqoZ24V!@~q#$Y!Lsm3Nz5p1G52Vs2F1^>sZ z%5_sz3^ys)TUa@ofN$Y0<@s$?48K*LNAQDa5~j!ThVQbd2`)2y=V6v;3#^a#3~sHc z3Dz>W4z|XqXdCQeFkQ?OHNiaS8qC4bRyfjN9*&yfVS_n6+6osN%r#LnTvPjZZE=Wq za?}hb8_X@yR=6d1K!b2~UV<8g(?-Be`0Qva96SQT&|{))FbZ3vGXfH^E_T4^XamfG z^G0AP;v&o%O~McG$OtaRJ=$0?4lCm=kmcwVqb?YagG??PGW%m}R0#{>)@(`kbOYv# zDquD|n@#y?da{zHJQmHdl*0ZOWy8XFF9)-x>21s#Rlr_3nmA3nRGoCal*73_J%bsd zN?2PjX~n1-M&ovAayMaAol8m%0Z3i^thw5MIy&lxh4HrZI_8ZgU?*wwrpFSWHgY|J z@zEqKH-Z=ISR~p2Hz?*E9FN~(Jodl`n)5z(#5nvBC*xhkTpn$KpQ5X``>`QrkICQ{ zxL^J5!B2WT1+)ns(%T34ZnO!GFsXNNQjtgaF&3-iQPq18s}x+a>@PSK@0rwo(KeV7 zhvEusj5(rD7>m_Zqk|PNCi;ZAu^Fz!A($B7WOz~e9*mu-!K}*F#e_)3;brA{GE#qVv+`USsnJmMkVyT(pG$m|;h!S4 k;ANgErIb=iDW#OshuhULDywX}9{>OV07*qoM6N<$f+R!v-2eap literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/time.png b/src/main/resources/assets/minecraft/Athena/gui/mods/time.png new file mode 100644 index 0000000000000000000000000000000000000000..52edddd7f71df4dc9e851a2483f85da9c00ced86 GIT binary patch literal 1092 zcmV-K1iSl*P)-(Kmu<#z=U$s-@+>-@q%^bBVXVuY2YHW%0Yh{Uq}o6G^D*~Pe+pY z%mt3Joy8QWRZ1ypDX^IB9OVL^BkkK6pBDWZ?v6S2eOg!$Im!ZBxIgANw^G^cn9Z}2 zQx4KbozrM_v@uw6yvIzJrazxICH=NF*%zalR{Bef`ign7U*ArDgidNa-LjLB5)x*} z`TkSu6g||7j9*Vr2}i1yi9C0#!*@|7_J^zJvd(c^AkE;EW#FGQiwB8jep+Vg@Evxm zWzb<7Qwh_J3|m&&X1}Ciz(PN@tc7(J3H=@k2A3_))2LDejTT3`lytBLi~BUIltHs) z)(y$>eX~^QaOjDgtv}0 z8+(m!(CJ9RLx56r8uRaQ>omMHg4xuv3Yco7c`vAlZ@$9N-|9@kOMp_e8XT4<|AB+< zX_dEtYNK8_7r)D>$1n6nS!*~Hq-$WK>CSaklnMMb5R%u3`9OAFEfC@foY*s}ZHEAZ@2`3j2 zpcLI2o2F=!lbXqqOa&a#*qn?uxuKct$W*`%jm?c{lSi7#l1v3G(bznSHqpzNLZ$)= z8k^o|lRnL)CQ|`58k@dolOfHdGE)JS8k?d2KtKvE#1-b2&xKN0#J~{8m|UJkoI)5a z;x*gK5k{ppvW-Sv4RF)(BqzZ}CX`Aj#Y7JC&5-b&<4j32l@Lniilfc3^jG0MJJU<% zgwp9qXS&Uzbkb>|f+mJD{owT2-Ht>BjZ{e))0z6%#W>NDQmUwTaHe}Kl`ZN;+A2=Y zG{PClwu(q&%h8z*3pTc7T8mE3)MGZ!Jz9%0&0QyFS|i=u6=<(JI8(PZnESNXB@Q?o zoM~nZCw4pFkT_!U66Jry)XKN!62wj@9qbK|usQgTw41YVPRumx+8by)bYo(rGI8r1Qvbj76DUA?8NJz$I zBM`FIr~d2HI<0m7x^6C>tQIvt?oR$gYT61E_v~ErLpw2+W z$GQDe^lIF0T$&dBcB>prr>BJ&WDeYTcPlC9Uc_+U^zz38cL#nxTyxm!`Mp0V9WHhO zx~J&Zaz+?STKXJHVp3kP?Uoy*UBLFHwqLyM(W+zYKmRow*@fOWv+CZo)d6i`38rV} zHzp+y31UV}wr!FexE?R9V#}M2{O185u&lSG4F%Qq6ujp93o&?2`$5qq6DnHm++6}Fk@f+0%=0$v+IZA@ z{al4%)1rM5aUmLB-A$<-Spk!l>zQ4#HK>a}b;dcixaoMusqD4(_X2B@@%k@|PH*`0 zXolMi(L&Ga+Pa|arg?$8lbh4yCa1gNr$20=UA7Vr#CDzM<`Fna2THKJw5yCdGpZKP ziw1QzYS+4yGBhe2XY&3yQrq)mRpr#Zy52;!^6b5FZ-Xljd+iHNFh#8QHK=}bdd30T zdAWUD*v1`mTiJ+dVDJ>q{cUQ$U%OV=wJ3fv8)59=vFrJEE3Zn#vcpynjXRWw_A1moNW0wE(6g&CKe|dym^Y6+Impf%{7`(RrRq2p?^O{=u zWEZ){{1x#FV&~G&H#p6w?#5PUn;OrgXGUq8pV%k9mTkNr-(F{wB1vT=qW2_Xj$BP! zea89M;DUnkU9&gmm(cLK1IOMQuH)rBt(%wE#1DToRL^v$=>OIV5MGF?_5x3w7Y6vZ z1u4Qz0+Wd?EZlMRstl|CT_UV}om;k8^UCi@fRX-cwHfR76)ie<;b^Tn$7RKPyj#a_ zUUjoAn1S_ShQ#43^KRbC#f2vlwFmbQBQi;zy?VHzoQsr}ECDqXSA1rLMksb|w5*-E z|3GNbNK2!;{+{BBV@Dd(dUQS%3>WX5?aA>I-`#C~{6TFV(_@Leu)RpA6--iA)eVSt1+LHFlc>1z+=Q@3_4lm6M zySNjWyV{kcO)0DL>CsxCwylBRYclfk^|a~SYl6@SeV*}=+pnq-iCM0ELn9ya8PeE} z4X#Ohi>IWQH=Q#tcta?B`@-z7dP~ji$inz7t%tnwLWd_kznQ7$GqRU8Xfk^wus(z^ zC_mg8^kRoYS3?BQPo5~d*ss-Vwf4j0f!RyTsEX0xhAZ_Ygi;NcuEy7fOXq>l{K^|S z=bU2_4_PAJGj9|wqN)@*E>&}|{Rfve<_s?MC-{x(*YYOy`Y0UlOl~Uhj60;2>o;I9 zZw*w@=-%&YUzY!CchrM`yW5u+23nz&!|3DhpqPP-x=cm0AKAjhvb@p%jp$8A`z-yT z!upaYAw~4A#Or87a*;+fY{l-c_9Oq&Fe{+PU|D?Yi6Uc#H)k|+@MCm94_;f`a?E{+ zb4C5)t#P?$`x727=(WfhnI}$)t$Uu*Y?gCx!RDn>-`ks_j=S^r^jbtSB!3MhG@Oh% zU6OB?>8(J6J~22TJ@&)9yk$NyDJx?)@Ul;tZr=FRcgwC1MJF=MpkO;$?uyg+Nx7ww zrRRN4_*}IMem&JRZEv(TL2>UFt)CjUHFZGcSI}oC^_7s;^_B4iUQsW0G{=nWG#_62 z*U9$X22)qvSh2YNUZZr@rQ_*eqY*((1+LhUrFW z`<~1hHv0f4x3cb4?8$IjJ6er^`aO0Ki@wQ2*E!XHI?-D?%$-J%qE4z2E25BfV1Qn;rMH z(g`!|62hxY&-22|Ob;EH@4n@ir%TGZ+scD~$i!dj7a8F|S6ABltbECexad3=w@Qk} z%Gm~a#Aer<$+;=%HK{?!Mt<;H>w?llp1a-})zp|hOucdU88|w$rLVKJm3QjSIi!BR zuS@gX9|GyN*B4I#vBxSa7h%8$TM=ISaAKBP2s}hZlSo4CBIgyR~#zGE>O6 z1X)4`WGUl|;JYCLVQVK7fy~X26v==%Tmc33>T(4N$z@ScepYmVE}}v~T<1tJ9}$n0-jM&K~kxRjKPG5hg*i@ErntZ21_E5FaQpN!=Ygd zv?M|x1!ZV~WT6sb48swUFvVPvlq(b)7ln#>s&rUP z48()@u&D%I75mkat7vqO&mKw&I9$F+_X4G%O~0rBKWV z;qBz|K@Nlw2{@`Xl!TKVJZKaY&Jy?{@!)|{HtYbO0j_{043~USd2{)YmlRa;iM1wL z5v+-LYrG9$MY6_zG4h4P61WzXs93-fk5g%s8$*WEfvE+Rl?nr>nuV?hR)V<||$Fo>m!6UG`-F@rz>2ZH;@ zc)@;>bN{Xwhzt_Tiitxri3|c<3^sVQ4aj7mnG6DpiN_I0EF0$6=n^4Y8V-sf2M)|5 z%oSXqDz1=A#<$A+Yy0pZNVyL%WoQ70{z4fZg&9v4qwE-;vbDwh7az7Ng9$AL_8XJI ztqbmin9r?noG)e5`3JA@efS4gfT6!H@=g4Hr|Uai-^9Q-8Go;??{s|=1K(u)y}JHy zbZLKinSuoH6Hqw(s^s78pa;KZO=7sLazr5VlNaLPnU=`eUxGmVV4(b{A+oZKVBr)g zjqWt1Ym)jbQ}y;BnF1CGX^sxwvev$P4Z4VFI`$4%KU(0o$7?@nM`R^^BrKw(nbIou zADhqP1AvSXp_l@@e7W3wgqK53Px~yWqzqNQ^nImkq5K>4KQ5#a${;j8OLM32-N`nk OmgeN;4L literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/gui/mods/zoom.png b/src/main/resources/assets/minecraft/Athena/gui/mods/zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..0ebcc1a1a77a46a361d63c4132ae38966a5340d2 GIT binary patch literal 529 zcmV+s0`C2ZP)F--V zI`6A9nKzG_N<|1Egb+d`LYoO2LjEB0-~Ee_4HMe;C0}L6iBvpX;LM2`)%@u%NX?T3 z02VnFm}VH{nF27)H}_A@2%K`P1tyt>c&-3UvJ0%85?E&!2%QoLEB6lY^8M%D@g*Pu z2}nQ!5|Drd3KF13kANjRKKNkAl7JpH69V`I36*R}fbX;bb;f+&EQ>!GQ+HGVpH-^b zewF5Tc=;OSjeY9l$(}dY+FyQ#^v?>uOX=5BPM*t&RCh;UOdiIrq~E&w<=HTzO@jt) zMr^Krky>sD%wwq?8Q@*Scnmnk;^r=-U*ix->x=Hy$Sz-z$V0Z>`8fjp*#C8y7(0x` z_KOz?Vsqb1jP+t`At+v88A<8=X7qa`dRe@{Hj+~3W^^YKy)9lKT6s2aMmO*7c}k#k zQ^@=xHvbtlzmZulCCnFdB`BxOA81N&q%?o1ce1TwzOnTWTZ<)V?*7`H?Y7s8TZ0mi zfCMBU0SQPz0uK~0fAQ7))noIQzpY=tH~#>l1W!=RKLYw$3wEDj2_b|KLX@0utD>c2 TmV;7{00000NkvXXu0mjfKHTX& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/Athena/images/gear.png b/src/main/resources/assets/minecraft/Athena/images/gear.png deleted file mode 100644 index 7ee1d09cb4d2f37bf9bf8aaec1cd37e86051387f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16277 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 C+%p^i