
技巧问题
动态升级、玩家属性等。高度可配置。
查看大图技能问题

动态升级、玩家属性等更多内容。高度可配置。
目录
概览
技能问题为玩家提供了在 Minecraft 中达到高经验等级的手段。也就是说,当玩家首次达到某些等级时,他们的属性会变得更好。为了避免混淆,本模组将此类等级称为里程碑。但是等等,你可能会问什么是属性?我们稍后会讲到,事实上本模组提供了不少功能,因此每一类功能都会在其各自的章节中详细说明。
里程碑
如前所述,里程碑是玩家首次达到的经验等级。一旦玩家达到了某个里程碑,即使玩家失去了等级(例如通过附魔),其收益也不会丢失。唯一的例外是玩家死亡,这会将里程碑等级回退到其先前值的可配置百分比(默认为 80%)。
属性
属性是原版功能,允许增强/削弱实体的属性。随着里程碑等级的提升,玩家的属性会变得更好。本模组提供了一个 json 配置文件,允许定义哪些属性应随里程碑等级增长以及增长的范围。可以定义低于原版默认值的属性范围。以下是默认属性配置的概览:
key |
bonus |
min_factor |
max_factor |
|---|---|---|---|
generic.max_health |
0 |
0.8 |
2 |
generic.armor_toughness |
3 |
0 |
1 |
generic.knockback_resistance |
0.25 |
0 |
1 |
generic.movement_speed |
0 |
0.95 |
1.15 |
generic.attack_damage |
0 |
0.9 |
1.25 |
generic.attack_speed |
0 |
0.9 |
1.25 |
generic.attack_knockback |
0.25 |
0 |
1 |
在默认配置下,玩家初始时某些属性会低于原版。例如,玩家至少需要达到里程碑等级 35 才能拥有原版的移动速度,达到里程碑等级 40 才能拥有原版的攻击伤害和攻击速度。
配置的根节点必须是一个包含单一字段 attributes 的对象,该字段是一个属性对象数组。以下是属性对象各字段的简要说明:
| 字段 | 描述 |
|---|---|
key |
在 Minecraft wiki 的属性章节中定义的属性名称(适用于生物实体或玩家)。支持来自其他模组的属性,只需在前面加上模组 id,例如 <modid>:<key>(默认 modid 为 minecraft)。 |
bonus |
该值会加到属性的默认基础值上,在其乘以系数之前,无论玩家的里程碑等级如何。 |
min_factor |
当玩家处于里程碑等级 0 时,应用于属性默认基础值(在加上 bonus 之后)的系数。 |
max_factor |
当玩家达到最大里程碑等级(默认为 140)时,应用于属性默认基础值(在加上 bonus 之后)的系数。 |
奖励
奖励提供了一种灵活的方式来扩展里程碑系统,通过提供在玩家达到特定里程碑等级后为其运行 Minecraft 命令的可能性。附加属性有助于指定命令应在何种确切情况下执行,因为命令的效果可能有各种结果。
默认配置定义了在升级时向玩家显示的标题。
配置的根节点必须是一个包含单一字段 milestones 的对象,该字段是一个里程碑对象数组。以下是里程碑对象各字段的简要说明:
| 字段 | 描述 | 默认值 |
|---|---|---|
level |
执行命令所需达到的里程碑等级。 | 0 |
level_step |
如果 level_range 大于 0,则决定为等级创建里程碑的间隔。 |
1 |
level_range |
将为 level(含)到 level + level_range(不含)之间的等级定义里程碑。 |
1 |
level_inject |
一个令牌,在命令字面量中会被替换为里程碑等级(如果为空则无效)。 | "" |
on_level_up |
决定当玩家升级时是否应执行命令。 | true |
on_respawn |
决定当玩家死亡后重生时是否应(再次)执行命令。 | false |
on_login |
决定当玩家登录世界时是否应(再次)执行命令。 | false |
is_volatile |
决定当玩家高于里程碑等级时是否应(再次)执行命令(仅在重生时和/或登录时)。 | false |
commands |
Minecraft 命令字面量的列表。这些命令将始终按给定顺序执行。 | [] |
可以为同一等级定义多个里程碑(或让它们重叠)。它们的命令将按照配置文件中里程碑定义的升序执行。
惩罚
惩罚与奖励类似,它们都允许定义在特定情况下应执行的命令。确切地说,惩罚在玩家死亡重生后执行一次,针对玩家已丢失的里程碑等级。此功能旨在提供一种选项来移除由奖励命令施加的持久性效果,但也可能有其他用途。
本模组默认不定义任何惩罚。
配置的根节点必须是一个包含单一字段 milestones 的对象,该字段是一个里程碑对象数组。以下是里程碑对象各字段的简要说明:
| 字段 | 描述 | 默认值 |
|---|---|---|
level |
执行命令所需丢失的里程碑等级。 | 0 |
level_step |
如果 level_range 大于 0,则决定为等级创建里程碑的间隔。 |
1 |
level_range |
将为 level(含)到 level + level_range(不含)之间的等级定义里程碑。 |
1 |
level_inject |
一个令牌,在命令字面量中会被替换为里程碑等级(如果为空则无效)。 | "" |
commands |
Minecraft 命令字面量的列表。这些命令将始终按给定顺序执行。 | [] |
尽管惩罚与奖励类型相同,但上表中未提及的任何设置在设置后都不会产生效果。
区块经验
本模组的另一个方面是一个平衡功能,它限制了玩家在短时间内于某一区域内可获取的经验量。玩家拾取的经验会在玩家周围的 3x3 区块区域内累积,直至达到最大值。一个区块中累积的经验越多,玩家在该区块中拾取经验球时获得的经验就越少(默认最低降至 20%)。区块会从累积的经验中缓慢恢复。
在默认设置下,玩家可以拾取大约 2400 点经验(从 0 级起约 37 级),之后区块经验池才会达到阈值。这样一个区块需要 40 分钟才能完全恢复。不过实际上会更有动态性一些,因为区块一直在从累积的经验中恢复。此功能可以通过将
chunk_xp_scale设置为0来完全禁用。
方块
技能压力板

顾名思义,技能压力板是一种只能由玩家激活的压力板。输出信号的强度取决于站在其上的玩家的里程碑等级。具体来说,里程碑等级 0 的玩家信号强度为 1,达到最大里程碑等级(默认为 140)的玩家信号强度为 15。
在默认设置下,信号强度每 10 级增加 1(即等级 10、20、...、140)。
经验传感器

经验传感器是一种测量区块中可用经验的方块。如果该区域最近没有拾取过经验(即区块没有累积经验),则发出强度为 15 的红石信号;如果区块已达到其阈值,则发出强度为 0 的信号。
配置
如前所述,本模组为大多数功能提供了默认行为。许多方面都可以更改。存在以下配置文件:
| 路径 | 描述 |
|---|---|
<MINECRAFT_FOLDER>/config/skillissue-common.toml |
通用模组配置。 |
<MINECRAFT_FOLDER>/config/skillissue/attributes.json |
里程碑属性定义。 |
<MINECRAFT_FOLDER>/config/skillissue/rewards.json |
里程碑奖励定义。 |
<MINECRAFT_FOLDER>/config/skillissue/penalties.json |
里程碑惩罚定义。 |
要将任何配置恢复为默认值,只需删除相应的配置文件即可。
命令
| 命令 | 描述 | 权限等级 |
|---|---|---|
skillissue level get <target> |
获取玩家的里程碑等级。 | 1 |
skillissue level set <targets> <value> |
设置玩家的里程碑等级(应用升级奖励)。 | 2 |
skillissue chunkxp get <position> |
获取指定位置区块中累积的经验。 | 1 |
skillissue chunkxp set <position> <value> |
将指定位置区块的累积经验设置为给定值。 | 2 |
更多想法
- 一个具有不同属性集、奖励和惩罚的职业系统。
- 切换到数据包格式来定义属性、奖励和惩罚?让我知道你更喜欢哪种。
使用场景
本模组本身带有一个相当微妙的默认配置,旨在适合不同的模组整合包。但由于其高度可配置的特性,可以实现许多可能性。以下是一些随机的想法:
- 逐步解锁其他模组的技能和功能(例如 Epic Fight 或 ParCool)。
- 冒险地图格式,在升级时奖励玩家更好的盔甲、工具等。
- 根据玩家等级解锁配方和物品。
- 创建一份随等级提升而扩展的指南(例如使用标题和/或发放成书)。
- 使用记分板添加等级显示,或在等级提升时奖励玩家其他 UI 功能。
- 超级硬核模式,属性起始系数极低,最高等级为 1000。
正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。