This commit is contained in:
The Biggest skiddd 2023-06-07 16:24:01 +02:00
commit e75998c962
553 changed files with 3778 additions and 5271 deletions

View File

@ -1,14 +0,0 @@
# Athena-Client
Main Menu:![Screenshot 2023-06-05 074712](https://github.com/Athena-Operations/Athena-Client/assets/17689226/5b2c4af0-8085-4319-9f80-65d42e8a1c39)
<br>
<br>
ClickGUI: ![Screenshot 2023-06-05 074855](https://github.com/Athena-Operations/Athena-Client/assets/17689226/324f22cd-6f4a-477c-a42a-826c4adbd2d1)
<br>
<br>
Module Settings: ![Screenshot 2023-06-05 074936](https://github.com/Athena-Operations/Athena-Client/assets/17689226/15207871-6899-4ea7-a5e1-ca092b3c9867)
<br>
<br>
Valid Connection between WebSocket and Client: ![Screenshot 2023-06-05 075027](https://github.com/Athena-Operations/Athena-Client/assets/17689226/16d53236-5241-4255-b7b4-127323549abf)
<br>
<br>
Client sending payload to WebSocket: ![image](https://github.com/Athena-Operations/Athena-Client/assets/17689226/1c166a92-443d-4ba8-bc0a-e363fd52bafe)

32
pom.xml
View File

@ -6,36 +6,7 @@
<groupId>org.strezz</groupId>
<artifactId>Athena</artifactId>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>Start</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<version>1.0-1.8.8</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
@ -55,7 +26,6 @@
<groupId>net.minecraft</groupId>
<artifactId>minecraft</artifactId>
<version>1.8.8</version>
<scope>provided</scope>
</dependency>
<dependency>

View File

@ -372,37 +372,39 @@ public abstract class Render<T extends Entity>
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);
}
}
}
}

View File

@ -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();
}
}

View File

@ -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);

View File

@ -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());
}

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -36,6 +36,7 @@ public class Module {
private final Category category;
private final String name;
private String icon = "";
private boolean toggled;
private List<ConfigEntry> 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;

View File

@ -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

View File

@ -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");
}
}

View File

@ -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");
}
}

View File

@ -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() {

View File

@ -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

View File

@ -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");
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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];
}

View File

@ -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");
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;
}
}

View File

@ -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

View File

@ -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

View File

@ -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);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 671 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Some files were not shown because too many files have changed in this diff Show More