65 lines
5.3 KiB
Java
65 lines
5.3 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
package net.minecraft.data.worldgen.placement;
|
|
|
|
import java.util.List;
|
|
import net.minecraft.core.Holder;
|
|
import net.minecraft.core.HolderGetter;
|
|
import net.minecraft.core.registries.Registries;
|
|
import net.minecraft.data.worldgen.BootstrapContext;
|
|
import net.minecraft.data.worldgen.features.AquaticFeatures;
|
|
import net.minecraft.data.worldgen.placement.PlacementUtils;
|
|
import net.minecraft.resources.ResourceKey;
|
|
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
|
|
import net.minecraft.world.level.levelgen.placement.BiomeFilter;
|
|
import net.minecraft.world.level.levelgen.placement.CountPlacement;
|
|
import net.minecraft.world.level.levelgen.placement.InSquarePlacement;
|
|
import net.minecraft.world.level.levelgen.placement.NoiseBasedCountPlacement;
|
|
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
|
|
import net.minecraft.world.level.levelgen.placement.PlacementModifier;
|
|
import net.minecraft.world.level.levelgen.placement.RarityFilter;
|
|
|
|
public class AquaticPlacements {
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_WARM = PlacementUtils.createKey("seagrass_warm");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_NORMAL = PlacementUtils.createKey("seagrass_normal");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_COLD = PlacementUtils.createKey("seagrass_cold");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_RIVER = PlacementUtils.createKey("seagrass_river");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_SWAMP = PlacementUtils.createKey("seagrass_swamp");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_DEEP_WARM = PlacementUtils.createKey("seagrass_deep_warm");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_DEEP = PlacementUtils.createKey("seagrass_deep");
|
|
public static final ResourceKey<PlacedFeature> SEAGRASS_DEEP_COLD = PlacementUtils.createKey("seagrass_deep_cold");
|
|
public static final ResourceKey<PlacedFeature> SEA_PICKLE = PlacementUtils.createKey("sea_pickle");
|
|
public static final ResourceKey<PlacedFeature> KELP_COLD = PlacementUtils.createKey("kelp_cold");
|
|
public static final ResourceKey<PlacedFeature> KELP_WARM = PlacementUtils.createKey("kelp_warm");
|
|
public static final ResourceKey<PlacedFeature> WARM_OCEAN_VEGETATION = PlacementUtils.createKey("warm_ocean_vegetation");
|
|
|
|
private static List<PlacementModifier> seagrassPlacement(int count) {
|
|
return List.of(InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP_TOP_SOLID, CountPlacement.of(count), BiomeFilter.biome());
|
|
}
|
|
|
|
public static void bootstrap(BootstrapContext<PlacedFeature> context) {
|
|
HolderGetter<ConfiguredFeature<?, ?>> configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> seagrassShort = configuredFeatures.getOrThrow(AquaticFeatures.SEAGRASS_SHORT);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> seagrassSlightlyLessShort = configuredFeatures.getOrThrow(AquaticFeatures.SEAGRASS_SLIGHTLY_LESS_SHORT);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> seagrassMid = configuredFeatures.getOrThrow(AquaticFeatures.SEAGRASS_MID);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> seagrassTall = configuredFeatures.getOrThrow(AquaticFeatures.SEAGRASS_TALL);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> seaPickle = configuredFeatures.getOrThrow(AquaticFeatures.SEA_PICKLE);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> kelp = configuredFeatures.getOrThrow(AquaticFeatures.KELP);
|
|
Holder.Reference<ConfiguredFeature<?, ?>> warmOceanVegetation = configuredFeatures.getOrThrow(AquaticFeatures.WARM_OCEAN_VEGETATION);
|
|
PlacementUtils.register(context, SEAGRASS_WARM, seagrassShort, AquaticPlacements.seagrassPlacement(80));
|
|
PlacementUtils.register(context, SEAGRASS_NORMAL, seagrassShort, AquaticPlacements.seagrassPlacement(48));
|
|
PlacementUtils.register(context, SEAGRASS_COLD, seagrassShort, AquaticPlacements.seagrassPlacement(32));
|
|
PlacementUtils.register(context, SEAGRASS_RIVER, seagrassSlightlyLessShort, AquaticPlacements.seagrassPlacement(48));
|
|
PlacementUtils.register(context, SEAGRASS_SWAMP, seagrassMid, AquaticPlacements.seagrassPlacement(64));
|
|
PlacementUtils.register(context, SEAGRASS_DEEP_WARM, seagrassTall, AquaticPlacements.seagrassPlacement(80));
|
|
PlacementUtils.register(context, SEAGRASS_DEEP, seagrassTall, AquaticPlacements.seagrassPlacement(48));
|
|
PlacementUtils.register(context, SEAGRASS_DEEP_COLD, seagrassTall, AquaticPlacements.seagrassPlacement(40));
|
|
PlacementUtils.register(context, SEA_PICKLE, seaPickle, RarityFilter.onAverageOnceEvery(16), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP_TOP_SOLID, BiomeFilter.biome());
|
|
PlacementUtils.register(context, KELP_COLD, kelp, NoiseBasedCountPlacement.of(120, 80.0, 0.0), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP_TOP_SOLID, BiomeFilter.biome());
|
|
PlacementUtils.register(context, KELP_WARM, kelp, NoiseBasedCountPlacement.of(80, 80.0, 0.0), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP_TOP_SOLID, BiomeFilter.biome());
|
|
PlacementUtils.register(context, WARM_OCEAN_VEGETATION, warmOceanVegetation, NoiseBasedCountPlacement.of(20, 400.0, 0.0), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP_TOP_SOLID, BiomeFilter.biome());
|
|
}
|
|
}
|
|
|