OverlayTexture.java
net.minecraft.client.renderer.texture.OverlayTexture
信息
- 全限定名:net.minecraft.client.renderer.texture.OverlayTexture
- 类型:public class
- 包:net.minecraft.client.renderer.texture
- 源码路径:src/main/java/net/minecraft/client/renderer/texture/OverlayTexture.java
- 起始行号:L10
- 实现:AutoCloseable
- 职责:
TODO
字段/常量
-
SIZE- 类型:
int - 修饰符:
private static final - 源码定位:
L11 - 说明:
TODO
- 类型:
-
NO_WHITE_U- 类型:
int - 修饰符:
public static final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
RED_OVERLAY_V- 类型:
int - 修饰符:
public static final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
WHITE_OVERLAY_V- 类型:
int - 修饰符:
public static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
NO_OVERLAY- 类型:
int - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
texture- 类型:
DynamicTexture - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public OverlayTexture() @ L18
- 构造器名:OverlayTexture
- 源码定位:L18
- 修饰符:public
参数:
- 无
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void close() @ L35
- 方法名:close
- 源码定位:L35
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public static int u(float whiteOverlayProgress) @ L40
- 方法名:u
- 源码定位:L40
- 返回类型:int
- 修饰符:public static
参数:
- whiteOverlayProgress: float
说明:
TODO
public static int v(boolean hurtOverlay) @ L44
- 方法名:v
- 源码定位:L44
- 返回类型:int
- 修饰符:public static
参数:
- hurtOverlay: boolean
说明:
TODO
public static int pack(int u, int v) @ L48
- 方法名:pack
- 源码定位:L48
- 返回类型:int
- 修饰符:public static
参数:
- u: int
- v: int
说明:
TODO
public static int pack(float whiteOverlayProgress, boolean redOverlay) @ L52
- 方法名:pack
- 源码定位:L52
- 返回类型:int
- 修饰符:public static
参数:
- whiteOverlayProgress: float
- redOverlay: boolean
说明:
TODO
public GpuTextureView getTextureView() @ L56
- 方法名:getTextureView
- 源码定位:L56
- 返回类型:GpuTextureView
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class OverlayTexture implements AutoCloseable {
private static final int SIZE = 16;
public static final int NO_WHITE_U = 0;
public static final int RED_OVERLAY_V = 3;
public static final int WHITE_OVERLAY_V = 10;
public static final int NO_OVERLAY = pack(0, 10);
private final DynamicTexture texture = new DynamicTexture("Entity Color Overlay", 16, 16, false);
public OverlayTexture() {
NativeImage pixels = this.texture.getPixels();
for (int y = 0; y < 16; y++) {
for (int x = 0; x < 16; x++) {
if (y < 8) {
pixels.setPixel(x, y, -1291911168);
} else {
int a = (int)((1.0F - x / 15.0F * 0.75F) * 255.0F);
pixels.setPixel(x, y, ARGB.white(a));
}
}
}
this.texture.upload();
}
@Override
public void close() {
this.texture.close();
}
public static int u(float whiteOverlayProgress) {
return (int)(whiteOverlayProgress * 15.0F);
}
public static int v(boolean hurtOverlay) {
return hurtOverlay ? 3 : 10;
}
public static int pack(int u, int v) {
return u | v << 16;
}
public static int pack(float whiteOverlayProgress, boolean redOverlay) {
return pack(u(whiteOverlayProgress), v(redOverlay));
}
public GpuTextureView getTextureView() {
return this.texture.getTextureView();
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
DynamicTexture()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ARGB.white()
- 引用位置: