
购买区块 — FTB 区块扩展
一个FTB Chunks的附加组件,为你的服务器添加了一个功能完整的区块商店系统。管理员可以将已认领的区块上架出售,玩家可以直接在FTB Chunks地图界面中浏览并购买这些区块。
查看大图
🏪 Buying Chunks — FTB Chunks 附属模组
一个用于 FTB Chunks 的 NeoForge 1.21.1 附属模组,为你的服务器添加了一个功能完备的区块商店与交易市场。管理员可以设置全服范围的领地价格和商店区域,玩家可以买卖自己拥有的区块,所有操作都通过游戏内 GUI 完成——无需再记忆命令。
✨ 功能特性
- FTB 商店 GUI — 一个完整的游戏内面板(
/ftbshop gui),包含交易市场、出售区块界面、我的上架列表和快速购买开关 - 管理员面板 — 在一个界面中管理基础费用、玩家出售、队伍价格、购买限制、玩家收入、自动回收以及完整的服务器队伍管理(
/ftbshop admin) - 玩家交易市场 — 玩家可以以自定义价格上架自己拥有的区块(若管理员开启),浏览所有上架信息,按队伍名称搜索,按价格或距离排序,并标记收藏
- 世界内购买浮层 — 当你靠近待售区块时,HUD 面板会自动弹出,显示价格、卖家队伍以及实时的背包物品对比,并带有可点击的购买按钮
- 购买快捷键 — 按下按键(默认为
B)即可立即购买你当前所在的区块 - 视觉地图图标 — 待售区块仍会以图标形式显示在 FTB Chunks 地图上,现在会根据卖家队伍进行颜色编码,并带有更丰富的悬停提示
- 粒子区块边界 — 附近的待售区块会用粒子勾勒出轮廓(可配置半径/密度)
- 队伍商店系统 — 创建具有固定单价(按区块计)的服务器队伍;该队伍声明的任何区块都会自动上架出售
- 基础费用 — 可选择性地要求对服务器上任何区块声明支付通用物品费用,与交易市场/队伍商店相独立
- 多维度支持 — 交易市场、基础费用和上架信息现在可在所有维度中工作,而不仅限于主世界
- 快速购买 — 可选择完全跳过购买确认界面
- 购买特效与提示 — 购买时提供视觉/声音反馈,以及购买和上架的弹出通知
- 欢迎消息 — 可配置玩家首次加入时显示的消息
- Discord Webhook 集成 — 可选择将购买/出售/移除事件以嵌入消息的形式发布到 Discord 频道(或任何 webhook URL)
- 自动同步 — 当区块被上架、购买或移除时,所有客户端都会实时更新
- 失效上架清理 — 对于不再被实际声明的区块,其上架信息会被自动移除
- 多语言支持 — 可通过 https://crowdin.com/project/buying-chunks 进行完整翻译(可添加更多语言)
📦 依赖项
| 模组 | 版本 |
|---|---|
| NeoForge | 21.1.224 |
| FTB Chunks (NeoForge) | 2101.1.14+ |
| FTB Teams (NeoForge) | 2101.1.9+ |
| FTB Library (NeoForge) | 2101.1.30+ |
| Architectury (NeoForge) | 13.0.8+ |
所有依赖项必须同时安装在服务器和每个客户端上。
🚀 安装方法
- 下载
buyingchunks-1.2.0.jar - 将其放入服务器和所有客户端的
mods/文件夹中 - 确保上述所有依赖项也已安装
- 启动服务器——无需额外配置(配置文件会自动生成;请参阅下方的 配置)
🔔 Discord Webhook 集成
当交易市场上有区块交易发生时,Buying Chunks 可以自动向 Discord 频道(或任何自定义端点)发布消息——这对于公开的 #shop-log 频道非常有用,玩家无需在线也能看到交易动态。
触发消息的事件
| 事件 | 触发时机… | 嵌入颜色 | 嵌入标题 |
|---|---|---|---|
| 购买 | 玩家购买了一个上架区块(通过地图、浮层或交易市场界面——任意途径) | 绿色 | ✅ 区块已购买 |
| 上架 | 玩家通过 /ftbshop gui → 出售区块来上架自己拥有的区块 |
蓝绿色 | 🧾 区块已上架出售 |
| 移除 | 玩家通过“我的上架” → 移除来取消自己的上架 | 橙色 | 🗑️ 区块已从出售中移除 |
注意:此功能仅在玩家于交易市场进行明确操作(购买/出售/移除)时触发。它不会在服务器队伍声明区块时自动上架(即队伍商店系统)时触发——仅报告手动玩家上架和购买操作。
数据格式
每条消息都是一个包含以下字段的 Discord 嵌入消息:
- 区块 —
[x, z] - 维度 — 例如
minecraft:overworld - 买家(购买事件)或 卖家(上架/移除事件) — 触发操作的玩家名称
- 队伍 — 与上架信息关联的商店队伍名称
- 价格 —
<数量>x <物品> - 时间戳(ISO-8601 格式,Discord 会按用户本地时间显示)
JSON 负载为简单的 {"embeds":[{...}]} — 标准 Discord webhook 格式。由于它只是向您配置的任何 URL 发送 HTTP POST 请求,因此实际上并不局限于 Discord:您可以将 apiUrl 指向自己的机器人/API 端点,并自行解析相同的 JSON,以便进行自定义处理。
设置方法
这是模组中唯一不通过 /ftbshop admin 配置的部分——它位于服务器配置文件中,而非游戏内 GUI:
- 在 Discord 中:服务器设置 → 集成 → Webhook → 新建 Webhook,选择一个频道,然后复制 Webhook URL。
- 在服务器上,打开
config/buyingchunks-server.toml并设置:
[Webhook API]
apiEnabled = true
apiUrl = "https://discord.com/api/webhooks/XXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
- 重启服务器(或重新加载配置,如果您的环境支持)。
这两个值默认都为关闭 / 空——除非管理员主动启用,否则不会向任何地方发送任何内容。
行为说明
- 请求是异步发送的,并且是发送后即忘模式:失败的或缓慢的 webhook 永远不会阻塞或延迟购买/出售操作本身。
- 失败仅在服务器端记录日志(
WebhookSender: Failed to send to ...)——没有重试机制,如果投递失败也没有游戏内提示,因此如果消息不再出现,请检查您的服务器日志。
🛠️ 管理员设置指南
管理员所需的一切操作——创建商店队伍、设置价格、声明区块、配置领地保护等——都可以通过一条命令完成:
/ftbshop admin
(需要 OP 等级 2 或更高)。此后,日常商店管理不再需要 /ftbteams ... 或 /ftbchunks admin ... 命令——管理员面板已完全取代它们。
设置商店区域(推荐)— 100% 通过 GUI 完成
/ftbshop admin→ 服务器队伍管理 → 在“创建新服务器队伍”字段中输入名称(例如Shopping-District)→ 点击 创建。- 返回
/ftbshop admin→ 队伍价格 → 在搜索字段中输入队伍名称(自动补全下拉菜单会显示匹配的队伍)→ 选择它 → 使用 🔍 选择器选择物品(或输入其 ID)→ 设置数量 → 添加。 - 返回服务器队伍管理列表,找到您的新队伍并点击 ⌂(或 管理 → 打开区块地图)——这会以该队伍的身份打开 FTB Chunks 的声明地图,与旧版
/ftbchunks admin open_claim_gui_as命令完全相似,现在只需点击一下即可。在此处声明您想要出售的区块。 - 在 服务器队伍管理 → 管理 界面中,您还可以设置队伍颜色并锁定其领地保护设置(PvP、爆炸、怪物破坏、假玩家等)——请参阅下文。
就这样——无需其他命令。任何由 Shopping-District 声明的区块现在都会自动上架出售,价格为已配置的价格。
允许玩家出售自己的区块
默认情况下,只有管理员管理的队伍商店才会被上架。要让普通玩家上架自己声明的区块:
/ftbshop admin→ 玩家出售 → 点击 启用(启用后按钮会变为 禁用)。- 然后,玩家可以站在自己拥有的区块中,使用
/ftbshop gui→ 出售区块 来上架该区块。 - 使用 玩家收入(按队伍设置,位于管理员面板中)来决定卖家是否实际收到付款,或者付款是否去向未知(例如用于“回收”商店队伍)。操作流程与队伍价格相同:搜索队伍,点击 切换。
三种定价系统
Buying Chunks 支持三种独立、可叠加的定价机制,均可通过 /ftbshop admin 进行配置:
| 系统 | 设置位置 | 适用范围 |
|---|---|---|
| 基础费用 | 管理员面板 → 基础费用 | 服务器上的每次区块声明,无论队伍如何 |
| 队伍商店 | 管理员面板 → 队伍价格 | 特定(通常为服务器拥有)队伍声明的所有区块——自动上架 |
| 玩家交易市场 | 区块所有者,通过 /ftbshop gui |
启用玩家出售功能后,玩家选择上架的任何已声明区块 |
购买限制与自动回收
- 购买限制:限制某个队伍从特定商店队伍购买的区块数量上限(搜索队伍 → 选择物品 → 设置数量 → 添加,流程与队伍价格相同)。
- 自动回收:为服务器队伍启用后(搜索队伍 → 切换),被取消声明的商店区块会自动被该队伍重新声明,以保持其可出售状态。
服务器队伍管理 — 完整的领地设置,无需其他模组的 GUI
/ftbshop admin → 服务器队伍管理 会列出所有服务器队伍(颜色样本 + 名称),每行包含:
- 管理 — 打开队伍详情界面(见下文)
- ⌂ — 直接以该队伍身份打开 FTB Chunks 区块地图(以该队伍身份声明/取消声明区块)
- ✕ — 删除该队伍
底部:用于创建新服务器队伍的名称字段 + 创建按钮。
点击 管理 会打开队伍详情界面——这是 FTB Teams 自己的领地设置面板在 Buying Chunks 中的完整重新实现,因此您无需再单独打开 FTB Teams 或 FTB Chunks 来配置商店队伍:
- 十六进制颜色(带 保存 按钮)
- 五个开/关保护开关:允许爆炸、允许怪物破坏、允许 PvP、允许所有假玩家、按 ID 允许假玩家
- 七个可循环的模式属性(点击可在私有 / 盟友 / 公共之间循环,具体取决于属性):方块编辑模式、方块交互模式、实体交互模式、非生物实体攻击模式、领地可见性、位置模式、方块编辑与交互模式
- 删除此队伍和打开区块地图按钮
🖥️ 完整 GUI 参考
逐个界面的可点击项快速说明。
/ftbshop gui → 主面板(4 行)
| 行 | 显示内容 | 功能 |
|---|---|---|
| 交易市场 | 当前所在维度待售区块的数量 | 打开交易市场 |
| 出售区块 | 如果所在区块已上架则显示价格,否则显示提示 | 打开出售区块界面 |
| 我的上架 | 您的活跃上架数量 + 待处理收入的预览(如有) | 打开我的上架界面 |
| 快速购买 | 已启用 / 已禁用 | 立即切换快速购买(不切换界面) |
交易市场界面
- 搜索框 — 输入时按商店/队伍名称筛选
- ★ 星标(右上角)— 仅显示收藏;每行 ★ — 切换该上架信息为收藏
- 三个排序按钮 — 价格 ↑、价格 ↓、距离(最近优先)
- 可滚动列表(鼠标滚轮)可同时浏览所有维度,每行显示位置、带队伍颜色的队伍名称、价格、距离以及一个 购买 按钮
- 购买会遵循快速购买设置:开启时即时购买并播放音效,否则打开确认界面
出售区块界面
- 显示您所在的区块是否已上架(带价格和队伍颜色)
- 物品字段(输入 ID)或使用 🔍 按钮打开可视物品选择器
- 数量字段(1–64)
- 出售按钮 — 上架/更新该区块
我的上架界面
- 统计行:活跃上架数量(“已售”/“已赚取”计数器存在于 UI 中,但尚未启用——目前始终显示 0)
- 待处理收入预览(物品图标 + 数量)— 仅供参考;收入会自动支付(发放到您的背包,若已满则掉落),当您在线时立即支付,若出售时离线则在您下次登录时支付,并附有聊天确认
- 每行的移除按钮用于取消上架
购买确认界面(除非快速购买已开启)
- 区块位置和价格
- 您背包中价格物品的当前数量,以绿色/红色编码显示
- 购买限制进度(例如“已从 TeamX 购买 3/5”)(如果商店队伍设置了购买限制)
- ✔ 购买 / ✖ 取消
世界内购买浮层(可通过按键绑定切换,或在靠近上架区块时自动出现)
- 显示区块位置、卖家队伍、价格以及带有当前购买键位绑定的提示
- 购买按钮 — 如果物品不足,则会变为禁用的无法购买状态
- ✕ 关闭按钮
- 有短暂的点击冷却时间,以防止意外重复购买
/ftbshop admin → 管理员面板(7 行,每行右侧都有实时摘要)
| 行 | 显示的实时摘要 |
|---|---|
| 基础费用 | 当前费用,或“未设置” |
| 玩家出售 | 已启用/已禁用 |
| 队伍价格 | 已配置的队伍数量 |
| 购买限制 | 设置了限制的队伍数量 |
| 玩家收入 | 已禁用收入的队伍数量 |
| 自动回收 | 已启用的队伍数量 |
| 服务器队伍管理 | — |
管理员 → 基础费用:物品字段 + 🔍 选择器、数量字段、设置和移除按钮,并显示当前生效的费用。
管理员 → 玩家出售:描述文本 + 一个启用/禁用切换按钮。
管理员 → 队伍价格 / 购买限制 / 玩家收入 / 自动回收:共享一个界面布局——当前已配置队伍的滚动列表(每个队伍都有 ⌂ “打开该队伍的声明地图”按钮和 ✕ 移除按钮)、一个带实时自动补全下拉菜单的队伍搜索字段(由 FTB Teams 提供支持)、一个物品选择器 + 数量字段(仅队伍价格/购买限制),以及一个 添加/更新(队伍价格/购买限制)或 切换(玩家收入/自动回收)按钮。
管理员 → 服务器队伍管理 / 队伍详情:请参阅上文的“服务器队伍管理”部分。
🛒 玩家购买指南
现在有三种方式可以购买区块:
- 世界内浮层 — 走近待售区块;面板会自动出现,显示价格和 购买 按钮。或者,只需站在区块内按下 购买 快捷键(默认为
B)。 - FTB Chunks 地图 — 打开大地图(默认为
M),找到商店颜色的区块图标,悬停查看价格/工具提示,然后左键点击购买。 - 交易市场 GUI — 打开
/ftbshop gui→ 交易市场,可随时随地搜索、排序(按价格或距离)、收藏和购买上架区块。
确保您的背包中有所需的物品!如果快速购买已启用(可在 /ftbshop gui 中切换),购买时将完全跳过确认界面。
您不能购买自己或自己队伍的区块,当您的角色属于服务器队伍时也无法购买。区块在购买后会立即转移到您的队伍名下,附近的玩家会看到购买特效。
💰 出售您自己的区块
如果管理员已启用玩家出售功能:
- 站在您队伍拥有的区块中。
- 打开
/ftbshop gui→ 出售区块。 - 选择物品和数量作为要价(输入 ID 或使用 🔍 选择器),然后点击 出售。
- 在我的上架中跟踪您的活跃上架,并可随时使用其 移除 按钮取消上架。区块售出后,付款会自动交给您(在线时立即收到,否则在下次登录时收到)——无需手动“领取”步骤。
💬 命令参考
| 命令 | 描述 | 权限 |
|---|---|---|
/ftbshop gui |
打开商店面板(交易市场、出售、我的上架、快速购买) | 所有玩家 |
/ftbshop admin |
打开管理员面板——所有管理员操作都在这里进行(基础费用、队伍价格、玩家出售、购买限制、玩家收入、自动回收、服务器队伍管理(包括队伍创建/删除)、领地保护,以及跳转到队伍的区块地图) | OP 2+ |
以前需要输入
/claimshop ...命令(set、remove、info、teamprice、playersell、playerincome、basecost、autoreclaim、setting)的所有配置——甚至以前需要/ftbteams server create或/ftbchunks admin open_claim_gui_as的队伍管理任务——都已移入/ftbshop adminGUI。实际上,/ftbshop admin将是您唯一需要输入的命令。
⚙️ 配置
在 config/ 下会生成两个配置文件:
- 客户端配置 — 粒子浮层设置:半径(区块数)、粒子间距和生成间隔。
- 服务器配置:
welcomeEnabled/welcomeMessage— 首次加入的欢迎消息(支持§颜色代码)。apiEnabled/apiUrl— 启用并设置一个 Discord 风格的 webhook URL,以便接收区块购买/上架/移除事件(以嵌入消息形式)。
🌍 翻译
该模组支持完整翻译。 您可以在以下地址进行更多翻译:https://crowdin.com/project/buying-chunks
⚙️ 工作原理
- 商店数据按维度保存在服务器端,使用 Minecraft 的
SavedData系统——可在服务器重启后持久保存。 - 当玩家加入(或数据变更)时,所有当前的商店上架、基础费用、购买限制和已购买计数都会为每个维度同步到客户端。
- 购买区块时,旧声明会被移除,区块会在买家队伍名下重新声明;商店购买会跳过基础费用(如有),以避免重复收费。
- 物品直接从买家的背包中扣除。
- 在同步期间,已不再被实际声明的区块上架信息会被自动清理。
🐛 已知限制
- 玩家必须属于非服务器队伍才能购买区块。
- 我的上架界面上的“已售”和“已赚取”计数器尚未启用,目前始终显示为
0——只有活跃上架数量是准确的。 - 大规模批量声明(一次 100+ 区块)可能会导致同步期间出现短暂卡顿。
- Discord webhook 集成是发送后即忘模式(失败后不重试);如果事件停止到达,请检查您的服务器日志。
📄 许可证
MIT 许可证 ©snoopypupser
正在加载版本记录…


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