ConTex

ConTex

又一个连接纹理模组

ConTex 是一个库,允许资源包添加带有连接纹理的方块模型。
连接元数据在方块的 blockstate 文件中指定,几何形状则从同一 blockstate 文件中的标准 variant 和/或 multipart 声明中获取。

面向资源包

ConTex 提供了若干内置连接纹理类型和连接谓词。

内置纹理类型:

  • Simple(在全部六个面上连接,仅检查四个轴对齐方向,不区分角落处的对角方块是否存在)
  • Full(在全部六个面上连接,检查轴对齐和对角方向,以获得更好的视觉效果)
  • Pillar(仅在垂直于指定轴的四个面上连接,且仅沿平行于指定轴的方向连接)
    • 默认柱状类型(会考虑源模型上已有的几何旋转,仅需垂直连接的柱状纹理,适用于原木等柱状方块)
    • 旋转柱状类型(假定源模型没有已有的旋转,需要垂直和水平连接的柱状纹理,适用于本身不具备柱状行为的方块)
  • 全向柱状(类似 Pillar 的旋转子类型,但可沿三个轴中的任意一个连接,按 Y、X、Z 的顺序尝试不同轴)
  • Simple 地毯(类似 Simple,但仅作用于顶面和底面)
  • Full 地毯(类似 Full,但仅作用于顶面和底面)

内置连接谓词:

  • Same Block(若两个方块相同则连接)
  • Same State(若两个方块的 blockstate 相同则连接)
  • Match Block(若两个方块与指定方块匹配则连接)
    • 允许为两者指定单个方块进行匹配,或分别指定“自身”方块和“其他”方块
  • Match State(若两个方块的 blockstate 与指定 blockstate 匹配则连接)
    • 允许为两者指定单个 blockstate 进行匹配,或分别指定“自身” blockstate 和“其他” blockstate
  • Match Tag(若两个方块与指定方块标签匹配则连接)
    • 允许为两者指定单个标签进行匹配,或分别指定“自身”标签和“其他”标签

完整详情请参阅 wiki。

面向模组开发者

ConTex 为希望在其内置资源包中使用连接纹理资源的模组提供了 datagen 辅助工具。
由于 ConTex 采用的元数据声明方式,指定连接纹理元数据的 blockstate 文件在未安装 ConTex 时无法加载。因此,对于希望提供 ConTex 可选集成的模组,建议将感知 ConTex 的 blockstate 文件放入单独的内置资源包,并在安装 ConTex 时通过 AddPackFindersEvent 注册。

模组还可以通过 RegisterTextureMetaEvent 注册自定义纹理类型和连接谓词,以添加 ConTex 原生不支持的自定义连接行为。