跳转至

Magic 插件 CS 射击系统

Magic 插件内置了完整的 CS(Counter-Strike)风格射击模块,包含枪械、投掷物、载具、爆头系统等。属于 war 主题的一部分。


一、枪械系统

武器列表

武器 法术名 类型 射速(ms) 射程 伤害(玩家) 法力消耗
AK-47 ak47 自动步枪 100 32格 3 1
沙鹰 pistol 手枪 - - - -
狙击枪 sniper 狙击步枪 - - - -
步枪 rifle 精确步枪 3000 - 10 -
霰弹枪 shotgun 霰弹枪 - - - -
火箭筒 rocketlauncher 重武器 - 60格 8 -
轨道炮 railgun 电磁武器 - - - -

AK-47 详细参数

ak47:
  velocity: 2000           # 弹速
  cooldown: 100            # 射速(ms)
  range: 32                # 射程
  player_damage: 3         # 玩家伤害
  entity_damage: 5         # 实体伤害
  spread: 0.2              # 散布
  spread_movement: 5       # 移动散布
  spread_movement_max: 0.5
  headshot_multiplier: 1.5 # 爆头倍率
  mana_cost: 1             # 法力消耗
  upgrade_required_casts: 200

升级路径: - 1级:默认散布 0.2,移动散布 0.5 - 2级:散布 0.1,移动散布 0.2 - 3级:散布 0.05,移动散布 0.1

狙击镜系统

sniper_scope 是独立法术,使用后获得: - 缓慢效果(模拟瞄准镜减速) - 南瓜头遮罩(模拟视野缩小) - 持续 30 秒,取消魔杖自动解除

sniper_scope:
  target: self
  effect_slow: 20
  duration: 30000
  undo: 30000
  cancel_on_no_wand: true

步枪 (Rifle)

继承狙击枪,高穿透力:

rifle:
  inherit: sniper
  cooldown: 3000
  entity_hit_count: 3    # 穿透3个实体
  block_hit_count: 2     # 穿透2个方块
  velocity: 5000
  player_damage: 10
  entity_damage: 15

火箭筒

范围爆炸,可破坏地形:

rocketlauncher:
  velocity: 10
  range: 60
  player_damage: 8
  entity_damage: 10
  explosion_radius: 2    # 爆炸半径

二、投掷物系统

投掷物 法术名 效果 法力消耗 冷却
手雷 grenade TNT爆炸,半径2格 40 10秒
手雷2级 grenade|2 半径3格+燃烧 75 -
闪光弹 flashbang 范围致盲+耳鸣音效 - -
C4炸弹 c4 TNT投掷,大范围爆炸+冲击波 - -

手雷参数

grenade:
  range: 32
  size: 2          # 爆炸半径
  fuse: 60         # 引信时间(ticks)
  undo: 20000      # 地形恢复时间(ms)
  target: none     # 无需瞄准
  cooldown: 10000
  mana_cost: 40

升级后(2级):半径增大到 3 格,附加燃烧效果,法力消耗 75。

闪光弹效果

  • 发射投射物,命中后范围效果
  • 范围内玩家获得致盲药水效果
  • 播放 magic.ringing 音效(耳鸣)
  • 重复 5 次音效模拟持续致盲
flashbang:
  pvp_restricted: true
  worth: 50
  upgrade_required_casts: 50

三、载具系统

载具 物品名 模型数据 特点
法拉利 ferrari_item 18011 可驾驶,有物理模拟
Tesla Model 3 model3_item 18010 多色可选(黑/白/银)
蒸汽火车 train_item 18012 可驾驶

载具物理参数

载具通过盔甲架(Armor Stand)实现,支持以下物理参数:

max_speed: 1.2           # 最大速度
min_speed: -0.1          # 倒车速度
max_acceleration: 0.01   # 加速度
max_deceleration: 0.02   # 减速度
braking: 0.005           # 刹车力
steer_speed: 0.05        # 转向速度

载具有对应刷怪笼(Spawner),可自动生成在指定区域。


四、战斗特效

爆头系统

  • 爆头时有特殊粒子效果(烟花火花 + AnimatedBallEffect)
  • 爆头伤害倍率 1.5x
  • 击中盔甲架(模拟靶子)有弹跳音效 war.ricochet
  • 碎片粒子:铁块碎片(击中盔甲架)/ 红石块碎片(击中实体)

弹道效果

  • 子弹飞行轨迹有 smoke_normal 烟雾粒子
  • 击中方块有 block_crack 碎片 + 脚步声效果
  • 可破坏方块(可配置哪些方块可被破坏)
  • 地形破坏后自动恢复(undo机制)

枪声音效

武器 音效名
AK-47 war.ak47
沙鹰 war.deserteagle
狙击枪 war.sniperrifle
火箭筒 war.rocketlauncher
弹跳 war.ricochet

五、配套物品模型

所有枪械使用 diamond_pickaxe 作为基础物品,通过 custom_model_data 映射到资源包中的枪械模型:

物品 模型数据 说明
ak47_item 18001 AK-47
shotgun_item 18004 霰弹枪
ferrari_item 18011 法拉利
model3_item 18010 Tesla Model 3
model3_black_item 18015 Tesla Model 3 黑色
model3_silver_item 18014 Tesla Model 3 银色
model3_white_item 18013 Tesla Model 3 白色
train_item 18012 蒸汽火车

六、使用方法

玩家命令

/wand              # 获取默认魔杖
/cast ak47         # 施放AK-47(需要法力)
/cast sniper       # 施放狙击枪
/cast sniper_scope # 开镜
/cast grenade      # 投掷手雷
/cast flashbang    # 投掷闪光弹
/cast c4           # 放置C4
/ms                # 打开Magic商店
/spells            # 查看已学法术

获取枪械

  1. 通过 /ms 商店购买(需要金币,配合 XConomy)
  2. 通过 SP 技能点解锁
  3. 管理员通过 /magic give 命令直接给予物品

升级系统

每把枪械有 3 个等级,通过累计使用次数升级: - AK-47:使用 200 次解锁 2 级,继续使用解锁 3 级 - 手枪:使用 100 次升级 - 升级后散布减小,精度提高


七、注意事项

  • 所有枪械需要法力值(Mana)(AK-47每次1点)
  • 需要配套资源包才能显示正确枪械模型
  • 已切换为 Magic-all-RP-26.1.zip,包含完整CS枪械模型和音效
  • 与 Residence 领地系统集成(领地内可限制射击)
  • 配合竞技场系统(arenas)可做 CS 团队对战
  • pvp_restricted: true 的法术在非PvP区域无法对玩家使用

八、配置文件

文件 用途
plugins/Magic/config.yml 主配置
plugins/Magic/spells.yml 法术定义
plugins/Magic/items.yml 物品定义
plugins/Magic/wands.yml 魔杖定义
plugins/Magic/arenas.yml 竞技场配置

枪械法术定义在 defaults/spells.defaults.yml 中,可通过 spells.yml 覆盖自定义。