比赛

目标:确定比赛的目标。例如,CATCH_AMOUNT 表示抓到最多鱼的玩家获胜。

# TOTAL_SCORE
# CATCH_AMOUNT
# MAX_SIZE
# MIN_SIZE
# TOTAL_SIZE
# RANDOM
goal: CATCH_AMOUNT

开始日期:指定比赛开始的日期。

start-weekday:
  - 6
  - 7

开始时间:确定比赛在一天内开始的时间。

start-time:
  - '9:30'
  - '14:30'
  - '20:00'

持续时间:定义比赛持续的时间,单位为秒。

duration: 300

最低玩家数:比赛开始所需的最低玩家人数。

min-players: 2

跳过动作:如果未达到最低玩家人数,执行的操作。

skip-actions:
  broadcast:
    type: broadcast
    value:
      - '玩家人数不足,无法按计划开始钓鱼比赛。'

Boss栏:与比赛期间Boss栏显示相关的设置。向玩家提供信息。

bossbar:
  enable: true
  color: WHITE
  overlay: PROGRESS
  text:
    - '<gray>[<#87CEFA>🎣<gray>] <gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{seconds}s <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>你的排名: <#E6E6FA>{rank} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>第一名玩家: <#E6E6FA>{1_player}'
    - '<gray>[<#87CEFA>🎣<gray>] <gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{minute}{second} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>你的得分: <#E6E6FA>{score} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>第一名得分: <#E6E6FA>{1_score}'
    - '<gray>[<#87CEFA>🎣<gray>] <gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{minute}{second} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>获胜条件: <#E6E6FA>{goal}'
  refresh-rate: 20
  switch-interval: 200
  only-show-to-participants: true

动作栏:Boss栏的替代 UI。在动作栏中提供信息。

actionbar:
  enable: false
  text:
    - '<gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{seconds}s <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>你的排名: <#E6E6FA>{rank} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>第一名玩家: <#E6E6FA>{1_player}'
    - '<gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{minute}{second} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>你的得分: <#E6E6FA>{score} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>第一名得分: <#E6E6FA>{1_score}'
    - '<gradient:#F0F8FF:#87CEFA:#F0F8FF>剩余时间: <#E6E6FA>{minute}{second} <gray>| <gradient:#F0F8FF:#87CEFA:#F0F8FF>获胜条件: <#E6E6FA>{goal}'
  refresh-rate: 5
  switch-interval: 200
  only-show-to-participants: true

开始和结束动作:定义比赛开始和结束时要执行的动作。

start-actions:
  ...
end-actions:
  ...

加入动作:玩家加入比赛时要执行的动作。

participate-actions:
  ...

奖励:根据玩家的排名或参与情况确定奖励。

rewards:
  1:
    command_action:
      type: command
      value:
        - 'money give {player} 200'
    messages_action:
      type: message
      value:
        - '<#FF4500>[第1名] 恭喜你!你获得了第一名奖励!'
  2:
    command_action:
      type: command
      value:
        - 'money give {player} 100'
    messages_action:
      type: message
      value:
        - '<#FF4500>[第2名] 机会稍纵即逝,下次再试吧!'
  3:
    command_action:
      type: command
      value:
        - 'money give {player} 100'
    messages_action:
      type: message
      value:
        - '<#FF4500>[第3名] 机会稍纵即逝,下次再试吧!'
      
        <-- 4,5,6...  
      
  participation:
    command_action:
      type: command
      value:
        - 'money give {player} 10'
    messages_action:
      type: message
      value:
        - '<#FF4500>感谢您的参与!'

Redis 排名

为了在多个服务器之间设置同步的钓鱼比赛,插件提供了与 Redis 的集成,用于实时排名更新。这确保了不同服务器上的玩家可以参加同一活动并查看实时排名。

启用 Redis 排名

按照以下步骤激活 Redis 排名机制:

  1. 找到你的 config.yml 文件。

  2. 找到 mechanics 部分。

  3. competition 子部分内部,找到 redis-ranking

  4. redis-ranking 的值设置为 true

mechanics:
  competition:
    redis-ranking: true

Redis 设置

要设置 Redis,请按照以下步骤操作:

  1. 打开 database.yml 文件。

  2. 滚动查找 Redis 部分。

  3. 根据你的 Redis 设置更新配置设置:

Redis:
  enable: true               # 设置为 true 以启用 Redis 集成
  host: [你的_Redis_主机]    # 用你的 Redis 服务器地址替换
  #password: [你的密码]     # 如果需要,请取消注释并替换为你的 Redis 密码
  port: [你的_Redis_端口]    # 用你的 Redis 服务器端口替换
  use-ssl: [true/false]      # 如果使用 SSL 进行 Redis 连接,请设置为 true
  MaxTotal: 10               # 池可分配的最大资源数
  MaxIdle: 10                # 池中空闲资源的最大数量
  MinIdle: 1                 # 池中空闲资源的最小数量
  MaxWaitMillis: 30000       # borrowObject 方法在抛出异常之前应阻塞的最长时间
  MinEvictableIdleTimeMillis: 1800000  # 对象在池中空闲可被逐出之前可待的最短时间

保存并重新加载插件。

占位符限制

钓鱼插件使用缓存机制优化性能,特别是通过 Redis 在多个服务器之间同步数据时。出于性能考虑,默认情况下,该插件仅同步前三名竞争者的实时数据变量。如果您希望实时显示更多竞争者的数据,您需要调整 placeholder-limit 设置。

  1. 找到你的 config.yml 文件。

  2. 找到 mechanics 部分。

  3. 找到 competition 部分。

  4. 找到 placeholder-limit 设置。如果不存在,您可能需要手动添加它。

  5. 将其值设置为您希望显示的前几名竞争者的实时数据。例如,如果您想显示前 5 名竞争者的数据,请将其设置为 5:

mechanics:
  competition:
    placeholder-limit: 5

最后更新于