
战斗编辑
一个服务端fabric模组,将1.8风格的战斗带回现代版本的Minecraft。
CombatEdit
一个服务端 Fabric 模组,将 1.8 风格的战斗带回现代版本的 Minecraft!此外还可以配置所有实体和物品的默认属性以及默认物品组件。
环境要求
本模组不需要在客户端安装,也不需要 Fabric API(必要的 Fabric API 模块已打包在模组中),但若要使用 GUI 配置属性,则需要安装 Mod Menu 才能打开配置界面。
功能特性
本模组的默认设置带回 1.8 风格战斗。此外(自版本 2.1 起),可通过选项界面或配置文件(参见 配置)配置以下选项:
- 生物实体的默认实体属性(最大生命值、攻击伤害、攻击速度、移动速度等)
- 所有物品类型的默认物品属性修饰符(额外攻击伤害、攻击速度等)
- 所有物品类型的默认物品组件(耐久度、不可破坏、附魔等)
- 启用或禁用哪些攻击音效
- 是否启用 1.8 风格的击退
请注意,虽然在游戏中修改物品和实体默认值是可行的,并且我已尽力使其尽可能无缝工作,但仍有可能导致意想不到的行为和(可能较小的)错误。
配置
CombatEdit 使用不同的理念进行自我配置:
设置文件
这是玩家配置模组的主要方式。设置文件中的配置优先于基础配置文件和配置文件扩展的配置,并且设置文件决定使用哪个基础配置文件。对于用户来说,配置设置的主要方式是使用 Mods 列表中通过 ModMenu 访问的 GUI 界面(选择 CombatEdit 后点击齿轮按钮)。设置文件保存在 config/combatedit/settings.json 中,相对于 minecraft/服务器 目录。
要在服务器上配置这些选项,您可以在客户端使用配置界面创建并保存配置,然后将配置文件(位于 config/combatedit/settings.json)上传到服务器目录内的相同目录。
基础配置文件
基础配置文件决定了实体和物品属性的主要配置。CombatEdit 包含两个基础配置文件:
- 1.8 战斗配置文件(
combatedit:1_8_combat),默认启用,将实体和物品属性值设置为接近现代版本的 1.8 战斗(使用与基岩版相同的伤害值) - 原版配置文件(
combatedit:vanilla),保持默认的实体和物品属性不变。
数据包创作者可以提供自己的基础配置文件(参见 数据包)来创建不同的基础配置。
配置文件扩展
配置文件扩展允许调整基础配置文件的配置(例如添加额外的物品修饰符或覆盖基础配置文件中设置的其他修饰符)。它们面向模组开发者,希望为基础配置文件提供不同的物品或实体设置(例如为 1.8 战斗配置文件的自定义物品更改伤害值,以弥补缺乏攻击冷却作为平衡措施)。有关更多信息,请参见 模组开发者。
数据包
基础配置文件和配置文件扩展都可以包含在数据包中。以下目录树描述了基础配置文件和配置文件扩展文件的放置位置。
data:数据包中的数据目录<你的命名空间>:您的自定义数据包命名空间combatedit:所有与 CombatEdit 相关的数据包文件都存放在此profile_extensions:包含配置文件扩展。<配置文件命名空间><配置文件名称>:包含.json配置文件扩展文件,扩展基础配置文件<配置文件命名空间>:<配置文件名称>
base_profiles:包含基础配置文件.json文件。在此创建的名为<你的配置文件>.json的文件将创建一个 ID 为<你的命名空间>:<你的配置文件>的基础配置文件。
模组开发者
模组开发者可以像数据包创作者一样,通过将 JSON 格式的基础配置文件放置在自己的 data 资源目录中,使用与上述数据包相同的目录结构。此外,还可以以编程方式提供配置文件扩展:只需创建一个实现
CombatEditInitListener 接口 的类,并在您的 fabric.mod.json 中指定该实现为名为 combatedit 的新入口点。
JSON 格式规范
本节说明了各种配置类型的 JSON 格式。可以在 examples 目录中找到基础配置文件和配置文件扩展创建的示例数据包。
基础配置文件
JSON 格式的基础配置文件是一个包含以下键的 JSON 对象:
name:基础配置文件的显示名称。可以是文本组件或简单字符串。description:基础配置文件的描述。可以是文本组件或简单字符串。configuration:此基础配置文件的功能配置。参见 功能配置。
配置文件扩展
JSON 格式的配置文件扩展是一个包含以下键的 JSON 对象:
priority:指定此配置文件扩展优先级的整数。优先级值越大,当覆盖项与其他配置文件扩展冲突时,此配置文件扩展优先。configuration_overrides:指定此扩展所做覆盖的功能配置。参见 功能配置。
功能配置
功能配置格式在基础配置文件、配置文件扩展和设置文件之间通用。它具有以下键:
configuration_version:指定功能配置版本的整数,如果格式发生破坏性更改,此版本号可能会改变。当前配置版本为3。entity_attributes:指定实体类型默认属性的实体属性对象数组。item_attributes:指定物品默认属性修饰符的物品属性对象数组。item_components:指定物品默认组件的物品组件对象数组。enabled_sounds:声音 ID 到布尔值的映射,指定这些声音是否启用。目前,可配置以下声音:minecraft:entity.player.attack.nodamageminecraft:entity.player.attack.knockbackminecraft:entity.player.attack.weakminecraft:entity.player.attack.strongminecraft:entity.player.attack.sweepminecraft:entity.player.attack.crit
misc_options:配置杂项选项的对象。
实体属性
实体属性条目具有以下结构:
entity_id:要修改的实体类型的标识符base_values:属性基础值对象数组,具有以下键:attribute:要更改值的属性标识符base_value:为指定属性使用的基础值
override_default:布尔选项。如果设置为true,则先移除实体的默认属性,再应用此实体属性条目中指定的更改
物品属性
物品属性条目具有以下结构:
item_id:要修改的物品的标识符modifiers:属性修饰符对象数组,具有以下结构:attribute:要添加修饰符的属性modifier_id:属性修饰符的唯一标识符。可选,如果未指定,则使用随机标识符value:修饰符的值operation:修饰符的操作类型。可以是以下之一:"add_value":将此修饰符的值添加到实体的该属性基础值"add_multiplied_base":将属性的基础值乘以指定值,并将结果添加到总属性值"add_multiplied_total":将基础值和所有"add_multiplied_base"类型修饰符的总和乘以指定值,并将结果添加到总属性值
slot:物品必须处于的槽位修饰符才会生效。可以是以下之一:"any":在所有槽位生效"mainhand":当物品在主手手持时生效"offhand":当物品在副手手持时生效"hand":当物品在任何手持槽位生效"feet":当物品装备在靴子槽位时生效"legs":当物品装备在护腿槽位时生效"chest":当物品装备在胸甲槽位时生效"head":当物品装备在头盔槽位时生效"armor":当物品装备在任何盔甲槽位时生效(玩家或动物)"body":当物品装备在动物身上时生效"saddle":当物品装备在马匹的鞍槽位时生效
override_default:布尔选项。如果设置为true,则先移除物品的默认属性修饰符,再应用此条目指定的更改
物品组件
物品组件条目具有以下结构:
item_id:要修改组件的物品的标识符changes:要进行的组件更改数组,具有以下结构:component_type:要更改值的组件类型的标识符change_type:此条目要进行的更改,可以是:"set"如果要为此组件类型设置新值"remove"如果要将此组件的默认值从物品中完全移除
value:为此组件设置的值。如果组件类型没有值或更改类型为"remove",则为可选
杂项选项
enable_1_8_knockback:布尔值,指定是否启用 1.8 击退而不是现代 Minecraft 版本中的默认击退。disable_sweeping_without_enchantment:布尔值,指定如果使用的物品没有横扫附魔,是否禁用横扫效果。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。