MiscOverworldFeatures.java

net.minecraft.data.worldgen.features.MiscOverworldFeatures

信息

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

    TODO

字段/常量

  • ICE_SPIKE

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L26
    • 说明:

      TODO

  • ICE_PATCH

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L27
    • 说明:

      TODO

  • FOREST_ROCK

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L28
    • 说明:

      TODO

  • ICEBERG_PACKED

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L29
    • 说明:

      TODO

  • ICEBERG_BLUE

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L30
    • 说明:

      TODO

  • BLUE_ICE

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L31
    • 说明:

      TODO

  • LAKE_LAVA

    • 类型: ResourceKey<ConfiguredFeature<?,?>>
    • 修饰符: public static final
    • 源码定位: L32
    • 说明:

      TODO

  • DISK_CLAY

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

      TODO

  • DISK_GRAVEL

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

      TODO

  • DISK_SAND

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

      TODO

  • FREEZE_TOP_LAYER

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

      TODO

  • DISK_GRASS

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

      TODO

  • BONUS_CHEST

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

      TODO

  • VOID_START_PLATFORM

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

      TODO

  • DESERT_WELL

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

      TODO

  • SPRING_LAVA_OVERWORLD

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

      TODO

  • SPRING_LAVA_FROZEN

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

      TODO

  • SPRING_WATER

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

      TODO

内部类/嵌套类型

构造器

方法

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

public static void bootstrap(BootstrapContext<ConfiguredFeature<?,?>> context) @ L45

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

参数:

  • context: BootstrapContext<ConfiguredFeature>

说明:

TODO

代码

public class MiscOverworldFeatures {
    public static final ResourceKey<ConfiguredFeature<?, ?>> ICE_SPIKE = FeatureUtils.createKey("ice_spike");
    public static final ResourceKey<ConfiguredFeature<?, ?>> ICE_PATCH = FeatureUtils.createKey("ice_patch");
    public static final ResourceKey<ConfiguredFeature<?, ?>> FOREST_ROCK = FeatureUtils.createKey("forest_rock");
    public static final ResourceKey<ConfiguredFeature<?, ?>> ICEBERG_PACKED = FeatureUtils.createKey("iceberg_packed");
    public static final ResourceKey<ConfiguredFeature<?, ?>> ICEBERG_BLUE = FeatureUtils.createKey("iceberg_blue");
    public static final ResourceKey<ConfiguredFeature<?, ?>> BLUE_ICE = FeatureUtils.createKey("blue_ice");
    public static final ResourceKey<ConfiguredFeature<?, ?>> LAKE_LAVA = FeatureUtils.createKey("lake_lava");
    public static final ResourceKey<ConfiguredFeature<?, ?>> DISK_CLAY = FeatureUtils.createKey("disk_clay");
    public static final ResourceKey<ConfiguredFeature<?, ?>> DISK_GRAVEL = FeatureUtils.createKey("disk_gravel");
    public static final ResourceKey<ConfiguredFeature<?, ?>> DISK_SAND = FeatureUtils.createKey("disk_sand");
    public static final ResourceKey<ConfiguredFeature<?, ?>> FREEZE_TOP_LAYER = FeatureUtils.createKey("freeze_top_layer");
    public static final ResourceKey<ConfiguredFeature<?, ?>> DISK_GRASS = FeatureUtils.createKey("disk_grass");
    public static final ResourceKey<ConfiguredFeature<?, ?>> BONUS_CHEST = FeatureUtils.createKey("bonus_chest");
    public static final ResourceKey<ConfiguredFeature<?, ?>> VOID_START_PLATFORM = FeatureUtils.createKey("void_start_platform");
    public static final ResourceKey<ConfiguredFeature<?, ?>> DESERT_WELL = FeatureUtils.createKey("desert_well");
    public static final ResourceKey<ConfiguredFeature<?, ?>> SPRING_LAVA_OVERWORLD = FeatureUtils.createKey("spring_lava_overworld");
    public static final ResourceKey<ConfiguredFeature<?, ?>> SPRING_LAVA_FROZEN = FeatureUtils.createKey("spring_lava_frozen");
    public static final ResourceKey<ConfiguredFeature<?, ?>> SPRING_WATER = FeatureUtils.createKey("spring_water");
 
    public static void bootstrap(BootstrapContext<ConfiguredFeature<?, ?>> context) {
        FeatureUtils.register(
            context,
            ICE_SPIKE,
            Feature.SPIKE,
            new SpikeConfiguration(
                Blocks.PACKED_ICE.defaultBlockState(),
                BlockPredicate.matchesBlocks(Blocks.SNOW_BLOCK),
                BlockPredicate.matchesTag(BlockTags.ICE_SPIKE_REPLACEABLE)
            )
        );
        FeatureUtils.register(
            context,
            ICE_PATCH,
            Feature.DISK,
            new DiskConfiguration(
                BlockStateProvider.simple(Blocks.PACKED_ICE),
                BlockPredicate.matchesBlocks(
                    List.of(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.PODZOL, Blocks.COARSE_DIRT, Blocks.MYCELIUM, Blocks.SNOW_BLOCK, Blocks.ICE)
                ),
                UniformInt.of(2, 3),
                1
            )
        );
        FeatureUtils.register(
            context,
            FOREST_ROCK,
            Feature.BLOCK_BLOB,
            new BlockBlobConfiguration(Blocks.MOSSY_COBBLESTONE.defaultBlockState(), BlockPredicate.matchesTag(BlockTags.FOREST_ROCK_CAN_PLACE_ON))
        );
        FeatureUtils.register(context, ICEBERG_PACKED, Feature.ICEBERG, new BlockStateConfiguration(Blocks.PACKED_ICE.defaultBlockState()));
        FeatureUtils.register(context, ICEBERG_BLUE, Feature.ICEBERG, new BlockStateConfiguration(Blocks.BLUE_ICE.defaultBlockState()));
        FeatureUtils.register(context, BLUE_ICE, Feature.BLUE_ICE);
        FeatureUtils.register(
            context,
            LAKE_LAVA,
            Feature.LAKE,
            new LakeFeature.Configuration(
                BlockStateProvider.simple(Blocks.LAVA.defaultBlockState()), BlockStateProvider.simple(Blocks.STONE.defaultBlockState())
            )
        );
        FeatureUtils.register(
            context,
            DISK_CLAY,
            Feature.DISK,
            new DiskConfiguration(
                BlockStateProvider.simple(Blocks.CLAY), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.CLAY)), UniformInt.of(2, 3), 1
            )
        );
        FeatureUtils.register(
            context,
            DISK_GRAVEL,
            Feature.DISK,
            new DiskConfiguration(
                BlockStateProvider.simple(Blocks.GRAVEL), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 5), 2
            )
        );
        FeatureUtils.register(
            context,
            DISK_SAND,
            Feature.DISK,
            new DiskConfiguration(
                new RuleBasedStateProvider(
                    BlockStateProvider.simple(Blocks.SAND),
                    List.of(
                        new RuleBasedStateProvider.Rule(
                            BlockPredicate.matchesBlocks(Direction.DOWN.getUnitVec3i(), Blocks.AIR), BlockStateProvider.simple(Blocks.SANDSTONE)
                        )
                    )
                ),
                BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)),
                UniformInt.of(2, 6),
                2
            )
        );
        FeatureUtils.register(context, FREEZE_TOP_LAYER, Feature.FREEZE_TOP_LAYER);
        FeatureUtils.register(
            context,
            DISK_GRASS,
            Feature.DISK,
            new DiskConfiguration(
                new RuleBasedStateProvider(
                    BlockStateProvider.simple(Blocks.DIRT),
                    List.of(
                        new RuleBasedStateProvider.Rule(
                            BlockPredicate.not(
                                BlockPredicate.anyOf(
                                    BlockPredicate.solid(Direction.UP.getUnitVec3i()), BlockPredicate.matchesFluids(Direction.UP.getUnitVec3i(), Fluids.WATER)
                                )
                            ),
                            BlockStateProvider.simple(Blocks.GRASS_BLOCK)
                        )
                    )
                ),
                BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.MUD)),
                UniformInt.of(2, 6),
                2
            )
        );
        FeatureUtils.register(context, BONUS_CHEST, Feature.BONUS_CHEST);
        FeatureUtils.register(context, VOID_START_PLATFORM, Feature.VOID_START_PLATFORM);
        FeatureUtils.register(context, DESERT_WELL, Feature.DESERT_WELL);
        FeatureUtils.register(
            context,
            SPRING_LAVA_OVERWORLD,
            Feature.SPRING,
            new SpringConfiguration(
                Fluids.LAVA.defaultFluidState(),
                true,
                4,
                1,
                HolderSet.direct(
                    Block::builtInRegistryHolder,
                    Blocks.STONE,
                    Blocks.GRANITE,
                    Blocks.DIORITE,
                    Blocks.ANDESITE,
                    Blocks.DEEPSLATE,
                    Blocks.TUFF,
                    Blocks.CALCITE,
                    Blocks.DIRT
                )
            )
        );
        FeatureUtils.register(
            context,
            SPRING_LAVA_FROZEN,
            Feature.SPRING,
            new SpringConfiguration(
                Fluids.LAVA.defaultFluidState(),
                true,
                4,
                1,
                HolderSet.direct(Block::builtInRegistryHolder, Blocks.SNOW_BLOCK, Blocks.POWDER_SNOW, Blocks.PACKED_ICE)
            )
        );
        FeatureUtils.register(
            context,
            SPRING_WATER,
            Feature.SPRING,
            new SpringConfiguration(
                Fluids.WATER.defaultFluidState(),
                true,
                4,
                1,
                HolderSet.direct(
                    Block::builtInRegistryHolder,
                    Blocks.STONE,
                    Blocks.GRANITE,
                    Blocks.DIORITE,
                    Blocks.ANDESITE,
                    Blocks.DEEPSLATE,
                    Blocks.TUFF,
                    Blocks.CALCITE,
                    Blocks.DIRT,
                    Blocks.SNOW_BLOCK,
                    Blocks.POWDER_SNOW,
                    Blocks.PACKED_ICE
                )
            )
        );
    }
}

引用的其他类

  • HolderSet

    • 引用位置: 方法调用
    • 关联成员: HolderSet.direct()
  • BootstrapContext

    • 引用位置: 参数
  • FeatureUtils

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

    • 引用位置: 字段
  • UniformInt

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

    • 引用位置: 方法调用
    • 关联成员: BlockPredicate.anyOf(), BlockPredicate.matchesBlocks(), BlockPredicate.matchesFluids(), BlockPredicate.matchesTag(), BlockPredicate.not(), BlockPredicate.solid()
  • ConfiguredFeature

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

    • 引用位置: 方法调用/构造调用
    • 关联成员: Configuration(), LakeFeature.Configuration()
  • BlockBlobConfiguration

    • 引用位置: 构造调用
    • 关联成员: BlockBlobConfiguration()
  • BlockStateConfiguration

    • 引用位置: 构造调用
    • 关联成员: BlockStateConfiguration()
  • DiskConfiguration

    • 引用位置: 构造调用
    • 关联成员: DiskConfiguration()
  • SpikeConfiguration

    • 引用位置: 构造调用
    • 关联成员: SpikeConfiguration()
  • SpringConfiguration

    • 引用位置: 构造调用
    • 关联成员: SpringConfiguration()
  • BlockStateProvider

    • 引用位置: 方法调用
    • 关联成员: BlockStateProvider.simple()
  • RuleBasedStateProvider

    • 引用位置: 方法调用/构造调用
    • 关联成员: Rule(), RuleBasedStateProvider(), RuleBasedStateProvider.Rule()