职业强化

极其轻量级的职业模组,配置超级灵活!

职业强化

职业强化 引入了一个极其灵活、配置驱动的职业系统。它允许你实现带有深度模组支持的自定义职业,并附带大量其他功能!


特性

- 流畅的图形界面 -

一个干净、响应式的职业选择界面。

职业选择界面展示


- 职业如何运作?-

模组包开发者可以分配:

  • 起始物品
  • 属性(增益与减益)
  • 命令(用于 Pehkui 等模组)
  • 文本颜色代码(例如:&6这将显示为橙色文本&r - &a这将显示为绿色&r)

!- 配置 -!

此模组中几乎所有内容都是可自定义的,允许模组包开发者做任何他们想做的事情!

自定义职业教程:

  1. 找到配置文件。 | class_enhancement.toml
  2. 找到 [custom_classes] 部分。
  3. 进行配置! 这里我们可以使用 100 个预置的自定义职业,只需按我们的喜好进行自定义! (别忘了设置自定义职业上限)

示例:

[custom_classes.custom_0]
#唯一内部ID。留空以禁用。| 需要分配,否则职业基本被禁用。
id = ""
#在GUI中显示的显示名称。
name = "新职业"
#在面板中显示的描述文本。
description = "一条自定义路径。"
#装饰性的属性摘要行。
stats = ["&a+20% 速度", "&c-2 生命值"]
#机制性的修饰器。
attributes = []
#主手物品。
main_hand = ""
#副手物品。
off_hand = ""
#护甲物品。
armor = []
#起始物品。
items = []
#选择此职业时执行的命令。使用 %player% 代表玩家名称。
commands = []

这里有一个关于命令如何工作的快速教程:

如何分配命令

命令语法规则

正确做法:

  • 编写命令时 不要 添加 / 前缀
  • 使用 %player% 占位符代表玩家名称
  • 先手动测试命令(聊天框中带 /)
  • 对复杂设置使用多个命令

错误做法:

  • 在命令开头包含 /
  • 硬编码玩家名称
  • 忘记先手动测试命令
  • 使用仅客户端侧的命令

快速示例

基本尺寸修改 (Pehkui)

[classes.tank]
commands = ["scale set %player% 1.5"]

多个命令

[classes.warrior]
commands = [
    "effect give %player% minecraft:strength infinite 0 true",
    "attribute %player% minecraft:generic.attack_damage base set 3.0"
]

复杂设置

[custom_classes.custom_0]
id = "assassin"
commands = [
    "scale set %player% 0.75",
    "effect give %player% minecraft:speed infinite 1 true",
    "attribute %player% minecraft:generic.movement_speed base set 0.12"
]

尺寸模组 (Pehkui, Chiseled Me 等)

# 变大
commands = ["scale set %player% 2.0"]

# 变小
commands = ["scale set %player% 0.5"]

永久效果

# 无粒子效果(末尾为 true)
commands = ["effect give %player% minecraft:night_vision infinite 0 true"]

# 有粒子效果(末尾为 false)
commands = ["effect give %player% minecraft:speed infinite 1 false"]

属性

# 设置基础值
commands = ["attribute %player% minecraft:generic.max_health base set 30.0"]

# 台阶高度(攀爬方块)
commands = ["attribute %player% minecraft:generic.step_height base set 1.5"]

# 击退抗性
commands = ["attribute %player% minecraft:generic.knockback_resistance base set 0.5"]

传送

# 传送 + 设置重生点
commands = [
    "tp %player% 100 64 200",
    "spawnpoint %player% 100 64 200"
]

队伍

# 加入队伍
commands = ["team join meowmeow %player%"]

物品

# 给予物品
commands = [
    "give %player% minecraft:diamond_sword 1",
    "give %player% minecraft:golden_apple 5"
]

标题

# 显示标题
commands = [
    "title %player% title {\"text\":\"WARRIOR\",\"color\":\"gold\",\"bold\":true}",
    "title %player% subtitle {\"text\":\"Strength and Honor\",\"color\":\"yellow\"}"
]

顺序:命令按顺序执行

commands = [
    "tp %player% 0 100 0",      # 先传送
    "scale set %player% 2.0"     # 然后改变尺寸
]

实用命令参考

原版 Minecraft

  • effect give %player% <效果> <持续时间> <强度> <隐藏粒子>
  • attribute %player% <属性> base set <值>
  • tp %player% <x> <y> <z>
  • spawnpoint %player% <x> <y> <z>
  • give %player% <物品> <数量>
  • title %player% title <json>
  • playsound <音效> master %player% ~ ~ ~ <音量> <音调>

常见属性

  • minecraft:generic.max_health - 生命值 (默认: 20.0)
  • minecraft:generic.movement_speed - 速度 (默认: 0.1)
  • minecraft:generic.attack_damage - 伤害 (默认: 1.0)
  • minecraft:generic.knockback_resistance - 抗性 (0.0-1.0)
  • minecraft:generic.step_height - 攀爬高度 (默认: 0.6)

热门模组

  • Pehkui:scale set %player% <值>
  • Origins:origin set %player% <起源>
  • Vampirism:vampirism level %player% <等级>(这个命令我不太记得了)
  • (检查模组文档以获取准确命令)

记住!! 配置中不要使用 / 前缀

这里有一个关于此模组语言文件的快速教程:

如何翻译自定义职业

选项 1:简单方法(不需要语言文件)

在你的 CommonConfig.toml 中:

[custom_classes.custom_0]
id = "pyromancer"
name = "Pyromancer"
description = "Master of the flame."

选项 2:多语言方法(使用翻译键)

步骤 1:在你的 CommonConfig.toml 中: 如你所见,你在配置项中输入自定义职业标题,然后可以像这样翻译它:

[custom_classes.custom_0]
id = "pyromancer"
name = "class.myserver.pyro.name"
description = "class.myserver.pyro.desc"

步骤 2:在你的 en_us.json 中: 将那些确切的键添加到你的语言文件中。

{
  "class.myserver.pyro.name": "Pyromancer",
  "class.myserver.pyro.desc": "Master of the flame."
}

步骤 3:在你的 es_es.json(西班牙语)中:

{
  "class.myserver.pyro.name": "Piromántico",
  "class.myserver.pyro.desc": "Maestro de la llama."
}

总结 只需将名称和描述直接输入到 CommonConfig.toml 中。模组将准确显示你输入的内容。

对于多种语言: 在配置中放入一个 custom.key,然后将实际文本放入你的 .json 语言文件中。


- 交叉兼容 -

本模组可以与 Difficulty Enhancement 模组配合使用!

此模组提供了与 Difficulty Enhancement 模组 的交叉兼容性。两个模组可以完美地一起工作,我甚至建议你将它们一起使用!

你可以自由地在你的模组包中使用此模组。