started on capes, edited alt manager ui
|
@ -21,6 +21,7 @@ import optifine.CapeUtils;
|
|||
import optifine.Config;
|
||||
import optifine.PlayerConfigurations;
|
||||
import optifine.Reflector;
|
||||
import rip.athena.client.Athena;
|
||||
|
||||
public abstract class AbstractClientPlayer extends EntityPlayer
|
||||
{
|
||||
|
@ -90,6 +91,7 @@ public abstract class AbstractClientPlayer extends EntityPlayer
|
|||
|
||||
public ResourceLocation getLocationCape()
|
||||
{
|
||||
|
||||
if (!Config.isShowCapes())
|
||||
{
|
||||
return null;
|
||||
|
|
|
@ -21,7 +21,7 @@ public class GuiButton extends Gui
|
|||
private SimpleAnimation rectHoverAnimation = new SimpleAnimation(100);
|
||||
|
||||
protected static final ResourceLocation buttonTextures = new ResourceLocation("textures/gui/widgets.png");
|
||||
// The animations crashed the entire fucking game.
|
||||
// The animations crashed the entire fucking game.
|
||||
int opacity;
|
||||
/** Button width in pixels */
|
||||
protected int width;
|
||||
|
@ -92,49 +92,45 @@ public class GuiButton extends Gui
|
|||
{
|
||||
if (this.visible)
|
||||
{
|
||||
FontRenderer fontrenderer = mc.fontRendererObj;
|
||||
mc.getTextureManager().bindTexture(buttonTextures);
|
||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
|
||||
int i = this.getHoverState(this.hovered);
|
||||
|
||||
GlStateManager.enableBlend();
|
||||
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
|
||||
GlStateManager.blendFunc(770, 771);
|
||||
//this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + i * 20, this.width / 2, this.height);
|
||||
//this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + i * 20, this.width / 2, this.height);
|
||||
|
||||
this.mouseDragged(mc, mouseX, mouseY);
|
||||
int j = 14737632;
|
||||
if (hovered) {
|
||||
opacity += 25;
|
||||
if(opacity > 120) opacity = 120;
|
||||
if(opacity > 150) opacity = 150;
|
||||
} else {
|
||||
opacity -= 25;
|
||||
if(opacity < 70) opacity = 70;
|
||||
if(opacity < 100) opacity = 100;
|
||||
}
|
||||
|
||||
Color rectCol = new Color(100, 100, 100, opacity);
|
||||
|
||||
Color rectCol;
|
||||
if(!this.enabled)
|
||||
rectCol = new Color(10, 10, 10, 120);
|
||||
else
|
||||
rectCol = new Color(30, 30, 30, opacity);
|
||||
rectCol = new Color(150, 150, 150, opacity);
|
||||
|
||||
//Gui.drawRect(this.xPosition, this.yPosition, this.xPosition + this.width, this.yPosition + this.height, rectCol.getRGB());
|
||||
RoundedUtils.drawRound(this.xPosition, this.yPosition, this.width, (this.height), 4, rectCol);
|
||||
RoundedUtils.drawRoundedGradientOutlineCorner(this.xPosition, this.yPosition, (this.width + xPosition), (this.height + yPosition), 1, 6, ColorUtil.getClientColor(0, 255).getRGB(), ColorUtil.getClientColor(90, 255).getRGB(), ColorUtil.getClientColor(180, 255).getRGB(), ColorUtil.getClientColor(270, 255).getRGB());
|
||||
RoundedUtils.drawRound(this.xPosition + 1, this.yPosition + 1, this.width - 1, (this.height) - 2, 4, rectCol);
|
||||
RoundedUtils.drawRoundedGradientOutlineCorner(this.xPosition, this.yPosition + 1, (this.width + xPosition), (this.height + yPosition) - 1, 1, 6, ColorUtil.getClientColor(0, 255).getRGB(), ColorUtil.getClientColor(90, 255).getRGB(), ColorUtil.getClientColor(180, 255).getRGB(), ColorUtil.getClientColor(270, 255).getRGB());
|
||||
|
||||
if(this.hovered && this.enabled) {
|
||||
if (!(lineHoverAnimation.getValue() > width / 2 - 2)) {
|
||||
lineHoverAnimation.setAnimation(width / 2 - 2, 10);
|
||||
if (!(lineHoverAnimation.getValue() > (float) width / 2 - 2)) {
|
||||
lineHoverAnimation.setAnimation((float) width / 2 - 2, 10);
|
||||
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
|
||||
|
||||
}
|
||||
else if(lineHoverAnimation.getValue() >= width / 2) {
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
else if(lineHoverAnimation.getValue() >= (float) width / 2) {
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue()), this.yPosition + height - 1, -1);
|
||||
|
||||
}
|
||||
|
||||
|
@ -142,29 +138,18 @@ public class GuiButton extends Gui
|
|||
else if(!hovered){
|
||||
lineHoverAnimation.setAnimation(0, 4);
|
||||
if(!(lineHoverAnimation.getValue() <= 0 || lineHoverAnimation.getValue() <= 2)) {
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue() - 1), this.yPosition + height - 1, -1);
|
||||
this.drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue() + 1), this.yPosition + height - 1, -1);
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) - lineHoverAnimation.getValue() - 1), this.yPosition + height - 1, -1);
|
||||
drawHorizontalLine(this.xPosition + width / 2 , (int) ((xPosition + width/2) + lineHoverAnimation.getValue() + 1), this.yPosition + height - 1, -1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (this.enabled)
|
||||
{
|
||||
j = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
j = Color.BLACK.getRGB();
|
||||
}
|
||||
|
||||
rip.athena.client.utils.font.FontManager.getProductSansBold(19).drawCenteredString(displayString.toUpperCase(),
|
||||
xPosition + (width / 2), this.enabled ? yPosition + (height / 2) - 3 : yPosition + (height / 2) - 6, -1);
|
||||
xPosition + (float) (width / 2), this.enabled ? yPosition + (float) (height / 2) - 3 : yPosition + (float) (height / 2) - 6, -1);
|
||||
|
||||
if (!this.enabled)
|
||||
rip.athena.client.utils.font.FontManager.getProductSansBold(10).drawCenteredString("DISABLED",
|
||||
xPosition + (width / 2), yPosition + (height / 2) + 4, -1);
|
||||
xPosition + (float) (width / 2), yPosition + (float) (height / 2) + 4, -1);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -397,6 +397,7 @@ public abstract class Render<T extends Entity>
|
|||
rankTexture = new ResourceLocation("Athena/ranks/mod.png");
|
||||
break;
|
||||
case "PARTNER":
|
||||
case "MEDIA":
|
||||
rankTexture = new ResourceLocation("Athena/ranks/partner.png");
|
||||
break;
|
||||
case "PREMIUM":
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
package net.minecraft.client.renderer.entity.layers;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EnumPlayerModelParts;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.modules.impl.other.Settings;
|
||||
import rip.athena.client.socket.SocketClient;
|
||||
|
||||
public class LayerCape implements LayerRenderer
|
||||
{
|
||||
|
@ -19,38 +24,35 @@ public class LayerCape implements LayerRenderer
|
|||
|
||||
public void doRenderLayer(AbstractClientPlayer entitylivingbaseIn, float p_177141_2_, float p_177141_3_, float partialTicks, float p_177141_5_, float p_177141_6_, float p_177141_7_, float scale)
|
||||
{
|
||||
if (entitylivingbaseIn.hasPlayerInfo() && !entitylivingbaseIn.isInvisible() && entitylivingbaseIn.isWearing(EnumPlayerModelParts.CAPE) && entitylivingbaseIn.getLocationCape() != null)
|
||||
{
|
||||
if (entitylivingbaseIn.hasPlayerInfo() && !entitylivingbaseIn.isInvisible() && entitylivingbaseIn.getLocationCape() != null) {
|
||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.playerRenderer.bindTexture(entitylivingbaseIn.getLocationCape());
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate(0.0F, 0.0F, 0.125F);
|
||||
double d0 = entitylivingbaseIn.prevChasingPosX + (entitylivingbaseIn.chasingPosX - entitylivingbaseIn.prevChasingPosX) * (double)partialTicks - (entitylivingbaseIn.prevPosX + (entitylivingbaseIn.posX - entitylivingbaseIn.prevPosX) * (double)partialTicks);
|
||||
double d1 = entitylivingbaseIn.prevChasingPosY + (entitylivingbaseIn.chasingPosY - entitylivingbaseIn.prevChasingPosY) * (double)partialTicks - (entitylivingbaseIn.prevPosY + (entitylivingbaseIn.posY - entitylivingbaseIn.prevPosY) * (double)partialTicks);
|
||||
double d2 = entitylivingbaseIn.prevChasingPosZ + (entitylivingbaseIn.chasingPosZ - entitylivingbaseIn.prevChasingPosZ) * (double)partialTicks - (entitylivingbaseIn.prevPosZ + (entitylivingbaseIn.posZ - entitylivingbaseIn.prevPosZ) * (double)partialTicks);
|
||||
double d0 = entitylivingbaseIn.prevChasingPosX + (entitylivingbaseIn.chasingPosX - entitylivingbaseIn.prevChasingPosX) * (double) partialTicks - (entitylivingbaseIn.prevPosX + (entitylivingbaseIn.posX - entitylivingbaseIn.prevPosX) * (double) partialTicks);
|
||||
double d1 = entitylivingbaseIn.prevChasingPosY + (entitylivingbaseIn.chasingPosY - entitylivingbaseIn.prevChasingPosY) * (double) partialTicks - (entitylivingbaseIn.prevPosY + (entitylivingbaseIn.posY - entitylivingbaseIn.prevPosY) * (double) partialTicks);
|
||||
double d2 = entitylivingbaseIn.prevChasingPosZ + (entitylivingbaseIn.chasingPosZ - entitylivingbaseIn.prevChasingPosZ) * (double) partialTicks - (entitylivingbaseIn.prevPosZ + (entitylivingbaseIn.posZ - entitylivingbaseIn.prevPosZ) * (double) partialTicks);
|
||||
float f = entitylivingbaseIn.prevRenderYawOffset + (entitylivingbaseIn.renderYawOffset - entitylivingbaseIn.prevRenderYawOffset) * partialTicks;
|
||||
double d3 = (double)MathHelper.sin(f * (float)Math.PI / 180.0F);
|
||||
double d4 = (double)(-MathHelper.cos(f * (float)Math.PI / 180.0F));
|
||||
float f1 = (float)d1 * 10.0F;
|
||||
double d3 = (double) MathHelper.sin(f * (float) Math.PI / 180.0F);
|
||||
double d4 = (double) (-MathHelper.cos(f * (float) Math.PI / 180.0F));
|
||||
float f1 = (float) d1 * 10.0F;
|
||||
f1 = MathHelper.clamp_float(f1, -6.0F, 32.0F);
|
||||
float f2 = (float)(d0 * d3 + d2 * d4) * 100.0F;
|
||||
float f3 = (float)(d0 * d4 - d2 * d3) * 100.0F;
|
||||
float f2 = (float) (d0 * d3 + d2 * d4) * 100.0F;
|
||||
float f3 = (float) (d0 * d4 - d2 * d3) * 100.0F;
|
||||
|
||||
if (f2 < 0.0F)
|
||||
{
|
||||
if (f2 < 0.0F) {
|
||||
f2 = 0.0F;
|
||||
}
|
||||
|
||||
if (f2 > 165.0F)
|
||||
{
|
||||
if (f2 > 165.0F) {
|
||||
f2 = 165.0F;
|
||||
}
|
||||
|
||||
float f4 = entitylivingbaseIn.prevCameraYaw + (entitylivingbaseIn.cameraYaw - entitylivingbaseIn.prevCameraYaw) * partialTicks;
|
||||
f1 = f1 + MathHelper.sin((entitylivingbaseIn.prevDistanceWalkedModified + (entitylivingbaseIn.distanceWalkedModified - entitylivingbaseIn.prevDistanceWalkedModified) * partialTicks) * 6.0F) * 32.0F * f4;
|
||||
|
||||
if (entitylivingbaseIn.isSneaking())
|
||||
{
|
||||
if (entitylivingbaseIn.isSneaking()) {
|
||||
f1 += 25.0F;
|
||||
GlStateManager.translate(0.0F, 0.142F, -0.0178F);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraft.client.Minecraft;
|
|||
import org.lwjgl.opengl.Display;
|
||||
import rip.athena.client.account.AccountManager;
|
||||
import rip.athena.client.config.save.ConfigManager;
|
||||
import rip.athena.client.cosmetics.CosmeticsController;
|
||||
import rip.athena.client.events.EventBus;
|
||||
import rip.athena.client.events.SubscribeEvent;
|
||||
import rip.athena.client.events.types.client.ClientTickEvent;
|
||||
|
@ -48,10 +49,11 @@ public class Athena {
|
|||
private final PrefixedLogger log = new PrefixedLogger("Athena");
|
||||
|
||||
private final String clientName = "Athena";
|
||||
private final String clientVersion = "0.0.1";
|
||||
private final String clientBuild = "061723";
|
||||
private final String clientVersion = "0.0.2";
|
||||
private final String clientBuild = "062323";
|
||||
|
||||
private NotificationManager notificationManager;
|
||||
private CosmeticsController cosmeticsController;
|
||||
private AccountManager accountManager;
|
||||
private ConfigManager configManager;
|
||||
private ModuleManager moduleManager;
|
||||
|
@ -76,17 +78,8 @@ public class Athena {
|
|||
this.discordRPC = new DiscordRPC();
|
||||
}
|
||||
|
||||
if(!MAIN_DIR.exists()) {
|
||||
MAIN_DIR.mkdir();
|
||||
}
|
||||
|
||||
if(!ACCOUNTS_DIR.exists()) {
|
||||
try {
|
||||
ACCOUNTS_DIR.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
createDirectoryIfNotExists(MAIN_DIR);
|
||||
createFileIfNotExists(ACCOUNTS_DIR);
|
||||
|
||||
if(SocketClient.isClientRunning()) {
|
||||
JOptionPane.showMessageDialog(null, "Port 45376 already in use.");
|
||||
|
@ -100,11 +93,17 @@ public class Athena {
|
|||
this.macroManager = new MacroManager();
|
||||
this.hudManager = new HUDManager();
|
||||
this.eventBus = new EventBus();
|
||||
|
||||
this.notificationManager = new NotificationManager();
|
||||
this.cosmeticsController = new CosmeticsController();
|
||||
|
||||
registerEvents();
|
||||
|
||||
configManager.postInit();
|
||||
|
||||
if(this.cosmeticsController.getCapeManager().getSelectedCape() == null) {
|
||||
this.cosmeticsController.getCapeManager().setSelectedCape(this.cosmeticsController.getCapeManager().getCape("None"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -157,6 +156,22 @@ public class Athena {
|
|||
}
|
||||
}
|
||||
|
||||
private void createDirectoryIfNotExists(File directory) {
|
||||
if (!directory.exists()) {
|
||||
directory.mkdir();
|
||||
}
|
||||
}
|
||||
|
||||
private void createFileIfNotExists(File file) {
|
||||
if (!file.exists()) {
|
||||
try {
|
||||
file.createNewFile();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleans up and shuts down the client.
|
||||
* This method is responsible for any necessary cleanup tasks,
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.json.JSONException;
|
|||
import org.json.JSONObject;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.config.ConfigEntry;
|
||||
import rip.athena.client.cosmetics.cape.Cape;
|
||||
import rip.athena.client.events.types.client.ConfigChangeEvent;
|
||||
import rip.athena.client.gui.clickgui.pages.SettingsPage;
|
||||
import rip.athena.client.gui.hud.HUDElement;
|
||||
|
@ -154,6 +155,15 @@ public class Config {
|
|||
}
|
||||
}
|
||||
|
||||
String capeIdentifier = obj.getString("cape");
|
||||
for (Cape cape : Athena.INSTANCE.getCosmeticsController().getCapeManager().getCapes()) {
|
||||
if (cape.getName().equalsIgnoreCase(capeIdentifier)) {
|
||||
Athena.INSTANCE.getLog().info(cape + capeIdentifier + cape.getName());
|
||||
Athena.INSTANCE.getCosmeticsController().getCapeManager().setSelectedCape(cape);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
JSONArray macroList = obj.getJSONArray("macros");
|
||||
|
||||
for(int i = 0; i < macroList.length(); i++) {
|
||||
|
@ -376,6 +386,7 @@ public class Config {
|
|||
}
|
||||
|
||||
config.put("theme", Athena.INSTANCE.getThemeManager().getTheme().name());
|
||||
config.put("cape", Athena.INSTANCE.getCosmeticsController().getCapeManager().getSelectedCape().getName());
|
||||
|
||||
JSONArray macros = new JSONArray();
|
||||
|
||||
|
|
|
@ -1,7 +1,22 @@
|
|||
package rip.athena.client.cosmetics;/**
|
||||
package rip.athena.client.cosmetics;
|
||||
|
||||
import lombok.Getter;
|
||||
import rip.athena.client.cosmetics.cape.CapeManager;
|
||||
|
||||
/**
|
||||
* @project Athena-Client
|
||||
* @author Athena Development
|
||||
* @date 6/12/2023
|
||||
*/
|
||||
|
||||
@Getter
|
||||
public class CosmeticsController {
|
||||
|
||||
private final CapeManager capeManager;
|
||||
|
||||
public CosmeticsController() {
|
||||
capeManager = new CapeManager();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package rip.athena.client.cosmetics.cape;
|
||||
|
||||
import lombok.Getter;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
/**
|
||||
* @author Athena Development
|
||||
* @project Athena-Client
|
||||
* @date 6/23/2023
|
||||
*/
|
||||
|
||||
@Getter
|
||||
public class Cape {
|
||||
|
||||
private final String name;
|
||||
private final ResourceLocation location;
|
||||
private final ResourceLocation displayTexture;
|
||||
|
||||
public Cape(String name, String location, String displayTexture) {
|
||||
this.name = name;
|
||||
this.location = new ResourceLocation("Athena/cosmetics/capes/" + location + ".png");
|
||||
this.displayTexture = new ResourceLocation("Athena/cosmetics/capes/" + displayTexture + ".png");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
package rip.athena.client.cosmetics.cape;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.modules.Module;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author Athena Development
|
||||
* @project Athena-Client
|
||||
* @date 6/23/2023
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CapeManager {
|
||||
|
||||
private final ArrayList<Cape> capes = new ArrayList<>();
|
||||
private Cape selectedCape;
|
||||
|
||||
public CapeManager() {
|
||||
capes.add(new Cape("Minecon 2012", "Minecon-2012", "Minecon-2012-display"));
|
||||
capes.add(new Cape("Minecon 2016", "Minecon-2016", "Minecon-2016-display"));
|
||||
capes.add(new Cape("ziue's head", "ziue-head", "ziue-head-display"));
|
||||
capes.add(new Cape("Cat", "cat", "cat-display"));
|
||||
capes.add(new Cape("None", "None", "None"));
|
||||
}
|
||||
|
||||
public Cape getCape(String name) {
|
||||
Cape requestedCape = capes
|
||||
.stream()
|
||||
.filter(m -> m.getName().equalsIgnoreCase(name))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (requestedCape == null) {
|
||||
// Log a message indicating that the cape is not found
|
||||
Athena.INSTANCE.getLog().warn("Tried accessing non-existing cape: " + name);
|
||||
}
|
||||
return requestedCape;
|
||||
}
|
||||
}
|
|
@ -12,7 +12,8 @@ public enum Category {
|
|||
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"),
|
||||
CAPES("CAPES", "Athena/gui/menu/cosmetics.png"),
|
||||
//COSMETICS("COSMETICS", "Athena/gui/menu/cosmetics.png"),
|
||||
THEMES("THEMES", "Athena/gui/menu/themes.png");
|
||||
|
||||
private String name;
|
||||
|
|
|
@ -33,7 +33,8 @@ public class PageManager {
|
|||
pages.put(Category.MACROS, new MacrosPage(mc, menu, parent));
|
||||
pages.put(Category.WAYPOINTS, new WaypointsPage(mc, menu, parent));
|
||||
pages.put(Category.PROFILES, new ProfilesPage(mc, menu, parent));
|
||||
pages.put(Category.COSMETICS, new CosmeticsPage(mc, menu, parent));
|
||||
//pages.put(Category.COSMETICS, new CosmeticsPage(mc, menu, parent));
|
||||
pages.put(Category.CAPES, new CapesPage(mc, menu, parent));
|
||||
pages.put(Category.THEMES, new ThemesPage(mc, menu, parent));
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,117 @@
|
|||
package rip.athena.client.gui.clickgui.components.capes;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.cosmetics.cape.Cape;
|
||||
import rip.athena.client.font.FontManager;
|
||||
import rip.athena.client.gui.clickgui.IngameMenu;
|
||||
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.modules.impl.other.Settings;
|
||||
import rip.athena.client.theme.impl.AccentTheme;
|
||||
import rip.athena.client.utils.render.ColorUtil;
|
||||
import rip.athena.client.utils.render.DrawUtils;
|
||||
import rip.athena.client.utils.render.RoundedUtils;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* @author Athena Development
|
||||
* @project Athena-Client
|
||||
* @date 6/2/2023
|
||||
*/
|
||||
|
||||
public class CapeButton extends MenuButton {
|
||||
|
||||
private boolean selected;
|
||||
|
||||
public CapeButton(Cape cape, int x, int y, int width, int height) {
|
||||
super(cape, x, y, width, height);
|
||||
this.selected = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitColors() {
|
||||
setColor(DrawType.BACKGROUND, ButtonState.NORMAL, new Color(35, 35, 35, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.BACKGROUND, ButtonState.ACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.BACKGROUND, ButtonState.HOVER, new Color(35, 35, 35, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.BACKGROUND, ButtonState.HOVERACTIVE, new Color(35, 35, 35, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.BACKGROUND, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA));
|
||||
|
||||
setColor(DrawType.LINE, ButtonState.NORMAL, new Color(52, 52, 53, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.LINE, ButtonState.ACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.LINE, ButtonState.HOVER, new Color(52, 52, 53, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.LINE, ButtonState.HOVERACTIVE, new Color(52, 52, 53, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.LINE, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.LINE, ButtonState.POPUP, new Color(28, 28, 30, IngameMenu.MENU_ALPHA));
|
||||
|
||||
setColor(DrawType.TEXT, ButtonState.NORMAL, new Color(56, 56, 58, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.TEXT, ButtonState.ACTIVE, new Color(90, 90, 94, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.TEXT, ButtonState.HOVER, new Color(75, 75, 78, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.TEXT, ButtonState.HOVERACTIVE, new Color(100, 100, 104, IngameMenu.MENU_ALPHA));
|
||||
setColor(DrawType.TEXT, ButtonState.DISABLED, new Color(255, 255, 255, IngameMenu.MENU_ALPHA));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRender() {
|
||||
int x = this.getRenderX();
|
||||
int y = this.getRenderY();
|
||||
int width = this.width;
|
||||
|
||||
RoundedUtils.drawGradientRound(x, y, width, height, 18, ColorUtil.getClientColor(0, 255), ColorUtil.getClientColor(90, 255), ColorUtil.getClientColor(180, 255), ColorUtil.getClientColor(270, 255));
|
||||
RoundedUtils.drawRound(x + 1, y + 1, width - 2, height - 2, 16, new Color(Athena.INSTANCE.getThemeManager().getPrimaryTheme().getThirdColor()));
|
||||
|
||||
if (!cape.getName().equals("None")) {
|
||||
DrawUtils.drawImage(cape.getDisplayTexture(), x + 25, y + 15, width - 50, height - 50);
|
||||
}
|
||||
|
||||
if(selected) {
|
||||
text = cape.getName() + " selected";
|
||||
} else {
|
||||
text = cape.getName();
|
||||
}
|
||||
|
||||
drawText(text, x + (width / 2 - getStringWidth(text) / 2), y + height - 20, -1);
|
||||
|
||||
GlStateManager.color(1,1,1);
|
||||
|
||||
mouseDown = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawText(String string, int x, int y, int color) {
|
||||
if(Settings.customGuiFont) {
|
||||
rip.athena.client.utils.font.FontManager.getProductSansRegular(30).drawString(string, x - 3, y, color);
|
||||
} else {
|
||||
Minecraft.getMinecraft().fontRendererObj.drawString(string, x, y, color);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStringWidth(String string) {
|
||||
if(Settings.customGuiFont) {
|
||||
return (int) rip.athena.client.utils.font.FontManager.getProductSansRegular(30).width(string) - 1;
|
||||
} else {
|
||||
return Minecraft.getMinecraft().fontRendererObj.getStringWidth(string);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStringHeight(String string) {
|
||||
if(Settings.customGuiFont) {
|
||||
return (int) FontManager.baloo17.getHeight(string) + 1;
|
||||
} else {
|
||||
return Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
public void setSelected(boolean selected) {
|
||||
this.selected = selected;
|
||||
}
|
||||
|
||||
public boolean isSelected() {
|
||||
return selected;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
package rip.athena.client.gui.clickgui.pages;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.cosmetics.cape.Cape;
|
||||
import rip.athena.client.gui.clickgui.IngameMenu;
|
||||
import rip.athena.client.gui.clickgui.Page;
|
||||
import rip.athena.client.gui.clickgui.components.capes.CapeButton;
|
||||
import rip.athena.client.gui.clickgui.components.mods.ModScrollPane;
|
||||
import rip.athena.client.gui.framework.Menu;
|
||||
|
||||
/**
|
||||
* @author Athena Development
|
||||
* @project Athena-Client
|
||||
* @date 6/2/2023
|
||||
*/
|
||||
|
||||
public class CapesPage extends Page {
|
||||
private ModScrollPane scrollPane;
|
||||
|
||||
public CapesPage(Minecraft mc, Menu menu, IngameMenu parent) {
|
||||
super(mc, menu, parent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInit() {
|
||||
int width = 300;
|
||||
|
||||
scrollPane = new ModScrollPane(260, 100, menu.getWidth() - width, menu.getHeight() - 101, false);
|
||||
|
||||
populateScrollPane();
|
||||
}
|
||||
|
||||
private void populateScrollPane() {
|
||||
scrollPane.getComponents().clear();
|
||||
|
||||
int spacing = 15;
|
||||
int height = 250;
|
||||
|
||||
int defaultX = spacing;
|
||||
|
||||
int y = spacing;
|
||||
int x = spacing;
|
||||
|
||||
int width = 190;
|
||||
|
||||
int maxWidth = scrollPane.getWidth() - spacing * 2;
|
||||
|
||||
for(Cape cape : Athena.INSTANCE.getCosmeticsController().getCapeManager().getCapes()) {
|
||||
CapeButton capeButton = new CapeButton(cape, x, y, width, height) {
|
||||
@Override
|
||||
public void onAction() {
|
||||
setActive(false);
|
||||
Athena.INSTANCE.getCosmeticsController().getCapeManager().setSelectedCape(cape);
|
||||
populateScrollPane();
|
||||
}
|
||||
};
|
||||
|
||||
capeButton.setSelected(cape == Athena.INSTANCE.getCosmeticsController().getCapeManager().getSelectedCape());
|
||||
|
||||
scrollPane.addComponent(capeButton);
|
||||
|
||||
x += spacing + width;
|
||||
|
||||
if(x + spacing + width > maxWidth) {
|
||||
x = defaultX;
|
||||
y += height + spacing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRender() {
|
||||
int width = 300;
|
||||
int x = menu.getX() + menu.getWidth() - width + 20;
|
||||
int y = menu.getY() + 59;
|
||||
int height = 32;
|
||||
|
||||
drawVerticalLine(menu.getX() + 215, y + height - 30, height + 432, 3, Athena.INSTANCE.getThemeManager().getPrimaryTheme().getSecondColor());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
menu.addComponent(scrollPane);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnload() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOpen() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClose() {
|
||||
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package rip.athena.client.gui.framework.components;
|
||||
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import rip.athena.client.cosmetics.cape.Cape;
|
||||
import rip.athena.client.gui.framework.MenuComponent;
|
||||
import rip.athena.client.gui.framework.draw.ButtonState;
|
||||
import rip.athena.client.gui.framework.draw.DrawType;
|
||||
|
@ -20,6 +21,7 @@ public class MenuButton extends MenuComponent {
|
|||
protected int minOffset = 2;
|
||||
protected boolean mouseDown = false;
|
||||
protected boolean active = false;
|
||||
protected Cape cape;
|
||||
protected AccentTheme theme;
|
||||
protected PrimaryTheme primaryTheme;
|
||||
protected ButtonState lastState = ButtonState.NORMAL;
|
||||
|
@ -39,6 +41,11 @@ public class MenuButton extends MenuComponent {
|
|||
this.theme = theme;
|
||||
}
|
||||
|
||||
public MenuButton(Cape cape, int x, int y, int width, int height) {
|
||||
super(x, y, width, height);
|
||||
this.cape = cape;
|
||||
}
|
||||
|
||||
public MenuButton(PrimaryTheme theme, int x, int y, int width, int height) {
|
||||
super(x, y, width, height);
|
||||
this.primaryTheme = theme;
|
||||
|
|
|
@ -207,8 +207,8 @@ public class AthenaMenu extends GuiScreen implements GuiYesNoCallback
|
|||
{
|
||||
if (button.id == 0)
|
||||
{
|
||||
this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
|
||||
}
|
||||
this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings));
|
||||
}
|
||||
|
||||
if (button.id == 5)
|
||||
{
|
||||
|
@ -293,7 +293,7 @@ public class AthenaMenu extends GuiScreen implements GuiYesNoCallback
|
|||
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks)
|
||||
{
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/test5.jpg"), 0, 0, width, height);
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/wallpaper3.jpg"), 0, 0, width, height);
|
||||
|
||||
int[] size = InputUtils.getWindowsSize();
|
||||
int startX = size[0] / 2;
|
||||
|
@ -305,7 +305,7 @@ public class AthenaMenu extends GuiScreen implements GuiYesNoCallback
|
|||
int height = 100;
|
||||
|
||||
rip.athena.client.utils.font.FontManager.getProductSansBold(60).drawCenteredString(Athena.INSTANCE.getClientName(),
|
||||
this.width / 2, y, new Color(255, 255, 255).getRGB());
|
||||
(float) this.width / 2, y, new Color(255, 255, 255).getRGB());
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/exit.png"),startX + startX - 20, 10, 10, 10);
|
||||
|
|
|
@ -107,11 +107,7 @@ public class GuiAccountManager extends GuiScreen {
|
|||
int index = 1;
|
||||
|
||||
if(closeAccountManager) {
|
||||
showAccountAnimation.setDirection(Direction.BACKWARDS);
|
||||
if(showAccountAnimation.isDone(Direction.BACKWARDS)) {
|
||||
closeAccountManager = false;
|
||||
mc.displayGuiScreen(prevGuiScreen);
|
||||
}
|
||||
mc.displayGuiScreen(prevGuiScreen);
|
||||
}
|
||||
|
||||
if(click) {
|
||||
|
@ -122,7 +118,7 @@ public class GuiAccountManager extends GuiScreen {
|
|||
clickTimer.reset();
|
||||
}
|
||||
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/test5.jpg"), 0, 0, sr.getScaledWidth(), sr.getScaledHeight());
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/wallpaper3.jpg"), 0, 0, sr.getScaledWidth(), sr.getScaledHeight());
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
|
||||
|
@ -134,6 +130,9 @@ public class GuiAccountManager extends GuiScreen {
|
|||
RoundedUtils.drawRound(x + 1, y + 180, width - 2, height - 150, 6, new Color(Athena.INSTANCE.getThemeManager().getPrimaryTheme().getFirstColor()));
|
||||
FontManager.getProductSansRegular(22).drawString("Add Account", x + 5, y + 186, Athena.INSTANCE.getThemeManager().getPrimaryTheme().getTextColor());
|
||||
|
||||
RoundedUtils.drawGradientRound(x , y + 206, width, height - 148, 6, ColorUtil.getClientColor(0, 255), ColorUtil.getClientColor(90, 255), ColorUtil.getClientColor(180, 255), ColorUtil.getClientColor(270, 255));
|
||||
RoundedUtils.drawRound(x + 1, y + 207, width - 2, height - 150, 6, new Color(Athena.INSTANCE.getThemeManager().getPrimaryTheme().getFirstColor()));
|
||||
FontManager.getProductSansRegular(22).drawString("Go back", x + 5, y + 213, Athena.INSTANCE.getThemeManager().getPrimaryTheme().getTextColor());
|
||||
|
||||
StencilUtils.initStencilToWrite();
|
||||
RoundedUtils.drawRound(x, y + 28, width, height - 28.5F, 6, Color.WHITE);
|
||||
|
@ -150,11 +149,13 @@ public class GuiAccountManager extends GuiScreen {
|
|||
for(Account a : Athena.INSTANCE.getAccountManager().getAccounts()) {
|
||||
|
||||
RoundedUtils.drawRound(x + 9, y + offsetY + scrollAnimation.getValue() - 1, width - 18, 37, 4, new Color(Athena.INSTANCE.getThemeManager().getPrimaryTheme().getSecondColor()));
|
||||
|
||||
RoundedUtils.drawRound(x + 10, y + offsetY + scrollAnimation.getValue(), width - 20, 35, 4, new Color(Athena.INSTANCE.getThemeManager().getPrimaryTheme().getFirstColor()));
|
||||
|
||||
RoundedUtils.drawGradientRound(x + width - 36, y + offsetY + 7 + scrollAnimation.getValue(), 20, 20, 4, ColorUtil.getClientColor(0, 255), ColorUtil.getClientColor(90, 255), ColorUtil.getClientColor(180, 255), ColorUtil.getClientColor(270, 255));
|
||||
|
||||
if(a.getAccountType().equals(AccountType.MICROSOFT)) {
|
||||
//mc.getTextureManager().bindTexture(face(a.getUsername(), UUID.fromString(a.getUuid())));
|
||||
mc.getTextureManager().bindTexture(new ResourceLocation("Athena/menu/head.png"));
|
||||
} else {
|
||||
mc.getTextureManager().bindTexture(new ResourceLocation("Athena/menu/head.png"));
|
||||
}
|
||||
|
@ -163,11 +164,15 @@ public class GuiAccountManager extends GuiScreen {
|
|||
RoundedUtils.drawRoundTextured(x + 17, y + offsetY + 6 + scrollAnimation.getValue(), 24, 24, 4, 1.0F);
|
||||
GlStateManager.disableBlend();
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/exit.png"),x + width - 31, (int) (y + offsetY + 12 + scrollAnimation.getValue()), 10, 10);
|
||||
GlStateManager.popMatrix();
|
||||
|
||||
FontManager.getProductSansRegular(22).drawString(a.getUsername(), x + 50, y + offsetY + 15 + scrollAnimation.getValue(), Athena.INSTANCE.getThemeManager().getPrimaryTheme().getTextColor());
|
||||
|
||||
a.opacityAnimation.setAnimation(a.isDone ? 0 : 255, 16);
|
||||
|
||||
FontManager.getProductSansRegular(22).drawCenteredString(a.getInfo(), x + width - 54, y + 14.5F + offsetY + scrollAnimation.getValue(), Athena.INSTANCE.getThemeManager().getPrimaryTheme().getTextColor());
|
||||
FontManager.getProductSansRegular(22).drawCenteredString(a.getInfo(), x + width - 64, y + 14.5F + offsetY + scrollAnimation.getValue(), Athena.INSTANCE.getThemeManager().getPrimaryTheme().getTextColor());
|
||||
|
||||
if(a.getInfo().equals("Success") || a.getInfo().equals("Error")) {
|
||||
if(a.getTimer().hasTimeElapsed(3500)) {
|
||||
|
@ -263,14 +268,14 @@ public class GuiAccountManager extends GuiScreen {
|
|||
showAddAccount = true;
|
||||
}
|
||||
|
||||
if(MouseUtils.isInside(mouseX, mouseY, x , y + 179, width, height - 148)) {
|
||||
if(MouseUtils.isInside(mouseX, mouseY, x , y + 206, width, 25)) {
|
||||
mc.displayGuiScreen(prevGuiScreen);
|
||||
}
|
||||
|
||||
if(MouseUtils.isInside(mouseX, mouseY, x , y + 179, width, 25)) {
|
||||
mc.displayGuiScreen(new GuiAltManager());
|
||||
//Soar.instance.settingsManager.getSettingByClass(ClientMod.class, "DarkMode").setValBoolean(!Soar.instance.settingsManager.getSettingByClass(ClientMod.class, "DarkMode").getValBoolean());
|
||||
}
|
||||
|
||||
if (MouseUtils.isInside(mouseX, mouseY, sr.getScaledWidth() - 25, 5.0, 20.0, 20.0)) {
|
||||
|
||||
}
|
||||
|
||||
if(showAddAccount) {
|
||||
|
||||
|
@ -316,7 +321,6 @@ public class GuiAccountManager extends GuiScreen {
|
|||
}
|
||||
|
||||
for(Account a : Athena.INSTANCE.getAccountManager().getAccounts()) {
|
||||
|
||||
if(MouseUtils.isInside(mouseX, mouseY, x + width - 36, y + offsetY + 7 + scrollAnimation.getValue(), 20, 20)) {
|
||||
deleteAccount = a;
|
||||
delete = true;
|
||||
|
|
|
@ -66,7 +66,7 @@ public class GuiAltManager extends GuiScreen {
|
|||
int yOffset = (screenHeight - getTotalPanelsHeight()) / 2; // Calculate vertical offset to center the panels
|
||||
int width = screenWidth - (2 * xOffset);
|
||||
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/test5.jpg"), 0, 0, (int) screenWidth, (int) screenHeight);
|
||||
DrawUtils.drawImage(new ResourceLocation("Athena/menu/wallpaper3.jpg"), 0, 0, (int) screenWidth, (int) screenHeight);
|
||||
|
||||
RoundedUtils.drawGradientRound(xOffset + 15, yOffset - 1, width + 1, getTotalPanelsHeight() - 23, 6, ColorUtil.getClientColor(0, 255), ColorUtil.getClientColor(90, 255), ColorUtil.getClientColor(180, 255), ColorUtil.getClientColor(270, 255));
|
||||
|
||||
|
|
|
@ -38,13 +38,11 @@ public class LoginPanel extends Panel {
|
|||
|
||||
private final List<AltButton> actionButtons = new ArrayList<>();
|
||||
public final List<TextField> textFields = new ArrayList<>();
|
||||
private String status = "Session:";
|
||||
private String status = "";
|
||||
|
||||
public LoginPanel() {
|
||||
setHeight(200);
|
||||
actionButtons.add(new AltButton("Cracked"));
|
||||
actionButtons.add(new AltButton("Session"));
|
||||
actionButtons.add(new AltButton("Login"));
|
||||
actionButtons.add(new AltButton("Offline Login"));
|
||||
textFields.add(new TextField());
|
||||
textFields.add(new TextField());
|
||||
}
|
||||
|
@ -120,60 +118,14 @@ public class LoginPanel extends Panel {
|
|||
actionButton.setHeight(20);
|
||||
|
||||
actionButton.setClickAction(() -> {
|
||||
switch (actionButton.getName()) {
|
||||
case "Cracked":
|
||||
TextField cracked = textFields.get(0);
|
||||
Athena.INSTANCE.getAccountManager().getAccounts().add(new Account(AccountType.CRACKED, cracked.getText(), "0", "0"));
|
||||
Minecraft.getMinecraft().session = new Session(cracked.getText(), "0", "0", "legacy");
|
||||
status = "Logged into " + cracked.getText();
|
||||
Athena.INSTANCE.getAccountManager().setCurrentAccount(Athena.INSTANCE.getAccountManager().getAccountByUsername(cracked.getText()));
|
||||
Athena.INSTANCE.getAccountManager().isFirstLogin = false;
|
||||
Athena.INSTANCE.getAccountManager().save();
|
||||
|
||||
break;
|
||||
case "Session":
|
||||
TextField sessionID = textFields.get(0);
|
||||
|
||||
try {
|
||||
String user, uuid, token, session = sessionID.getText();
|
||||
|
||||
if (session.contains(":")) { //if fully formatted string (ign:uuid:token)
|
||||
//split string to data
|
||||
user = session.split(":")[0];
|
||||
uuid = session.split(":")[1];
|
||||
token = session.split(":")[2];
|
||||
} else { //if only token
|
||||
//make request
|
||||
HttpURLConnection c = (HttpURLConnection) new URL("https://api.minecraftservices.com/minecraft/profile/").openConnection();
|
||||
c.setRequestProperty("Content-type", "application/json");
|
||||
c.setRequestProperty("Authorization", "Bearer " + sessionID.getText());
|
||||
c.setDoOutput(true);
|
||||
|
||||
//get json
|
||||
JsonObject json = new JsonParser().parse(IOUtils.toString(c.getInputStream())).getAsJsonObject();
|
||||
|
||||
//get data
|
||||
user = json.get("name").getAsString();
|
||||
uuid = json.get("id").getAsString();
|
||||
token = session;
|
||||
}
|
||||
|
||||
//set session and return to previous screen
|
||||
Minecraft.getMinecraft().session = new Session(user, uuid, token, "mojang");
|
||||
status = "Logged into " + user;
|
||||
Athena.INSTANCE.getAccountManager().getAccounts().add(new Account(AccountType.SESSION, user, uuid, token));
|
||||
Athena.INSTANCE.getAccountManager().setCurrentAccount(Athena.INSTANCE.getAccountManager().getAccountByUsername(user));
|
||||
Athena.INSTANCE.getAccountManager().isFirstLogin = false;
|
||||
Athena.INSTANCE.getAccountManager().save();
|
||||
Athena.INSTANCE.getLog().info("Success: Logged into " + user);
|
||||
//mc.displayGuiScreen(previousScreen);
|
||||
} catch (Exception e) {
|
||||
status = "Failed to login";
|
||||
Athena.INSTANCE.getLog().error("Failed to login");
|
||||
System.out.println(sessionID.getText());
|
||||
e.printStackTrace();
|
||||
}
|
||||
break;
|
||||
if (actionButton.getName().equals("Offline Login")) {
|
||||
TextField cracked = textFields.get(0);
|
||||
Athena.INSTANCE.getAccountManager().getAccounts().add(new Account(AccountType.CRACKED, cracked.getText(), "0", "0"));
|
||||
Minecraft.getMinecraft().session = new Session(cracked.getText(), "0", "0", "legacy");
|
||||
status = "Logged into " + cracked.getText();
|
||||
Athena.INSTANCE.getAccountManager().setCurrentAccount(Athena.INSTANCE.getAccountManager().getAccountByUsername(cracked.getText()));
|
||||
Athena.INSTANCE.getAccountManager().isFirstLogin = false;
|
||||
Athena.INSTANCE.getAccountManager().save();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -188,9 +140,8 @@ public class LoginPanel extends Panel {
|
|||
hoverMicrosoftAnim.setDirection(hoveringMicrosoft ? Direction.FORWARDS : Direction.BACKWARDS);
|
||||
|
||||
RoundedUtils.drawRound(microX, microsoftY, microWidth, microHeight, 5, ColorUtil.applyOpacity(Color.BLACK, .2f + (.25f * hoverMicrosoftAnim.getOutput().floatValue())));
|
||||
|
||||
FontManager.getProductSansRegular(26).drawString("Microsoft Login", microX + 10, microsoftY + 4, -1);
|
||||
FontManager.getProductSansRegular(16).drawString("Login to your migrated account", microX + 10, microsoftY + 23, -1);
|
||||
FontManager.getProductSansRegular(16).drawString("Login by entering login details and clicking here", microX + 10, microsoftY + 23, -1);
|
||||
|
||||
float logoSize = 22;
|
||||
DrawUtils.drawMicrosoftLogo(microX + microWidth - (10 + logoSize), microsoftY + (microHeight / 2f) - (logoSize / 2f), logoSize, 1.5f);
|
||||
|
|
|
@ -8,7 +8,6 @@ import rip.athena.client.events.SubscribeEvent;
|
|||
import rip.athena.client.events.types.input.KeyDownEvent;
|
||||
import rip.athena.client.events.types.input.MouseDownEvent;
|
||||
import rip.athena.client.gui.clickgui.components.mods.MenuModKeybind;
|
||||
import sun.rmi.transport.proxy.RMIHttpToCGISocketFactory;
|
||||
|
||||
import javax.crypto.Mac;
|
||||
import java.util.List;
|
||||
|
|
|
@ -2,6 +2,7 @@ package rip.athena.client.modules.impl.other;
|
|||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import net.minecraft.client.entity.EntityOtherPlayerMP;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.Vec3;
|
||||
import rip.athena.client.Athena;
|
||||
|
@ -110,7 +111,7 @@ public class AimTrainer extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.config.ConfigValue;
|
||||
|
@ -96,7 +97,7 @@ public class CPS extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ public class Clock extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12, background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package rip.athena.client.modules.impl.render;
|
|||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.WorldRenderer;
|
||||
|
@ -92,17 +93,6 @@ public class Coordinates extends Module {
|
|||
int myPosZ;
|
||||
int myAngle;
|
||||
int myDir;
|
||||
int myMoveX;
|
||||
int myMoveZ;
|
||||
int myFind;
|
||||
|
||||
int coordLocation;
|
||||
int myXLine, myYLine, myZLine, myBiomeLine;
|
||||
int myBaseOffset;
|
||||
int myCoord1Offset, myCoord2Offset;
|
||||
int myRHSlocation;
|
||||
int coordBoxW, coordBoxH;
|
||||
int coordBoxL, coordBoxR, coordBoxTop, coordBoxBase;
|
||||
|
||||
private static final String[] myCardinalPoint = new String[] {"N", "NE", "E", "SE", "S", "SW", "W", "NW"};
|
||||
|
||||
|
@ -280,7 +270,7 @@ public class Coordinates extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Circle")) {
|
||||
RoundedUtils.drawGradientRound(hud.getX(), hud.getY(), hud.getWidth(), hud.getHeight(), 6, ColorUtil.getClientColor(0, transparency), ColorUtil.getClientColor(90, transparency), ColorUtil.getClientColor(180, transparency), ColorUtil.getClientColor(270, transparency));
|
||||
} else {
|
||||
DrawUtils.drawGradientRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB(), backgroundColor.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.config.ConfigValue;
|
||||
|
@ -87,7 +88,7 @@ public class CustomText extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColorWave().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.config.ConfigValue;
|
||||
|
@ -87,7 +88,7 @@ public class EntityHUD extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColorWave().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
@ -96,7 +97,7 @@ public class FPSMod extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import rip.athena.client.Athena;
|
||||
import rip.athena.client.config.ConfigValue;
|
||||
|
@ -103,7 +104,7 @@ public class MemoryUsage extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.renderer.texture.DynamicTexture;
|
||||
import net.minecraft.client.renderer.texture.TextureUtil;
|
||||
import net.minecraft.client.resources.IResourcePack;
|
||||
|
@ -107,7 +108,7 @@ public class PackDisplay extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX() - 10, hud.getY(), hud.getX() + width + rip.athena.client.utils.font.FontManager.getProductSansRegular(20).width(this.convertNormalText(pack.getPackName())) / 2, hud.getY() + height + 20, 12.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX() - 10, hud.getY(), hud.getX() + width + rip.athena.client.utils.font.FontManager.getProductSansRegular(20).width(this.convertNormalText(pack.getPackName())) / 2, hud.getY() + height + 20, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX() - 10, hud.getY(), hud.getX() + width + rip.athena.client.utils.font.FontManager.getProductSansRegular(20).width(this.convertNormalText(pack.getPackName())) / 2, hud.getY() + height + 20, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.entity.EntityPlayerSP;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -109,7 +110,7 @@ public class PotCounter extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,backgroundColor.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package rip.athena.client.modules.impl.render;
|
||||
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
@ -115,7 +116,7 @@ public class ReachDisplay extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,background.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, background.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package rip.athena.client.modules.impl.render;
|
|||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.ScaledResolution;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
|
@ -36,7 +37,7 @@ import rip.athena.client.utils.render.RoundedUtils;
|
|||
public class Scoreboard extends Module {
|
||||
|
||||
@ConfigValue.List(name = "Display Mode", values = {"Modern", "Fade", "Custom", "Default"}, description = "Chose display of background")
|
||||
private String backgroundMode = "Modern";
|
||||
private String backgroundMode = "Default";
|
||||
|
||||
@ConfigValue.Color(name = "Background Color")
|
||||
private Color backgroundColor = new Color(0, 0, 0, 150);
|
||||
|
@ -159,7 +160,7 @@ public class Scoreboard extends Module {
|
|||
} else if (backgroundMode.equalsIgnoreCase("Fade")) {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 8.0f, Athena.INSTANCE.getThemeManager().getTheme().getAccentColor().getRGB());
|
||||
} else {
|
||||
RoundedUtils.drawRoundedRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, 12,backgroundColor.getRGB());
|
||||
Gui.drawRect(hud.getX(), hud.getY(), hud.getX() + width, hud.getY() + height, backgroundColor.getRGB());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 452 B |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 123 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1018 B |
After Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 5.4 MiB After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 835 B |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 670 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 719 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
646780
workspace/logs/latest.log
|
@ -10,7 +10,7 @@ bobView:true
|
|||
anaglyph3d:false
|
||||
maxFps:260
|
||||
fboEnable:true
|
||||
difficulty:1
|
||||
difficulty:2
|
||||
fancyGraphics:false
|
||||
ao:0
|
||||
renderClouds:false
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"stat.walkOneCm":128091,"achievement.openInventory":11,"stat.leaveGame":74,"stat.damageTaken":50,"stat.killEntity.Spider":1,"stat.mobKills":34,"stat.killEntity.Creeper":33,"stat.useItem.minecraft.diamond_sword":76,"stat.flyOneCm":210056,"stat.drop":21,"stat.jump":638,"stat.playOneMinute":497598,"stat.fallOneCm":422,"stat.damageDealt":8415,"stat.crouchOneCm":373,"stat.timeSinceDeath":497598,"stat.sprintOneCm":69728,"stat.useItem.minecraft.spawn_egg":128,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","River","Desert"]}}
|
||||
{"stat.walkOneCm":130758,"achievement.openInventory":11,"stat.leaveGame":78,"stat.damageTaken":50,"stat.killEntity.Spider":1,"stat.mobKills":34,"stat.killEntity.Creeper":33,"stat.useItem.minecraft.diamond_sword":76,"stat.flyOneCm":221475,"stat.drop":21,"stat.jump":651,"stat.playOneMinute":515922,"stat.fallOneCm":422,"stat.damageDealt":8415,"stat.crouchOneCm":373,"stat.timeSinceDeath":515922,"stat.sprintOneCm":71583,"stat.useItem.minecraft.spawn_egg":128,"achievement.exploreAllBiomes":{"value":0,"progress":["DesertHills","River","Desert"]}}
|
|
@ -0,0 +1 @@
|
|||
{"stat.flyOneCm":578,"stat.walkOneCm":1003,"stat.jump":5,"stat.playOneMinute":1823,"stat.leaveGame":1,"stat.timeSinceDeath":1823,"stat.sprintOneCm":544,"achievement.exploreAllBiomes":{"value":0,"progress":["Desert"]}}
|
|
@ -1 +1 @@
|
|||
{"stat.walkOneCm":11824,"achievement.openInventory":3,"stat.leaveGame":27,"stat.damageTaken":45,"stat.flyOneCm":16020,"stat.jump":85,"stat.playOneMinute":91240,"stat.fallOneCm":211,"stat.timeSinceDeath":91240,"stat.sprintOneCm":7810,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach"]}}
|
||||
{"stat.walkOneCm":13240,"achievement.openInventory":3,"stat.leaveGame":28,"stat.damageTaken":45,"stat.flyOneCm":18267,"stat.jump":94,"stat.playOneMinute":213167,"stat.fallOneCm":211,"stat.timeSinceDeath":213167,"stat.sprintOneCm":8888,"achievement.exploreAllBiomes":{"value":0,"progress":["Beach","Desert"]}}
|
|
@ -27,6 +27,23 @@
|
|||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"Crosshair": {
|
||||
"settings": {
|
||||
"Draw color": {
|
||||
"red": 255,
|
||||
"green": 0,
|
||||
"blue": 0,
|
||||
"alpha": 255
|
||||
},
|
||||
"Brush size": 2,
|
||||
"Rainbow color": false,
|
||||
"Delete mode": false
|
||||
},
|
||||
"bind": 0,
|
||||
"hud": {},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"CPS": {
|
||||
"settings": {
|
||||
"Transparency": 255,
|
||||
|
@ -69,23 +86,6 @@
|
|||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"Crosshair": {
|
||||
"settings": {
|
||||
"Draw color": {
|
||||
"red": 255,
|
||||
"green": 0,
|
||||
"blue": 0,
|
||||
"alpha": 255
|
||||
},
|
||||
"Brush size": 2,
|
||||
"Rainbow color": false,
|
||||
"Delete mode": false
|
||||
},
|
||||
"bind": 0,
|
||||
"hud": {},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"FPS": {
|
||||
"settings": {
|
||||
"Transparency": 255,
|
||||
|
@ -247,7 +247,7 @@
|
|||
"alpha": 153
|
||||
},
|
||||
"Free Move": false,
|
||||
"Display Mode": "Fade",
|
||||
"Display Mode": "Default",
|
||||
"Show Numbers": false
|
||||
},
|
||||
"bind": 0,
|
||||
|
@ -258,6 +258,36 @@
|
|||
"scale": 1
|
||||
}},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": true
|
||||
},
|
||||
"TPS": {
|
||||
"settings": {
|
||||
"Custom Font": false,
|
||||
"Background": true,
|
||||
"Mode": "Number",
|
||||
"Background Color": {
|
||||
"red": 0,
|
||||
"green": 0,
|
||||
"blue": 0,
|
||||
"alpha": 102
|
||||
},
|
||||
"Display Mode": "Modern",
|
||||
"Preset Color": true,
|
||||
"TPS Color": {
|
||||
"red": 255,
|
||||
"green": 255,
|
||||
"blue": 255,
|
||||
"alpha": 255
|
||||
}
|
||||
},
|
||||
"bind": 0,
|
||||
"hud": {"tps": {
|
||||
"visible": true,
|
||||
"x": 13,
|
||||
"y": 6,
|
||||
"scale": 1
|
||||
}},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"Memory usage": {
|
||||
|
@ -299,36 +329,6 @@
|
|||
"bindtype": "Toggle",
|
||||
"enabled": true
|
||||
},
|
||||
"TPS": {
|
||||
"settings": {
|
||||
"Custom Font": false,
|
||||
"Background": true,
|
||||
"Mode": "Number",
|
||||
"Background Color": {
|
||||
"red": 0,
|
||||
"green": 0,
|
||||
"blue": 0,
|
||||
"alpha": 90
|
||||
},
|
||||
"Display Mode": "Circle",
|
||||
"Preset Color": true,
|
||||
"TPS Color": {
|
||||
"red": 255,
|
||||
"green": 255,
|
||||
"blue": 255,
|
||||
"alpha": 255
|
||||
}
|
||||
},
|
||||
"bind": 0,
|
||||
"hud": {"tps": {
|
||||
"visible": true,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"scale": 1
|
||||
}},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"Armor Status": {
|
||||
"settings": {
|
||||
"Value Display": "Value Damage",
|
||||
|
@ -537,7 +537,14 @@
|
|||
"scale": 1
|
||||
}},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
"enabled": true
|
||||
},
|
||||
"ItemPhysics": {
|
||||
"settings": {},
|
||||
"bind": 0,
|
||||
"hud": {},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": true
|
||||
},
|
||||
"Key Strokes": {
|
||||
"settings": {
|
||||
|
@ -576,13 +583,6 @@
|
|||
"bindtype": "Toggle",
|
||||
"enabled": false
|
||||
},
|
||||
"ItemPhysics": {
|
||||
"settings": {},
|
||||
"bind": 0,
|
||||
"hud": {},
|
||||
"bindtype": "Toggle",
|
||||
"enabled": true
|
||||
},
|
||||
"Old Animations": {
|
||||
"settings": {
|
||||
"Armor Damage Flash": true,
|
||||
|
@ -672,8 +672,8 @@
|
|||
"bind": 0,
|
||||
"hud": {"packdisplay": {
|
||||
"visible": true,
|
||||
"x": 16,
|
||||
"y": 4,
|
||||
"x": 199,
|
||||
"y": 43,
|
||||
"scale": 1
|
||||
}},
|
||||
"bindtype": "Toggle",
|
||||
|
@ -717,6 +717,7 @@
|
|||
"bindtype": "Toggle",
|
||||
"enabled": true
|
||||
},
|
||||
"cape": "Minecon 2016",
|
||||
"NoHurtCam": {
|
||||
"settings": {},
|
||||
"bind": 0,
|
||||
|
|