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