Improved separation
This commit is contained in:
+1
-1
Submodule common updated: f139ff5bd3...2e72fc5d6b
+55
-7
@@ -2,27 +2,32 @@ package org.saturnclient.impl.mixins;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.saturnclient.common.ref.asset.IdentifierRef;
|
||||
import org.saturnclient.common.ref.game.MinecraftClientRef;
|
||||
import org.saturnclient.common.ref.render.WindowRef;
|
||||
import org.saturnclient.saturnclient.SaturnClient;
|
||||
import org.saturnclient.ui.SaturnScreen;
|
||||
import org.saturnclient.ui.SaturnScreenFabric;
|
||||
import org.saturnclient.ui.screens.TitleMenu;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||
import net.minecraft.client.gui.screen.option.OptionsScreen;
|
||||
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
|
||||
import net.minecraft.client.option.GameOptions;
|
||||
import net.minecraft.client.session.Session;
|
||||
import net.minecraft.client.util.Window;
|
||||
import net.minecraft.resource.ReloadableResourceManagerImpl;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
@Mixin(MinecraftClient.class)
|
||||
public class MinecraftClientMixin implements MinecraftClientRef {
|
||||
public abstract class MinecraftClientMixin implements MinecraftClientRef {
|
||||
@Shadow
|
||||
public File runDirectory;
|
||||
|
||||
@@ -30,7 +35,20 @@ public class MinecraftClientMixin implements MinecraftClientRef {
|
||||
private Window window;
|
||||
|
||||
@Shadow
|
||||
public ReloadableResourceManagerImpl resourceManager;
|
||||
private ReloadableResourceManagerImpl resourceManager;
|
||||
|
||||
@Shadow
|
||||
public GameOptions options;
|
||||
|
||||
@Shadow
|
||||
private Session session;
|
||||
|
||||
@Shadow
|
||||
public abstract void setScreen(@Nullable Screen screen);
|
||||
|
||||
@Shadow
|
||||
@Override
|
||||
public abstract void scheduleStop();
|
||||
|
||||
@Override
|
||||
public File getRunDirectory() {
|
||||
@@ -53,7 +71,7 @@ public class MinecraftClientMixin implements MinecraftClientRef {
|
||||
|
||||
@Override
|
||||
public void setScreen(SaturnScreen screen) {
|
||||
SaturnClient.client.setScreen(new SaturnScreenFabric(screen));
|
||||
this.setScreen(new SaturnScreenFabric(screen));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -62,16 +80,46 @@ public class MinecraftClientMixin implements MinecraftClientRef {
|
||||
|
||||
switch (screen) {
|
||||
case SelectWorld:
|
||||
SaturnClient.client.setScreen(new SelectWorldScreen(exitTarget));
|
||||
this.setScreen(new SelectWorldScreen(exitTarget));
|
||||
break;
|
||||
|
||||
case Multiplayer:
|
||||
SaturnClient.client.setScreen(new MultiplayerScreen(exitTarget));
|
||||
this.setScreen(new MultiplayerScreen(exitTarget));
|
||||
break;
|
||||
|
||||
case Options:
|
||||
SaturnClient.client.setScreen(new OptionsScreen(exitTarget, SaturnClient.client.options));
|
||||
this.setScreen(new OptionsScreen(exitTarget, this.options));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAccessToken() {
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return this.session.getAccessToken();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getUuid() {
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
return this.session.getUuidOrNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsername() {
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
return this.session.getUsername();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientStopping(Runnable handler) {
|
||||
ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> handler.run());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.saturnclient.saturnclient.SaturnClient;
|
||||
import dev.kosmx.playerAnim.api.layered.AnimationStack;
|
||||
import dev.kosmx.playerAnim.minecraftApi.PlayerAnimationAccess;
|
||||
import dev.kosmx.playerAnim.minecraftApi.PlayerAnimationRegistry;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||
import net.minecraft.client.network.AbstractClientPlayerEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
@@ -51,38 +50,6 @@ public class SaturnProviderImpl implements SaturnProvider {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAccessToken() {
|
||||
var session = SaturnClient.client.getSession();
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
return session.getAccessToken();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getUuid() {
|
||||
var session = SaturnClient.client.getSession();
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
return session.getUuidOrNull();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsername() {
|
||||
var session = SaturnClient.client.getSession();
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
return session.getUsername();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClientStopping(Runnable handler) {
|
||||
ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> handler.run());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logInfo(String message) {
|
||||
SaturnClient.LOGGER.info(message);
|
||||
@@ -98,11 +65,6 @@ public class SaturnProviderImpl implements SaturnProvider {
|
||||
SaturnClient.LOGGER.error(message, throwable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
SaturnClient.client.scheduleStop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBufferedImageTexture(IdentifierRef i, BufferedImage bi) {
|
||||
IdentifierUtils.registerBufferedImageTextureFast((Identifier) (Object) i, bi);
|
||||
|
||||
Reference in New Issue
Block a user