服务器使用量
未统计
服务玩家数
未统计
下载量
5,769
插件详细介绍
WeatherNews 是一款小巧、简单但功能强大的插件,它能在聊天栏中显示天气信息。每当天气变化时,它都会发布公告,详细说明当前情况、持续时间以及接下来最可能出现的天气。
核心功能
- 在天气变化时自动向全服玩家发布公告。
- 公告信息包含当前天气、预计持续时间和后续天气预测。
- 支持玩家加入时显示当前天气(可配置关闭)。
- 提供
/wnews命令,让玩家或控制台随时手动查询天气。 - 高度可定制,所有消息文本、颜色、格式均可通过配置文件修改。
- 支持多世界,可设置白名单或黑名单来控制生效的世界。
安装与兼容性
- 下载后得到一个
.zip文件,请根据你的服务端版本选择正确的.jar文件。 - 将选定的
.jar文件放入服务器的plugins文件夹。 - 重启或重载服务器以完成安装。
测试可用的服务端核心:
- Paper
- Spigot
- CraftBukkit
- Tuinity
配置指南
配置文件 (config.yml) 结构清晰,易于理解。你可以自定义所有消息,插件支持通过 YAML 语法正确使用换行符。
基础设置
# 如果设为 false,则 worlds 列表为黑名单(列表中的世界不会收到天气公告)。
worldwhitelist: false
worlds:
- world_sample
- world_other
# 玩家加入时是否收到当前天气通知。设为 false 可关闭此功能。
showonlogin: true时间步进与预测精度
stepping 部分允许你以“步进”方式显示时间,可用于向玩家隐藏精确信息。系统会根据距离下次天气变化的游戏刻(tick)长度,选择最远的时间条目。24000 tick 等于 1 个游戏日。
stepping:
- 1:
minute: 1
- 60:
minute: 10
- 240:
minute: 30
- 360:
minute: 0
hour: 1
- 11520:
minute: 0
hour: 0
day: 2
unprecise: true
minimumpercentage: 0.1
maximumpercentage: 1.0
exponentialmod: 2.0
modulator: 79
maximumtime: 180000关于精度的计算公式:
t = 距离天气变化剩余的时间。
accuracy = ((maximumpercentage - minimumpercentage) * exp(-2*pi*(t/maximumtime)^exponentialmod) + minimumpercentage) * 100maximumpercentage: 在 t=0 时的最高精度(绝对值)。minimumpercentage: 在 t=maximumtime时的最低精度(绝对值)。maximumtime: 应设为 180000 左右,这是天气变化的最大可能时间周期。exponentialmod: 控制函数曲线的陡峭程度,应 >= 2。modulator: 设置随机化的可能范围,应始终为质数,且不要过大(尤其不要超过 maximumtime)。unprecise: 启用“模糊”预测(即非100%准确)。
变量与消息定制
所有大写单词均为系统内部使用的变量,具有特殊含义。你可以在字符串中使用 ${变量名} 的格式来引用它们。所有可配置的变量都位于 variables: 部分。
预设变量列表:
- 时间单位:
DAY,DAY_PLURAL,HOUR,HOUR_PLURAL,MINUTE,MINUTE_PLURAL,AND - 天气类型:
SUN,RAIN,THUNDERSTORM - 消息模板:
CLEAR,UNCLEAR,UNAVAILABLE,BLACKLISTED - 颜色代码:
BLACK,DARK_BLUE,DARK_GREEN,DARK_AQUA,DARK_RED,DARK_PURPLE,GOLD,GRAY,DARK_GRAY,BLUE,GREEN,AQUA,RED,LIGHT_PURPLE,YELLOW,WHITE - 格式代码:
ITALIC,BOLD - 系统变量:
ACCURACY(会被替换为 0-100 的精度百分比数值,不带 % 符号)
默认变量配置示例:
variables:
DAY: "day"
DAY_PLURAL: "days"
HOUR: "hour"
HOUR_PLURAL: "hours"
MINUTE: "minute"
MINUTE_PLURAL: "minutes"
AND: "and"
SUN: "clear skys"
RAIN: "rain"
THUNDERSTORM: "thunderstorm"
CLEAR: "${header}${today}${mainclear}${nextclear}"
UNCLEAR: "${header}${today}${mainunclear}${nextunclear}"
UNAVAILABLE: "${header}${RED}Weather unavailable."
BLACKLISTED: "${header}${RED}Sorry I can't do this."
header: "${GOLD}${ITALIC}${BOLD}WeatherNews ${WHITE}${ITALIC}${BOLD}>${AQUA} "
today: |
Today is day ${TIMEDAY}.
nextunclear: |
After that we have something different.
I will notify you then.
nextclear: "After that we have ${NEXT} (${ACCURACY}%)."
mainclear: |
We have ${NOW} for the next ${NEXTNICE}.
mainunclear: |
We have ${NOW} for at least the next ${NEXTNICE} (${ACCURACY}%).命令与权限
- 命令:
/wnews - 描述: 手动触发并显示当前天气新闻。
- 用法: 玩家或控制台输入此命令即可。
- 注意: 在控制台执行此命令会向所有玩家广播天气新闻,即使当前世界没有可用的天气信息。
常见问题
如何禁止玩家加入时看到天气通知?
- 在配置文件中,将
showonlogin:设置为false。
worldwhitelist 具体如何工作?
- 当
worldwhitelist: false时,worlds:列表是黑名单,列出的世界将不会收到天气公告。 - 当
worldwhitelist: true时,worlds:列表是白名单,只有列出的世界会收到天气公告。
修改配置需要重启服务器吗?
- 大多数配置更改在重载插件或服务器后生效。建议在修改后使用
/reload命令或重启服务器以确保更改生效。
测试支持版本
版本分布
基本信息
插件名称
WeatherNews
作者
rmellis
平台
Bukkit / Spigot
支持版本
1.7 - 1.18
点赞数
10
最近版本
暂无数据
-