diff --git a/src/main/java/net/wurstclient/Feature.java b/src/main/java/net/wurstclient/Feature.java index 4d9c5f23..a5717a16 100644 --- a/src/main/java/net/wurstclient/Feature.java +++ b/src/main/java/net/wurstclient/Feature.java @@ -12,5 +12,5 @@ import net.minecraft.client.MinecraftClient; public abstract class Feature { protected static final MinecraftClient MC = MinecraftClient.getInstance(); - protected static final WurstClient WURST = WurstInitializer.getWurst(); + protected static final WurstClient WURST = WurstClient.INSTANCE; } diff --git a/src/main/java/net/wurstclient/WurstClient.java b/src/main/java/net/wurstclient/WurstClient.java index 2fb2620d..bb580f32 100644 --- a/src/main/java/net/wurstclient/WurstClient.java +++ b/src/main/java/net/wurstclient/WurstClient.java @@ -19,18 +19,20 @@ import net.wurstclient.event.EventManager; import net.wurstclient.events.ChatOutputListener; import net.wurstclient.hack.HackList; -public final class WurstClient +public enum WurstClient { + INSTANCE; + public static final String VERSION = "7.0"; - private final WurstAnalytics analytics; - private final EventManager eventManager; - private final HackList hax; - private final CmdList cmds; + private WurstAnalytics analytics; + private EventManager eventManager; + private HackList hax; + private CmdList cmds; private boolean enabled = true; - public WurstClient() + public void initialize() { Path wurstFolder = createWurstFolder(); diff --git a/src/main/java/net/wurstclient/WurstInitializer.java b/src/main/java/net/wurstclient/WurstInitializer.java index d519dce4..8b9c982b 100644 --- a/src/main/java/net/wurstclient/WurstInitializer.java +++ b/src/main/java/net/wurstclient/WurstInitializer.java @@ -11,7 +11,7 @@ import net.fabricmc.api.ModInitializer; public final class WurstInitializer implements ModInitializer { - private static WurstClient WURST; + private static boolean initialized; @Override public void onInitialize() @@ -20,16 +20,11 @@ public final class WurstInitializer implements ModInitializer // However, some things (like resources) may still be uninitialized. // Proceed with mild caution. - if(WURST != null) + if(initialized) throw new RuntimeException( "WurstInitializer.onInitialize() ran twice!"); - System.out.println("Hello Fabric world!"); - WURST = new WurstClient(); - } - - public static WurstClient getWurst() - { - return WURST; + WurstClient.INSTANCE.initialize(); + initialized = true; } } diff --git a/src/main/java/net/wurstclient/command/CmdProcessor.java b/src/main/java/net/wurstclient/command/CmdProcessor.java index 48f4604c..fbde9414 100644 --- a/src/main/java/net/wurstclient/command/CmdProcessor.java +++ b/src/main/java/net/wurstclient/command/CmdProcessor.java @@ -12,7 +12,7 @@ import java.util.Arrays; import net.minecraft.util.crash.CrashException; import net.minecraft.util.crash.CrashReport; import net.minecraft.util.crash.CrashReportSection; -import net.wurstclient.WurstInitializer; +import net.wurstclient.WurstClient; import net.wurstclient.events.ChatOutputListener; import net.wurstclient.util.ChatUtils; @@ -28,7 +28,7 @@ public final class CmdProcessor implements ChatOutputListener @Override public void onSentMessage(ChatOutputEvent event) { - if(!WurstInitializer.getWurst().isEnabled()) + if(!WurstClient.INSTANCE.isEnabled()) return; String message = event.getMessage().trim(); diff --git a/src/main/java/net/wurstclient/mixin/ClientPlayerEntityMixin.java b/src/main/java/net/wurstclient/mixin/ClientPlayerEntityMixin.java index 7c0a07c5..847489b2 100644 --- a/src/main/java/net/wurstclient/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/net/wurstclient/mixin/ClientPlayerEntityMixin.java @@ -11,7 +11,6 @@ import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.world.ClientWorld; import net.wurstclient.WurstClient; -import net.wurstclient.WurstInitializer; import net.wurstclient.events.ChatOutputListener.ChatOutputEvent; @Mixin(ClientPlayerEntity.class) @@ -29,7 +28,7 @@ public class ClientPlayerEntityMixin extends AbstractClientPlayerEntity private void onSendChatMessage(String message, CallbackInfo ci) { ChatOutputEvent event = new ChatOutputEvent(message, false); - WurstInitializer.getWurst().getEventManager().fire(event); + WurstClient.INSTANCE.getEventManager().fire(event); if(event.isCancelled()) ci.cancel();