diff --git a/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MinecraftClientMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MinecraftClientMixin.java new file mode 100644 index 0000000..d47f259 --- /dev/null +++ b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MinecraftClientMixin.java @@ -0,0 +1,36 @@ +package org.saturnclient.saturnclient.mixin; + +import java.io.File; +import java.io.InputStream; + +import org.saturnclient.common.minecraft.IMinecraftClient; +import org.saturnclient.common.minecraft.bindings.SaturnIdentifier; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.resource.ReloadableResourceManagerImpl; +import net.minecraft.util.Identifier; + +@Mixin(MinecraftClient.class) +public class MinecraftClientMixin implements IMinecraftClient { + @Shadow + public File runDirectory; + + @Shadow + public ReloadableResourceManagerImpl resourceManager; + + @Override + public File getRunDirectory() { + return runDirectory; + } + + @Override + public InputStream getResource(SaturnIdentifier identifier) { + try { + return resourceManager.getResource((Identifier) identifier.inner).get().getInputStream(); + } catch (Exception e) { + return null; + } + } +} diff --git a/versions/1.21.4/src/main/resources/saturnclient.mixins.json b/versions/1.21.4/src/main/resources/saturnclient.mixins.json index 3bc9ccc..b7aa28a 100644 --- a/versions/1.21.4/src/main/resources/saturnclient.mixins.json +++ b/versions/1.21.4/src/main/resources/saturnclient.mixins.json @@ -10,7 +10,8 @@ "WhoAmI", "DrawContextAccessor", "SplashOverlayMixin", - "SetScreenMixin" + "SetScreenMixin", + "MinecraftClientMixin" ], "injectors": { "defaultRequire": 1