Enabled DataGen

This commit is contained in:
Frank 2022-12-09 16:09:36 +01:00
parent a8856fff15
commit 76c5e1ce42
5 changed files with 100 additions and 0 deletions

View file

@ -52,6 +52,19 @@ loom {
// When enabled injected interfaces from dependecies will be applied. // When enabled injected interfaces from dependecies will be applied.
enableDependencyInterfaceInjection = true enableDependencyInterfaceInjection = true
} }
runs {
// This adds a new gradle task that runs the datagen API: "gradlew runDatagenClient"
datagenClient {
inherit client
name "Data Generation"
vmArg "-Dfabric-api.datagen"
vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}"
vmArg "-Dfabric-api.datagen.strict-validation"
vmArg "-Dfabric-api.datagen.modid=betterend"
runDir "build/datagen"
}
}
} }
dependencies { dependencies {

View file

@ -0,0 +1,22 @@
package org.betterx.datagen.betterend;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry;
import net.minecraft.core.RegistrySetBuilder;
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
public class BetterEndDatagen implements DataGeneratorEntrypoint {
@Override
public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) {
BCLBiomeRegistry.prepareForDatagen();
final FabricDataGenerator.Pack pack = dataGenerator.createPack();
}
@Override
public void buildRegistry(RegistrySetBuilder registryBuilder) {
EndRegistrySupplier.INSTANCE.bootstrapRegistries(registryBuilder);
}
}

View file

@ -0,0 +1,58 @@
package org.betterx.datagen.betterend;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry;
import org.betterx.bclib.api.v2.levelgen.biomes.BiomeData;
import org.betterx.bclib.api.v3.datagen.RegistrySupplier;
import org.betterx.betterend.BetterEnd;
import org.betterx.worlds.together.surfaceRules.AssignedSurfaceRule;
import org.betterx.worlds.together.surfaceRules.SurfaceRuleRegistry;
import java.util.List;
import org.jetbrains.annotations.Nullable;
public class EndRegistrySupplier extends RegistrySupplier {
public static final EndRegistrySupplier INSTANCE = new EndRegistrySupplier();
protected EndRegistrySupplier() {
super(List.of(BetterEnd.MOD_ID));
}
@Override
protected List<RegistryInfo<?>> initializeRegistryList(@Nullable List<String> modIDs) {
return List.of(
new RegistryInfo<>(
BCLBiomeRegistry.BCL_BIOMES_REGISTRY,
BiomeData.CODEC
),
new RegistryInfo<>(
SurfaceRuleRegistry.SURFACE_RULES_REGISTRY,
AssignedSurfaceRule.CODEC
)
// ,
// new RegistryInfo<>(
// Registries.STRUCTURE,
// Structure.DIRECT_CODEC, StructureDataProvider::bootstrap
// ),
// new RegistryInfo<>(
// Registries.STRUCTURE_SET,
// StructureSet.DIRECT_CODEC,
// StructureDataProvider::bootstrapSets
// ),
// new RegistryInfo<>(
// Registries.CONFIGURED_FEATURE,
// ConfiguredFeature.DIRECT_CODEC,
// ConfiguredFeatureDataProvider::bootstrap
// ),
// new RegistryInfo<>(
// Registries.PLACED_FEATURE,
// PlacedFeature.DIRECT_CODEC,
// PlacedFeatureDataProvider::bootstrap
// ),
// new RegistryInfo<>(
// Registries.BIOME,
// Biome.DIRECT_CODEC,
// NetherBiomesDataProvider::bootstrap
// )
);
}
}

View file

@ -0,0 +1,4 @@
package org.betterx.datagen.betterend.worldgen;
public class EndBiomesDataProvider {
}

View file

@ -28,6 +28,9 @@
"client": [ "client": [
"org.betterx.betterend.client.BetterEndClient" "org.betterx.betterend.client.BetterEndClient"
], ],
"fabric-datagen": [
"org.betterx.datagen.betterend.BetterEndDatagen"
],
"rei_client": [ "rei_client": [
"org.betterx.betterend.integration.rei.REIPlugin" "org.betterx.betterend.integration.rei.REIPlugin"
], ],