
TsAssembly
动态连接的纹理!
查看大图TsAssembly — 动态规则方块与连接纹理引擎
TsAssembly 是一个为 NeoForge 设计的轻量级、高性能、客户端动态连接纹理(CTM)与规则方块引擎。它专为实时四边形操作而构建,使用 3x3 复合叠加、47 方块完整连接以及方向性边缘求解器,无缝融合相邻方块、玻璃板与复杂表面,且运行时零垃圾回收开销。
主要特性
零分配四边形重映射: 在区块网格构建期间,利用预计算的 \(O(1)\) 查找表(LUT)和原始顶点变换,消除微卡顿。
3 种灵活连接模式:
COMPOSITE(3x3 网格): 动态分层,具有无缝透明角落和边缘叠加。FULL(6x6 网格 / 47 方块 CTM): 完整的经典连接纹理映射,带有内/外角检测。PANE_EDGE: 专用玻璃板连接求解器,移除内部接缝,同时保留外部边框。智能 3D 几何检测: 精确计算相邻遮挡、对角台阶、楼梯偏移以及反转的四边形绕序。
内置模板导出器: 直接从游戏内方块生成包含切片纹理的完整资源包模板。
游戏内命令
直接在游戏中生成可编辑的资源包和纹理模板:
/tsassembly export <block>
/tsassembly export <block> [composite|full]
/tsassembly export <block> [composite|full] <pack_name>
- 导出的模板直接保存到
.minecraft/resourcepacks/<pack_name>/。
自定义资源包指南
为 TsAssembly 创建连接纹理包无需任何 Java 代码——只需标准 PNG 纹理和 JSON 规则文件。
1. 文件夹结构
在你的 .minecraft/resourcepacks/ 目录下创建一个资源包文件夹(例如 MyConnectedPack):
MyConnectedPack/
├── pack.mcmeta
├── pack.png (可选:64x64 图标)
└── assets/
└── <namespace>/ (例如 "tsassembly" 或你的自定义 ID)
├── rule_tiles/ (JSON 规则定义)
│ ├── glass.json
│ └── oak_log_sides.json
└── textures/
└── block/ (连接纹理图集)
├── glass_composite.png
└── oak_log_sides_full.png
2. pack.mcmeta
{
"pack": {
"pack_format": 34,
"description": "Custom Connected Textures for TsAssembly"
}
}
3. 规则方块 JSON 规范
将你的规则定义放在 assets/<namespace>/rule_tiles/<name>.json 中。
示例:glass.json(3x3 COMPOSITE 模式)
{
"type": "COMPOSITE",
"faces": ["all"],
"texture": "tsassembly:block/glass_composite",
"original_texture": "tsassembly:block/glass_original",
"target_blocks": [
"minecraft:glass",
"minecraft:tinted_glass"
]
}
示例:oak_log.json(方向特定 FULL 模式)
{
"type": "FULL",
"faces": ["sides"],
"texture": "tsassembly:block/oak_log_sides_full",
"match_sprite": "minecraft:block/oak_log",
"target_blocks": [
"minecraft:oak_log"
]
}
配置属性参考
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
type |
字符串 | "AUTO" |
"COMPOSITE"(3x3 叠加)、"FULL"(6x6 47 方块)或 "PANE_EDGE"(玻璃板边缘移除)。 |
faces |
数组 | ["all"] |
目标面:"all"、"sides"、"top"、"bottom"、"north"、"south"、"east"、"west"。 |
texture |
字符串 | "" |
网格图集纹理的路径(<namespace>:block/<texture_name>)。 |
original_texture |
字符串 | "" |
当方块被隔离或叠加层空白时使用的回退纹理。 |
match_sprite |
字符串 | "" |
目标四边形上要匹配的确切精灵位置(防止跨面误用)。 |
target_blocks |
数组 | [] |
可相互连接的方块注册 ID 列表。 |
纹理尺寸与图集布局
COMPOSITE(3x3 图集):
宽高比必须为 1:1(例如 48x48、96x96、192x192)。
纹理分辨率必须能被 3 整除。
中心方块
(1, 1)始终渲染;边界方块(列, 行)按需叠加。FULL(6x6 图集 / 47 方块):
宽高比必须为 1:1(例如 96x96、192x192、384x384)。
纹理分辨率必须能被 6 整除。
将所有 47 种标准 CTM 边缘、角落和交叉口状态映射到单一的统一四边形替换中。
正在加载版本记录…



正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。