mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-27 12:40:01 +08:00
2.1 KiB
2.1 KiB
作物字段与文字指令
本次只补充现有玩法所需的规则与身份字段,不导入网页全量目录, 不保存网页作物 ID,也不更改旧版参考数据库。
作物规则
Plant 新增字段:
| 字段 | 默认值 | 用途 |
|---|---|---|
purchasable |
True |
控制商店展示与购买,旧目录从 isBuy 读取 |
enabled |
True |
关闭时禁止新购买与播种,不影响已种作物收获和出售 |
crop_type |
1 |
当前只允许类型 1 购买和播种 |
旧目录可选字段 enabled 使用整数 0/1,crop_type 使用正整数。
未提供时按上表默认值读取,不将网页 show 或 isLock 当作购买权限。
isVip、金币和点券价格、成熟时间、再生长时间继续沿用原规则。
本地 ID
库存使用本地 plant_id 作为业务标识。名称仅用于展示与指令查找,
目录内允许同名作物,但每个本地 ID 必须唯一且不能改给另一种作物。
目录改名不改变库存归属;已经种下的作物继续按播种快照结算。
文字指令可使用名称或 #本地编号,例如 购买种子 #1 2。
同名时拒绝按名称执行,要求使用编号;商店与仓库显示本地编号。
#编号 建议保留为指令语法,不作为作物名称。
数据库升级
新数据库版本为 2,inventory 的主键从 (identity, name) 改为
(identity, plant_id);保留名称、种子数、产物数和锁定状态。
版本 1 在 SQLiteStore.initialize() 时自动迁移,整个过程在同一事务内。
迁移通过本地目录与已种作物快照解析旧名称;不存在唯一对应 ID 时中止,
保留版本 1 的全部数据,不猜测 ID、不丢弃库存。
自定义目录应传入 initialize(catalogue=自定义目录),真寻接入已传入目录。
账户、流水、历史操作回执和地块成熟时间不改写。
迁移提交后记录版本和行数日志,不记录玩家身份或库存明细。
仅在临时测试库验证迁移,不代表已升级部署中的玩家库。 本次不包含生长阶段、浇水虫害或网页数据导入器。