35 lines
1.4 KiB
Java
35 lines
1.4 KiB
Java
package io.gitlab.jfronny.combit.mixin;
|
|
|
|
import io.gitlab.jfronny.combit.CombitConfig;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.client.gui.hud.InGameHud;
|
|
import net.minecraft.client.option.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$attackIndicator;
|
|
|
|
@Inject(at = @At("HEAD"), method = "renderCrosshair(Lnet/minecraft/client/util/math/MatrixStack;)V")
|
|
private void renderCrosshair(MatrixStack matrices, CallbackInfo info) {
|
|
if (CombitConfig.cooldownProgressOverride >= 0) {
|
|
combit$attackIndicator = 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) {
|
|
if (CombitConfig.cooldownProgressOverride >= 0) {
|
|
this.client.options.attackIndicator = combit$attackIndicator;
|
|
}
|
|
}
|
|
}
|