world gen

This commit is contained in:
2025-01-04 16:12:00 -06:00
parent 583a0a5bd1
commit 24bb7a6438
4 changed files with 91 additions and 2 deletions

View File

@@ -1,14 +1,17 @@
package xyz.sillyangel.nugget.datagen;
import xyz.sillyangel.nugget.NuggetMod;
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import xyz.sillyangel.nugget.trim.ModTrimMaterials;
import xyz.sillyangel.nugget.trim.ModTrimPatterns;
import xyz.sillyangel.nugget.worldgen.ModBiomeModifiers;
import xyz.sillyangel.nugget.worldgen.ModConfiguredFeatures;
import xyz.sillyangel.nugget.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.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
@@ -16,7 +19,11 @@ import java.util.concurrent.CompletableFuture;
public class ModDatapackEntries extends DatapackBuiltinEntriesProvider {
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
.add(Registries.TRIM_MATERIAL, ModTrimMaterials::bootstrap)
.add(Registries.TRIM_PATTERN, ModTrimPatterns::bootstrap);
.add(Registries.TRIM_PATTERN, ModTrimPatterns::bootstrap)
.add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap)
.add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap)
.add(ForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap);
public ModDatapackEntries(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
super(output, registries, BUILDER, Set.of(NuggetMod.MOD_ID));

View File

@@ -0,0 +1,24 @@
package xyz.sillyangel.nugget.worldgen;
import xyz.sillyangel.nugget.NuggetMod;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.worldgen.BootstrapContext;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.common.world.BiomeModifier;
import net.minecraftforge.registries.ForgeRegistries;
public class ModBiomeModifiers {
public static void bootstrap(BootstrapContext<BiomeModifier> context) {
var placedFeature = context.lookup(Registries.PLACED_FEATURE);
var biomes = context.lookup(Registries.BIOME);
}
private static ResourceKey<BiomeModifier> registerKey(String name) {
return ResourceKey.create(ForgeRegistries.Keys.BIOME_MODIFIERS, ResourceLocation.fromNamespaceAndPath(NuggetMod.MOD_ID, name));
}
}

View File

@@ -0,0 +1,27 @@
package xyz.sillyangel.nugget.worldgen;
import xyz.sillyangel.nugget.NuggetMod;
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(NuggetMod.MOD_ID, 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));
}
}

View File

@@ -0,0 +1,31 @@
package xyz.sillyangel.nugget.worldgen;
import xyz.sillyangel.nugget.NuggetMod;
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(NuggetMod.MOD_ID, 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)));
}
}