package net.radsteve.islanders.mixin; import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.radsteve.islanders.rule.RuleManager; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(ItemStack.class) public abstract class ItemStackMixin { @Shadow public abstract Item getItem(); @WrapMethod(method = "getMaxCount") private int islanders$getMaxCount(Operation original) { final Integer limit = RuleManager.INSTANCE.limitFor(getItem()); if (limit == null) { return original.call(); } else { return limit; } } }