Dynamic Difficulty - 动态难度
让新手和老手玩家都能在同一服务器上畅玩,无需担心难度问题!
Bukkit / Spigot
作者 SkinnyJeans
支持版本 1.21 - 1.21
服务器使用量
33
服务玩家数
2
下载量
6,073
插件详细介绍
DynamicDifficulty 是一款能让新手与老手在同一服务器上和谐游玩的插件。它通过动态调整游戏难度,让新玩家不会被轻易击杀,同时为经验丰富的玩家提供更具挑战性的体验和更丰厚的战利品。
核心功能
- 动态难度调整:根据玩家的“亲和力”自动调整游戏难度。
- 自定义难度:可创建完全自定义的难度等级,精细控制怪物伤害、战利品掉落、经验倍率等。
- 玩家独立难度:每位玩家的难度独立计算,互不影响。
- 多世界支持:可禁用特定世界(如下界、末地)的难度调整。
- 数据库支持:支持 SQLite、MySQL、PostgreSQL 和 MariaDB。
- PlaceholderAPI 支持:提供丰富的占位符,用于在聊天或计分板显示难度信息。
- GUI 管理:提供图形界面方便管理玩家设置。
兼容性与要求
支持的服务器核心
- Spigot
- Paper
- 其他核心可能兼容,但未经测试。
支持的 Minecraft 版本
- 1.13 至 1.20(< 1.8)
- 1.21(1.9+)
推荐服务器难度
建议将服务器基础难度设置为 困难,因为插件的自定义难度数值是基于困难难度进行缩放的。设置为其他难度可能导致怪物过弱。
权限与命令
所有命令权限均支持添加 .self(仅对自己操作)或 .other(对他人操作)后缀。例如 affinity.set.self。若不指定目标玩家,则默认对命令执行者生效。
主要命令
/affinity set <玩家?> <数值>(affinity.set)
将指定玩家的亲和力设置为特定值。
/affinity add <玩家?> <数值>(affinity.add)
为指定玩家增加亲和力。
/affinity remove <玩家?> <数值>(affinity.remove)
为指定玩家减少亲和力。
/affinity get <玩家?>(affinity.get)
查看指定玩家的当前及最大/最小亲和力。
/affinity difficulties(affinity.difficulties)
查看游戏中所有已配置难度的详细设置。
/affinity setMax <玩家?> <数值>(affinity.setmax)
设置玩家的亲和力上限。
/affinity setMin <玩家?> <数值>(affinity.setmin)
设置玩家的亲和力下限。
/affinity playergui(affinity.playergui)
打开一个箱子GUI来管理所有玩家设置。
/affinity reload(affinity.reload)
重载插件配置(config.yml 和 lang.yml)。
/affinity forceSave(affinity.forcesave)
强制将当前数据保存至文件或数据库。
/affinity help(affinity.help)
显示所有可用命令。
/affinity info(affinity.info)
返回插件内部保存或计算的一些信息。
常见问题
服务器难度有影响吗?
有影响。强烈建议将服务器基础难度设置为“困难”。插件的自定义难度数值是基于困难难度进行平衡的,使用其他难度可能导致怪物强度异常。
数据多久保存一次?
- 每 5 分钟自动保存一次。
- 玩家退出服务器时立即保存。
DynamicDifficulty 会影响刷怪塔吗?
只有玩家击杀的怪物才会受到插件掉落物和经验倍率的影响。如果怪物被狼、TNT或其他非玩家实体杀死,则会使用服务器基础难度(通过 /difficulty 设置)的默认掉落规则。
支持多世界吗?
支持。你无需安装 Multiverse。可以直接在配置文件中禁用特定世界的难度调整或亲和力获取。
# 配置文件第87行示例
disabled-worlds:
- admin_world
- main_hub对服务器性能影响大吗?
影响很小。插件已通过各种方法进行优化,例如禁用未使用的方法、尽可能使用异步处理等。但尚未在超大型服务器上进行过测试。
如何创建一个“和平”模式?
- 在配置文件中复制一个现有难度配置(如“Easy”),并将其重命名为“Peaceful”。
- 调整其参数,例如将
affinity-required设为 0,damage-done-by-mobs设为 25,keep-inventory设为 true 等。 - 为想要使用和平模式的玩家设置亲和力上限:
/dd setmax 玩家名 0
如何创建自定义难度?
- 在配置文件中复制一个现有难度配置(如“Hard”)。
- 将其重命名(避免使用空格,可用下划线),并修改任意参数。
- 保存并重载插件配置即可。
PlaceholderAPI 占位符有哪些?
1.6+ 版本占位符:
%dd_user_difficulty%- 玩家当前难度名。%dd_user_affinity%- 玩家当前亲和力。%dd_user_next_difficulty%- 玩家的下一个难度。%dd_user_progress%- 到下一个难度的进度百分比。%dd_user_max_affinity%- 玩家的亲和力上限。%dd_user_min_affinity%- 玩家的亲和力下限。
支持与反馈
- 遇到问题请先查看此 FAQ。
- 如需更多帮助,或想提出新功能建议、报告错误,请加入 Discord 服务器。
- 也可在资源发布页面提交错误报告。
配置与本地化
插件的高度可定制性体现在配置文件中。你可以
- 调整每个难度的具体参数(怪物伤害、掉落率、经验倍率、是否允许PVP、是否保留物品栏等)。
- 创建全新的难度等级。
- 通过
lang.yml文件自定义所有命令和消息的文本。 - 详细配置说明请参考 GitHub 页面 或相关教程视频。
测试支持版本
版本分布
基本信息
插件名称
Dynamic Difficulty
作者
SkinnyJeans
平台
Bukkit / Spigot
支持版本
1.21 - 1.21
点赞数
14
Modrinth 下载
48,650
最近版本
1.9
25
1.8
7
1.6
1
1.2
1