package wtf.opal.client.screen.click;

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.input.KeyInput;

@Environment(EnvType.CLIENT)
public interface IOpalComponent {
   default void init() {
   }

   default void close() {
   }

   void render(DrawContext drawContext, int i, int j, float f);

   void mouseClicked(double d, double e, int i);

   default void mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
   }

   default void mouseReleased(double mouseX, double mouseY, int button) {
   }

   default void keyPressed(KeyInput keyInput) {
   }

   default void charTyped(char chr, int modifiers) {
   }
}
