Combit/src/main/java/io/gitlab/jfronny/combit/mixin/InGameHudMixin.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;
}
}
}