fabric-rendering-v1-16.2.0+bee81f016f.jar

Download file
    package net.fabricmc.fabric.impl.client.rendering;

import java.util.HashMap;
import java.util.Objects;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer;
import net.minecraft.class_1792;
import net.minecraft.class_1935;
import net.minecraft.class_5617;
import net.minecraft.class_7923;
import org.jetbrains.annotations.Nullable;

@Environment(EnvType.CLIENT)
public class ArmorRendererRegistryImpl {
   private static final HashMap<class_1792, ArmorRenderer.Factory> FACTORIES = new HashMap();
   private static final HashMap<class_1792, ArmorRenderer> RENDERERS = new HashMap();

   public static void register(ArmorRenderer.Factory factory, class_1935... items) {
      Objects.requireNonNull(factory, "renderer factory is null");
      if (items.length == 0) {
         throw new IllegalArgumentException("Armor renderer registered for no item");
      } else {
         for(class_1935 item : items) {
            Objects.requireNonNull(item.method_8389(), "armor item is null");
            if (FACTORIES.putIfAbsent(item.method_8389(), factory) != null) {
               String var10002 = String.valueOf(class_7923.field_41178.method_10221(item.method_8389()));
               throw new IllegalArgumentException("Custom armor renderer already exists for " + var10002);
            }
         }

      }
   }

   public static void register(ArmorRenderer renderer, class_1935... items) {
      Objects.requireNonNull(renderer, "renderer is null");
      register((ArmorRenderer.Factory)((context) -> renderer), items);
   }

   public static @Nullable ArmorRenderer get(class_1792 item) {
      return (ArmorRenderer)RENDERERS.get(item);
   }

   public static void createArmorRenderers(class_5617.class_5618 context) {
      RENDERERS.clear();
      FACTORIES.forEach((item, factory) -> RENDERERS.put(item, factory.createArmorRenderer(context)));
   }
}
    
Download file