• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
资源图标

原创 开源 娱乐 PVPArenas—— 一个可以进行单挑、组队的 PVP 插件 0.1.1-dev

版权类型
原创
插件中文名称
PVPArenas
插件英文名称
PVPArenas
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
  4. 其他核心
语言支持
多语言
前置组件
PlaceholderAPI(可选) Vault(可选) HolographicDisplays(可选)
Illusion(可选)
适配版本(Java)
  1. 1.21
  2. 1.20

PVPArenas 一个可以进行单挑、组队的 PVP 小游戏插件

重要信息
插件目前处于开发过程中, 运行不稳定
直到 1.0.0 版本发布之前,您都应当在您的测试服务器中应用本插件, 而不是您的正式服务器上
为了能够更加地完善本插件, 在此积极欢迎各位 MC 服主测试本插件并反馈插件漏洞, 或者对本插件提出建议.


插件的版本
本插件的开发环境为 SpigotAPI-1.20.4, 可直接使用在版本为 1.20.4 的服务器上, 对于其它版本的服务器并未进行测试, 目前正在进行测试中

通过测试的服务器版本

最新版的下载地址

插件的功能

  1. 可以通过配置自定义段位, 单挑模式和组队模式的段位数据是分开的
  2. 自定义进行 PVP 时的命令白名单
  3. 可以自定义奖励
  4. 可以自定义自己的语言
  5. 支持 MySQL 和 Sqlite 数据库
  6. 可以通过工具选择竞技场区域并进行创建
  7. 全部命令均实现了自动补全
  8. 所有文本内容均支持 PlaceHolderAPI 和 HEX 颜色
  9. 可以根据多种数据创建排行榜

插件命令、权限、占位符等相关信息请前往开原地址查看

快速上手——创建一个竞技场


配置文件
YAML:
#########################################################
# PVPArenas 插件文本内容占位符介绍
#########################################################
# 所有文本均支持 RGB 颜色代码
#
# RGB颜色格式: {<Color>[,<arg1>,<arg2>,...]}
# 例子:
# 1. {#FFFFFF}RGB颜色文本
# 2. {#FFFFFF,&l}加粗的RGB颜色文本
# 3. {#FFFFFF,&l,&n}加粗和下划线的RGB颜色文本
#########################################################
# 支持渐变 & 彩虹渐变
#
# 渐变色格式: {<Color1>-><Color2>[,<arg1>,<arg2>,...]}
# 例子:
# 1. {#04ff00->#bf0000}渐变文字
# 2. {#04ff00->#bf0000,&l}加粗的渐变文字
# 3. {#04ff00->#bf0000,&l,&n}加粗和下划线的渐变文字
#
# 彩虹渐变格式: {rainbow[,<arg1>,<arg2>,...]}
# 例子:
# 1. {rainbow}彩虹渐变文字
# 2. {rainbow,&l}加粗彩虹渐变
# 3. {rainbow,&l,&n}加粗和下划线的彩虹渐变文字
#########################################################
cfgVer: 1.0
debug: false

# 检查更新
update-check: true

#########################################################
# 数据存储配置
#########################################################
# 数据存储类型 (大小写不敏感)
# sqlite: 使用轻量化数据库, 数据存储为 *.db 文件格式
# mysql: 使用远程数据库
storage: sqlite

# 当上方 "storage" 项为 "mysql" 时配置以下内容
mysql:
  host: localhost:3306 # 远程地址
  useSSL: false # 使用 ssl 进行安全连接(如果 mysql 服务器启用了 ssl 连接的话)
  user: user # 用户名
  pwd: pwd   # 密码
  database: PVPArenas # 数据库名

#########################################################
# PVP 场地创建相关设置
#########################################################
select_tool: STICK # 区域选择物品
displayBoundary: true # 使用粒子显示边界

#########################################################
# PVP 排行榜设置
# 用于建立全息显示排行榜
#########################################################
rank-enabled: true # 启用排行榜
refresh-time: 60   # 排行榜刷新时间, 单位: 秒
display_limit: 10 # 前多少名显示到排行榜中

# 排行榜格式
#
# 通过前缀: "$rank$" 列出排行榜中的玩家
# 前缀只能同时存在 1 个
#
# 可用的占位符:
# - {identifier_name} 排行榜依据名称
# - {player} 玩家名称
# - {value} 玩家对应依据的值
# - {rank} 对应的排名
lineFormat:
  - "&b本服务器中的 {identifier_name} 排行榜"
  - "&6&l========== &f[&6PVP&e&oArena&f] &6&l=========="
  - "$rank$&6{rank}.玩家: {player} &5-&b {identifier_name}: &a{value}"
  - "&6&l========== &f[&6PVP&e&oArena&f] &6&l=========="

# 配置依赖插件
dep-plugin:
  # 是否使用依赖插件创建全息图, 若为 false 则使用插件内部实现创建
  enabled: false
  # 使用的依赖插件名, 目前支持的有
  # - Illusion (新版名称, 原名成为 HolographicDisplays)
  ##############################
  # 填写 Illusion 和 HolographicDisplays 的效果是一样的
  plugin_name: HolographicDisplays

#########################################################
# PVP 时的命令白名单,
# 在进行 PVP 对战时仅可执行这些命令
# 包括加入队伍后等待时
#########################################################
cmd_whiteList:
  - pvp
  - pvpquit # 退出 pvp 竞技 (执行命令后被视为逃跑)

#########################################################
# 聊天显示段位
#########################################################
chatRank:
  enable: true
  # 聊天格式
  # {message} 代表原始内容玩家的前缀、后缀以及消息内容
  format: "&f[%pvparena_solo_rank_title%&f][%pvparena_party_rank_title%&f]{message}"

#########################################################
# PVP 配置
#########################################################
# 该设置仅在团队对战模式下生效
# 当玩家意外断开连接时,最大等待重连的时间
# 若超过该时间玩家仍未重新连接到服务器则直接判定玩家为逃跑, 并施予该玩家相应惩罚
# 设置为 -1 代表无限等待直至重新加入, 若直到游戏结束玩家仍未重新加入, 则判定为玩家逃跑
# 设置为 0  代表不等待直接判定为逃跑
# 单位: 秒
waitingForDisconnect: 60

# 双方人数达标后的等待时间
# 单位: 秒
readyTime: 10
# 游戏结束后在竞技场中等待的时间
# 单位: 秒
stopWaitTime: 10

# 连杀判定和播报
# 设置仅在团队竞技模式下有效
# 连杀判定: 本回合时间内击杀的敌方人数
killStreak:
  enable: true # 启用连杀判定和播报
  counts:
    # 连杀次数
    3:
      # 连杀音效,  格式: [音效 id,音量,音阶] 除了音效 id 外, 其余参数均为可选参数
      sound: "BLOCK_ANVIL_PLACE,1,2"
      # 播报消息, 支持 RGB, 支持 PlaceholderAPI
      message: "&6PVP &b>> &a玩家 &e%player_name% &a在竞技场 &e%pvparenas_gaming_arena% &a中 &a达成了 3 连杀!"

#########################################################
# PVP 段位 & 奖励设置
#########################################################
# 1V1 对战
solo:
  max_time: 120 # 一局单挑对战的最大时长, 单位: 秒
  max_amt: 3 # 1v1 对战时, 战胜同一玩家后, 最大可获得的奖励次数, 该值小于等于 0 时为无限制
  refresh: 0 # 重置对战奖励次数的时间, 范围 0-23; 分别表示当日的整点时间
  exp_win: # 因赢得比赛获得的经验值 (默认值 各个段位可分别设置获得的经验)
    min: 10 # 获得经验的最小值
    max: 20 # 获得经验的最大值
    # 对局胜利后的奖励 (默认值 各个段位可分别设置获得的奖励)
    #
    # give-item: STONE,25,&6石头  # 格式为: 物品id,数量,名字 || 给与玩家指定物品,
    #                            # 每个逗号分隔的值, 除了物品 id 外, 均为可选择的值
    # give-money: 100               # 给予玩家指定数量的经济
    # message: %player_name% hello! # 向玩家发送消息
    # command: say hello! %player_name%  # 以玩家身份执行命令
    # console: say hello! %player_name%  # 以控制台身份执行命令
    #
    # *支持 PlaceHolderAPI 变量
    # *message 支持 RGB 颜色
    awards:
      - 'give-money: 120'
      - 'give-item: STONE,25,&6石头'
      - 'message: &3&m=================================================='
      - 'message: &b恭喜你赢得了本场比赛! %player_name%'
      - 'message: &a本场比赛你获得了 %pvparena_last_solo_exp% 经验'
      - 'message: &3当前段位:%pvparena_solo_rank_title% &3(距离下一段位还差 &e%pvparena_solo_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  exp_defeat: # 因输掉比赛失去的经验值 (默认值, 各个段位可分别设置失去的经验)
    min: 10 # 失去经验的最小值
    max: 20 # 失去经验的最大值
    # 对局失败后的 "奖励", 配置方法同上
    awards:
      - 'message: &3&m=================================================='
      - 'message: &cOops! 你输掉了本场比赛...'
      - 'message: &3你失去了 %pvparena_last_solo_exp% 经验值'
      - 'message: &3当前段位:%pvparena_solo_rank_title% &3(距离下一段位还差 &e%pvparena_solo_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  exp_escape: # 因逃赛失去的经验值 (默认值, 各个段位可分别设置失去的经验)
    min: 30 # 失去经验的最小值
    max: 50 # 失去经验的最大值
    # 逃赛的 "奖励", 配置方法同上
    awards:
      - 'message: &3&m=================================================='
      - 'message: &c你 逃 跑 了!'
      - 'message: &3你失去了 %pvparena_last_solo_exp% 经验值'
      - 'message: &3当前段位:%pvparena_solo_rank_title% &3(距离下一段位还差 &e%pvparena_solo_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  # 段位,等级自上而下依次增高
  ranks:
    # 不要重复就行,暂时没啥大用
    lvl_1:
      title: '&a初来乍到' # 段位名
      reqExp: 0          # 到达本段位需要的经验值
      # 达到该段位的奖励, 配置方法同上
      awards:
        - 'give-item: STONE,25,&6石头'
      exp_win: # 该段位下赢得比赛获得的经验值
        min: 10 # 获得经验的最小值
        max: 20 # 获得经验的最大值
        # 胜利后可获得的奖励, 配置方法同上
        awards:
          - 'give-item: STONE,25,&6石头'
      exp_defeat: # 该段位下输掉比赛失去的经验值
        min: 10 # 失去经验的最小值
        max: 20 # 失去经验的最大值
        # 对局失败后的 "奖励", 配置方法同上
        awards:
          - ''
      # exp_escape: # 该段位下因逃赛失去的经验值
      #   min: 30 # 失去经验的最小值
      #   max: 50 # 失去经验的最大值
      #   # 该段位下逃跑后的 "奖励", 配置方法同上
      #   awards: []
    lvl_2:
      title: '&a初出茅庐'
      reqExp: 100
    lvl_3:
      title: '&5江湖勇者'
      reqExp: 500
    lvl_4:
      title: '&5江湖智者'
      reqExp: 1000
    lvl_5:
      title: '&3武学奇才'
      reqExp: 1500
    lvl_6:
      title: '&c武场称霸'
      reqExp: 2000
    lvl_7:
      title: '&4武林霸主'
      reqExp: 2500

# 组队 pvp
party:
  max_time: 120 # 一局组队对战的最大游戏时间, 单位: 秒
  maxAmt: 10 # 组队 PVP 当日可获得奖励的最大次数, 该值小于等于 0 时为无限制
  refresh: 0 # 重置对战奖励次数的时间, 范围 0-23; 分别表示当日的整点时间
  teamDamage: false # 是否开启队友伤害
  exp_win:
    min: 10
    max: 20
    awards:
      - 'message: &3&m=================================================='
      - 'message: &b恭喜你赢得了本场比赛! %player_name%'
      - 'message: &a本场比赛你获得了 %pvparena_last_party_exp% 经验'
      - 'message: &3当前段位:%pvparena_party_rank_title% &3(距离下一段位还差 &e%pvparena_party_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  exp_defeat:
    min: 10
    max: 20
    awards:
      - 'message: &3&m=================================================='
      - 'message: &cOops! 你输掉了本场比赛...'
      - 'message: &3你失去了 %pvparena_last_party_exp% 经验值'
      - 'message: &3当前段位:%pvparena_party_rank_title% &3(距离下一段位还差 &e%pvparena_party_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  exp_escape:
    min: 30
    max: 50
    awards:
      - 'message: &3&m=================================================='
      - 'message: &c你 逃 跑 了!'
      - 'message: &3你失去了 %pvparena_last_party_exp% 经验值'
      - 'message: &3当前段位:%pvparena_party_rank_title% &3(距离下一段位还差 &e%pvparena_party_next_rank_exp% &3经验值)'
      - 'message: &3&m=================================================='
  ranks:
    lvl_1:
      title: '&a青铜'
      reqExp: 0
    lvl_2:
      title: '&f白银'
      reqExp: 500
    lvl_3:
      title: '&f铂金'
      reqExp: 1000
    lvl_4:
      title: '&b钻石'
      reqExp: 1500
    lvl_5:
      title: '&6王者'
      reqExp: 2000
一些截图:
控制台:
console.png

游戏内截图
ingame.png

quickstart-1.png
  • 喜欢
反馈: CJYKK
作者
ed333
下载
492
查看
1,086
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. PVPArenas-0.1.1-dev

    2024-09-22 22:19 PVPArenas-0.1.1-dev1 🛠️问题修复 修复了当玩家被击杀后生成闪电时会生成火的问题 修复了变量...
  2. PVPArenas-0.1.0-dev

    🛠️问题修复 修复单挑对决中, 玩家名字中含有下划线时, 单日单挑最大次数不生效的问题 修复在段位升级时仍然显示上一段位的问题 修改 messages.yml 中的一处文本错误 补全...
后退
顶部 底部