Mixin相关

在common中,可以用`@OnlyInPlatform`注解来声明某个Mixin类仅在特定平台生效。但还是写在平台子项目里吧:)

Arclight中供自己使用的Mixin接口被称为Bridge。


Mixin代码命名规范

这个命名规范是从现有代码总结而来的,统一的命名规范有助于项目维护。


Arclight的Mixin代码命名规范基于SpongePowered的Sponge(https://github.com/SpongePowered/Sponge)项目的代码命名规范,在本文档中的规范如与Sponge中的用法的产生冲突,以Sponge中的为准。


Mixin插入的方法和字段中,来自Bukkit Patch的,原样写;其他的,均以`arclight Mixin相关

开头(目前,Bridge里也有以`bridge Mixin相关
开头的方法,这是从早期遗留下来的,新方法应该使用`arclight Mixin相关
)。

所有Mixin类的目录都相对于`net.minecraft`(例如common平台core中对`net.minecraft.advancements.AdvancementHolder`的mixin,应当放置于`core/advancements`目录);

所有的Mixin类以`目标类名Mixin`命名;目标类是内部类的,格式为`目标顶级类名_目标内部类名Mixin`;

在平台子项目中,所有的Mixin类的名称加上`_平台名`后缀;

所有的Bridge以`目标类名Bridge`命名。