本篇教程由作者设定未经允许禁止转载。
先看效果(版本1.20.1,环境是我的整合包)
就是这样,汉化为我自己翻译,如有不准...就当是我的私货了
1:汉化部分
默认在第一次启动以后config文件夹里会生成一个armorsets的文件夹,打开会默认有5个文件,对应原版的那些套装(锁链和铁甲是一起的)
我们不要在这里面添加中文,找到该模组文件,用压缩文件打开(如7-zip)assets/spacecatasb/lang/en_us,把这个复制出来一份
这时候就需要用到我们的kubejs了(不加也行,但是就要资源包格式了,我这里不做介绍和解释,有需要的自己去看Minecraft wiki)
默认启动一次后会在config同级别的文件夹生成kubejs的文件夹,打开他 :kubejs/assets/在这个地方按照刚刚的路径再创建一遍:
kubejs/assets/spacecatasb/lang/en_us(把en_us换成你需要的语言,我这里是简体中文:zh_cn)
打开en_us会发现一堆英文
不用担心,例如
"tooltip.translation.spacecatasb.settitleprefix": "XXXX",
我们只需要先打开mc,在其上找到这段英文对应的地方,加上你自己的汉化!
但是!!!先别走!你这时候进入游戏会发现都是白色菱形(不能识别中文)
所以我们需要把中文转变成Unicode编码,让他能识别(有转换的在线网站,我这里就不提供了,可以自己去找)
例:"tooltip.translation.spacecatasb.settitleprefix": "\u5957\u88c5\u5956\u52b1\uff1a"
全部翻译好了就不用担心了!
2:添加套装
随便你复制一份armorsets文件夹内的文件先,复制出来记得改个名
打开(以金套装为例子)
在"itemKey": "XXXX",处把其内的XXXX改为你需要的套装id(F3+h看或者指令/kjs hand )(如果你有crt,可以用/ct hand)
一共四个,分别对应头盔 胸甲 护腿 靴子,改完以后在其下的
"type": "effect",
"name": "minecraft:haste",
"value": 1.0,
处更改效果,"type"对应的是药水效果
"neme"对应的是药水效果的id
"value":对应的是强度(0代表的是I级哦,例如急迫II是 value:1)
(想更改其他效果可以看看其他的例子,举一反三就行)
记得更改完在zh_cn里添加你添加的套装效果!
格式:
"tooltip.translation.spacecatasb.settitle.<你的"armorSetName": 内所设定的名称>": "XXX"
9/13更新: 如何使用Armor Set Bonuses 创建属于你的饰品
吐槽:我最近不是在摸鱼更新我的整合包,然后写到饰品的时候看到一大堆东西倍感头痛,看了眼Curios API wiki的数据包,只能用来自定义饰品和槽位数量,于是突发奇想,这个模组是兼容Curios API的,那也就是说我们可以通过此模组来定义饰品...
正文:
先搬出我的案例:环境还是我的整合包
{
"armorSetName": "\u5de5\u4e1a\u94c1\u5757",
"performanceMode": true,
"additionalSetPieces": [
{
"itemKey": "create:industrial_iron_block",
"mustBeEmpty": false
}
],
"fullSetBonuses": [
{
"type": "effect",
"name": "minecraft:slowness",
"value": 2.0,
"interactionType": "self",
"interactionDuration": 150,
"hideBonusDescription": true,
"onlyImmuneToNewEffects": false
}
],
"hideGeneratedTooltip": false,
"customTooltips": [
"\u96be\u4ee5\u627f\u53d7\u7684\u91cd\u91cf\uff01"
]
}
wiki是有关于饰品的兼容的,效果是你穿上它才能触发(additionalSetPieces)部分
itemKey替换为任意物品id即可,添加饰品的方法:(数据包同理,我用kubejs方便一点)
\<你的包名>\kubejs\data\curios\tags\items
内创建你需要添加的槽位的 <id>.json
例如戒指:ring.json,饰品槽位id请前往Curios API的其他人的教程查看
余下的教程在本教程评论区有,有需要可前往查看
注意事项,杂谈
看到很多人还是不懂,再次整合一下评论区发的教程:
"fullSetBonuses": [
{
"type": "attribute",
"name": "minecraft:generic.max_health",
"value": 4.0,
"modifierUUID": "d5a7dc88-9405-4398-b1e5-250b4c6dd218",
"description": "\u002b\u0034\u6700\u5927\u751f\u547d\u503c",
"attributeOperation": 0,
"interactionType": "self",
"interactionDuration": 300,
"hideBonusDescription": false,
"onlyImmuneToNewEffects": false
}
],
另一种增益方式:
name里可换任意属性值
partialSetBonuses,部分套装奖励启用效果,格式与fullSetBonuses相同
官方JSON文本规范:
字段名称 | 数据类型 | 是否必填 | 描述 | 默认值 |
type | 字符串 | 必填 | “要应用的奖励类型——‘effect’或‘attribute’” | |
name | 字符串 | 必填 | 效果/值的“key”请参阅此列表(原版) | |
value | 数字 | 必填 | Effect(效果):效果的等级 Attribute(属性):要增加的数量。如果是属性,这个数量可以是负数 | |
modifierUUID | 字符串 | 条件 | 如果“type”等于“attribute”,则必须定义此字段,且此字段必须只能有一个 | |
description | 字符串 | 可选 | 为效果设置自定义的工具提示描述。如果想使用自己的语言文件,这可以是一个翻译键。如果定义为空字符串,则不会将描述添加到工具提示中 | |
attributeOperation | 数字 | 可选 | 改变属性修改的方式。 0 = “增加(ADDITION)” | 0 |
interactionType | 字符串 | 可选 | "self" - 自己 "attack" - 攻击目标 "interact" - 交互对象 "immunity" - 免疫对象 "aoe" (尚未实现) | Self |
interactionDuration | 数字 | 可选 | 设置自定义持续时间(以刻为单位),在非self交互类型时使用 | 300 |
hideBonusDescription | 布尔 | 可选 | 从提示工具中隐藏此奖励条目。适用于隐藏效果 | false |
onlyImmuneToNewEffects | 布尔 | 可选 | 如果设置为真(true),该盔甲将仅阻止新的效果应用于角色(意味着通过更换盔甲无法移除已存在的效果) | false |
conditions | 条件对象数组 | 可选 | 触发效果必须满足的游戏内条件 |
条件对象数组的JSON规范:
字段名称 | 数据类型 | 是否必填 | 描述 | 默认值 |
type | 字符串 | 必填 | "处于熔岩中" "处于雨中" "处于水中" "位于方块上" "正在使用主手" "正在使用副手" "处于生物群系中" - 在1.16.5版本中不可用 "时间段" "月相" "处于维度中" 下面是纯英文的: "inLava" | |
inverted | 布尔 | 可选 | 如果设置为 true,则当不满足条件时,将应用效果 | false |
tooltipDescription | 字符串 | 可选 | 使用您自己的字符串/翻译键来覆盖条件文本 | |
extra | 字符串 | 可选 | 如果“type”=“onBlock”,则您必须在此字段中指定方块键(例如:minecraft:dirt) 如果“type”=“inBiome”,则您必须在此字段中指定生物群系键(例如:minecraft:plains) 如果“type”=“inDimension”,则您必须在此字段中指定维度键(例如:minecraft:overworld) 如果“type”=“timeRange”,则您必须在此字段中以刻(ticks)为单位指定时间范围,使用逗号分隔它们。确保没有空格。 (例如: "0,10000") 如果“type”=“moonPhase”,则您必须指定以下之一: - full |