minecraft-src/net/minecraft/server/packs/PackResources.java
2025-07-04 03:15:13 +03:00

46 lines
1.3 KiB
Java

package net.minecraft.server.packs;
import java.io.IOException;
import java.io.InputStream;
import java.util.Optional;
import java.util.Set;
import java.util.function.BiConsumer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.metadata.MetadataSectionType;
import net.minecraft.server.packs.repository.KnownPack;
import net.minecraft.server.packs.resources.IoSupplier;
import org.jetbrains.annotations.Nullable;
public interface PackResources extends AutoCloseable {
String METADATA_EXTENSION = ".mcmeta";
String PACK_META = "pack.mcmeta";
@Nullable
IoSupplier<InputStream> getRootResource(String... elements);
@Nullable
IoSupplier<InputStream> getResource(PackType packType, ResourceLocation location);
void listResources(PackType packType, String namespace, String path, PackResources.ResourceOutput resourceOutput);
Set<String> getNamespaces(PackType type);
@Nullable
<T> T getMetadataSection(MetadataSectionType<T> type) throws IOException;
PackLocationInfo location();
default String packId() {
return this.location().id();
}
default Optional<KnownPack> knownPackInfo() {
return this.location().knownPackInfo();
}
void close();
@FunctionalInterface
public interface ResourceOutput extends BiConsumer<ResourceLocation, IoSupplier<InputStream>> {
}
}