前言
本模组为我的世界添加了全新的战斗方式与模型动作,同时也拥有极强的兼容性,其他带有相同词典的模组武器也能自动安排上相应的武器类型动作,当然对于一个喜欢自己动手魔改的玩家来说自动兼容绝对不是最佳的选择,本教程的存在是给那些刚入门的小白和嫌麻烦懒得翻维基百科的人看的,教程有看不懂地方大家可以在评论区问我,如果有错误或者疏漏的地方大家也可以大方指出。
第一步:创建数据包
首先我们需要先下载开放式加载,并启动一次游戏。
后依次打开“config->openloade->data”文件夹并在里面创建一个名字任意(英文)的文件夹
然后在刚刚新建的文件夹内再新建一个文件夹,命名为 “data”
接着再新建一个命名为 “pack.mcmeta”的文件,并用记事本打开写下以下内容
{
"pack": {
"pack_format": 8,
"description": "任意填写"
}
}
我们接着再打开刚刚创建的“data”文件夹中(是自己创建的那个)再创建一个文件夹,这个文件夹的命名为你需要修改的模组ID(模组ID可以通过在游戏中按下F3+H打开高级提示框进行查看),这里我以 我的世界:地下城武器 做例子,将其命名为“mcdw”,打开在里面再创建一个名为“weapon_attributes”的文件夹(相信我这是最后一个要创建的文件夹了)
经历了一连串的创建文件夹最终我们的文件路径应该是这样的
第二步:编写数据包
首先我们要找到我们想要修改的武器的物品ID(物品ID可以在游戏中按下F3+H打开高级提示框进行查看),并以该物品ID创建一个JSON文件
这里我以“ 我的世界:地下城武器 中 "冰霜杀手”做一个例子,创建一个名为"sword_frost_slayer.json"的文件
你可以直接使用模组里自带的预设内容,json里面输入
{
"parent": "bettercombat:claymore"
}//其中“bettercombat:claymore”也可以换成其他你想要的武器类型 官方预设的提供有以下这些他们分别是
bettercombat:anchor 船锚
bettercombat:axe 斧子bettercombat:battlestaff 战斗之杖
bettercombat:claw 爪
bettercombat:claymore 阔剑bettercombat:coral_blade 珊瑚之刃
bettercombat:cutlass 弯刀
bettercombat:dagger 匕首
bettercombat:double_axe 双刃斧
bettercombat:fist 护腕
bettercombat:glaive 长柄刀
bettercombat:halberd 戟
bettercombat:hammer 锤子
bettercombat:heavy_axe 重斧
bettercombat:katana 武士刀
bettercombat:mace 钉锤
bettercombat:pickaxe 镐子
bettercombat:rapier 西洋剑
bettercombat:scythe 巨镰
bettercombat:sickle 镰刀
bettercombat:soul_knife 灵魂匕首
bettercombat:spear 长矛
bettercombat:staff 手杖
bettercombat:sword 剑
bettercombat:trident 三叉戟
bettercombat:twin_blade 双刃剑bettercombat:wand 棍
当然我想你看这篇教程绝对不是为了想用官方的预设配置,你也可以自己创建一个属于你自己的武器配置,下面是一篇预设的内容讲解,此时你可以随便打开一篇预设(点击上方各类型武器的链接或右键模组以压缩文件形式打开并依次进入以下文件夹data\bettercombat\weapon_attributes)来对比查看每一个词条的用法
{
//属性
"attributes": {
"attack_range": 3.5, //攻击距离: 以方块为单位 3.5就是3格半的攻击距离
"pose": "bettercombat:pose_two_handed_sword", //站立动画:站立时的动作姿势,下方有图片预览
"category": "anchor", //物品词典:用于统一武器的类型一般与下方"攻击条件"配合使用,不是必填内容通常情况下可无视。
"two_handed": false, //双持:是否需要双手使用武器 如果这里为"true"你将不能使用副手的武器或盾牌,如果为"false"你可以配合其他武器进行双持攻击。
//攻击——你可以自行设定这个武器拥有多少段攻击为一个组合,每一个小括号为一段攻击
"attacks": [
{
"conditions": ["DUAL_WIELDING_SAME","MAIN_HAND_ONLY"], //触发条件:只有满足这个条件时才会触发此段攻击,一般使用于双持触发特殊攻击,其中可填
"NOT_DUAL_WIELDING"(仅在单持时)
"DUAL_WIELDING_ANY"(双持任意武器)
"DUAL_WIELDING_SAME"(双持一样的武器)
"DUAL_WIELDING_SAME_CATEGORY"(双持相同词典的武器)
"MAIN_HAND_ONLY"(只在主手时)
"OFF_HAND_ONLY"(只在副手时)
"hitbox": "HORIZONTAL_PLANE", //攻击的手段:此段攻击的类型分别有 (红框为攻击范围的碰撞箱)
"HORIZONTAL_PLANE"(横扫) "VERTICAL_PLANE" (竖劈) "FORWARD_BOX"(前刺)
"damage_multiplier": 0.8, //伤害倍数:此段攻击造成的伤害 为(武器的面板伤害X该数值)
"angle": 120, //判定角度:此段攻击的横向范围,以史蒂夫为中心面向的方向画圆,填入360就是无死角的aoe伤害。
"upswing": 0.5, //造成伤害的时间判定:当攻击动画播放到多少时会造成伤害,也可以理解为前摇。0.5就是当该攻击动画播放到一半的时候就会判定前方的单位受到伤害。
"animation": "bettercombat:two_handed_slash_vertical_left", //攻击动画:攻击时的动作姿势,下方有全动作预览
"swing_sound": {
"id": "bettercombat:katana_slash", //攻击音效:此段攻击播放的音效,可以自行解包查看。鼠标右键模组文件以压缩文件的方式打开模组依次打开以下文件夹 assets\bettercombat\sounds
"pitch": "0.5", //攻击音效的音调:数值越高播放的声音听起来就越轻反之就越重,选填项目"randomness": 0.1 //随机的音效声调:攻击音效的音调根据该数值随机上下浮动,设置为0.1则音调可能为0.9或者1.1。与"pitch"只用选其一
}
},
{}, //以下的空格处都可以用上面的项目自行填入来为你的预设制作一个完美的攻击组合
{},
{}
]
}
}完成自己的预设之后检查一下格式是否正确后重启游戏,这时你写的预设就会生效了。
以下是一个拥有不同四段攻击的阔剑完整预设预览 攻击组合分别是 右扫 竖劈 前刺 旋转
{
"attributes": {
"attack_range": 2.75,
"two_handed": true,
"pose": "bettercombat:pose_two_handed_katana",
"attacks": [
{
"hitbox": "HORIZONTAL_PLANE",
"damage_multiplier": 0.75,
"angle": 150,
"upswing": 0.5,
"animation": "bettercombat:two_handed_slash_horizontal_right",
"swing_sound": {
"id": "bettercombat:claymore_swing"
}
},
{
"hitbox": "VERTICAL_PLANE",
"damage_multiplier": 0.75,
"angle": 150,
"upswing": 0.5,
"animation": "bettercombat:two_handed_slam",
"swing_sound": {
"id": "bettercombat:claymore_swing"
}
},
{
"hitbox": "FORWARD_BOX",
"damage_multiplier": 1,
"angle": 0,
"upswing": 0.5,
"animation": "bettercombat:two_handed_stab_left",
"swing_sound": {
"id": "bettercombat:claymore_stab"
}
},
{
"hitbox": "HORIZONTAL_PLANE",
"damage_multiplier": 1.5,
"angle": 360,
"upswing": 0.5,
"animation": "bettercombat:two_handed_spin",
"swing_sound": {
"id": "bettercombat:claymore_swing",
"randomness": 0
}
}
]
}
}
动画预览
站立动画
"pose_two_handed_sword"(双手持剑) | "pose_two_handed_katana"(双手持武士刀) | "pose_two_handed_polearm"(双手持长柄武器) | "pose_two_handed_scythe"(双手持重镰) | "pose_two_handed_heavy"(双手持重武器) | "pose_one_handed_backwards"(反手抓握武器) |
攻击动画
"one_handed_slash_horizontal_left"(单手左横扫) "one_handed_slash_horizontal_right"(单手右横扫) | "one_handed_stab"(单手前刺) | "one_handed_slam"(单手锤打) | "one_handed_punch"(单手拳击) |
"two_handed_slash_horizontal_left"(双手左横扫) "two_handed_slash_horizontal_right"(双手右横扫) | "two_handed_slash_vertical_left"(双手左竖劈) "two_handed_slash_vertical_right"(双手右竖劈) | "two_handed_stab_left"(双手左前刺) "two_handed_stab_right"(双手右前刺) | "two_handed_spin"(双手旋转) |
"two_handed_slam"(双手锤打) | "two_handed_slam_heavy"(双手重锤打击) | "dual_handed_stab"(双持前刺) | "dual_handed_slash_cross"(双持正手交叉斩) "dual_handed_slash_uncross"(双持反手交叉斩) |
"one_handed_slash_switch_blade_left"(单手转剑左) "one_handed_slash_switch_blade_right"(单手转剑右) | "one_handed_uppercut_right"(上勾拳) | "one_handed_swipe_horizontal_right"(爪击,类似于单手横扫但是不会改变武器的方向) |