TimeManager

用于时间管理和显示的Bukkit插件。

资源图片
![TimeManager](http://imageshack.com/a/img922/9061/ECwdWj.png "TimeManager") ## Bukkit 插件用于时间管理和显示 ### 时间管理功能 为每个世界定义开始时间和速度修改器。设置适合服务器性能的刷新率。 速度可以增加/减少 10 倍,或者与 UTC 时间配合偏移量到本地时间。 白天和黑夜可以设置不同的速度值,这对 RPG 或一些小游戏非常有用。 世界列表在每次服务器启动和重新加载时都会更新,计时器也会同步。 可以使用游戏内命令修改时间和速度,或者在手动更改后重新加载。 可以授权、禁止或将睡眠与某些其他世界关联。 可以为每个玩家定义特定的时间偏移。 TimeManager 可以安排在 cmds.yml 文件中指定的 time 执行的命令。 计划的命令可以使用以下占位符,但 {tm_player} 除外。 此插件覆盖了原生的 '/time' 命令。用于更改单个世界计时器的命令是 '/tm set time \[ticks|daypart|HH:mm:ss] \[world]'。 ### 玩家命令 /now \ \ 一个命令用于显示自定义消息,其中包含时间、日期、经过的天数或周数,或许多其他占位符。 /now 消息支持多语言,并且可以根据 lang.yml 文件中玩家的可用区域设置自动调整。 使用权限,您可以允许玩家选择显示和/或世界参数,或者不选择这两者。 显示参数可以是:'msg'、'title' 或 'actionbar'。 地狱世界和末地世界可以具有特定的消息。 YAML 文件可以使用十六进制颜色。 ### 占位符 以下是可用的占位符: - {tm_player}: 显示玩家的姓名。 - {tm_world}: 显示世界名称。 - {tm_tick}: 显示当前滴答值。 - {tm_time12}: 以 hh:mm:ss 格式显示当前时间。 (1 → 12) - {tm_time24}: 以 HH:mm:ss 格式显示当前时间。 (0 → 23) - {tm_hours12}: 以两位数显示当前小时值。 (1 → 12) - {tm_hours24}: 以两位数显示当前小时值。 (0 → 23) - {tm_minutes}: 以两位数显示当前分钟值。 - {tm_seconds}: 以两位数显示当前秒数值。 - {tm_ampm}: 显示当前日期中的 AM 或 PM 部分。 - {tm_daypart}: 显示当前日期中的各个部分名称,在每种语言中都有四种不同的部分。 - {tm_currentday}: 显示当前的天数。 (1 → ∞) - {tm_elapseddays}: 显示经过的天数。 (0 → ∞) - {tm_weekday}: 显示一年中的第几天。 (1 → 7) - {tm_yearweek}: 显示一年中的第几周。 (1 → 52) - {tm_week}: 显示经过的周数。 (1 → ∞) - {tm_monthname}: 根据 lang.yml 文件中的条目显示当前月份的名称。 - {tm_dd}: 显示日期中的日期部分,两位数。 - {tm_mm}: 显示日期中的月份部分,两位数。 - {tm_yy}: 显示日期的年份部分,两位数。 - {tm_yyyy}: 显示日期的年份部分,四位数。 请注意,这些占位符区分大小写。 它们可以在 lang 和 cmds YAML 文件中使用,也可以在告示牌、书籍、聊天消息和命令中使用。 #### 依赖项 TimeManager 可以通过 [PlaceholderAPI](www.spigotmc.org/resources/placeholderapi.6245) 和 [MVdWPlaceholderAPI](www.spigotmc.org/resources/mvdwplaceholderapi.11182) 显示其占位符。 您只需要将 API 放在您的插件文件夹中,并在 TimeManager config.yml 文件中将相关节点设置为 'true'。 ### 管理员命令 /tm **/tm checkConfig** 管理员和控制台可以显示 config.yml 和 lang.yml 文件的摘要。 **/tm checkSql** 检查 mySql 服务器是否可用,具体参考 config.yml 文件中的值。 这仅检查 IP 地址和正确的端口是否已打开。 **/tm checkTime \[all|server|world]** 管理员和控制台可以显示调试/管理消息,显示服务器启动时间、当前服务器时间以及特定世界(或所有世界)的当前时间、开始时间和速度。 **/tm checkUpdate \[bukkit|curse|spigot|github]** 搜索插件在所选服务器上是否有较新版本。 (仅限 MC 1.8.8+) **/tm help \[cmd] \[\]** Help 提供有关目标命令和子命令的正确用法及简短描述。 **/tm now \[msg|title|actionbar] \[player|all|world]** 将 '/now' (聊天、标题或操作栏) 消息发送给特定玩家、特定世界中的所有玩家或所有在线玩家。 **/tm reload \[all|config|lang|cmds]** 此命令允许您在手动修改后从 YAML 文件重新加载数据。 所有计时器将立即重新同步。 **/tm resync \[all|world]** 此命令将重新同步单个或所有世界计时器,基于服务器的启动时间、经过的时间和当前的速度修改器。 **/tm set date \[today|yyyy-mm-dd] \[all|world]** 设置指定世界(或所有世界)的当前日期。 可以是 'today' 或任何 yyyy-mm-dd 日期。 月份长度对应于现实,二月总是持续 28 天。 因此,一年总是持续 365 天。 **/tm set debugMode \[true|false]** 设置为 true 以在控制台中启用彩色详细消息。 有助于理解此插件的一些机制。 **/tm set defLang \[lg_LG]** 如果玩家的区域设置不存在于 lang.yml 中或当 'useMultiLang' 为 false 时,选择要使用的翻译。 **/tm set elapsedDays \[0 → ∞] \[all|world]** 设置指定世界(或所有世界)的当前经过天数。 可以是 '0' 到无穷大(或接近无穷大)之间的整数。 将此设置为 '0' 将使世界返回第一天。 **/tm set firstStartTime \[default|previous|start] \[all|world]** 强制服务器启动时世界的时间。 值 'default' 允许在启动时进行正常的重新同步。 值 'start' 会强制世界在世界中 'start' 节点中指定的时间开始。 值 'previous' 会返回服务器关闭之前世界中的时间。 **/tm set initialTick \[ticks|HH:mm:ss]** 修改服务器的初始滴答值。 **/tm set multiLang \[true|false]** 设置为 true 或 false 以使用 _/now_ 命令的自动翻译。 **/tm set playerOffset \[-23999 → 23999] \[all|player]** 定义相对于世界时间的玩家客户端的特定偏移量(世界速度仍然有效)。 设置为 '0' 以取消。 **/tm set playerTime \[ticks|daypart|HH:mm:ss|reset] \[all|player]** 定义玩家客户端上的特定时间(世界速度仍然有效)。 使用 'reset' 参数以取消。 **/tm set refreshRate \[ticks]** 设置实际化速度拉伸/扩展效果之前的延迟(以滴答值计算)。 必须是 '2' 到 '20' 之间的整数。 默认值为 '10' 滴答值,请注意,过小的值可能会导致服务器卡顿。 **/tm set sleep \[true|false|linked] \[all|world]** 定义玩家是否可以在指定世界(或所有世界)中睡到第二天。 默认情况下,所有世界都将从参数 true 开始,除非它们的计时器在实时模式下,这需要为 false。 如果要在多个世界中同时允许睡眠并保持时间一致,则可以使用 'linked' 函数,该函数允许一组世界一起度过夜晚。 **/tm set speed \[0.0 → 10.0] \[all|world]** 十进制数字参数将乘以世界(或多个世界)的速度。 使用 '0.0' 来冻结时间,使用 '0.1' 到 '0.9' 的数字来减慢时间,使用 '1.0' 来获得正常速度,并使用 '1.1' 到 '10.0' 的数字来加快时间。 将此值设置为 '24.0' 或 'realtime' 可使世界时间与真实时间匹配。 **/tm set speedDay \[0.0 → 10.0] \[all|world] & /tm set speedNight \[0.0 → 10.0] \[all|world]** 从 '0.0' 到 '10.0',白天速度和夜间速度的值可以不同。 **/tm set start \[ticks|daypart|HH:mm:ss|timeShift] \[all|world]** 定义服务器启动时指定世界(或所有世界)的时间。 默认情况下,所有世界都将在滴答值 #0 开始。 计时器将立即重新同步。 如果某个世界使用实时时间速度,则开始值将确定 UTC 时间偏移,并且将接受诸如 '+1' 或 '-1' 之类的值。 **/tm set sync \[true|false] \[all|world]** 定义是否应增加/减少世界的实际滴答值,或者根据服务器的滴答值调整理论滴答值。 默认情况下,所有世界都将从参数 false 开始。 基于实时时间的以及冻结的世界不使用此选项,而具有正常速度的世界会使用此选项。 **/tm set time \[ticks|daypart|HH:mm:ss] \[all|world]** 设置指定世界(或所有世界)的当前时间。 建议使用此命令代替原生的 '/time' 命令。 标签完成功能也提供了例如 “day”、“noon”、“night”、“midnight” 等便捷预设。 **/tm set update \[none|bukkit|curse|spigot|github]** 定义更新搜索的源服务器。 (仅限 MC 1.8.8+) **/tm set useCmds \[true|false]** §r设置 true 以启用自定义命令调度器。 请参阅 cmds.yml 文件以了解详细信息。 ### COMMAND 和 ARGS 的简短列表 - 对于玩家: - /now \ \ - 对于管理员: - /tm checkConfig - /tm checkSql - /tm checkTime \[all|world] - /tm checkUpdate \[bukkit|spigot|github] - /tm help \[cmd] \[\] - /tm now \[msg|title|actionbar] \[all|player|world] - /tm reload \[all|config|lang|cmds] - /tm resync \[all|world] - /tm set date \[today|yyyy-mm-dd] \[all|world] - /tm set debugMode \[true|false] - /tm set defLang \[true|false] - /tm set elapsedDays \[0 → ∞] \[all|world] - /tm set firstStartTime \[default|previous|start] \[all|world] - /tm set initialTick \[ticks|HH:mm:ss] - /tm set multiLang \[lg_LG] - /tm set playerOffset \[-23999 → 23999] \[all|player] - /tm set playerTime \[ticks|daypart|HH:mm:ss|reset] \[all|player] - /tm set refreshRate \[ticks] - /tm set sleep \[true|false] \[all|world] - /tm set speed \[multiplier] \[all|world] - /tm set speedDay \[multiplier] \[all|world] - /tm set speedNight \[multiplier] \[all|world] - /tm set start \[ticks|daypart|HH:mm:ss] \[all|world] - /tm set sync \[true|false] \[all|world] - /tm set time \[ticks|daypart|HH:mm:ss] \[all|world] - /tm set update \[none|bukkit|spigot|github] - /tm set useCmds \[true|false] ### 权限节点 - timemanager.* - timemanager.admin - timemanager.now.* - timemanager.now.cmd - timemanager.now.display - timemanager.now.world **timemanager.admin:** 提供或拒绝对带有所有参数的/tm 子命令的访问。 **timemanager.now:** 提供或拒绝对/now 子命令的访问,无论是否有参数。 ### 教程 [![IMAGE 1. 如何基本配置插件](http://imageshack.com/a/img924/8047/gxPi0W.png)](https://www.youtube.com/playlist?list=PLPTZNgSLmtr9PxHD_7Y2VFhbSqH8gKBad) ### 兼容性 v1.8.2: MC 1.8.8 到 1.20.4 ### TODO * ~~Command: 在 '/tm checktime' 命令中添加一个 [all|world] 参数以显示单个世界的详细信息。~~ * ~~Command: 创建一个 '/tm checkconfig' 命令,可以显示当前配置的摘要 (所有细节,除了世界细节)。~~ * ~~Command: 创建一个 '/tm set initialtick' 命令。~~ * ~~Command: 允许在 '/ tm set start'、'/ tm set time' 和 '/ tm set initialtick' 的第一个参数中使用 'HH:mm:ss' 格式。~~ * ~~Day & Night : 使白天和夜晚的乘数不同。~~ * ~~Calendar: 创建新的占位符以显示经过的天数和 yyyy-mm-dd 格式的日期。~~ * ~~Scheduler: 创建一个调度器,允许在特定时间执行命令。~~ * ~~Sleep/Sync: 提供同步一个世界到指定世界的设置,检测有人睡眠后新的一天的到来。~~ * ~~Tab completer: 尝试改进管理世界名称中的空格的当前黑客。 (直到 MC 1.12.2 有用)~~ * ~~Command: 允许玩家单独设置其时间。~~ * ~~Worlds: 将 _nether_ 和 _the end_ 包含在世界列表中或将其链接到其参考世界。~~ * ~~Worlds: 添加一个每世界选项,用于服务器启动时的计时器行为。~~ * ~~Placeholder: 允许在书籍和告示牌中使用占位符。~~ * ~~cmds.yml file: 允许在命令行之间使用'pause'。~~ * ~~Placeholder: 添加一个占位符以显示每周的当前天数。~~ * ~~Colors: 添加十六进制颜色识别。~~ * ~~Placeholder: 允许玩家在聊天消息中使用占位符。~~ * ~~Placeholder: 允许外部命令使用占位符。~~ Command: 允许玩家显示占位符列表。 Placeholder: 创建显示刷新占位符的告示牌。 Player Item: 创建自定义项目(以及相关的权限和选项)以使用 '/now' 命令。