CustomDiagramGroup
基本信息
api.diagram.CustomDiagramGroup —— DiagramGroup 的通用实现,
newInstance 直接复制本组元数据并装入给定 diagrams。
public CustomDiagramGroup newInstance(Iterable<? extends Diagram> diagrams) // :60
protected Collection<Diagram> matchDiagrams(String id, Interactable.RecipeType recipeType, Object... stacks) // :65
在本分类中的唯一直接使用者
GregTech Recipe Debugger 的
generate() 把返回类型从 DiagramGroup 协变为 CustomDiagramGroup
(GregTechRecipeDebugger.java:110)。其余 14 个生成器返回 DiagramGroup 本身。
与 DiagramGroup 的差别
DiagramGroup 的 matchDiagrams(第 124 行)依赖构造时传入的 matcher;
CustomDiagramGroup 提供一个可覆写的同名钩子,
让子类按自己已缓存的映射(如 recipe debugger 的冲突分组)返回图,
省去再跑一次 DiagramMatcher。
相关条目
源码
src/main/java/com/github/dcysteine/neicustomdiagram/api/diagram/CustomDiagramGroup.java