Colors

基本信息

属性 值
路径 mrtjp.core.color.Colors
类型 object(extends Enum)
源码 src/main/scala/mrtjp/core/color/Colors.scala(123 行)

16 色调色板,ordinal() 与 羊毛 / 染料 metadata 完全一致(0 = 白 … 15 = 黑)。

16 个颜色

# 常量 名称 RGB
0 WHITE White 0xffffff
1 ORANGE Orange 0xc06300
2 MAGENTA Magenta 0xb51ab5
3 LIGHT_BLUE Light Blue 0x6f84f1
4 YELLOW Yellow 0xbfbf00
5 LIME Lime 0x6bf100
6 PINK Pink 0xf14675
7 GREY Grey 0x535353
8 LIGHT_GREY Light Grey 0x939393
9 CYAN Cyan 0x008787
10 PURPLE Purple 0x5e00c0
11 BLUE Blue 0x1313c0
12 BROWN Brown 0x4f2700
13 GREEN Green 0x088700
14 RED Red 0xa20f06
15 BLACK Black 0x1f1f1f

转换

方法 说明
fromWoolID(id) apply(id)
fromDyeID(id) apply(15 - id)(染料与羊毛 metadata 相反)
fromOreDict(id) 查 dyeDictionary(16 条 dye* 矿辞)
fromStack(stack) 从物品栈推断颜色
Color.makeDyeStack(i) 生成染料 ItemStack
Color.rgba(a) / argb(a) 拼装颜色
Color.setGL11Color(alpha) 设置 OpenGL 颜色
Color.getVertOp 取 ColourMultiplier
mcMix(c1, c2) 两色混合

缺陷

mixMap 只实现了 10 组混合,其余在源码中留有 // ??? 注释占位 (源码第 60-73 行共 5 处 // ???),例如「黄 + 红 = 橙」有实现, 但涉及 WHITE / BLACK 的若干组合未定义,调用 mcMix 会得到未定义结果。

相关条目

  • Enum — 底层 enum 框架