Minecraft Forge 1.7.10中p_i、func_类标识符是什么?如何替换其对应值?
Minecraft Forge 1.7.10 特殊标识符说明
标识符的具体含义
这些带特殊格式的标识符是Minecraft代码反编译后的混淆命名,由Mod Coder Pack(MCP)生成,因为Mojang官方未开放Minecraft源代码,反编译后的原生方法、参数无法直接获取原名,就会生成这类规则化的命名:
p_xxxx_x_x_格式为混淆后的方法参数名:名称中的数字段分别对应所属方法的混淆编号、参数在方法中的索引,开头带i的如p_i1635_3_通常属于类的构造方法参数func_xxxxxx_x格式为混淆后的方法名:名称中的数字段是方法的唯一混淆标识,末尾位用于区分重载的同名方法,比如func_145748_c_实际是物品栈类获取显示名称的方法
对应值的确定方法
- 查对应版本的MCP映射表:1.7.10的稳定MCP映射已经覆盖了几乎所有常用混淆名的对应关系,直接查映射就能知道混淆名对应的实际功能、参数类型,比如
func_145748_c_对应可读方法名getDisplayName,无需传入额外参数就能返回物品的自定义名称 - 看参数类型推导:如果是传参时遇到混淆命名的参数,直接看IDE提示的参数类型即可判断需要传入的值,比如参数类型为
World就传当前世界实例,类型为int就结合方法功能传入对应的数值 - 参考同版本开源模组代码:相同版本的其他开源模组中如果用到了同一个混淆标识符,可以直接参考其传值逻辑,适配自己的代码需求
小提示:在开发环境中绑定1.7.10对应的MCP映射后,IDE会自动把混淆名替换为可读的原名,不用手动记忆对应关系
内容的提问来源于stack exchange,提问作者Gartenstoner
相关产品推荐
相关产品推荐

