ColorRegistrationHelper

基本信息

com.mitchej123.supernova.compat.colors.ColorRegistrationHelper —— ModCompat 下各 *Colors.register() 的共用注册工具。

7 类注册入口

方法 行 说明
registerBlock(String modId, String name, int packedColor) 19 单色
registerBlock(String modId, String name, int meta, int packedColor) 33 指定 meta
registerPerMeta(String modId, String name, int[] packedColors) 47 每个 meta 一色
registerDyed(String modId, String name, int[] packedPalette) 63 染色类(染料调色板)
registerDyeRemapped(String modId, String name, int[] packedPalette) 72 染色 + mod 重映射
registerBlock(String modId, String name, int r, int g, int b) 89 直接给 r/g/b 分量
registerPerMeta(String modId, String name, int[][] colors) 103 每 meta 的 RGB 三元组

三种粒度

  1. 整个方块一种颜色 —— registerBlock(两个重载)
  2. 按 meta 分别配色 —— registerPerMeta(int[] 与 int[][] 两个重载)
  3. 染色调色板 —— registerDyed / registerDyeRemapped

染色(Dyed)系列的差异

registerDyeRemapped 比 registerDyed 多一步 modid 重映射 —— 为会随 modid 改名(如 minecraft: ↔ 其它前缀)的染色方块准备。 配合 Light Registries 的 rebuildAll()(在 FMLModIdMappingEvent 时无条件触发)。

返回值

所有 register* 返回 int —— 应为成功登记的条目数/方块 id, 供调用方校验。

相关条目

源码

  • src/main/java/com/mitchej123/supernova/compat/colors/ColorRegistrationHelper.java