目标:确定比赛的目标。例如,CATCH_AMOUNT
表示抓到最多鱼的玩家获胜。
# TOTAL_SCORE
# CATCH_AMOUNT
# MAX_SIZE
# MIN_SIZE
# TOTAL_SIZE
# RANDOM
goal: CATCH_AMOUNT
开始日期:指定比赛开始的日期。
开始时间:确定比赛在一天内开始的时间。
start-time:
- '9:30'
- '14:30'
- '20:00'
持续时间:定义比赛持续的时间,单位为秒。
最低玩家数:比赛开始所需的最低玩家人数。
跳过动作:如果未达到最低玩家人数,执行的操作。
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 排名机制:
在 competition
子部分内部,找到 redis-ranking
。
将 redis-ranking
的值设置为 true
。
mechanics:
competition:
redis-ranking: true
Redis 设置
要设置 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
设置。
找到 placeholder-limit
设置。如果不存在,您可能需要手动添加它。
将其值设置为您希望显示的前几名竞争者的实时数据。例如,如果您想显示前 5 名竞争者的数据,请将其设置为 5:
mechanics:
competition:
placeholder-limit: 5