package b; import defpackage.*; import net.minecraft.client.Minecraft; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(Minecraft.class) public abstract class am { @Unique private static boolean evo$cosmeticBlocksInteraction() { return tc.blocksInteraction() || sy.blocksInteraction() || tb.blocksInteraction(); } @Inject(method = "startAttack()Z", at = @At("HEAD"), cancellable = true) private void evo$blockWatchAttack(CallbackInfoReturnable callback) { if (evo$cosmeticBlocksInteraction()) { callback.setReturnValue(Boolean.FALSE); } } @Inject(method = "continueAttack(Z)V", at = @At("HEAD"), cancellable = true) private void evo$blockWatchMining(boolean hitting, CallbackInfo callback) { if (evo$cosmeticBlocksInteraction()) { callback.cancel(); } } @Inject(method = "startUseItem()V", at = @At("HEAD"), cancellable = true) private void evo$blockWatchUse(CallbackInfo callback) { if (evo$cosmeticBlocksInteraction()) { callback.cancel(); } } }