
BankZZ
Hytale的持久性分页银行,拥有自己的仪表板、基于等级的权限支持和直接物品编辑功能。
查看大图重要 Beta 依赖通知
BankZZ 的这一新 Beta 分支现在需要 CoreZZ。
CurseForge 上旧的公开发布版 BankZZ 文件不要求 CoreZZ。但对于此 Beta 分支,情况不再如此。
如果您上传或安装此 Beta 文件,您必须先安装 ZZCore.jar。没有 CoreZZ,此 BankZZ Beta 分支将无法正常运行。
ZZBank 的功能
- 为每位玩家提供一个持久的、基于页面的银行系统。
- 为每个兼容的氏族或公会添加一个可选的共享银行。
- 使用专用的自定义 UI,而非纯聊天输出。
- 允许管理员在游戏内管理玩家银行和共享银行。
- 支持可选的、基于经济的个人银行页面购买,并在有组织支持时,也支持共享银行页面购买。
- 存储敏感操作和物品移动的审计历史。
个人银行如何运作
玩家使用 /bank 打开自己的存储空间,或使用 /bank <page> 直接跳转到某一页。
每一页都是一个真正的 9x9 银行页面,拥有 81 个物品槽,每个账户都按玩家持久化存储。如果其他查看者正在编辑某页面,ZZBank 会锁定该页面以防止冲突和数据丢失。
管理员可以通过命令或管理目录打开其他玩家的银行。玩家面板专为常规存储使用而构建,而管理员访问权限则旨在用于审核和工作流支持。
页面购买如何运作
ZZBank 可以使用基于经济的购买来扩展页面数量,但流程取决于银行类型。
个人银行购买
如果启用了经济支持,玩家可以通过以下方式购买更多页面:
/bank buy/bank buy <pages>- 个人银行面板内的
购买 +1按钮
共享银行购买
如果共享银行可用且活跃组织允许,玩家也可以使用以下方式为该共享银行购买页面:
/guildbank buy/guildbank buy <pages>
在发起任何扣费之前,模组会检查权限、当前限制、配置的上限、经济系统可用性,并且对于共享银行,还会检查是否存在有效的组织账户用于购买流程。
共享氏族和公会银行如何运作
共享银行是可选的。
ZZBank 首先尝试通过 ZZClan 来解决此功能,使用带有 zzclan 提供者的 ZZCore OrganizationService。
如果该提供者不可用,ZZBank 会保留与 HyGuild / GuildPlugin 的旧版兼容性。
当氏族或公会支持可用时:
/guildbank打开一个专用的共享银行 UI/guildbank <page>打开一个特定的共享银行页面/guildbank npc <player> [page]在 NPC 或服务器流程中打开该玩家的共享银行
每个氏族或公会都拥有自己独立的账户,通过内部组织标识符存储,在当前存储模型中暴露为 guildId,从而确保共享存储与个人存储以及其他组织的存储保持隔离。
共享银行的权限可以通过两种方式解析:
- 使用
ZZClan,访问权限可直接来自内部氏族权限,例如bank_deposit、bank_withdraw和manage_bank - 如果没有明确的组织权限覆盖,ZZBank 会回退到
guildDepositMinRank和guildWithdrawMinRank中配置的最低等级 - 使用
HyGuild/GuildPlugin,访问权限遵循检测到的公会层级结构和相同的配置最低等级值
如果 ZZClan 和 HyGuild / GuildPlugin 都不可用,则 /guildbank 保持禁用状态并会明确报告。
审计如何运作
ZZBank 为玩家银行和共享的氏族/公会银行都提供了轻量级的审计历史记录。
审计系统记录以下操作:
- 存款
- 取款
- 管理员打开
- NPC 打开
- 管理员删除
审计历史在专用 UI 中显示:
/bank audit [player] [limit]/guildbank audit [player] [limit]
审计文件存储在以下位置:
audit/players/audit/guilds/
保留策略由以下配置控制:
auditEnabledauditMaxEntries
管理 UI 如何运作
/bank admin 打开游戏内管理面板。
从这里,管理员可以:
- 浏览已知的玩家银行账户
- 打开一个玩家银行
- 审计一个玩家银行
- 打开实时配置编辑器
- 切换到共享银行列表
- 打开一个共享银行
- 审计一个共享银行
共享银行部分使用与玩家部分相同的管理工作流风格:每一行都暴露相同的 打开 和 审计 操作。
NPC 与服务器使用
如果您使用 HyCitizens,银行命令可以从服务器或控制台式触发器执行。
例如:
bank {PlayerName}bank npc {PlayerName} 2guildbank npc {PlayerName} 1
bankAccessSourceMode 配置控制允许从哪里访问个人银行:
PLAYER_ONLY(仅限玩家)NPC_ONLY(仅限 NPC)BOTH(两者均可)
命令
个人银行
/bank/bank <page>/bank buy [pages]/bank menu [player]/bank admin/bank open <player> [page]/bank audit [player] [limit]/bank info [player]/bank reload/bankpages <player> <pages>
共享氏族 / 公会银行
/guildbank/guildbank <page>/guildbank buy [pages]/guildbank npc <player> [page]/guildbank audit [player] [limit]
配置文件
config.json:模组使用的真实运行时配置文件。config.example.json:作为可读模板包含的示例文档文件。messages.json:可编辑的消息目录(如果您的运行时设置导出了它)。
存储路径
ZZBank 将其运行时数据存储在共享的 ZonaZero 银行数据路径下。
主要路径:
accounts/:个人银行账户guild-accounts/:共享的氏族或公会银行账户audit/players/:玩家银行审计历史audit/guilds/:共享银行审计历史
可见配置示例
{
"version": 17,
"prefix": "&6[&eZZBank&6] &r",
"defaultMaxPages": 1,
"hardMaxPages": 8,
"guildBankEnabled": true,
"guildDefaultMaxPages": 1,
"guildHardMaxPages": 8,
"guildDepositMinRank": "recruit",
"guildWithdrawMinRank": "leader",
"pageSize": 81,
"saveOnEveryChange": true,
"notifyTargetOnAdminAccess": true,
"allowConsoleCommands": true,
"auditEnabled": true,
"auditMaxEntries": 200,
"itemTransferMode": "ONE_CLICK",
"bankAccessSourceMode": "BOTH",
"economyProviderMode": "ZZ_ECONOMY",
"pagePurchaseEnabled": false,
"pagePurchaseCurrencyMode": "AUTO",
"pagePurchaseBaseCost": 1000.0,
"pagePurchaseCostMultiplier": 1.0,
"pagePermissionScanLimit": 128,
"purchasePermissionScanLimit": 128,
"updateCheckEnabled": true,
"updateCheckMode": "AUTO",
"updateCheckUrl": "",
"updateCheckInfoUrl": "",
"updateCheckIntervalMinutes": 360,
"updateCheckNotifyAdmins": true,
"updateCheckLogToConsole": true,
"grantSingleplayerOwnerAdmin": true,
"usePermissionNodes": ["bank.use", "bank.admin"],
"adminPermissionNodes": ["bank.admin"],
"purchasePermissionNodes": ["bank.buy", "bank.admin"],
"blockedStorageItemIds": [],
"purchaseLimitPermissionTemplates": ["bank.buy.max.{pages}"],
"pagePermissionTemplates": ["bank.pages.{pages}"],
"adminPlayers": [],
"adminRanks": [],
"rankPermissionTemplates": ["rank.{rank}", "group.{rank}"]
}
这显示了此模块使用的当前默认配置结构。
完整配置参考
核心设置
version(数字):内部配置文件架构版本。除非您有意迁移,否则请勿改动。prefix(文本):ZZBank 消息使用的聊天前缀。defaultMaxPages(数字):默认的个人银行页面数。0表示无页面。-1表示无限制。hardMaxPages(数字):个人页面的硬性上限。-1移除上限。pageSize(数字):每页的物品槽数。ZZBank 会将其规范化为9到81之间且是9的倍数的有效值。saveOnEveryChange(是/否):如果为true,ZZBank 会在每次物品栏编辑后写入更改。notifyTargetOnAdminAccess(是/否):如果为true,当管理员打开某玩家的银行时,会通知该玩家。allowConsoleCommands(是/否):如果为true,允许控制台和服务器触发的命令流。itemTransferMode(文本):UI 中的物品处理行为。常见值有ONE_CLICK(单击)和PICKUP_DROP(拾取-放置)。bankAccessSourceMode(文本):控制允许从哪里访问个人银行。支持的值有PLAYER_ONLY(仅玩家)、NPC_ONLY(仅 NPC)和BOTH(两者均可)。grantSingleplayerOwnerAdmin(是/否):为单人游戏式所有权设置提供的便捷管理员行为。
共享银行设置
guildBankEnabled(是/否):启用或禁用共享氏族或公会银行功能。guildDefaultMaxPages(数字):每个共享银行的起始页数。0表示无页面。-1表示无限制。guildHardMaxPages(数字):共享银行页面的硬性上限。-1移除上限。guildDepositMinRank(文本):当没有明确组织权限覆盖时,允许存款的最低等级。常见值:recruit(新兵)、member(成员)、officer(官员)、leader(领袖)。guildWithdrawMinRank(文本):当没有明确组织权限覆盖时,允许取款的最低等级。
审计设置
auditEnabled(是/否):启用或禁用审计日志记录。auditMaxEntries(数字):每个历史文件中保留的最大审计条目数。
经济与页面购买设置
economyProviderMode(文本):选择经济桥接方式。运行时值由模组根据当前分支规范化。pagePurchaseEnabled(是/否):启用页面购买。pagePurchaseCurrencyMode(文本):选择用于购买的货币来源。pagePurchaseBaseCost(数字):第一个购买页面的基础价格。pagePurchaseCostMultiplier(数字):后续购买页面的缩放倍率。1.0表示固定价格。pagePermissionScanLimit(数字):ZZBank 扫描如bank.pages.<n>这类权限节点的距离。purchasePermissionScanLimit(数字):ZZBank 扫描如bank.buy.max.<n>这类购买限制节点的距离。
更新检查器设置
updateCheckEnabled(是/否):启用定期更新检查。updateCheckMode(文本):告知 ZZBank 如何解释更新响应。updateCheckUrl(文本):用于获取最新版本的 URL。updateCheckInfoUrl(文本):向管理员显示的信息或下载页面 URL。updateCheckIntervalMinutes(数字):更新检查之间的间隔分钟数。ZZBank 会将其规范化为至少15。updateCheckNotifyAdmins(是/否):如果为true,在线的管理员会收到更新通知。updateCheckLogToConsole(是/否):如果为true,更新通知也会写入服务器日志。
权限与管理列表
usePermissionNodes(列表):匹配任何节点即允许常规银行使用。adminPermissionNodes(列表):匹配任何节点即授予管理员访问权限。purchasePermissionNodes(列表):匹配任何节点即允许页面购买。purchaseLimitPermissionTemplates(列表):用于读取购买上限的模板。{pages}会被替换为数字。pagePermissionTemplates(列表):用于读取个人页面数的模板。{pages}会被替换为数字。blockedStorageItemIds(列表):不应存储在 ZZBank 中的物品 ID。adminPlayers(列表):应始终被视为管理员的玩家准确名称。adminRanks(列表):应被视为管理员的等级名称。rankPermissionTemplates(列表):用于测试基于等级的权限的模板,其中{rank}会被替换。
安装
- 首先将
ZZCore.jar复制到服务器的mods文件夹中。 - 然后将
ZZBank.jar复制到同一个服务器mods文件夹中。 - 如果您想要基于氏族的共享银行,也请添加
ZZClan.jar。 - 如果您不使用
ZZClan,您可以保留与HyGuild/GuildPlugin的旧版兼容性。 - 启动 Hytale。
- 配置权限、经济以及可选的氏族或公会支持。
许可协议
保留所有权利。
未经作者书面许可,不允许重新分发、转载、转售修改版或上传分支版本。
正在加载版本记录…







正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。