mod for the islanders smp
1package net.radsteve.islanders.mixin;
2
3import net.minecraft.entity.player.PlayerEntity;
4import net.minecraft.item.ItemStack;
5import net.minecraft.screen.slot.CraftingResultSlot;
6import net.minecraft.server.network.ServerPlayerEntity;
7import net.radsteve.islanders.Islanders;
8import net.radsteve.islanders.SpecialItem;
9import net.radsteve.islanders.crown.CrownAnimation;
10import org.spongepowered.asm.mixin.Final;
11import org.spongepowered.asm.mixin.Mixin;
12import org.spongepowered.asm.mixin.Shadow;
13import org.spongepowered.asm.mixin.injection.At;
14import org.spongepowered.asm.mixin.injection.Inject;
15import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
16
17@Mixin(CraftingResultSlot.class)
18public class CraftingResultSlotMixin {
19 @Shadow
20 @Final
21 private PlayerEntity player;
22
23 @Inject(method = "onCrafted(Lnet/minecraft/item/ItemStack;)V", at = @At("HEAD"))
24 private void islanders$onCrafted(ItemStack stack, CallbackInfo ci) {
25 if (SpecialItem.Crown.check(stack)) {
26 Islanders.getLogger().info("{} crafted the Islanders Crown!", player.getNameForScoreboard());
27 CrownAnimation.INSTANCE.craftingFinished((ServerPlayerEntity) player);
28 }
29 }
30}