1.4.0(最新):不再因插件崩溃、物品名全跟着语言、宝可梦信息看得更多
从 1.3.1 直接升到这一版就行 —— 中间那个 1.3.2 只在内部测试过、没有对外发布,
内容已经并进来了。
这次改了什么
① 服务端不会再因为"某个插件"一启动就崩
有服主反馈换到 1.3.1 之后,服务端一启动就崩,日志里是一大串"找不到某个类"的报错。
查清了:问题不在 Vault(1.7.1 和 1.7.3 表现完全一样),而在服里装的某个插件 ——
它是按更新的服务端版本编译的,类里写着"新版本才有的类型"。市场在挂载经济插件时会先读一遍
服务器上的插件列表,一碰到这种类就报错;而这个错在 Java 里属于"错误(Error)"而不是
"异常(Exception)",原来的代码只兜住了"异常",于是它一路冲出去,把整个服务端的启动流程带崩了。
现在:
- 读取插件信息改走服务端自己加载的那个插件接口,从根上不会再碰到这类类;
- 所有"读别人插件"的地方都补上了这类错误的兜底 —— 坏掉的那个插件会被跳过,其它一切照常;
- 挂载经济的三个环节各自兜底,再也不会因为"找不到经济插件"而让服务端起不来;
- 日志里会点名是哪个插件(连它的完整类名一起写出来),一眼就知道该去更新或删掉哪一个。
顺带说清楚:这个毛病和 Vault 版本无关,也不是上一版新引入的 ——
它需要"装了这种插件"和"当时没有可用的 Vault 经济"两个条件同时满足才会触发。
② 物品名现在全面跟着玩家自己的语言走
有玩家反馈:中文客户端里,提示中的物品名显示成英文("Stone" 而不是"石头")。
原因是这类文字由服务端组装,而服务端只有一套语言(通常是英文)。
现在改成把"这个名字对应的词条"发给客户端,由客户端按自己的语言翻:
中文玩家看中文、英文玩家看英文,同一条广播不用发两遍。
这一版把所有出口都补齐了:上架提示与上架广播、拍卖被超价、拍卖成交,
以及下架、购买、寄送的提示,流拍和挂单过期的通知,
邮箱里的邮件类型,还有宝可梦的"携带物品"名称。
玩家自己用铁砧改过的名字仍原样显示(那不是翻译出来的)。
顺带三个小改进:
- 挂单过期那条提示,原来只说"你的挂单 #12 过期了",现在会写清是什么东西过期了;
- 用命令
/globalmarket mail 看邮箱时,邮件类型原来显示成 ITEM、POKEMON
这种英文内部名称,现在显示"物品 / 宝可梦 / 金币";
- 领邮件的提示变具体了:以前只说"已领取 物品",现在会告诉你
领到了哪件货、多少个(比如"已领取 ▸ 石头 × 64"),钱就直接显示金额。
③ 拍卖有人出价,拍卖发起者会收到提示
以前出价只会通知被超价的那个人,发起拍卖的人反而什么都不显示,
只能自己点开市场看。现在每次有人出价(包括同一人加价),
拍卖发起者都会收到一条提示:什么货、现在多少钱、谁出的价。人不在线就不发。
④ 鼠标指到宝可梦上,能看到的信息多了
以前悬浮说明里只有等级、性格、特性、六维这些"基本资料"。现在多了:
- 薄荷性格(和真正的性格分开显示,一眼看出这只喂过薄荷)、亲密度;
- 精灵皮肤、奖章、极巨化等级、特性槽(第一特性 / 第二特性 / 隐藏特性);
- 金色王冠用在了哪几项(能看出这只被练过哪些项,还是原生的);
- 种族值六项与总和、蛋的剩余孵化周期;
- 能不能交易、能不能繁殖、是不是神兽 / 异兽。
这些在配置里都有对应的占位符({mint_nature}、{ht_count}、{base_total}、
{can_trade} 等),写法与原来完全一样。已有的挂单不受影响 ——
这些新项目在旧挂单上显示为空,不会报错。
⑤ 特殊宝可梦的特殊属性都能看了
有几只宝可梦有"只属于它们自己的小属性",以前在系统面板里看不到,现在悬浮说明里可以显示:
- 梦幻:已经克隆过几次、最多几次、还剩几次(
{mew_clones} 系列);
- 由克希 / 艾姆利多 / 亚克诺姆:给红宝石附魔用了几次、最多几次(
{lake_enchant} 系列);
- 美录坦:熔炼掉了多少矿石(
{meltan_ores});
- 小陨星:核心颜色编号(
{minior_core},颜色名本来就在形态里显示);
- 咩利羊 / 毛辫羊 / 毛毛角羊:羊毛长到第几阶段了(
{shear_stage});
- 代欧奇希斯:有没有解锁 Sus 形态(
{deoxys_sus});
- 野蛮鲈鱼:反作用力计数(
{recoil})。
这些变量只有对应的那只宝可梦才有值,别的宝可梦是空的 ——
写成一行的话,那一行会自动消失,所以一份模板可以通吃所有宝可梦。
服主要注意
- ⚠ 服务端和客户端必须同时更新(两边都换成 1.4.0 这个 jar,换前先删掉旧 jar):
这一版的改动包含"每条宝可梦多带一些数据",只换一边会提示"请更新模组";
- 升级后顺一眼启动日志:如果出现
Could not inspect the plugin class 这样的提示,
说明你服里有插件是按更新的服务端版本编译的。建议把它更新成能在 1.12.2 上跑的版本;
不更新也行 —— 市场会跳过它,照常工作;
- 已有挂单不用处理:新变量在旧挂单上显示为空;
- 数据不用迁移,配置会自动补新项,重启一次服务端即可。