updated alt manager, reworked module repository

This commit is contained in:
AFS0021822 2023-07-01 19:35:00 +02:00
parent 29a37bb0bb
commit d00d523e63
306 changed files with 2266 additions and 2285 deletions

View File

@ -46,7 +46,6 @@ import net.minecraft.client.gui.GuiControls;
import net.minecraft.client.gui.GuiGameOver;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.GuiIngameMenu;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiMemoryErrorScreen;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSleepMP;
@ -55,7 +54,6 @@ import net.minecraft.client.gui.GuiYesNoCallback;
import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.gui.achievement.GuiAchievement;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.client.gui.stream.GuiStreamUnavailable;
import net.minecraft.client.main.GameConfiguration;
import net.minecraft.client.multiplayer.GuiConnecting;
import net.minecraft.client.multiplayer.PlayerControllerMP;
@ -194,10 +192,10 @@ import rip.athena.client.events.types.input.MouseDownEvent;
import rip.athena.client.events.types.input.MouseMoveEvent;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.impl.mods.HitDelayFix;
import rip.athena.client.modules.impl.render.MotionBlur;
import rip.athena.client.ui.menu.AthenaMenu;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import rip.athena.client.modules.mods.HitDelayFix;
import rip.athena.client.modules.render.MotionBlur;
public class Minecraft implements IThreadListener, IPlayerUsage
{
@ -632,7 +630,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
private void createDisplay() throws LWJGLException
{
Display.setResizable(true);
Display.setTitle(Athena.INSTANCE.getClientName() + " | " + Athena.INSTANCE.getClientBuild());
Display.setTitle(Athena.INSTANCE.getClientName() + " v" + Athena.INSTANCE.getClientVersion() + " | b" + Athena.INSTANCE.getClientBuild());
try
{
@ -1225,7 +1223,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
public void updateDisplay()
{
if(Athena.INSTANCE.getModuleManager().get(MotionBlur.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(MotionBlur.class).isToggled()) {
if(Minecraft.getMinecraft().thePlayer != null) {
MotionBlur.createAccumulation();
}
@ -1543,7 +1541,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
if (this.playerController.isNotCreative())
{
if(Athena.INSTANCE.getModuleManager().get(HitDelayFix.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(HitDelayFix.class).isToggled()) {
this.leftClickCounter = 0;
} else {
this.leftClickCounter = 10;
@ -2307,7 +2305,7 @@ public class Minecraft implements IThreadListener, IPlayerUsage
public void launchIntegratedServer(String folderName, String worldName, WorldSettings worldSettingsIn) {
this.loadWorld((WorldClient) null);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if (!mod.FAST_WORLD_LOADING) {
System.gc();

View File

@ -46,7 +46,7 @@ import net.minecraft.util.*;
import net.minecraft.world.IInteractionObject;
import net.minecraft.world.World;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.mods.ToggleSprint;
import rip.athena.client.modules.mods.ToggleSprint;
public class EntityPlayerSP extends AbstractClientPlayer
{
@ -780,7 +780,7 @@ public class EntityPlayerSP extends AbstractClientPlayer
float f = 0.8F;
boolean flag2 = this.movementInput.moveForward >= f;
if(Athena.INSTANCE.getModuleManager().get(ToggleSprint.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(ToggleSprint.class).isToggled()) {
ToggleSprint.update(mc, (MovementInputFromOptions) this.movementInput, this);
} else {
this.movementInput.updatePlayerMoveState();
@ -800,7 +800,7 @@ public class EntityPlayerSP extends AbstractClientPlayer
boolean flag3 = (float)this.getFoodStats().getFoodLevel() > 6.0F || this.capabilities.allowFlying;
if(Athena.INSTANCE.getModuleManager().get(ToggleSprint.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(ToggleSprint.class).isToggled()) {
boolean isSprintDisabled = !ToggleSprint.optionToggleSprint;
boolean canDoubleTap = ToggleSprint.optionDoubleTap;
@ -897,7 +897,7 @@ public class EntityPlayerSP extends AbstractClientPlayer
this.setSprinting(false);
}
if(Athena.INSTANCE.getModuleManager().get(ToggleSprint.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(ToggleSprint.class).isToggled()) {
if(ToggleSprint.optionEnableFlyBoost && this.capabilities.isFlying && ToggleSprint.sprint)
{

View File

@ -28,7 +28,7 @@ import optifine.FontUtils;
import org.apache.commons.io.IOUtils;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.other.NickHider;
import rip.athena.client.modules.other.NickHider;
public class FontRenderer implements IResourceManagerReloadListener
{
@ -435,9 +435,9 @@ public class FontRenderer implements IResourceManagerReloadListener
*/
private void renderStringAtPos(String p_78255_1_, boolean p_78255_2_)
{
NickHider mod = (NickHider) Athena.INSTANCE.getModuleManager().get(NickHider.class);
NickHider mod = (NickHider) Athena.INSTANCE.getModuleRepository().get(NickHider.class);
if(Athena.INSTANCE.getModuleManager().get(NickHider.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(NickHider.class).isToggled()) {
if(Minecraft.getMinecraft().thePlayer != null) {
if (p_78255_1_.contains(Minecraft.getMinecraft().thePlayer.getName())) {
p_78255_1_ = p_78255_1_.replace(Minecraft.getMinecraft().thePlayer.getName(), mod.nick);
@ -666,9 +666,9 @@ public class FontRenderer implements IResourceManagerReloadListener
*/
public int getStringWidth(String text)
{
NickHider mod = (NickHider) Athena.INSTANCE.getModuleManager().get(NickHider.class);
NickHider mod = (NickHider) Athena.INSTANCE.getModuleRepository().get(NickHider.class);
if (Athena.INSTANCE.getModuleManager().get(NickHider.class).isToggled()) {
if (Athena.INSTANCE.getModuleRepository().get(NickHider.class).isToggled()) {
if (Minecraft.getMinecraft().thePlayer != null) {
if (text.contains(Minecraft.getMinecraft().thePlayer.getName())) {
text = text.replace(Minecraft.getMinecraft().thePlayer.getName(), mod.nick);

View File

@ -5,11 +5,8 @@ import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.audio.SoundHandler;
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.utils.animations.simple.SimpleAnimation;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
import java.awt.*;

View File

@ -17,7 +17,7 @@ import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.render.Chat;
import rip.athena.client.modules.render.Chat;
public class GuiChat extends GuiScreen
{
@ -304,7 +304,7 @@ public class GuiChat extends GuiScreen
*/
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
Chat module = (Chat) Athena.INSTANCE.getModuleManager().get(Chat.class); // Get chat module
Chat module = (Chat) Athena.INSTANCE.getModuleRepository().get(Chat.class); // Get chat module
int color = (module.isToggled() ? new Color(0, 0, 0, module.transparency).getRGB() : Integer.MIN_VALUE); // If toggled on, take a peak at transparnecy

View File

@ -5,7 +5,7 @@ import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.EnumChatFormatting;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.ui.menu.AthenaMenu;
public class GuiGameOver extends GuiScreen implements GuiYesNoCallback
{

View File

@ -46,7 +46,7 @@ import optifine.CustomColors;
import rip.athena.client.Athena;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.modules.impl.mods.OldAnimations;
import rip.athena.client.modules.mods.OldAnimations;
public class GuiIngame extends Gui
{
@ -627,9 +627,9 @@ public class GuiIngame extends Gui
int i = MathHelper.ceiling_float_int(entityplayer.getHealth());
boolean flag = this.healthUpdateCounter > (long)this.updateCounter && (this.healthUpdateCounter - (long)this.updateCounter) / 3L % 2L == 1L;
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleManager().get(OldAnimations.class);
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleRepository().get(OldAnimations.class);
if(Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.DISABLE_HEALTH_FLASH) {
if(Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.DISABLE_HEALTH_FLASH) {
flag = false;
}

View File

@ -6,7 +6,9 @@ import net.minecraft.client.gui.achievement.GuiStats;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.resources.I18n;
import net.minecraft.realms.RealmsBridge;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.Athena;
import rip.athena.client.modules.render.GUIMod;
import rip.athena.client.ui.menu.AthenaMenu;
public class GuiIngameMenu extends GuiScreen
{
@ -23,7 +25,8 @@ public class GuiIngameMenu extends GuiScreen
this.buttonList.clear();
int i = -16;
int j = 98;
this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + i, I18n.format("menu.returnToMenu", new Object[0])));
this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 145 + i, I18n.format("menu.returnToMenu", new Object[0])));
this.buttonList.add(new GuiButton(69, this.width / 2 - 100, this.height / 4 + 120 + i, I18n.format("Athena Settings", new Object[0])));
if (!this.mc.isIntegratedServerRunning())
{
@ -91,6 +94,9 @@ public class GuiIngameMenu extends GuiScreen
case 7:
this.mc.displayGuiScreen(new GuiShareToLan(this));
break;
case 69:
Athena.INSTANCE.getModuleRepository().get(GUIMod.class).setEnabled(true);
}
}

View File

@ -2,7 +2,7 @@ package net.minecraft.client.gui;
import java.io.IOException;
import net.minecraft.client.resources.I18n;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.ui.menu.AthenaMenu;
public class GuiMemoryErrorScreen extends GuiScreen
{

View File

@ -14,9 +14,7 @@ import net.minecraft.util.MathHelper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import rip.athena.client.Athena;
import rip.athena.client.font.FontManager;
import rip.athena.client.modules.impl.render.Chat;
import rip.athena.client.utils.render.RoundedUtils;
import rip.athena.client.modules.render.Chat;
public class GuiNewChat extends Gui
{
@ -86,10 +84,9 @@ public class GuiNewChat extends Gui
int i2 = 0;
int j2 = -i1 * 9;
Chat module = (Chat) Athena.INSTANCE.getModuleManager().get(Chat.class);
RoundedUtils.drawRoundedRect(i2, j2 - 9, i2 + l + 4, j2, 6, new Color(1, 1, 1, module.transparency).getRGB());
Chat module = (Chat) Athena.INSTANCE.getModuleRepository().get(Chat.class);
drawRect(i2, j2 - 9, i2 + l + 4, j2, new Color(1, 1, 1, module.transparency).getRGB());
//drawRect(i2, j2 - 9, i2 + l + 4, j2, new Color(1, 1, 1, module.transparency).getRGB());
String s = chatline.getChatComponent().getFormattedText();
GlStateManager.color(1,1,1);
GlStateManager.enableBlend();
@ -169,7 +166,7 @@ public class GuiNewChat extends Gui
this.field_146253_i.add(0, new ChatLine(p_146237_3_, ichatcomponent, p_146237_2_));
}
Chat mod = (Chat) Athena.INSTANCE.getModuleManager().get(Chat.class);
Chat mod = (Chat) Athena.INSTANCE.getModuleRepository().get(Chat.class);
if(!mod.isToggled() && !mod.infiniteChat) {

View File

@ -1,7 +1,7 @@
package net.minecraft.client.model;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class ModelChest extends ModelBase
{
@ -37,7 +37,7 @@ public class ModelChest extends ModelBase
*/
public void renderAll()
{
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(mod.noBetterChests) {
this.chestBelow.render(0.0625F);

View File

@ -22,7 +22,6 @@ import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.gui.GuiDisconnected;
import net.minecraft.client.gui.GuiDownloadTerrain;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiMerchant;
import net.minecraft.client.gui.GuiMultiplayer;
import net.minecraft.client.gui.GuiScreen;
@ -211,7 +210,7 @@ import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.storage.MapData;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.ui.menu.AthenaMenu;
public class NetHandlerPlayClient implements INetHandlerPlayClient
{

View File

@ -8,7 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class EntityFX extends Entity
{
@ -197,7 +197,7 @@ public class EntityFX extends Entity
int i = 15728880;
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(!mod.STATIC_PARTICLE_COLOR) {
i = this.getBrightnessForRender(partialTicks);

View File

@ -13,7 +13,7 @@ import net.minecraft.world.IBlockAccess;
import optifine.CustomColors;
import optifine.RenderEnv;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class BlockFluidRenderer
{
@ -37,7 +37,7 @@ public class BlockFluidRenderer
public boolean renderFluid(IBlockAccess blockAccess, IBlockState blockStateIn, BlockPos blockPosIn, WorldRenderer worldRendererIn)
{
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(mod.noLagClearWater) {
return false;

View File

@ -22,7 +22,7 @@ import net.minecraft.world.WorldType;
import optifine.Config;
import optifine.Reflector;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import shadersmod.client.SVertexBuilder;
public class BlockRendererDispatcher implements IResourceManagerReloadListener
@ -113,7 +113,7 @@ public class BlockRendererDispatcher implements IResourceManagerReloadListener
case 3:
IBakedModel ibakedmodel = this.getModelFromBlockState(state, blockAccess, pos);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(state.getBlock() instanceof BlockReed && mod.noLagCane) {
if(Math.sqrt(Minecraft.getMinecraft().thePlayer.getPosition().distanceSq(pos.getX(),pos.getY(),pos.getZ())) >= 16) {

View File

@ -87,7 +87,7 @@ import org.lwjgl.util.glu.Project;
import rip.athena.client.Athena;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.modules.impl.mods.*;
import rip.athena.client.modules.mods.*;
import shadersmod.client.Shaders;
import shadersmod.client.ShadersRender;
@ -625,7 +625,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
if (flag)
{
Zoom zoom = (Zoom) Athena.INSTANCE.getModuleManager().get(Zoom.class);
Zoom zoom = (Zoom) Athena.INSTANCE.getModuleRepository().get(Zoom.class);
if (!Config.zoomMode)
{
@ -675,7 +675,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
private void hurtCameraEffect(float partialTicks)
{
if(Athena.INSTANCE.getModuleManager().get(NoHurtCam.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(NoHurtCam.class).isToggled()) {
return;
}
if (this.mc.getRenderViewEntity() instanceof EntityLivingBase)
@ -776,7 +776,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
f2 += 180.0F;
}
Freelook mod = (Freelook) Athena.INSTANCE.getModuleManager().get(Freelook.class);
Freelook mod = (Freelook) Athena.INSTANCE.getModuleRepository().get(Freelook.class);
if(mod.isToggled() && mod.perspectiveToggled) {
f1 = mod.getCameraYaw();
@ -832,7 +832,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
{
GlStateManager.translate(0.0F, 0.0F, -0.1F);
}
Freelook mod = (Freelook) Athena.INSTANCE.getModuleManager().get(Freelook.class);
Freelook mod = (Freelook) Athena.INSTANCE.getModuleRepository().get(Freelook.class);
if (Reflector.EntityViewRenderEvent_CameraSetup_Constructor.exists() || (mod.isToggled() && mod.perspectiveToggled))
{
@ -938,8 +938,8 @@ public class EntityRenderer implements IResourceManagerReloadListener
if (this.mc.gameSettings.viewBobbing)
{
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class).isToggled() && module.screenBobbing) {
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class).isToggled() && module.screenBobbing) {
} else {
this.setupViewBobbing(partialTicks);
}
@ -1002,9 +1002,9 @@ public class EntityRenderer implements IResourceManagerReloadListener
public void renderHand(float p_renderHand_1_, int p_renderHand_2_, boolean p_renderHand_3_, boolean p_renderHand_4_, boolean p_renderHand_5_)
{
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleManager().get(OldAnimations.class);
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleRepository().get(OldAnimations.class);
if(Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.OLD_EAT_USE_ANIMATION) {
if(Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.OLD_EAT_USE_ANIMATION) {
mod.attemptSwing();
}
@ -1042,8 +1042,8 @@ public class EntityRenderer implements IResourceManagerReloadListener
if (this.mc.gameSettings.viewBobbing)
{
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class).isToggled() && module.handBobbing) {
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class).isToggled() && module.handBobbing) {
} else {
this.setupViewBobbing(p_renderHand_1_);
}
@ -1086,8 +1086,8 @@ public class EntityRenderer implements IResourceManagerReloadListener
if (this.mc.gameSettings.viewBobbing)
{
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleManager().get(MinimalBobbing.class).isToggled() && module.handBobbing) {
MinimalBobbing module = (MinimalBobbing) Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class);
if(Athena.INSTANCE.getModuleRepository().get(MinimalBobbing.class).isToggled() && module.handBobbing) {
} else {
this.setupViewBobbing(p_renderHand_1_);
}
@ -1324,7 +1324,7 @@ public class EntityRenderer implements IResourceManagerReloadListener
Mouse.setGrabbed(true);
}
Freelook mod = Athena.INSTANCE.getModuleManager() == null ? null : (Freelook) Athena.INSTANCE.getModuleManager().get(Freelook.class);
Freelook mod = Athena.INSTANCE.getModuleRepository() == null ? null : (Freelook) Athena.INSTANCE.getModuleRepository().get(Freelook.class);
if(mod != null && mod.isToggled() && mod.perspectiveToggled) {
mod.overrideMouse();

View File

@ -31,7 +31,7 @@ import optifine.Reflector;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.mods.OldAnimations;
import rip.athena.client.modules.mods.OldAnimations;
import shadersmod.client.Shaders;
public class ItemRenderer
@ -348,7 +348,7 @@ public class ItemRenderer
else if (entityplayersp.getItemInUseCount() > 0)
{
EnumAction enumaction = this.itemToRender.getItemUseAction();
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleManager().get(OldAnimations.class);
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleRepository().get(OldAnimations.class);
switch (ItemRenderer.ItemRenderer$1.field_178094_a[enumaction.ordinal()])
{
@ -358,7 +358,7 @@ public class ItemRenderer
case 2:
case 3:
if(Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled()) {
this.func_178104_a(entityplayersp, partialTicks);
this.transformFirstPersonItem(f,f1);
} else {
@ -368,7 +368,7 @@ public class ItemRenderer
break;
case 4:
if(Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.OLD_BLOCKING_HITTING) {
if(Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.OLD_BLOCKING_HITTING) {
transformFirstPersonItem(f, f1);
this.func_178103_d();
GlStateManager.scale(0.83f, 0.88f, 0.85f);
@ -380,7 +380,7 @@ public class ItemRenderer
break;
case 5:
if(Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.OLD_BOW) {
if(Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.OLD_BOW) {
this.transformFirstPersonItem(f, f1);
this.func_178098_a(partialTicks, entityplayersp);
GlStateManager.translate(0.0F, 0.1F, -0.15F);

View File

@ -109,8 +109,8 @@ import org.lwjgl.opengl.GL11;
import org.lwjgl.util.vector.Vector3f;
import org.lwjgl.util.vector.Vector4f;
import rip.athena.client.Athena;
import rip.athena.client.gui.clickgui.pages.SettingsPage;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.ui.clickgui.pages.SettingsPage;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import shadersmod.client.Shaders;
import shadersmod.client.ShadersRender;
import shadersmod.client.ShadowUtils;
@ -777,7 +777,7 @@ public class RenderGlobal implements IWorldAccess, IResourceManagerReloadListene
continue;
}
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
boolean newRenderE = false;
int entDist = mod.noLagEntityDistance;
@ -908,7 +908,7 @@ public class RenderGlobal implements IWorldAccess, IResourceManagerReloadListene
Shaders.nextBlockEntity(tileentity);
}
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
int dist = mod.noLagBlockDistance;
boolean rdy = dist != 64;

View File

@ -24,8 +24,8 @@ import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.impl.fpssettings.impl.ThreadDownloadImageDataHook;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.impl.ThreadDownloadImageDataHook;
public class ThreadDownloadImageData extends SimpleTexture
{
@ -86,7 +86,7 @@ public class ThreadDownloadImageData extends SimpleTexture
{
if (this.bufferedImage == null && this.textureLocation != null)
{
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(mod.BETTER_SKIN_LOADING) {
ThreadDownloadImageDataHook.getImprovedCacheLoading(this);

View File

@ -23,7 +23,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class ChunkRenderDispatcher
{
@ -192,7 +192,7 @@ public class ChunkRenderDispatcher
public ChunkCompileTaskGenerator getNextChunkUpdate() throws InterruptedException
{
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if (mod.CHUNK_UPDATE_LIMITE_ENABLED) {
int limiter = mod.CHUNK_UPDATE_LIMITER;

View File

@ -9,7 +9,7 @@ import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import optifine.IntegerCache;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class VisGraph
{
@ -80,7 +80,7 @@ public class VisGraph
int i = ((Integer)arraydeque.poll()).intValue();
this.func_178610_a(i, enumset);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(mod.CULLING_FIX) {
if(p_178604_1_ < enumset.size()) {

View File

@ -24,8 +24,7 @@ import optifine.Config;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.other.NickHider;
import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.modules.other.Settings;
import rip.athena.client.socket.SocketClient;
import shadersmod.client.Shaders;

View File

@ -12,8 +12,8 @@ import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.impl.mods.ItemPhysics;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import rip.athena.client.modules.mods.ItemPhysics;
public class RenderEntityItem extends Render<EntityItem>
{
@ -46,7 +46,7 @@ public class RenderEntityItem extends Render<EntityItem>
float f2 = p_177077_9_.getItemCameraTransforms().getTransform(ItemCameraTransforms.TransformType.GROUND).scale.y;
GlStateManager.translate((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F * f2, (float)p_177077_6_);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(!mod.STATIC_DROPS) {
if (flag || this.renderManager.options != null) {
@ -118,7 +118,7 @@ public class RenderEntityItem extends Render<EntityItem>
int i = this.func_177077_a(entity, x, y, z, partialTicks, ibakedmodel);
int rotation = (int) (((System.nanoTime() / 3000000) + entity.getEntityId() * 10000) % 360);
if(Athena.INSTANCE.getModuleManager().get(ItemPhysics.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(ItemPhysics.class).isToggled()) {
if (entity.onGround) rotation = 90;
GL11.glRotatef(rotation / 2, 0, 1, 0);
GL11.glRotatef(rotation, 1, 0, 0);

View File

@ -104,7 +104,7 @@ import net.minecraft.world.World;
import optifine.PlayerItemsLayer;
import optifine.Reflector;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.mods.Freelook;
import rip.athena.client.modules.mods.Freelook;
public class RenderManager
{
@ -290,7 +290,7 @@ public class RenderManager
this.playerViewY += 180.0F;
}
Freelook mod = (Freelook) Athena.INSTANCE.getModuleManager().get(Freelook.class);
Freelook mod = (Freelook) Athena.INSTANCE.getModuleRepository().get(Freelook.class);
if (mod.isToggled() && mod.perspectiveToggled) {
this.playerViewY = mod.getCameraYaw();

View File

@ -15,7 +15,6 @@ import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.client.renderer.texture.DynamicTexture;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EnumPlayerModelParts;
@ -31,9 +30,8 @@ import org.apache.logging.log4j.Logger;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.events.types.render.RenderEntityEvent;
import rip.athena.client.modules.impl.other.NickHider;
import rip.athena.client.modules.impl.other.Settings;
import rip.athena.client.modules.impl.render.CustomHitColor;
import rip.athena.client.modules.other.Settings;
import rip.athena.client.modules.render.CustomHitColor;
import shadersmod.client.Shaders;
public abstract class RendererLivingEntity<T extends EntityLivingBase> extends Render<T>
@ -361,9 +359,9 @@ public abstract class RendererLivingEntity<T extends EntityLivingBase> extends R
if (flag1) {
CustomHitColor mod = (CustomHitColor) Athena.INSTANCE.getModuleManager().get(CustomHitColor.class);
CustomHitColor mod = (CustomHitColor) Athena.INSTANCE.getModuleRepository().get(CustomHitColor.class);
if(Athena.INSTANCE.getModuleManager().get(CustomHitColor.class).isToggled()) {
if(Athena.INSTANCE.getModuleRepository().get(CustomHitColor.class).isToggled()) {
this.brightnessBuffer.put(mod.color.getRed() / 255F);
this.brightnessBuffer.put(mod.color.getGreen() / 255F);
this.brightnessBuffer.put(mod.color.getBlue() / 255F);
@ -552,7 +550,7 @@ public abstract class RendererLivingEntity<T extends EntityLivingBase> extends R
{
if (!Reflector.RenderLivingEvent_Specials_Pre_Constructor.exists() || !Reflector.postForgeBusEvent(Reflector.RenderLivingEvent_Specials_Pre_Constructor, new Object[] {entity, this, Double.valueOf(x), Double.valueOf(y), Double.valueOf(z)}))
{
Settings settings = (Settings) Athena.INSTANCE.getModuleManager().get(Settings.class);
Settings settings = (Settings) Athena.INSTANCE.getModuleRepository().get(Settings.class);
if (this.canRenderName(entity) || settings.F5Nametags && entity instanceof EntityPlayer && entity == Minecraft.getMinecraft().thePlayer) {

View File

@ -1,18 +1,13 @@
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
public class
LayerCape implements LayerRenderer
{
private final RenderPlayer playerRenderer;
private static final String __OBFID = "CL_00002425";

View File

@ -13,7 +13,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.mods.OldAnimations;
import rip.athena.client.modules.mods.OldAnimations;
public class LayerHeldItem implements LayerRenderer<EntityLivingBase>
{
@ -43,11 +43,11 @@ public class LayerHeldItem implements LayerRenderer<EntityLivingBase>
//((ModelBiped)this.livingEntityRenderer.getMainModel()).postRenderArm(0.0625F);
//GlStateManager.translate(-0.0625F, 0.4375F, 0.0625F);
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleManager().get(OldAnimations.class);
OldAnimations mod = (OldAnimations) Athena.INSTANCE.getModuleRepository().get(OldAnimations.class);
Label_0327:
if (entitylivingbaseIn instanceof EntityPlayer) {
if (Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.OLD_BLOCKING) {
if (Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.OLD_BLOCKING) {
if (((EntityPlayer) entitylivingbaseIn).isBlocking()) {
if (entitylivingbaseIn.isSneaking()) {
((ModelBiped) livingEntityRenderer.getMainModel()).postRenderArm(0.0325f);
@ -69,7 +69,7 @@ public class LayerHeldItem implements LayerRenderer<EntityLivingBase>
} else {
((ModelBiped) livingEntityRenderer.getMainModel()).postRenderArm(0.0625f);
}
if (Athena.INSTANCE.getModuleManager().get(OldAnimations.class).isToggled() && mod.OLD_ITEM_HELD) {
if (Athena.INSTANCE.getModuleRepository().get(OldAnimations.class).isToggled() && mod.OLD_ITEM_HELD) {
if (!((EntityPlayer) entitylivingbaseIn).isBlocking()) {
GlStateManager.translate(-0.0855f, 0.4775f, 0.1585f);
GlStateManager.rotate(-19.0f, 20.0f, 0.0f, -6.0f);

View File

@ -6,7 +6,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.tileentity.MobSpawnerBaseLogic;
import net.minecraft.tileentity.TileEntityMobSpawner;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
public class TileEntityMobSpawnerRenderer extends TileEntitySpecialRenderer<TileEntityMobSpawner>
{
@ -23,7 +23,7 @@ public class TileEntityMobSpawnerRenderer extends TileEntitySpecialRenderer<Tile
*/
public static void renderMob(MobSpawnerBaseLogic mobSpawnerLogic, double posX, double posY, double posZ, float partialTicks)
{
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
OptimizerMod mod = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
if(mod.REMOVE_ENTITY_SPAWNER) return;
Entity entity = mobSpawnerLogic.func_180612_a(mobSpawnerLogic.getSpawnerWorld());

View File

@ -52,7 +52,7 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.mods.MouseDelayFix;
import rip.athena.client.modules.mods.MouseDelayFix;
public abstract class EntityLivingBase extends Entity
{
@ -2164,7 +2164,7 @@ public abstract class EntityLivingBase extends Entity
/*if (partialTicks == 1.0F) {
return this.getVectorForRotation(this.rotationPitch, this.rotationYawHead);
} else {*/
if (Athena.INSTANCE.getModuleManager().get(MouseDelayFix.class).isToggled()) {
if (Athena.INSTANCE.getModuleRepository().get(MouseDelayFix.class).isToggled()) {
if (this instanceof EntityPlayerSP) {
return super.getLook(partialTicks);
} else {

View File

@ -2,7 +2,6 @@ package net.minecraft.world.storage;
import java.util.concurrent.Callable;
import io.netty.handler.codec.http.multipart.AbstractHttpData;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
@ -12,7 +11,7 @@ import net.minecraft.world.GameRules;
import net.minecraft.world.WorldSettings;
import net.minecraft.world.WorldType;
import rip.athena.client.Athena;
import rip.athena.client.modules.impl.render.TimeChanger;
import rip.athena.client.modules.render.TimeChanger;
public class WorldInfo
{
@ -415,7 +414,7 @@ public class WorldInfo
*/
public long getWorldTime()
{
TimeChanger mod = (TimeChanger) Athena.INSTANCE.getModuleManager().get(TimeChanger.class);
TimeChanger mod = (TimeChanger) Athena.INSTANCE.getModuleRepository().get(TimeChanger.class);
return mod.isToggled() ? mod.time : this.worldTime;
}

View File

@ -1,4 +1,4 @@
package rip.athena.client.account;
package rip.athena.api.account;
import rip.athena.client.utils.animations.simple.SimpleAnimation;
import rip.athena.client.utils.time.TimerUtil;

View File

@ -1,10 +1,9 @@
package rip.athena.client.account;
package rip.athena.api.account;
import fr.litarvan.openauth.microsoft.MicrosoftAuthResult;
import fr.litarvan.openauth.microsoft.MicrosoftAuthenticationException;
import fr.litarvan.openauth.microsoft.MicrosoftAuthenticator;
import net.minecraft.client.Minecraft;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.Session;
import rip.athena.client.Athena;
@ -124,7 +123,7 @@ public class AccountManager {
a.setInfo("Loading...");
try {
mc.session = new Session(a.getUsername(), a.getUuid(), a.getToken(), "mojang");
a.setInfo("Success!");
a.setInfo("Success");
} catch (Exception e) {
e.printStackTrace();
a.setInfo("Error");

View File

@ -1,4 +1,4 @@
package rip.athena.client.account;
package rip.athena.api.account;
/**
* @author Athena Development

View File

@ -1,4 +1,4 @@
package rip.athena.client.config;
package rip.athena.api.config;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@ -1,4 +1,4 @@
package rip.athena.client.config;
package rip.athena.api.config;
import org.json.JSONObject;

View File

@ -1,4 +1,4 @@
package rip.athena.client.config.save;
package rip.athena.api.config.save;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
@ -7,15 +7,15 @@ import net.minecraft.util.EnumParticleTypes;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import rip.athena.api.module.Module;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
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;
import rip.athena.client.macros.Macro;
import rip.athena.client.modules.Module;
import rip.athena.client.modules.impl.render.Crosshair;
import rip.athena.client.ui.clickgui.pages.SettingsPage;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.api.macros.Macro;
import rip.athena.client.modules.render.Crosshair;
import rip.athena.client.theme.impl.AccentTheme;
import rip.athena.client.utils.StringUtils;
import rip.athena.client.utils.file.FileHandler;
@ -71,7 +71,7 @@ public class Config {
try {
JSONObject obj = new JSONObject(content);
for(Module mod : Athena.INSTANCE.getModuleManager().getModules()) {
for(Module mod : Athena.INSTANCE.getModuleRepository().getModules()) {
mod.setEnabled(false);
}
@ -87,7 +87,7 @@ public class Config {
continue;
}
Module module = Athena.INSTANCE.getModuleManager().getModule(key);
Module module = Athena.INSTANCE.getModuleRepository().getModule(key);
if(module == null) {
Athena.INSTANCE.getLog().warn("Loaded config " + name + " with left over setting " + key + " which is no longer used.");
@ -111,7 +111,7 @@ public class Config {
JSONObject settings = json.getJSONObject("settings");
for(String setting : settings.keySet()) {
for(ConfigEntry entry : module.getEntries()) {
for(AbstractConfigEntry entry : module.getEntries()) {
if(entry.getKey().equalsIgnoreCase(setting)) {
Object value = settings.get(setting);
@ -355,7 +355,7 @@ public class Config {
public String toString() {
JSONObject config = new JSONObject();
for(Module mod : Athena.INSTANCE.getModuleManager().getModules()) {
for(Module mod : Athena.INSTANCE.getModuleRepository().getModules()) {
JSONObject obj = new JSONObject();
JSONObject settingsObj = new JSONObject();
@ -376,7 +376,7 @@ public class Config {
obj.put("bind", mod.getKeyBind());
obj.put("bindtype", mod.getBindType().toString());
for(ConfigEntry entry : mod.getEntries()) {
for(AbstractConfigEntry entry : mod.getEntries()) {
entry.appendToConfig(entry.getKey(), entry.getValue(mod), settingsObj);
}

View File

@ -1,4 +1,4 @@
package rip.athena.client.config.save;
package rip.athena.api.config.save;
import rip.athena.client.Athena;
import rip.athena.client.utils.file.FileHandler;

View File

@ -1,4 +1,4 @@
package rip.athena.client.font;
package rip.athena.api.font;
import net.minecraft.client.renderer.GlStateManager;

View File

@ -1,4 +1,4 @@
package rip.athena.client.font;
package rip.athena.api.font;
import java.awt.*;
import java.io.InputStream;

View File

@ -1,4 +1,4 @@
package rip.athena.client.font;
package rip.athena.api.font;
import net.minecraft.client.Minecraft;
@ -6,7 +6,6 @@ import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StringUtils;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
import rip.athena.client.utils.render.DrawUtils;
import java.awt.*;

View File

@ -1,4 +1,4 @@
package rip.athena.client.macros;
package rip.athena.api.macros;
import lombok.Getter;
import lombok.Setter;

View File

@ -1,15 +1,13 @@
package rip.athena.client.macros;
package rip.athena.api.macros;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.client.Minecraft;
import rip.athena.client.Athena;
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 rip.athena.client.ui.clickgui.components.mods.MenuModKeybind;
import javax.crypto.Mac;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

View File

@ -0,0 +1,34 @@
package rip.athena.api.module;
import lombok.Getter;
/**
* The Category enum represents the categories of modules in the Athena Client.
* It provides predefined categories for organizing and classifying modules.
*
* @author Athena Development
* @project Athena-Client
* @date 6/1/2023
*/
@Getter
public enum EnumModuleType {
ALL_MODS(0, "ALL MODS",false),
MODS(1, "MODS",false),
RENDER(2, "RENDER",false),
FACTIONS(4, "FACTIONS",false),
OTHER(5, "OTHER",false),
HIDDEN(6, "", true),
FPS_SETTINGS(7, "",true);
private final int index;
private final String text;
private final boolean hidden;
EnumModuleType(int index, String text, boolean hidden) {
this.index = index;
this.text = text;
this.hidden = hidden;
}
}

View File

@ -1,14 +1,15 @@
package rip.athena.client.modules;
package rip.athena.api.module;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.client.Minecraft;
import org.lwjgl.input.Keyboard;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.config.types.*;
import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.config.AbstractConfigEntry;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.config.entries.*;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.input.BindType;
import java.lang.annotation.Annotation;
@ -34,12 +35,12 @@ public class Module {
public static Minecraft mc = Minecraft.getMinecraft();
private final Category category;
private final EnumModuleType category;
private final String name;
private String icon = "";
private boolean toggled;
private List<ConfigEntry> configEntries;
private List<AbstractConfigEntry> configEntries;
private List<HUDElement> hudElements;
private int keyBind = Keyboard.CHAR_NONE;
@ -47,24 +48,12 @@ public class Module {
/**
* Constructs a Module with the specified name and category.
*
* @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;
public Module() {
IModuleMetaData metaData = this.getClass().getAnnotation(IModuleMetaData.class);
this.name = metaData.name();
this.category = metaData.type();
this.icon = metaData.icon();
configEntries = new ArrayList<>();
hudElements = new ArrayList<>();
@ -124,7 +113,7 @@ public class Module {
*
* @return The list of config entries.
*/
public List<ConfigEntry> getEntries() {
public List<AbstractConfigEntry> getEntries() {
return configEntries;
}

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules;
package rip.athena.api.module;
import org.reflections.Reflections;
import rip.athena.client.Athena;
@ -16,14 +16,14 @@ import java.util.Set;
* @project Athena-Client
* @date 6/1/2023
*/
public class ModuleManager {
public class ModuleRepository {
private final HashMap<Class<? extends Module>, Module> modules = new HashMap<>();
/**
* Initializes the ModuleManager by scanning for module classes and creating instances.
*/
public ModuleManager() {
public ModuleRepository() {
Reflections reflections = new Reflections("rip.athena.client.modules");
Set<Class<? extends Module>> classes = reflections.getSubTypesOf(Module.class);

View File

@ -0,0 +1,16 @@
package rip.athena.api.module.annotations;
import rip.athena.api.module.EnumModuleType;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface IModuleMetaData {
String name();
String icon();
EnumModuleType type();
}

View File

@ -4,16 +4,16 @@ import lombok.Getter;
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.api.module.ModuleRepository;
import rip.athena.api.account.AccountManager;
import rip.athena.api.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;
import rip.athena.client.gui.hud.HUDManager;
import rip.athena.client.gui.notifications.NotificationManager;
import rip.athena.client.macros.MacroManager;
import rip.athena.client.modules.ModuleManager;
import rip.athena.client.ui.hud.HUDManager;
import rip.athena.client.ui.notifications.NotificationManager;
import rip.athena.api.macros.MacroManager;
import rip.athena.client.socket.SocketClient;
import rip.athena.client.theme.ThemeManager;
import rip.athena.client.utils.PrefixedLogger;
@ -48,7 +48,7 @@ public class Athena {
private final PrefixedLogger log = new PrefixedLogger("Athena");
private final String clientName = "Athena";
private final String clientName = "ATHENA";
private final String clientVersion = "0.0.3";
private final String clientBuild = "062623";
@ -56,7 +56,7 @@ public class Athena {
private CosmeticsController cosmeticsController;
private AccountManager accountManager;
private ConfigManager configManager;
private ModuleManager moduleManager;
private ModuleRepository moduleRepository;
private ThemeManager themeManager;
private MacroManager macroManager;
private HUDManager hudManager;
@ -75,7 +75,7 @@ public class Athena {
String os = System.getProperty("os.name");
if (os.toLowerCase().contains("win")) {
this.discordRPC = new DiscordRPC();
//this.discordRPC = new DiscordRPC();
}
createDirectoryIfNotExists(MAIN_DIR);
@ -88,7 +88,7 @@ public class Athena {
this.configManager = new ConfigManager(CONFIGS_DIR);
this.accountManager = new AccountManager();
this.moduleManager = new ModuleManager();
this.moduleRepository = new ModuleRepository();
this.themeManager = new ThemeManager();
this.macroManager = new MacroManager();
this.hudManager = new HUDManager();

View File

@ -2,6 +2,7 @@ package rip.athena.client.config;
import java.lang.reflect.Field;
import rip.athena.api.config.IConfigEntry;
import rip.athena.client.Athena;
/**
@ -9,13 +10,13 @@ import rip.athena.client.Athena;
* @project Athena-Client
* @date 6/6/2023
*/
public abstract class ConfigEntry implements IConfigEntry {
public abstract class AbstractConfigEntry implements IConfigEntry {
private Field field;
private String key;
private String description;
private boolean visible;
public ConfigEntry(Field field, String key, String description, boolean visible) {
public AbstractConfigEntry(Field field, String key, String description, boolean visible) {
this.field = field;
this.key = key;
this.description = description;

View File

@ -1,16 +1,16 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class BooleanEntry extends ConfigEntry {
public class BooleanEntry extends AbstractConfigEntry {
public BooleanEntry(Field field, String key, String description, boolean visible) {
super(field, key, description, visible);
}

View File

@ -1,18 +1,18 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.awt.Color;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class ColorEntry extends ConfigEntry {
public class ColorEntry extends AbstractConfigEntry {
public ColorEntry(Field field, String key, String description, boolean visible) {
super(field, key, description, visible);
}

View File

@ -1,17 +1,17 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class DoubleEntry extends ConfigEntry {
public class DoubleEntry extends AbstractConfigEntry {
private double min;
private double max;

View File

@ -1,17 +1,17 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class FloatEntry extends ConfigEntry {
public class FloatEntry extends AbstractConfigEntry {
private float min;
private float max;

View File

@ -1,17 +1,17 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class IntEntry extends ConfigEntry {
public class IntEntry extends AbstractConfigEntry {
private int min;
private int max;
private boolean isKeyBind;

View File

@ -1,20 +1,20 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONException;
import org.json.JSONObject;
import rip.athena.api.module.Module;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.modules.Module;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class ListEntry extends ConfigEntry {
public class ListEntry extends AbstractConfigEntry {
private Module module;
private String[] values;

View File

@ -1,17 +1,17 @@
package rip.athena.client.config.types;
package rip.athena.client.config.entries;
import java.lang.reflect.Field;
import org.json.JSONObject;
import rip.athena.client.config.ConfigEntry;
import rip.athena.client.config.AbstractConfigEntry;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/6/2023
*/
public class StringEntry extends ConfigEntry {
public class StringEntry extends AbstractConfigEntry {
public StringEntry(Field field, String key, String description, boolean visible) {
super(field, key, description, visible);
}

View File

@ -2,9 +2,7 @@ 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;

View File

@ -40,7 +40,7 @@ public class EventBus {
if(Event.class.isAssignableFrom(parameters[0])) {
registered.add(method);
} else if(DEBUG) {
debug("Tried subscribing to a event in class " + clazz.getClass().getName() + ", but the paramater " + parameters[0].getName() + " in method " + method.getName() + " isnt a subscribable event.");
debug("Tried subscribing to a event in class " + clazz.getClass().getName() + ", but the parameter " + parameters[0].getName() + " in method " + method.getName() + " isn't a subscribable event.");
}
}
}

View File

@ -1,54 +0,0 @@
package rip.athena.client.modules;
/**
* The Category enum represents the categories of modules in the Athena Client.
* It provides predefined categories for organizing and classifying modules.
*
* Example Usage:
* Category.MODS
* Category.RENDER
* Category.FPS_SETTINGS
*
* Example:
* Category.NEW_CATEGORY
*
* @author Athena Development
* @project Athena-Client
* @date 6/1/2023
*/
public enum Category {
ALL_MODS(0, "ALL MODS",false),
MODS(1, "MODS",false),
RENDER(2, "RENDER",false),
MOVEMENT(3, "MOVEMENT",false),
FACTIONS(4, "FACTIONS",false),
OTHER(5, "OTHER",false),
HIDDEN(6, "", true),
FPS_SETTINGS(7, "",true),
GROUPS(8, "",true);
private int index;
private String text;
private boolean hidden;
Category(int index, String text, boolean hidden) {
this.index = index;
this.text = text;
this.hidden = hidden;
}
public int getIndex() {
return index;
}
public String getText() {
return text;
}
public boolean isHidden() {
return hidden;
}
}

View File

@ -1,46 +1,48 @@
package rip.athena.client.modules.impl.fpssettings;
package rip.athena.client.modules.fpssettings;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/1/2023
*/
@IModuleMetaData(name = "Optimizer", type = EnumModuleType.FPS_SETTINGS, icon = "")
public class OptimizerMod extends Module {
@ConfigValue.Boolean(name = "Culling fix", description = "Fixes a bug which can cause chunks to not sometimes render, this can affect fps negatively.")
public boolean CULLING_FIX = true;
public boolean ENTITY_CULLING = true;
public boolean CULLING_FIX = false;
public boolean ENTITY_CULLING = false;
public int ENTITY_CULLING_INTERVAL = 0;
public boolean SMART_ENTITY_CULLING = true;
public boolean DONT_CULL_PLAYER_NAMETAGS = true;
public boolean DONT_CULL_ENTITY_NAMETAGS = true;
public boolean DONT_CULL_ARMOR_STANDS_NAMETAGS = true;
public boolean SMART_ENTITY_CULLING = false;
public boolean DONT_CULL_PLAYER_NAMETAGS = false;
public boolean DONT_CULL_ENTITY_NAMETAGS = false;
public boolean DONT_CULL_ARMOR_STANDS_NAMETAGS = false;
@ConfigValue.Boolean(name = "Static particle color", description = "Makes particles render at full brightness.")
public boolean STATIC_PARTICLE_COLOR = true;
public boolean STATIC_PARTICLE_COLOR = false;
@ConfigValue.Boolean(name = "Better skin loading", description = "Makes so skin loading should be less stuttery when you join servers.")
public boolean BETTER_SKIN_LOADING = true;
public boolean BETTER_SKIN_LOADING = false;
@ConfigValue.Boolean(name = "Remove light calculation", description = "Removes light calculations, rendering the game in full brightness.")
public boolean LIGHT_CALCULATION_REMOVAL = true;
public boolean LIGHT_CALCULATION_REMOVAL = false;
@ConfigValue.Boolean(name = "Chunk update limiter", description = "Enable a chunk update limiter to improve performance")
public boolean CHUNK_UPDATE_LIMITE_ENABLED = true;
public boolean CHUNK_UPDATE_LIMITE_ENABLED = false;
@ConfigValue.Integer(name = "Chunk updates per second", description = "Lower value, better fps.", min = 1, max = 250)
public int CHUNK_UPDATE_LIMITER = 50;
@ConfigValue.Boolean(name = "Remove mob spawner entity", description = "Removes the spinning entity inside of mob spawners.")
public boolean REMOVE_ENTITY_SPAWNER = true;
public boolean REMOVE_ENTITY_SPAWNER = false;
@ConfigValue.Boolean(name = "Static drops", description = "Items on ground no longer rotate.")
public boolean STATIC_DROPS = true;
public boolean FAST_WORLD_LOADING = true;
public boolean STATIC_DROPS = false;
public boolean FAST_WORLD_LOADING = false;
@ConfigValue.Boolean(name = "Custom Cane Renderer", description = "Only render cane in a certain radius to help FPS")
public boolean noLagCane = false;
@ -57,10 +59,6 @@ public class OptimizerMod extends Module {
@ConfigValue.Boolean(name = "Better Chests", description = "Disable render of knob/lid/reduce size of chests")
public boolean noBetterChests = false;
public OptimizerMod() {
super("Optimizer", Category.FPS_SETTINGS);
}
@Override
public void onEnable() {
super.onEnable();

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.fpssettings.impl;
package rip.athena.client.modules.fpssettings.impl;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
@ -20,7 +20,7 @@ import rip.athena.client.Athena;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.ClientTickEvent;
import rip.athena.client.events.types.render.RenderEntityEvent;
import rip.athena.client.modules.impl.fpssettings.OptimizerMod;
import rip.athena.client.modules.fpssettings.OptimizerMod;
import java.util.ArrayList;
import java.util.List;
@ -68,7 +68,7 @@ public class EntityCulling {
@SubscribeEvent
public void shouldRenderEntity(RenderEntityEvent<EntityLivingBase> event) {
if(settings == null) {
settings = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
settings = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
}
if(settings.SMART_ENTITY_CULLING && Config.isShaders()) {
@ -163,7 +163,7 @@ public class EntityCulling {
private void check() {
if(settings == null) {
settings = (OptimizerMod) Athena.INSTANCE.getModuleManager().get(OptimizerMod.class);
settings = (OptimizerMod) Athena.INSTANCE.getModuleRepository().get(OptimizerMod.class);
}
long delay = 0L;

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.fpssettings.impl;
package rip.athena.client.modules.fpssettings.impl;
import net.minecraft.client.renderer.ThreadDownloadImageData;
import net.minecraft.client.renderer.texture.SimpleTexture;

View File

@ -1,16 +0,0 @@
package rip.athena.client.modules.impl.mods;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
public class HitDelayFix extends Module {
public HitDelayFix() {
super("HitDelayFix", Category.MODS, "Athena/gui/mods/cps.png");
}
}

View File

@ -1,16 +0,0 @@
package rip.athena.client.modules.impl.mods;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/12/2023
*/
public class ItemPhysics extends Module {
public ItemPhysics() {
super("ItemPhysics", Category.MODS);
}
}

View File

@ -1,23 +0,0 @@
package rip.athena.client.modules.impl.mods;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/9/2023
*/
public class MinimalBobbing extends Module {
@ConfigValue.Boolean(name = "Remove Hand Bobbing")
public boolean handBobbing = true;
@ConfigValue.Boolean(name = "Remove Screen Bobbing")
public boolean screenBobbing = true;
public MinimalBobbing() {
super("Minimal Bobbing", Category.MODS, "Athena/gui/mods/nobobbing.png");
}
}

View File

@ -1,16 +0,0 @@
package rip.athena.client.modules.impl.mods;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
public class MouseDelayFix extends Module {
public MouseDelayFix() {
super("MouseDelayFix", Category.MODS, "Athena/gui/mods/cps.png");
}
}

View File

@ -1,16 +0,0 @@
package rip.athena.client.modules.impl.mods;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
public class NoHurtCam extends Module {
public NoHurtCam() {
super("NoHurtCam", Category.MODS, "Athena/gui/mods/nohurtcam.png");
}
}

View File

@ -1,20 +0,0 @@
package rip.athena.client.modules.impl.other;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/9/2023
*/
public class NickHider extends Module {
@ConfigValue.Text(name = "Nick", description = "Enter the name of your custom nickname")
public String nick = "Custom Nick";
public NickHider() {
super("Nick Hider", Category.OTHER, "Athena/gui/mods/nickhider.png");
}
}

View File

@ -1,22 +0,0 @@
package rip.athena.client.modules.impl.render;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import java.awt.*;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
public class CustomHitColor extends Module {
@ConfigValue.Color(name = "Hit Color", description = "Chose the color of your desires")
public Color color = Color.WHITE;
public CustomHitColor() {
super("Custom Hit Color", Category.RENDER, "Athena/gui/mods/hitcolor.png");
}
}

View File

@ -1,100 +0,0 @@
package rip.athena.client.modules.impl.render;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.resources.FallbackResourceManager;
import net.minecraft.client.resources.IResource;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.client.resources.SimpleReloadableResourceManager;
import net.minecraft.client.resources.data.IMetadataSection;
import net.minecraft.client.resources.data.IMetadataSerializer;
import net.minecraft.client.settings.GameSettings;
import net.minecraft.client.shader.Framebuffer;
import net.minecraft.util.ResourceLocation;
import org.apache.commons.io.IOUtils;
import org.lwjgl.opengl.GL11;
import rip.athena.client.Athena;
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.KeyDownEvent;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import static net.minecraft.client.resources.SimpleReloadableResourceManager.domainResourceManagers;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/2/2023
*/
public class MotionBlur extends Module {
@ConfigValue.Integer(name = "Amount", min = 1, max = 10)
public static int amount = 1;
public static float f;
public MotionBlur() {
super("Motion Blur", Category.RENDER, "Athena/gui/mods/motionblur.png");
}
public static void createAccumulation() {
float f = getAccumulationValue();
GL11.glAccum(GL11.GL_MULT, f);
GL11.glAccum(GL11.GL_ACCUM, 1.0F - f);
GL11.glAccum(GL11.GL_RETURN, 1.0F);
}
public static float getMultiplier() {
return amount * 10;
}
public static float getAccumulationValue() {
f = getMultiplier() * 10.0F;
long lastTimestampInGame = System.currentTimeMillis();
if (f > 996.0F) {
f = 996.0F;
}
if (f > 990.0F) {
f = 990.0F;
}
long i = System.currentTimeMillis() - lastTimestampInGame;
if (i > 10000L) {
return 0.0F;
} else {
if (f < 0.0F) {
f = 0.0F;
}
return f / 1000.0F;
}
}
@Override
public void onEnable() {
super.onEnable();
}
@Override
public void onDisable() {
super.onDisable();
}
}

View File

@ -1,20 +0,0 @@
package rip.athena.client.modules.impl.render;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/12/2023
*/
public class TimeChanger extends Module {
@ConfigValue.Integer(name = "Time", min = 1, max = 24000)
public int time = 16000;
public TimeChanger() {
super("Time Changer", Category.RENDER, "Athena/gui/mods/timechanger.png");
}
}

View File

@ -1,13 +1,14 @@
package rip.athena.client.modules.impl.mods;
package rip.athena.client.modules.mods;
import net.minecraft.client.Minecraft;
import org.lwjgl.opengl.Display;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.input.KeyDownEvent;
import rip.athena.client.events.types.input.KeyUpEvent;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.client.utils.input.KeybindManager;
/**
@ -15,6 +16,8 @@ import rip.athena.client.utils.input.KeybindManager;
* @project Athena-Client
* @date 6/3/2023
*/
@IModuleMetaData(name = "Freelook", type = EnumModuleType.MODS, icon = "")
public class Freelook extends Module {
@ConfigValue.Boolean(name = "Require Hold")
@ -28,11 +31,6 @@ public class Freelook extends Module {
public static float cameraYaw, cameraPitch = 0F;
public Freelook() {
super("Freelook", Category.MODS, "Athena/gui/mods/freelook.png");
}
@SubscribeEvent
public void onKeyPress(KeyDownEvent event) {
if(KeybindManager.isInvalidScreen(mc.currentScreen)) return;

View File

@ -0,0 +1,14 @@
package rip.athena.client.modules.mods;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Hit Delay Fix", type = EnumModuleType.MODS, icon = "Athena/gui/mods/cps.png")
public class HitDelayFix extends Module {
}

View File

@ -0,0 +1,14 @@
package rip.athena.client.modules.mods;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/12/2023
*/
@IModuleMetaData(name = "Item Physics", type = EnumModuleType.MODS, icon = "")
public class ItemPhysics extends Module {
}

View File

@ -0,0 +1,22 @@
package rip.athena.client.modules.mods;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/9/2023
*/
@IModuleMetaData(name = "Minimal Bobbing", type = EnumModuleType.MODS, icon = "Athena/gui/mods/nobobbing.png")
public class MinimalBobbing extends Module {
@ConfigValue.Boolean(name = "Remove Hand Bobbing")
public boolean handBobbing = true;
@ConfigValue.Boolean(name = "Remove Screen Bobbing")
public boolean screenBobbing = true;
}

View File

@ -0,0 +1,14 @@
package rip.athena.client.modules.mods;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Mouse Delay Fix", type = EnumModuleType.MODS, icon = "Athena/gui/mods/cps.png")
public class MouseDelayFix extends Module {
}

View File

@ -0,0 +1,14 @@
package rip.athena.client.modules.mods;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "No Hurt Cam", type = EnumModuleType.MODS, icon = "Athena/gui/mods/nohurtcam.png")
public class NoHurtCam extends Module {
}

View File

@ -1,17 +1,19 @@
package rip.athena.client.modules.impl.mods;
package rip.athena.client.modules.mods;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.potion.Potion;
import net.minecraft.util.MovingObjectPosition;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "1.7 Animations", type = EnumModuleType.MODS, icon = "Athena/gui/mods/animation.png")
public class OldAnimations extends Module {
@ConfigValue.Boolean(name = "Blocking")
@ -35,10 +37,6 @@ public class OldAnimations extends Module {
@ConfigValue.Boolean(name = "Disable Health Flash")
public boolean DISABLE_HEALTH_FLASH = true;
public OldAnimations() {
super("Old Animations", Category.MODS, "Athena/gui/mods/animation.png");
}
public void attemptSwing() {
if (this.mc.thePlayer.getHeldItem() != null && this.isToggled() && OLD_EAT_USE_ANIMATION) {
boolean mouseDown = this.mc.gameSettings.keyBindAttack.isKeyDown()

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.mods;
package rip.athena.client.modules.mods;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
@ -6,11 +6,12 @@ import net.minecraft.client.gui.Gui;
import net.minecraft.client.settings.GameSettings;
import net.minecraft.util.MovementInputFromOptions;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.font.FontManager;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
@ -24,6 +25,7 @@ import java.text.DecimalFormat;
* @project Athena-Client
* @date 6/9/2023
*/
@IModuleMetaData(name = "Toggle Sprint", type = EnumModuleType.MODS, icon = "Athena/gui/mods/entityhud.png")
public class ToggleSprint extends Module {
@ConfigValue.List(name = "Display Mode", values = {"Circle", "Modern", "Fade", "Old"}, description = "Chose display of background")
@ -85,7 +87,6 @@ public class ToggleSprint extends Module {
private int height = 10;
public ToggleSprint() {
super("ToggleSprint", Category.MODS, "Athena/gui/mods/entityhud.png");
hud = new HUDElement("togglesprint", width, height) {
@Override
public void onRender() {

View File

@ -1,18 +1,20 @@
package rip.athena.client.modules.impl.mods;
package rip.athena.client.modules.mods;
import optifine.Config;
import org.lwjgl.input.Mouse;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.ClientTickEvent;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Zoom", type = EnumModuleType.MODS, icon = "Athena/gui/mods/zoom.png")
public class Zoom extends Module {
@ConfigValue.Boolean(name = "Smooth Zoom")
public boolean smoothZoom = false;
@ -28,10 +30,6 @@ public class Zoom extends Module {
public float scrollAmount = 0;
public Zoom() {
super("Zoom", Category.MODS, "Athena/gui/mods/zoom.png");
}
@SubscribeEvent
public void onTick(ClientTickEvent event) {
if (Config.zoomMode) {
@ -59,5 +57,4 @@ public class Zoom extends Module {
}
}
}
}

View File

@ -1,21 +1,20 @@
package rip.athena.client.modules.impl.other;
package rip.athena.client.modules.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.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.ClientTickEvent;
import rip.athena.client.events.types.entity.AttackEntityEvent;
import rip.athena.client.events.types.input.MouseDownEvent;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.NumberUtils;
import rip.athena.client.utils.font.FontManager;
import rip.athena.client.utils.render.ColorUtil;
@ -23,8 +22,6 @@ import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
import java.awt.*;
import java.text.DecimalFormat;
import java.text.Format;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@ -34,6 +31,7 @@ import java.util.UUID;
* @project Athena-Client
* @date 6/10/2023
*/
@IModuleMetaData(name = "Aim Trainer", type = EnumModuleType.OTHER, icon = "Athena/gui/mods/time.png")
public class AimTrainer extends Module {
@ConfigValue.List(name = "Display Mode", values = {"Circle", "Modern", "Fade", "Old"}, description = "Chose display of background")
@ -80,8 +78,6 @@ public class AimTrainer extends Module {
private int height = 18;
public AimTrainer() {
super("Aim Trainer", Category.RENDER, "Athena/gui/mods/time.png");
hud = new HUDElement("time", width, height) {
@Override
public void onRender() {

View File

@ -0,0 +1,18 @@
package rip.athena.client.modules.other;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/9/2023
*/
@IModuleMetaData(name = "Nick Hider", type = EnumModuleType.OTHER, icon = "Athena/gui/mods/nickhider.png")
public class NickHider extends Module {
@ConfigValue.Text(name = "Nick", description = "Enter the name of your custom nickname")
public String nick = "Custom Nick";
}

View File

@ -1,11 +1,11 @@
package rip.athena.client.modules.impl.other;
package rip.athena.client.modules.other;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import java.awt.*;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
@IModuleMetaData(name = "General Settings", type = EnumModuleType.OTHER, icon = "Athena/gui/mods/fps.png")
public class Settings extends Module {
@ConfigValue.Boolean(name = "F5 Nametags", description = "Shows your own nametags in f5 mode")
@ -17,10 +17,6 @@ public class Settings extends Module {
@ConfigValue.Boolean(name = "Custom GUI Font")
public static boolean customGuiFont = true;
public Settings() {
super("General Settings", Category.HIDDEN, "Athena/gui/mods/fps.png");
}
@Override
public void onEnable() {
super.onEnable();

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
@ -7,11 +7,11 @@ import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import org.lwjgl.opengl.GL11;
import rip.athena.client.config.ConfigValue;
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.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.ui.hud.HUDElement;
import java.awt.*;
@ -20,6 +20,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Armor Status", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/armorstatus.png")
public class ArmorStatus extends Module {
@ConfigValue.Boolean(name = "Item Name")
private boolean armorstatusitemname = false;
@ -50,8 +51,6 @@ public class ArmorStatus extends Module {
private int armorstatusheight = 10;
public ArmorStatus() {
super("Armor Status", Category.RENDER, "Athena/gui/mods/armorstatus.png");
hud = new HUDElement("armorstatus", armorstatuswidth, armorstatusheight) {
@Override
public void onRender() {

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.GlStateManager;
@ -10,15 +10,17 @@ import net.minecraft.util.BlockPos;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.MovingObjectPosition.MovingObjectType;
import org.lwjgl.opengl.GL11;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
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.modules.Category;
import rip.athena.client.modules.Module;
import java.awt.*;
@IModuleMetaData(name = "Block Overlay", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/blockoverlay.png")
public class BlockOverlay extends Module {
@ConfigValue.List(name = "Mode", values = { "Outline", "Highlight", "Both" })
private String mode = "Outline";
@ -35,10 +37,6 @@ public class BlockOverlay extends Module {
@ConfigValue.Boolean(name = "Chroma")
private boolean isUsingChroma = false;
public BlockOverlay() {
super("Block Overlay", Category.RENDER, "Athena/gui/mods/blockoverlay.png");
}
@SubscribeEvent
public void onWorldRenderLast(RenderEvent event) {
if (event.getRenderType() != RenderType.WORLD) {

View File

@ -1,15 +1,16 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.input.MouseDownEvent;
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.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.ClickCounter;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
@ -22,6 +23,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "CPS", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/cps.png")
public class CPS extends Module {
private final ClickCounter leftClickCounter = new ClickCounter();
@ -60,8 +62,6 @@ public class CPS extends Module {
private int height = 18;
public CPS() {
super("CPS", Category.RENDER, "Athena/gui/mods/cps.png");
hud = new HUDElement("cps", width, height) {
@Override
public void onRender() { render(); }

View File

@ -1,14 +1,16 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/3/2023
*/
@IModuleMetaData(name = "Chat", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/chat.png")
public class Chat extends Module {
@ConfigValue.Boolean(name = "Infinite Chat")
@ -17,10 +19,6 @@ public class Chat extends Module {
@ConfigValue.Integer(name = "Background Opacity", min = 0, max = 255)
public int transparency = 96; // close enough to default opacity
public Chat() {
super("Chat", Category.RENDER, "Athena/gui/mods/chat.png");
}
@Override
public void onEnable() {
super.onEnable();

View File

@ -1,15 +1,13 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.GlStateManager;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.font.FontManager;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
@ -26,6 +24,7 @@ import static rip.athena.client.utils.render.DrawUtils.drawCircle;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Clock", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/time.png")
public class Clock extends Module {
@ConfigValue.Color(name = "Color")
private Color color = Color.WHITE;
@ -63,8 +62,6 @@ public class Clock extends Module {
private int height = 18;
public Clock() {
super("Clock", Category.RENDER, "Athena/gui/mods/time.png");
hud = new HUDElement("time", width, height) {
@Override
public void onRender() {

View File

@ -1,7 +1,6 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.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;
@ -14,14 +13,15 @@ import net.minecraft.client.resources.model.IBakedModel;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.input.KeyDownEvent;
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.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -33,6 +33,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Coordinates", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/coordinates.png")
public class Coordinates extends Module {
@ConfigValue.Boolean(name = "Show Compass")
private boolean showCompass = true;
@ -99,8 +100,6 @@ public class Coordinates extends Module {
private HUDElement hud;
public Coordinates() {
super("Coordinates", Category.RENDER, "Athena/gui/mods/coordinates.png");
hud = new HUDElement("coordinates", 70, 30) {
@Override
public void onRender() {

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
@ -8,13 +8,14 @@ import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.texture.DynamicTexture;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Mouse;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.ClientTickEvent;
import rip.athena.client.events.types.render.RenderEvent;
import rip.athena.client.events.types.render.RenderType;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import java.awt.*;
import java.awt.image.BufferedImage;
@ -25,6 +26,7 @@ import java.awt.image.BufferedImage;
* @date 6/2/2023
*/
@IModuleMetaData(name = "Crosshair", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/crosshair.png")
public class Crosshair extends Module {
@ConfigValue.Color(name = "Draw color")
private Color color = Color.RED;
@ -60,7 +62,6 @@ public class Crosshair extends Module {
int groupContainerColor = new Color(35, 35, 35, 255).getRGB();
public Crosshair() {
super("Crosshair", Category.RENDER, "Athena/gui/mods/crosshair.png");
crosshair = new int[84][74];
}

View File

@ -0,0 +1,21 @@
package rip.athena.client.modules.render;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import java.awt.*;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Custom Hit Color", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/hitcolor.png")
public class CustomHitColor extends Module {
@ConfigValue.Color(name = "Hit Color", description = "Chose the color of your desires")
public Color color = Color.WHITE;
}

View File

@ -1,13 +1,14 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
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.api.config.ConfigValue;
import rip.athena.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -19,6 +20,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Custom Text", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/customtext.png")
public class CustomText extends Module {
@ConfigValue.Text(name = "Custom Text", description = "Enter choice of text to display")
@ -51,9 +53,8 @@ public class CustomText extends Module {
private HUDElement hud;
private int width = 56;
private int height = 18;
public CustomText() {
super("Custom Text", Category.RENDER, "Athena/gui/mods/customtext.png");
public CustomText() {
hud = new HUDElement("customtext", width, height) {
@Override
public void onRender() {

View File

@ -1,13 +1,14 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
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.api.config.ConfigValue;
import rip.athena.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -19,6 +20,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Entity HUD", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/entityhud.png")
public class EntityHUD extends Module {
@ConfigValue.List(name = "Display Mode", values = {"Circle", "Modern", "Fade", "Old"}, description = "Chose display of background")
@ -50,8 +52,6 @@ public class EntityHUD extends Module {
private int height = 18;
public EntityHUD() {
super("Entity HUD", Category.RENDER, "Athena/gui/mods/entityhud.png");
hud = new HUDElement("entityhud", width, height) {
@Override
public void onRender() {

View File

@ -1,33 +1,26 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.GlStateManager;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
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.font.FontUtils;
import rip.athena.client.gui.hud.HUDElement;
import rip.athena.client.gui.menu.AthenaMenu;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
import java.awt.*;
import static org.lwjgl.opengl.GL11.GL_GREATER;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/1/2023
*/
@IModuleMetaData(name = "FPS", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/fps.png")
public class FPSMod extends Module {
@ConfigValue.List(name = "Display Mode", values = {"Circle", "Modern", "Fade", "Old"}, description = "Chose display of background")
@ -59,8 +52,6 @@ public class FPSMod extends Module {
private int height = 18;
public FPSMod() {
super("FPS", Category.RENDER, "Athena/gui/mods/fps.png");
hud = new HUDElement("fps", width, height) {
@Override
public void onRender() {

View File

@ -1,23 +1,19 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.ClientTickEvent;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/26/2023
*/
@IModuleMetaData(name = "Fullbright", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/fullbright.png")
public class Fullbright extends Module {
private float savedBrightness = 0F;
public Fullbright() {
super("Fullbright", Category.RENDER, "Athena/gui/mods/fullbright.png");
}
@Override
public void onEnable() {
savedBrightness = mc.gameSettings.gammaSetting;

View File

@ -1,16 +1,18 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import org.lwjgl.input.Keyboard;
import rip.athena.client.gui.framework.Menu;
import rip.athena.client.gui.clickgui.IngameMenu;
import rip.athena.client.modules.Category;
import rip.athena.client.modules.Module;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.ui.framework.Menu;
import rip.athena.client.ui.clickgui.IngameMenu;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/1/2023
*/
@IModuleMetaData(name = "GUI", type = EnumModuleType.HIDDEN, icon = "Athena/gui/mods/chat.png")
public class GUIMod extends Module {
private int width = 1035;
@ -20,7 +22,6 @@ public class GUIMod extends Module {
private Menu menu;
public GUIMod() {
super("GUI", Category.HIDDEN);
setKeyBind(Keyboard.KEY_RSHIFT);
menu = new Menu("", width, height);

View File

@ -1,13 +1,13 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import org.lwjgl.opengl.GL11;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.input.MouseDownEvent;
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.ui.hud.HUDElement;
import rip.athena.client.utils.ClickCounter;
import rip.athena.client.utils.render.DrawUtils;
@ -18,6 +18,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Keystrokes", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/keystrokes.png")
public class Keystrokes extends Module {
@ConfigValue.Boolean(name = "Show CPS")
@ -55,8 +56,6 @@ public class Keystrokes extends Module {
private final ClickCounter rightClickCounter = new ClickCounter();
public Keystrokes() {
super("Key Strokes", Category.RENDER, "Athena/gui/mods/keystrokes.png");
hud = new HUDElement("keystrokes", width, height) {
@Override
public void onRender() {

View File

@ -1,13 +1,14 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
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.api.config.ConfigValue;
import rip.athena.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -19,6 +20,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Memory Usage", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/memory.png")
public class MemoryUsage extends Module {
@ConfigValue.Boolean(name = "Percentage", description = "Show memory usage in percentage.")
private boolean percentage = false;
@ -52,8 +54,6 @@ public class MemoryUsage extends Module {
private int height = 18;
public MemoryUsage() {
super("Memory usage", Category.RENDER, "Athena/gui/mods/memory.png");
hud = new HUDElement("memory usage", width, height) {
@Override
public void onRender() {

View File

@ -0,0 +1,67 @@
package rip.athena.client.modules.render;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.config.ConfigValue;
import rip.athena.api.module.annotations.IModuleMetaData;
/**
* @author Athena Development
* @project Athena-Client
* @date 6/2/2023
*/
@IModuleMetaData(name = "Motion Blur", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/motionblur.png")
public class MotionBlur extends Module {
@ConfigValue.Integer(name = "Amount", min = 1, max = 10)
public static int amount = 1;
public static float f;
public static void createAccumulation() {
float f = getAccumulationValue();
GL11.glAccum(GL11.GL_MULT, f);
GL11.glAccum(GL11.GL_ACCUM, 1.0F - f);
GL11.glAccum(GL11.GL_RETURN, 1.0F);
}
public static float getMultiplier() {
return amount * 10;
}
public static float getAccumulationValue() {
f = getMultiplier() * 10.0F;
long lastTimestampInGame = System.currentTimeMillis();
if (f > 996.0F) {
f = 996.0F;
}
if (f > 990.0F) {
f = 990.0F;
}
long i = System.currentTimeMillis() - lastTimestampInGame;
if (i > 10000L) {
return 0.0F;
} else {
if (f < 0.0F) {
f = 0.0F;
}
return f / 1000.0F;
}
}
@Override
public void onEnable() {
super.onEnable();
}
@Override
public void onDisable() {
super.onDisable();
}
}

View File

@ -1,4 +1,4 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.render;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.texture.DynamicTexture;
@ -7,14 +7,15 @@ import net.minecraft.client.resources.IResourcePack;
import net.minecraft.client.resources.ResourcePackRepository;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
import rip.athena.api.config.ConfigValue;
import rip.athena.client.events.SubscribeEvent;
import rip.athena.client.events.types.client.SwitchTextureEvent;
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.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -27,6 +28,7 @@ import java.util.List;
* @project Athena-Client
* @date 6/12/2023
*/
@IModuleMetaData(name = "Pack Display", type = EnumModuleType.RENDER, icon = "")
public class PackDisplay extends Module {
@ConfigValue.List(name = "Display Mode", values = {"Circle", "Modern", "Fade", "Old"}, description = "Chose display of background")
@ -63,8 +65,6 @@ public class PackDisplay extends Module {
private int height = 48;
public PackDisplay() {
super("PackDisplay", Category.RENDER);
hud = new HUDElement("packdisplay", width, height) {
@Override
public void onRender() {

View File

@ -1,18 +1,15 @@
package rip.athena.client.modules.impl.render;
package rip.athena.client.modules.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;
import net.minecraft.util.FoodStats;
import org.lwjgl.opengl.GL11;
import rip.athena.api.module.EnumModuleType;
import rip.athena.api.module.Module;
import rip.athena.api.module.annotations.IModuleMetaData;
import rip.athena.client.Athena;
import rip.athena.client.config.ConfigValue;
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.api.config.ConfigValue;
import rip.athena.api.font.FontManager;
import rip.athena.client.ui.hud.HUDElement;
import rip.athena.client.utils.render.ColorUtil;
import rip.athena.client.utils.render.DrawUtils;
import rip.athena.client.utils.render.RoundedUtils;
@ -24,6 +21,7 @@ import java.awt.*;
* @project Athena-Client
* @date 6/4/2023
*/
@IModuleMetaData(name = "Potion Counter", type = EnumModuleType.RENDER, icon = "Athena/gui/mods/potion.png")
public class PotCounter extends Module {
@ConfigValue.Color(name = "Color")
@ -59,8 +57,6 @@ public class PotCounter extends Module {
private int counter = 0;
public PotCounter() {
super("Pot Counter", Category.RENDER, "Athena/gui/mods/potion.png");
hud = new HUDElement("potioncounter", width, height) {
@Override
public void onRender() {

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