package net.fabricmc.fabric.impl.renderer;

import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.Renderer;
import net.minecraft.class_11605;
import net.minecraft.class_11630;
import net.minecraft.class_11631;
import net.minecraft.class_11632;
import net.minecraft.class_1937;
import net.minecraft.class_2818;
import net.minecraft.class_2960;
import org.jetbrains.annotations.Nullable;

@Environment(EnvType.CLIENT)
public class DebugHudClient implements ClientModInitializer {
   public static class_2960 ACTIVE_RENDERER = class_11631.method_72763(class_2960.method_60655("fabric", "active_renderer"), new ActiveRendererDebugHudEntry());

   public void onInitializeClient() {
   }

   @Environment(EnvType.CLIENT)
   private static class ActiveRendererDebugHudEntry implements class_11632 {
      public void method_72751(class_11630 lines, @Nullable class_1937 world, @Nullable class_2818 clientChunk, @Nullable class_2818 chunk) {
         lines.method_72747("[Fabric] Active renderer: " + Renderer.get().getClass().getSimpleName());
      }

      public boolean method_72753(boolean reducedDebugInfo) {
         return true;
      }

      public class_11605 method_72759() {
         return class_11605.field_61538;
      }
   }
}
