TexturedModel.java

net.minecraft.client.data.models.model.TexturedModel

信息

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

    TODO

字段/常量

  • CUBE

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L14
    • 说明:

      TODO

  • CUBE_INNER_FACES

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

      TODO

  • CUBE_MIRRORED

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L16
    • 说明:

      TODO

  • COLUMN

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L17
    • 说明:

      TODO

  • COLUMN_HORIZONTAL

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L18
    • 说明:

      TODO

  • CUBE_TOP_BOTTOM

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L19
    • 说明:

      TODO

  • CUBE_TOP

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L20
    • 说明:

      TODO

  • ORIENTABLE_ONLY_TOP

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L21
    • 说明:

      TODO

  • ORIENTABLE

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L22
    • 说明:

      TODO

  • CARPET

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L23
    • 说明:

      TODO

  • MOSSY_CARPET_SIDE

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L24
    • 说明:

      TODO

  • FLOWERBED_1

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L25
    • 说明:

      TODO

  • FLOWERBED_2

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L26
    • 说明:

      TODO

  • FLOWERBED_3

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L27
    • 说明:

      TODO

  • FLOWERBED_4

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

      TODO

  • LEAF_LITTER_1

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L29
    • 说明:

      TODO

  • LEAF_LITTER_2

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L30
    • 说明:

      TODO

  • LEAF_LITTER_3

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L31
    • 说明:

      TODO

  • LEAF_LITTER_4

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L32
    • 说明:

      TODO

  • GLAZED_TERRACOTTA

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L33
    • 说明:

      TODO

  • CORAL_FAN

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L34
    • 说明:

      TODO

  • ANVIL

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L35
    • 说明:

      TODO

  • LEAVES

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L36
    • 说明:

      TODO

  • LANTERN

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L37
    • 说明:

      TODO

  • HANGING_LANTERN

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L38
    • 说明:

      TODO

  • CHAIN

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L39
    • 说明:

      TODO

  • SEAGRASS

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L40
    • 说明:

      TODO

  • COLUMN_ALT

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

      TODO

  • COLUMN_HORIZONTAL_ALT

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L42
    • 说明:

      TODO

  • TOP_BOTTOM_WITH_WALL

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L43
    • 说明:

      TODO

  • COLUMN_WITH_WALL

    • 类型: TexturedModel.Provider
    • 修饰符: public static final
    • 源码定位: L44
    • 说明:

      TODO

  • mapping

    • 类型: TextureMapping
    • 修饰符: private final
    • 源码定位: L45
    • 说明:

      TODO

  • template

    • 类型: ModelTemplate
    • 修饰符: private final
    • 源码定位: L46
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.client.data.models.model.TexturedModel.Provider
    • 类型: interface
    • 修饰符: public
    • 源码定位: L84
    • 说明:

      TODO

构造器

private TexturedModel(TextureMapping mapping, ModelTemplate template) @ L48

  • 构造器名:TexturedModel
  • 源码定位:L48
  • 修饰符:private

参数:

  • mapping: TextureMapping
  • template: ModelTemplate

说明:

TODO

方法

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

public ModelTemplate getTemplate() @ L53

  • 方法名:getTemplate
  • 源码定位:L53
  • 返回类型:ModelTemplate
  • 修饰符:public

参数:

说明:

TODO

public TextureMapping getMapping() @ L57

  • 方法名:getMapping
  • 源码定位:L57
  • 返回类型:TextureMapping
  • 修饰符:public

参数:

说明:

TODO

public TexturedModel updateTextures(Consumer<TextureMapping> mutator) @ L61

  • 方法名:updateTextures
  • 源码定位:L61
  • 返回类型:TexturedModel
  • 修饰符:public

参数:

  • mutator: Consumer

说明:

TODO

public Identifier create(Block block, BiConsumer<Identifier,ModelInstance> modelOutput) @ L66

  • 方法名:create
  • 源码定位:L66
  • 返回类型:Identifier
  • 修饰符:public

参数:

  • block: Block
  • modelOutput: BiConsumer<Identifier,ModelInstance>

说明:

TODO

public Identifier createWithSuffix(Block block, String extraSuffix, BiConsumer<Identifier,ModelInstance> modelOutput) @ L70

  • 方法名:createWithSuffix
  • 源码定位:L70
  • 返回类型:Identifier
  • 修饰符:public

参数:

  • block: Block
  • extraSuffix: String
  • modelOutput: BiConsumer<Identifier,ModelInstance>

说明:

TODO

private static TexturedModel.Provider createDefault(Function<Block,TextureMapping> mapping, ModelTemplate template) @ L74

  • 方法名:createDefault
  • 源码定位:L74
  • 返回类型:TexturedModel.Provider
  • 修饰符:private static

参数:

  • mapping: Function<Block,TextureMapping>
  • template: ModelTemplate

说明:

TODO

public static TexturedModel createAllSame(Material material) @ L78

  • 方法名:createAllSame
  • 源码定位:L78
  • 返回类型:TexturedModel
  • 修饰符:public static

参数:

  • material: Material

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class TexturedModel {
    public static final TexturedModel.Provider CUBE = createDefault(TextureMapping::cube, ModelTemplates.CUBE_ALL);
    public static final TexturedModel.Provider CUBE_INNER_FACES = createDefault(TextureMapping::cube, ModelTemplates.CUBE_ALL_INNER_FACES);
    public static final TexturedModel.Provider CUBE_MIRRORED = createDefault(TextureMapping::cube, ModelTemplates.CUBE_MIRRORED_ALL);
    public static final TexturedModel.Provider COLUMN = createDefault(TextureMapping::column, ModelTemplates.CUBE_COLUMN);
    public static final TexturedModel.Provider COLUMN_HORIZONTAL = createDefault(TextureMapping::column, ModelTemplates.CUBE_COLUMN_HORIZONTAL);
    public static final TexturedModel.Provider CUBE_TOP_BOTTOM = createDefault(TextureMapping::cubeBottomTop, ModelTemplates.CUBE_BOTTOM_TOP);
    public static final TexturedModel.Provider CUBE_TOP = createDefault(TextureMapping::cubeTop, ModelTemplates.CUBE_TOP);
    public static final TexturedModel.Provider ORIENTABLE_ONLY_TOP = createDefault(TextureMapping::orientableCubeOnlyTop, ModelTemplates.CUBE_ORIENTABLE);
    public static final TexturedModel.Provider ORIENTABLE = createDefault(TextureMapping::orientableCube, ModelTemplates.CUBE_ORIENTABLE_TOP_BOTTOM);
    public static final TexturedModel.Provider CARPET = createDefault(TextureMapping::wool, ModelTemplates.CARPET);
    public static final TexturedModel.Provider MOSSY_CARPET_SIDE = createDefault(TextureMapping::side, ModelTemplates.MOSSY_CARPET_SIDE);
    public static final TexturedModel.Provider FLOWERBED_1 = createDefault(TextureMapping::flowerbed, ModelTemplates.FLOWERBED_1);
    public static final TexturedModel.Provider FLOWERBED_2 = createDefault(TextureMapping::flowerbed, ModelTemplates.FLOWERBED_2);
    public static final TexturedModel.Provider FLOWERBED_3 = createDefault(TextureMapping::flowerbed, ModelTemplates.FLOWERBED_3);
    public static final TexturedModel.Provider FLOWERBED_4 = createDefault(TextureMapping::flowerbed, ModelTemplates.FLOWERBED_4);
    public static final TexturedModel.Provider LEAF_LITTER_1 = createDefault(TextureMapping::defaultTexture, ModelTemplates.LEAF_LITTER_1);
    public static final TexturedModel.Provider LEAF_LITTER_2 = createDefault(TextureMapping::defaultTexture, ModelTemplates.LEAF_LITTER_2);
    public static final TexturedModel.Provider LEAF_LITTER_3 = createDefault(TextureMapping::defaultTexture, ModelTemplates.LEAF_LITTER_3);
    public static final TexturedModel.Provider LEAF_LITTER_4 = createDefault(TextureMapping::defaultTexture, ModelTemplates.LEAF_LITTER_4);
    public static final TexturedModel.Provider GLAZED_TERRACOTTA = createDefault(TextureMapping::pattern, ModelTemplates.GLAZED_TERRACOTTA);
    public static final TexturedModel.Provider CORAL_FAN = createDefault(TextureMapping::fan, ModelTemplates.CORAL_FAN);
    public static final TexturedModel.Provider ANVIL = createDefault(TextureMapping::top, ModelTemplates.ANVIL);
    public static final TexturedModel.Provider LEAVES = createDefault(TextureMapping::cube, ModelTemplates.LEAVES);
    public static final TexturedModel.Provider LANTERN = createDefault(TextureMapping::lantern, ModelTemplates.LANTERN);
    public static final TexturedModel.Provider HANGING_LANTERN = createDefault(TextureMapping::lantern, ModelTemplates.HANGING_LANTERN);
    public static final TexturedModel.Provider CHAIN = createDefault(TextureMapping::defaultTexture, ModelTemplates.CHAIN);
    public static final TexturedModel.Provider SEAGRASS = createDefault(TextureMapping::defaultTexture, ModelTemplates.SEAGRASS);
    public static final TexturedModel.Provider COLUMN_ALT = createDefault(TextureMapping::logColumn, ModelTemplates.CUBE_COLUMN);
    public static final TexturedModel.Provider COLUMN_HORIZONTAL_ALT = createDefault(TextureMapping::logColumn, ModelTemplates.CUBE_COLUMN_HORIZONTAL);
    public static final TexturedModel.Provider TOP_BOTTOM_WITH_WALL = createDefault(TextureMapping::cubeBottomTopWithWall, ModelTemplates.CUBE_BOTTOM_TOP);
    public static final TexturedModel.Provider COLUMN_WITH_WALL = createDefault(TextureMapping::columnWithWall, ModelTemplates.CUBE_COLUMN);
    private final TextureMapping mapping;
    private final ModelTemplate template;
 
    private TexturedModel(TextureMapping mapping, ModelTemplate template) {
        this.mapping = mapping;
        this.template = template;
    }
 
    public ModelTemplate getTemplate() {
        return this.template;
    }
 
    public TextureMapping getMapping() {
        return this.mapping;
    }
 
    public TexturedModel updateTextures(Consumer<TextureMapping> mutator) {
        mutator.accept(this.mapping);
        return this;
    }
 
    public Identifier create(Block block, BiConsumer<Identifier, ModelInstance> modelOutput) {
        return this.template.create(block, this.mapping, modelOutput);
    }
 
    public Identifier createWithSuffix(Block block, String extraSuffix, BiConsumer<Identifier, ModelInstance> modelOutput) {
        return this.template.createWithSuffix(block, extraSuffix, this.mapping, modelOutput);
    }
 
    private static TexturedModel.Provider createDefault(Function<Block, TextureMapping> mapping, ModelTemplate template) {
        return block -> new TexturedModel(mapping.apply(block), template);
    }
 
    public static TexturedModel createAllSame(Material material) {
        return new TexturedModel(TextureMapping.cube(material), ModelTemplates.CUBE_ALL);
    }
 
    @FunctionalInterface
    @OnlyIn(Dist.CLIENT)
    public interface Provider {
        TexturedModel get(final Block block);
 
        default Identifier create(Block block, BiConsumer<Identifier, ModelInstance> modelOutput) {
            return this.get(block).create(block, modelOutput);
        }
 
        default Identifier createWithSuffix(Block block, String suffix, BiConsumer<Identifier, ModelInstance> modelOutput) {
            return this.get(block).createWithSuffix(block, suffix, modelOutput);
        }
 
        default TexturedModel.Provider updateTexture(Consumer<TextureMapping> mutator) {
            return block -> this.get(block).updateTextures(mutator);
        }
    }
}

引用的其他类