package asm.mixins;

import dev.crucifixbeta.api.interfaces.IChatHudLineHook;
import dev.crucifixbeta.api.utils.math.FadeUtils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.hud.ChatHudLine.Visible;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;

@Environment(EnvType.CLIENT)
@Mixin({Visible.class})
public class MixinChatHudLineVisible implements IChatHudLineHook {
   @Unique
   private int id = 0;
   @Unique
   private boolean sync = false;
   @Unique
   private FadeUtils fade;

   @Override
   public int frogClient$getMessageId() {
      return this.id;
   }

   @Override
   public void frogClient$setMessageId(int id) {
      this.id = id;
   }

   @Override
   public boolean frogClient$getSync() {
      return this.sync;
   }

   @Override
   public void frogClient$setSync(boolean sync) {
      this.sync = sync;
   }

   @Override
   public FadeUtils frogClient$getFade() {
      return this.fade;
   }

   @Override
   public void frogClient$setFade(FadeUtils fade) {
      this.fade = fade;
   }
}
