From f13a5fe6f3ce4991408f0df5b7a4b5548ccad852 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Sat, 17 Aug 2024 00:07:19 -0300 Subject: [PATCH 1/9] Revert "Revert "Floader 0.16.0"" This reverts commit 09b6423d --- gradle.properties | 6 +-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../launch/common/QuiltMixinBootstrap.java | 2 +- .../launch/knot/MixinContainerHandleMod.java | 38 ------------------- .../impl/launch/knot/MixinServiceKnot.java | 6 +++ src/main/resources/quilt.mod.json | 2 +- 6 files changed, 12 insertions(+), 44 deletions(-) delete mode 100644 src/main/java/org/quiltmc/loader/impl/launch/knot/MixinContainerHandleMod.java diff --git a/gradle.properties b/gradle.properties index ca3788281..c629c2fb4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,9 +9,9 @@ quilt_loader = 0.26.4-beta.1 # Fabric & Quilt Libraries asm = 9.6 -sponge_mixin = 0.13.3+mixin.0.8.5 +sponge_mixin = 0.15.0+mixin.0.8.7 tiny_mappings_parser = 0.3.0+build.17 -tiny_remapper = 0.10.1 +tiny_remapper = 0.10.4 access_widener = 2.1.0 quilt_json5 = 1.0.4+final quilt_parsers = 0.2.0 @@ -27,4 +27,4 @@ junit_bom = 5.9.3 proguard_gradle = 7.4.2 github_api = 1.315 flexver = 1.1.0 -mixin_extras = 0.3.5 +mixin_extras = 0.4.0 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index db9a6b825..19cfad969 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java index b378ae7ab..b89ca5942 100644 --- a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java +++ b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java @@ -145,7 +145,7 @@ public static final class MixinConfigDecorator { // maximum loader version and bundled fabric mixin version, DESCENDING ORDER, LATEST FIRST // loader versions with new mixin versions need to be added here - // addVersion("0.13", FabricUtil.COMPATIBILITY_0_11_0); // example for next entry (latest first!) + addVersion("0.16.0", FabricUtil.COMPATIBILITY_0_14_0); addVersion("0.12.0-", FabricUtil.COMPATIBILITY_0_10_0); } diff --git a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinContainerHandleMod.java b/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinContainerHandleMod.java deleted file mode 100644 index 99ad0d18a..000000000 --- a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinContainerHandleMod.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2016 FabricMC - * Copyright 2022-2023 QuiltMC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.quiltmc.loader.impl.launch.knot; - -import java.util.Collection; -import java.util.Collections; - -import org.quiltmc.loader.impl.util.QuiltLoaderInternal; -import org.quiltmc.loader.impl.util.QuiltLoaderInternalType; -import org.spongepowered.asm.launch.platform.container.IContainerHandle; - -@QuiltLoaderInternal(QuiltLoaderInternalType.LEGACY_EXPOSED) -public class MixinContainerHandleMod implements IContainerHandle { - @Override - public String getAttribute(String name) { - return null; - } - - @Override - public Collection getNestedContainers() { - return Collections.emptyList(); - } -} diff --git a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java b/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java index 88cea02e1..ac5c71c5b 100644 --- a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java +++ b/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java @@ -85,9 +85,15 @@ public ClassNode getClassNode(String name) throws ClassNotFoundException, IOExce @Override public ClassNode getClassNode(String name, boolean runTransformers) throws ClassNotFoundException, IOException { + return getClassNode(name, runTransformers, 0); + } + + @Override + public ClassNode getClassNode(String name, boolean runTransformers, int readerFlags) throws ClassNotFoundException, IOException { ClassReader reader = new ClassReader(getClassBytes(name, runTransformers)); ClassNode node = new ClassNode(); reader.accept(node, 0); + reader.accept(node, readerFlags); return node; } diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json index f3f3b9e3b..710c1dd57 100644 --- a/src/main/resources/quilt.mod.json +++ b/src/main/resources/quilt.mod.json @@ -22,7 +22,7 @@ "provides": [ { "id": "fabricloader", - "version": "0.15.11" + "version": "0.16.0" } ], "depends": [ From 5cdfbaec9ad7feb38f4efe9c97a1def104a70371 Mon Sep 17 00:00:00 2001 From: modmuss Date: Thu, 15 Aug 2024 04:51:36 -0300 Subject: [PATCH 2/9] Update Mixin and Mixin Extras (#963) --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index c629c2fb4..b69ed8c9c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ quilt_loader = 0.26.4-beta.1 # Fabric & Quilt Libraries asm = 9.6 -sponge_mixin = 0.15.0+mixin.0.8.7 +sponge_mixin = 0.15.1+mixin.0.8.7 tiny_mappings_parser = 0.3.0+build.17 tiny_remapper = 0.10.4 access_widener = 2.1.0 @@ -27,4 +27,4 @@ junit_bom = 5.9.3 proguard_gradle = 7.4.2 github_api = 1.315 flexver = 1.1.0 -mixin_extras = 0.4.0 +mixin_extras = 0.4.1 From 380014edb02ed3ca0fe9f5f40f1aeca0e29916d8 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 15 Aug 2024 06:16:00 -0300 Subject: [PATCH 3/9] Bump version --- src/main/resources/quilt.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json index 710c1dd57..5f57ac4fb 100644 --- a/src/main/resources/quilt.mod.json +++ b/src/main/resources/quilt.mod.json @@ -22,7 +22,7 @@ "provides": [ { "id": "fabricloader", - "version": "0.16.0" + "version": "0.16.1" } ], "depends": [ From cab7c29e0892f2e6b5145e535894911db63e0816 Mon Sep 17 00:00:00 2001 From: SHsuperCM Date: Thu, 15 Aug 2024 11:39:08 -0300 Subject: [PATCH 4/9] Specify full entrypoint name on crash (#928) --- .../loader/api/entrypoint/EntrypointContainer.java | 7 +++++++ .../impl/entrypoint/EntrypointContainerImpl.java | 5 +++++ .../loader/api/entrypoint/EntrypointContainer.java | 7 +++++++ .../loader/impl/entrypoint/EntrypointStorage.java | 12 ++++++++++++ .../loader/impl/entrypoint/EntrypointUtils.java | 4 ++-- 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/fabric/api/java/net/fabricmc/loader/api/entrypoint/EntrypointContainer.java b/src/fabric/api/java/net/fabricmc/loader/api/entrypoint/EntrypointContainer.java index 9a6c3c9fe..d1aa33aee 100644 --- a/src/fabric/api/java/net/fabricmc/loader/api/entrypoint/EntrypointContainer.java +++ b/src/fabric/api/java/net/fabricmc/loader/api/entrypoint/EntrypointContainer.java @@ -36,4 +36,11 @@ public interface EntrypointContainer { * Returns the mod that provided this entrypoint. */ ModContainer getProvider(); + + /** + * Returns a string representation of the entrypoint's definition. + */ + default String getDefinition() { + return ""; + } } diff --git a/src/fabric/impl/java/net/fabricmc/loader/impl/entrypoint/EntrypointContainerImpl.java b/src/fabric/impl/java/net/fabricmc/loader/impl/entrypoint/EntrypointContainerImpl.java index 58ac00f1b..07a42d5a1 100644 --- a/src/fabric/impl/java/net/fabricmc/loader/impl/entrypoint/EntrypointContainerImpl.java +++ b/src/fabric/impl/java/net/fabricmc/loader/impl/entrypoint/EntrypointContainerImpl.java @@ -38,4 +38,9 @@ public T getEntrypoint() { public ModContainer getProvider() { return new ModContainerImpl(quilt.getProvider()); } + + @Override + public String getDefinition() { + return quilt.getDefinition(); + } } diff --git a/src/main/java/org/quiltmc/loader/api/entrypoint/EntrypointContainer.java b/src/main/java/org/quiltmc/loader/api/entrypoint/EntrypointContainer.java index 9252ba45d..2dacf897b 100644 --- a/src/main/java/org/quiltmc/loader/api/entrypoint/EntrypointContainer.java +++ b/src/main/java/org/quiltmc/loader/api/entrypoint/EntrypointContainer.java @@ -35,4 +35,11 @@ public interface EntrypointContainer { * Returns the mod that provided this entrypoint. */ ModContainer getProvider(); + + /** + * Returns a string representation of the entrypoint's definition. + */ + default String getDefinition() { + return ""; + } } diff --git a/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointStorage.java b/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointStorage.java index a068867f1..a298c53ef 100644 --- a/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointStorage.java +++ b/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointStorage.java @@ -39,6 +39,8 @@ interface Entry { boolean isOptional(); ModContainerExt getModContainer(); + + String getDefinition(); } @SuppressWarnings("deprecation") @@ -87,6 +89,11 @@ public boolean isOptional() { public ModContainerExt getModContainer() { return mod; } + + @Override + public String getDefinition() { + return value; + } } private static final class NewEntry implements Entry { @@ -131,6 +138,11 @@ public boolean isOptional() { public ModContainerExt getModContainer() { return mod; } + + @Override + public String getDefinition() { + return value; + } } private final Map> entryMap = new HashMap<>(); diff --git a/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointUtils.java b/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointUtils.java index 882bd594c..7bfd9d7a9 100644 --- a/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointUtils.java +++ b/src/main/java/org/quiltmc/loader/impl/entrypoint/EntrypointUtils.java @@ -63,8 +63,8 @@ private static void invoke0(String name, Class type, Consumer new RuntimeException(String.format("Could not execute entrypoint stage '%s' due to errors, provided by '%s'!", - name, container.getProvider().metadata().id()), + exc -> new RuntimeException(String.format("Could not execute entrypoint stage '%s' due to errors, provided by '%s' at '%s'!", + name, container.getProvider().metadata().id(), container.getDefinition()), exc)); } } From 702cab763a5a4c8c0bd056bc04918778e855ee10 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 15 Aug 2024 11:39:44 -0300 Subject: [PATCH 5/9] Update Mixin --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index b69ed8c9c..8bf2f8ff0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ quilt_loader = 0.26.4-beta.1 # Fabric & Quilt Libraries asm = 9.6 -sponge_mixin = 0.15.1+mixin.0.8.7 +sponge_mixin = 0.15.2+mixin.0.8.7 tiny_mappings_parser = 0.3.0+build.17 tiny_remapper = 0.10.4 access_widener = 2.1.0 From 7c662ec513ab924dbbd5b9e96f4225c913d83931 Mon Sep 17 00:00:00 2001 From: WinPlay02 <25015295+WinPlay02@users.noreply.github.com> Date: Thu, 15 Aug 2024 20:07:12 +0200 Subject: [PATCH 6/9] Added support for 1.21.2 in McVersionLookup (#964) * Added support for 1.21.2 in McVersionLookup * Update minecraft/src/main/java/net/fabricmc/loader/impl/game/minecraft/McVersionLookup.java Co-authored-by: modmuss --------- Co-authored-by: modmuss (cherry picked from commit 991d38d8a62e89f00aa3038b52f428f95b7d44bc) --- .../quiltmc/loader/impl/game/minecraft/McVersionLookup.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/minecraft/src/main/java/org/quiltmc/loader/impl/game/minecraft/McVersionLookup.java b/minecraft/src/main/java/org/quiltmc/loader/impl/game/minecraft/McVersionLookup.java index 8f5c9510b..185e4148f 100644 --- a/minecraft/src/main/java/org/quiltmc/loader/impl/game/minecraft/McVersionLookup.java +++ b/minecraft/src/main/java/org/quiltmc/loader/impl/game/minecraft/McVersionLookup.java @@ -284,7 +284,9 @@ protected static String getRelease(String version) { int year = Integer.parseInt(matcher.group(1)); int week = Integer.parseInt(matcher.group(2)); - if (year >= 24 && week >= 18) { + if (year >= 24 && week >= 33) { + return "1.21.2"; + } else if (year == 24 && week >= 18 && week <= 21) { return "1.21"; } else if (year == 23 && week >= 51 || year == 24 && week <= 14) { return "1.20.5"; From edeb7b4131b47293e17a0b175a8dd8de1c5700e7 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 15 Aug 2024 15:32:15 -0300 Subject: [PATCH 7/9] Bump version --- src/main/resources/quilt.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json index 5f57ac4fb..ada8cb468 100644 --- a/src/main/resources/quilt.mod.json +++ b/src/main/resources/quilt.mod.json @@ -22,7 +22,7 @@ "provides": [ { "id": "fabricloader", - "version": "0.16.1" + "version": "0.16.2" } ], "depends": [ From 379172def0254603b962753e8e49b91b689dac4a Mon Sep 17 00:00:00 2001 From: AlexIIL Date: Sat, 17 Aug 2024 06:52:59 +0100 Subject: [PATCH 8/9] Fix two oversights (#1) --- .../loader/impl/launch/common/QuiltMixinBootstrap.java | 5 ++--- .../quiltmc/loader/impl/launch/knot/MixinServiceKnot.java | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java index b89ca5942..1d28ea155 100644 --- a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java +++ b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java @@ -200,11 +200,10 @@ public static int getMixinCompat(boolean isFabric, ModMetadata metadata) { if (minLoaderVersion.compareTo(version.loaderVersion) >= 0) { // lower bound is >= current version Log.debug(LogCategory.MIXIN, "Mod %s requires loader version %s, using mixin compatibility %s", metadata.id(), minLoaderVersion, version.mixinVersion); return version.mixinVersion; - } else { - Log.debug(LogCategory.MIXIN, "Mod %s requires loader version %s, using 0.9.2 mixin compatability", metadata.id(), minLoaderVersion); - return FabricUtil.COMPATIBILITY_0_9_2; } } + Log.debug(LogCategory.MIXIN, "Mod %s requires loader version %s, using 0.9.2 mixin compatability", metadata.id(), minLoaderVersion); + return FabricUtil.COMPATIBILITY_0_9_2; } // Mod doesn't declare a dependency on a loader version; use oldest mixin compat version diff --git a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java b/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java index ac5c71c5b..e92cd42f4 100644 --- a/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java +++ b/src/main/java/org/quiltmc/loader/impl/launch/knot/MixinServiceKnot.java @@ -92,7 +92,6 @@ public ClassNode getClassNode(String name, boolean runTransformers) throws Class public ClassNode getClassNode(String name, boolean runTransformers, int readerFlags) throws ClassNotFoundException, IOException { ClassReader reader = new ClassReader(getClassBytes(name, runTransformers)); ClassNode node = new ClassNode(); - reader.accept(node, 0); reader.accept(node, readerFlags); return node; } From bcd60aad07cdc137336e9d43b9bf70e3f282f143 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Sat, 17 Aug 2024 03:01:49 -0300 Subject: [PATCH 9/9] Hardcode 0.10.0 mixin compat to Quilt mods for now This should work as a fix for now --- .../loader/impl/launch/common/QuiltMixinBootstrap.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java index 1d28ea155..c67ee1467 100644 --- a/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java +++ b/src/main/java/org/quiltmc/loader/impl/launch/common/QuiltMixinBootstrap.java @@ -171,9 +171,11 @@ public static int getMixinCompat(boolean isFabric, ModMetadata metadata) { List reqIntervals = Collections.singletonList(VersionInterval.INFINITE); if (!isFabric) { - // quilt or builtin mod, we can assume it uses latest compat - Log.debug(LogCategory.MIXIN, "Assuming Quilt mod %s uses latest mixin compatibility", metadata.id()); - return FabricUtil.COMPATIBILITY_LATEST; + // quilt or builtin mod, we can assume it uses latest (0.10.0 at the time) compat + // Except since , we can't assume that anymore! + // TODO - Handle Quilt mods like Fabric mods but with our own version ranges + Log.debug(LogCategory.MIXIN, "Assuming Quilt mod %s uses 0.10.0 mixin compatibility", metadata.id()); + return FabricUtil.COMPATIBILITY_0_10_0; } FabricLoaderModMetadata fabricMeta = ((InternalModMetadata) metadata).asFabricModMetadata();