evo/src/main/java/b/am.java

39 lines
1.3 KiB
Java

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<Boolean> 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();
}
}
}