diff --git a/src/main/java/dev/pfaff/recipe_nope/injector/ForceUnconstrainedRedirectInjectionInfo.java b/src/main/java/dev/pfaff/recipe_nope/injector/ForceUnconstrainedRedirectInjectionInfo.java deleted file mode 100644 index 80509ef..0000000 --- a/src/main/java/dev/pfaff/recipe_nope/injector/ForceUnconstrainedRedirectInjectionInfo.java +++ /dev/null @@ -1,26 +0,0 @@ -package dev.pfaff.recipe_nope.injector; - -import org.objectweb.asm.tree.AnnotationNode; -import org.objectweb.asm.tree.MethodNode; -import org.spongepowered.asm.mixin.injection.Redirect; -import org.spongepowered.asm.mixin.injection.code.Injector; -import org.spongepowered.asm.mixin.injection.struct.InjectionInfo; -import org.spongepowered.asm.mixin.transformer.MixinTargetContext; - -@InjectionInfo.AnnotationType(Redirect.class) -@InjectionInfo.HandlerPrefix("redirect") -public final class ForceUnconstrainedRedirectInjectionInfo extends InjectionInfo { - public ForceUnconstrainedRedirectInjectionInfo(MixinTargetContext mixin, MethodNode method, AnnotationNode annotation) { - super(mixin, method, annotation); - } - - @Override - protected Injector parseInjector(AnnotationNode injectAnnotation) { - return new UnconstrainedRedirectInjector(this, "@Redirect"); - } - - @Override - protected String getDescription() { - return "UnconstrainedRedirector"; - } -} diff --git a/src/main/java/dev/pfaff/recipe_nope/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/dev/pfaff/recipe_nope/mixin/ClientPlayNetworkHandlerMixin.java index 7850c75..fb12313 100644 --- a/src/main/java/dev/pfaff/recipe_nope/mixin/ClientPlayNetworkHandlerMixin.java +++ b/src/main/java/dev/pfaff/recipe_nope/mixin/ClientPlayNetworkHandlerMixin.java @@ -1,6 +1,5 @@ package dev.pfaff.recipe_nope.mixin; -import dev.pfaff.recipe_nope.injector.UnconstrainedRedirect; import net.minecraft.client.ClientRecipeBook; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.world.item.crafting.Recipe; @@ -10,10 +9,12 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(ClientPacketListener.class) public abstract class ClientPlayNetworkHandlerMixin { - @UnconstrainedRedirect(method = "*", at = @At(value = "NEW", target = "()Lnet/minecraft/client/ClientRecipeBook;")) - private ClientRecipeBook onGameJoin$noRecipeBook() { - return null; - } + // for some reason the exact method name does not work outside of dev environment, and using wildcard causes game + // to freeze upon opening crafting table the first time (why then and not upon world join?) + //@UnconstrainedRedirect(method = "*", at = @At(value = "NEW", target = "()Lnet/minecraft/client/ClientRecipeBook;")) + //private ClientRecipeBook onGameJoin$noRecipeBook() { + // return null; + //} @Redirect(method = "handleUpdateRecipes", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/ClientRecipeBook;setupCollections(Ljava/lang/Iterable;)V")) private void onSynchronizeRecipes$noRecipeBook(ClientRecipeBook instance, Iterable> recipes) {