From 5cfa7c1b456023baabdbbb868173dc29cd7dfef9 Mon Sep 17 00:00:00 2001 From: skippyall <121978267+skippyall@users.noreply.github.com> Date: Sun, 24 May 2026 14:15:25 +0200 Subject: [PATCH] No infinite emerald trades --- .../de/foxgalaxy/villa/mixin/MerchantOfferMixin.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/foxgalaxy/villa/mixin/MerchantOfferMixin.java b/src/main/java/de/foxgalaxy/villa/mixin/MerchantOfferMixin.java index 4cc0842..63a4d4a 100644 --- a/src/main/java/de/foxgalaxy/villa/mixin/MerchantOfferMixin.java +++ b/src/main/java/de/foxgalaxy/villa/mixin/MerchantOfferMixin.java @@ -1,15 +1,25 @@ package de.foxgalaxy.villa.mixin; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.item.trading.MerchantOffer; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(MerchantOffer.class) public class MerchantOfferMixin { + @Shadow + @Final + private ItemStack result; + @Inject(method = "increaseUses", at = @At("HEAD"), cancellable = true) private void cancelUseIncrease(CallbackInfo ci) { - ci.cancel(); + if(!result.is(Items.EMERALD)) { + ci.cancel(); + } } }