- 版权类型
- 原创
- 插件中文名称
- WarZ战斗背包
- 插件英文名称
- WarZTacZLoadout
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- tacz-spigot-api-plugin
- 适配版本(Java)
- 1.20
https://www.yuque.com/daqingtian-3ob8x/warz/cxdswnvypnxzac3g?singleDoc# 《WarZTacZLoadout 插件使用Wiki》
WarZTacZLoadout|高扩展 WarZ 作战背包系统(支持 TacZ 枪械)|1.20.1 Mohist/Spigot
插件简介
WarZTacZLoadout 是一款专为 WarZ/PVP服务器 打造的作战背包插件,集成了:
作战背包管理
一键切换装备
死亡自动补装
击杀积分系统
解锁式商店体系
同时支持 TacZ 枪械联动(可选),也可在纯原版环境独立运行,兼顾商业服稳定性 + 扩展性。
核心亮点
一体化作战系统
将传统多个插件功能整合为一体:
- 背包系统 + 商店系统 + 积分系统 + 重生补装
减少插件冲突,提高性能与稳定性
多背包 + 精细槽位控制
- 支持多个作战背包
- 固定 8 槽结构:
- 主武器 ×1
- 副武器 ×1
- 投掷物 ×2
- 护甲 ×4(头/胸/腿/靴)
- 强制单背包生效,杜绝叠装备
双模式切换机制
- 立即生效(IMMEDIATE)
- 手动生效(MANUAL)
适配不同服务器玩法(战场 / 大厅 / 副本)
死亡自动补装
玩家死亡后自动恢复当前背包装备
无需手动整理,提升战斗流畅度
击杀积分系统
- 玩家击杀 → 获得积分
- 积分可用于:
- 解锁武器
- 购买装备
- 扩展背包
内置防刷机制,避免刷分作弊
解锁式商店(支持二级分类)
- 主武器 / 副武器支持分类:
- 步枪 / 冲锋枪 / 狙击枪 / 手枪 等
- GUI 清晰,玩家体验优秀
模板物品系统(支持NBT/PDC)
支持录入任意自定义物品:
/wtzl admin capture <模板ID><br>
可用于:
/wtzl admin capture <模板ID><br>
可用于:
- 自定义医疗包
- 特殊装备
- Mod物品接入
TacZ 枪械支持(可选)
支持 TacZ 枪械完整功能:
- 开火模式
- 弹匣系统
- 子弹控制
运行环境
- Java:17
- 核心版本:1.20.1
- 推荐服务端:Mohist
安装方法
plugins/WarZTacZLoadout.jar
mods/tacz.jar<br>plugins/TacZSpigotBridge.jar
玩家使用
基础指令:
代码:
6.1 玩家基础命令
● /wtzl open:打开插件主界面(配置背包、选择装备);
● /wtzl apply:应用当前选中的作战背包(手动生效模式下需执行);
● /wtzl points:查看自己当前的积分数量;
● /wtzl status:查看自己的玩家档案状态(积分、已解锁装备、当前背包等);
● /wtzl tacz:查看 TacZ 桥接状态、运行时状态与已识别枪械数量(无 TacZ 则显示未接入)。
6.2 管理员命令
需拥有 warztaczloadout.admin 权限方可使用:
● /wtzl apply [player]:应用指定玩家当前选中的作战背包(需管理员权限);
● /wtzl status [player]:查看指定玩家的档案状态;
● /wtzl reload:重载插件配置、语言文件与物品目录(无需重启服务器);
● /wtzl admin capture <templateId>:将主手物品保存为模板物品(templateId 为自定义模板名称);
● /wtzl admin givepoints <player> <amount>:给指定玩家增加积分(amount 为积分数量);
● /wtzl admin setpoints <player> <amount>:直接设置指定玩家的积分(覆盖原有积分);
● /wtzl admin unlock <player> <optionId>:直接为指定玩家解锁某个装备/升级项(optionId 为物品ID);
● /wtzl admin catalog:打开在线商品目录编辑器(可快速新增、修改、删除商品)。
核心配置文件
- config.yml → 全局控制
- catalog.yml → 商品模板
- catalog_overrides.yml → 在线编辑覆盖
- templates.yml → 自定义物品
- messages.yml → 中文提示
-
代码:
# ======================================= # WarZTacZLoadout 主配置 # 说明: # 1. 本插件面向 Mohist / Spigot 1.20.1,推荐使用 Java 17。 # 2. 玩家的实际背包档案当前默认保存在 plugins/WarZTacZLoadout/playerdata/*.yml。 # 3. 下面的 storage / tacz 部分包含后续版本的预留字段,当前版本已有注释说明实际行为。 # ======================================= # 是否输出额外调试日志。 # 正式服建议保持 false,排查问题时再开启。 debug: false # 作战背包系统设置 loadout: # 背包切换后的生效方式。 # IMMEDIATE = 玩家在 GUI 中切换背包后,立刻覆盖当前受控槽位。 # MANUAL = 只切换“当前选中的背包”,必须再执行 /wtzl apply 或点击“应用当前背包”才会真正覆盖物品。 apply-mode: MANUAL # 玩家加入服务器时,是否自动为其下发当前选中的作战背包。 apply-on-join: true # 玩家切换世界时,是否重新为其下发一次当前背包。 # 如果你的玩法跨世界时不希望自动补装,可以保持 false。 apply-on-world-change: false # 新玩家默认拥有的背包数量。 # 最小值建议不低于 1。 default-backpacks: 3 # 服务器允许展示与使用的最大背包数量。 # 该值同时影响 GUI 的可见上限和分页范围。 # 拥有 warztaczloadout.backpack.unlimited 的玩家会直接使用这个上限。 max-backpacks: 12 # 玩家重生后延迟多少 Tick 再重新下发背包。 # 2 Tick 约等于 0.1 秒,可避免与其他重生插件抢写物品。 respawn-apply-delay-ticks: 2 # 每次应用背包前,是否先清空插件所管理的 8 个受控槽位。 # 开启后更稳定,能避免旧配装残留。 clear-managed-slots-before-apply: true # 世界限制设置 world-restrictions: # 世界限制模式: # DISABLED = 不启用世界限制,所有世界都可使用 # WHITELIST = 只有下面 worlds 列表中的世界可以使用 # BLACKLIST = 下面 worlds 列表中的世界禁止使用 mode: DISABLED # 世界名称列表,区分的是 Bukkit 世界名 # 例如: # - world # - world_nether # - warzone worlds: [] # 战斗积分系统 combat: # 玩家击杀玩家时获得的积分数量。 kill-points: 100 # 同一击杀者与被击杀者之间的防刷分冷却时间,单位秒。 # 在这段时间内重复互刷不会再次得到积分。 anti-farm-window-seconds: 300 # 数据存储设置 storage: # 当前版本该配置段仍属于“预留字段”。 # 插件目前默认把玩家档案保存在 playerdata/*.yml 中,尚未正式切换到数据库。 # 保留这些字段是为了后续版本平滑接入 SQLite / MySQL。 type: SQLITE # 预留的 SQLite 文件路径。 sqlite-file: data/loadout.db # 预留的 MySQL 连接信息。 mysql: host: 127.0.0.1 port: 3306 database: warz_loadout username: root password: change_me # TacZ 集成设置 tacz: # 当 catalog.yml 中存在 TACZ_GUN 物品时,是否要求服务器安装 TacZSpigotBridge。 # 当前版本如果缺少桥接或 TacZ 运行时,枪械无法真正构建,只会显示占位图标。 require-bridge-for-guns: true # 预留给后续版本的默认开火模式字段。 # 当前版本优先读取 catalog.yml 里每个枪械单独配置的 fire-mode。 default-fire-mode: UNKNOWN
-
代码:
# ======================================= # WarZTacZLoadout 物品目录配置 # 说明: # 1. 这里定义玩家在“背包编辑界面”与“积分商店”中能看到的所有装备选项。 # 2. optionId / upgradeId 会被写入玩家档案,正式开服后不要随意改名。 # 3. display 支持颜色代码 &。 # 4. category 可选: # PRIMARY, SECONDARY, THROWABLE, HELMET, CHESTPLATE, LEGGINGS, BOOTS # 5. subcategory 为“二级分类 / 类型”字段,可选。 # 例如主武器可细分为 rifle / smg / shotgun / sniper / lmg / special, # 副武器可细分为 pistol / revolver / melee。 # 玩家在菜单中会先看到大类,再看到你配置的这些类型。 # 6. source-type 可选: # TACZ_GUN = 通过 TacZSpigotBridge + TacZ 运行时构建真实枪械 # MATERIAL = 直接使用 Bukkit Material 名称生成物品 # TEMPLATE = 使用 templates.yml 中采集好的模板物品 # 7. permission 留空表示仅由 default-unlocked / 商店购买控制; # 不留空时,拥有该权限的玩家也会被视为已解锁。 # 8. amount 主要给 MATERIAL / TEMPLATE 使用; # ammo-count / fire-mode / bullet-in-barrel 只对 TACZ_GUN 生效。 # 9. 如果服主通过 /wtzl admin catalog 在线编辑商品, # 新增或修改内容会写入 catalog_overrides.yml,并在启动/重载时覆盖这里的同名条目。 # 10. 如果某个商品没有配置 subcategory,它会出现在“未分组”里。 # ======================================= # 可选的二级分类配置 # 说明: # 1. 这里只定义“类型目录”的显示名、图标与排序。 # 2. 真正让商品进入哪个类型,要在每个 option 里填写 subcategory。 # 3. icon 使用 Bukkit Material 名称;填错时会自动回退为该大类默认图标。 # 4. order 越小越靠前。 subcategories: PRIMARY: rifle: display: "&6步枪" icon: "CROSSBOW" order: 10 smg: display: "&6冲锋枪" icon: "TRIPWIRE_HOOK" order: 20 shotgun: display: "&6霰弹枪" icon: "BLAZE_ROD" order: 30 sniper: display: "&6狙击枪" icon: "SPYGLASS" order: 40 lmg: display: "&6机枪" icon: "CHAIN" order: 50 special: display: "&c特殊武器" icon: "FIRE_CHARGE" order: 60 SECONDARY: pistol: display: "&e手枪" icon: "IRON_NUGGET" order: 10 revolver: display: "&e左轮" icon: "GOLD_NUGGET" order: 20 melee: display: "&c近战" icon: "IRON_SWORD" order: 30 options: # 默认赠送的主武器示例 ak47: # GUI 中显示的名字 display: "&6AK-47" # 所属分类: 主武器 category: PRIMARY # 所属二级分类: 步枪 subcategory: rifle # 来源类型: TacZ 枪械 source-type: TACZ_GUN # TacZ 枪械 ID source-id: "tacz:ak47" # 商店价格,0 表示无需积分 price: 0 # 是否默认解锁 default-unlocked: true # 可选权限,留空表示不额外要求权限 permission: "" # 枪械初始弹匣子弹数 ammo-count: 30 # 枪械开火模式 fire-mode: AUTO # 是否默认膛内有弹 bullet-in-barrel: true # 需要积分解锁的主武器示例 m4a1: display: "&6M4A1" category: PRIMARY subcategory: rifle source-type: TACZ_GUN source-id: "tacz:m4a1" price: 500 default-unlocked: false permission: "" ammo-count: 30 fire-mode: AUTO bullet-in-barrel: true # 冲锋枪示例 mp5: display: "&6MP5" category: PRIMARY subcategory: smg source-type: TACZ_GUN source-id: "tacz:mp5" price: 450 default-unlocked: false permission: "" ammo-count: 30 fire-mode: AUTO bullet-in-barrel: true # 霰弹枪示例 m870: display: "&6M870" category: PRIMARY subcategory: shotgun source-type: TACZ_GUN source-id: "tacz:m870" price: 600 default-unlocked: false permission: "" ammo-count: 8 fire-mode: PUMP bullet-in-barrel: true # 狙击枪示例 awm: display: "&6AWM" category: PRIMARY subcategory: sniper source-type: TACZ_GUN source-id: "tacz:awm" price: 900 default-unlocked: false permission: "" ammo-count: 5 fire-mode: BOLT bullet-in-barrel: true # 机枪示例 m249: display: "&6M249" category: PRIMARY subcategory: lmg source-type: TACZ_GUN source-id: "tacz:m249" price: 1200 default-unlocked: false permission: "" ammo-count: 100 fire-mode: AUTO bullet-in-barrel: true # 特殊武器示例 rpg7: display: "&cRPG-7" category: PRIMARY subcategory: special source-type: TACZ_GUN source-id: "tacz:rpg7" price: 1500 default-unlocked: false permission: "" ammo-count: 1 fire-mode: SINGLE bullet-in-barrel: true # 默认副武器示例 glock17: display: "&eGlock 17" category: SECONDARY subcategory: pistol source-type: TACZ_GUN source-id: "tacz:glock_17" price: 0 default-unlocked: true permission: "" ammo-count: 17 fire-mode: SEMI bullet-in-barrel: true deagle: display: "&eDesert Eagle" category: SECONDARY subcategory: pistol source-type: TACZ_GUN source-id: "tacz:deagle" price: 300 default-unlocked: false permission: "" ammo-count: 7 fire-mode: SEMI bullet-in-barrel: true # 左轮示例 python: display: "&ePython" category: SECONDARY subcategory: revolver source-type: TACZ_GUN source-id: "tacz:python" price: 380 default-unlocked: false permission: "" ammo-count: 6 fire-mode: SEMI bullet-in-barrel: true # 近战示例 combat_knife: display: "&c战斗匕首" category: SECONDARY subcategory: melee source-type: MATERIAL source-id: "IRON_SWORD" price: 120 default-unlocked: true permission: "" amount: 1 # 投掷物只需要定义 THROWABLE 分类,两个投掷槽位会共用这一组可选项 frag_grenade: display: "&a破片手雷" category: THROWABLE # 这里不填 subcategory,表示进入“未分组” source-type: MATERIAL source-id: "SNOWBALL" price: 150 default-unlocked: true permission: "" amount: 1 smoke_grenade: display: "&a烟雾弹" category: THROWABLE source-type: MATERIAL source-id: "SLIME_BALL" price: 200 default-unlocked: false permission: "" amount: 1 # 护甲部分可使用原版物品,也可以改成 TEMPLATE 或 TACZ_GUN 以外的自定义物资 basic_helmet: display: "&b基础头盔" category: HELMET source-type: MATERIAL source-id: "IRON_HELMET" price: 0 default-unlocked: true permission: "" basic_chestplate: display: "&b基础胸甲" category: CHESTPLATE source-type: MATERIAL source-id: "IRON_CHESTPLATE" price: 0 default-unlocked: true permission: "" basic_leggings: display: "&b基础护腿" category: LEGGINGS source-type: MATERIAL source-id: "IRON_LEGGINGS" price: 0 default-unlocked: true permission: "" basic_boots: display: "&b基础鞋子" category: BOOTS source-type: MATERIAL source-id: "IRON_BOOTS" price: 0 default-unlocked: true permission: "" # 背包扩容商店配置 backpack-upgrades: # upgradeId 同样会写入玩家档案,请勿在开服后随意更改 slot_upgrade_1: # 商店显示名称 display: "&d额外背包位 I" # 购买价格 price: 500 # 购买后增加的背包数量 extra-slots: 1 # 可选权限。拥有该权限时也会被视为已满足条件。 permission: "" slot_upgrade_2: display: "&d额外背包位 II" price: 1000 extra-slots: 1 permission: ""
-
代码:
# ======================================= # WarZTacZLoadout 商品目录覆盖文件 # 用途: # 1. 这个文件专门给“服主 / 管理员在线编辑器”使用。 # 2. 插件会先读取 catalog.yml,再读取本文件进行覆盖。 # 3. 这样既能保留默认 catalog.yml 的详细中文注释,也能让管理员在游戏内直接维护商品。 # # 说明: # - options 下的同名条目会覆盖 catalog.yml 中的原条目 # - subcategories 下的同名类型定义也会覆盖 catalog.yml 中的原条目 # - removed-options 中的条目会从最终目录中移除 # - 管理员新增的商品会默认写入这个文件 # ======================================= # 如果需要,也可以在这里覆盖二级分类定义 # 例如: # subcategories: # PRIMARY: # rifle: # display: "&6突击步枪" # icon: "CROSSBOW" # order: 5 subcategories: {} options: {} # 需要从最终目录中隐藏/删除的 optionId 列表 removed-options: [] # 如果后续需要,也可以在这里覆盖 backpack-upgrades backpack-upgrades: {}
-
代码:
# ======================================= # WarZTacZLoadout 语言文件 # 说明: # 1. 所有消息支持 Bukkit 颜色代码,使用 & 作为前缀。 # 2. `${prefix}` 会自动替换为本文件中的 prefix 值。 # 3. `${player}` `${points}` `${count}` `${index}` `${slot}` `${option}` 等是动态占位符。 # 4. apply_mode_* 与 state_* 是可复用的状态片段,不应自行再拼接 prefix。 # ======================================= # 插件统一前缀 prefix: "&f[&6&lWarZ&f&lTacZLoadout&f] &r" # 可复用状态文本 state_ready: "&a已就绪" state_missing: "&c未接入" state_unavailable: "&e不可用" # 背包生效模式显示文本 apply_mode_immediate: "&a立即生效" apply_mode_manual: "&e手动生效" # 基础反馈消息 no_permission: "${prefix}&c你没有权限执行此操作。" player_only: "${prefix}&e该功能只能由玩家在游戏内使用。" reload_ok: "${prefix}&a主配置、语言文件与物品目录已重新载入。" target_not_found: "${prefix}&c未找到在线玩家 &f${player}&c。" world_not_allowed: "${prefix}&c当前世界 &f${world} &c已禁用作战背包功能。" # 背包与编辑器反馈 apply_success: "${prefix}&a当前作战背包已完成下发,本次覆盖了 &e${count} &a个受控槽位。" backpack_selected: "${prefix}&a已切换至作战背包 &e#${index}&a。" slot_updated: "${prefix}&a槽位 &e${slot} &a已设置为 &f${option}&a。" slot_cleared: "${prefix}&e槽位 &f${slot} &e已清空。" backpack_cleared: "${prefix}&e作战背包 &f#${index} &e的全部槽位已清空。" option_locked: "${prefix}&c该物品尚未解锁或没有权限,暂时无法选择。" option_already_unlocked: "${prefix}&e这个物品已经解锁,可以直接去背包配置界面使用。" upgrade_already_owned: "${prefix}&e这个背包扩容项你已经购买过了。" admin_catalog_created: "${prefix}&a已将手持物品加入目录,商品 ID: &e${option} &7(分类: ${category}&7)" admin_catalog_updated: "${prefix}&a商品 &e${option} &a已保存。" admin_catalog_deleted: "${prefix}&e商品 &f${option} &e已从最终目录中移除。" admin_catalog_save_failed: "${prefix}&c目录保存失败,请检查手持物品是否有效,或确认文件可写。" # 商店与积分反馈 purchase_success: "${prefix}&a购买成功,该项目已加入你的可用列表。" purchase_failed: "${prefix}&c购买失败,可能是积分不足、已经购买过,或当前条件未满足。" points_rewarded: "${prefix}&a击杀奖励到账,获得 &e${points} &a积分。" points_granted: "${prefix}&a已成功发放 &e${points} &a积分。" points_set: "${prefix}&a目标积分已设置为 &e${points}&a。" unlock_success: "${prefix}&a指定选项 &e${option} &a已成功解锁。" # 模板采集反馈 template_saved: "${prefix}&a模板保存成功: &e${template}&a。" template_save_failed: "${prefix}&c模板保存失败,请检查手持物品是否有效,或确认插件目录可写。" invalid_item_in_hand: "${prefix}&c请先手持一个有效物品,再执行模板采集。" # 管理员用法提示 usage_admin_capture: "${prefix}&e用法: &f/wtzl admin capture <templateId>" usage_admin_givepoints: "${prefix}&e用法: &f/wtzl admin givepoints <player> <amount>" usage_admin_setpoints: "${prefix}&e用法: &f/wtzl admin setpoints <player> <amount>" usage_admin_unlock: "${prefix}&e用法: &f/wtzl admin unlock <player> <optionId>" # 命令帮助 help_header: "&6&lWarZTacZLoadout &7- 命令导航" help_open: "&e/wtzl open &7- 打开主界面" help_apply: "&e/wtzl apply [player] &7- 应用当前选中的作战背包" help_points: "&e/wtzl points &7- 查看自己的积分" help_status: "&e/wtzl status [player] &7- 查看战备档案状态" help_tacz: "&e/wtzl tacz &7- 查看 TacZ 兼容状态" help_reload: "&e/wtzl reload &7- 重载配置与目录" help_admin_capture: "&e/wtzl admin capture <templateId> &7- 保存手持物品为模板" help_admin_givepoints: "&e/wtzl admin givepoints <player> <amount> &7- 给玩家增加积分" help_admin_setpoints: "&e/wtzl admin setpoints <player> <amount> &7- 直接设置玩家积分" help_admin_unlock: "&e/wtzl admin unlock <player> <optionId> &7- 直接解锁一个选项" help_admin_catalog: "&e/wtzl admin catalog &7- 打开在线商品目录编辑器" # 玩家状态查看 status_header: "${prefix}&7──── &6玩家战备状态 &7────" status_player: "${prefix}&f玩家: &e${player}" status_points: "${prefix}&f当前积分: &e${points}" status_selected_backpack: "${prefix}&f当前背包: &e#${selected}" status_backpack_limit: "${prefix}&f可用背包数: &e${limit}" status_apply_mode: "${prefix}&f背包生效模式: ${mode}" # TacZ 状态查看 tacz_header: "${prefix}&7──── &6TacZ 兼容状态 &7────" tacz_service: "${prefix}&fBridge 服务: ${service}" tacz_runtime: "${prefix}&fTacZ 运行时: ${runtime}" tacz_builder: "${prefix}&f枪械构建能力: ${builder}" tacz_gun_count: "${prefix}&f已识别枪械 ID 数量: &e${count}"
-
代码:
# ======================================= # WarZTacZLoadout 模板物品库 # 使用方式: # 1. 管理员手持想要录入的自定义物品。 # 2. 执行 /wtzl admin capture <templateId>。 # 3. 插件会把完整 ItemStack 序列化到这里。 # 4. 然后在 catalog.yml 中使用: # source-type: TEMPLATE # source-id: "<templateId>" # # 注意: # - item 字段是序列化后的编码字符串,不建议手动编辑。 # - templateId 建议使用小写英文、数字和下划线。 # ======================================= templates: {} # 示例: # templates: # medical_kit: # item: "Base64EncodedItemData"
适用服务器类型
- WarZ / DayZ / 生存PVP服
- 枪战服务器
- 小队副本 / 战场玩法
- 商业服(强烈推荐)
常见问题
TacZ 枪无法生成
✔ 检查 Bridge + TacZ 是否正确安装
✔ 检查枪械 ID 是否填写正确
✔ 检查枪械 ID 是否填写正确
背包切换没生效
✔ 查看是否为 MANUAL 模式
✔ 使用 /wtzl apply
✔ 使用 /wtzl apply
配置没更新
✔ 删除旧配置后重启生成新版
总结
WarZTacZLoadout = 战斗体验强化核心插件
✔ 降低插件数量
✔ 提高玩法完整度
✔ 强扩展 + 商业可用
✔ 降低插件数量
✔ 提高玩法完整度
✔ 强扩展 + 商业可用
获取 & 反馈
如需定制 / 二开 / 商业授权 / 技术支持
欢迎私信联系
欢迎私信联系
如果你正在做 WarZ / 枪战服 / 商业服
这个插件基本就是你缺的“核心骨架”。
这个插件基本就是你缺的“核心骨架”。