PathWeaver
A path-building assistant mod for Minecraft Forge. Select a road cross-section as a template, mark path points along the terrain, and generate a complete road with one click.
Compatibility
- Minecraft: 1.20.1
- Forge: 47.x
- Dedicated Server / LAN Multiplayer: Fully supported, with data stored separately for each player
Getting the Item
Craft the Path Weaver using 7 sticks in a crafting table with the following pattern:
Stick Stick Stick
Stick
Stick Stick Stick
You can also obtain it directly from the PathWeaver creative tab in Creative Mode. The item is non-stackable.
Controls Overview
| Action | Function | Requirement |
|---|---|---|
| Right-click block | Mark selection corner / complete a selection region | — |
| Left-click block inside selection | Delete that selection region | Hold the tool and target a block inside an existing region |
| Shift + Right-click block | Confirm template (when selection regions exist) | At least one region selected |
| Left-click block | Add path point | Template confirmed, no active selection |
| Shift + Right-click path point | Remove that path point | At least one path point exists |
| Shift + Left-click block | Generate path | Template confirmed, enough path points |
| Shift + Mouse Wheel | Switch between LINEAR / BEZIER modes | — |
Step 1: Select the Template Cross-Section
The template is the road's cross-section. The tool repeats this cross-section along the path direction. Multiple selected regions are supported and merged as a union, which is useful for non-rectangular cross-sections.
Basic Selection
- Right-click one corner block of the cross-section to mark Corner 1 (gold cross marker)
- Right-click the opposite corner block to mark Corner 2 and complete one selection region
- Repeat the above steps to add more regions; all regions are merged into the final template
- Face the forward path direction, then Shift + Right-click any block to confirm the template
- After confirmation, corner selections are cleared automatically, but the template is kept
- Re-selecting while a template already exists: the old template remains temporarily, and is replaced only after the new one is confirmed; all path points are cleared
- If path points already exist, right-clicking a block shows a confirmation prompt: "This will clear all current path points. Continue?"
- If Corner 1 is already set and you right-click a block: if there are no path points, it marks Corner 2; if path points exist, the action is rejected
Delete a Selection Region
- Left-click any block inside an existing selected region to remove the smallest region containing that position
- Left-clicking outside the selection does not break the block; the action is intercepted
Undo Selection
/pathweaver undo corner- Cancel the current pending Corner 1/pathweaver undo region- Remove the most recently added selection region
Step 2: Mark Path Points
After the template is confirmed, the tool enters path point mode.
- Left-click a ground block to add a path point, up to 256 points
- The XZ-plane projected distance from the new point to the previous point must be at least the template length, otherwise the action is rejected with a "Too close" message
- Shift + Right-click an existing path point to remove that path point
/pathweaver undo pointremoves the most recently added path point
Step 3: Generate the Path
Shift + Left-click any block to generate the path.
- Survival Mode: automatically counts required materials by item type. Different block states or orientations of the same block are merged together. If materials are insufficient, the mod shows the missing item names and quantities and consumes nothing. If materials are sufficient, the required items are deducted and the path is generated
- Creative Mode: no material check, no consumption, generate immediately
- After generation, path points are cleared while the template remains, so you can keep building more paths
Placement Modes
Use Shift + Mouse Wheel to switch modes. Switching modes clears all current path points.
LINEAR · Linear Mode (Default)
- Requires at least 2 path points
- Places template instances at equal intervals along straight segments between adjacent path points, with Y coordinates linearly interpolated
- One cross-section is placed every "template length"
- At corners between segments, patch blocks are inserted automatically to fill gaps
BEZIER · Bezier Curve Mode
- Requires at least 3 path points
- Every 3 points form one quadratic Bezier segment, with adjacent segments sharing endpoints
- Odd-numbered points (
#1,#3,#5…) are curve endpoints and also serve as shared joints between neighboring segments - Even-numbered points (
#2,#4,#6…) are control points that determine the bend direction and curvature; control points are not necessarily on the curve itself - Recommended point counts are 2n+1 (
3,5,7…). Any extra final point will be ignored - Points are sampled at equal arc-length intervals along the curve, and patch blocks are inserted automatically to fill turning gaps
Undo Operations
Use /pathweaver commands for four specific undo actions:
| Command | Effect | Requirement |
|---|---|---|
/pathweaver undo corner |
Cancel the current pending Corner 1 | A pending corner exists |
/pathweaver undo region |
Remove the most recent selection region | At least one selection region exists |
/pathweaver undo point |
Remove the last path point | Template confirmed and path points exist |
/pathweaver undo generate |
Undo the most recent generation | A generation record exists |
Generation Undo Details
- Up to the most recent 10 generation records are kept; older ones are discarded automatically
- Blocks are restored in reverse placement order, with proper cross-dimension restoration
- In Survival Mode, consumed materials are refunded. They are returned to the inventory first; if the inventory is full, they are dropped on the ground
- In Creative Mode, only block restoration is performed
Visual Effects
While holding the tool, the client renders real-time effects:
Selection Phase
| Effect | Description |
|---|---|
| Volumetric light haze | Multi-layer translucent grid surfaces expanding outward with angle-based pulsing |
| Orthogonal scanning planes | One vertical scanning plane along X and one along Z, sweeping alternately through the volume |
| Dual horizontal scan lines | Two horizontal scanning lines floating up and down along the Y axis |
| Four corner light pillars + mid-height ring | Vertical beams at the four corners of the selected volume, connected by a horizontal ring around the middle |
| Dashed outline | Sharp-edged outline with a flowing marquee effect |
| Corner brackets + corner diamonds | L-shaped markers on all 8 corners plus small octahedral flashes |
| Corner colored dust | Colored particle bursts at the center of corner blocks |
| Edge flow particles | Colored moving particles at random positions along the AABB edges |
| Rainbow preview box | Dynamic preview between Corner 1 and the block under the crosshair, with hue shifting over time |
Path Point Phase
| Effect | Description |
|---|---|
| Cyan pulsing box + light beam | Floating above each path point with a pulsing glow |
| Gradient connecting lines | Thick links between adjacent path points, colored from green to yellow to orange |
| Cyan soul-fire particles | Slowly rising above each path point |
Placement Preview
| Effect | Description |
|---|---|
| Green wireframe preview | The future placement position of each template block, color-coded by block type |
| Material cost HUD | Displays the required material names and total quantities in the top-right corner of the screen |
Notes
- Material checks are aggregated by item type; different block states or orientations of the same item count as the same material
- The Y coordinate of each path point is determined by the clicked block position; the template's vertical layers are applied relative to that Y level
- Bezier control point Y coordinates are also included in curve calculation, so they affect vertical curvature as well
- All cached player data is cleared automatically when the player leaves; rejoining resets everything to empty
- In multiplayer, each player's data is completely independent
PathWeaver
一款用于 Minecraft Forge 的路径铺设辅助 Mod。框选路面截面作为模板,沿地形标记路径点,一键生成完整道路。
兼容性
- Minecraft:1.20.1
- Forge:47.x
- 服务端 / 局域网联机:完全支持,数据按玩家独立存储
获取物品
使用 7 根木棍在工作台中按以下图案合成「路径编织器」:
棍 棍 棍
棍
棍 棍 棍
也可以在创造模式的 PathWeaver 物品栏标签页中直接拿取。物品不可堆叠。
操作总览
| 操作 | 功能 | 前置条件 |
|---|---|---|
| 右键方块 | 标记框选角点 / 完成一个框选区域 | — |
| 左键框内方块 | 删除该框选区域 | 持有工具,点中已有框内方块 |
| Shift+右键方块 | 确认模板(有框选区域时) | 已框选至少一个区域 |
| 左键方块 | 添加路径点 | 模板已确认,无框选区域 |
| Shift+右键路径点 | 移除该路径点 | 有路径点 |
| Shift+左键方块 | 生成路径 | 模板已确认,路径点足够 |
| Shift+滚轮 | 切换 LINEAR / BEZIER 模式 | — |
第一步:框选模板截面
模板是路面的「横截面」,工具会沿路径方向重复铺出这个截面。支持框选多个区域取并集,适合非矩形截面场景。
基本框选
- 右键单击截面的一个角落方块 → 标记角点1(金色十字标记)
- 右键单击截面的对角落方块 → 标记角点2,完成一个框选区域
- 可重复以上步骤,继续添加更多框选区域,所有区域取并集构成最终模板
- 面朝路径前进方向,Shift+右键单击任意方块 → 确认模板
- 模板确认后,角点选区自动清除,模板持久保留
- 已有模板时重新框选:旧模板暂留,确认新模板后旧模板被替换,路径点清空
- 已有路径点时右键方块会弹出确认框:「将清空当前所有路径点,确认继续?」
- 有角点1时右键方块:若没有路径点直接标记角点2;若有路径点则拒绝操作
删除某个框选区域
- 左键单击已框选区域内的任意方块 → 删除包含该位置的最小框选区域
- 左键框外方块 → 不会破坏方块,只拦截操作
撤销框选
/pathweaver undo corner— 取消当前待定的角点1/pathweaver undo region— 删除最近添加的一个框选区域
第二步:标记路径点
模板确认后进入路径点模式,此时可标记路径点。
- 左键单击地面方块 → 添加路径点,上限 256 个
- 新增路径点与上一个点的 XZ 平面投影距离必须 ≥ 模板长度,否则拒绝并提示「间距过近」
- Shift+右键单击已存在的路径点 → 移除该路径点
/pathweaver undo point→ 移除最后一个路径点
第三步:生成路径
Shift+左键单击任意方块 → 生成路径。
- 生存模式:自动统计所需材料(按物品类型汇总,不同朝向的同种方块合并计算),不足时提示缺少的物品名和数量,不消耗任何材料;满足时扣除并生成
- 创造模式:不检查不消耗,直接生成
- 生成后路径点被清除,模板保留,可继续标记新路径生成
铺设模式
按 Shift+滚轮 切换模式,切换时路径点被清除。
LINEAR · 直线模式(默认)
- 至少需要 2 个路径点
- 相邻路径点之间按直线等距铺设,Y 坐标线性插值
- 每隔「模板长度」放置一次截面
- 段间转角处自动插入补丁砖填补空隙
BEZIER · 贝塞尔曲线模式
- 至少需要 3 个路径点
- 每 3 个点构成一段二阶贝塞尔曲线,相邻段共用端点
- 奇数序号点(#1, #3, #5…):曲线端点,也作为相邻两段的连接点
- 偶数序号点(#2, #4, #6…):控制点,决定弯曲方向和程度,控制点本身不一定在曲线上
- 建议路径点数量为 2n+1(3、5、7…),多余的最后一个点会被忽略
- 沿曲线弧长等距采样放置点,转弯处自动插入补丁砖填补转角空隙
撤销操作
通过 /pathweaver 命令执行四种指定撤销:
| 命令 | 效果 | 前置条件 |
|---|---|---|
/pathweaver undo corner |
取消当前待定角点1 | 有待定角点 |
/pathweaver undo region |
删除最近一个框选区域 | 有框选区域 |
/pathweaver undo point |
移除最后一个路径点 | 模板已确认且有路径点 |
/pathweaver undo generate |
撤销最近一次生成 | 有生成记录 |
生成撤销详情
- 最多保留最近 10 次生成记录,超出自动丢弃最早的
- 按放置逆序还原方块,支持跨维度正确还原
- 生存模式下返还消耗的材料(优先放入背包,背包满时掉落地面)
- 创造模式下仅还原方块
视觉效果
持握工具时在客户端实时渲染:
框选阶段
| 效果 | 说明 |
|---|---|
| 体积光雾笼 | 多层半透明网格面,从内向外扩散,随角度脉冲 |
| 正交扫描面 | X / Z 方向各一垂直扫描面,交错扫过整个体积 |
| 双横向扫描线 | 两条水平扫描线在 Y 方向上下浮动 |
| 四角光束柱 + 中腰连接环 | 框选体积四角的垂直光束,中腰水平连接 |
| 虚线轮廓 | 边缘锐利轮廓,带跑马灯流动效果 |
| 角括号 + 角钻石 | 8 个角的 L 型标记 + 小八面体闪光 |
| 角点彩色粉尘 | 角点方块中心的彩色粒子爆发 |
| 边缘流动粒子 | AABB 边缘随机位置的彩色流动粒子 |
| 彩虹色预览框 | 角点1与准星目标方块之间的动态预览(色相随时间变化) |
路径点阶段
| 效果 | 说明 |
|---|---|
| 青色脉冲方框 + 光柱 | 每个路径点上方悬浮,脉冲闪烁 |
| 渐变色连线 | 相邻路径点之间粗连线,颜色由绿→黄→橙渐变 |
| 青色灵魂之火粒子 | 路径点上方缓慢上升 |
铺砖预览
| 效果 | 说明 |
|---|---|
| 绿色线框预览 | 每块模板将被放置的位置,逐方块按颜色类型着色 |
| 材料消耗 HUD | 屏幕右上角显示所需各材料的名称和总数量 |
注意事项
- 材料检查按物品类型汇总,同一物品不同朝向的方块状态视为同一种材料
- 路径点的 Y 坐标由点击方块时的位置决定,模板的高度层在该 Y 坐标基础上叠加
- 贝塞尔控制点的 Y 坐标同样参与曲线计算,会影响路径在垂直方向上的弯曲
- 玩家退出时自动清理所有缓存数据,重新登录时重置为空状态
- 多人模式下各玩家数据完全独立