开始前提示

数据包会不定期更新

数据包格式及用法可自行阅读mc中文wiki,或在其他地方寻找教程

武器数据包的路径要求为 data/superbwarfare/guns/

所有字段均区分大小写,在json文件中要用英文双引号括起来,数字不用

所有时间单位默认都是 刻(tick) 1s=20tick

0.8.0

ID

类型:字符串

指定本文件要修改的武器ID,字符串类型。留空或不写此属性时,系统会默认尝试使用文件名作为武器ID。

RecoilX

类型:双精度浮点数

默认值:0

示例:0.0114

水平方向的后坐力

RecoilY

类型:双精度浮点数

默认值:0

示例:0.0514

竖直方向的后坐力

DefaultZoom

类型:双精度浮点数

默认值:1.25

武器的默认瞄准放大倍率

MinZoom

类型:双精度浮点数

默认值:1.25

最小放大倍率,留空等于默认倍率

MaxZoom

类型:双精度浮点数

默认值:1.25

最大放大倍率,留空等于默认倍率

Spread

类型:双精度浮点数

默认值:0

示例:3.5

武器子弹散布

Damage

类型:双精度浮点数

默认值:0

示例:2.5

武器的基础伤害

Headshot

类型:双精度浮点数

默认值:1.5

示例:1.5

武器的爆头倍率

Velocity

类型:双精度浮点数

默认值:0

示例:17

武器发射子弹的初速度,单位m/tick

BypassesArmor

类型:双精度浮点数

默认值:0

示例:0.46

武器的穿甲比例,不是百分比

0.46代表46%穿甲,可以超过100%

Magazine

类型:整数

默认值:0

示例:11

弹匣容量,不写或填入不大于0的数字时默认使用背包弹药。而不是弹匣弹药(例如加特林和海月权杖)

MeleeDamage

类型:双精度浮点数

默认值:0

示例:20

武器的近战伤害,不写这个就不能近战攻击

MeleeDuration

类型:整数

默认值:16

整个攻击动作的持续时间

MeleeDamageTime

类型:整数

默认值:6

开始近战攻击后,在第几个tick后造成近战伤害

Projectile

类型:对象

描述:包含投射物的类型和NBT数据等信息

有两个字段:

  • Type | 字符串,可以填写要发射的实体的注册名,默认为"superbwarfare:projectile"
  • Data | json对象,可以填写实体的NBT 也可以在data/superbwarfare/launchable下新建json定义投射物属性

模组保留了几个会自动替换属性的字段,例如示例的damage部分使用了@sbw:damage,会自动将该投射物的NBT替换为武器伤害,所有可用字段分别为:

  • @sbw:owner | UUID
  • @sbw:owner_string_lower | 字符串
  • @sbw:owner_string_upper | 字符串
  • @sbw:damage | 双精度浮点数
  • @sbw:explosion_radius | 双精度浮点数
  • @sbw:spread | 双精度浮点数
{
  "Projectile": {
    "Type": "minecraft:arrow",
    "Data": {
      "damage": "@sbw:damage",
      "pickup": 2,
      "crit": false
    }
  }
}

ProjectileAmount

类型:整数

默认值:1

一次开火发射的子弹数量

Weight

类型:整数

默认值:0

武器的重量

DefaultFireMode

类型:枚举

默认值:"Semi"

可选值:"Semi"("半自动"), "Burst"("N连发"), "Auto"("全自动")

武器默认的开火模式,只能从可选值中选一个填写

设置 Burst 时连发次数由 BurstAmount 决定

AvailableFireModes

类型:枚举数组

默认值:["Semi"]

武器可用的全部开火模式

BurstAmount

类型:整数

默认值:0

武器使用Burst开火模式下,每次连发的射击次数

ReloadTypes

类型:枚举数组

默认值:["Magazine"]

可选值:"Magazine"("弹匣换弹"), "Clip"("弹夹换弹"), "Iterative"("逐个装填换弹")

武器的换弹类型

{
  "ReloadTypes": ["Magazine", "Clip"]
}

NormalReloadTime

类型:整数

默认值:0

武器正常的换弹时间,单位是tick

EmptyReloadTime

类型:整数

默认值:0

武器空仓换弹的时间,单位是tick

BoltActionTime

类型:整数

默认值:0

栓动武器拉栓所需时间,单位是tick

PrepareTime

类型:整数

默认值:0

仓内有弹时,准备换弹的时长,单位是tick

PrepareLoadTime

类型:整数

默认值:0

仓内无弹时,需要在准备阶段往弹仓里塞一发子弹,准备换弹的时长(适用于在准备换弹期间,就往弹仓里塞一发子弹,如M870和二次灾变)

PrepareEmptyTime

类型:整数

默认值:0

仓内无弹时,不需要在准备阶段往弹仓里塞一发子弹,准备换弹的时长,单位是tick

PrepareAmmoLoadTime

类型:整数

默认值:1

准备阶段需要上弹时,准备阶段时还剩余此tick,往弹仓里装填一发子弹(0.8.2新增

IterativeTime

类型:整数

默认值:0

若武器的换弹类型是Iterative时,每次单发装填所使用的时间,单位是tick

IterativeAmmoLoadTime

类型:整数

默认值:1

若武器的换弹类型是Iterative,上弹计时还剩余此tick时,往弹仓里装填一发子弹的时间,单位是tick

IterativeLoadAmount

类型:整数

默认值:1

若武器的换弹类型是Iterative,每次单发装填的上弹数量

FinishTime

类型:整数

默认值:0

换弹结束阶段的时长

SoundRadius

类型:双精度浮点数

默认值:0

武器开火声音传播范围

RPM

类型:整数

默认值:600

武器的射速,单位 次/分

ShootDelay

类型:整数

默认值:0

武器的开火延迟,如果是直接发射则不需要填写

AmmoType

类型:字符串

武器开火所需要消耗的弹药,支持三种类型:

  • 物品注册名
  • 符合物品标签的所有物品,需要以 # 开头,加上物品标签名
  • 卓越前线提供的五种基本弹药类型,需要以 @ 开头,加上弹药种类名,只能从以下五种选择其一)
    • HandgunAmmo
    • RifleAmmo
    • ShotgunAmmo
    • SniperAmmo
    • HeavyAmmo
{
  "AmmoType": "@RifleAmmo",
  "AmmoType": "#minecraft:planks",
  "AmmoType": "minecraft:arrow"
}

HeatPerShoot

类型:双精度浮点数

默认值:0

每次开火射击后,武器增加的热量,双精度浮点数类型。

ExplosionDamage

类型:双精度浮点数

默认值:0

当武器的弹药是爆炸物时,弹药的爆炸伤害

ExplosionRadius

类型:双精度浮点数

默认值:0

当武器的弹药是爆炸物时,弹药的爆炸半径

AvailablePerks

类型:字符串数组

武器所有的可用模组列表,可以填入以下类型:

  • 以 @ 开头,加上Ammo, Functional, Damage,表示可以使用该类型的全部模组
  • 模组注册名,表示可用该模组
  • 以英文感叹号 ! 开头,加上模组注册名,表示不可用该模组

注意:务必将@放在最前面,!放在最后面

{
  "AvailablePerks": [
    "@Ammo",
    "superbwarfare:field_doctor",
    "superbwarfare:powerful_attraction",
    "superbwarfare:intelligent_chip",
    "superbwarfare:monster_hunter",
    "superbwarfare:vorpal_weapon",
    "!superbwarfare:micro_missile",
    "!superbwarfare:longer_wire",
    "!superbwarfare:cupid_arrow"
  ]
}

DamageReduce

类型:对象

武器子弹距离衰减类型,不需要距离衰减的武器可以不写,有三个字段:

  • Type | 枚举 | 使用预设的衰减类型,会覆盖下面两个属性 | 可以从 "Shotgun", "Sniper", "Heavy", "Handgun", "Rifle", "Smg" 中选择一个填写
  • Rate | 双精度浮点数 | 武器子弹伤害随距离衰减的比率
  • MinDistance | 双精度浮点数 | 武器子弹伤害的最小衰减距离,超过这个距离的子弹开始降低伤害

武器伤害衰减公式为:子弹伤害 * (1 - (距离 - 最小距离) * 比率)

{
  "DamageReduce": {
    "Rate": 0.5,
    "MinDistance": 10
  },
  "DamageReduce": {
    "Type": "Shotgun"
  }
}

武器数据包

本网站的构成离不开玩家以及爱好者的贡献与共同开发,与官方无任何联系,如信息存在问题或对网站有任何问题与意见请加入QQ群及时协助纠正

该维基内所使用的内容涉及到包括但不限于公司名称、商标、产品均归其各自所有者拥有版权;Wiki 内所使用的资料源于模组内部资源,所有材料均是为更好的体验游戏内容,其版权归其拥有者所有。 除了单独声明的内容,网站其他内容均采用 CC-4.0 协议授权

为了您在使用过程中有更好的浏览体验,推荐使用最新版 ChromeEdge 浏览器,并通过PC端进行访问

Copyright © 2023 - present Sbw Team. All rights reserved.