54 lines
2.3 KiB
Java
54 lines
2.3 KiB
Java
package io.gitlab.jfronny.respackopts.filters;
|
|
|
|
import io.gitlab.jfronny.libjf.data.manipulation.api.UserResourceEvents;
|
|
import io.gitlab.jfronny.respackopts.Respackopts;
|
|
import net.minecraft.resource.*;
|
|
import net.minecraft.resource.metadata.ResourceMetadataReader;
|
|
import net.minecraft.util.Identifier;
|
|
|
|
import java.io.InputStream;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
import java.util.function.Supplier;
|
|
|
|
public enum DebugEvents implements UserResourceEvents.FindResource, UserResourceEvents.ParseMetadata, UserResourceEvents.Open, UserResourceEvents.OpenRoot {
|
|
INSTANCE;
|
|
|
|
public static void init() {
|
|
UserResourceEvents.FIND_RESOURCE.register(INSTANCE);
|
|
UserResourceEvents.PARSE_METADATA.register(INSTANCE);
|
|
UserResourceEvents.OPEN.register(INSTANCE);
|
|
UserResourceEvents.OPEN_ROOT.register(INSTANCE);
|
|
}
|
|
|
|
@Override
|
|
public ResourcePack.ResultConsumer findResources(ResourceType type, String namespace, String prefix, ResourcePack.ResultConsumer previous, ResourcePack pack) {
|
|
Respackopts.LOGGER.info("FIND_RESOURCE " + type + " in " + namespace + " " + prefix + " of " + pack.getId());
|
|
Set<Identifier> results = new HashSet<>();
|
|
return (identifier, inputStreamInputSupplier) -> {
|
|
if (!results.add(identifier)) {
|
|
Respackopts.LOGGER.warn("Duplicate identifier returned by findResources: " + identifier);
|
|
}
|
|
previous.accept(identifier, inputStreamInputSupplier);
|
|
};
|
|
}
|
|
|
|
@Override
|
|
public InputSupplier<InputStream> open(ResourceType type, Identifier id, InputSupplier<InputStream> previous, ResourcePack pack) {
|
|
Respackopts.LOGGER.info("OPEN " + type + " at " + id + " of " + pack.getId());
|
|
return previous;
|
|
}
|
|
|
|
@Override
|
|
public InputSupplier<InputStream> openRoot(String[] fileName, InputSupplier<InputStream> previous, ResourcePack pack) {
|
|
Respackopts.LOGGER.info("OPEN_ROOT " + String.join("/", fileName) + " of " + pack.getId());
|
|
return previous;
|
|
}
|
|
|
|
@Override
|
|
public <T> T parseMetadata(ResourceMetadataReader<T> reader, Supplier<T> previous, ResourcePack pack) {
|
|
Respackopts.LOGGER.info("PARSE_METADATA " + reader.getKey() + " of " + pack.getId());
|
|
return previous.get();
|
|
}
|
|
}
|