]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/server/management/MixinPlayerInteractionManager.java
c430a1ec7f89e5f934afe9268b3419d8b207c215
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / server / management / MixinPlayerInteractionManager.java
1 package com.irtimaled.bbor.mixin.server.management;
2
3 import com.irtimaled.bbor.common.EventBus;
4 import com.irtimaled.bbor.common.events.MobSpawnerBroken;
5 import net.minecraft.block.Block;
6 import net.minecraft.block.BlockMobSpawner;
7 import net.minecraft.server.management.PlayerInteractionManager;
8 import net.minecraft.util.math.BlockPos;
9 import net.minecraft.world.World;
10 import org.spongepowered.asm.mixin.Mixin;
11 import org.spongepowered.asm.mixin.Shadow;
12 import org.spongepowered.asm.mixin.injection.At;
13 import org.spongepowered.asm.mixin.injection.Inject;
14 import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
15
16 @Mixin(PlayerInteractionManager.class)
17 public class MixinPlayerInteractionManager {
18     @Shadow
19     public World world;
20
21     @Inject(method = "tryHarvestBlock", at = @At("HEAD"))
22     private void tryHarvestBlock(BlockPos pos, CallbackInfoReturnable<Boolean> cir) {
23         Block block = this.world.getBlockState(pos).getBlock();
24         if (block instanceof BlockMobSpawner) {
25             EventBus.publish(new MobSpawnerBroken(this.world.dimension.getType(), pos));
26         }
27     }
28 }