BlockTintSources.java

net.minecraft.client.color.block.BlockTintSources

信息

  • 全限定名:net.minecraft.client.color.block.BlockTintSources
  • 类型:public class
  • 包:net.minecraft.client.color.block
  • 源码路径:src/main/java/net/minecraft/client/color/block/BlockTintSources.java
  • 起始行号:L19
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

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

public static BlockTintSource constant(int color) @ L20

  • 方法名:constant
  • 源码定位:L20
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

  • color: int

说明:

TODO

public static BlockTintSource constant(int colorInHand, int colorInWorld) @ L24

  • 方法名:constant
  • 源码定位:L24
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

  • colorInHand: int
  • colorInWorld: int

说明:

TODO

public static BlockTintSource doubleTallGrass() @ L38

  • 方法名:doubleTallGrass
  • 源码定位:L38
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource grass() @ L57

  • 方法名:grass
  • 源码定位:L57
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource grassBlock() @ L71

  • 方法名:grassBlock
  • 源码定位:L71
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource sugarCane() @ L90

  • 方法名:sugarCane
  • 源码定位:L90
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource foliage() @ L104

  • 方法名:foliage
  • 源码定位:L104
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource dryFoliage() @ L118

  • 方法名:dryFoliage
  • 源码定位:L118
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource water() @ L132

  • 方法名:water
  • 源码定位:L132
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource waterParticles() @ L146

  • 方法名:waterParticles
  • 源码定位:L146
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource redstone() @ L160

  • 方法名:redstone
  • 源码定位:L160
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

public static BlockTintSource stem() @ L174

  • 方法名:stem
  • 源码定位:L174
  • 返回类型:BlockTintSource
  • 修饰符:public static

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class BlockTintSources {
    public static BlockTintSource constant(int color) {
        return var1 -> color;
    }
 
    public static BlockTintSource constant(int colorInHand, int colorInWorld) {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return colorInHand;
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return colorInWorld;
            }
        };
    }
 
    public static BlockTintSource doubleTallGrass() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return GrassColor.getDefaultColor();
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageGrassColor(level, state.getValue(DoublePlantBlock.HALF) == DoubleBlockHalf.UPPER ? pos.below() : pos);
            }
 
            @Override
            public Set<Property<?>> relevantProperties() {
                return Set.of(DoublePlantBlock.HALF);
            }
        };
    }
 
    public static BlockTintSource grass() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return GrassColor.getDefaultColor();
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageGrassColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource grassBlock() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return GrassColor.getDefaultColor();
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageGrassColor(level, pos);
            }
 
            @Override
            public int colorAsTerrainParticle(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return -1;
            }
        };
    }
 
    public static BlockTintSource sugarCane() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return -1;
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageGrassColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource foliage() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return -12012264;
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageFoliageColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource dryFoliage() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return -10732494;
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageDryFoliageColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource water() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return -1;
            }
 
            @Override
            public int colorInWorld(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageWaterColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource waterParticles() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return -1;
            }
 
            @Override
            public int colorAsTerrainParticle(BlockState state, BlockAndTintGetter level, BlockPos pos) {
                return BiomeColors.getAverageWaterColor(level, pos);
            }
        };
    }
 
    public static BlockTintSource redstone() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                return RedStoneWireBlock.getColorForPower(state.getValue(RedStoneWireBlock.POWER));
            }
 
            @Override
            public Set<Property<?>> relevantProperties() {
                return Set.of(RedStoneWireBlock.POWER);
            }
        };
    }
 
    public static BlockTintSource stem() {
        return new BlockTintSource() {
            @Override
            public int color(BlockState state) {
                int age = state.getValue(StemBlock.AGE);
                return ARGB.color(age * 32, 255 - age * 8, age * 4);
            }
 
            @Override
            public Set<Property<?>> relevantProperties() {
                return Set.of(StemBlock.AGE);
            }
        };
    }
}

引用的其他类

  • BlockTintSource

    • 引用位置: 构造调用/返回值
    • 关联成员: BlockTintSource()
  • BiomeColors

    • 引用位置: 方法调用
    • 关联成员: BiomeColors.getAverageDryFoliageColor(), BiomeColors.getAverageFoliageColor(), BiomeColors.getAverageGrassColor(), BiomeColors.getAverageWaterColor()
  • ARGB

    • 引用位置: 方法调用
    • 关联成员: ARGB.color()
  • GrassColor

    • 引用位置: 方法调用
    • 关联成员: GrassColor.getDefaultColor()
  • RedStoneWireBlock

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