• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
[1.8-26.2]LonelyFishing - 一款简单而出色的钓鱼插件 !

原创 开源 [1.8-26.2]LonelyFishing - 一款简单而出色的钓鱼插件 ! v1.4.1

请登录后获取
版权类型
原创
插件中文名称
孤独钓鱼
插件英文名称
LonelyFishing
原帖地址
https://github.com/lonevep/LonelyFishing
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
前置组件
Vault
NeigeItems: https://github.com/ankhorg/NeigeItems-Kotlin/releases
MythicMobs: https://mythiccraft.io/index.php?resources/mythicmobs.1/
适配版本(Java)
  1. 26.x
  2. 1.21
  3. 1.20
  4. 1.19
  5. 1.18
  6. 1.17
  7. 1.16
  8. 1.15
  9. 1.14
  10. 1.13
  11. 1.12
  12. 1.11
  13. 1.10
  14. 1.9
  15. 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 - 查看帮助

感谢您对该插件的使用 !
作者
lone_
价格
100.00金粒
下载
7
查看
226
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. LonelyFishing v1.4.1 更新

    具体更新内容请移步github 这里不再赘述 该版本修复了大量bug 以保证各个版本的兼容性 请务必更换
  2. LonelyFishing v1.2.0 更新

    [+] 更新了 自定义变量 现在你可以自定义变量 来决定钓到鱼后 变量的增加及提示消息 同样 你可以在鱼竿中设置变量增加的倍率 [+] 更新了 独立发送倍率提示信息...
后退
顶部 底部