本库提供的内容按使用方法大致分为以下几类。
公共父类
例如 DoorBlock、PaneBlock、WorkbenchBlock
等。
这些方块和物品的注册涉及较多源码修改。继承这些父类后,就不必自行编写重复的 Mixin。
公共接口
例如 IArmorMaterial、IBowMaterial、IRockItem
等。
这些接口通常表示物品实现了某些性质,也是对重复 Mixin 的封装。
事件监听
本模组的大部分功能由事件系统构成,事件调度器实例位于
Handlers 类中。
调用者在模组入口点向对应调度器调用
register,并实现相应接口。
调度器分为一次事件和多次事件:
- 一次事件通常用于注册合成配方、熔炉配方和村民交易等游戏对象。
- 多次事件用于处理熔炉燃烧、沙砾掉落等持续发生的游戏逻辑。
一次事件调度器继承
AbstractHandler<Consumer<T>>,需要提供一个
Consumer<T>。
多次事件调度器直接继承
AbstractHandler<T>,需要提供一个监听器。