package net.fabricmc.fabric.api.renderer.v1.render;

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.Renderer;
import net.minecraft.class_1087;
import net.minecraft.class_1920;
import net.minecraft.class_2338;
import net.minecraft.class_2680;
import net.minecraft.class_4587;
import net.minecraft.class_778;

@Environment(EnvType.CLIENT)
public interface FabricBlockModelRenderer {
   default void render(class_1920 blockView, class_1087 model, class_2680 state, class_2338 pos, class_4587 matrices, BlockVertexConsumerProvider vertexConsumers, boolean cull, long seed, int overlay) {
      Renderer.get().render((class_778)this, blockView, model, state, pos, matrices, vertexConsumers, cull, seed, overlay);
   }

   static void render(class_4587.class_4665 matrices, BlockVertexConsumerProvider vertexConsumers, class_1087 model, float red, float green, float blue, int light, int overlay, class_1920 blockView, class_2338 pos, class_2680 state) {
      Renderer.get().render(matrices, vertexConsumers, model, red, green, blue, light, overlay, blockView, pos, state);
   }
}
