Skip to content

Commit

Permalink
Backported DataMapProvider#gather overload passing the registry provi…
Browse files Browse the repository at this point in the history
…der (#1952)
  • Loading branch information
thomasglasser authored Feb 25, 2025
1 parent 45bfd65 commit eb13a3f
Showing 1 changed file with 14 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import net.minecraft.data.CachedOutput;
import net.minecraft.data.DataProvider;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.RegistryOps;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
Expand Down Expand Up @@ -60,10 +59,10 @@ protected DataMapProvider(PackOutput packOutput, CompletableFuture<HolderLookup.

@Override
public CompletableFuture<?> run(CachedOutput cache) {
gather();

return lookupProvider.thenCompose(provider -> {
final DynamicOps<JsonElement> dynamicOps = RegistryOps.create(JsonOps.INSTANCE, provider);
gather(provider);

final DynamicOps<JsonElement> dynamicOps = provider.createSerializationContext(JsonOps.INSTANCE);

return CompletableFuture.allOf(this.builders.entrySet().stream().map(entry -> {
DataMapType<?, ?> type = entry.getKey();
Expand All @@ -80,10 +79,20 @@ private <T, R> CompletableFuture<?> generate(Path out, CachedOutput cache, Build
}).thenComposeAsync(encoded -> DataProvider.saveStable(cache, encoded, out));
}

/**
* Generate data map entries.
*
* @deprecated Use {@link #gather(HolderLookup.Provider)} instead.
*/
@Deprecated(forRemoval = true)
protected void gather() {}

/**
* Generate data map entries.
*/
protected abstract void gather();
protected void gather(HolderLookup.Provider provider) {
gather();
}

@SuppressWarnings("unchecked")
public <T, R> Builder<T, R> builder(DataMapType<R, T> type) {
Expand Down

0 comments on commit eb13a3f

Please sign in to comment.