资源图标

原创 开源 娱乐 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
下载
624
查看
1,937
首次发布
最后更新

评分

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 中的一处文本错误 补全...
后退
顶部 底部