Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / ResourceDataAbstract.java
package net.minecraft.server;

import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;

public abstract class ResourceDataAbstract<T> implements IReloadListener {

    public ResourceDataAbstract() {}

    @Override
    public final CompletableFuture<Void> a(IReloadListener.a ireloadlistener_a, IResourceManager iresourcemanager, GameProfilerFiller gameprofilerfiller, GameProfilerFiller gameprofilerfiller1, Executor executor, Executor executor1) {
        CompletableFuture completablefuture = CompletableFuture.supplyAsync(() -> {
            return this.b(iresourcemanager, gameprofilerfiller);
        }, executor);

        ireloadlistener_a.getClass();
        return completablefuture.thenCompose(ireloadlistener_a::a).thenAcceptAsync((object) -> {
            this.a(object, iresourcemanager, gameprofilerfiller1);
        }, executor1);
    }

    protected abstract T b(IResourceManager iresourcemanager, GameProfilerFiller gameprofilerfiller);

    protected abstract void a(T t0, IResourceManager iresourcemanager, GameProfilerFiller gameprofilerfiller);
}