LegacyLand
基于 Paper 1.21 + Towny 的国家文明模拟插件
LegacyLand 在 Towny 国家体系之上构建了一套完整的文明模拟系统,涵盖政治、经济、外交、战争、科技、季节等维度,为玩家提供深度策略与生存体验。
功能模块一览
国家与政治
5 种政体、角色权限、法令系统、科技树
经济系统
货币、银行、贷款、期货、股票、税收
外交
盟友、贸易协定、科技协定、保护担保
战争
普通战争、攻城战、旗帜战、经济制裁
城镇设施
诊所、供水站、集市、兵营
世界系统
12 个子季节、体温水分、区块资源定价
技术栈
| 组件 | 版本 |
|---|---|
| Minecraft (Paper) | 1.21.x |
| Java | 21 |
| 构建工具 | Gradle 8.8 |
| 数据库 | SQLite / MySQL (HikariCP) / MongoDB |
| 插件版本 | 1.0-pre2 |
安装与依赖
依赖列表
| 插件 | 必需 | 版本要求 |
|---|---|---|
| Paper | 必需 | 1.21+ |
| Towny | 必需 | 0.102.0.0+ |
| ItemsAdder | 必需 | 3.6.3+ |
| Vault | 必需 | — |
| PlaceholderAPI | 推荐 | — |
| BlueMap | 可选 | — |
安装步骤
- 确保已安装所有必需依赖插件
- 将
LegacyLand-{version}-final.jar放入服务器plugins/目录 - 启动服务器,自动生成默认配置文件
- 按需修改
plugins/LegacyLand/config.yml - 重启服务器使配置生效
配置说明
config.yml — 核心配置
database:
type: sqlite # sqlite / mysql / mongodb
sqlite:
filename: legacyland.db
mysql:
host: localhost
port: 3306
database: legacyland
username: root
password: password
pool:
maximum-pool-size: 10
minimum-idle: 2
connection-timeout: 30000
mongodb:
host: localhost
port: 27017
database: legacyland
player-status:
enable-actionbar: true
actionbar-update-interval: 10 # ticks
season:
days-per-sub-season: 8
tech:
points-per-member: 2
research-tick-interval: 6000
politics.yml
配置 5 种政体的效果倍率、角色列表、自定义效果(速度加成、粒子效果等)。
tech.yml
配置科技树节点,包含科技线(line)、层级(tier)、前置条件、研究费用、效果键值。
个人状态
LegacyLand 在原版血量和饥饿之上增加了水分和体温两个生存属性,实时显示在 ActionBar。
查看状态
属性说明
| 属性 | 说明 |
|---|---|
| 生命值 | 普通血量,被打掉了要喝药 |
| 食物 | 饿了会掉血,要吃东西 |
| 水分 | 干旱地区会脱水,要喝水(可用供水站恢复) |
| 体温 | 受季节、地形、装备综合影响,过冷过热都有副作用 |
| 职业 | 主职业 + 副职业,影响技能成长和系统加成 |
加入国家
LegacyLand 以 Towny 国家体系为基础。加入一个国家非常重要,大多数经济和政治功能都需要你是某个国家的成员。
如何加入
找到该国城镇长(Mayor)邀请你,或通过 Towny 命令申请加入。加入后你将获得:
- 国家货币账户(可存钱、取钱)
- 参与投票和法令的资格
- 参与外交和战争的资格
国家角色
| 角色 | 职责 |
|---|---|
| 国王 / 总统 | 最高权限,管理政体、法令、宣战 |
| 财政大臣 | 管理国库、铸币、税收 |
| 军需官 | 管理战争物资和征兵 |
| 议会议员 | 参与提案投票 |
| 外交官 | 管理外交关系 |
| 普通成员 | 基础参与权 |
职业系统
职业分为主职业和副职业,影响技能成长和某些系统的加成。
银行与货币
LegacyLand 有独立的货币体系。每个国家都有自己的货币,以实体物品形式存在,可存入银行变成电子余额。
货币基本操作
贷款
市场与贸易
玩家市场
每个城镇可以设立市场,玩家通过售货箱出售物品。
资源与运输
期货合约
期货合约是「提前约定」的交易方式。卖方挂出合约,买方购买后,卖方在约定时间内交货。
卖方操作
买方操作
股票市场
每个国家可以上市一支股票。股价与该国实力动态挂钩——国家越强大,股价越高。
股价公式
买卖操作
股价变动逻辑
- 打胜仗、扩张领土、吸引更多成员 → 股价上涨
- 战败、领土萎缩、人口流失 → 股价下跌
外交系统
关系类型
| 关系 | 效果 |
|---|---|
| 盟友 | 可以互相支援战争 |
| 贸易协定 | 降低货币兑换手续费 |
| 科技协定 | 可以共享科技研究 |
| 中立 | 默认状态,互不干涉 |
| 敌对 | 可以宣战 |
外交行动(需领导人权限)
保护担保
强国可以为弱国提供安全保障,担保方科技效果部分溢出至被保护国。
战争系统
经济制裁(开战前手段)
普通战争
攻城战(Siege War)
旗帜战(Flag War)
国家领导人专区
建立国家经济
政体系统
法令系统
科技研究
发行股票
国家政治系统
政体类型
| 政体 | ID | 特点 |
|---|---|---|
| 封建制 | FEUDAL | 封臣制度,分封领地 |
| 共和制 | REPUBLIC | 议会投票,民主决策 |
| 君主立宪制 | CONSTITUTIONAL | 君主 + 议会共治 |
| 军事独裁 | MILITARY | 军事效率优先,战斗加成 |
| 商业联邦 | COMMERCIAL | 贸易效率优先,经济加成 |
politics.yml 配置驱动,支持自定义速度加成、粒子效果等。科技树
- 每在线成员每次贡献 2 点研究点(可配置)
- 生成间隔:6000 ticks(约 5 分钟)
- 保卫国科技溢出机制:保护弱国可获得部分科技效果
经济体系
货币流通
货币以实体物品形式流通,铸币机消耗金锭铸造。每个国家有独立货币,汇率由各国国库储备动态决定。
税收系统
| 税种 | 说明 |
|---|---|
| 交易税 | 玩家之间交易时收取 |
| 土地税 | 占有城镇区块定期缴纳 |
| 封臣税 | 封建制下封臣向宗主缴纳 |
经济战争手段
| 手段 | 命令 | 效果 |
|---|---|---|
| 禁运 | /ecowar embargo | 阻止目标国家的资源贸易 |
| 经济制裁 | /ecowar sanction | 提高对方货币关税 |
| 通胀攻击 | — | 破坏对方货币价值 |
| 货币战争 | — | 综合货币打压策略 |
城镇设施系统
Facility 模块为城镇提供可建造的基础设施,由市长在己方地块内放置 ItemsAdder 家具触发建造。
设施类型
| 设施 | 建造费用 | 使用费 | 玩家冷却 | 效果 |
|---|---|---|---|---|
| 诊所 | 500 | 50 | 60 秒 | 清除伤病 + 恢复 50% 血量 |
| 供水站 | 200 | 10 | 30 秒 | 水分恢复至满值 |
| 集市 | 800 | 0 | — | 降低城镇交易税 −2% |
| 兵营 | 1000 | 0 | — | 对参战玩家施加速度+力量增益 |
叠书递减公式
建造与拆除
- 建造:市长手持设施物品,放置在己方城镇地块内,自动扣除建造费用
- 拆除:任何玩家可破坏,退还 30% 建造费用给破坏者
- 建造费用自动存入国库
设施命令
世界与季节系统
季节系统
共 4 大季节,每季节含 3 个子季节,总计 12 个子季节,每个子季节默认持续 8 游戏天(可配置)。
| 季节 | 子季节 | 特点 |
|---|---|---|
| 春 | 早春、仲春、春分 | 温暖,适合春季作物 |
| 夏 | 初夏、盛夏、晚夏 | 炎热,干旱风险 |
| 秋 | 初秋、仲秋、秋分 | 凉爽,丰收季节 |
| 冬 | 初冬、隆冬、晚冬 | 寒冷,降雪 |
体温系统
- 当前季节(夏热冬冷)
- 所在地形(沙漠热,雪山冷)
- 装备材质(铁甲导热强,皮甲有保温)
区块资源定价
不同生物群系产出差异化资源,资源采集被追踪,地价动态浮动。BlueMap 可实时渲染地价与国家标记。
命令速查表
日常指令
| 想做的事 | 命令 |
|---|---|
| 查看自己状态 | /player info 或 /status info |
| 查看银行余额 | /bank balance |
| 存入货币 | 手持货币 → /bank deposit |
| 取出货币 | /bank withdraw <金额> |
| 转账给别人 | /bank transfer <玩家> <金额> |
| 查看当前季节 | /season info |
| 查看所有股票 | /stock list |
| 买股票 | /stock buy <ID> <数量> |
| 挂卖单 | /stock sell <ID> <数量> <价格> |
| 查看战争 | /war list |
| 查看外交关系 | /diplomacy info |
| 查看各国 GDP | /ecowar gdp |
| 查看贷款 | /finance loans |
| 查看期货市场 | /finance futures open |
| 查看土地价格 | /landprice |
| 查看城镇设施 | /facility list |
所有根命令
| 命令 | 功能 |
|---|---|
/legacy | 国家信息、政体、角色管理 |
/diplomacy | 外交关系、宣战、结盟、签协定 |
/guarantee | 保护担保管理 |
/war | 战争列表、加入、投降、求和 |
/siege | 攻城战前哨站与核心管理 |
/flagwar | 旗帜战管理 |
/economy | 国库创建、铸币、查询 |
/bank | 存取款、转账、货币兑换 |
/finance | 贷款、期货合约 |
/stock | 股票发行、买卖、分红 |
/ecowar | 经济制裁、禁运、GDP 排名 |
/tax | 税率查看与设置 |
/law | 法令颁布、提案、投票 |
/tech | 科技树查看与研究 |
/market | 市场信息管理 |
/price | 售货箱定价 |
/resource | 资源系统查询 |
/landprice | 地价查询 |
/season | 季节查看与设置 |
/player | 玩家属性、职业管理 |
/status | 玩家状态查看 |
/facility | 城镇设施查看与管理 |
新玩家入门顺序
/player info— 查看自己的属性- 加入一个国家(联系城镇长)
/player profession— 选择职业/bank balance— 看看有没有初始余额/stock list— 研究各国股票/diplomacy info— 了解当前外交格局/war list— 看看有没有在进行的战争
更新日志
v1.0-pre2 当前
- 完整经济系统:银行、贷款、期货、股票、铸币、国库、税收
- 经济战争:禁运、制裁、通胀攻击、货币战争、GDP 统计
- 战争系统:普通战争、攻城战(前哨站 + 补给站)、旗帜战
- 法令系统:直接颁布 + 提案投票,多种法令类型
- 科技树:研究点积累、政体锁定线、保卫国溢出
- 外交保卫担保系统、区块资源定价 + 动态地价
- 市场系统 + 售货箱定价、GUI 系统 + 组织系统
- BlueMap 地价与国家标记集成
- 构建混淆加密(ProGuard + ASM 字符串 XOR)
- Folia 兼容
v1.0-Beta2.1
- 修复 OrganizationManager 权限检查错误
- 新增 NationPermission MANAGE_ORGANIZATION
- 重写 NationTradeManager 原子性事务(买方扣款→卖方取物→买方存物→卖方收款)
- 贸易加入外交关系门控(敌对/战争状态禁止贸易)
v1.0-Beta2
- 配置驱动的政治体制系统(5 种政体)
- 自定义效果系统(速度加成、粒子效果)
- 多数据库支持(SQLite / MySQL / MongoDB)
- 季节系统(12 个子季节)
- 玩家状态系统(体温、水分、职业)
- PlaceholderAPI 集成
v1.0-Beta1
- 国家成员与角色系统
- 国家税收系统
- 国家外交系统
- SQLite 数据持久化