
CC Synaxis 连接器
一个用于连接 CC: Tweaked 电脑与 Synaxis Cimulink 工厂端口的模组。
CC Synaxis Connector
CC Synaxis Connector 是一个用于连接 CC: Tweaked 电脑与 Synaxis Cimulink 工厂端口的 NeoForge 兼容模组。
它添加了桥接式电路板,让 Lua 程序、Synaxis 电路和 CSV 记录工作流能够交换数值,无需在每次连接的两端都编写自定义脚本。
亮点
- 连接 CC: Tweaked 外设与 Synaxis Cimulink 端口。
- 暴露命名单向实数/布尔桥接信号。
- 使用超级中枢板包裹相邻的 CC 外设和 Synaxis 工厂数值。
- 通过单个外设从 CC Lua 读取选定的 Synaxis 数值。
- 将 CC 的 getter/setter 式外设方法写入 Synaxis 端口。
- 使用游戏内表格编辑器将 Synaxis 信号记录到 CSV 文件。
- 支持英文和简体中文界面文本。
需求
此模组并非独立模组。请同 CC: Tweaked、Synaxis 以及 Synaxis 所需的依赖项一起安装。
测试目标:
- Minecraft
1.21.1 - NeoForge
21.1.226+ - CC: Tweaked
1.118.0+ - Synaxis
1.3.4+ - Sable
1.1.3+ - Sable Schematic API
0.2.6+ - LDLib2
2.2.17+ - Create
6.0.10+ - Flywheel
1.0.6+
生成的 jar 文件不包含 CC: Tweaked、Synaxis、Sable、Create 或其资源文件。您必须从其官方分发渠道获取这些模组。
方块
CC: Synaxis 桥接器
桥接器是一种小巧的 Cimulink 式电路板,用于手动创建单向信号通道。
每个桥接通道包含:
- 一个唯一名称,例如
bridge_1 - 一种类型:
real或boolean - 一个方向:
cc_to_synaxis或synaxis_to_cc - 一个可选的"保存最后数值"设置,用于缺失 Synaxis 输入时
使用方块界面创建和移除桥接通道。使用 Synaxis 布线工具连接生成的端口。CC 电脑可以将该方块作为名为 cc_synaxis_bridge 的外设访问。
CC: Synaxis 超级中枢
超级中枢是一种电路板,用于将附近的设备包裹成另一侧的桥接端口。
它包含两个界面页面:
- 向 Synaxis 提供:选择被包裹的 CC 或 Synaxis 功能,并将其暴露为 Synaxis Cimulink 端口。
- 向 CC 提供:选择被包裹的 CC 或 Synaxis 功能,并通过超级中枢 CC 外设将其暴露。
对于 CC 外设,类似 getter 的方法(例如 getSpeed()、isRunning() 或 hasFuel())被视为可读数值。类似 setter 的方法(例如 setSpeed(value))在可能的情况下成为可写输入。
对于 Synaxis,中枢通过 Synaxis 总线/工厂端口式访问读取可用的工厂数值,并将兼容的数值呈现给 CC 或 Synaxis 端口。
日志输出助手
日志输出助手是一个 Synaxis 输入板,用于将信号值写入 CSV。
它最多支持 10 列。每列创建一个 Synaxis 输入端口,并可配置为 real 或 boolean。空的、从未激活的输入会写入为 null,除非跳过了空行。
主要选项:
- 日志名称 / 输出文件
- 行 ID:游戏刻、行号或无
- 写入模式:每游戏刻、数值变化时或每 N 游戏刻
- 创建模式:立即、任一输入时或选定输入时
- 跳过或写入完全空行
- 从安全输出文件夹导入现有 CSV 文件
CSV 文件写入当前存档下的:
ccsconnector_outputs/
在服务器上,文件选择仅限于此输出文件夹。客户端导入流程也仅扫描客户端自身的 ccsconnector_outputs 文件夹,并将选定的 CSV 内容上传至服务器。
基本使用
- 放置一个连接板。
- 空手右键单击该板以打开其界面。
- 配置所需的桥接器、中枢或日志列。
- 使用 Synaxis 布线工具连接可见的端口。
- 当需要 CC 访问时,在方块旁放置或连接一台 CC 电脑。
- 使用 Lua 外设调用读取或写入配置的数值。
CC Lua API
桥接器外设
外设类型:
cc_synaxis_bridge
方法:
list()
schema()
info(name)
addBridge([name], type, direction)
removeBridge(name)
get(name)
set(name, value)
lastWriteTick(name)
getSaveLastValue(name)
setSaveLastValue(name, enabled)
toggleSaveLastValue(name)
示例:
local bridge = peripheral.find("cc_synaxis_bridge")
assert(bridge, "Bridge not found")
bridge.addBridge("target_speed", "real", "cc_to_synaxis")
local value = 0
while true do
bridge.set("target_speed", value)
value = value + 1
sleep(1)
end
超级中枢外设
外设类型:
cc_synaxis_super_hub
方法:
list()
schema()
get(name)
getAll()
refresh()
lastUpdateTick(name)
listSynaxis()
getSynaxis(name)
getAllSynaxis()
synaxisLastUpdateTick(name)
listCcCandidates()
listExposedCc()
getCc(name)
getAllCc()
expose(...)
toggleExpose(...)
set(name, value)
write(name, value)
listProvidedToSynaxis()
暴露配置在超级中枢界面中完成。Lua 可以读取配置的数值并写入可配置的可写项,但它不会创建界面暴露行。expose 和 toggleExpose 条目是保留的兼容性方法,会引导玩家在界面中配置暴露。
示例:
local hub = peripheral.find("cc_synaxis_super_hub")
assert(hub, "Super Hub not found")
hub.refresh()
for name, value in pairs(hub.getAll()) do
print(name, value)
end
注意事项与限制
- Synaxis 面向的端口当前支持
real和boolean数值。 - 文本/字符串数值不会暴露为 Synaxis 端口,除非 Synaxis 提供了兼容的信号类型。
- 并非每个 CC 外设方法都能无参数安全调用。超级中枢专注于简单的 getter/setter 式方法。
- CC 和 Synaxis 可能以不同速率更新。连接器方块会缓存数值,以便任一方按自身节奏读取。
- 使用常规 Synaxis 工具配置 Synaxis 线缆。空手右键单击可打开连接器界面。
整合包许可
您可以将 CC Synaxis Connector 包含在整合包中,前提是所有必需的依赖项均按照其自身的许可和权限获取并分发。
许可
本仓库仅针对本项目原创的兼容层代码和资源文件采用 MIT 许可。详见 LICENSE。
CC: Tweaked、Synaxis、Sable、LDLib、Create、Flywheel、NeoForge、Minecraft 及相关名称、API、商标、源码、二进制文件、模型、纹理和文档均属于其各自所有者,并保留在其上游条款下。
CC Synaxis Connector 是一个独立创建的、AI 辅助的兼容模组。它与 CC: Tweaked、Synaxis、Sable、LDLib、Create、NeoForge、Minecraft 或 Mojang/Microsoft 的作者无关、未获其认可、也未受其赞助。
关于依赖项和权利持有者的说明,请参见 THIRD_PARTY_NOTICES.md。
开发说明
大多数依赖项由 Gradle 从 Maven 解析。本地的 libs/ 目录仅用于当前项目无法从公共 Maven 解析的依赖项:
synaxis-1.3.4.jarsable-schematic-api-0.2.6.jar
libs/*.jar 被 Git 忽略,因此不应提交依赖项 jar。
针对 CC:T 通用外设的兼容性回退封装在 CcTweakedInternals 中,以便在上游 API 发生变化时,方便审查或移除非公开的 CC:T 访问。
Synaxis 工厂访问通过注册的 PlantEndpointProvider 端口和 PlantPortProviders.tryCreate 实现。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。