[Official] mcMMO

🧩插件 [Official] mcMMO 2.3.000

  • 新增支持在玩家达到指定技能或能力等级时执行指令(见注释)
  • 为 Folia 服务器增加了记分板支持(感谢 albert4719)(见注释)
  • 新增了占位API排行榜上的排名占位符,涵盖除子技能(回收、冶炼)外的所有技能,以及整体战力等级(见注释)
  • 新增了占位API技能名占位符%mcmmo_skillname_<skill>%和%mcmmo_skillname_header_<skill>%(见注释)
  • 大型数据库中SQL排行榜查询性能提升(见注释)
  • 新增了SQL数据库的自动按技能划分排行榜索引(见注释)
  • 更改了相同等级玩家的SQL排行榜顺序(见注释)
  • 新增了 /mclevelupsound 命令,方便玩家切换升级音效(见注释)
  • /xprate 增加了小数经验率支持,比如 1.5 的经验率现在可以正常使用
  • 为/xprate增加了每项技能的经验值,例如/xprate采矿5.3(见注释)
  • 新增了一个无参数的/xprate(也可以作为/xprate show使用),显示当前经验率及各自活跃时间(见注释)
  • 更改了 /xprate,不再要求true/false事件参数,默认为true(见注释)
  • 更改了 /xprate 以拒绝低于配置经验率的速率(见注释)
  • 在块的放置块数据无法读取时,增加了控制台警告,而不是静默重置
  • 将跛子的默认声音改为锤击地面声(见注释)
  • 更改了经验率事件管理员通知,将命令发送者显示为可悬停的@name,其UUID悬停在聊天中,并在控制台中显示为名称(UUID),而不是将UUID附加在用户名后面
  • 更改了技能名称标签的完成功能,建议在 /mctop、/skillreset 和 /mmoxpbar 等命令中使用小写名称
  • 更改了包含技能名称的消息,使用大写的“Overhaul.Name”本地条目,而非全大写的“SkillName”条目(见注释)
  • 更改了钓鱼反漏洞检查,使其在其他插件发现陷阱之前运行(感谢FireML)(见注释)
  • 更改了技能等级解锁通知,只有在多次解锁连续出现时才播放一次解锁音效
  • 更改了技能等级解锁通知,每个玩家一次以稳定的速度显示(见注释)
  • 更改了回收铁砧,使玩家在解锁废料收集者之前点击可回收物品时,提示缺少哪些回收需求
  • 更改了海利亚运气,发现宝藏时不再发送聊天消息
  • 提升了获得经验值、掷技能概率、检查技能等级以及读取配置设置和权限时的性能
  • 提升了战斗处理、方块和放置方块处理以及许多其他事件处理器的性能,包括炉子、捕鱼、库存、宠物和指令
  • 修复了一个漏洞,破坏并快速替换多方块植物能获得草药经验,而植物却不会损坏(见注释)
  • 修正了仙人掌和合唱植物只为被击中的方块提供草药经验(见注释)
  • 修正了《剑风传奇》在26.1.2+版纸上减少伤害而非提升伤害(见注释)
  • 固定缴械、破裂、残废、动量、暴击、装甲冲击和更大冲击在纸质26.1.2+中激活频率远低于预期(见注释)
  • 修正了Skull Splitter在Paper 26.1.2+中造成远低于预期的范围伤害(见注释)
  • 已修复“mcmmo.perks.xp.25percentboost”权限及其每个技能子节点未注册的问题(见注释)
  • 固定的锤子残废会播放一个无法在sounds.yml中禁用的额外铁砧破碎声(见注释)
  • 修正了使用自定义max_damage组件的超级破坏者和树砍者耐用性处理不当问题(见注释)
  • 修复了树伐者通过PlayerItemDamageEvent忽略其他插件造成的耐久伤害变化
  • 修正了特技闪避漏洞防止,从不限制单个怪物的闪避经验(见注释)
  • 修正了experience.yml中被忽视的“ExploitFix.Combat.XPCeiling.Damage_Limit”(见注释)
  • 修正了回收和维修确认可以对与提示不同的物品进行操作(见备注)
  • 固定护甲有时会在右键点击回收铁砧时装备而非回收
  • 回收和冶炼的记分板固定,直到再次使用技能命令才会更新
  • 固定战力标签在玩家名下可能卡在0(见注释)
  • 修复了统计记分板,包括因缺少权限而隐藏的技能
  • 修复了被命令白名单插件阻挡的本地化技能命令(见注释)
  • 已修复“Database_Purging.Old_User_Cutoff”从未清除非活跃用户的问题(见备注)
  • 固定清除无权用户,删除平板文件数据库中的评论行
  • 固定检查记分板在被检查球员升级时不会刷新
  • 修复了en_US区域中吹叶机和催化指南显示错误解锁等级的问题
  • 固定放置方块追踪数据在世界高度限制缩小时丢失或损坏(见注释)
  • 其他插件调整的技能成功概率被固定为预期的100倍(见注释)
  • 固定缴械、暴击、护甲冲击和更大冲击,忽略没有幸运天赋的玩家的攻击强度(见注释)
  • 已修复因/mmoedit而导致技能等级损坏的取消升级事件(见注释)
  • 修复了另一个插件取消了未加载数据玩家的关卡更改时的错误(见注释)
  • 修复了potions.yml、treasures.yml和fishing_treasures.yml中再生药水条目与药水类型不符(见注释)
  • 修正了刷怪、蛋、下界传送门和培育怪物的骑手不会被标记,减少战斗经验
  • 固定溅射药水在之前列出其他自定义效果时不应用饱和效果
  • 修正了溅射饱和药水无法保持粒子和图标可见度设置的问题
  • 修复了炼金术无法识别自定义效果存储顺序与不同药水的问题potions.yml
  • 固定地用Shift右键点击材料进入酿造台,导致材料槽堆积过多,且拒绝从满堆转移
  • 修复了早期游戏经验加成能在世界卫队区域内奖励经验的设定,而这些地区会拒绝MCMMO的经验值
  • 修复了玩家登出时钓鱼手牌追踪带来的小内存泄漏
  • 修正了另一个插件驯服非玩家拥有者动物时的错误
  • 修正了非玩家拥有的宠物造成伤害时的错误
  • 修复了非玩家实体点击或拖拽炉子或酿造台库存时的错误
  • 修正了另一个插件发射携带非物品实体的鱼类捕获时的错误
  • 修复了在回收或冶炼中添加等级时的错误(见注释)
  • 修正了另一个插件读取回收或冶炼的原始技能经验值时的错误
  • 修复了 /addxp、/addlevels 和 /mmoedit 上的 -s 标志,导致发送给命令发送者的确认无法静音(见注释)
  • 修复了其他插件通过API检查技能名称时出现的“无效mcMMO技能”垃圾信息(见注释)
  • 在启用“Experience_Formula.Cumulative_Curve”时,已修正离线玩家读取经验值要求时的错误
  • 修复了《野性呼唤》召唤物的内存泄漏,召唤物在持续时间结束前就死了
  • 修复了生命值低于11的玩家在地下使用奇美拉翼时的错误
  • 修复了sounds.yml中导致Spigot 1.21.3及更新版本错误的自定义音效ID(见注释)
  • 修正了不支持版本的记分牌警告,显示了打印的乱码,而不是Minecraft版本。
  • 修复了mcMMO命令制表补全,从未向控制台推荐玩家名字
  • 修正了 /mmoedit、/addxp 和 /addlevels,在技能或“全部”已被给定时,建议技能名称作为价值参数的建议
  • 修复了绿色地形和绿拇指无法将泥土小径转换为草地的问题
  • 修正了圣猎犬在环境意识解锁等级时激活,而不是它自己的等级
  • 修复了超级破坏者在铜块、切割铜及其板块和楼梯变体上无法激活的问题
  • 固定扭藤不被草药学作为多块植物处理
  • 固定的草药学双滴剂对甜菜根无效
  • 用骨粉修复放置的下界疣方块,清除其放置的方块追踪
  • 修复了在“Mob_Healthbar.Display_Type”被禁用时,怪物被击中时失去自定义名称的问题
  • 在存档过程中进行的固定玩家数据更改有时会丢失
  • Folia 关闭存档时的固定玩家数据追踪不符合线程安全
  • 修复了在Verbose_Logging关闭时,提示中提到“[D]”的控制台消息被隐藏
  • Folia 上固定的技能几率和持续时间显示格式不适合讨论串
  • 修复了 /mmoxpbar 禁止为每个技能发送聊天消息,而不仅仅是发送摘要
  • 修复了损坏的放置块区域文件在加载失败后被锁定,并导致未命名文件的错误
  • 修复了一个无法写入的区块在关机和区块卸载时中止剩余的放置方块存档的问题
  • 在使用非英语本地服务器上,命令中不接受英文技能名称的指令中修正了技能名称参数
  • 修复了本地化技能命令,重写重复技能名称的命令参数
  • 修正了玩家在MCMo数据加载时对其他玩家的防火能力
  • 修复了多个事件处理程序,在MONITOR优先级下修改钓鱼、方块伤害、交互和库存事件(见注释)
  • 修复了Shake能力中的McMMOPlayerShakeEvent从未被触发到其他插件的问题
  • 修复了 /检查在离线播放器中使用时不检查权限的问题(见注释)
  • 修复了一个可能导致FlatFile排行榜结果错误的线程安全问题
  • 修正了玩家剩余数据库重命名行在 /mctop 中出现,并在 SQL 数据库中被 /mcrank 计数(见注释)
  • 修复了FlatFile排行榜,失败的重建要等到下一次刷新周期才会重新尝试
  • 修复了过时服务器启动警告,提示将Minecraft 1.20.4命名为1.20.4,而不是必须的1.20.5
  • 修复了在玩家数据加载完成前使用 /mmodebug 时出现的错误(感谢 warriorrrr)
  • 在advanced.yml中添加了“Feedback.ActionBarNotifications.SubSkillUnlocked.SendToActionBar”,作为选择加入的选项,可以在动作栏上显示技能等级解锁信息(见注释)
  • 新增了配置文件level_up_commands.yml设置升级命令(见注释)
  • 新增“ExploitFix.AcrobaticsDodgeXpFarming”到experience.yml(见注释)
  • 在advanced.yml中添加了“技能.采矿.爆破采矿.远程引爆距离”(见注释)
  • 在config.yml后加上了“General.PlaceholderAPI.Leaderboards.Max_Tracked_Rank”
  • 在config.yml后加上了“General.Leaderboards.Refresh_Interval_Seconds.SQL”
  • 添加了“General.Leaderboards.Refresh_Interval_Seconds.FlatFile”config.yml
  • 新增了“mcmmo.commands.mclevelupsound”权限节点
  • 新增了 'mcmmo.commands.xprate.show' 权限节点
  • 移除了未使用的吹叶机Rank_2,并Rank_3条目skillranks.yml
  • 移除了 /mmocompat 命令,它已经多年无法使用了
  • 把config.yml里的“Scoreboard.Types.Skill.LevelUp_Board”和“LevelUp_Time”设置移除了,它们没有任何效果(见注释)
  • 新增了“Commands.xprate.current”、“Commands.xprate.invalid”、“Commands.LevelUpSound.On”、“Commands.LevelUpSound.Off”和“Commands.Description.mclevelupsound”等地方条目
  • 为 /xprate 的更改添加了 'Commands.xprate.none'、'Commands.xprate.current.skill'、'Commands.xprate.tooLow'、'Commands.xprate.duration'、'Commands.xprate.skill.globalApplies'、'Commands.xprate.skill.cleared'、'Commands.Event.XP.Skill' 和 'XPRate.Event.Skill' 等地方词条目
  • 更新了本地条目“Commands.Event.XP”和“XPRate.Event”以命名全局经验率
  • 增加了本地条目“Notifications.Admin.XPRate.Skill.Start.Self”和“Notifications.Admin.XPRate.Skill.Start.Others”
  • 为管理员通知发送者身份添加了“Notifications.Admin.Sender.Display”、“Notifications.Admin.Sender.UUID.Hover”和“Notifications.Admin.Sender.UUID.Console”的本地条目
  • 为回收铁砧需求信息添加了“Salvage.Skills.ScrapCollector.Locked”和“Salvage.Skills.ScrapCollector.LockedAndItem”的本地条目
  • 更新了/xprate更改的本地词条目“Commands.Description.xprate”
  • 移除了未使用的本地条目 'Commands.xprate.proper.0'、'Commands.xprate.proper.1'、'Commands.xprate.proper.2'、'Commands.xprate.modified'、'Commands.xprate.over'、'Commands.xprate.started.0' 和 'Commands.xprate.started.1'
  • 删除了现已废弃的“Herbalism.HylianLuck”条目
  • (API)新增了 LevelUpCommandAPI,使其他插件可以注册升级命令或自己的回调,之后再取消注册(见注释)
  • (API)已弃用的RankUtils.reset解锁延迟计时器,解锁通知节奏现在会自动按玩家处理
  • (API)SkillTools.getLocalizedSkillName 现在返回了适合消息的“Overhaul.Name”位置值,而不是全大写的 “SkillName”
  • (API)新增了SkillTools.getHeaderBannerSkillName,用于标题和技能命令匹配的全大写“SkillName”位置值
  • (API)在SensitiveCommandType中添加了XPRATE_MODIFY_SKILL,用于按技能计算经验率管理员通知
  • (API)McMMOScoreboardObjectiveEvent 仅在非 Folia 服务器上触发(见注释)
  • (API)技能等级解锁通知现在像其他通知类型一样触发 McMMOPlayerNotificationEvent
  • (API)由 /mmoedit 触发的 McMMOPlayerLevelDownEvent 现在报告的是失去的等级数,而不是新的绝对等级
  • (API)ProbabilityUtil.% 已被弃用,内部不再使用
  • (API)没有 FakeBlockBreakEventType 的 EventUtils.simulateBlockBreak 超载将被弃用,取而代之的是使用 1 的变体
  • (API)不可操作的ScoreboardManager.enablePlayerSkillLevelUpScoreboard已被弃用,已移除
  • (API)mcMMO 现在阻止其他插件修改其内部材质映射
  • (API)已弃用未使用的 NMSConstants、NMSVersion、FixSpellingNetheriteUtil、SkillActivationType 和 ObjectiveType 类以移除
  • (API)已弃用 DelayedHerbalismXPCheckTask 和 HerbalismManager#awardXPForBlockSnapshots for 移除
  • (API)废弃的公共事业方法和字段
  • (API)弃用拼写错误的 PlayerProfile#getChimaerWingDATS 改为 getChimaeraWingDATS
  • (API)McMMOPlayer#addXp 和 McMMOPlayer#addLevels 现在会触发 XP 和 Level Change 事件,并进行进程升级,而不是写入原始值(见注释)
  • (API)新增了数据库管理器#readLeaderboardSnapshot,一次调用即可读取所有排行榜范围
  • (代码库)新增了记分板库2.8.0作为基于分组的记分板实现的着色依赖
  • (代码库)新增了ViaVersion plugin.yml软依赖
  • (代码库)对监听类和效用类进行大规模内部清理和重构
注释:
——战斗能力文件26.1.2+ ——

文件26.1.2更改了近战攻击冷却时间,默默将这些效果削弱到设定伤害和激活率的一小部分。2.2.053版本修复了大部分伤害加成;这个构建修复了剩余的效果。不需要更改配置。
缴械、暴击、护甲冲击和更大冲击的激活率会随着原版攻击冷却时间增长,但这种加成只适用于拥有幸运天赋的玩家。弱攻击现在降低了所有人的成功率;这影响所有服务器软件,而不仅仅是Paper。

(API)UnarmedManager#berserkDamage/disarmCheck,AxesManager#criticalHit/impactCheck/greaterImpact/skullSplitterCheck,SwordsManager#processRupture/serratedStrikes,MacesManager#processCripple,SpearsManager#潜在应用动能,CombatUtils#applyAbilityAoE,McMMOPlayer#getAttackStrength被淘汰,取而代之的是具有攻击力等级的超载。

——技能随机性——
仅影响通过API调整mcMMO技能成功概率的插件的服务器;调整后的几率此前被降低到大约为预期值的百分之一,导致受影响的技能几乎从未成功。

—— XP 命令的静默标志——
/addxp、/addlevels 和 /mmoedit 接受 -s 作为最后一个静默运行参数;旗帜也被静音了,确认回应回响给指令发送器。通过从控制台发送这些命令来奖励经验值的插件,应该在 -s 后加上,以保持服务器日志的安静。

—— 技能名称无效消息 ——
技能名称查询若与任何技能不匹配(通常是通过 API 验证名称的其他插件,但也有命令错别字),将不再向控制台打印“无效 mcMMO 技能”警告。该消息现在是调试输出,通过启用config.yml中的“General.Verbose_Logging”来查看。

——药水
——再生药水条目及其长效/强力变体在potions.yml、treasures.yml和fishing_treasures.yml中可能加载失败。像REGEN这样的旧名字依然可以正确转换,不需要更改配置。

——记分板和功率等级标签——
Folia(以及像Canvas这样的Folia分支)上的记分板现在采用基于数据包的实现,因为Bukkit 记分板API在该系统使用不安全。Paper和Spigot服务器保留了现有的Bukkit记分板实现,且不受影响。
如果Folia服务器运行的是本mcMMO版本(目前为26.2.x线)支持的较新Minecraft版本,记分板会被禁用并发出启动警告,直到MCMMO更新。
(API)基于数据包的实现仍然会触发 McMMOScoreboardMakeboardEvent 和 McMMOScoreboardRevertEvent,但 Folia 上没有 Bukkit 目标,因此 McMMOScoreboardObjectiveEvent 不会在那里触发。对于仍在加载数据的玩家,
力量标签可能会卡在0,而启用“Power_Level_Tags”的旧版本可能会让世界数据中显示过时;剩余部分现在在启动时会自动清理。在Minecraft 26.1客户端上,由于客户端的bug,全息影像和宠物的能量等级仍然可以渲染Mojang 在 26.2 版本修正了它。

—— 打捞和修理 ——
打捞/修理确认点击现在必须用触发提示的同一个物品进行;如果在确认窗口内保留的物品发生变化,你会收到一个新的提示。在确认等待期间,提示物品无法使用,这会阻止原版护甲快速切换确认过程中的装备或更换。

——经验值和漏洞修复——
多方块植物(竹子、甘蔗、海带、仙人掌、合唱树和悬挂藤蔓)现在只有在这些方块实际损坏后才会为植物的其他部分提供经验值,因此破坏一个区块并立即替换它不再会为那些从未损坏的方块支付经验值。仙人掌和合唱树现在还会为整株植物提供经验值,而不仅仅是被击中的方块。不需要更改配置。
mcmmo.perks.xp.25% 权限系列现在表现为10%、50%和150%的变体;之前只有 mcmmo.perks.xp.25%boost.all 有影响。
回避经验值刷取预防现在在experience.yml中有了自己的“ExploitFix.AcrobaticsDodgeXpFarming”设置,默认启用;现有配置文件无需更新。单个怪物在几次闪避后停止发放闪避经验,并在大约一分钟后恢复,且没有被躲避。“ExploitFix.Acrobatics”继续控制Roll反剥削检定。现在experience.yml中的
“ExploitFix.Combat.XPCeiling.Damage_Limit”有效;之前无论配置如何,战斗经验值伤害上限总是100。自定义值在更新后生效,无需更改配置。
钓鱼的过度捕捞和垃圾捕鱼检查现在会在其他插件处理捕捞之前运行,因此钓鱼插件(例如EvenMoreFish)可以判断mcMMO是否拒绝捕捞,而不是事后删除自定义捕捞记录。被拒绝捕获仍然没有mcMMO奖励。不需要更改配置。

——放置方块追踪——
如果一个世界的建造高度限制被降低(例如移除了提升高度的数据包后),加载该世界的放置方块数据可能会失败,或者错误地标记为玩家放置的方块。新限制内的标记保持在正确位置;只有新边界外的街区会被遗忘。

—— 命令 ——
本地化技能命令(例如在德国地图上用 /faustkampf 代替 /unarmed)现在可以完全显示在命令白名单和命令阻断插件中,完全符合玩家输入的状态。如果你使用这样的插件,请将本地化命令名列入白名单。现在在离线玩家
上使用 /inspect 需要 'mcmmo.commands.inspect.far' 权限,这个节点也负责检查远距离玩家。如果服务器上的非营运玩家依赖检测离线玩家,就授予该节点。
/mclevelupsound 切换(别名 /levelupsound)只影响升级音效,不影响升级消息,并且会持续到登出为止,就像 /mcnotify 一样。
/xprate无参数显示当前经验率。玩家通过新的“mcmmo.commands.xprate.show”节点获得此信息,该节点默认被授予,因为该速率在活动开始时已广播,加入时已显示。

——消息中的技能名称——
我提到技能名称的 SSAGE(升级广播、经验指令反馈、/mcrank 和 /mctop、技能冷却通知等)现在使用“Overhaul.Name”地区条目中漂亮大写的名称(如 Mining),而非全大写的“SkillName”条目(如 MINING)。风格化的标题保留了全大写名称:技能指令界面、指南标题和记分板。如果你的服务器通过覆盖“<Skill>来重新命名技能。在locale覆盖文件中,也覆盖了匹配的“Overhaul.Name.<Skill>”条目,使消息接收重命名。
新的占位API占位符为每个技能暴露了两种样式:%mcmmo_skillname_<skill>%返回消息名称(类似Mining),%mcmmo_skillname_header_<skill>%返回头部名称(类似MINING)。两者都遵循服务器所在地和所有覆盖。

-- 经验率事件 --
/xprate 现在接受技能名:/xprate 挖矿 5.3 只提升采矿,“全部”目标还是全局采矿率。儿童技能(回收、冶炼)本身没有经验值,会被拒绝。true/false事件参数是可选的,默认为true。
错误的更改永远不会启动或结束事件。它们仍然会公布,但没有活动横幅,如果全球事件率持续提高,转播会提示。
每技能的比率和全局/xprate不会叠加;以更高的为准。experience.yml和经验加成的倍数依然会照常叠加在上面。
低于配置速率的速率会被拒绝experience.yml以防止意外降低经验值。/xprate reset 会恢复配置的速率,并一次性清除所有每个技能的刷新率。
设定全局比率还会清除与该值相同或更低的每技能等级,因为更高的速率总是获胜;发送方会被告知哪些利率已被清算。
/xprate(无参数)或/xprate显示时,在没有经验率事件激活时报告,否则会列出全局和每技能的激活率,并列举各自活跃的时间。
在活动期间,加入的玩家会被告知当前的技能值和全球的提升率。

—— 升级命令 ——
级命令在新的level_up_commands.yml文件中配置;每个条目都列出了执行命令和触发器,技能等级或power_levels,以及可选的CONSOLE(默认)或PLAYER的选项run_as。已发布的示例条目默认是被禁用的。
升级命令支持占位符:{@player}、{@skill}、{@level}、{@power_level},以及当前级别的占位符如{@mining_level}。安装占位API后,占位符也会针对升级的玩家解析。即使同时获得多个等级,指令也每达到一个里程碑执行一次。
(API) LevelUpCommandAPI 注册会返回一个 ID,可用于后续取消注册;其他插件所做的注册能经 mcMMO 配置重新加载而保存。

——音效与技能
——技能等级解锁通知现在每0.25秒一个接一个地发送,而不是每隔5秒的批量。每次解锁都会被通知;像 /mmoedit 这样的大规模更新,所有通知都能在几秒钟内发送。
跛子现在只发出一个声音,t。他默认用狼牙棒砸地面声,而不是铁砧声;用sounds.yml中的 CRIPPLE 条目调整或禁用。钉头锤的声音只存在于Minecraft 1.21及以后版本,和钉锤的版本相同。无法解决的
声音(例如CustomSoundId中的拼写错误)现在只记录一次警告并被跳过;在Spigot 1.21.3及以后版本,每次尝试播放声音时都会出错。
能力耐久度损失现在总是使用物品自身的最大耐久度,因此带有自定义max_damage组件(数据包或物品插件)的物品不再破坏超级能力或看起来恢复耐久。

——事件处理
——钓鱼奖励处理器、激活技能和消耗物品的交互处理器、对方块伤害的狂暴瞬间破坏,以及剥夺能力增益的物品栏点击和开启处理程序现在以最高优先级运行,因此读取这些事件的插件能可靠地看到mcMMO的变化。如果另一个插件也以最高优先级修改这些事件,其相对于mcMMO的顺序可能发生了变化;更新后,请报告任何与其他插件的新冲突。

-- 配置 --
技能等级解锁消息可以通过在advanced.yml中将“Feedback.ActionBarNotifications.SubSkillUnlocked.SendToActionBar”设置为true,“SendCopyOfMessageToChat”决定聊天是否仍能获得副本。除非你启用它,否则什么都不会改变。该部分使用“SendToActionBar”代替“Enabled”,因为旧配置中已经包含剩余的“Enabled: true”;该密钥被忽略,因此更新时无法默然改变行为。advanced.yml启动时自动更新。advanced.yml中的
“技能.采矿.爆破采矿.远程引爆距离”控制爆破采矿远程引爆TNT的距离。默认的100与旧的固定距离一致;advanced.yml启动时自动更新。
移除的“Scoreboard.Types.Skill.LevelUp_Board”和“LevelUp_Time”设置多年来一直坏掉,无论数值如何都没用。现有配置文件中剩余的密钥会被忽略并可删除;没有任何明显的变化。

——数据库——
“Database_Purging.Old_User_Cutoff”现在实际上会移除FlatFile和SQL数据库中的非活跃用户。如果你启用了清除功能,预计更新后的第一次清除会移除本应被清除的旧用户。无法确定最后登录情况的用户会被保留。

—— 占位符 API 排行榜 排名位置占位符 ——
新的占位符直接请求排行榜位置:
%mcmmo_mctop_<skill>:<position>% -> 该段位的技能水平(例如 %mcmmo_mctop_mining:1%)
%mcmmo_mctop_name_<skill>:<position>% -> 个该段位的球员名(例如 %mcmmo_mctop_name_mining:34%)
整体实力等级请使用“整体”、“全部”或“实力等级”作为技能名称;这三者对应相同的数据(例如:%mcmmo_mctop_powerlevel:25%)。
“General.PlaceholderAPI.Leaderboards.Max_Tracked_Rank”控制最高的支持位置。默认位置是100,限制在10到1000之间,因为更高的位置每次缓存刷新都会消耗内存和数据库读取。
Positio超过该值的 ns、无效局面(空白、非数字、0、负数)以及目前无玩家持有的局面均返回空结果。
“General.Leaderboards.Refresh_Interval_Seconds.FlatFile”(默认600,符合之前的行为)控制FlatFile排行榜重建的频率,影响/mctop、/mcrank和占位符。
“General.Leaderboards.Refresh_Interval_Seconds.SQL”(默认60)仅控制占位缓存;在 SQL 上使用 /mctop 和 /mcrank 总是查询实时数据。
两个间歇的最低时间为60秒。占位请求在刷新之间从缓存中传递。
每次刷新都会一次性读取所有排行榜;在 FlatFile 上,这是对用户文件的单次扫描。刷新在没有使用排行榜占位符时暂停,下一次请求时恢复,因此从未使用它们的服务器不会重复缓存工作。

—— SQL 排行榜性能 ——
在拥有大型玩家表的服务器上,对 SQL 数据库的排行榜查询现在快得多。mcMMO在启动时自动将技能索引添加到技能表中,当它们缺失时;在非常大的数据库中,更新后的第一次启动可能需要更长时间来构建。该程序运行一次,可以安全重启,即使无法添加索引,mcMMO 也能正常启动。新安装的技能列会被纳入索引,未来更新添加的技能栏会自动获得,现有的idx_<技能>索引覆盖不同列则被视为有意为之,保持原样。
更名的玩家会以内部占位符名留下数据库行;在 SQL 中,这些行可以出现在 /mctop 和排行榜占位符中,并被计入 /mcrank 位置。他们现在被排除在所有项目之外。
在 /mctop 和 /mcrank 中,排名相同的玩家现在以最新注册者优先排序,排行榜占位符(此前按名字字母顺序排列),而 /mctop 和 /mcrank 则在并列位置上达成一致。FlatFile数据库仍然按字母顺序排序。

——通过API显示子技能等级——
通过mcMMO API添加回收或熔炼等级会导致在线玩家出现错误。子技能没有独立等级,因此新增等级现在平均分配到该技能的父技能上,与子技能经验和离线API变体的表现相匹配。
  • 新增的方块和物品可兼容混沌立方块(Minecraft 26.2)中的 mcMMO
  • 固定的队伍/管理员聊天允许玩家使用颜色代码,无需“mcmmo.chat.colors”权限
  • 固定的重新连接有时会提前清除玩家减少的经验值
  • 修复了远程攻击触发驯服狼辅助目标时的Folia线程检查错误
  • 修正了右键点击剥木,同时为树匠准备斧头
  • 修复了超级破坏者在深板砖和深板板块上无法激活的问题
  • 修复了无效或格式错误的宝藏条目,无法在启动时禁用 mcMMO(见注释)
  • 固定的药水宝藏,带有扩展或升级药水数据,treasures.yml和fishing_treasures.yml都拿错药水
  • 固定钓鱼宝藏,未识别稀有度被默默加入COMMON奖励池(见注释)
  • 为硫磺方块添加了战斗经验倍增experience.yml
  • 为金色蒲公英添加了草药学经验值experience.yml
  • 将“Bounce”音乐光盘作为非常罕见的挖掘宝藏加入treasures.yml(见注释)
  • 新增所有新辰砂方块变体的采矿经验值experience.yml(见注释)
  • 新增了所有新硫磺方块变体的采矿经验值experience.yml(见注释)
  • 为experience.yml增加了强效硫磺和硫磺激增的采矿经验值
  • 更改了使用服务器Minecraft版本中不存在的药水类型的宝藏条目,像其他不兼容的宝藏一样悄悄跳过
  • 改进了错误配置的宝藏录入记录,使用能准确指出问题和配置密钥的警告
  • (代码库)重新设计了宝藏配置加载(TreasureConfig、FishingTreasureConfig),将每个条目分类为已加载、不兼容或无效,并按每个部分进行加载总结
  • (代码库)将 TreasureConfig 和 FishingTreasureConfig 的合并复制宝藏配置加载逻辑,集成到共享的 TreasureEntryLoader 辅助工具中
  • (代码库)新增了用于宝藏入口分类和捕鱼掉落率验证的单元测试
注释:
  • experience.yml启动时会自动更新,新的采矿、战斗和草药学值会自动添加到现有配置中。
  • 新的采矿经验值涵盖了完整的辰砂和硫磺方块套装:基础方块、抛光版、砖块版和雕刻版,以及楼梯、板块和墙体变体。
  • treasures.yml不自动更新;要在现有服务器上获得“Bounce”挖掘宝藏,需手动添加MUSIC_DISC_BOUNCE条目到treasures.yml或删除文件以重新生成(默认记录的副本保存到defaults/treasures.yml)。
  • Treasure配置(treasures.yml、fishing_treasures.yml)在错误条目下启动失败。Minecraft版本中材料或药水类型不存在的条目会被悄悄跳过。错误的条目会用密钥记录,方便你查找并修正,每个章节还会报告加载了多少宝藏。
  • 钓鱼宝藏中未识别的稀有度会跳过,并提示条目名称以便修正;此前它们被默默地视为通用。如果自定义钓鱼宝藏更新后停止掉落,请查看启动日志中的警告。
  • 修复了一个bug,即带有trickshot弹跳效果的箭矢药水效果比预期长得多(感谢flyncodes)
  • 修复了一个bug,即使用叠加的奇美拉翼装备并启用热身,会移除整堆叠物,而不是只花费使用成本(感谢UDPSendToFailed)
  • 修复:射箭迷雾的瞬移不再在同时击中和切换时将玩家返回死亡/传送地点
  • Glow_Lichen的默认值现在是1而不是5(更新experience.yml文件以应用此变化,或删除文件以重新创建)
这个热修复修复了在运行 Minecraft 之前版本(1.21.11)时遇到的一些错误,因为 mcMMO 版本是 Mounts of Mayhem 之前的

  • 在旧版Minecraft加载Spears技能管理器时修正了错误
  • 在旧版Minecraft中使用/spears命令时已修正错误
  • Green Thumb现在重新种植了一些之前未能重新种植的作物(见注释)
  • Green Thumb现在能更快地重新种植收获的植物
  • 修复了用绿手指重新种植作物时可能出现的一个错误
  • 修复了一个salvage.vanilla.yml在服务器重启时重新添加已删除条目时的bug。
  • 修复了一个repair.vanilla.yml服务器重启时重新添加已删除条目时的bug。
  • 新增缺失的权限节点 'mcmmo.ability.repair.copperrepair'
  • 新增缺失的权限节点 'mcmmo.ability.salvage.coppersalvage'


    备注:
    Green Thumb重新种植植物时的延迟是故意设计的,在研究漏洞时似乎有点慢,所以我加快了速度。
    绿拇指仍然不会重新种植一些植物,比如甘蔗、仙人掌等,这些处理方式有些不同,但如果有需要,我可以在即将到来的补丁中加入支持。
作者
Monody
下载
40
查看
312
首次发布
2025/08/26
最后更新
星期五,21:45

评级

0.00 星 0 星

来自Monody的更多资源

后退