From b1863f3afa6318f3a9700653bfb86b3710718984 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Sun, 12 Feb 2023 09:34:12 +0100 Subject: [PATCH] Weaken NonUpdate fix into warning --- .../falsepattern/lib/internal/Internet.java | 11 ++++ .../lib/internal/asm/FPTransformer.java | 2 +- .../internal/asm/NonUpdateTransformer.java | 51 ------------------- 3 files changed, 12 insertions(+), 52 deletions(-) delete mode 100644 src/main/java/com/falsepattern/lib/internal/asm/NonUpdateTransformer.java diff --git a/src/main/java/com/falsepattern/lib/internal/Internet.java b/src/main/java/com/falsepattern/lib/internal/Internet.java index 07b900c..f4b0abf 100644 --- a/src/main/java/com/falsepattern/lib/internal/Internet.java +++ b/src/main/java/com/falsepattern/lib/internal/Internet.java @@ -24,6 +24,8 @@ import lombok.Cleanup; import lombok.val; import lombok.var; +import net.minecraft.launchwrapper.Launch; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -82,6 +84,15 @@ public class Internet { } connection.disconnect(); } catch (Exception e) { + //Check if NonUpdate is present + try { + if (Launch.classLoader.getClassBytes("moe.mickey.forge.nonupdate.NonUpdate") != null) { + e.addSuppressed(new Exception("NonUpdate is present, it's possible that it's blocking a library download." + + " Please disable it for a single run to allow mod dependencies to download.")); + } + } catch (IOException ex) { + e.addSuppressed(ex); + } onError.accept(e); } } diff --git a/src/main/java/com/falsepattern/lib/internal/asm/FPTransformer.java b/src/main/java/com/falsepattern/lib/internal/asm/FPTransformer.java index e4e8dc9..7be0d45 100644 --- a/src/main/java/com/falsepattern/lib/internal/asm/FPTransformer.java +++ b/src/main/java/com/falsepattern/lib/internal/asm/FPTransformer.java @@ -45,6 +45,6 @@ public class FPTransformer implements SmartTransformer { private final Logger logger = LOG; public FPTransformer() { - transformers = Arrays.asList(new IMixinPluginTransformer(), new ITypeDiscovererTransformer(), new NonUpdateTransformer(), new GasStationValidatorTransformer()); + transformers = Arrays.asList(new IMixinPluginTransformer(), new ITypeDiscovererTransformer(), new GasStationValidatorTransformer()); } } diff --git a/src/main/java/com/falsepattern/lib/internal/asm/NonUpdateTransformer.java b/src/main/java/com/falsepattern/lib/internal/asm/NonUpdateTransformer.java deleted file mode 100644 index 29d5208..0000000 --- a/src/main/java/com/falsepattern/lib/internal/asm/NonUpdateTransformer.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2022 FalsePattern - * All Rights Reserved - * - * The above copyright notice, this permission notice and the word "SNEED" - * shall be included in all copies or substantial portions of the Software. - * - * 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 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, see . - */ - -package com.falsepattern.lib.internal.asm; - -import com.falsepattern.lib.asm.IClassNodeTransformer; -import lombok.val; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.MethodNode; - -public class NonUpdateTransformer implements IClassNodeTransformer { - @Override - public String getName() { - return "NonUpdateTransformer"; - } - - @Override - public boolean shouldTransform(ClassNode cn, String transformedName, boolean obfuscated) { - return "moe.mickey.forge.nonupdate.NonUpdate".equals(transformedName); - } - - @Override - public void transform(ClassNode cn, String transformedName, boolean obfuscated) { - MethodNode toRemove = null; - for (val method: cn.methods) { - if (method.name.equals("init")) { - toRemove = method; - break; - } - } - cn.methods.remove(toRemove); - } -}