From 16abb81b15d8407336a205c61a9922db8dd3abb5 Mon Sep 17 00:00:00 2001 From: JFronny Date: Fri, 17 Sep 2021 15:03:13 +0200 Subject: [PATCH] Partially revert fapi fix and simply ignore fapi packs in ReloadableResourceManagerImplMixin (at least for now) --- gradle.properties | 2 +- .../libjf/data/IModNioResourcePack.java | 11 ----- .../jfronny/libjf/data/WrappedPack.java | 6 +-- .../WrappedModNioResourcePack.java | 47 ------------------- .../libjf/mixin/ModNioResourcePackMixin.java | 32 ------------- .../ReloadableResourceManagerImplMixin.java | 4 +- src/main/resources/libjf.mixins.json | 2 +- 7 files changed, 7 insertions(+), 97 deletions(-) delete mode 100644 src/main/java/io/gitlab/jfronny/libjf/data/IModNioResourcePack.java delete mode 100644 src/main/java/io/gitlab/jfronny/libjf/data/wrappedPackImpl/WrappedModNioResourcePack.java delete mode 100644 src/main/java/io/gitlab/jfronny/libjf/mixin/ModNioResourcePackMixin.java diff --git a/gradle.properties b/gradle.properties index 67bbb48..121e36e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.17.1 yarn_mappings=build.61 loader_version=0.11.6 # Mod Properties -mod_version=1.2.1 +mod_version=1.2.2 maven_group=io.gitlab.jfronny archives_base_name=libjf diff --git a/src/main/java/io/gitlab/jfronny/libjf/data/IModNioResourcePack.java b/src/main/java/io/gitlab/jfronny/libjf/data/IModNioResourcePack.java deleted file mode 100644 index 7a8a50c..0000000 --- a/src/main/java/io/gitlab/jfronny/libjf/data/IModNioResourcePack.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.gitlab.jfronny.libjf.data; - -import net.minecraft.resource.ResourceType; - -import java.nio.file.Path; - -public interface IModNioResourcePack { - Path getBasePath(); - ResourceType getResourceType(); - AutoCloseable getCloser(); -} diff --git a/src/main/java/io/gitlab/jfronny/libjf/data/WrappedPack.java b/src/main/java/io/gitlab/jfronny/libjf/data/WrappedPack.java index 059b2e4..e2842a4 100644 --- a/src/main/java/io/gitlab/jfronny/libjf/data/WrappedPack.java +++ b/src/main/java/io/gitlab/jfronny/libjf/data/WrappedPack.java @@ -1,16 +1,14 @@ package io.gitlab.jfronny.libjf.data; -import io.gitlab.jfronny.libjf.data.wrappedPackImpl.WrappedModNioResourcePack; import io.gitlab.jfronny.libjf.data.wrappedPackImpl.WrappedResourcePack; -import net.fabricmc.fabric.impl.resource.loader.ModNioResourcePack; import net.minecraft.resource.ResourcePack; public interface WrappedPack extends ResourcePack { ResourcePack getUnderlying(); static WrappedPack create(ResourcePack underlying) { - if (underlying instanceof ModNioResourcePack mi) - return new WrappedModNioResourcePack(mi); + //if (underlying instanceof ModNioResourcePack mi) + // return new WrappedModNioResourcePack(mi); return new WrappedResourcePack(underlying); } } diff --git a/src/main/java/io/gitlab/jfronny/libjf/data/wrappedPackImpl/WrappedModNioResourcePack.java b/src/main/java/io/gitlab/jfronny/libjf/data/wrappedPackImpl/WrappedModNioResourcePack.java deleted file mode 100644 index 233c3db..0000000 --- a/src/main/java/io/gitlab/jfronny/libjf/data/wrappedPackImpl/WrappedModNioResourcePack.java +++ /dev/null @@ -1,47 +0,0 @@ -package io.gitlab.jfronny.libjf.data.wrappedPackImpl; - -import io.gitlab.jfronny.libjf.data.IModNioResourcePack; -import io.gitlab.jfronny.libjf.data.WrappedPack; -import net.fabricmc.fabric.impl.resource.loader.ModNioResourcePack; -import net.minecraft.resource.ResourcePack; -import net.minecraft.resource.ResourceType; -import net.minecraft.util.Identifier; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.function.Predicate; - -public class WrappedModNioResourcePack extends ModNioResourcePack implements WrappedPack { - private final ModNioResourcePack underlying; - - public WrappedModNioResourcePack(ModNioResourcePack underlying) { - super(underlying.getFabricModMetadata(), ((IModNioResourcePack)underlying).getBasePath(), ((IModNioResourcePack)underlying).getResourceType(), ((IModNioResourcePack)underlying).getCloser(), underlying.getActivationType()); - this.underlying = underlying; - } - - @Override - public ResourcePack getUnderlying() { - return underlying; - } - - @Override - public Collection findResources(ResourceType type, String namespace, String path, int depth, Predicate predicate) { - return EventCallImpl.hookFindResources(this, type, namespace, path, depth, predicate); - } - - @Override - public InputStream open(ResourceType type, Identifier id) throws IOException { - return EventCallImpl.hookOpen(this, type, id); - } - - @Override - public boolean contains(ResourceType type, Identifier id) { - return EventCallImpl.hookContains(this, type, id); - } - - @Override - public InputStream openRoot(String fileName) throws IOException { - return EventCallImpl.hookOpenRoot(this, fileName); - } -} diff --git a/src/main/java/io/gitlab/jfronny/libjf/mixin/ModNioResourcePackMixin.java b/src/main/java/io/gitlab/jfronny/libjf/mixin/ModNioResourcePackMixin.java deleted file mode 100644 index cb7d3e4..0000000 --- a/src/main/java/io/gitlab/jfronny/libjf/mixin/ModNioResourcePackMixin.java +++ /dev/null @@ -1,32 +0,0 @@ -package io.gitlab.jfronny.libjf.mixin; - -import io.gitlab.jfronny.libjf.data.IModNioResourcePack; -import net.fabricmc.fabric.impl.resource.loader.ModNioResourcePack; -import net.minecraft.resource.ResourceType; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import java.nio.file.Path; - -@Mixin(ModNioResourcePack.class) -public class ModNioResourcePackMixin implements IModNioResourcePack { - @Shadow @Final private ResourceType type; - @Shadow @Final private AutoCloseable closer; - @Shadow @Final private Path basePath; - - @Override - public Path getBasePath() { - return basePath; - } - - @Override - public ResourceType getResourceType() { - return type; - } - - @Override - public AutoCloseable getCloser() { - return closer; - } -} diff --git a/src/main/java/io/gitlab/jfronny/libjf/mixin/ReloadableResourceManagerImplMixin.java b/src/main/java/io/gitlab/jfronny/libjf/mixin/ReloadableResourceManagerImplMixin.java index bfa8b07..2422390 100644 --- a/src/main/java/io/gitlab/jfronny/libjf/mixin/ReloadableResourceManagerImplMixin.java +++ b/src/main/java/io/gitlab/jfronny/libjf/mixin/ReloadableResourceManagerImplMixin.java @@ -1,6 +1,8 @@ package io.gitlab.jfronny.libjf.mixin; import io.gitlab.jfronny.libjf.data.WrappedPack; +import net.fabricmc.fabric.impl.resource.loader.FabricModResourcePack; +import net.fabricmc.fabric.impl.resource.loader.ModNioResourcePack; import net.minecraft.resource.ReloadableResourceManagerImpl; import net.minecraft.resource.ResourcePack; import org.spongepowered.asm.mixin.Mixin; @@ -11,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.ModifyVariable; public class ReloadableResourceManagerImplMixin { @ModifyVariable(method = "addPack(Lnet/minecraft/resource/ResourcePack;)V", at = @At("HEAD"), argsOnly = true, ordinal = 0) private ResourcePack modifyPack(ResourcePack pack) { - if (pack instanceof WrappedPack) { + if (pack instanceof WrappedPack || pack instanceof ModNioResourcePack || pack instanceof FabricModResourcePack) { //TODO use ASM for this to allow mod resource packs return pack; } return WrappedPack.create(pack); diff --git a/src/main/resources/libjf.mixins.json b/src/main/resources/libjf.mixins.json index 3402e95..e028685 100644 --- a/src/main/resources/libjf.mixins.json +++ b/src/main/resources/libjf.mixins.json @@ -5,8 +5,8 @@ "compatibilityLevel": "JAVA_16", "mixins": [ "EntityMixin", - "ModNioResourcePackMixin", "RecipeManagerMixin", + "ReloadableResourceManagerImplMixin", "ShulkerBoxBlockEntityMixin", "ShulkerBoxSlotMixin" ],