fabric-resource-loader-v0-3.3.1+d4d4122a6f.jar

Download file
    package net.fabricmc.fabric.impl.resource.loader;

import com.google.gson.JsonElement;
import com.mojang.serialization.DataResult;
import com.mojang.serialization.JsonOps;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Set;
import net.minecraft.class_155;
import net.minecraft.class_2561;
import net.minecraft.class_2960;
import net.minecraft.class_3262;
import net.minecraft.class_3264;
import net.minecraft.class_3272;
import net.minecraft.class_3288;
import net.minecraft.class_7367;
import net.minecraft.class_7662;
import net.minecraft.class_7677;
import net.minecraft.class_9224;
import org.apache.commons.io.IOUtils;
import org.jetbrains.annotations.Nullable;

public record PlaceholderResourcePack(class_3264 type, class_9224 metadata) implements class_3262 {
   private static final class_2561 DESCRIPTION_TEXT = class_2561.method_43471("pack.description.modResources");

   public class_3272 getMetadata() {
      return ModResourcePackUtil.getMetadataPack(class_155.method_16673().method_70592(this.type), DESCRIPTION_TEXT);
   }

   public @Nullable class_7367<InputStream> method_14410(String... segments) {
      if (segments.length > 0) {
         switch (segments[0]) {
            case "pack.mcmeta" -> {
               return () -> {
                  DataResult<JsonElement> result = class_3272.method_72360(this.type).encodeStart(JsonOps.INSTANCE, this.getMetadata());
                  String metadata = ((JsonElement)result.getOrThrow()).toString();
                  return IOUtils.toInputStream(metadata, StandardCharsets.UTF_8);
               };
            }
            case "pack.png" -> {
               return ModResourcePackUtil::getDefaultIcon;
            }
         }
      }

      return null;
   }

   public @Nullable class_7367<InputStream> method_14405(class_3264 type, class_2960 id) {
      return null;
   }

   public void method_14408(class_3264 type, String namespace, String prefix, class_3262.class_7664 consumer) {
   }

   public Set<String> method_14406(class_3264 type) {
      return Collections.emptySet();
   }

   public <T> @Nullable T method_14407(class_7677<T> metaReader) {
      return (T)class_7662.method_45174(class_3272.method_72356(this.type), this.getMetadata()).method_45173(metaReader);
   }

   public class_9224 method_56926() {
      return this.metadata;
   }

   public String method_14409() {
      return "fabric";
   }

   public void close() {
   }

   public static record Factory(class_3264 type, class_9224 metadata) implements class_3288.class_7680 {
      public class_3262 method_52424(class_9224 var1) {
         return new PlaceholderResourcePack(this.type, this.metadata);
      }

      public class_3262 method_52425(class_9224 var1, class_3288.class_7679 metadata) {
         return this.method_52424(var1);
      }
   }
}
    
Download file