[1.21.x] CrackShot 枪械插件 · 1.21.11 适配版(音效 / 粒子 / 补全 / 渐变色/ 翻译)

二次开发 其他 [1.21.x] CrackShot 枪械插件 · 1.21.11 适配版(音效 / 粒子 / 补全 / 渐变色/ 翻译) 0.98.13

完成注册/登录后下载
版权类型
二次开发
插件中文名称
CS枪械
插件英文名称
CrackShot
原帖地址
https://www.spigotmc.org/resources/crackshot-guns.48301/
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
适配版本(Java)
  1. 1.21

一、为什么需要这个版本​

所有枪械音效全部失效,而且不报错​

1.21.x 的 org.bukkit.Sound 把枚举常量名换成了注册表键形式:


下划线名只作为「别名静态字段」保留——所以 Sound.valueOf("ENTITY_GENERIC_EXPLODE") 是成功的,但 values() 里根本查不到它。原版按 values() 建索引,于是配置里的音效名一个都匹配不上,异常又被 catch 吞掉,最终表现就是:插件加载正常、日志干净、枪一点声音都没有。
实测 54 个武器文件、134 个音效名:
修复前修复后
可解析音效名0 / 134133 / 134

现代粒子名被静默忽略​

原版粒子解析器只认 6 种关键字,其余直接 continue 丢弃,一行提示都不打。于是 FLAME-30、EXPLOSION_HUGE-2、SMOKE_LARGE-10、LAVA-10 这类写法写了等于没写。

二、本版特性​

音效​

  • 下划线名 / 点号名 / 命名空间键 三种写法通吃
  • 补齐 431 条历史别名(EXPLODE、HURT_FLESH、SHOOT_ARROW …),并补上 RANDOM_* 等漏网项
  • 无法解析时在控制台明确点名(不再是静默失败
  • 代码:
    Sounds_Shoot: ENTITY_GENERIC_EXPLODE-1-2-0                        # 原有写法,继续可用
    Sounds_Shoot: minecraft:entity.generic.explode-1-2-0              # 新增:命名空间键
    Sounds_Shoot: entity.generic.explode-1-2-0                        # 新增:点号注册表键

粒子​

  • 支持任意 org.bukkit.Particle 常量(116 种),不再局限于 6 个关键字
  • 支持带数据粒子(方块、物品、颜色)
  • 代码:
    Particles:
      Enable: true
      Particle_Player_Shoot: FLAME-30                 # 粒子名-数量
      Particle_Impact_Anything: BLOCK-STONE-20-0.5    # 粒子名-方块-数量-扩散
      Particle_Critical: DUST-255_120_0-30            # 粒子名-R_G_B-数量
      Particle_Backstab: minecraft:large_smoke-40     # 命名空间键
      Particle_Hit: block_break-152                   # 方块破坏粒子(老数字 ID 依然有效)
      Particle_Terrain: true                          # 地形弹着点:按命中方块出「破坏」粒子
保留的全部原关键字(语义与原版完全一致):smoke / lightning / explosion / potion_splash-数量 / flames-数量 / block_break-材质

方块破坏粒子​

block_break 的材质既支持现代名(GOLD_BLOCK、WATER),也支持 1.12 时代的老数字 ID(152、55、1)。另补了 47 个 1.13 已删除材质名的映射(FLOWING_LAVA→LAVA、GRASS→GRASS_BLOCK、MOB_SPAWNER→SPAWNER、PORTAL→NETHER_PORTAL …),0–255 号数字 ID 现在 254 个可用。


Tab 补全​

/crackshot 全链路补全,按权限过滤:
代码:
/crackshot <TAB>              -> list / give / get / reload / config
/crackshot give <TAB>         -> 在线玩家名
/crackshot give 玩家 <TAB>    -> 该玩家有权限拿到的武器名
/crackshot give 玩家 武器     -> 1 / 16 / 32 / 64
/crackshot get <TAB>          -> 武器名
/crackshot list <TAB>         -> all / 1~12(页数)


RGB 渐变色​

武器名、描述、各类提示消息全部支持十六进制颜色与渐变(配置里写哪种都行):


代码:
Item_Name: '<gradient:#FF0000:#00FF00>熔火之心</gradient>'
Item_Lore: |-
  {#FF0000>}赤红的枪身映着沙暴{#00FF00<}
  <#00AAFF>纯色写法也支持</#00AAFF>
  &#FFAA00 这种老写法也行

支持的写法一览:
类型写法
渐变<gradient:#起色:#止色>文字</gradient> 或 {#起色>}文字{#止色<}
纯色 Hex{#RRGGBB} / <#RRGGBB> / &#RRGGBB / 裸 #RRGGBB
传统色码&a &l &n 等照旧可用
两个注意点(实测)
  • 渐变内不要嵌 &l / &n 等格式码——渐变是逐字下发十六进制色码,会重置格式,所以嵌进去不生效。
  • 单个汉字的渐变取的是「结束色」,建议 1~2 字的文本直接写纯色。

三、安装​

  1. 服务端:Paper 1.21.x(实测 Paper 1.21.11 + Java 21)
  2. 覆盖到 plugins/ 下
  3. 删掉 plugins/.paper-remapped/ 里的旧 CrackShot 缓存——Paper 按源 jar 哈希索引,旧副本会遮蔽新 jar
  4. 重启服务器(改的是 jar,/reload 无效)

四、说明​

  • 原插件 CrackShot 作者 Shampaggon;原作者已停更,本版仅为 1.21.x 兼容性修复,请优先支持原作者。
  • jar 内保留了全部原始类,公开 API 无删减。
  • 修复效果均为实机验证(在服务器内加载插件类加载器跑全量扫描):音效 133/134、方块破坏材质 64/66、数字 ID 254/256、粒子 115/121 可解析,剩余项均为配置文件笔误。
  • 遇到 bug,或想补某个音效 / 粒子别名,回帖说明即可。
作者
蓝桉大王
下载
9
查看
172
首次发布
最后更新

评分

0.00 星 0 次评分

蓝桉大王 的其他资源

后退
顶部 底部