Skip to content

Commit

Permalink
Backported DataMapProvider#gather overload passing the registry provider
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasglasser committed Feb 11, 2025
1 parent 2bf49e4 commit 9d81079
Showing 1 changed file with 10 additions and 4 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 @@ -85,6 +84,13 @@ private <T, R> CompletableFuture<?> generate(Path out, CachedOutput cache, Build
*/
protected abstract void gather();

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

@SuppressWarnings("unchecked")
public <T, R> Builder<T, R> builder(DataMapType<R, T> type) {
// Avoid any weird classcastexceptions at runtime if a builder was previously created with this method
Expand Down

0 comments on commit 9d81079

Please sign in to comment.