浏览代码

4.5.7 Fix crash on init

Signed-off-by: shedaniel <daniel@shedaniel.me>
shedaniel 5 年之前
父节点
当前提交
df00033e86

+ 3 - 3
build.gradle

@@ -54,9 +54,9 @@ dependencies {
 
     modCompileOnly("io.github.prospector:modmenu:${modmenu_version}")
     modRuntime("io.github.prospector:modmenu:${modmenu_version}")
-    modRuntime("me.shedaniel:SmoothScrollingEverywhere:3.0.3-unstable") {
-        transitive(false)
-    }
+//    modRuntime("me.shedaniel:SmoothScrollingEverywhere:3.0.3-unstable") {
+//        transitive(false)
+//    }
 }
 
 task jarFilter(type: net.corda.gradle.jarfilter.JarFilterTask) {

+ 8 - 6
gradle.properties

@@ -1,7 +1,9 @@
-supported_version=1.16-pre6
-minecraft_version=1.16-pre6
-yarn_mappings=1.16-pre6+build.5+legacy.20w09a+build.8
-loader_version=0.8.7+build.201
-fabric_version=0.12.3+build.363-1.16
-mod_version=4.5.6
+org.gradle.jvmargs=-Xmx3G
+
+supported_version=1.16
+minecraft_version=1.16
+yarn_mappings=1.16+build.4+legacy.20w09a+build.8
+loader_version=0.8.8+build.202
+fabric_version=0.13.1+build.370-1.16
+mod_version=4.5.7
 modmenu_version=1.12.1+build.15

+ 18 - 0
src/main/java/me/shedaniel/clothconfig2/ClothConfigInitializer.java

@@ -9,6 +9,10 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.jetbrains.annotations.ApiStatus;
 
+import java.net.URLClassLoader;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
 @Environment(EnvType.CLIENT)
 public class ClothConfigInitializer {
     public static final Logger LOGGER = LogManager.getFormatterLogger("ClothConfig");
@@ -52,4 +56,18 @@ public class ClothConfigInitializer {
     public static double getBounceBackMultiplier() {
         return -10;
     }
+    
+    static {
+        printClassPath();
+    }
+    
+    public static void printClassPath() {
+        System.out.println(
+                Arrays.stream(
+                        ((URLClassLoader) ClassLoader.getSystemClassLoader()).getURLs()
+                ).map(
+                        url ->  url.getFile().replace("%20", " ") 
+                ).collect(Collectors.joining("\n"))
+        );
+    }
 }

+ 8 - 0
src/main/java/me/shedaniel/clothconfig2/gui/AbstractConfigScreen.java

@@ -10,6 +10,7 @@ import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.Element;
 import net.minecraft.client.gui.screen.ConfirmScreen;
 import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.gui.widget.AbstractButtonWidget;
 import net.minecraft.client.render.BufferBuilder;
 import net.minecraft.client.render.Tessellator;
 import net.minecraft.client.render.VertexFormats;
@@ -338,11 +339,18 @@ public abstract class AbstractConfigScreen extends Screen implements ConfigScree
     @Override
     public void tick() {
         super.tick();
+        boolean edited = isEdited();
+        Optional.ofNullable(getQuitButton()).ifPresent(button -> button.setMessage(edited ? new TranslatableText("text.cloth-config.cancel_discard") : new TranslatableText("gui.cancel")));
         for (Element child : children())
             if (child instanceof Tickable)
                 ((Tickable) child).tick();
     }
     
+    @Nullable
+    protected AbstractButtonWidget getQuitButton() {
+        return null;
+    }
+    
     @Override
     public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
         super.render(matrices, mouseX, mouseY, delta);

+ 4 - 9
src/main/java/me/shedaniel/clothconfig2/gui/ClothConfigScreen.java

@@ -26,7 +26,10 @@ import net.minecraft.util.Pair;
 import net.minecraft.util.math.Matrix4f;
 import org.jetbrains.annotations.ApiStatus;
 
-import java.util.*;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 @SuppressWarnings({"deprecation", "rawtypes", "DuplicatedCode"})
@@ -87,14 +90,6 @@ public class ClothConfigScreen extends AbstractTabbedConfigScreen {
         return categorizedEntries;
     }
     
-    @Override
-    public void tick() {
-        super.tick();
-        boolean edited = isEdited();
-        quitButton.setMessage(edited ? new TranslatableText("text.cloth-config.cancel_discard") : new TranslatableText("gui.cancel"));
-        saveButton.active = edited;
-    }
-    
     @Override
     public boolean isEdited() {
         return super.isEdited();