diff --git a/build.gradle b/build.gradle index 045e8f4..1f6c4a4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id "fabric-loom" version "1.7.+" + id "fabric-loom" version "1.10-SNAPSHOT" id 'io.github.juuxel.loom-quiltflower' version '1.8.0' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index b9d6d58..4fb5762 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,10 +2,10 @@ org.gradle.jvmargs=-Xmx2G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21 -yarn_mappings=1.21+build.7 -loader_version=0.15.11 +minecraft_version=1.21.5 +yarn_mappings=1.21.5+build.1 +loader_version=0.16.13 # Mod Properties -mod_version=1.7 +mod_version=1.8 maven_group=suso archives_base_name=datareload diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..c3f6c76 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/src/main/java/suso/datareload/Utility.java b/src/main/java/suso/datareload/Utility.java index 77475f9..50b7139 100644 --- a/src/main/java/suso/datareload/Utility.java +++ b/src/main/java/suso/datareload/Utility.java @@ -21,7 +21,16 @@ public static void sendMessage(Text t) { } public static String removeEx(String msg) { - msg = msg.substring(msg.indexOf(": ") + 2); + while(true) { + final var colonIndex = msg.indexOf(": "); + if(colonIndex == -1) + break; + if(msg.substring(0, colonIndex).contains(" ")) { + // Definitely not an error name, so it shouldn't be removed + break; + } + msg = msg.substring(colonIndex + 2); + } msg = msg.replace("Use JsonReader.setLenient(true) to accept m", "M"); return msg; } diff --git a/src/main/java/suso/datareload/mixin/loader/JsonDataMixin.java b/src/main/java/suso/datareload/mixin/loader/JsonDataMixin.java index c52d2ba..3006e53 100644 --- a/src/main/java/suso/datareload/mixin/loader/JsonDataMixin.java +++ b/src/main/java/suso/datareload/mixin/loader/JsonDataMixin.java @@ -1,5 +1,6 @@ package suso.datareload.mixin.loader; +import com.mojang.serialization.DataResult; import net.minecraft.resource.JsonDataLoader; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -11,7 +12,7 @@ @Mixin(JsonDataLoader.class) public class JsonDataMixin { @ModifyArg( - method = "load", + method = "load(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/resource/ResourceFinder;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At( value = "INVOKE", target = "Lorg/slf4j/Logger;error(Ljava/lang/String;[Ljava/lang/Object;)V", @@ -19,7 +20,7 @@ public class JsonDataMixin { ), index = 1 ) - private static Object[] parseError(Object[] args) { + private static Object[] fileError(Object[] args) { Object identifier = args[0]; Object identifier2 = args[1]; Exception var14 = (Exception)args[2]; @@ -33,4 +34,28 @@ private static Object[] parseError(Object[] args) { Utility.sendMessage(t); return args; } + + @ModifyArg( + method = "method_63567", + at = @At( + value = "INVOKE", + target = "Lorg/slf4j/Logger;error(Ljava/lang/String;[Ljava/lang/Object;)V", + remap = false + ), + index = 1 + ) + private static Object[] codecError(Object[] args) { + Object identifier = args[0]; + Object identifier2 = args[1]; + DataResult.Error var14 = (DataResult.Error)args[2]; + Text t = Text.literal("\n") + .append(Utility.strToText("- Couldn't parse data file ", Formatting.RED)) + .append(Utility.strToText(identifier2.toString(), Formatting.AQUA)) + .append(Utility.strToText(" from ", Formatting.RED)) + .append(Utility.strToText(identifier.toString(), Formatting.YELLOW)) + .append(Utility.strToText("\n ")) + .append(Utility.strToText(var14.message())); + Utility.sendMessage(t); + return args; + } } diff --git a/src/main/java/suso/datareload/mixin/loader/LootMixin.java b/src/main/java/suso/datareload/mixin/loader/LootMixin.java index ef159d2..c21df33 100644 --- a/src/main/java/suso/datareload/mixin/loader/LootMixin.java +++ b/src/main/java/suso/datareload/mixin/loader/LootMixin.java @@ -12,14 +12,14 @@ @Mixin(ReloadableRegistries.class) public class LootMixin { @Inject( - method = "method_58283", + method = "method_61242", at = @At( value = "INVOKE", target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false ) ) - private static void error(String name, String message, CallbackInfo ci) { + private static void validationWarning(String name, String message, CallbackInfo ci) { Text t = Text.literal("\n") .append(Utility.strToText("- Validation problem in loot table ", Formatting.RED)) .append(Utility.strToText(name, Formatting.AQUA)) diff --git a/src/main/java/suso/datareload/mixin/loader/RecipeMixin.java b/src/main/java/suso/datareload/mixin/loader/RecipeMixin.java deleted file mode 100644 index 0887d2b..0000000 --- a/src/main/java/suso/datareload/mixin/loader/RecipeMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package suso.datareload.mixin.loader; - -import net.minecraft.recipe.RecipeManager; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyArg; -import suso.datareload.Utility; - -@Mixin(RecipeManager.class) -public class RecipeMixin { - @ModifyArg( - method = "apply(Ljava/util/Map;Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;)V", - at = @At( - value = "INVOKE", - target = "Lorg/slf4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", - remap = false - ), - index = 1 - ) - public Object error(String format, Object identifier, Object var9) { - Text t = Text.literal("\n") - .append(Utility.strToText("- Parsing error loading recipe ", Formatting.RED)) - .append(Utility.strToText(identifier.toString(), Formatting.AQUA)) - .append(Utility.strToText("\n ")) - .append(Utility.strToText(((Exception)var9).getMessage())); - Utility.sendMessage(t); - return identifier; - } -} diff --git a/src/main/java/suso/datareload/mixin/loader/ServerAdvancementMixin.java b/src/main/java/suso/datareload/mixin/loader/ServerAdvancementMixin.java index 35739ee..bd6632f 100644 --- a/src/main/java/suso/datareload/mixin/loader/ServerAdvancementMixin.java +++ b/src/main/java/suso/datareload/mixin/loader/ServerAdvancementMixin.java @@ -1,34 +1,31 @@ package suso.datareload.mixin.loader; -import com.google.common.collect.ImmutableMap; -import com.google.gson.JsonElement; -import net.minecraft.registry.RegistryOps; import net.minecraft.server.ServerAdvancementLoader; import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import suso.datareload.Utility; @Mixin(ServerAdvancementLoader.class) public class ServerAdvancementMixin { - @ModifyVariable( - method = "method_20723", + @Inject( + method = "method_54922", at = @At( value = "INVOKE", - target = "Lorg/slf4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", + target = "Lorg/slf4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false ) ) - public Exception error(Exception var6, RegistryOps ops, ImmutableMap.Builder map, Identifier id, JsonElement json) { + private static void validationWarning(Identifier id, String error, CallbackInfo ci) { Text t = Text.literal("\n") - .append(Utility.strToText("- Parsing error loading custom advancement ", Formatting.RED)) + .append(Utility.strToText("- Validation problem in loot table ", Formatting.RED)) .append(Utility.strToText(id.toString(), Formatting.AQUA)) .append(Utility.strToText("\n ")) - .append(Utility.strToText(var6.getMessage())); + .append(Utility.strToText(error)); Utility.sendMessage(t); - return var6; } } diff --git a/src/main/java/suso/datareload/mixin/loader/TagGroupMixin.java b/src/main/java/suso/datareload/mixin/loader/TagGroupMixin.java index 7e4e99b..0f37120 100644 --- a/src/main/java/suso/datareload/mixin/loader/TagGroupMixin.java +++ b/src/main/java/suso/datareload/mixin/loader/TagGroupMixin.java @@ -54,7 +54,7 @@ public Object[] jsonError(Object[] args) { remap = false ) ) - private static void referenceError(Identifier id, Collection collection, CallbackInfo ci) { + private static void referenceError(Identifier id, List collection, CallbackInfo ci) { Text t = Text.literal("\n") .append(Utility.strToText("- Couldn't load tag ", Formatting.RED)) .append(Utility.strToText(id.toString(), Formatting.AQUA)) diff --git a/src/main/resources/datareload.mixins.json b/src/main/resources/datareload.mixins.json index 4c941e7..6f1b120 100644 --- a/src/main/resources/datareload.mixins.json +++ b/src/main/resources/datareload.mixins.json @@ -8,7 +8,6 @@ "loader.FunctionMixin", "loader.JsonDataMixin", "loader.LootMixin", - "loader.RecipeMixin", "loader.ResourcePackMixin", "loader.ServerAdvancementMixin", "loader.TagGroupMixin"