Mixin相关
在common中,可以用`@OnlyInPlatform`注解来声明某个Mixin类仅在特定平台生效。但还是写在平台子项目里吧:)
Arclight中供自己使用的Mixin接口被称为Bridge。
Mixin代码命名规范
这个命名规范是从现有代码总结而来的,统一的命名规范有助于项目维护。
Arclight的Mixin代码命名规范基于SpongePowered的Sponge(https://github.com/SpongePowered/Sponge)项目的代码命名规范,在本文档中的规范如与Sponge中的用法的产生冲突,以Sponge中的为准。
Mixin插入的方法和字段中,来自Bukkit Patch的,原样写;其他的,均以`arclight
开头(目前,Bridge里也有以`bridge
Mixin相关
开头的方法,这是从早期遗留下来的,新方法应该使用`arclight
Mixin相关
)。
所有Mixin类的目录都相对于`net.minecraft`(例如common平台core中对`net.minecraft.advancements.AdvancementHolder`的mixin,应当放置于`core/advancements`目录);
所有的Mixin类以`目标类名Mixin`命名;目标类是内部类的,格式为`目标顶级类名_目标内部类名Mixin`;
在平台子项目中,所有的Mixin类的名称加上`_平台名`后缀;
所有的Bridge以`目标类名Bridge`命名。