mod for the islanders smp
at master 29 lines 1.2 kB view raw
1package net.radsteve.islanders.mixin; 2 3import com.llamalad7.mixinextras.sugar.Local; 4import net.minecraft.entity.player.PlayerEntity; 5import net.minecraft.item.ItemStack; 6import net.minecraft.screen.CrafterScreenHandler; 7import net.radsteve.islanders.Islanders; 8import net.radsteve.islanders.SpecialItem; 9import org.spongepowered.asm.mixin.Final; 10import org.spongepowered.asm.mixin.Mixin; 11import org.spongepowered.asm.mixin.Shadow; 12import org.spongepowered.asm.mixin.injection.At; 13import org.spongepowered.asm.mixin.injection.Inject; 14import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 15 16@Mixin(CrafterScreenHandler.class) 17public class CrafterScreenHandlerMixin { 18 @Shadow 19 @Final 20 private PlayerEntity player; 21 22 @Inject(method = "updateResult", at = @At(value = "INVOKE", target = "Lnet/minecraft/inventory/CraftingResultInventory;setStack(ILnet/minecraft/item/ItemStack;)V"), cancellable = true) 23 private void islanders$updateResult(CallbackInfo ci, @Local ItemStack stack) { 24 if (SpecialItem.Companion.find(stack) != null) { 25 Islanders.getLogger().info("{} tried crafting special item via crafter", player.getNameForScoreboard()); 26 ci.cancel(); 27 } 28 } 29}