- 版权类型
- 原创
- 插件中文名称
- RPT星露谷
- 插件英文名称
- RptStardew
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- Folia
- 语言支持
- 中文(简体)
- 前置组件
- CraftEngine
- 适配版本(Java)
- 26.x
- 1.21
关于这个插件
RptStardew 是一个
星露谷风格的综合玩法插件:种田 + 钓鱼 + 商店 + 图鉴,都在一个插件里跑完,不用装一堆插件再让它们互相打架。
- 种田:开垦、播种、浇水、生长、收获、跨季枯萎一整套;46 种作物按 Wiki 的阶段表一天天长。
- 钓鱼:71 种鱼,按水域群系 + 季节 + 时间 + 天气出鱼,小游戏物理 1:1 照搬原版。
- 商店:皮埃尔卖种子收作物、克林特卖工具、威利卖鱼竿收鱼,三条经济链闭环。
- 面板:/rptsd 一开,双图鉴、头顶显示开关、测试水域全在里面。
作物、工具、撒水器、鱼、鱼竿全部由
CraftEngine 以展示实体 / 自定义物品渲染,
不占原版方块状态、不需要客户端装模组,进服就能玩。
功能说明
1. 46 种作物,阶段生长
- 防风草、蓝爵、大黄、花椰菜、杨桃、上古水果、霜瓜……共 46 种,涵盖春 / 夏 / 秋 / 冬四个季节。
- 每种作物的每个生长阶段需要几个"夜晚"都按 wiki 逐作物填好(如蓝莓 1+3+3+4+2)。
- 走展示实体渲染,不占方块、不占方块状态;服务器上多打几片田也不会撑爆状态池。
- 作物头顶可选浮动文字标签(名称 / 阶段 / 水分),一眼看到长到哪了。
2. 一整套农具
| 工具 | 档位 | 说明 |
| 锄头 | 木 / 铜 / 钢 / 金 / 铱制(5 档) | 右键草地/泥地开垦成耕地 |
| 水壶 | 木 / 铜 / 钢 / 金 / 铱制(5 档) | 有水量、可右键水源补水;潜行右键 = 满蓄力,一次浇一片;浇水带水粒子 |
| 镰刀 | 普通 / 金 / 铱(3 档) | 左键挥出剑气,一片一片收割 |
3. 浇水与生长
- 不浇水就不长(进度保留、不枯萎),想长就得浇水。
- 每次浇水给作物 +33% 水分,跨夜归零(一天耗尽);水分低于 50% 停止生长(都可配置)。
- 水壶和水壶的蓄力范围、洒水器的覆盖范围都会把耕地本身浇湿(土色变深),不是只改内部计数。
- 下雨 / 雷雨天所有作物自动浇满,不用管。
4. 洒水器
| 档位 | 覆盖范围 |
| 洒水器 | 上下左右 4 格 |
| 优质洒水器 | 周围一圈 8 格(3×3 去中心) |
| 铱制洒水器 | 周围 24 格(5×5 去中心) |
- 每天清晨自动浇一次;浇的时候洒水器会喷一圈水环(8 帧动态贴图)。
- 覆盖范围内的作物一定会被浇到,不受"下方是不是耕地"影响。
- 打掉它就会原地掉出一个对应档位的洒水器(自己去捡)。
5. 季节轮替
- 春 → 夏 → 秋 → 冬,每季 28 天(可在配置里改),一年四季循环,世界第 1 天为「春 1」。
- 每种作物只能在自己的季节种下去;不在当季会直接被拒绝并提示。
- 跨季枯萎:季节一变,不属于新季节的作物会枯死;已经成熟等着收的也一起枯(星露谷原版规则,可配置关闭)。
- 枯死不毁地:只换外观,耕地原样保留;枯株用的是星露谷那套枯死贴图(4 张随机)。
- 跨季作物照 Wiki 连续生长:玉米 / 向日葵 / 小麦(夏+秋)、咖啡豆(春+夏)、上古水果 / 茶叶(春+夏+秋)。
- 冬天户外只能种霜瓜。
- 管理员可 /rptsd season next 直接跳季。
6. 品质系统
收获时按概率 roll
银 / 金 / 铱三种品质(概率在配置里,默认金 1% / 银 2%),品质只作用于当次收获的第一份产物,与 wiki 口径一致。
7. 三家商店:完整经济闭环
| 商店 | 店主 | 卖给你 | 收你的 |
| 杂货店 | 皮埃尔 | 当季种子(春夏秋三季货架,冬天不卖,原版行为) | 当季作物(反季不收) |
| 铁匠铺 | 克林特 | 锄头 / 水壶 五档直接出售(木 → 铱) | —— |
| 鱼铺 | 威利 | 鱼竿 五档(训练 → 高级铱) | 鱼(按品质 + 克重计价) |
- 三家店都不是玩家指令,由 NPC 插件用控制台命令触发:console_command rptsd shop {player} / rptsd smith {player} / rptsd fishshop {player}。NPC 本身交给 NPC 插件(FancyNpcs 等),插件只负责开界面。
- 界面统一:54 格、空位铺白色玻璃板、标题实时显示金币余额、点一下立即成交、失败全额退回。
- 铁匠铺取消"升级链":花钱直接买任意一档,不要上一级工具、也不要锭,买水壶直接满水。
- 收购支持 Shift 整组卖;金额走 Vault(EssentialsX / EssentialsC 等任意经济插件)。
8. 钓鱼系统
- 71 种鱼、284 个星级物品,数据与贴图取自星露谷 Wiki(季节 / 时间 / 天气 / 水域 / 描述全带)。
- 水域按 MC 群系判定:海洋、河流、湖泊、池塘、秘密森林、女巫沼泽、矿洞、虫巢、下水道、沙漠、姜岛、夜市;内陆水还按面积区分湖泊与池塘。
- 钓鱼小游戏 1:1 还原原版:绿条、鱼、进度条全部走 ActionBar 字体 HUD —— 没有任何实体,不挡视线、不占实体数。
- 物理参数照反编译的 BobberBar.update:加速度 ±0.25、条内 ×0.6、撞边 ×(-2/3)、进度 +1/500 与 -3/1000、1.0 判定成功、贴边按住速度归零。
- 物理按真实时间 60 步/秒推进(固定步长累加器),服务器掉 TPS 也不会让小游戏变慢;画面 60 帧。
- 操作:抛竿 → 咬钩收竿 → 按住潜行抬升绿条套住鱼 → 进度满。
- 五档鱼竿各有属性:绿条高度 110 / 96 / 104 / 120 / 132,品质加成 0 / +5% / +10% / +15%,克重加成 +10% / +25% / +45% / +70%。
- 克重系统:每条鱼带重量(克),威利按「基础价 × 品质 + 克重 × 克重价」收鱼。
9. 玩家面板与双图鉴
- /rptsd 不带参数直接打开,玩家可用、不需要权限:农作物图鉴 / 鱼图鉴 / 头顶悬浮显示开关 / 测试水域。
- 图鉴是全量浏览,一页 45 个,可翻页;物品自带完整 lore(季节 / 时间 / 水域 / 售价 / 描述)。
- 头顶悬浮(名称 / 阶段 / 水分)可以按玩家单独关闭,/sdlabel 或面板里点一下,只影响自己。
10. 价格与每日额度都可配
- 价格不在内容包里,而在插件配置:prices/crops.yml(46 条)、prices/fish.yml(71 条),支持一位小数,只写普通品质单价,银 / 金 / 铱 按倍率自动算。
- 物品上显示的「售价」由插件实时注入 —— 改完 prices/*.yml 执行 /rptsd reload 立刻生效,不用碰内容包、不用重载 CraftEngine。
- 每日收购上限:每人每天作物 500 金、鱼 500 金(可配),按现实日期 0 点重置;允许"卖到刚好顶格"。
11. 对接 PlaceholderAPI
季节信息可以直接塞进记分板 / TAB / 计分板插件:
| 变量 | 内容 |
| %rptstardew_season% | 春 / 夏 / 秋 / 冬 |
| %rptstardew_season_en% | Spring / Summer / Fall / Winter |
| %rptstardew_day% | 本季第几天 |
| %rptstardew_days_perseason% | 每季天数 |
| %rptstardew_days_left% | 本季还剩几天(含今天) |
| %rptstardew_year% | 第几年 |
| %rptstardew_season_line% | 夏 · 第 3/28 天 · 第 2 年 |
| %rptstardew_crops% | 进行中的作物株数 |
| %rptstardew_sprinklers% | 洒水器个数 |
| %rptstardew_season_enabled% | 季节系统是否开启 |
变量里带玩家时会按
玩家所在世界算季节。
支持版本与环境
| 项目 | 说明 |
| Minecraft 版本 | 1.21 ~ 26.2(插件 api-version 1.21,字节码目标 Java 21,同一个 jar 通吃) |
| 服务端核心 | Paper、Folia(已声明 folia-supported: true) |
| Java 运行环境 | Java 21 及以上 |
| 不支持 | 1.20.x 及以下 |
| 前置插件 | CraftEngine(必需,作物/工具/洒水器的渲染全走它) |
| 可选前置 | Vault(三家商店要用,需再配一个经济插件如 EssentialsX)、PlaceholderAPI(要用上方变量才需要) |
| 数据库 | 内嵌 SQLite(plugins/RptStardew/stardew.db),驱动已打进 jar,不需要 MySQL、不需要服主准备任何东西 |
目标用户
- 想让服务器多点"生活感"的生存服 / 长期服服主 —— 种田不是点两下收菜,而是一天一天等的。
- 正在使用 Folia 核心的服主 —— 插件从设计之初就双端兼容,全部方块/实体操作都走区域线程。
- 不想给玩家装客户端模组的服主 —— 全部内容走服务端 + 资源包,进服即用。
- 在意"不能把服务器卡死"的服主 —— 作物不占方块状态,生长用轮询而不是随机刻;钓鱼小游戏零实体。
- 想要一套自洽经济的服主 —— 买种子 → 种 → 卖作物,买鱼竿 → 钓 → 卖鱼,两条链都在插件内闭环。
是否付费
完全免费。 不需要授权、不需要联网校验。
获取作者帮助
| 途径 | 内容 |
| 交流群 | QQ 群 1124248111 |
| 作者 QQ | 2221899680 |
| 游戏内 | 输入 /rptsd help 查看全部指令与说明 |
使用教程
安装
- 确认服务端已装好 CraftEngine;要用三家商店再装 Vault + 一个经济插件。
- 将 RptStardew-2.0.3.jar 放入服务端 plugins/ 目录。
- 把内容包放进 CraftEngine/resources/(内容包不随 jar 分发,必须单独放;zip 直接丢进去或解压成 stardew/ 都行)。
- 重启服务端;或先 /ce reload all 再 /rptsd reload。
首次启动会生成 config.yml(全局 + 每日额度)、farming.yml、fishing.yml、prices/crops.yml、prices/fish.yml、npc/pierre.yml、npc/smith.yml、npc/willy.yml与数据库 stardew.db。
从 1.0.x 升级:jar 直接换,但内容包必须重铺(价格行已删除、展示实体改名、新增鱼类与字模),且配置结构变了 —— 旧的 config.yml 里那些段不再读取,需要搬到对应的新文件。
指令列表
玩家用(不需要权限)
| 指令 | 说明 |
| /rptsd | 打开玩家面板:农作物图鉴 / 鱼图鉴 / 头顶显示开关 / 测试水域 |
| /sdlabel | 开关自己看到的作物头顶悬浮文字 |
管理用(需要 rptsd.admin)
| 指令 | 说明 |
| /rptsd help | 指令帮助 |
| /rptsd info | 当前季节 / 作物数 / 洒水器数 / 参数 |
| /rptsd list | 列出全部 46 种作物 |
| /rptsd season | 查看当前季节 |
| /rptsd season next | 跳到下一季并结算枯萎 |
| /rptsd spray | 让最近的洒水器立刻工作一次(浇水 + 水环) |
| /rptsd speed | 让附近 8 格作物各长一个阶段 |
| /rptsd clear | 清除附近 8 格作物(只清作物) |
| /rptsd water | 看准水面,查看群系判定出的水域类型 |
| /rptsd shop <玩家> | 为指定玩家打开皮埃尔商店 |
| /rptsd smith <玩家> | 为指定玩家打开铁匠铺 |
| /rptsd fishshop <玩家> | 为指定玩家打开鱼铺 |
| /rptsd label <玩家> on|off | 按玩家开关头顶悬浮 |
| /rptsd reload | 重载本插件的全部 yml(不会动 CraftEngine) |
主指令 /rptsd,别名 /rptstardew。只有「不带参数」和 /sdlabel 对玩家开放,其余子命令统一卡 rptsd.admin。三家商店由 NPC 插件用控制台命令触发,不是玩家指令。
| 权限 | 默认值 | 说明 |
| rptsd.admin | 仅 OP | 使用 /rptsd 的管理子命令 |
没有 rptsd.use 之类的玩家权限节点 —— 面板、种田、浇水、收获、钓鱼都是交互 / 无需权限。
主要配置项
配置按功能拆成多个文件,改完执行 /rptsd reload 生效,
不需要重启服务端。
config.yml(全局)
| 配置项 | 默认值 | 说明 |
| limits.daily-crops | 500 | 每人每天作物收购上限(金币),0 = 不限 |
| limits.daily-fish | 500 | 每人每天收鱼上限(金币),0 = 不限 |
farming.yml(种植)
| 配置项 | 默认值 | 说明 |
| growth.check-interval-seconds | 3 | 生长与环境检查间隔(秒) |
| growth.levels-per-day | 1 | 生长速度全局倍率(2 = 天数减半) |
| growth.water-per-use | 33 | 每次浇水给作物加多少水分(%) |
| growth.min-water-percent | 50 | 水分低于多少就停止生长 |
| harvest.right-click-harvest | true | 右键成熟作物是否立即收获 |
| harvest.quality.gold-chance / silver-chance | 0.01 / 0.02 | 金 / 银星概率 |
| display.show-label | true | 作物头顶是否显示浮动文字(全局) |
| season.enabled | true | 季节系统总开关 |
| season.days-per-season | 28 | 每季多少天(星露谷原版 28) |
| season.wither-ripe | true | 成熟作物跨季是否也一起枯萎 |
fishing.yml(钓鱼)
| 配置项 | 默认值 | 说明 |
| minigame.hz | 60 | 小游戏每秒画几帧(只影响画面,物理恒定 60 步/秒) |
| minigame.win-progress | 1.0 | 进度到多少算钓上来 |
| minigame.gravity-scale | 1.0 | 绿条加速度倍率(1.0 = 原版手感) |
| water.* | — | 水面扫描距离、湖泊判定面积、缓存时长 |
prices/crops.yml、prices/fish.yml(价格)
| 配置项 | 说明 |
| quality-multiplier | 银 / 金 / 铱 相对普通价的倍率(默认 1.25 / 1.5 / 2) |
| prices.<id> | 普通品质单价,支持一位小数 |
npc/pierre.yml、npc/smith.yml、npc/willy.yml(三家店)
| 配置项 | 说明 |
| stock.<季节> | 皮埃尔各季货架与种子价 |
| prices.<档位> | 铁匠铺五档直售价 |
| fishshop.rods.<档位> | 鱼竿售价;fishshop.weight-price 克重价 |
常见问题
- 作物种不下去 / 提示"只能在 X 种"? 当前是别的季节。用 /rptsd season 看当前季节,或把 season.enabled 关掉。
- 作物不长了? 大概率是没浇水。水壶右键作物浇水(每浇一次 +33%,要浇够才行);下雨天会自动浇满。
- 洒水器为什么不动? 它每天只在过一个夜晚的时候浇一次,不是随时浇。想立刻看效果用 /rptsd spray。
- 跨季之后一片作物都枯了? 这是季节规则:不属于新季节的会枯,成熟等着收的也会枯。不想要这个行为就把 season.wither-ripe 关掉,或直接关掉整个 season.enabled。
- 枯死的作物怎么清? 直接打掉即可。
- 内容包要去哪拿? 单独下载,放进 CraftEngine/resources/stardew/。
- 想自己调生长速度? 改 farming.yml 的 growth.levels-per-day(全局倍率);临时想让附近 8 格的作物立刻长一阶段,管理员可以用 /rptsd speed。
- 商店点不动 / 提示不能交易? 需要 Vault + 一个经济插件(EssentialsX / EssentialsC 等)。
- 玩家卖到一半提示"额度用完"? 每人每天作物 500 金、鱼 500 金(config.yml 的 limits 段),0 点按现实日期重置,改成 0 就是不限。
- 钓鱼没有小游戏,直接拿到原版鱼? 手里必须是本插件的鱼竿(/rptsd fishshop 里买的),且浮标要落在被识别为水域的位置(面板里的「测试水域」可以确认)。
- 改了价格但物品上还是旧数字? /rptsd reload 之后新生成的物品才会带新价;已经躺在背包里的物品不会追溯。
- 改了内容包不生效? /rptsd reload 只重载本插件配置,内容包要自己 /ce reload all。
声明
- 本插件为个人作品,保留所有权利。
- 插件本体未使用任何混淆手段,欢迎安全审查;不含任何后门、病毒或远程控制代码,所有数据仅保存在服务器本地 plugins/RptStardew/ 目录中。