2024-03-05 16:58:45 +01:00
package de.ellpeck.actuallyadditions.mod.gen ;
import net.minecraft.core.HolderGetter ;
import net.minecraft.core.registries.Registries ;
import net.minecraft.data.worldgen.BootstapContext ;
import net.minecraft.data.worldgen.placement.PlacementUtils ;
import net.minecraft.resources.ResourceKey ;
import net.minecraft.world.level.levelgen.VerticalAnchor ;
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.HeightRangePlacement ;
import net.minecraft.world.level.levelgen.placement.InSquarePlacement ;
import net.minecraft.world.level.levelgen.placement.PlacedFeature ;
import net.minecraft.world.level.levelgen.placement.PlacementModifier ;
import java.util.List ;
public class ActuallyPlacedFeatures {
public static final ResourceKey < PlacedFeature > PLACED_ORE_BLACK_QUARTZ = PlacementUtils . createKey ( " actuallyadditions:ore_black_quartz " ) ;
// public static final ResourceKey<PlacedFeature> PLACED_ORE_BLACK_QUARTZ_BURIED = PlacementUtils.createKey("actuallyadditions:ore_black_quartz_buried");
public static void bootstrap ( BootstapContext < PlacedFeature > context ) {
HolderGetter < ConfiguredFeature < ? , ? > > holdergetter = context . lookup ( Registries . CONFIGURED_FEATURE ) ;
PlacementUtils . register ( context , PLACED_ORE_BLACK_QUARTZ , holdergetter . getOrThrow ( ActuallyConfiguredFeatures . ORE_BLACK_QUARTZ ) ,
2024-03-05 16:59:57 +01:00
commonOrePlacement ( 8 , HeightRangePlacement . triangle ( VerticalAnchor . absolute ( 0 ) , VerticalAnchor . absolute ( 45 ) ) ) ) ;
2024-03-05 16:58:45 +01:00
}
private static List < PlacementModifier > orePlacement ( PlacementModifier modifier , PlacementModifier modifier1 ) {
return List . of ( modifier , InSquarePlacement . spread ( ) , modifier1 , BiomeFilter . biome ( ) ) ;
}
private static List < PlacementModifier > commonOrePlacement ( int count , PlacementModifier modifier ) {
return orePlacement ( CountPlacement . of ( count ) , modifier ) ;
}
}