promotional bannermobile promotional banner

Maid Construction

Create-style blueprints: record a build, host its hologram on a command post, and let Touhou Little Maid maids construct it autonomously.
Back to Files

MaidConstruction-2.1.0.jar

File nameMaidConstruction-2.1.0.jar
Uploader
ly_inaly_ina
Uploaded
Oct 17, 2026
Downloads
65
Size
618.4 KB
Mod Loaders
Forge
File ID
9220353
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:maid-construction-1749741:9220353")

Learn more about Curse Maven

What's new

需要 车万女仆(Touhou Little Maid),核心玩法(女仆施工)离不开它;AE2 可选。 客户端与服务端必须安装同一版本(内置协议校验,不一致会直接拒连)。

新增

  • 蓝图可以分层看:蓝图面板与图纸详情页的预览里,滚轮(或 ↑/↓、PgUp/PgDn)一层层往下看, 按住 Shift 滚轮则只看那一层;预览左上角写着现在是"整栋 N 层 / 显示到第 N 层 / 只看第 N 层"。 为什么要它:一座建筑竖起来之后,外墙把里面挡得干干净净——材料清单能回答"用了什么", 却回答不了"这一层怎么摆的"。 实现上只在拿到方块清单之后、渲染之前过滤一层(client/BlueprintLayerView),三处预览共用同一套 口径,不会出现"面板里是第 3 层、终端里是别的"。两个坑记一下:过滤要先按层筛、再抽稀 (反过来会把某一层剩下的几块也抽没);抽稀步长要按筛完之后的方块数算,同理。
  • 预览里悬浮显示方块名:鼠标停在哪一块上就显示它的名字与所在层号(分层看的时候,"这是第几层的那块" 比坐标有用)。做法是把每块方块的中心按绘制时那套变换投回屏幕(SchematicPreview.pick), 所以"看到的"和"指到的"永远对得上——同一处判定以后也正是"替换 / 删除"要用的那一步。
  • 图纸编辑(调试用):图纸详情页多了个「编辑」按钮。进去之后左边照旧是那份蓝图的三维浏览 (拖动转视角、悬浮显示方块名),右边换成一份能搜的物品列表(搜名字或注册名,只列有方块形态的物品), 点左边的方块选中它(选中会描边高亮),再用「替换成…」或「删除」:
    • 左键点一格=只动这一格;Shift + 左键=选中同一种方块的全部(都描边高亮), 替换/删除一起动。同类按方块状态判(含朝向、半砖上下那类属性), 所以"把橡木木板全换成云杉木板"是整面墙一起换,而不是只换掉朝向相同的那几块。
    • 「替换成…」按下去之后到右边点要换成的那块;也可以先在右边点好、再按这个按钮——两个顺序都行。
    • 删除要按两次,「覆盖原图」同样要按两次(都沿用「删除文件」那条规矩)。
    • 撤回:每一步改动都留了底(结构不可变,压一份引用),可以一步步退回去。
    • 浏览与详情页同一套:滚轮缩放、预览框右边缘拖条换层(右键预览切"只看这一层")、WASD 平移视角—— 编辑常常要凑近看某一格再动手,只靠转视角不够用(WASD 在搜索框里打字时不会抢键)。
    • 改完点「存成新图纸」=另存为 <原名>-edit.maidbp,原图一份不动; 想直接改原来那份就按「覆盖原图」。 实现上不加网络包也不动协议号:附图库里的图纸本来就是客户端文件,服务端只在你按下「投影」时才收到 一份拷贝;结构本身不可变,每次改动返回一份新结构(Schematic.withBlock)。
  • 换层改成拖动条:预览框右边缘一条竖向滑块,底=第 1 层、顶=整栋,左键拖或点即换层, 右键切"只看这一层"(把手会变成青色)。早先试过键位(↑↓ 一层、PgUp/PgDn 十层、Home/End 到两头), 楼一高就难用——要么滚几百下、要么只能跳两端,中间那段全靠蒙;拖动是连续的,条的长短本身还把 "这楼多高、我现在在几分之几"一并画了出来。

修复

  • 指挥台的投影不再看距离:原来放投影/撤投影那道包写着射程(而且写成 64.0D=8 格²,比别处还短一截), 离远一点就被静默丢掉——界面上什么都不说。现在不看距离、也不看维度:只要那台指挥台的区块加载着、 而且你是它的绑定主人,在哪儿、在哪个维度都能放投影、撤投影、下令开工。 判定依据同时从"客户端说的坐标"改成"你现在绑定的那一台"(绑定本来就是服务端说了算的, 而能动的也只会是那一台)——所以包体与协议号都不用动。
  • 指挥台贴着别的方块会"透视":两处都改了——① 注册属性缺 noOcclusion()(模型不是整块就必须声明, 否则一贴上方块,邻居那侧的遮挡判据会把面剔错);② 模型里斜台面的侧面原来留 0.0125(1/80 格), 与相邻方块的面只差 0.0008 格,正在深度精度打架的范围里,改成 0.25 像素。
  • 预览里的提示改自己画:原来用原版 renderTooltip,而预览是带变换画在 z=200 的——提示挪到它前面 (z=400)之后,原版 tooltip 的字画不出来、只剩一个空框。现在用 SchematicPreview.drawHintBox 自己画底框与文字(颜色、深度都在手里),并会自动拉回屏幕内。
  • 左上的常驻说明收进问号:预览框左上角现在只有"状态一行 + 一个小问号",悬浮问号才展开 「拖动右侧滑块:分层查看 / 右键预览:只看这层 / 滚轮:放大缩小」——那几行常驻会横跨预览框、压到右边按钮上。
  • 图纸目录那一格不再写完整路径:写着 maidconstruction/blueprints 目录 时会顶出框、压到右边的按钮栏, 改成"图纸目录",并按列宽截断。
  • 大建筑上悬浮可能指到"没画出来的方块":预览超过上限(约 1500 块)会抽稀,而拾取原本用的是 抽稀之前的清单。现在蓝图面板把"真正要画的那一份"抽出来,绘制与拾取共用同一个清单—— 拾取的口径必须与眼睛看到的一致,巨构上尤其明显。

This mod has no additional files