All versions
1.0.9-forge1.20.1
Release
Betterworld(village) 1.0.9-forge1.20.15 months ago 13
Compatibility
Minecraft: Java Edition
1.20.1
Platform
Forge
Supported environments
Singleplayer only
Changes
版本:1.0.9 银行存贷系统、银行家职业和银行 AI 循环
银行账户与玩家业务
- 新增银行账户体系:
- 第一次办理银行业务会自动开户,开户需要手续费。
- 账户记录玩家/AI UUID、名字、卡号、账户位置。
- 账户支持活期存款、定期存款、贷款本金和贷款利息记录。
- 银行方块新增账户列表页和账户详情页,为后续账户管理扩展预留。
- 玩家右键银行家进入实体交互页:
- 第一层按钮:聊天、办理业务。
- 办理业务子页面支持金额输入。
- 支持活期存款、定期存款、取款、贷款、还款。
- 银行方块账户页支持销户:
- 只有账户存款为 0 且债务为 0 时允许销户。
- 玩家与 AI 的银行账务已抽到统一
BankService:- 开户、存款、取款、贷款、还款、利息分配走统一账务逻辑。
- 玩家网络包只保留玩家背包实物货币收发和消息提示。
银行资金分层
- 银行方块新增流动现金与金库储备两层资金:
- 第一层:银行方块 NBT 中的数字
money,用于日常存取款、贷款、还款。 - 第二层:银行扫描范围内绑定的容器,存放实物货币物品作为金库储备。
- 第一层:银行方块 NBT 中的数字
- 支持配置流动现金上限、下限:
- 超过流动现金上限的部分会自动转入金库容器。
- 流动现金低于下限时,会从金库容器取实物货币补充。
- 取款和贷款前也会尝试从金库补充需要的流动现金,避免只因 NBT 现金暂低而误判银行没钱。
- 银行贷款受准备金限制:
- 可贷额度按
流动现金 - requiredReserve计算。 - 贷款扣钱使用专门路径,不会绕过准备金。
- 可贷额度按
银行家职业
- 新增职业:银行家。
- 银行方块支持绑定多个银行家:
- 白天到银行方块工作。
- 晚上按通用回家流程回家。
- 银行家不再使用单独的循环存钱目标,改为复用通用
HomeCleanupGoal。
- 银行家每日工资:
- 银行方块每天从流动现金中给绑定银行家发工资。
- 工资按绑定银行家的 UUID 单独保存,字段为
BankerWages,默认沿用 10 money/天。 - 银行工作人员管理页支持像镇方块公务员一样逐人手动调整工资。
- 工资直接增加银行家的数字
money,不会再发实物货币到背包。
- 贷款利息收入:
- 还款时本金退出流通。
- 利息归银行家。
- 多个银行家时,利息平均分配,余数按绑定顺序给前几个。
- 没有银行家时,利息进入银行现金。
AI 银行资金优先级
- AI 每天检查一次镇内是否有银行方块:
- 镇方块扫描范围现在会记录
bank_block。 - 没有银行时,银行相关 AI 全部跳过,保持旧逻辑。
- 镇方块扫描范围现在会记录
- AI 早上资金优先级:
- 先走现有
TakeMoneyTask,从家容器取实物货币并转成数字money。 - 如果身上钱低于职业留存线,再去银行活期取款。
- 活期不足时,最后才申请贷款补足留存线。
- 贷款只用于补足日常留存线,不用于囤积或套利。
- 先走现有
- AI 白天交易逻辑保持克制:
- 白天花钱优先花身上的
money。 - 不会在每次交易失败时主动反复取银行或贷款。
- 白天花钱优先花身上的
- AI 晚上资金优先级:
- 先走现有
PutMoneyTask,把身上钱按镇货币规则存回家容器。 - 家里货币价值超过职业留存线时,才把超出的部分存入银行活期。
- 超额存款采用保守取法,不会因为高面额货币把家里钱压到留存线以下。
- 之后若仍有贷款债务,会用活期余额还款,先还利息再还本金。
- 先走现有
- 职业留存线已加入配置:
- 农民:500 money
- 工匠:800 money
- 商人:2000 money
- 资源工:800 money
- 银行家:2000 money
- 普通/其他:300 money
资源点生产规则与资源工循环
- 资源点规则页新增消耗槽:
- 每条资源生产规则可设置“消耗物品”和“消耗数量”。
- 未放消耗物品时保持旧逻辑,按时间凭空生产。
- 放入消耗物品时,必须有足够消耗品才会产出。
- 规则保存、NBT 同步和网络包都记录完整
ItemStackKey,支持 NBT 物品。
- 资源点容器定位调整为资源工工位库存:
- 类似商人方块容器,晚上资源工把非货币物品存回资源点容器。
- 白天工作前,资源工会从资源点容器把非货币工作物品拿到背包。
- 资源点容器不再被理解成资源工生产时的唯一主仓库。
- 资源工生产消耗逻辑:
- 白天资源点把产物交给资源工时,优先检查并消耗资源工背包里的消耗品。
- 背包满足消耗条件时继续生产并发放产物。
- 背包缺消耗品时,资源工会尝试去市场向商人购买所需消耗品。
- 购买走统一
TradeService,并复用BudgetPolicy/PurchaseElasticity。 - 购买失败会进入
RESOURCE_BUY_INPUTS_COOLDOWN冷却,避免反复卡循环。
- 资源工取货和出售逻辑修正:
- 早上取资源点工作库存时按完整
ItemStack处理,避免 NBT 物品退化成只按物品 ID 匹配。 - 资源工出售仍只基于资源规则产物,不会把消耗品当成产品直接卖掉。
- 早上取资源点工作库存时按完整
- GUI 修复:
- 修复资源点规则页“消耗数”标签和输入框重叠的问题。
绑定和实体死亡清理
- Steve 死亡时会清理各类方块绑定:
- 家方块、农场、商人方块、工坊、资源点、银行方块、镇方块绑定都会移除。
- 镇方块居民页依赖家方块绑定汇总,因此死亡清理也会从镇内家方块居民绑定中移除该实体。
- 镇方块公务员工资记录会同步清理。
- 死亡清理不会删除:
- 关系数据。
- 银行账户。
- 多实体绑定规则保持:
- 列表第一个实体是 owner。
- 后续绑定默认追加到列表,不自动替换 owner。
- owner 移除后,列表里的下一个实体自然成为 owner。
银行方块与权杖支持
- Steve 权杖和方块权杖支持银行方块:
- 可将 Steve 绑定为银行家。
- 可将银行方块绑定到镇方块。
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:k233t5Y1:RIYOx33Z"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:k233t5Y1:RIYOx33Z"
}

