墨韵回声:活版印刷坊

墨韵回声:活版印刷坊

探索废弃的历史印刷工坊,复原失传的印刷技术,修复受损的文本,并体验曾经在那里工作的人们留下的短暂视觉与听觉回响。

结构

墨迹回响——活版印刷坊

模组 JAM —— 过去的回响

语义调查角色与世界存档数据确保在区块卸载和服务器重启时完整保留初始物品栏。初始模式在每次探访的印刷坊中保持激活,直到真正拉动压印机手柄,因此提前离开一处废墟不会永久丢失所需部件。在完成真正的压印操作后,新调查的印刷坊将切换到其稳定的专家档案。

在首次压印操作前,在已确认的印刷坊内打开箱子会为该工坊添加一套确定的实体工具包:工坊扫帚、印刷刷、放大镜、印刷档案、压印螺杆、压印手柄、压印压盘和压印滑架。这不会替代该变体的专家战利品。在既有世界中重新打开一个已搜刮过的印刷坊箱子即可获得工具包;无需新建世界。如果箱子已满,多余物品会直接给予开启者,而不会消失。

在1.1版本之前生成的印刷坊会在下一次清理未绑定的调查节点时升级。其旧家具会被赋予确定的语义角色;已搜索过的强制角色的奖励会通过该迁移交互得到补偿。如果所有旧节点都已被完全搜索,请对任意已调查的印刷坊家具再次使用印刷刷,以触发同样的一次性恢复包。

初始印刷坊保证提供:

  • 工坊扫帚、印刷刷、放大镜和印刷档案
  • 压印螺杆
  • 压印手柄
  • 压印压盘
  • 压印滑架
  • 一个基础木质印刷字模
  • 一页损坏的档案页
  • 纸张和足够首次印刷尝试的基础油墨
  • 说明和指向另一地点的线索

螺杆、压盘、滑架和手柄分别绑定到主印刷机架、第二台机器残骸、地窖贮藏和标记地板贮藏。强制奖励不使用加权随机,也不能通过破坏节点来重新随机。

后续印刷坊使用稳定的专家奖励档案,而非第二套强制压印组件。

其主要奖励包括:

  • 字模碎片和专家字模
  • 组合金属活字版
  • 额外油墨和纸张
  • 损坏的文档和档案线索
  • 装饰性印刷品和海报
  • 工坊专属故事和回响事件

通用档案书架和战利品箱不再包含修复编年史页。该页面必须通过损坏的档案页印刷获得。

普通的墨渍地板仅用于装饰。每个生成的工坊现在只包含配置的三到五个可疑目标:罕见的松动木板和至多一个高价值的隐藏地板隔间。放大镜可通过局部反馈、粒子和轻微提示音来区分它们。

生成的印刷坊会选择并持久保存四种功能类型之一,每种类型有两个稳定的布局子变体:

  • 乡村木刻工坊 —— 木质附楼、雕刻道具、木版碎片
  • 城镇活字铸造厂 —— 砖石铸造厂、排字柜排、金属活字和印台
  • 学术档案印刷所 —— 目录翼楼、校对桌、文件和地图
  • 焚毁的秘密印刷坊 —— 焦黑外壳、堵塞入口、爬行空间和秘密告示

它们的占地、入口位置、屋顶坍塌、地窖/爬行空间、机器残骸、道具、确定的调查奖励和可选箱子表各不相同。每个变体还包含若干蜘蛛网、工作台上摊放的纸张/印刷品和墙面海报。enablePrintshopVariants=false 可保留乡村布局选择以保持兼容性。

废弃印刷坊以两种方式生成。在香草村庄附近时,它们共享村庄区块网格并位于外围而非水井旁;每个村庄获得一个工坊,较大的平原、草甸、热带草原和针叶林村庄还会在对侧获得第二个工坊。另一个独立的网格仍会在森林、沼泽和其他工坊生物群系中散布额外废墟。/echoesinink locate_printshop 可找到任一种类的最近印刷坊。

字模、油墨和档案进度

后续调查可通过数据包合成配方重建两种可复用的专家模具:

  • 村庄编年史字模 = 上部字模碎片 + 下部字模碎片 + 缺失字母插入件
  • 禁忌告示金属活字版 = 铅活字组 + 铁版框 + 缺失标题活字 + 印刷工笔记

村庄字模可印刷村庄编年史;禁忌金属活字版可印刷一份被禁止的告示。两种输出均可阅读,解锁各自的档案条目,并提供工坊专属的故事线索。

每个墨球可进行一次压印。初始工位默认保证五个,后续墨站提供四到七个,并且可以使用木炭加黏土球合成四个新墨球。因此,如果初始供应被试验性使用,必要的故事进度仍有可再生的恢复路径。

印刷档案现在显示四部分压印检查清单,并追踪哈希化工坊ID、变体、恢复的字模/碎片、可用配方、已印刷作品和未解决线索。其 Fabric 附属物保持服务器持久化,并仅选择性同步给拥有玩家。

完整的法典实现规范可在 docs/CODEX_GAMEPLAY_REBALANCE_PROMPT.md 中查看。

压印机

历史螺旋压印机由四个恢复的部件组装而成:

  • 螺杆
  • 手柄
  • 压盘
  • 滑架

压印机使用物理世界交互,而非熔炉式的生产界面。

典型流程:

  1. 安装所需的压印部件。
  2. 装入字模或金属活字版。
  3. 涂抹油墨。
  4. 插入纸张或损坏的档案页。
  5. 将滑架推入压印机。
  6. 拉动并复位手柄。
  7. 拉出滑架并收集印刷品。

探索与调查

印刷坊包含可调查的机器残骸、档案书架、活字柜、印刷桌、牌匾、碎屑和隐藏储物。使用印刷刷清理印刷碎屑会将堆积物拆解:第一刷即可获得碎料,其余部分会变成纸张、油墨、活字和备用压印部件,同时移除该方块。

每个生成的印刷坊包含三个近乎满的箱子。除了变体的专家战利品外,共享补给包始终包含干净纸张、空白档案页、墨球和印台、金属活字以及备用压印部件。

工坊墙壁现在挂着多种不同的海报(警告、木刻、编年史、禁忌告示、地图和活字样张)。额外的积尘桌和制作桌位于调查台旁,上面摊放着纸张、笔记或成品印刷品。

褪色工坊牌匾并非填充装饰。使用放大镜检查它,然后按住使用键用印刷刷清理两次以完成两个阶段。在初始模式中,它包含印刷工说明单和工坊地图碎片;之后提供稳定的历史线索。可选的工坊扫帚可移除装饰性蜘蛛网,并清扫染渍的装饰性地板进入其视觉清理阶段;它不会在调查中取代印刷刷或生成地板战利品。

放大镜还可以检查摊放的纸张、成品印刷品、字模、活字版、压印部件和悬挂海报。它能识别显示的确切物品,可阅读的成品印刷品会在聊天中显示完整文本。

每个自定义物品和方块物品都有两行工具提示:一行描述和一行明确的游戏用途,说明所需部件、制作零件、调查地点、可选工具、成品印刷品或装饰用途。

调查状态和生成的战利品由服务器权威管理,并在区块卸载和重启时持久保留。破坏并替换已调查的方块不会重新随机其内容。

强制进度奖励与可选的加权战利品分开,因此随机重复物品不会阻挡压印机的访问。

开发

export JAVA_HOME=$(/usr/libexec/java_home -v 25)

./gradlew build ./gradlew runClient ./gradlew runServer ./gradlew runDatagen

开发命令

命令 用途
/echoesinink give_test_items 给予第一阶段及后续测试物品
/echoesinink locate_printshop 定位生成的印刷坊
/echoesinink locate_cache 定位油墨档案贮藏
/echoesinink trigger_echo 强制触发回响事件
/echoesinink reset_archive 重置玩家档案进度
/echoesinink debug [on|off|reload_config] 调试与配置工具

配置

人类可读的配置文件位于:

config/echoes_in_ink.json

它包含调查计时、印刷时长、回响可访问性、生成标志和调试设置。

当前与游戏玩法关联的进度设置包括 starterPrintshopGuaranteesFullPress、starterInkImpressions 和 allowSparePressPartsInLaterRuins,以及限制范围的 suspiciousFloorboardsPerWorkshop 目标和 enablePrintshopVariants。

村庄印刷坊使用香草村庄盐值,间距34,间隔8。荒野印刷坊使用独立的一组(盐值20260728,间距32,间隔12)。配置中的数字间距字段记录了村庄数值,但不会改写世界生成 JSON。

多人游戏

该模组采用服务器权威设计。专用服务器不得加载仅客户端的渲染类。客户端仅负责渲染、动画插值、粒子、字幕和视觉呈现。

初始模式和物理箱子工具包领取是全球共享的,在首次真正拉动手柄之前保持激活。这允许多人群组从废弃或旧版废墟中恢复;每个调查节点和每个工坊箱子工具包仍然只支付一次且不能被重新随机。在拉动手柄后,压印螺杆、手柄、压盘和滑架的替换配方会出现在玩家的配方书中。当启用 allowSparePressPartsInLaterRuins 时,后续废墟还可能包含稀有的备用部件。