BlockFamilies.java

net.minecraft.data.BlockFamilies

信息

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

    TODO

字段/常量

  • MAP

    • 类型: Map<Block,BlockFamily>
    • 修饰符: private static final
    • 源码定位: L12
    • 说明:

      TODO

  • RECIPE_GROUP_PREFIX_WOODEN

    • 类型: String
    • 修饰符: private static final
    • 源码定位: L13
    • 说明:

      TODO

  • RECIPE_UNLOCKED_BY_HAS_PLANKS

    • 类型: String
    • 修饰符: private static final
    • 源码定位: L14
    • 说明:

      TODO

  • ACACIA_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L15
    • 说明:

      TODO

  • CHERRY_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L28
    • 说明:

      TODO

  • BIRCH_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L41
    • 说明:

      TODO

  • CRIMSON_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L54
    • 说明:

      TODO

  • JUNGLE_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L67
    • 说明:

      TODO

  • OAK_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L80
    • 说明:

      TODO

  • DARK_OAK_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L93
    • 说明:

      TODO

  • PALE_OAK_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L106
    • 说明:

      TODO

  • SPRUCE_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L119
    • 说明:

      TODO

  • WARPED_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L132
    • 说明:

      TODO

  • MANGROVE_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L145
    • 说明:

      TODO

  • BAMBOO_PLANKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L158
    • 说明:

      TODO

  • BAMBOO_MOSAIC

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L172
    • 说明:

      TODO

  • MUD_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L176
    • 说明:

      TODO

  • ANDESITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L182
    • 说明:

      TODO

  • POLISHED_ANDESITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L189
    • 说明:

      TODO

  • BLACKSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L194
    • 说明:

      TODO

  • POLISHED_BLACKSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L201
    • 说明:

      TODO

  • POLISHED_BLACKSTONE_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L211
    • 说明:

      TODO

  • BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L218
    • 说明:

      TODO

  • END_STONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L224
    • 说明:

      TODO

  • END_STONE_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L225
    • 说明:

      TODO

  • MOSSY_STONE_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L231
    • 说明:

      TODO

  • COPPER_BLOCK

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L237
    • 说明:

      TODO

  • CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L238
    • 说明:

      TODO

  • WAXED_COPPER_BLOCK

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L245
    • 说明:

      TODO

  • WAXED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L250
    • 说明:

      TODO

  • EXPOSED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L257
    • 说明:

      TODO

  • EXPOSED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L258
    • 说明:

      TODO

  • WAXED_EXPOSED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L265
    • 说明:

      TODO

  • WAXED_EXPOSED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L270
    • 说明:

      TODO

  • WEATHERED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L277
    • 说明:

      TODO

  • WEATHERED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L278
    • 说明:

      TODO

  • WAXED_WEATHERED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L285
    • 说明:

      TODO

  • WAXED_WEATHERED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L290
    • 说明:

      TODO

  • OXIDIZED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L297
    • 说明:

      TODO

  • OXIDIZED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L298
    • 说明:

      TODO

  • WAXED_OXIDIZED_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L305
    • 说明:

      TODO

  • WAXED_OXIDIZED_CUT_COPPER

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L310
    • 说明:

      TODO

  • COBBLESTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L317
    • 说明:

      TODO

  • MOSSY_COBBLESTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L323
    • 说明:

      TODO

  • DIORITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L329
    • 说明:

      TODO

  • POLISHED_DIORITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L336
    • 说明:

      TODO

  • GRANITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L341
    • 说明:

      TODO

  • POLISHED_GRANITE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L348
    • 说明:

      TODO

  • TUFF

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L353
    • 说明:

      TODO

  • POLISHED_TUFF

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L361
    • 说明:

      TODO

  • TUFF_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L368
    • 说明:

      TODO

  • RESIN_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L375
    • 说明:

      TODO

  • NETHER_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L382
    • 说明:

      TODO

  • RED_NETHER_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L391
    • 说明:

      TODO

  • PRISMARINE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L397
    • 说明:

      TODO

  • PRISMARINE_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L403
    • 说明:

      TODO

  • DARK_PRISMARINE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L408
    • 说明:

      TODO

  • PURPUR

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L413
    • 说明:

      TODO

  • QUARTZ

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L419
    • 说明:

      TODO

  • SMOOTH_QUARTZ

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L427
    • 说明:

      TODO

  • SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L432
    • 说明:

      TODO

  • CUT_SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L441
    • 说明:

      TODO

  • SMOOTH_SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L442
    • 说明:

      TODO

  • RED_SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L447
    • 说明:

      TODO

  • CUT_RED_SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L456
    • 说明:

      TODO

  • SMOOTH_RED_SANDSTONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L460
    • 说明:

      TODO

  • STONE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L465
    • 说明:

      TODO

  • STONE_BRICK

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L474
    • 说明:

      TODO

  • DEEPSLATE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L483
    • 说明:

      TODO

  • COBBLED_DEEPSLATE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L484
    • 说明:

      TODO

  • POLISHED_DEEPSLATE

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L492
    • 说明:

      TODO

  • DEEPSLATE_BRICKS

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L499
    • 说明:

      TODO

  • DEEPSLATE_TILES

    • 类型: BlockFamily
    • 修饰符: public static final
    • 源码定位: L507
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

private static BlockFamily.Builder familyBuilder(Block base) @ L515

  • 方法名:familyBuilder
  • 源码定位:L515
  • 返回类型:BlockFamily.Builder
  • 修饰符:private static

参数:

  • base: Block

说明:

TODO

public static Stream<BlockFamily> getAllFamilies() @ L525

  • 方法名:getAllFamilies
  • 源码定位:L525
  • 返回类型:Stream
  • 修饰符:public static

参数:

说明:

TODO

public static BlockFamily getFamily(Block base) @ L529

  • 方法名:getFamily
  • 源码定位:L529
  • 返回类型:BlockFamily
  • 修饰符:public static

参数:

  • base: Block

说明:

TODO

代码

public class BlockFamilies {
    private static final Map<Block, BlockFamily> MAP = Maps.newHashMap();
    private static final String RECIPE_GROUP_PREFIX_WOODEN = "wooden";
    private static final String RECIPE_UNLOCKED_BY_HAS_PLANKS = "has_planks";
    public static final BlockFamily ACACIA_PLANKS = familyBuilder(Blocks.ACACIA_PLANKS)
        .button(Blocks.ACACIA_BUTTON)
        .fence(Blocks.ACACIA_FENCE)
        .fenceGate(Blocks.ACACIA_FENCE_GATE)
        .pressurePlate(Blocks.ACACIA_PRESSURE_PLATE)
        .sign(Blocks.ACACIA_SIGN, Blocks.ACACIA_WALL_SIGN)
        .slab(Blocks.ACACIA_SLAB)
        .stairs(Blocks.ACACIA_STAIRS)
        .door(Blocks.ACACIA_DOOR)
        .trapdoor(Blocks.ACACIA_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily CHERRY_PLANKS = familyBuilder(Blocks.CHERRY_PLANKS)
        .button(Blocks.CHERRY_BUTTON)
        .fence(Blocks.CHERRY_FENCE)
        .fenceGate(Blocks.CHERRY_FENCE_GATE)
        .pressurePlate(Blocks.CHERRY_PRESSURE_PLATE)
        .sign(Blocks.CHERRY_SIGN, Blocks.CHERRY_WALL_SIGN)
        .slab(Blocks.CHERRY_SLAB)
        .stairs(Blocks.CHERRY_STAIRS)
        .door(Blocks.CHERRY_DOOR)
        .trapdoor(Blocks.CHERRY_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily BIRCH_PLANKS = familyBuilder(Blocks.BIRCH_PLANKS)
        .button(Blocks.BIRCH_BUTTON)
        .fence(Blocks.BIRCH_FENCE)
        .fenceGate(Blocks.BIRCH_FENCE_GATE)
        .pressurePlate(Blocks.BIRCH_PRESSURE_PLATE)
        .sign(Blocks.BIRCH_SIGN, Blocks.BIRCH_WALL_SIGN)
        .slab(Blocks.BIRCH_SLAB)
        .stairs(Blocks.BIRCH_STAIRS)
        .door(Blocks.BIRCH_DOOR)
        .trapdoor(Blocks.BIRCH_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily CRIMSON_PLANKS = familyBuilder(Blocks.CRIMSON_PLANKS)
        .button(Blocks.CRIMSON_BUTTON)
        .fence(Blocks.CRIMSON_FENCE)
        .fenceGate(Blocks.CRIMSON_FENCE_GATE)
        .pressurePlate(Blocks.CRIMSON_PRESSURE_PLATE)
        .sign(Blocks.CRIMSON_SIGN, Blocks.CRIMSON_WALL_SIGN)
        .slab(Blocks.CRIMSON_SLAB)
        .stairs(Blocks.CRIMSON_STAIRS)
        .door(Blocks.CRIMSON_DOOR)
        .trapdoor(Blocks.CRIMSON_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily JUNGLE_PLANKS = familyBuilder(Blocks.JUNGLE_PLANKS)
        .button(Blocks.JUNGLE_BUTTON)
        .fence(Blocks.JUNGLE_FENCE)
        .fenceGate(Blocks.JUNGLE_FENCE_GATE)
        .pressurePlate(Blocks.JUNGLE_PRESSURE_PLATE)
        .sign(Blocks.JUNGLE_SIGN, Blocks.JUNGLE_WALL_SIGN)
        .slab(Blocks.JUNGLE_SLAB)
        .stairs(Blocks.JUNGLE_STAIRS)
        .door(Blocks.JUNGLE_DOOR)
        .trapdoor(Blocks.JUNGLE_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily OAK_PLANKS = familyBuilder(Blocks.OAK_PLANKS)
        .button(Blocks.OAK_BUTTON)
        .fence(Blocks.OAK_FENCE)
        .fenceGate(Blocks.OAK_FENCE_GATE)
        .pressurePlate(Blocks.OAK_PRESSURE_PLATE)
        .sign(Blocks.OAK_SIGN, Blocks.OAK_WALL_SIGN)
        .slab(Blocks.OAK_SLAB)
        .stairs(Blocks.OAK_STAIRS)
        .door(Blocks.OAK_DOOR)
        .trapdoor(Blocks.OAK_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily DARK_OAK_PLANKS = familyBuilder(Blocks.DARK_OAK_PLANKS)
        .button(Blocks.DARK_OAK_BUTTON)
        .fence(Blocks.DARK_OAK_FENCE)
        .fenceGate(Blocks.DARK_OAK_FENCE_GATE)
        .pressurePlate(Blocks.DARK_OAK_PRESSURE_PLATE)
        .sign(Blocks.DARK_OAK_SIGN, Blocks.DARK_OAK_WALL_SIGN)
        .slab(Blocks.DARK_OAK_SLAB)
        .stairs(Blocks.DARK_OAK_STAIRS)
        .door(Blocks.DARK_OAK_DOOR)
        .trapdoor(Blocks.DARK_OAK_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily PALE_OAK_PLANKS = familyBuilder(Blocks.PALE_OAK_PLANKS)
        .button(Blocks.PALE_OAK_BUTTON)
        .fence(Blocks.PALE_OAK_FENCE)
        .fenceGate(Blocks.PALE_OAK_FENCE_GATE)
        .pressurePlate(Blocks.PALE_OAK_PRESSURE_PLATE)
        .sign(Blocks.PALE_OAK_SIGN, Blocks.PALE_OAK_WALL_SIGN)
        .slab(Blocks.PALE_OAK_SLAB)
        .stairs(Blocks.PALE_OAK_STAIRS)
        .door(Blocks.PALE_OAK_DOOR)
        .trapdoor(Blocks.PALE_OAK_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily SPRUCE_PLANKS = familyBuilder(Blocks.SPRUCE_PLANKS)
        .button(Blocks.SPRUCE_BUTTON)
        .fence(Blocks.SPRUCE_FENCE)
        .fenceGate(Blocks.SPRUCE_FENCE_GATE)
        .pressurePlate(Blocks.SPRUCE_PRESSURE_PLATE)
        .sign(Blocks.SPRUCE_SIGN, Blocks.SPRUCE_WALL_SIGN)
        .slab(Blocks.SPRUCE_SLAB)
        .stairs(Blocks.SPRUCE_STAIRS)
        .door(Blocks.SPRUCE_DOOR)
        .trapdoor(Blocks.SPRUCE_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily WARPED_PLANKS = familyBuilder(Blocks.WARPED_PLANKS)
        .button(Blocks.WARPED_BUTTON)
        .fence(Blocks.WARPED_FENCE)
        .fenceGate(Blocks.WARPED_FENCE_GATE)
        .pressurePlate(Blocks.WARPED_PRESSURE_PLATE)
        .sign(Blocks.WARPED_SIGN, Blocks.WARPED_WALL_SIGN)
        .slab(Blocks.WARPED_SLAB)
        .stairs(Blocks.WARPED_STAIRS)
        .door(Blocks.WARPED_DOOR)
        .trapdoor(Blocks.WARPED_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily MANGROVE_PLANKS = familyBuilder(Blocks.MANGROVE_PLANKS)
        .button(Blocks.MANGROVE_BUTTON)
        .slab(Blocks.MANGROVE_SLAB)
        .stairs(Blocks.MANGROVE_STAIRS)
        .fence(Blocks.MANGROVE_FENCE)
        .fenceGate(Blocks.MANGROVE_FENCE_GATE)
        .pressurePlate(Blocks.MANGROVE_PRESSURE_PLATE)
        .sign(Blocks.MANGROVE_SIGN, Blocks.MANGROVE_WALL_SIGN)
        .door(Blocks.MANGROVE_DOOR)
        .trapdoor(Blocks.MANGROVE_TRAPDOOR)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily BAMBOO_PLANKS = familyBuilder(Blocks.BAMBOO_PLANKS)
        .button(Blocks.BAMBOO_BUTTON)
        .slab(Blocks.BAMBOO_SLAB)
        .stairs(Blocks.BAMBOO_STAIRS)
        .customFence(Blocks.BAMBOO_FENCE)
        .customFenceGate(Blocks.BAMBOO_FENCE_GATE)
        .pressurePlate(Blocks.BAMBOO_PRESSURE_PLATE)
        .sign(Blocks.BAMBOO_SIGN, Blocks.BAMBOO_WALL_SIGN)
        .door(Blocks.BAMBOO_DOOR)
        .trapdoor(Blocks.BAMBOO_TRAPDOOR)
        .mosaic(Blocks.BAMBOO_MOSAIC)
        .recipeGroupPrefix("wooden")
        .recipeUnlockedBy("has_planks")
        .getFamily();
    public static final BlockFamily BAMBOO_MOSAIC = familyBuilder(Blocks.BAMBOO_MOSAIC)
        .slab(Blocks.BAMBOO_MOSAIC_SLAB)
        .stairs(Blocks.BAMBOO_MOSAIC_STAIRS)
        .getFamily();
    public static final BlockFamily MUD_BRICKS = familyBuilder(Blocks.MUD_BRICKS)
        .wall(Blocks.MUD_BRICK_WALL)
        .stairs(Blocks.MUD_BRICK_STAIRS)
        .slab(Blocks.MUD_BRICK_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily ANDESITE = familyBuilder(Blocks.ANDESITE)
        .wall(Blocks.ANDESITE_WALL)
        .stairs(Blocks.ANDESITE_STAIRS)
        .slab(Blocks.ANDESITE_SLAB)
        .polished(Blocks.POLISHED_ANDESITE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_ANDESITE = familyBuilder(Blocks.POLISHED_ANDESITE)
        .stairs(Blocks.POLISHED_ANDESITE_STAIRS)
        .slab(Blocks.POLISHED_ANDESITE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily BLACKSTONE = familyBuilder(Blocks.BLACKSTONE)
        .wall(Blocks.BLACKSTONE_WALL)
        .stairs(Blocks.BLACKSTONE_STAIRS)
        .slab(Blocks.BLACKSTONE_SLAB)
        .polished(Blocks.POLISHED_BLACKSTONE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_BLACKSTONE = familyBuilder(Blocks.POLISHED_BLACKSTONE)
        .wall(Blocks.POLISHED_BLACKSTONE_WALL)
        .pressurePlate(Blocks.POLISHED_BLACKSTONE_PRESSURE_PLATE)
        .button(Blocks.POLISHED_BLACKSTONE_BUTTON)
        .stairs(Blocks.POLISHED_BLACKSTONE_STAIRS)
        .slab(Blocks.POLISHED_BLACKSTONE_SLAB)
        .bricks(Blocks.POLISHED_BLACKSTONE_BRICKS)
        .chiseled(Blocks.CHISELED_POLISHED_BLACKSTONE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_BLACKSTONE_BRICKS = familyBuilder(Blocks.POLISHED_BLACKSTONE_BRICKS)
        .wall(Blocks.POLISHED_BLACKSTONE_BRICK_WALL)
        .stairs(Blocks.POLISHED_BLACKSTONE_BRICK_STAIRS)
        .slab(Blocks.POLISHED_BLACKSTONE_BRICK_SLAB)
        .cracked(Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily BRICKS = familyBuilder(Blocks.BRICKS)
        .wall(Blocks.BRICK_WALL)
        .stairs(Blocks.BRICK_STAIRS)
        .slab(Blocks.BRICK_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily END_STONE = familyBuilder(Blocks.END_STONE).bricks(Blocks.END_STONE_BRICKS).generateStonecutterRecipe().getFamily();
    public static final BlockFamily END_STONE_BRICKS = familyBuilder(Blocks.END_STONE_BRICKS)
        .wall(Blocks.END_STONE_BRICK_WALL)
        .stairs(Blocks.END_STONE_BRICK_STAIRS)
        .slab(Blocks.END_STONE_BRICK_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily MOSSY_STONE_BRICKS = familyBuilder(Blocks.MOSSY_STONE_BRICKS)
        .wall(Blocks.MOSSY_STONE_BRICK_WALL)
        .stairs(Blocks.MOSSY_STONE_BRICK_STAIRS)
        .slab(Blocks.MOSSY_STONE_BRICK_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily COPPER_BLOCK = familyBuilder(Blocks.COPPER_BLOCK).cut(Blocks.CUT_COPPER).dontGenerateModel().getFamily();
    public static final BlockFamily CUT_COPPER = familyBuilder(Blocks.CUT_COPPER)
        .slab(Blocks.CUT_COPPER_SLAB)
        .stairs(Blocks.CUT_COPPER_STAIRS)
        .chiseled(Blocks.CHISELED_COPPER)
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily WAXED_COPPER_BLOCK = familyBuilder(Blocks.WAXED_COPPER_BLOCK)
        .cut(Blocks.WAXED_CUT_COPPER)
        .recipeGroupPrefix("waxed_cut_copper")
        .dontGenerateModel()
        .getFamily();
    public static final BlockFamily WAXED_CUT_COPPER = familyBuilder(Blocks.WAXED_CUT_COPPER)
        .slab(Blocks.WAXED_CUT_COPPER_SLAB)
        .stairs(Blocks.WAXED_CUT_COPPER_STAIRS)
        .recipeGroupPrefix("waxed_cut_copper")
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily EXPOSED_COPPER = familyBuilder(Blocks.EXPOSED_COPPER).cut(Blocks.EXPOSED_CUT_COPPER).dontGenerateModel().getFamily();
    public static final BlockFamily EXPOSED_CUT_COPPER = familyBuilder(Blocks.EXPOSED_CUT_COPPER)
        .slab(Blocks.EXPOSED_CUT_COPPER_SLAB)
        .stairs(Blocks.EXPOSED_CUT_COPPER_STAIRS)
        .chiseled(Blocks.EXPOSED_CHISELED_COPPER)
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily WAXED_EXPOSED_COPPER = familyBuilder(Blocks.WAXED_EXPOSED_COPPER)
        .cut(Blocks.WAXED_EXPOSED_CUT_COPPER)
        .recipeGroupPrefix("waxed_exposed_cut_copper")
        .dontGenerateModel()
        .getFamily();
    public static final BlockFamily WAXED_EXPOSED_CUT_COPPER = familyBuilder(Blocks.WAXED_EXPOSED_CUT_COPPER)
        .slab(Blocks.WAXED_EXPOSED_CUT_COPPER_SLAB)
        .stairs(Blocks.WAXED_EXPOSED_CUT_COPPER_STAIRS)
        .recipeGroupPrefix("waxed_exposed_cut_copper")
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily WEATHERED_COPPER = familyBuilder(Blocks.WEATHERED_COPPER).cut(Blocks.WEATHERED_CUT_COPPER).dontGenerateModel().getFamily();
    public static final BlockFamily WEATHERED_CUT_COPPER = familyBuilder(Blocks.WEATHERED_CUT_COPPER)
        .slab(Blocks.WEATHERED_CUT_COPPER_SLAB)
        .stairs(Blocks.WEATHERED_CUT_COPPER_STAIRS)
        .chiseled(Blocks.WEATHERED_CHISELED_COPPER)
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily WAXED_WEATHERED_COPPER = familyBuilder(Blocks.WAXED_WEATHERED_COPPER)
        .cut(Blocks.WAXED_WEATHERED_CUT_COPPER)
        .recipeGroupPrefix("waxed_weathered_cut_copper")
        .dontGenerateModel()
        .getFamily();
    public static final BlockFamily WAXED_WEATHERED_CUT_COPPER = familyBuilder(Blocks.WAXED_WEATHERED_CUT_COPPER)
        .slab(Blocks.WAXED_WEATHERED_CUT_COPPER_SLAB)
        .stairs(Blocks.WAXED_WEATHERED_CUT_COPPER_STAIRS)
        .recipeGroupPrefix("waxed_weathered_cut_copper")
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily OXIDIZED_COPPER = familyBuilder(Blocks.OXIDIZED_COPPER).cut(Blocks.OXIDIZED_CUT_COPPER).dontGenerateModel().getFamily();
    public static final BlockFamily OXIDIZED_CUT_COPPER = familyBuilder(Blocks.OXIDIZED_CUT_COPPER)
        .slab(Blocks.OXIDIZED_CUT_COPPER_SLAB)
        .stairs(Blocks.OXIDIZED_CUT_COPPER_STAIRS)
        .chiseled(Blocks.OXIDIZED_CHISELED_COPPER)
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily WAXED_OXIDIZED_COPPER = familyBuilder(Blocks.WAXED_OXIDIZED_COPPER)
        .cut(Blocks.WAXED_OXIDIZED_CUT_COPPER)
        .recipeGroupPrefix("waxed_oxidized_cut_copper")
        .dontGenerateModel()
        .getFamily();
    public static final BlockFamily WAXED_OXIDIZED_CUT_COPPER = familyBuilder(Blocks.WAXED_OXIDIZED_CUT_COPPER)
        .slab(Blocks.WAXED_OXIDIZED_CUT_COPPER_SLAB)
        .stairs(Blocks.WAXED_OXIDIZED_CUT_COPPER_STAIRS)
        .recipeGroupPrefix("waxed_oxidized_cut_copper")
        .dontGenerateModel()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily COBBLESTONE = familyBuilder(Blocks.COBBLESTONE)
        .wall(Blocks.COBBLESTONE_WALL)
        .stairs(Blocks.COBBLESTONE_STAIRS)
        .slab(Blocks.COBBLESTONE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily MOSSY_COBBLESTONE = familyBuilder(Blocks.MOSSY_COBBLESTONE)
        .wall(Blocks.MOSSY_COBBLESTONE_WALL)
        .stairs(Blocks.MOSSY_COBBLESTONE_STAIRS)
        .slab(Blocks.MOSSY_COBBLESTONE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily DIORITE = familyBuilder(Blocks.DIORITE)
        .wall(Blocks.DIORITE_WALL)
        .stairs(Blocks.DIORITE_STAIRS)
        .slab(Blocks.DIORITE_SLAB)
        .polished(Blocks.POLISHED_DIORITE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_DIORITE = familyBuilder(Blocks.POLISHED_DIORITE)
        .stairs(Blocks.POLISHED_DIORITE_STAIRS)
        .slab(Blocks.POLISHED_DIORITE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily GRANITE = familyBuilder(Blocks.GRANITE)
        .wall(Blocks.GRANITE_WALL)
        .stairs(Blocks.GRANITE_STAIRS)
        .slab(Blocks.GRANITE_SLAB)
        .polished(Blocks.POLISHED_GRANITE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_GRANITE = familyBuilder(Blocks.POLISHED_GRANITE)
        .stairs(Blocks.POLISHED_GRANITE_STAIRS)
        .slab(Blocks.POLISHED_GRANITE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily TUFF = familyBuilder(Blocks.TUFF)
        .wall(Blocks.TUFF_WALL)
        .stairs(Blocks.TUFF_STAIRS)
        .slab(Blocks.TUFF_SLAB)
        .chiseled(Blocks.CHISELED_TUFF)
        .polished(Blocks.POLISHED_TUFF)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_TUFF = familyBuilder(Blocks.POLISHED_TUFF)
        .wall(Blocks.POLISHED_TUFF_WALL)
        .stairs(Blocks.POLISHED_TUFF_STAIRS)
        .slab(Blocks.POLISHED_TUFF_SLAB)
        .bricks(Blocks.TUFF_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily TUFF_BRICKS = familyBuilder(Blocks.TUFF_BRICKS)
        .wall(Blocks.TUFF_BRICK_WALL)
        .stairs(Blocks.TUFF_BRICK_STAIRS)
        .slab(Blocks.TUFF_BRICK_SLAB)
        .chiseled(Blocks.CHISELED_TUFF_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily RESIN_BRICKS = familyBuilder(Blocks.RESIN_BRICKS)
        .wall(Blocks.RESIN_BRICK_WALL)
        .stairs(Blocks.RESIN_BRICK_STAIRS)
        .slab(Blocks.RESIN_BRICK_SLAB)
        .chiseled(Blocks.CHISELED_RESIN_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily NETHER_BRICKS = familyBuilder(Blocks.NETHER_BRICKS)
        .fence(Blocks.NETHER_BRICK_FENCE)
        .wall(Blocks.NETHER_BRICK_WALL)
        .stairs(Blocks.NETHER_BRICK_STAIRS)
        .slab(Blocks.NETHER_BRICK_SLAB)
        .chiseled(Blocks.CHISELED_NETHER_BRICKS)
        .cracked(Blocks.CRACKED_NETHER_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily RED_NETHER_BRICKS = familyBuilder(Blocks.RED_NETHER_BRICKS)
        .slab(Blocks.RED_NETHER_BRICK_SLAB)
        .stairs(Blocks.RED_NETHER_BRICK_STAIRS)
        .wall(Blocks.RED_NETHER_BRICK_WALL)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily PRISMARINE = familyBuilder(Blocks.PRISMARINE)
        .wall(Blocks.PRISMARINE_WALL)
        .stairs(Blocks.PRISMARINE_STAIRS)
        .slab(Blocks.PRISMARINE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily PRISMARINE_BRICKS = familyBuilder(Blocks.PRISMARINE_BRICKS)
        .stairs(Blocks.PRISMARINE_BRICK_STAIRS)
        .slab(Blocks.PRISMARINE_BRICK_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily DARK_PRISMARINE = familyBuilder(Blocks.DARK_PRISMARINE)
        .stairs(Blocks.DARK_PRISMARINE_STAIRS)
        .slab(Blocks.DARK_PRISMARINE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily PURPUR = familyBuilder(Blocks.PURPUR_BLOCK)
        .stairs(Blocks.PURPUR_STAIRS)
        .slab(Blocks.PURPUR_SLAB)
        .dontGenerateCraftingRecipe()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily QUARTZ = familyBuilder(Blocks.QUARTZ_BLOCK)
        .stairs(Blocks.QUARTZ_STAIRS)
        .slab(Blocks.QUARTZ_SLAB)
        .chiseled(Blocks.CHISELED_QUARTZ_BLOCK)
        .bricks(Blocks.QUARTZ_BRICKS)
        .dontGenerateCraftingRecipe()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily SMOOTH_QUARTZ = familyBuilder(Blocks.SMOOTH_QUARTZ)
        .stairs(Blocks.SMOOTH_QUARTZ_STAIRS)
        .slab(Blocks.SMOOTH_QUARTZ_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily SANDSTONE = familyBuilder(Blocks.SANDSTONE)
        .wall(Blocks.SANDSTONE_WALL)
        .stairs(Blocks.SANDSTONE_STAIRS)
        .slab(Blocks.SANDSTONE_SLAB)
        .chiseled(Blocks.CHISELED_SANDSTONE)
        .cut(Blocks.CUT_SANDSTONE)
        .dontGenerateCraftingRecipe()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily CUT_SANDSTONE = familyBuilder(Blocks.CUT_SANDSTONE).slab(Blocks.CUT_SANDSTONE_SLAB).generateStonecutterRecipe().getFamily();
    public static final BlockFamily SMOOTH_SANDSTONE = familyBuilder(Blocks.SMOOTH_SANDSTONE)
        .slab(Blocks.SMOOTH_SANDSTONE_SLAB)
        .stairs(Blocks.SMOOTH_SANDSTONE_STAIRS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily RED_SANDSTONE = familyBuilder(Blocks.RED_SANDSTONE)
        .wall(Blocks.RED_SANDSTONE_WALL)
        .stairs(Blocks.RED_SANDSTONE_STAIRS)
        .slab(Blocks.RED_SANDSTONE_SLAB)
        .chiseled(Blocks.CHISELED_RED_SANDSTONE)
        .cut(Blocks.CUT_RED_SANDSTONE)
        .dontGenerateCraftingRecipe()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily CUT_RED_SANDSTONE = familyBuilder(Blocks.CUT_RED_SANDSTONE)
        .slab(Blocks.CUT_RED_SANDSTONE_SLAB)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily SMOOTH_RED_SANDSTONE = familyBuilder(Blocks.SMOOTH_RED_SANDSTONE)
        .slab(Blocks.SMOOTH_RED_SANDSTONE_SLAB)
        .stairs(Blocks.SMOOTH_RED_SANDSTONE_STAIRS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily STONE = familyBuilder(Blocks.STONE)
        .slab(Blocks.STONE_SLAB)
        .pressurePlate(Blocks.STONE_PRESSURE_PLATE)
        .button(Blocks.STONE_BUTTON)
        .stairs(Blocks.STONE_STAIRS)
        .bricks(Blocks.STONE_BRICKS)
        .cobbled(Blocks.COBBLESTONE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily STONE_BRICK = familyBuilder(Blocks.STONE_BRICKS)
        .wall(Blocks.STONE_BRICK_WALL)
        .stairs(Blocks.STONE_BRICK_STAIRS)
        .slab(Blocks.STONE_BRICK_SLAB)
        .chiseled(Blocks.CHISELED_STONE_BRICKS)
        .cracked(Blocks.CRACKED_STONE_BRICKS)
        .dontGenerateCraftingRecipe()
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily DEEPSLATE = familyBuilder(Blocks.DEEPSLATE).cobbled(Blocks.COBBLED_DEEPSLATE).generateStonecutterRecipe().getFamily();
    public static final BlockFamily COBBLED_DEEPSLATE = familyBuilder(Blocks.COBBLED_DEEPSLATE)
        .slab(Blocks.COBBLED_DEEPSLATE_SLAB)
        .stairs(Blocks.COBBLED_DEEPSLATE_STAIRS)
        .wall(Blocks.COBBLED_DEEPSLATE_WALL)
        .chiseled(Blocks.CHISELED_DEEPSLATE)
        .polished(Blocks.POLISHED_DEEPSLATE)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily POLISHED_DEEPSLATE = familyBuilder(Blocks.POLISHED_DEEPSLATE)
        .slab(Blocks.POLISHED_DEEPSLATE_SLAB)
        .stairs(Blocks.POLISHED_DEEPSLATE_STAIRS)
        .wall(Blocks.POLISHED_DEEPSLATE_WALL)
        .bricks(Blocks.DEEPSLATE_BRICKS)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily DEEPSLATE_BRICKS = familyBuilder(Blocks.DEEPSLATE_BRICKS)
        .slab(Blocks.DEEPSLATE_BRICK_SLAB)
        .stairs(Blocks.DEEPSLATE_BRICK_STAIRS)
        .wall(Blocks.DEEPSLATE_BRICK_WALL)
        .cracked(Blocks.CRACKED_DEEPSLATE_BRICKS)
        .tiles(Blocks.DEEPSLATE_TILES)
        .generateStonecutterRecipe()
        .getFamily();
    public static final BlockFamily DEEPSLATE_TILES = familyBuilder(Blocks.DEEPSLATE_TILES)
        .slab(Blocks.DEEPSLATE_TILE_SLAB)
        .stairs(Blocks.DEEPSLATE_TILE_STAIRS)
        .wall(Blocks.DEEPSLATE_TILE_WALL)
        .cracked(Blocks.CRACKED_DEEPSLATE_TILES)
        .generateStonecutterRecipe()
        .getFamily();
 
    private static BlockFamily.Builder familyBuilder(Block base) {
        BlockFamily.Builder builder = new BlockFamily.Builder(base);
        BlockFamily blockFamily = MAP.put(base, builder.getFamily());
        if (blockFamily != null) {
            throw new IllegalStateException("Duplicate family definition for " + BuiltInRegistries.BLOCK.getKey(base));
        } else {
            return builder;
        }
    }
 
    public static Stream<BlockFamily> getAllFamilies() {
        return MAP.values().stream();
    }
 
    public static @Nullable BlockFamily getFamily(Block base) {
        return MAP.get(base);
    }
}

引用的其他类

  • BlockFamily

    • 引用位置: 字段/方法调用/构造调用/返回值
    • 关联成员: BlockFamily.Builder(), Builder()
  • Block

    • 引用位置: 参数/字段