Skip to content

Weapons

oneachina edited this page Jul 12, 2026 · 1 revision

武器系统

人类使用枪械对抗僵尸。武器通过商店购买,使用弹药系统。

操作方式

操作 行为
右键 射击(半自动按一次一发,全自动按住连射)
潜行 + 右键 换弹(从背包消耗对应弹药)
潜行(瞄准 ADS) 降低散布和后坐力,移动速度减慢
切枪 取消换弹/停止连射

弹药系统

武器消耗对应类别的弹药。购买武器时自动赠送弹药,击杀僵尸时自动补给。

类别 ID 材质 用于
轻型弹药 light PAPER 手枪等
重型弹药 heavy IRON_INGOT 步枪
能量弹药 energy GLOWSTONE_DUST 能量武器
霰弹 shotgun GUNPOWDER 霰弹枪

武器配置参数

custom-weapons:
  my_gun:
    material: WOODEN_HOE           # Bukkit 材质
    custom-model-data: 10001       # 资源包模型 ID
    name: "&a我的枪"
    lore:
      - "&7一把自定义武器"
    damage: 5.0                    # 单发伤害
    ammo-category: light           # 弹药类别
    magazine-size: 12              # 弹匣容量
    max-reserve: 60                # 最大备弹
    reload-time-ticks: 30          # 换弹 tick
    price: 300                     # 商店价格(硬币)
    cooldown-ticks: 10             # 射击间隔 tick
    spread: 0.08                   # 基础散布
    ads-spread-mult: 0.5           # ADS 散布乘数(<1 更准)
    ads-recoil-mult: 0.7           # ADS 后坐力乘数
    headshot-mult: 2.0             # 爆头伤害倍率
    knockback: 0.3                 # 击退力度
    range: 30                      # 射程(方块)
    pellets: 1                     # 弹丸数(>1 霰弹)
    sound: ENTITY_GENERIC_EXPLODE  # 射击音效
    hit-sound: ENTITY_ARROW_HIT_PLAYER  # 命中音效
    recoil: [0.3, 0.5, 0.5, 0.7]  # 后坐力数组
    automatic: false               # 是否全自动
    spread-per-shot: 0.0           # 连射散布递增
参数 说明
recoil 按射击次数索引取用,超出取最后一个值
spread-per-shot 连射时每发增加的额外散布
pellets 每次射击弹丸数(默认 1,霰弹枪 >1 且散布更大)
automatic true 时按住右键连续射击
custom-model-data 需配合资源包,物品显示自定义模型

命中检测

  • 射线追踪(rayTraceEntities)检测玩家实体
  • 爆头:命中位置 Y > 实体 Y + 1.5 → 伤害 × headshot-mult
  • 爆头有冷却(每个攻击者-受害者对独立),防止刷屏
  • 只对僵尸/母体造成伤害,同队免伤

商店

/zr shop     # 打开 GUI 商店
  • 展示所有已配置武器及价格
  • 点击购买 → 扣除硬币 → 发放武器 + 3 组对应弹药
  • 新玩家首次加入时自动打开
  • Debug 模式下免费

预购系统

/zr select <编号>    # 选择预购武器(开局自动发放)
/zr unselect         # 取消预购
/zr randomgun        # 随机抽取一把武器

创建新武器

/zr weapon create <id> <material> <damage> <price>

创建后在 config.ymlcustom-weapons 中手动补充其他参数(弹药类别、弹匣等)。

Clone this wiki locally