Skip to content

Commit

Permalink
Remove old Sodium/NEC code
Browse files Browse the repository at this point in the history
  • Loading branch information
IMS212 committed Nov 22, 2023
1 parent a4a85e5 commit 04c2e0c
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 106 deletions.
30 changes: 0 additions & 30 deletions src/main/java/net/coderbot/iris/Iris.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@ public class Iris {

private static ShaderPack currentPack;
private static String currentPackName;
private static boolean sodiumInvalid;
private static boolean hasNEC;
private static boolean sodiumInstalled;
private static boolean initialized;

private static PipelineManager pipelineManager;
Expand Down Expand Up @@ -103,21 +100,6 @@ public class Iris {
* <p>This is called right before options are loaded, so we can add key bindings here.</p>
*/
public void onEarlyInitialize() {
FabricLoader.getInstance().getModContainer("sodium").ifPresent(
modContainer -> {
sodiumInstalled = true;
String versionString = modContainer.getMetadata().getVersion().getFriendlyString();

// This makes it so that if we don't have the right version of Sodium, it will show the user a
// nice warning, and prevent them from playing the game with a wrong version of Sodium.
if (!SodiumVersionCheck.isAllowedVersion(versionString)) {
sodiumInvalid = true;
}
}
);

hasNEC = FabricLoader.getInstance().isModLoaded("notenoughcrashes");

ModContainer iris = FabricLoader.getInstance().getModContainer(MODID)
.orElseThrow(() -> new IllegalStateException("Couldn't find the mod container for Iris"));

Expand Down Expand Up @@ -723,18 +705,6 @@ public static String getFormattedVersion() {
return color + version;
}

public static boolean isSodiumInvalid() {
return sodiumInvalid;
}

public static boolean isSodiumInstalled() {
return sodiumInstalled;
}

public static boolean hasNotEnoughCrashes() {
return hasNEC;
}

public static Path getShaderpacksDirectory() {
if (shaderpacksDirectory == null) {
shaderpacksDirectory = FabricLoader.getInstance().getGameDir().resolve("shaderpacks");
Expand Down
79 changes: 3 additions & 76 deletions src/main/java/net/coderbot/iris/mixin/MixinTitleScreen.java
Original file line number Diff line number Diff line change
@@ -1,29 +1,14 @@
package net.coderbot.iris.mixin;

import com.google.common.collect.ImmutableList;
import net.coderbot.iris.Iris;
import net.coderbot.iris.compat.sodium.SodiumVersionCheck;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.ChatFormatting;
import net.minecraft.Util;
import net.minecraft.client.GraphicsStatus;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.AlertScreen;
import net.minecraft.client.gui.screens.ConfirmScreen;
import net.minecraft.client.gui.screens.PopupScreen;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.TitleScreen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.net.URI;
import java.net.URISyntaxException;

@Mixin(TitleScreen.class)
public class MixinTitleScreen extends Screen {
private static boolean iris$hasFirstInit;
Expand All @@ -33,70 +18,12 @@ protected MixinTitleScreen(Component arg) {
}

@Inject(method = "init", at = @At("RETURN"))
public void iris$showSodiumIncompatScreen(CallbackInfo ci) {
if (iris$hasFirstInit) return;

String reason;

if (!Iris.isSodiumInstalled() && !FabricLoader.getInstance().isDevelopmentEnvironment()) {
reason = "iris.sodium.failure.reason.notFound";
} else if (Iris.isSodiumInvalid()) {
reason = "iris.sodium.failure.reason.incompatible";
} else if (Iris.hasNotEnoughCrashes()) {
Minecraft.getInstance().setScreen(new ConfirmScreen(
bool -> {
if (bool) {
if (!iris$hasFirstInit) {
Iris.onLoadingComplete();
}

iris$hasFirstInit = true;

Minecraft.getInstance().setScreen(this);
} else {
Minecraft.getInstance().stop();
}
},
new TranslatableComponent("iris.nec.failure.title", Iris.MODNAME).withStyle(ChatFormatting.BOLD, ChatFormatting.RED),
new TranslatableComponent("iris.nec.failure.description"),
new TranslatableComponent("options.graphics.warning.accept").withStyle(ChatFormatting.RED),
new TranslatableComponent("menu.quit").withStyle(ChatFormatting.BOLD)));
return;
} else {
if (!iris$hasFirstInit) {
Iris.onLoadingComplete();
}

iris$hasFirstInit = true;

return;
}

if (Iris.isSodiumInvalid()) {
Minecraft.getInstance().setScreen(new AlertScreen(
Minecraft.getInstance()::stop,
new TranslatableComponent("iris.sodium.failure.title").withStyle(ChatFormatting.RED),
new TranslatableComponent("iris.sodium.failure.reason"),
new TranslatableComponent("menu.quit")));
public void iris$firstInit(CallbackInfo ci) {
if (!iris$hasFirstInit) {
Iris.onLoadingComplete();
}

iris$hasFirstInit = true;

Minecraft.getInstance().setScreen(new ConfirmScreen(
(boolean accepted) -> {
if (accepted) {
try {
Util.getPlatform().openUri(new URI(SodiumVersionCheck.getDownloadLink()));
} catch (URISyntaxException e) {
throw new IllegalStateException(e);
}
} else {
Minecraft.getInstance().stop();
}
},
new TranslatableComponent("iris.sodium.failure.title").withStyle(ChatFormatting.RED),
new TranslatableComponent(reason),
new TranslatableComponent("iris.sodium.failure.download"),
new TranslatableComponent("menu.quit")));
}
}

0 comments on commit 04c2e0c

Please sign in to comment.