From cc242efd4824c89d0d7dd82a8921d81d84b20399 Mon Sep 17 00:00:00 2001 From: Su5eD Date: Wed, 29 Jan 2025 14:43:08 +0100 Subject: [PATCH] Fix NeoForge mixin conflict Fixes #189 --- ...fersTypeAwareBuyForOneEmeraldFactoryMixin.java | 15 --------------- ffapi.gradle.properties | 4 ++-- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/TradeOffersTypeAwareBuyForOneEmeraldFactoryMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/TradeOffersTypeAwareBuyForOneEmeraldFactoryMixin.java index eb153b5fa..c0f4fc95f 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/TradeOffersTypeAwareBuyForOneEmeraldFactoryMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/TradeOffersTypeAwareBuyForOneEmeraldFactoryMixin.java @@ -16,34 +16,19 @@ package net.fabricmc.fabric.mixin.object.builder; -import java.util.stream.Stream; -import net.minecraft.core.DefaultedRegistry; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.entity.npc.VillagerType; import net.minecraft.world.item.trading.ItemCost; import net.minecraft.world.item.trading.MerchantOffer; import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(VillagerTrades.EmeraldsForVillagerTypeItem.class) public abstract class TradeOffersTypeAwareBuyForOneEmeraldFactoryMixin { - /** - * Vanilla will check the "VillagerType -> Item" map in the stream and throw an exception for villager types not specified in the map. - * This breaks any and all custom villager types. - * We want to prevent this default logic so modded villager types will work. - * So we return an empty stream so an exception is never thrown. - */ - @Redirect(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/DefaultedRegistry;stream()Ljava/util/stream/Stream;")) - private Stream disableVanillaCheck(DefaultedRegistry instance) { - return Stream.empty(); - } - /** * To prevent "item" -> "air" trades, if the result of a type aware trade is air, make sure no offer is created. */ diff --git a/ffapi.gradle.properties b/ffapi.gradle.properties index 3cb322544..9fbf363dc 100644 --- a/ffapi.gradle.properties +++ b/ffapi.gradle.properties @@ -1,10 +1,10 @@ loom.platform=neoforge fabric.loom.dontRemap=true -implementationVersion=2.0.22 +implementationVersion=2.0.23 versionMc=1.21.1 -versionForge=21.1.57 +versionForge=21.1.115 versionForgifiedFabricLoader=2.5.29+0.16.0+1.21 versionFabricLoader=0.16.0