• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
[1.21-1.21.11]FFA高版本决斗游戏 | 匹配系统 | AI决斗 | 回放系统 | 多人混战 支持Redis跨服匹配,均衡负载

原创 付费 游戏模式 [1.21-1.21.11]FFA高版本决斗游戏 | 匹配系统 | AI决斗 | 回放系统 | 多人混战 支持Redis跨服匹配,均衡负载 1.0

请登录后获取
版权类型
原创
插件中文名称
决斗游戏
插件英文名称
FFA
原帖地址
#
支持的核心(服务端)
  1. Paper
语言支持
中文(简体)
前置组件
PlaceholderAPI
适配版本(Java)
  1. 1.21
决斗游戏.webp

该小游戏已上线网易网络服,java/基岩版:搜索千阙云庭可体验

售后群 721033339
我这边可直接发放成品端供你学习

FFA 插件说明

1. 房间模板: 快速创建不同决斗玩法与地图。

2. 排位匹配: 自动匹配实力相近的对手。

3. 段位系统: 通过对局积分提升竞技段位。

4. 赛季系统: 支持赛季重置、结算与奖励。

5. PAPI变量: 支持展示段位、战绩、积分等数据。

6. 回放系统: 可观看自己的历史对局记录。

7. 观战系统: 实时观看其他玩家正在进行的决斗。

8. 盔甲纹饰商店: 解锁并自由搭配个性纹饰。

9. AI决斗: 可与不同难度的AI进行对战练习。

10. 战绩系统: 记录胜负、胜率、连胜等对局数据。

从匹配、段位到赛季、回放与 AI 对战,一套插件即可打造完整的高版本决斗竞技体验。

插件内部经过深度性能优化,针对房间模板创建与地图加载进行专项优化,并支持每日定时重置地图,可稳定承载百名玩家同时游玩。

游戏内截图

回放系统

1786866415478.webp
1786866502696.webp

决斗系统 支持编辑自定义布局

1786866573798.webp
1786866603260.webp

统计系统 支持统计每个决斗单独数据

1786866634345.webp
1786866650840.webp

AI决斗

1786866692264.webp
1786866704969.webp

约战系统 支持与好友1v1发起约战单挑

1786866738982.webp

观战系统

1786866788495.webp
1786866811065.webp

盔甲纹饰商店

1786866870958.webp
1786866894784.webp

看完是不是已经有点心动,想给自己的服务器也安排一个?完善的决斗游戏系统,超多玩法任你体验,持续更新,后续内容不断!

教程

  1. 在创建各种房间模板、区域之前,可使用 /ffa equipedit <战斗类型> 打开默认背包编辑器。
  2. 房间,区域和天坑有何不同? 房间是专门1v1独立单挑的;区域则是多人PVP混战的;天坑则是多人职业战争。

如何创建一个房间模板?

  1. 在创建房间模板之前,先准备好创世神模板文件,方便创建房间复制粘贴。
  2. 先输入 /ffa create <房间名> <ai/player> <人数> 创建并自动进入虚空世界,然后用创世神粘贴出地图模板。
  3. 然后输入 /ffa createteam <队伍名> 创建一个队伍(最多创建2个队伍)
  4. 输入 /ffa setspawn <队伍名> <ID> 设置队伍出生点(注意朝向),会记录位置和朝向。
  5. 然后输入 /ffa save 保存当前房间模板并退出编辑

注意:player 为普通玩家房间,ai 为 AI 对战房间;bwbrkb 分别为迷你起床战争、战桥和击退战争。每个房间必须创建 2 个队伍,每队人数可以按需要设置。

如何创建迷你起床战争?

以下示例创建一张名为“空岛遗迹”的 2v2 迷你起床战争地图:

  1. 输入 /ffa create 空岛遗迹 bw 2 创建模板并进入临时编辑世界。
  2. 建造或使用 FAWE 粘贴地图。
  3. 输入 /ffa createteam 红队/ffa createteam 蓝队 创建两个队伍;房间最多只能创建 2 个队伍。
  4. 分别站在各队出生位置并设置出生点:
    • /ffa setspawn 红队 1
    • /ffa setspawn 红队 2
    • /ffa setspawn 蓝队 1
    • /ffa setspawn 蓝队 2
  5. 将准星对准红队的床,输入 /ffa setbed 红队;再对准蓝队的床,输入 /ffa setbed 蓝队
  6. 使用选区工具框选需要复制的完整地图区域。
  7. 输入 /ffa save 保存模板并返回主城。
  8. plugins/FFA/menus/battle_types.yml 创建或修改对应模式,并通过非空 maps 列表指定该地图:

YAML:
modes:
  bedwars:
    slot: 19
    material: RED_BED
    name: "&e迷你起床战争"
    battletype: bedwars
    description: "&7摧毁敌方床并淘汰敌方队伍"
    maps:
      - "空岛遗迹"
    rounds: 1  # 回合数。 奇数3局2胜;偶数4局2胜为平,3胜为胜

迷你起床战争中,床存在时死亡会在 4 秒后复活;床被摧毁后再次死亡才会被最终淘汰。如果玩家已经进入复活倒计时,此时床被摧毁,该玩家仍可完成最后一次复活。


如何创建战桥?

以下示例创建一张名为“峡谷战桥”的 1v1 战桥地图:

  1. 输入 /ffa create 峡谷战桥 br 1 创建模板并进入编辑世界。
  2. 建造或粘贴地图,然后输入 /ffa createteam 红队/ffa createteam 蓝队
  3. 设置两个队伍的出生点:/ffa setspawn 红队 1/ffa setspawn 蓝队 1
  4. 用选区工具框选红队的得分区域,输入 /ffa setgoal 红队
  5. 重新框选蓝队的得分区域,输入 /ffa setgoal 蓝队
  6. setgoal 会清除当前选区,因此需要再次用选区工具框选整张地图的完整复制区域。
  7. 输入 /ffa save 保存模板。
  8. battle_types.yml 中添加战桥模式并指定地图:

YAML:
modes:
  bridge:
    slot: 20
    material: BLUE_CONCRETE
    name: "&e战桥"
    battletype: bridge
    description: "&7进入敌方区域即可获胜"
    maps:
      - "峡谷战桥"
    rounds: 1

/ffa setgoal <队伍> 设置的是该队伍一侧的区域;敌方玩家进入这个区域时,进入区域的玩家所属队伍获胜。战桥死亡后没有最终淘汰,会在本队出生点重新进入战斗。


如何创建击退战争?

以下示例创建一张名为“浮空擂台”的 3v3 击退战争地图:

  1. 输入 /ffa create 浮空擂台 kb 3 创建模板并进入编辑世界。
  2. 建造或粘贴地图,然后输入 /ffa createteam 红队/ffa createteam 蓝队
  3. 击退战争不使用队伍固定出生点。在地图不同位置依次输入以下指令,创建全场共用的随机出生点:
    • /ffa setspawn 1
    • /ffa setspawn 2
    • 可继续使用更大的编号添加更多出生点。
  4. 如需删除错误的随机出生点,使用 /ffa removespawn <编号>
  5. 使用选区工具框选完整地图区域,然后输入 /ffa save
  6. battle_types.yml 中添加击退战争模式并指定地图:

YAML:
modes:
  knockback:
    slot: 21
    material: STICK
    name: "&e击退战争"
    battletype: knockback
    description: "&72 分钟内死亡数较少的队伍获胜"
    maps:
      - "浮空擂台"
    rounds: 1 # 回合数

击退战争固定持续 2 分钟。玩家死亡后没有复活等待时间,并从已设置的出生点中随机选择一个位置复活;时间结束时死亡数较少的队伍获胜,死亡数相同则判定平局。ActionBar 会显示我方死亡数、敌方死亡数和剩余时间。

特殊模式地图绑定注意事项

  • maps 必须至少填写一张地图;特殊地图不会加入未指定地图的普通随机决斗。
  • maps 可填写 template.yml 中的 roomname,也兼容房间模板文件夹名。
  • 同一模式可以填写多张地图,对局创建时会从允许的地图中随机选择。
  • battletype 指向 plugins/FFA/battletype/<名称>.yml,可先通过 /ffa equipedit <名称> 编辑默认 Kit。
  • 完成配置后使用 /pvp reload 重载。

如何创建一个PVP区域?

  1. 在创建房间模板之前,先准备好创世神模板文件,方便复制粘贴。
  2. OP下进服会有给予的划分区域的木锄,选择矩形对角线
  3. 然后输入 /pvp createpvp <区域名> 创建一个区域,即可。
  4. 最后设置传送点 /pvp settp <名称> [title] [lore...] 玩家才可以前往该区域出生点。

如何创建一个天坑区域? (职业战争版的,可不要)

  1. OP下进服会有给予的划分区域的木锄,选择矩形对角线
  2. 然后输入 /pvp createpit <区域名> 创建一个区域,即可。

背包模板如何应用到房间或者区域?

  1. 房间: 文件路径 /FFA/menus/battle_types.yml

YAML:
  sword:
    slot: 11
    material: IRON_SWORD
    name: "§b对刀"
    battletype: sword # 设置指向 FFA/battletype/<名称>.yml,游戏开始会用这个背包模板
    lore:
      - "§7只搜索对刀或随机匹配玩家"
      - "§e点击加入匹配"
  # ... 你可以添加更多的对战类型,如重锤,盾斧等

  1. 区域: 文件路径 /FFA/region.yml

YAML:
  pvp_arena:
    world: world
    type: pvp
    battletype: sword # 指向 FFA/battletype/<名称>.yml, 进入区域用这个给予背包
    point1:
      x: 100.0
      y: 64.0
      z: 200.0
    point2:
      x: 150.0
      y: 70.0
      z: 250.0
  # ... 可以创建更多区域,如重锤,盾斧等

  1. 天坑: 文件路径 /FFA/menus/jobs.yml

YAML:
  sword:
    displayName: "轻装战士"
    color: AQUA
    iconMaterial: DIAMOND_SWORD
    battletype: warrior  # 指向 FFA/battletype/<名称>.yml,游戏开始会用这个背包模板
    lore:
      - ""
      - "&e点击选择此职业"

指令

管理员指令(ffa.admin

指令用法说明
/ffa create/ffa create <房间名> <ai/player> <人数>创建玩家或 AI 房间并进入编辑模式
/ffa edit/ffa edit <房间名>编辑已有房间模板
/ffa delete/ffa delete <房间名>删除房间模板
/ffa list/ffa list查看所有房间模板
/ffa createteam/ffa createteam <队伍名>在编辑房间中创建队伍
/ffa setspawn/ffa setspawn <队伍名> <ID>设置队伍出生点
/ffa removespawn/ffa removespawn <队伍名> <ID>删除队伍出生点
/ffa equipedit <战斗类型>/ffa equipedit bedwars打开默认背包编辑器并在菜单内保存
/ffa save/ffa save保存当前房间模板并退出编辑

指令用法说明
/pvp reload/pvp reload重载配置(消息、GUI、段位等)
/pvp createpvp/pvp createpvp <区域名>创建 PVP 区域
/pvp listpvp/pvp listpvp列出 PVP 区域
/pvp deletepvp/pvp deletepvp <区域名>删除 PVP 区域
/pvp createpit/pvp createpit <区域名>创建天坑区域
/pvp listpit/pvp listpit列出天坑区域
/pvp deletepit/pvp deletepit <区域名>删除天坑区域
/pvp setspawn/pvp setspawn设置大厅出生点
/pvp settp/pvp settp <名称> [title] [lore...]创建/覆盖传送点
/pvp listtp/pvp listtp列出传送点
/pvp deletetp/pvp deletetp <名称>删除传送点
/pvp addexp/pvp addexp <数量> [玩家]增加经验
/pvp removeexp/pvp removeexp <数量> [玩家]减少经验
/pvp addlevel/pvp addlevel <数量> [玩家]增加等级
/pvp removelevel/pvp removelevel <数量> [玩家]减少等级
/pvp setlevel/pvp setlevel <等级> [玩家]设置等级
/pvp addproficiency/pvp addproficiency <数值> [玩家]增加积分
/pvp removeproficiency/pvp removeproficiency <数值> [玩家]减少积分
/pvp newseason/pvp newseason <赛季ID>开启新赛季(赛季ID支持中文)

玩家指令

指令权限说明
/jobsffa.command.jobs打开职业菜单
/rankffa.command.ranked打开排位匹配菜单
/rtpffa.command.rtp打开决斗地点菜单
/challenge accept <玩家>ffa.command.challenge接受约战
/challenge deny <玩家>ffa.command.challenge拒绝约战
/soloffa.command.ranked打开单挑菜单
/challengemenuffa.command.challenge打开约战菜单
/aipracticeffa.command.ai-practice打开AI练习菜单

PAPI 变量

变量说明
%ffa_uuid%玩家 UUID
%ffa_name%玩家名
%ffa_current_class%当前职业内部名
%ffa_class_name%当前职业显示名
%ffa_level%等级
%ffa_experience%经验
%ffa_proficiency%积分
%ffa_rank%段位
%ffa_progress%升级进度百分比
%ffa_progress_bar%升级进度条
%ffa_required_exp%固定升级需求(当前实现为 500)

全局统计变量

变量说明
%ffa_pvp_total_kills%天坑区域 击杀
%ffa_pvp_total_damage%天坑区域 伤害
%ffa_pvp_total_deaths%天坑区域 死亡
%ffa_pvp_kd%天坑区域 KD
%ffa_ffa_total_kills%房间内 击杀
%ffa_ffa_total_damage%房间内 伤害
%ffa_ffa_total_deaths%房间内 死亡
%ffa_ffa_win%房间内 胜场
%ffa_ffa_fail%房间内 败场
%ffa_ffa_game_played%房间内 场次
%ffa_ffa_kd%房间内 KD

赛季变量

变量说明
%ffa_season_id%当前赛季 ID
%ffa_season_total_kills%赛季击杀
%ffa_season_total_damage%赛季伤害
%ffa_season_total_deaths%赛季死亡
%ffa_season_win%赛季房间内 胜场
%ffa_season_fail%赛季房间内 败场
%ffa_season_game_played%赛季房间内 场次

PVP区域变量

变量说明
%ffa_region_kills_<区域名>%PVP区域击杀
%ffa_region_deaths_<区域名>%PVP区域死亡
%ffa_region_kd_<区域名>%PVP区域 KD

作者
xinghan1
查看
253
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. 回放,观战,纹饰商店,AI对决系统大更新

    1. 新增回放系统(可配置不同权限最多回放数量,保留回放天数) 2. 新增观战系统 3. 新增自定义纹饰商店(支持vault,playerpoints两种货币) 4. 新增各个类型战绩系统...
后退
顶部 底部