
建筑师时光
一个可配置的日历、季节、时钟HUD,以及适用于NeoForge的季节性作物生长框架。
查看大图Architects Time
Architects Time 是一个适用于 NeoForge 上 Minecraft 1.21.1 的可配置日历、季节、时钟和季节性生长框架。
它为玩家提供同步的游戏内日历和时钟,同时为整合包作者和开发者提供一个可复用的、数据驱动的季节机制、进度、作物系统、任务、事件以及其他与时间相关内容的开发基础。
Architects Time 是一个独立框架。它不需要 Architects Core 或其他 Architects 模块。
日历与季节
Architects Time 包含一个可直接使用的标准日历,具有:
- 春季
- 夏季
- 秋季
- 冬季
- 每个季节 28 个 Minecraft 天
- 每个季节四周,每周七天
- 每年 112 个 Minecraft 天
标准日历还支持季节的早/晚阶段。
这只是附带的默认设置。整合包作者并不局限于四个季节或这种日历结构。
日历定义是数据驱动的,可以自定义:
- 季节
- 月份或日历周期
- 周期长度
- 周长度
- 星期名称
- 季节阶段
- 显示名称
- 符号和图标
- 日历布局
日历与时钟 HUD
Architects Time 包含一个可配置的 HUD,可以直接在游戏中显示日历和时钟信息。
根据所选的布局,HUD 可以显示如下信息:
- 季节
- 季节阶段
- 日历周期
- 周
- 星期
- 季节中的天数
- 年中的天数
- 年份
- Minecraft 时间
支持 12 小时和 24 小时两种时钟格式。
服务器提供活动的日历定义,而玩家可以配置客户端 HUD 选项,例如可见性、位置、缩放和时钟显示方式。
服务器同步时间
日历以服务器为权威,并在连接的玩家之间进行同步。
Architects Time 将日历进程与单纯的 Minecraft 天体时钟读数分开,允许整合包作者围绕稳定的日历构建系统,而不是直接依赖原始世界时间。
正常的进程推进、睡觉以及受支持的时间推进都会反映在日历上。
管理命令和公共 API 也可以显式地检查或修改日历时间。
季节性作物生长
Architects Time 包含一个数据驱动的季节性生长框架,适用于作物和其他支持的生长方块。
生长规则可以将作物分类为:
- 适宜
- 耐受
- 反季
- 受保护
- 未配置
附带的推荐行为允许作物在其适宜季节生长更快,在非适宜季节生长更慢,而不会摧毁作物或永久阻止其生长进程。
未配置的作物保留其正常的 Minecraft 行为。
季节性生长规则可以针对单个方块或标签,并可通过数据包进行自定义。
作物保护与兼容性
Architects Time 不实现自己的温室或作物保护结构。
相反,它提供了一个保护 API,其他模组和整合包特定系统可以使用该 API 来告知 Architects Time 何时应将作物视为受保护状态,免受季节惩罚。
这允许温室系统、魔法种植区、机器或其他机制进行集成,而无需 Architects Time 拥有这些系统本身。
Jade 集成
Jade 是可选的。
当安装了 Jade 时,受支持的作物可以显示附加信息,例如:
- 季节性分类
- 当前生长倍率
- 预计成熟时间
生长时间可以使用 Minecraft 日历时间或近似的现实时间参考来显示。
由于正常的 Minecraft 作物生长使用随机刻,成熟信息以估计值形式呈现,而非精确的倒计时。
KubeJS 集成
KubeJS 是可选的。
Architects Time 向 KubeJS 开放日历和时间功能,以便整合包作者可以在脚本和进度系统中使用活动日历。
这可用于以下系统:
- 季节性活动
- 任务要求
- 定时进度
- 基于时间的解锁
- 自定义季节机制
Architects Time 的正常功能不需要 KubeJS。
为整合包作者准备
Architects Time 主要构建为可复用的基础设施,而非与特定整合包绑定的日历。
日历定义从以下位置加载:
data/<命名空间>/architectstime/calendars/<名称>.json
季节性生长规则从以下位置加载:
data/<命名空间>/architectstime/seasonal_growth/<名称>.json
附带的日历定义提供了一个完整的工作示例。
日历周期也可以为 HUD 显示使用自定义资源包图标或现有的 Minecraft/模组物品图标。
开发者 API
Architects Time 在以下位置提供了一个受支持的 Java 集成 API:
com.silentvector.architectstime.api
该 API 包含用于以下方面的系统:
- 日历快照
- 日历转换
- 时间推进
- 时长格式化
- 季节性生长适配器
- 生长预估
- 季节保护提供者
- 日历事件
公共 API 之外的实现包被视为内部实现,可能会在各版本之间发生变化。
命令
玩家可以使用 Architects Time 的只读命令,而修改日历时间的命令需要管理员权限。
示例包括:
/architectstime date/architectstime time/architectstime season/architectstime calendar/architectstime add days <数值>/architectstime add ticks <数值>/architectstime set date <年> <周期> <日>/architectstime set time <时:分>/architectstime set season <季节> [天]
此外还有适用于整合包开发者和服务器管理员的调试命令。
要求与兼容性
- Minecraft: 1.21.1
- 模组加载器: NeoForge 21.1 或更新版本
- Java: 21
- 环境: 客户端和服务端
- 可选: Jade 15 或更新版本
- 可选: KubeJS 2101.7 或更新版本
Architects Time 必须同时安装在服务器和连接的客户端上。
Architects Time 不 需要 Architects Core 或其他 Architects 模块。
关于项目
Architects Time 由 Silent Vector Studios 开发。
该项目是开源的,旨在提供一个可复用的时间和季节框架,供模组开发者和整合包作者在此基础上构建,而不是要求每个整合包都创建自己的日历实现。
随着公共 API 和兼容性范围的不断增长,反馈、Bug 报告、集成想法以及关于异常模组作物或时间系统的示例尤其有用。
Architects
Architects Time 是 Architects 项目系列的一部分,该系列是一组可复用的工具、框架和集成,旨在帮助模组作者和整合包作者连接和扩展 Minecraft 系统,而无需将所有内容强制整合到一个单一的庞大模组中。
许可证
Architects Time 以 GPL-3.0-only 许可证发布。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。