Added Basic Worldgen
This commit is contained in:
@@ -36,5 +36,6 @@ public class DataGenerators {
|
|||||||
|
|
||||||
generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper));
|
generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper));
|
||||||
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
||||||
|
generator.addProvider(event.includeServer(), new ModDatapackProvider(packOutput, lookupProvider));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package net.krituximon.stalinium.datagen;
|
||||||
|
|
||||||
|
import net.krituximon.stalinium.Stalinium;
|
||||||
|
import net.krituximon.stalinium.worldgen.ModBiomeModifiers;
|
||||||
|
import net.krituximon.stalinium.worldgen.ModConfiguredFeatures;
|
||||||
|
import net.krituximon.stalinium.worldgen.ModPlacedFeatures;
|
||||||
|
import net.minecraft.core.HolderLookup;
|
||||||
|
import net.minecraft.core.RegistrySetBuilder;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider;
|
||||||
|
import net.neoforged.neoforge.registries.NeoForgeRegistries;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
public class ModDatapackProvider extends DatapackBuiltinEntriesProvider {
|
||||||
|
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
|
||||||
|
|
||||||
|
.add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap)
|
||||||
|
.add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap)
|
||||||
|
.add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap);
|
||||||
|
|
||||||
|
public ModDatapackProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
|
||||||
|
super(output, registries, BUILDER, Set.of(Stalinium.MODID));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package net.krituximon.stalinium.worldgen;
|
||||||
|
|
||||||
|
import net.krituximon.stalinium.Stalinium;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.worldgen.BootstrapContext;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.neoforged.neoforge.common.world.BiomeModifier;
|
||||||
|
import net.neoforged.neoforge.registries.NeoForgeRegistries;
|
||||||
|
|
||||||
|
public class ModBiomeModifiers {
|
||||||
|
|
||||||
|
public static void bootstrap(BootstrapContext<BiomeModifier> context) {
|
||||||
|
var placedFeatures = context.lookup(Registries.PLACED_FEATURE);
|
||||||
|
var biomes = context.lookup(Registries.BIOME);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ResourceKey<BiomeModifier> registerKey(String name) {
|
||||||
|
return ResourceKey.create(NeoForgeRegistries.Keys.BIOME_MODIFIERS, ResourceLocation.fromNamespaceAndPath(Stalinium.MODID, name));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package net.krituximon.stalinium.worldgen;
|
||||||
|
|
||||||
|
import net.krituximon.stalinium.Stalinium;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.worldgen.BootstrapContext;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
||||||
|
import net.minecraft.world.level.levelgen.feature.Feature;
|
||||||
|
import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration;
|
||||||
|
|
||||||
|
public class ModConfiguredFeatures {
|
||||||
|
|
||||||
|
public static void bootstrap(BootstrapContext<ConfiguredFeature<?, ?>> context) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ResourceKey<ConfiguredFeature<?, ?>> registerKey(String name) {
|
||||||
|
return ResourceKey.create(Registries.CONFIGURED_FEATURE, ResourceLocation.fromNamespaceAndPath(Stalinium.MODID, name));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <FC extends FeatureConfiguration, F extends Feature<FC>> void register(BootstrapContext<ConfiguredFeature<?, ?>> context,
|
||||||
|
ResourceKey<ConfiguredFeature<?, ?>> key, F feature, FC configuration) {
|
||||||
|
context.register(key, new ConfiguredFeature<>(feature, configuration));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
package net.krituximon.stalinium.worldgen;
|
||||||
|
|
||||||
|
import net.krituximon.stalinium.Stalinium;
|
||||||
|
import net.minecraft.core.Holder;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.data.worldgen.BootstrapContext;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
||||||
|
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
||||||
|
import net.minecraft.world.level.levelgen.placement.PlacementModifier;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ModPlacedFeatures {
|
||||||
|
|
||||||
|
public static void bootstrap(BootstrapContext<PlacedFeature> context) {
|
||||||
|
var configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ResourceKey<PlacedFeature> registerKey(String name) {
|
||||||
|
return ResourceKey.create(Registries.PLACED_FEATURE, ResourceLocation.fromNamespaceAndPath(Stalinium.MODID, name));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void register(BootstrapContext<PlacedFeature> context, ResourceKey<PlacedFeature> key, Holder<ConfiguredFeature<?, ?>> configuration,
|
||||||
|
List<PlacementModifier> modifiers) {
|
||||||
|
context.register(key, new PlacedFeature(configuration, List.copyOf(modifiers)));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user