[Change] Added Datgen Locking and Block/Item-tag providers

This commit is contained in:
Frank 2023-06-04 11:10:13 +02:00
parent a811f43aa1
commit c2ffa98aba
4 changed files with 60 additions and 0 deletions

View file

@ -23,6 +23,8 @@ public class BetterEndDatagen implements DataGeneratorEntrypoint {
pack.addProvider(EndRecipeDataProvider::new); pack.addProvider(EndRecipeDataProvider::new);
pack.addProvider(EndRegistriesDataProvider::new); pack.addProvider(EndRegistriesDataProvider::new);
pack.addProvider(EndAdvancementDataProvider::new); pack.addProvider(EndAdvancementDataProvider::new);
pack.addProvider(EndBlockTagDataProvider::new);
pack.addProvider(EndItemTagDataProvider::new);
} }
@Override @Override

View file

@ -0,0 +1,23 @@
package org.betterx.datagen.betterend;
import org.betterx.bclib.api.v3.datagen.TagDataProvider;
import org.betterx.betterend.BetterEnd;
import org.betterx.worlds.together.tag.v3.TagManager;
import net.minecraft.core.HolderLookup;
import net.minecraft.world.level.block.Block;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import java.util.List;
import java.util.concurrent.CompletableFuture;
public class EndBlockTagDataProvider extends TagDataProvider<Block> {
public EndBlockTagDataProvider(
FabricDataOutput output,
CompletableFuture<HolderLookup.Provider> registriesFuture
) {
super(TagManager.BLOCKS, List.of("minecraft", BetterEnd.MOD_ID, "c"), output, registriesFuture);
}
}

View file

@ -0,0 +1,23 @@
package org.betterx.datagen.betterend;
import org.betterx.bclib.api.v3.datagen.TagDataProvider;
import org.betterx.betterend.BetterEnd;
import org.betterx.worlds.together.tag.v3.TagManager;
import net.minecraft.core.HolderLookup;
import net.minecraft.world.item.Item;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import java.util.List;
import java.util.concurrent.CompletableFuture;
public class EndItemTagDataProvider extends TagDataProvider<Item> {
public EndItemTagDataProvider(
FabricDataOutput output,
CompletableFuture<HolderLookup.Provider> registriesFuture
) {
super(TagManager.ITEMS, List.of("minecraft", BetterEnd.MOD_ID, "c"), output, registriesFuture);
}
}

View file

@ -1,6 +1,7 @@
package org.betterx.datagen.betterend.worldgen; package org.betterx.datagen.betterend.worldgen;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI.BiomeType; import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI.BiomeType;
import org.betterx.bclib.api.v3.datagen.TagDataProvider; import org.betterx.bclib.api.v3.datagen.TagDataProvider;
import org.betterx.betterend.BetterEnd; import org.betterx.betterend.BetterEnd;
@ -8,6 +9,7 @@ import org.betterx.betterend.world.biome.EndBiome;
import org.betterx.betterend.world.biome.air.BiomeIceStarfield; import org.betterx.betterend.world.biome.air.BiomeIceStarfield;
import org.betterx.betterend.world.biome.cave.*; import org.betterx.betterend.world.biome.cave.*;
import org.betterx.betterend.world.biome.land.*; import org.betterx.betterend.world.biome.land.*;
import org.betterx.datagen.betterend.EndRegistrySupplier;
import org.betterx.worlds.together.tag.v3.TagManager; import org.betterx.worlds.together.tag.v3.TagManager;
import net.minecraft.core.HolderLookup; import net.minecraft.core.HolderLookup;
@ -68,11 +70,21 @@ public class EndBiomesDataProvider extends TagDataProvider<Biome> {
public static void bootstrap(BootstapContext<Biome> ctx) { public static void bootstrap(BootstapContext<Biome> ctx) {
BCLBiomeBuilder.registerUnbound(ctx); BCLBiomeBuilder.registerUnbound(ctx);
EndRegistrySupplier.INSTANCE.MAIN_LOCK.release();
BetterEnd.LOGGER.info("Registered BCLBiomes: " + BCLBiomeRegistry.BUILTIN_BCL_BIOMES.size() + ", " + BCLBiomeRegistry.registryOrNull());
} }
public static void ensureStaticallyLoaded() { public static void ensureStaticallyLoaded() {
} }
static {
try {
EndRegistrySupplier.INSTANCE.MAIN_LOCK.acquire();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
/** /**
* Put existing {@link EndBiome} as a sub-biome into selected parent. * Put existing {@link EndBiome} as a sub-biome into selected parent.
* *