Private
Public Access
1
0

Implemented world gen data gen.

This commit is contained in:
2026-06-10 18:20:16 +01:00
parent cd5ff6c497
commit 8c4e39162b
5 changed files with 403 additions and 2 deletions

View File

@ -4,6 +4,7 @@ import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.data.client.ModBlockStateProvider;
import dev.micle.wildflowers_backport.data.client.ModItemModelProvider;
import dev.micle.wildflowers_backport.data.server.ModLootTableProvider;
import dev.micle.wildflowers_backport.data.server.ModWorldGenProvider;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.ExistingFileHelper;
@ -25,5 +26,6 @@ public class DataGenerators {
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper));
generator.addProvider(event.includeServer(), new ModLootTableProvider(generator));
generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider));
}
}

View File

@ -0,0 +1,21 @@
package dev.micle.wildflowers_backport.data.server;
import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.worldgen.ModConfiguredFeatures;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.RegistrySetBuilder;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
public class ModWorldGenProvider extends DatapackBuiltinEntriesProvider {
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
.add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap);
public ModWorldGenProvider(DataGenerator generator, CompletableFuture<HolderLookup.Provider> registries) {
super(generator.getPackOutput(), registries, BUILDER, Set.of(WildflowersBackport.MOD_ID));
}
}

View File

@ -63,8 +63,8 @@ public class ModConfiguredFeatures {
private static SimpleWeightedRandomList<BlockState> createAllPossibleFlowerBedBlockEntries(Block block) {
SimpleWeightedRandomList.Builder<BlockState> builder = SimpleWeightedRandomList.<BlockState>builder();
for (Direction direction : Direction.Plane.HORIZONTAL) {
for (int i = FlowerBedBlock.MIN_SEGMENT; i <= FlowerBedBlock.MAX_SEGMENT; i++) {
for (int i = FlowerBedBlock.MIN_SEGMENT; i <= FlowerBedBlock.MAX_SEGMENT; i++) {
for (Direction direction : Direction.Plane.HORIZONTAL) {
builder.add(block.defaultBlockState().setValue(FlowerBedBlock.FACING, direction).setValue(FlowerBedBlock.AMOUNT, i), 1);
}
}