mirror of
https://github.com/Athena-Operations/Athena-Client.git
synced 2024-11-09 19:51:32 +01:00
updated alt manager, reworked module repository
This commit is contained in:
parent
29a37bb0bb
commit
d00d523e63
@ -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();
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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.*;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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) {
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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()) {
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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) {
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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);
|
||||
|
@ -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());
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
@ -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");
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.account;
|
||||
package rip.athena.api.account;
|
||||
|
||||
/**
|
||||
* @author Athena Development
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.config;
|
||||
package rip.athena.api.config;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.config;
|
||||
package rip.athena.api.config;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.font;
|
||||
package rip.athena.api.font;
|
||||
|
||||
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.font;
|
||||
package rip.athena.api.font;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.InputStream;
|
@ -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.*;
|
@ -1,4 +1,4 @@
|
||||
package rip.athena.client.macros;
|
||||
package rip.athena.api.macros;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
@ -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;
|
||||
|
34
src/main/java/rip/athena/api/module/EnumModuleType.java
Normal file
34
src/main/java/rip/athena/api/module/EnumModuleType.java
Normal 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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
@ -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();
|
||||
|
@ -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;
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
@ -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;
|
||||
|
||||
|
@ -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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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();
|
@ -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;
|
@ -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;
|
@ -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");
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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;
|
@ -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 {
|
||||
}
|
@ -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 {
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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 {
|
||||
}
|
14
src/main/java/rip/athena/client/modules/mods/NoHurtCam.java
Normal file
14
src/main/java/rip/athena/client/modules/mods/NoHurtCam.java
Normal 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 {
|
||||
}
|
@ -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()
|
@ -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() {
|
@ -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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -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() {
|
18
src/main/java/rip/athena/client/modules/other/NickHider.java
Normal file
18
src/main/java/rip/athena/client/modules/other/NickHider.java
Normal 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";
|
||||
}
|
@ -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();
|
@ -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() {
|
@ -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) {
|
@ -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(); }
|
@ -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();
|
@ -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() {
|
@ -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() {
|
@ -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];
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
}
|
@ -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() {
|
@ -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() {
|
@ -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() {
|
@ -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;
|
@ -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);
|
@ -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() {
|
@ -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() {
|
@ -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();
|
||||
}
|
||||
}
|
@ -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() {
|
@ -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
Loading…
Reference in New Issue
Block a user