38 lines
1.6 KiB
Java
38 lines
1.6 KiB
Java
package io.gitlab.jfronny.combit.mixin;
|
|
|
|
import io.gitlab.jfronny.combit.Combit;
|
|
import io.gitlab.jfronny.combit.config.AttackDelay;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.client.gui.hud.InGameHud;
|
|
import net.minecraft.client.options.AttackIndicator;
|
|
import net.minecraft.client.util.math.MatrixStack;
|
|
import org.spongepowered.asm.mixin.Final;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
@Mixin(InGameHud.class)
|
|
public class InGameHudMixin {
|
|
@Shadow @Final private MinecraftClient client;
|
|
private AttackIndicator combit_a;
|
|
|
|
@Inject(at = @At("HEAD"), method = "renderCrosshair(Lnet/minecraft/client/util/math/MatrixStack;)V")
|
|
private void renderCrosshair(MatrixStack matrices, CallbackInfo info) {
|
|
AttackDelay attackDelay = Combit.getCfg().attackDelay;
|
|
if (attackDelay.enable && attackDelay.cooldownProgressOverride >= 0) {
|
|
combit_a = this.client.options.attackIndicator;
|
|
this.client.options.attackIndicator = AttackIndicator.OFF;
|
|
}
|
|
}
|
|
|
|
@Inject(at = @At("RETURN"), method = "renderCrosshair(Lnet/minecraft/client/util/math/MatrixStack;)V")
|
|
private void renderCrosshairPost(MatrixStack matrices, CallbackInfo info) {
|
|
AttackDelay attackDelay = Combit.getCfg().attackDelay;
|
|
if (attackDelay.enable && attackDelay.cooldownProgressOverride >= 0) {
|
|
this.client.options.attackIndicator = combit_a;
|
|
}
|
|
}
|
|
}
|