11package io .github .axolotlclient ;
22
33import com .mojang .blaze3d .platform .GlStateManager ;
4+ import io .github .axolotlclient .AxolotlclientConfig .ConfigManager ;
5+ import io .github .axolotlclient .AxolotlclientConfig .options .BooleanOption ;
6+ import io .github .axolotlclient .AxolotlclientConfig .options .OptionCategory ;
47import io .github .axolotlclient .config .AxolotlClientConfig ;
5- import io .github .axolotlclient .config .Color ;
6- import io .github .axolotlclient .config .ConfigManager ;
7- import io .github .axolotlclient .config .options .BooleanOption ;
8- import io .github .axolotlclient .config .options .OptionCategory ;
8+ import io .github .axolotlclient .config .AxolotlClientConfigManager ;
99import io .github .axolotlclient .modules .AbstractModule ;
10+ import io .github .axolotlclient .modules .ModuleLoader ;
1011import io .github .axolotlclient .modules .freelook .Freelook ;
1112import io .github .axolotlclient .modules .hud .HudManager ;
1213import io .github .axolotlclient .modules .hypixel .HypixelMods ;
1617import io .github .axolotlclient .modules .rpc .DiscordRPC ;
1718import io .github .axolotlclient .modules .screenshotUtils .ScreenshotUtils ;
1819import io .github .axolotlclient .modules .scrollableTooltips .ScrollableTooltips ;
20+ import io .github .axolotlclient .modules .sky .SkyResourceManager ;
1921import io .github .axolotlclient .modules .tnttime .TntTime ;
2022import io .github .axolotlclient .modules .zoom .Zoom ;
2123import io .github .axolotlclient .util .FeatureDisabler ;
24+ import io .github .axolotlclient .util .Logger ;
2225import net .fabricmc .api .ClientModInitializer ;
2326import net .fabricmc .loader .api .FabricLoader ;
27+ import net .legacyfabric .fabric .api .client .event .lifecycle .v1 .ClientTickEvents ;
2428import net .minecraft .client .MinecraftClient ;
2529import net .minecraft .client .gui .DrawableHelper ;
2630import net .minecraft .entity .Entity ;
2731import net .minecraft .entity .player .PlayerEntity ;
2832import net .minecraft .resource .Resource ;
29- import net .minecraft .resource .ResourcePack ;
3033import net .minecraft .util .Identifier ;
31- import org .apache .logging .log4j .LogManager ;
32- import org .apache .logging .log4j .Logger ;
3334
3435import java .nio .file .Path ;
3536import java .util .*;
3637
3738
3839public class AxolotlClient implements ClientModInitializer {
3940
40- public static Logger LOGGER = LogManager . getLogger ( "AxolotlClient" ) ;
41+ public static String modid = "AxolotlClient" ;
4142
4243 public static AxolotlClientConfig CONFIG ;
43- public static String onlinePlayers = "" ;
44- public static String otherPlayers = "" ;
44+ public static ConfigManager configManager ;
45+ public static HashMap < UUID , Boolean > playerCache = new HashMap <>() ;
4546
46- public static List <ResourcePack > packs = new ArrayList <>();
4747 public static HashMap <Identifier , Resource > runtimeResources = new HashMap <>();
4848
49- public static boolean initalized = false ;
50-
5149 public static final Identifier badgeIcon = new Identifier ("axolotlclient" , "textures/badge.png" );
5250
5351 public static final OptionCategory config = new OptionCategory ("storedOptions" );
@@ -60,16 +58,16 @@ public class AxolotlClient implements ClientModInitializer {
6058 public void onInitializeClient () {
6159 CONFIG = new AxolotlClientConfig ();
6260 config .add (someNiceBackground );
63- config .add (CONFIG .rotateWorld );
6461
6562 getModules ();
63+ addExternalModules ();
6664 CONFIG .init ();
6765 modules .forEach (AbstractModule ::init );
6866
6967 CONFIG .config .addAll (CONFIG .getCategories ());
7068 CONFIG .config .add (config );
7169
72- ConfigManager . load ( );
70+ io . github . axolotlclient . AxolotlclientConfig . AxolotlClientConfigManager . registerConfig ( modid , CONFIG , configManager = new AxolotlClientConfigManager () );
7371
7472 modules .forEach (AbstractModule ::lateInit );
7573
@@ -78,12 +76,19 @@ public void onInitializeClient() {
7876 optional .ifPresent (path -> MinecraftClient .getInstance ().getResourcePackLoader ().method_10366 (path .toFile ()));
7977 });
8078
79+ ClientTickEvents .END_CLIENT_TICK .register (client -> tickClient ());
80+
8181 FeatureDisabler .init ();
8282
83- LOGGER .info ("AxolotlClient Initialized" );
83+ if (CONFIG .debugLogOutput .get ()){
84+ Logger .debug ("Debug Output enabled, Logs will be quite verbose!" );
85+ }
86+
87+ Logger .info ("AxolotlClient Initialized" );
8488 }
8589
86- public static void getModules (){
90+ private static void getModules (){
91+ modules .add (SkyResourceManager .getInstance ());
8792 modules .add (Zoom .getInstance ());
8893 modules .add (HudManager .getInstance ());
8994 modules .add (HypixelMods .getInstance ());
@@ -96,7 +101,15 @@ public static void getModules(){
96101 modules .add (ScreenshotUtils .getInstance ());
97102 }
98103
104+ private static void addExternalModules (){
105+ modules .addAll (ModuleLoader .loadExternalModules ());
106+ }
107+
99108 public static boolean isUsingClient (UUID uuid ){
109+ if (uuid ==null ){
110+ return false ;
111+ }
112+
100113 assert MinecraftClient .getInstance ().player != null ;
101114 if (uuid == MinecraftClient .getInstance ().player .getUuid ()){
102115 return true ;
@@ -105,16 +118,15 @@ public static boolean isUsingClient(UUID uuid){
105118 }
106119 }
107120
108-
109121 public static void tickClient (){
110122 modules .forEach (AbstractModule ::tick );
111123
112- Color .tickChroma ();
113-
114124 if (tickTime >=6000 ){
115125
116126 //System.out.println("Cleared Cache of Other Players!");
117- otherPlayers = "" ;
127+ if (playerCache .values ().size ()>500 ){
128+ playerCache .clear ();
129+ }
118130 tickTime = 0 ;
119131 }
120132 tickTime ++;
@@ -132,8 +144,8 @@ public static void addBadge(Entity entity){
132144
133145 int x = -(MinecraftClient .getInstance ().textRenderer .getStringWidth (
134146 entity .getUuid () == MinecraftClient .getInstance ().player .getUuid ()?
135- (NickHider .Instance .hideOwnName .get () ? NickHider .Instance .hiddenNameSelf .get (): entity .method_6344 ().asFormattedString ()):
136- (NickHider .Instance .hideOtherNames .get () ? NickHider .Instance .hiddenNameOthers .get (): entity .method_6344 ().asFormattedString ())
147+ (NickHider .Instance .hideOwnName .get () ? NickHider .Instance .hiddenNameSelf .get (): entity .getName ().asFormattedString ()):
148+ (NickHider .Instance .hideOtherNames .get () ? NickHider .Instance .hiddenNameOthers .get (): entity .getName ().asFormattedString ())
137149 )/2 + (AxolotlClient .CONFIG .customBadge .get () ? MinecraftClient .getInstance ().textRenderer .getStringWidth (" " +AxolotlClient .CONFIG .badgeText .get ()): 10 ));
138150
139151 GlStateManager .color4f (1 , 1 , 1 , 1 );
0 commit comments