This repository was archived by the owner on Nov 28, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathAxolotlClient.java
More file actions
106 lines (91 loc) · 3.97 KB
/
AxolotlClient.java
File metadata and controls
106 lines (91 loc) · 3.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
* Copyright © 2024 moehreag <moehreag@gmail.com> & Contributors
*
* This file is part of AxolotlClient.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* For more information, see the LICENSE file.
*/
package io.github.axolotlclient;
import java.util.HashMap;
import io.github.axolotlclient.api.API;
import io.github.axolotlclient.api.APIOptions;
import io.github.axolotlclient.api.StatusUpdateProviderImpl;
import io.github.axolotlclient.bridge.impl.Bridge;
import io.github.axolotlclient.modules.ModuleLoader;
import io.github.axolotlclient.modules.auth.Auth;
import io.github.axolotlclient.modules.blur.MenuBlur;
import io.github.axolotlclient.modules.blur.MotionBlur;
import io.github.axolotlclient.modules.hud.HudManager;
import io.github.axolotlclient.modules.hypixel.HypixelMods;
import io.github.axolotlclient.modules.particles.Particles;
import io.github.axolotlclient.modules.screenshotUtils.ScreenshotUtils;
import io.github.axolotlclient.modules.scrollableTooltips.ScrollableTooltips;
import io.github.axolotlclient.modules.sky.SkyResourceManager;
import io.github.axolotlclient.modules.tablist.Tablist;
import io.github.axolotlclient.modules.zoom.Zoom;
import io.github.axolotlclient.util.FeatureDisabler;
import io.github.axolotlclient.util.FeatureDisablerCommon;
import io.github.axolotlclient.util.Logger;
import io.github.axolotlclient.util.LoggerImpl;
import io.github.axolotlclient.util.notifications.Notifications;
import net.fabricmc.api.ClientModInitializer;
import net.minecraft.resource.Resource;
import net.minecraft.util.Identifier;
public class AxolotlClient extends AxolotlClientCommon implements ClientModInitializer {
public static final HashMap<Identifier, Resource> runtimeResources = new HashMap<>();
public static final Identifier badgeIcon = new Identifier("axolotlclient", "textures/badge.png");
public static final Logger LOGGER = new LoggerImpl();
private void addBuiltinModules() {
registerModule(SkyResourceManager.getInstance());
registerModule(Zoom.getInstance());
registerModule(HudManager.getInstance());
registerModule(HypixelMods.getInstance());
registerModule(MotionBlur.getInstance());
registerModule(MenuBlur.getInstance());
registerModule(ScrollableTooltips.getInstance());
registerModule(Particles.getInstance());
registerModule(ScreenshotUtils.getInstance());
registerModule(Tablist.getInstance());
registerModule(Auth.getInstance());
registerModule(APIOptions.getInstance());
}
private void addExternalModules() {
ModuleLoader.loadExternalModules().forEach(this::registerModule);
}
@Override
public void onInitializeClient() {
Bridge.init();
addBuiltinModules();
addExternalModules();
init(LOGGER, Notifications.getInstance());
new API(new StatusUpdateProviderImpl(), APIOptions.getInstance());
LOGGER.debug("Debug Output enabled, Logs will be quite verbose!");
LOGGER.info("AxolotlClient Initialized");
Bridge.postInit();
}
@Override
protected FeatureDisablerCommon getFeatureDisabler() {
return FeatureDisabler.getInstance();
}
@Override
protected AxolotlClientConfigCommon createConfig() {
return new io.github.axolotlclient.config.AxolotlClientConfig();
}
public static io.github.axolotlclient.config.AxolotlClientConfig config() {
return (io.github.axolotlclient.config.AxolotlClientConfig) getInstance().getConfig();
}
}