BlockStateDefinitions.java

net.minecraft.client.resources.model.BlockStateDefinitions

信息

  • 全限定名:net.minecraft.client.resources.model.BlockStateDefinitions
  • 类型:public class
  • 包:net.minecraft.client.resources.model
  • 源码路径:src/main/java/net/minecraft/client/resources/model/BlockStateDefinitions.java
  • 起始行号:L17
  • 职责:

    TODO

字段/常量

  • ITEM_FRAME_FAKE_DEFINITION

    • 类型: StateDefinition<Block,BlockState>
    • 修饰符: private static final
    • 源码定位: L18
    • 说明:

      TODO

  • GLOW_ITEM_FRAME_FAKE_DEFINITION

    • 类型: StateDefinition<Block,BlockState>
    • 修饰符: private static final
    • 源码定位: L19
    • 说明:

      TODO

  • GLOW_ITEM_FRAME_LOCATION

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

      TODO

  • ITEM_FRAME_LOCATION

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

      TODO

  • STATIC_DEFINITIONS

    • 类型: Map<Identifier,StateDefinition<Block,BlockState>>
    • 修饰符: private static final
    • 源码定位: L22
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

private static StateDefinition<Block,BlockState> createItemFrameFakeState() @ L26

  • 方法名:createItemFrameFakeState
  • 源码定位:L26
  • 返回类型:StateDefinition<Block,BlockState>
  • 修饰符:private static

参数:

说明:

TODO

public static BlockState getItemFrameFakeState(boolean isGlowing, boolean map) @ L30

  • 方法名:getItemFrameFakeState
  • 源码定位:L30
  • 返回类型:BlockState
  • 修饰符:public static

参数:

  • isGlowing: boolean
  • map: boolean

说明:

TODO

static Function<Identifier,StateDefinition<Block,BlockState>> definitionLocationToBlockStateMapper() @ L34

  • 方法名:definitionLocationToBlockStateMapper
  • 源码定位:L34
  • 返回类型:Function<Identifier,StateDefinition<Block,BlockState>>
  • 修饰符:static

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class BlockStateDefinitions {
    private static final StateDefinition<Block, BlockState> ITEM_FRAME_FAKE_DEFINITION = createItemFrameFakeState();
    private static final StateDefinition<Block, BlockState> GLOW_ITEM_FRAME_FAKE_DEFINITION = createItemFrameFakeState();
    private static final Identifier GLOW_ITEM_FRAME_LOCATION = Identifier.withDefaultNamespace("glow_item_frame");
    private static final Identifier ITEM_FRAME_LOCATION = Identifier.withDefaultNamespace("item_frame");
    private static final Map<Identifier, StateDefinition<Block, BlockState>> STATIC_DEFINITIONS = Map.of(
        ITEM_FRAME_LOCATION, ITEM_FRAME_FAKE_DEFINITION, GLOW_ITEM_FRAME_LOCATION, GLOW_ITEM_FRAME_FAKE_DEFINITION
    );
 
    private static StateDefinition<Block, BlockState> createItemFrameFakeState() {
        return new StateDefinition.Builder<Block, BlockState>(Blocks.AIR).add(BlockStateProperties.MAP).create(Block::defaultBlockState, BlockState::new);
    }
 
    public static BlockState getItemFrameFakeState(boolean isGlowing, boolean map) {
        return (isGlowing ? GLOW_ITEM_FRAME_FAKE_DEFINITION : ITEM_FRAME_FAKE_DEFINITION).any().setValue(BlockStateProperties.MAP, map);
    }
 
    static Function<Identifier, StateDefinition<Block, BlockState>> definitionLocationToBlockStateMapper() {
        Map<Identifier, StateDefinition<Block, BlockState>> result = new HashMap<>(STATIC_DEFINITIONS);
 
        for (Block block : BuiltInRegistries.BLOCK) {
            result.put(block.builtInRegistryHolder().key().identifier(), block.getStateDefinition());
        }
 
        return result::get;
    }
}

引用的其他类

  • Identifier

    • 引用位置: 字段/方法调用/返回值
    • 关联成员: Identifier.withDefaultNamespace()
  • Block

    • 引用位置: 字段/返回值
  • BlockState

    • 引用位置: 字段/返回值
  • StateDefinition

    • 引用位置: 字段/返回值