新版本(对应原版1.16的后期版本及1.18以后的所有版本)的史诗战斗(EpicFight)mod需要以数据包的形式添加装备适配。

1、适用场合

史诗战斗本身有自适配功能,如果能识别到武器及防具会自动为其添加史诗战斗专属的装备属性(防具的重量和击晕抗性,武器的穿甲,冲击,攻击目标上限等),一般来说剑斧镐锄锹弓盾都能被识别到。然而MrCrayfish 的家具中的烹饪铲也会被识别为剑,但是又不是但凡有攻击速度的物品都能被识别,令人迷惑。

通过编辑数据包使新版本史诗战斗(EpicFight)mod适配其他mod装备的教程,及其他-第1张图片

如果未能识别到或者对自动生成的属性不满可以通过下文提及的方法进行修改。

2、数据包结构

整个数据包带有三种文件:位于根目录的pack.mcmeta文件,位于/data/模组名/weapons目录下的以武器名称命名的json文件以及位于/data/模组名/armors目录下的以防具名称命名的json文件。

这里附上一张结构图供参考:

通过编辑数据包使新版本史诗战斗(EpicFight)mod适配其他mod装备的教程,及其他-第2张图片

3、pack.mcmeta

本文件用于定义数据包,位于数据包根目录,若格式错误,会导致数据包无法被游戏识别。

此处复制作者GitHub的例子:

{

    "pack":{

         "pack_format":6,

         "description":"A short description on your pack"
    }
}

其中"pack_format":后接的数字按照下表填写。


版本
1.16.2–1.16.56
1.17.X7
1.18.29

 "description":后的内容是对数据包内容的简述,可自行编辑。


3.防具编辑

用压缩软件打开mod文件,找到原版防具的配置文件,抄就完事,反正只有两个参数。

以下是范例(原版铁甲):

{

    "attributes": {

         "stun_armor":3.0,

         "weight":18
    }
}


各项属性的内容:

stun_armor:击晕抗性

weight:重量

3.武器编辑

用压缩软件打开mod文件,找到原版武器的配置文件,抄就完事,参数太多看教程不如自己抄。

以下是范例(以原版木剑为例):

{

    "attributes":

    {

        "common":

        {

            "impact":0.5,

            "max_strikes":1

        }

    },

"hit_particle":"blunt",

"hit_sound":"entity.hit.blunt",

"type":"sword"

}

可见是可以自定义粒子效果和打击音效的,但是一般不需要刻意修改"hit_particle"和"hit_sound"两行可以删掉。

"attributes"之后的大括号内都是武器的具体参数,但是可见这个大括号内现在有"common"这一项,后接的是另一个大括号,这是因为有的武器有多种模式(比如枪),而剑类武器只有常规模式,也就是"common"。

armor_negation:穿甲能力(百分比)

impact:冲击力(基础冲击力为0.5,在此处填写的冲击力加0.5才是游戏内看到的冲击力数据)

max_strikes:攻击目标上限 (基础目标数量为1,在此处填写的数据加1才是游戏内数据)

damage_bonus: 伤害加成

speed_bonus: 速度加成

这里需要注意一点,就是千万不要忘记用逗号(,)分隔不同的属性,比如向上文的木剑添加10%穿甲能力时格式应为:

        {

            "impact":0.5,

            "max_strikes":1,

            "armor_negation":10

        }

可见"max_strikes":1后添加了一个逗号,若不添加会导致文件格式错误无法被识别。

"type"一项的内容决定武器类型,如果未被识别为武器的物品会被视为徒手(攻击使用拳击动作,没有战技,但是攻速和伤害会生效)

以下是全武器类型列表:



配置文件内写法武器类型武器种类模式1模式2
fist双持common
sword单手/双持common
axe单手common
pickaxe单手common
shovel单手common
hoe单手common
bow双手common
crossbow双手common
fist双持common
trident三叉戟单手common
spear单手/双手one-handtwo-hand
longsword长剑双手two-handliechtenauer
greatsword巨剑双手common
dagger匕首单手/双持common
tachi太刀双手common
katana打刀双手common
shield双持*common




4.关于武器类型的一些小补充

1.将物品设置为某一武器类型只能使其获得该类型武器的攻击动作,盾牌的格挡和三叉戟的投掷属于盾牌和三叉戟自己的能力,无法通过修改配置文件获得。

2.盾牌虽然在作者的分类里算作双持武器,但是实际上应该属于一个独立类型,盾牌使用的特性包括:

    2.1.装备于副手时让主手的单/双手双模式武器(目前只有长枪)切换为单手模式。

    2.2.装备于副手且主手为单手武器或拳类武器时,右键会优先使用副手效果(普通盾牌的话就是格挡)而不是主手武器的格挡

        2.2.1也就是说如果一个有盾牌效果的物品没有被适配,那么即是它被装备到副手,也会优先使用武器格挡。

        2.2.2如果某个物品的右键效果不是举盾防御,但是被定义为盾的话,也能正常使用,比如说将暮色森林的链锤定义为盾的话那么拿在副手右键就能把链球甩出去。

    2.3.盾牌攻击时使用拳击动作,而且伤害和攻速能生效(但是原版盾没有这两个属性,所以就是空手伤害)。

    2.4.当主手为双手武器时,盾牌(以及其他不匹配的双持武器)会被隐藏且无法发挥任何作用。

3.三叉戟没有战技但是攻击动作是枪的单手动作(无论副手有无物品)。

4.除了斧以外的工具都没有战技,弓弩也没有。

5.拳类武器攻击时会主副手交替攻击

    5.1如果副手装备的是未识别的物品,盾牌或其他拳类武器,那么其攻击力会被计算(主副手攻击力独立计算)。

    5.2拳类武器没有单纯的“单手”动作。

6.弓弩近战使用的也是拳类动作。

7.弓弩一般会被自动识别,但自动识别的弓没有冲击力属性,而本mod有给原版弓附加该属性。

8.上表中长剑的"liechtenauer"模式是指战技生效之后的模式,本mod内的长剑的属性不会随切换模式变化但是实际上是可以自定义的。

9.双持武器(包括拳击)时,速度只会被主手武器影响,但是攻击力独立计算。

10.骑马时巨剑和拳不能攻击,包括弓弩盾的近战也不能(远程攻击不受影响),其他武器可以攻击。

11.本mod中,除了可双持的武器外的武器都不能被装备到副手。

12.其他mod的武器特性有的会生效有的会无效,具体需要自己进行测试。