- 版权类型
- 原创
- 插件中文名称
- 孤独钓鱼
- 插件英文名称
- LonelyFishing
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- Vault
NeigeItems: https://github.com/ankhorg/NeigeItems-Kotlin/releases
MythicMobs: https://mythiccraft.io/index.php?resources/mythicmobs.1/
- 适配版本(Java)
- 26.x
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
1.8-26.2 LonelyFishing v1.4.1
插件交流群: 1015929046
插件介绍
这是一款适配Vault经济系统 以及 MythicMobs 和 NeigeItems 两大知名物品库的钓鱼插件
该插件可以自定义鱼竿 以及 钓鱼能钓到的物品组
物品组可以自定义权重(以供钓上鱼时 进行一个概率抽取) 还可以自定义钓上鱼后获得的经验/金币/点券/自定义变量 触发的指令
并且还可以自定义鱼竿钓上鱼所需的拉竿次数(可以设置为一个随机数) 以达到一个简单地仿效现实中钓鱼的效果
同时也让玩家更能在游戏中钓鱼挂机(该插件是基于挂机的理念进行创作的)
配置文件
config.yml
YAML:
# ============================ LonelyFishing 通用配置 ============================
# 是否阻止玩家使用 "未在 rods.yml 中配置" 的鱼竿(含原版鱼竿)钓鱼
# true : 只有 rods.yml 中配置的鱼竿才能钓鱼, 其余鱼竿抛竿时会被取消并提示
# false : 未配置的鱼竿按原版钓鱼处理, 配置过的鱼竿走本插件的奖励逻辑
block-vanilla-rods: true
# 未配置鱼竿提示的发送冷却 (秒), 防止刷屏
message-cooldown: 3
# 钓上物品后, 若背包满则是否将物品掉落在玩家脚下
drop-when-full: true
# ============================ lore 加成配置 ============================
# 鱼竿 lore 加成: 通过检测鱼竿上的 lore 行来增加钓率、加快钓鱼速度、增加拉竿窗口、
# 提升金币/点券/经验/自定义变量获取倍率, 以及一次性钓上的条数。
#
# 字段说明 (每个条目, 除 lore 外均可留空, 留空 = 不触发该项加成):
# lore : 触发加成所需的 lore 子串 (匹配前会对鱼竿 lore 和此关键字都去除颜色码)
# 只要鱼竿任意一行 lore 包含此关键字即视为命中
# catch-rate-bonus : 钓上鱼概率加成, 0.1 表示 +10%
# 计算方式: 最终概率 = 鱼竿基础 catch-rate * (1 + 加成), 上限 100%
# 多个命中条目做乘法叠加 (例: 两个 0.1 -> * 1.1 * 1.1)
# wait-time-bonus : 加快钓到鱼速度, 0.1 表示加快 10%
# 计算方式: 实际等待 = 鱼竿 wait-time * (1 - 加成), 多个条目加法累加后一次乘
# 例: wait-time 100 ticks + 加成 0.1 -> 100 * 0.9 = 90 ticks (更快咬钩)
# lure-time-bonus : 增加拉竿窗口时间, 0.1 表示 +10%
# 计算方式: 实际窗口 = 鱼竿 lure-time * (1 + 加成), 多个条目加法累加后一次乘
# 例: lure-time 200 ticks + 加成 0.1 -> 200 * 1.1 = 220 ticks (更多时间拉杆)
# money-bonus : 金币获取倍率加成, 0.1 表示 +10%
# 计算方式: 最终倍率 = 鱼竿 money-multiplier * (1 + 加成), 多个条目加法累加
# points-bonus : 点券获取倍率加成, 同上
# exp-bonus : 经验获取倍率加成, 同上
# variable-bonuses : 自定义变量倍率加成 (变量名 -> 加成百分比), 对应 config.yml 的 custom-variables
# 计算方式: 最终倍率 = 鱼竿 variable-multipliers[变量] * (1 + 加成)
# 例: variable-bonuses: {ll_level: 0.1} -> ll_level 变量获取 +10%
# multi-catch : 命中后按概率提升一次性钓上的条数 (取命中条目最大 amount, 默认 1 条)
# - chance : 命中此条目的概率 (0-1)
# - amount : 一次性钓上的条数 (>=2 才会生效)
#
# 示例: 鱼竿上有 lore "海之眷顾 I"
# - 钓上鱼概率 +10% (基础 0.8 -> 0.8 * 1.1 = 0.88)
# - 加快钓到鱼速度 10% (wait-time 100 -> 90 ticks)
# - 增加拉竿窗口 10% (lure-time 200 -> 220 ticks)
# - 金币/点券/经验/ll_level 变量获取 +10%
# - 10% 概率一次性钓上 2 条
lore-bonuses:
- lore: "海之眷顾 I"
catch-rate-bonus: 0.1
wait-time-bonus: 0.1
lure-time-bonus: 0.1
money-bonus: 0.1
points-bonus: 0.1
exp-bonus: 0.1
variable-bonuses:
ll_level: 0.1
multi-catch:
- chance: 0.1
amount: 2
- lore: "海之眷顾 II"
catch-rate-bonus: 0.2
wait-time-bonus: 0.15
lure-time-bonus: 0.15
money-bonus: 0.2
points-bonus: 0.2
exp-bonus: 0.2
variable-bonuses:
ll_level: 0.2
multi-catch:
- chance: 0.2
amount: 2
- chance: 0.05
amount: 3
- lore: "海之眷顾 III"
catch-rate-bonus: 0.3
wait-time-bonus: 0.2
lure-time-bonus: 0.2
money-bonus: 0.3
points-bonus: 0.3
exp-bonus: 0.3
variable-bonuses:
ll_level: 0.3
multi-catch:
- chance: 0.3
amount: 2
- chance: 0.1
amount: 3
# ============================ 自定义变量配置 ============================
# 钓到鱼时可以增加玩家的自定义变量 (如等级、声望、积分等)。
# 变量当前值通过 PlaceholderAPI 占位符读取 (用于消息提示), 变量值增加通过指令完成
# (PAPI 本身只读, 不能直接写; 由变量所属插件自己的指令完成增加, 如 LevelLocals 的 /ll add)。
#
# 工作流程:
# 1. 物品组 (itemGroups.yml) 中物品配置 variables: {变量名: 基础值}
# 2. 鱼竿 (rods.yml) 可配置 variable-multipliers: {变量名: 倍率} 和 variable-messages: {变量名: 消息模板}
# 3. 钓上鱼时: 最终增加量 = 物品基础值 * 鱼竿倍率
# 4. 执行 add-command 增加变量 (替换 {amount} 和 %player_name%)
# 5. 发送 message 提示 (替换占位符 + 上色)
#
# 字段说明 (每个变量):
# placeholder : 读取该变量当前值的 PAPI 占位符 (用于消息提示中的 {current})
# 需要安装 PlaceholderAPI 插件; 未安装时 {current} 为空, 但 add-command 仍会执行
# add-command : 增加变量的指令模板, 支持 {amount} (最终增加量) 和 %player_name% 占位符
# {amount} 会被替换为: 物品基础值 * 鱼竿倍率
# 例: "ll add %player_name% {amount} 默认" -> /ll add Steve 5 默认
# 留空则只发消息不增加变量 (仅用于展示)
# message : 增加后发送给玩家的提示 (留空则不发送)
# 占位符: {amount}(最终增加量) {base}(物品基础值) {multiplier}(鱼竿倍率)
# {current}(增加后的当前值, 通过 placeholder 读取) {player}(玩家名)
# 支持 & 颜色码
# 鱼竿 (rods.yml) 可用 variable-messages 覆盖此消息
custom-variables:
ll_level:
placeholder: "%ll_level-默认%"
add-command: "ll add %player_name% {amount} 默认"
message: "&a+{amount} 等级 &7(基础 {base} × {multiplier}, 当前: &e{current}&7)"
message.yml
YAML:
# ============================ 消息配置 ============================
# 支持颜色代码 & / & 使用 & 表示 &
# 变量: {player} = 玩家名 {amount} = 数量 {progress} = 当前进度 {required} = 所需次数
# {money} {points} {exp} = 鱼竿倍率 {group} = 物品组名 {item-id} = 物品节点名
prefix: "&a[钓鱼] &r"
# 手中并非配置过的鱼竿时提示 (仅 block-vanilla-rods: true 时生效)
no-rod: "&c你手中的鱼竿无法用于钓鱼!"
# 钓上物品 (成功收竿) 提示
reel-success: "&a你成功钓上了物品!"
# 达到收竿次数但概率判定未钓上 (与 reel-progress 区分: 进度已满但鱼跑了)
no-catch: "&c鱼跑了! 下次再试试吧!"
# 收竿进度提示 (还未达到所需次数)
reel-progress: "&e本次还需收竿 &6{required} &e次, 当前进度 &6{progress}&e/&6{required}"
# 倍率提示 (成功钓上物品后展示鱼竿倍率)
# 两种模式 (鱼竿 rods.yml 可各自覆盖 multiplier-info / -money / -points / -exp):
# 1) 合三为一: 只配 multiplier-info, 一行展示三项倍率 (默认模式)
# 2) 独立三条 : 配 multiplier-money / -points / -exp, 分行展示
# 任意一条独立条目非空即启用独立模式, 此时 multiplier-info 不发送
# 留空的独立条目不会发送; 占位符 {money}{points}{exp}{player}
multiplier-info: "&b倍率加成 &7| &e金币 x{money} &b点券 x{points} &a经验 x{exp}"
multiplier-money: ""
multiplier-points: ""
multiplier-exp: ""
# 奖励提示 (对应留空的奖励不会发送)
reward-money: "&6+{amount} 金币"
reward-points: "&b+{amount} 点券"
reward-exp: "&a+{amount} 经验"
# 鱼竿未配置任何可钓物品组
no-item-group: "&c该鱼竿未配置任何可钓物品组!"
# 物品库中找不到对应物品 (节点名错误)
item-not-found: "&c物品库中找不到物品: &e{item-id} &c(source={source})"
# 金币/点券插件未安装时的提示
economy-missing: "&c经济插件(Vault)未安装, 无法给予金币"
points-missing: "&c点券插件(PlayerPoints)未安装, 无法给予点券"
# 重载
reload-success: "&a配置已重载!"
reload-no-perm: "&c你没有权限执行此操作"
# 未知子指令
unknown-subcommand: "&c未知子指令, 输入 &e/lfi help &c查看帮助"
# 帮助
help:
- "&a========== &eLonelyFishing &a=========="
- "&a/lfi reload &7- &f热重载所有配置文件"
- "&a/lfi help &7- &f显示此帮助信息"
itemGroups.yml
YAML:
# ============================ 物品组配置 ============================
# 每个物品组包含若干物品, 通过 "权重" 决定钓上各物品的概率
# 鱼竿会把其 item-groups 所列各组中的全部物品汇总成一个权重池抽奖
#
# 单个物品字段:
# source : 物品库类型, mm 或 ni
# item-id : 物品库中的节点名/内部名 (钓上后从对应物品库提取该物品给玩家)
# weight : 权重 (数字越大越容易钓到)
# money : 钓上后给予的金币数量 (Vault), 留空则不给
# points : 钓上后给予的点券数量 (PlayerPoints), 留空则不给
# exp : 钓上后给予的经验数量, 留空则不给
# variables : 钓上后增加的自定义变量 (变量名 -> 基础值), 对应 config.yml 的 custom-variables
# 最终增加量 = 基础值 * 鱼竿 variable-multipliers 中对应变量的倍率
# 例: variables: {ll_level: 5} 表示钓到此鱼增加 5 点 ll_level 变量 (再乘鱼竿倍率)
# commands : 钓上后触发的指令, 留空则不触发
# 指令前缀 (大小写不敏感):
# [OP] 以 OP 玩家身份执行后续指令
# [CONSOLE] 以控制台身份执行后续指令
# [BroadCast] 向全服公告后续文本 (按 & 颜色码上色, 非指令)
# [tell] 仅向钓上鱼的玩家发送后续文本 (按 & 颜色码上色, 非指令)
# (无前缀) 默认以控制台执行
# 所有前缀均支持 %player_name% 占位符
# 注: 金币/点券/经验最终数量 = 物品配置数量 * 鱼竿对应倍率
item-groups:
common_fish:
items:
cod:
source: mm
item-id: "raw_cod"
weight: 50
money: 10
points: 1
exp: 5
commands: []
salmon:
source: ni
item-id: "raw_salmon"
weight: 30
money: 15
exp: 8
commands:
- "[OP] me 钓到了一条鲑鱼"
junk_boot:
source: mm
item-id: "leather_boots"
weight: 20
commands: []
rare_fish:
items:
rare_tuna:
source: ni
item-id: "rare_tuna"
weight: 40
money: 80
points: 8
exp: 30
# 钓到此鱼增加 5 点 ll_level 变量 (最终 = 5 * 鱼竿倍率)
variables:
ll_level: 5
commands:
# [BroadCast] 向全服公告稀有鱼上钩
- "[BroadCast] &6&l稀有金枪鱼上钩! &e钓手: &f%player_name%"
# [tell] 仅发给钓上鱼的玩家
- "[tell] &a你钓到了一条稀有的金枪鱼!"
- "[CONSOLE] say 稀有金枪鱼上钩! 钓手: %player_name%"
treasure_chest:
source: mm
item-id: "treasure_chest"
weight: 10
money: 200
points: 20
exp: 100
commands:
# [BroadCast] 全服公告宝藏上钩
- "[BroadCast] &d&l宝藏箱上钩! &6钓手: &f%player_name% &6获得了巨额奖励!"
# [tell] 私发提示
- "[tell] &d你钓到了一个宝藏箱! 里面似乎装满了宝物..."
- "[CONSOLE] give %player_name% diamond 1"
rods.yml
YAML:
# ============================ 鱼竿配置 ============================
# 鱼竿直接从 MythicMobs(mm) / NeigeItems(ni) 物品库中提取
# 玩家手中的物品若是下方配置的 mm/ni 物品, 即视为该鱼竿
#
# 字段说明:
# source : 物品库类型, mm 或 ni
# item-id : 物品库中的节点名/内部名 (用于检测玩家手中的鱼竿)
# item-groups : 该鱼竿可钓到的物品组列表 (对应 itemGroups.yml 中的组名)
# 钓鱼时会把所列物品组内的全部物品汇总成一个权重池进行抽奖
# multipliers : 钓上物品后金币/点券/经验的独立倍率
# reel-count : 收竿所需次数。可填固定数字 "3", 或随机区间 "1_10" (最小_最大)
# 每次成功给奖后会重新随机一次下一次所需的收竿次数
# catch-rate : 基础钓上鱼概率 (0-1), 不填默认 1.0 (100%)
# 达到收竿次数后会以此概率掷骰判定是否钓上; 与 config.yml 的 lore-bonuses 做乘法叠加
# 例: catch-rate 0.8 + lore 加成 0.1 -> 最终概率 0.8 * 1.1 = 0.88
# wait-time : 鱼咬钩前的等待时间 (ticks, 20 ticks = 1 秒), 区间 "min_max" 或固定值
# 减小此值 = 加快钓鱼速度 (鱼更快咬钩); 留空则用原版随机 (约 5-30 秒)
# 仅 1.9+ 服务端支持精确控制, 1.8 反射找不到方法会静默跳过
# lure-time : 鱼咬钩后玩家拉杆的时间窗口 (ticks), 区间 "min_max" 或固定值
# 增大此值 = 玩家有更充足时间拉杆 (不易脱钩); 留空则用原版 (约 1-4 秒)
# 仅 1.9+ 服务端支持精确控制, 1.8 不生效
# multiplier-info / -money / -points / -exp : 倍率提示自定义 (留空则用 messages.yml 默认)
# multiplier-info : 合三为一提示, 占位符 {money}{points}{exp}{player}
# multiplier-money/-points/-exp : 独立三条提示, 任意一条非空则启用独立模式
# (启用独立模式时 multiplier-info 不发送; 留空的独立条目不发送)
# variable-multipliers : 自定义变量倍率 (变量名 -> 倍率), 对应 config.yml 的 custom-variables
# 钓上物品时: 最终增加量 = 物品基础值 * 此处倍率
# 未列出的变量默认倍率 1.0
# variable-messages : 自定义变量消息覆盖 (变量名 -> 消息模板), 留空则用 config.yml 默认 message
# 占位符: {amount}(最终增加量) {base}(基础值) {multiplier}(倍率) {current}(当前值) {player}
# 支持 & 颜色码
# commands : 成功钓上物品后触发的指令 (可留空)
# 指令前缀 (大小写不敏感):
# [OP] 以 OP 玩家身份执行后续指令
# [CONSOLE] 以控制台身份执行后续指令
# [BroadCast] 向全服公告后续文本 (按 & 颜色码上色, 非指令)
# [tell] 仅向钓上鱼的玩家发送后续文本 (按 & 颜色码上色, 非指令)
# (无前缀) 默认以控制台执行
# 所有前缀均支持 %player_name% 占位符
rods:
# ---- 示例: 普通木质鱼竿 (MythicMobs) ----
basic_rod:
source: mm
item-id: "basic_fishing_rod"
item-groups:
- common_fish
multipliers:
money: 1.0
points: 1.0
exp: 1.0
reel-count: "1_3"
catch-rate: 0.8
# 鱼咬钩前等待 5-15 秒 (100_300 ticks), 比原版更快咬钩
wait-time: "100_300"
# 鱼咬钩后给玩家 10-20 秒 (200_400 ticks) 拉杆窗口, 充足时间反应
lure-time: "200_400"
commands:
# [tell] 仅发给钓上鱼的玩家本人
- "[tell] &a你钓到了一条普通的鱼!"
# ---- 示例: 史诗鱼竿 (NeigeItems) ----
epic_rod:
source: ni
item-id: "epic_fishing_rod"
item-groups:
- common_fish
- rare_fish
multipliers:
money: 2.0
points: 1.5
exp: 2.0
reel-count: "1_5"
catch-rate: 0.9
# 史诗鱼竿: 更快咬钩 + 更长拉杆窗口
wait-time: "60_200"
lure-time: "300_600"
# 倍率提示自定义 (覆盖 messages.yml 默认): 启用独立三条模式
multiplier-info: "" # 留空, 因为下面用了独立三条
multiplier-money: "&6史诗鱼竿金币加成: x{money}"
multiplier-points: "&b史诗鱼竿点券加成: x{points}"
multiplier-exp: "&a史诗鱼竿经验加成: x{exp}"
# 自定义变量倍率 (对应 config.yml 的 custom-variables)
# 钓上物品时: ll_level 变量增加量 = 物品基础值 * 1.5
variable-multipliers:
ll_level: 1.5
# 自定义变量消息覆盖 (留空则用 config.yml 中 ll_level 的 message)
variable-messages:
ll_level: "&6[史诗鱼竿] &a+{amount} 等级 &7(基础 {base} × &e{multiplier}&7, 当前: &e{current}&7)"
commands:
# [BroadCast] 向全服公告 (支持 & 颜色码 + %player_name%)
- "[BroadCast] &6%player_name% &e用史诗鱼竿钓到了好东西!"
# [tell] 仅发给钓上鱼的玩家本人
- "[tell] &a哇! 你用史诗鱼竿钓到了稀有物品!"
# [CONSOLE] 以控制台身份执行真实指令
- "[CONSOLE] say %player_name% 用史诗鱼竿钓到了好东西!"
指令介绍
/lfi reload - 刷新配置文件
/lfi help - 查看帮助
感谢您对该插件的使用 !
/lfi reload - 刷新配置文件
/lfi help - 查看帮助
感谢您对该插件的使用 !