MiscOverworldPlacements.java

net.minecraft.data.worldgen.placement.MiscOverworldPlacements

信息

  • 全限定名:net.minecraft.data.worldgen.placement.MiscOverworldPlacements
  • 类型:public class
  • 包:net.minecraft.data.worldgen.placement
  • 源码路径:src/main/java/net/minecraft/data/worldgen/placement/MiscOverworldPlacements.java
  • 起始行号:L32
  • 职责:

    TODO

字段/常量

  • ICE_SPIKE

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L33
    • 说明:

      TODO

  • ICE_PATCH

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L34
    • 说明:

      TODO

  • FOREST_ROCK

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L35
    • 说明:

      TODO

  • ICEBERG_PACKED

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L36
    • 说明:

      TODO

  • ICEBERG_BLUE

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L37
    • 说明:

      TODO

  • BLUE_ICE

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L38
    • 说明:

      TODO

  • LAKE_LAVA_UNDERGROUND

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L39
    • 说明:

      TODO

  • LAKE_LAVA_SURFACE

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L40
    • 说明:

      TODO

  • DISK_CLAY

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L41
    • 说明:

      TODO

  • DISK_GRAVEL

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L42
    • 说明:

      TODO

  • DISK_SAND

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L43
    • 说明:

      TODO

  • DISK_GRASS

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L44
    • 说明:

      TODO

  • FREEZE_TOP_LAYER

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L45
    • 说明:

      TODO

  • VOID_START_PLATFORM

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L46
    • 说明:

      TODO

  • DESERT_WELL

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L47
    • 说明:

      TODO

  • SPRING_LAVA

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L48
    • 说明:

      TODO

  • SPRING_LAVA_FROZEN

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L49
    • 说明:

      TODO

  • SPRING_WATER

    • 类型: ResourceKey<PlacedFeature>
    • 修饰符: public static final
    • 源码定位: L50
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public static void bootstrap(BootstrapContext<PlacedFeature> context) @ L52

  • 方法名:bootstrap
  • 源码定位:L52
  • 返回类型:void
  • 修饰符:public static

参数:

  • context: BootstrapContext

说明:

TODO

代码

public class MiscOverworldPlacements {
    public static final ResourceKey<PlacedFeature> ICE_SPIKE = PlacementUtils.createKey("ice_spike");
    public static final ResourceKey<PlacedFeature> ICE_PATCH = PlacementUtils.createKey("ice_patch");
    public static final ResourceKey<PlacedFeature> FOREST_ROCK = PlacementUtils.createKey("forest_rock");
    public static final ResourceKey<PlacedFeature> ICEBERG_PACKED = PlacementUtils.createKey("iceberg_packed");
    public static final ResourceKey<PlacedFeature> ICEBERG_BLUE = PlacementUtils.createKey("iceberg_blue");
    public static final ResourceKey<PlacedFeature> BLUE_ICE = PlacementUtils.createKey("blue_ice");
    public static final ResourceKey<PlacedFeature> LAKE_LAVA_UNDERGROUND = PlacementUtils.createKey("lake_lava_underground");
    public static final ResourceKey<PlacedFeature> LAKE_LAVA_SURFACE = PlacementUtils.createKey("lake_lava_surface");
    public static final ResourceKey<PlacedFeature> DISK_CLAY = PlacementUtils.createKey("disk_clay");
    public static final ResourceKey<PlacedFeature> DISK_GRAVEL = PlacementUtils.createKey("disk_gravel");
    public static final ResourceKey<PlacedFeature> DISK_SAND = PlacementUtils.createKey("disk_sand");
    public static final ResourceKey<PlacedFeature> DISK_GRASS = PlacementUtils.createKey("disk_grass");
    public static final ResourceKey<PlacedFeature> FREEZE_TOP_LAYER = PlacementUtils.createKey("freeze_top_layer");
    public static final ResourceKey<PlacedFeature> VOID_START_PLATFORM = PlacementUtils.createKey("void_start_platform");
    public static final ResourceKey<PlacedFeature> DESERT_WELL = PlacementUtils.createKey("desert_well");
    public static final ResourceKey<PlacedFeature> SPRING_LAVA = PlacementUtils.createKey("spring_lava");
    public static final ResourceKey<PlacedFeature> SPRING_LAVA_FROZEN = PlacementUtils.createKey("spring_lava_frozen");
    public static final ResourceKey<PlacedFeature> SPRING_WATER = PlacementUtils.createKey("spring_water");
 
    public static void bootstrap(BootstrapContext<PlacedFeature> context) {
        HolderGetter<ConfiguredFeature<?, ?>> configuredFeatures = context.lookup(Registries.CONFIGURED_FEATURE);
        Holder<ConfiguredFeature<?, ?>> iceSpike = configuredFeatures.getOrThrow(MiscOverworldFeatures.ICE_SPIKE);
        Holder<ConfiguredFeature<?, ?>> icePatch = configuredFeatures.getOrThrow(MiscOverworldFeatures.ICE_PATCH);
        Holder<ConfiguredFeature<?, ?>> forestRock = configuredFeatures.getOrThrow(MiscOverworldFeatures.FOREST_ROCK);
        Holder<ConfiguredFeature<?, ?>> icebergPacked = configuredFeatures.getOrThrow(MiscOverworldFeatures.ICEBERG_PACKED);
        Holder<ConfiguredFeature<?, ?>> icebergBlue = configuredFeatures.getOrThrow(MiscOverworldFeatures.ICEBERG_BLUE);
        Holder<ConfiguredFeature<?, ?>> blueIce = configuredFeatures.getOrThrow(MiscOverworldFeatures.BLUE_ICE);
        Holder<ConfiguredFeature<?, ?>> lakeLava = configuredFeatures.getOrThrow(MiscOverworldFeatures.LAKE_LAVA);
        Holder<ConfiguredFeature<?, ?>> diskClay = configuredFeatures.getOrThrow(MiscOverworldFeatures.DISK_CLAY);
        Holder<ConfiguredFeature<?, ?>> diskGravel = configuredFeatures.getOrThrow(MiscOverworldFeatures.DISK_GRAVEL);
        Holder<ConfiguredFeature<?, ?>> diskSand = configuredFeatures.getOrThrow(MiscOverworldFeatures.DISK_SAND);
        Holder<ConfiguredFeature<?, ?>> diskGrass = configuredFeatures.getOrThrow(MiscOverworldFeatures.DISK_GRASS);
        Holder<ConfiguredFeature<?, ?>> freezeTopLayer = configuredFeatures.getOrThrow(MiscOverworldFeatures.FREEZE_TOP_LAYER);
        Holder<ConfiguredFeature<?, ?>> voidStartPlatform = configuredFeatures.getOrThrow(MiscOverworldFeatures.VOID_START_PLATFORM);
        Holder<ConfiguredFeature<?, ?>> desertWell = configuredFeatures.getOrThrow(MiscOverworldFeatures.DESERT_WELL);
        Holder<ConfiguredFeature<?, ?>> springLavaOverworld = configuredFeatures.getOrThrow(MiscOverworldFeatures.SPRING_LAVA_OVERWORLD);
        Holder<ConfiguredFeature<?, ?>> springLavaFrozen = configuredFeatures.getOrThrow(MiscOverworldFeatures.SPRING_LAVA_FROZEN);
        Holder<ConfiguredFeature<?, ?>> springWater = configuredFeatures.getOrThrow(MiscOverworldFeatures.SPRING_WATER);
        PlacementUtils.register(context, ICE_SPIKE, iceSpike, CountPlacement.of(3), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome());
        PlacementUtils.register(
            context,
            ICE_PATCH,
            icePatch,
            CountPlacement.of(2),
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP,
            RandomOffsetPlacement.vertical(ConstantInt.of(-1)),
            BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(Blocks.SNOW_BLOCK)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context, FOREST_ROCK, forestRock, CountPlacement.of(2), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome()
        );
        PlacementUtils.register(context, ICEBERG_BLUE, icebergBlue, RarityFilter.onAverageOnceEvery(200), InSquarePlacement.spread(), BiomeFilter.biome());
        PlacementUtils.register(context, ICEBERG_PACKED, icebergPacked, RarityFilter.onAverageOnceEvery(16), InSquarePlacement.spread(), BiomeFilter.biome());
        PlacementUtils.register(
            context,
            BLUE_ICE,
            blueIce,
            CountPlacement.of(UniformInt.of(0, 19)),
            InSquarePlacement.spread(),
            HeightRangePlacement.uniform(VerticalAnchor.absolute(30), VerticalAnchor.absolute(61)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            LAKE_LAVA_UNDERGROUND,
            lakeLava,
            RarityFilter.onAverageOnceEvery(9),
            InSquarePlacement.spread(),
            HeightRangePlacement.of(UniformHeight.of(VerticalAnchor.absolute(0), VerticalAnchor.top())),
            EnvironmentScanPlacement.scanningFor(
                Direction.DOWN,
                BlockPredicate.allOf(BlockPredicate.not(BlockPredicate.ONLY_IN_AIR_PREDICATE), BlockPredicate.insideWorld(new BlockPos(0, -5, 0))),
                32
            ),
            SurfaceRelativeThresholdFilter.of(Heightmap.Types.OCEAN_FLOOR_WG, Integer.MIN_VALUE, -5),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            LAKE_LAVA_SURFACE,
            lakeLava,
            RarityFilter.onAverageOnceEvery(200),
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP_WORLD_SURFACE,
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            DISK_CLAY,
            diskClay,
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP_TOP_SOLID,
            BlockPredicateFilter.forPredicate(BlockPredicate.matchesFluids(Fluids.WATER)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            DISK_GRAVEL,
            diskGravel,
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP_TOP_SOLID,
            BlockPredicateFilter.forPredicate(BlockPredicate.matchesFluids(Fluids.WATER)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            DISK_SAND,
            diskSand,
            CountPlacement.of(3),
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP_TOP_SOLID,
            BlockPredicateFilter.forPredicate(BlockPredicate.matchesFluids(Fluids.WATER)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            DISK_GRASS,
            diskGrass,
            CountPlacement.of(1),
            InSquarePlacement.spread(),
            PlacementUtils.HEIGHTMAP_TOP_SOLID,
            RandomOffsetPlacement.vertical(ConstantInt.of(-1)),
            BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(Blocks.MUD)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(context, FREEZE_TOP_LAYER, freezeTopLayer, BiomeFilter.biome());
        PlacementUtils.register(context, VOID_START_PLATFORM, voidStartPlatform, BiomeFilter.biome());
        PlacementUtils.register(
            context, DESERT_WELL, desertWell, RarityFilter.onAverageOnceEvery(1000), InSquarePlacement.spread(), PlacementUtils.HEIGHTMAP, BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            SPRING_LAVA,
            springLavaOverworld,
            CountPlacement.of(20),
            InSquarePlacement.spread(),
            HeightRangePlacement.of(VeryBiasedToBottomHeight.of(VerticalAnchor.bottom(), VerticalAnchor.belowTop(8), 8)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            SPRING_LAVA_FROZEN,
            springLavaFrozen,
            CountPlacement.of(20),
            InSquarePlacement.spread(),
            HeightRangePlacement.of(VeryBiasedToBottomHeight.of(VerticalAnchor.bottom(), VerticalAnchor.belowTop(8), 8)),
            BiomeFilter.biome()
        );
        PlacementUtils.register(
            context,
            SPRING_WATER,
            springWater,
            CountPlacement.of(25),
            InSquarePlacement.spread(),
            HeightRangePlacement.uniform(VerticalAnchor.bottom(), VerticalAnchor.absolute(192)),
            BiomeFilter.biome()
        );
    }
}

引用的其他类

  • BlockPos

    • 引用位置: 构造调用
    • 关联成员: BlockPos()
  • BootstrapContext

    • 引用位置: 参数
  • PlacementUtils

    • 引用位置: 方法调用
    • 关联成员: PlacementUtils.createKey(), PlacementUtils.register()
  • ResourceKey

    • 引用位置: 字段
  • ConstantInt

    • 引用位置: 方法调用
    • 关联成员: ConstantInt.of()
  • UniformInt

    • 引用位置: 方法调用
    • 关联成员: UniformInt.of()
  • VerticalAnchor

    • 引用位置: 方法调用
    • 关联成员: VerticalAnchor.absolute(), VerticalAnchor.belowTop(), VerticalAnchor.bottom(), VerticalAnchor.top()
  • BlockPredicate

    • 引用位置: 方法调用
    • 关联成员: BlockPredicate.allOf(), BlockPredicate.insideWorld(), BlockPredicate.matchesBlocks(), BlockPredicate.matchesFluids(), BlockPredicate.not()
  • UniformHeight

    • 引用位置: 方法调用
    • 关联成员: UniformHeight.of()
  • VeryBiasedToBottomHeight

    • 引用位置: 方法调用
    • 关联成员: VeryBiasedToBottomHeight.of()
  • BiomeFilter

    • 引用位置: 方法调用
    • 关联成员: BiomeFilter.biome()
  • BlockPredicateFilter

    • 引用位置: 方法调用
    • 关联成员: BlockPredicateFilter.forPredicate()
  • CountPlacement

    • 引用位置: 方法调用
    • 关联成员: CountPlacement.of()
  • EnvironmentScanPlacement

    • 引用位置: 方法调用
    • 关联成员: EnvironmentScanPlacement.scanningFor()
  • HeightRangePlacement

    • 引用位置: 方法调用
    • 关联成员: HeightRangePlacement.of(), HeightRangePlacement.uniform()
  • InSquarePlacement

    • 引用位置: 方法调用
    • 关联成员: InSquarePlacement.spread()
  • PlacedFeature

    • 引用位置: 参数/字段
  • RandomOffsetPlacement

    • 引用位置: 方法调用
    • 关联成员: RandomOffsetPlacement.vertical()
  • RarityFilter

    • 引用位置: 方法调用
    • 关联成员: RarityFilter.onAverageOnceEvery()
  • SurfaceRelativeThresholdFilter

    • 引用位置: 方法调用
    • 关联成员: SurfaceRelativeThresholdFilter.of()