指定插槽
您可以通过在物品表 Thing 中使用标签 addSocket 和 addSocket(附魔alias) 来指定枪械插槽。例如,addSocket,addSocket,addSocket(bane_god) 将确保添加两个空插槽和一个带有附魔 God Bane 的插槽。
您还可以使用 noRandomSocket 标签,在应用自定义插槽之前移除所有随机生成的插槽。
导入远程武器数据
有时您希望自定义您的远程武器的一些数据。枪械数据是一个 JSON 文件,位于您的 LangMod/**/Data/ 文件夹中,文件名为 EffectSetting.guns.json。
json
{
"biubiu_gun": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "gunfire",
"IdSprite": "ranged_gun",
"IdSound": "attack_gun",
"IdSoundEject": "bullet_drop",
"Eject": true,
"FirePos": {
"x": 0.23,
"y": 0.04
},
"FireFromMuzzle": false,
"CaneColor": "",
"CaneColorBlend": false,
"ForceLaser": false,
"ForceRail": false,
}
}这将导入一个名为 biubiu_gun 的枪械数据,它应该与您的远程武器 ID 匹配。您也可以使用游戏中现有的武器 ID 来覆盖它。
这里是游戏中现有的枪械数据:
Gun Data
json
{
"gun": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "gunfire",
"IdSprite": "ranged_gun",
"IdSound": "attack_gun",
"IdSoundEject": "bullet_drop",
"Eject": true,
"FirePos": {
"x": 0.23,
"y": 0.04
}
},
"gun_assault": {
"Num": 3,
"Delay": 0.1,
"IdEffect": "gunfire",
"IdSprite": "ranged_gun",
"IdSound": "attack_gun_assault",
"IdSoundEject": "bullet_drop",
"Eject": true,
"FirePos": {
"x": 0.48,
"y": 0.04
}
},
"bow": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_arrow",
"IdSound": "attack_bow",
"Eject": false,
"FirePos": {}
},
"gun_rail": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "",
"IdSound": "attack_gun_rail",
"Eject": false,
"FirePos": {}
},
"cane": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_cane",
"IdSound": "attack_cane",
"Eject": false,
"FirePos": {}
},
"windbow": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_arrow_wind",
"IdSound": "attack_windbow",
"Eject": false,
"FirePos": {}
},
"gun_mani": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_gun",
"IdSound": "attack_gun_shotgun",
"IdSoundEject": "bullet_drop",
"Eject": true,
"FirePos": {
"x": 0.23,
"y": 0.04
}
},
"gun_laser": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "",
"IdSound": "attack_gun_laser",
"Eject": false,
"FirePos": {}
},
"panzerfaust": {
"Num": 1,
"Delay": 0.01,
"IdEffect": "gunfire",
"IdSprite": "ranged_gun_rocket",
"IdSound": "attack_gun_rocket",
"Eject": false,
"FirePos": {}
},
"gun_laser_assault": {
"Num": 3,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_gun_laser",
"IdSound": "attack_gun_laser_assault",
"Eject": false,
"FirePos": {
"x": 0.28,
"y": 0.2
}
},
"shotgun": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_fun",
"IdSound": "attack_gun_shotgun",
"Eject": false,
"FirePos": {
"x": 0.3,
"y": 0.18
}
},
"sling": {
"Num": 1,
"Delay": 0.1,
"IdEffect": "",
"IdSprite": "ranged_stone",
"IdSound": "throw",
"Eject": false,
"FirePos": {}
}
}Num是一个爆发中的射击次数。Delay是动画延迟,单位为秒。IdEffect是枪口特效的 ID。您可以使用自定义特效。默认值是gunfire。激光和法杖不使用此值。IdSprite是投射物贴图的名称,它需要是游戏中现有的贴图,或者您放置在 Texture 文件夹中的贴图。激光不使用此值。IdSound是射击声音的 ID。您可以使用自定义声音。这可以为所有类型的枪械设置。IdSoundEject是弹壳弹出声音的 ID。您可以使用自定义声音。这可以为所有类型的枪械设置。Eject决定是否有弹壳弹出动画。这可以为所有类型的枪械设置。FirePos是枪口效果相对于武器中心的位置偏移。这可以为所有类型的枪械设置。FireFromMuzzle(新特性!)决定投射物是从枪口开始,还是默认从玩家身体开始。这可以为所有类型的枪械设置。CaneColor是法杖类武器可选的颜色覆盖,留空则使用武器默认元素的颜色。格式为RRGGBB十六进制字符串。只有带有ToolRangeCane特性的枪械才能使用此值。CaneColorBlend启用法杖类武器的默认颜色和覆盖颜色混合。只有带有ToolRangeCane特性的枪械才能使用此值。ForceLaser强制枪械使用激光动画(在 23.206 Nightly 版本中添加)。如果枪械带有ToolRangeGunEnergy特性,则不需要此项。ForceRail强制枪械使用电磁炮动画。对于带有ToolRangeGunEnergy特性的枪械来说,这不再是默认行为。
任何您希望使用默认值的属性都可以省略。
您可以在此文件中添加任意数量的枪械数据,只需用 , 半角逗号将它们分开,例如:
json
{
"biubiu_gun": {
data
},
"rainbow_wand": {
data
}
}您可以使用控制台命令 cwl.data.load_effect_setting 来重新加载所有枪械数据。