跳到正文

StockMarket

作者:KROIA

StockMarket 是一款为 Minecraft 带来更完善交易方式的模组。玩家可以在虚拟股票市场上交易物品,非常适合经济系统活跃的多人服务器。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Stock Market Mod

2.1.0 版为测试版本——可能存在漏洞和不兼容的变更。在正式世界中使用,风险自负。稳定版:v1.3.1。

StockMarket 是一款为 Minecraft 带来虚拟股票市场的模组。玩家可通过实时撮合引擎交易物品,并使用蜡烛图、订单簿以及市价单和限价单——就像真实的交易所一样。价格会根据玩家的实际买卖行为波动,模块化插件系统则负责其余部分:基础流动性、波动率、目标价格机器人,以及能够推动市场行情的完整新闻事件系统。管理员可在游戏内通过管理控制台管理市场、插件、预设和设置;服务器网络则通过主从架构共享同一个市场,并采用基于信任的访问控制。

更多信息和文档:GitHub

需要安装 BankSystem 2.1.0 或更新版本以及 Architectury。ModUtilities 已包含在模组中——你无需单独下载(Quilt 用户除外,仍需单独安装 ModUtilities jar 文件)。服务器端和客户端都需要安装此模组。


功能 final

  • 实时交易,带K线图、订单簿深度和每根K线的成交量柱状图
  • 完整图表历史——滚动时图表会加载更早的K线,一直追溯到市场的第一根K线,只加载你实际查看的部分
  • 市价订单(即时成交)和限价订单(指定目标价格),图表上的订单标记可拖动,将订单移至新价格
  • 跨市场交易——直接用物品兑换其他物品(例如用铁换钻石),无需先卖出再买入的往返流程
  • 公司股份——通过BankSystem发行的公司股票与普通物品一同交易,交易方块上提供商品/公司筛选器,显示真实公司名称,整个UI中使用带色调的股份图标
  • 挂单面板,实时更新并支持一键取消;每个市场都有完整的订单历史和市场交易日志
  • 银行账户选择器位于交易界面——选择用哪个银行账户为每笔交易提供资金;余额和未结订单列表均按所选账户限定
  • 收藏——为你经常交易的市场加星以便快速访问;每位玩家会恢复上次选择的市场
  • 新闻事件系统,包含可合成报纸、72个默认双语事件、每个事件配有木刻插图、多阶段影响序列(飙升→衰减→恢复)、触发条件、事件链以及可通过JSON配置的自定义事件
  • 村民交易集成——村民/流浪商人对市场所列物品的报价会根据实时股市重新定价,买卖差价可配置;商人货币成本可用任意面额组合支付
  • 模块化插件系统——VolatilityPlugin(含玩家流量价格均衡)、TargetPriceBot(PID)、DefaultOrderbookVolumeDistribution和NewsPlugin。所有插件均可独立启用/禁用,可按市场订阅,并提供用于自定义插件的开发者SDK
  • 游戏内模组设置界面——每个settings.json值均可实时编辑,在服务端验证并钳制;需要重启的设置会标注
  • 管理GUI——创建市场,浏览32个默认预设类别(方块、矿石、食物、工具、盔甲、附魔书、药水、药箭……),就地编辑预设,使用每插件性能分析条管理插件,并管理新闻系统
  • 按市场虚拟订单簿控制——可为单个市场关闭模拟订单簿,使其价格完全由真实玩家交易驱动,其余市场提供清除和重置操作
  • 多服务器支持——主/从架构。不受信任的从服务器被锁定为只读浏览;每个变更请求(订单、插件更改、预设编辑、模组设置、新闻操作)都会在主服务器被拒绝
  • 管理员权限标志专用于StockMarket——仅凭管理员等级不再授予管理权限
  • 安全数据库备份——仅限管理员的/stockmarket backup pause|resume|status会静默SQLite数据库,以便外部备份脚本捕获干净快照,并带有120秒自动恢复安全网
  • 公共集成API——其他模组可通过有文档的服务端服务在进程内创建、暂停、恢复和删除市场

2.1.0版本新内容

需要BankSystem 2.1.0或更新版本。此版本围绕BankSystem的新公司功能构建——旧版BankSystem将无法加载。

  • 公司股份可交易——通过 BankSystem 发行的公司股票会像其他标的物一样出现在市场中。交易界面、订单簿标题、收藏列表和工具提示都会显示真实公司名称,而不是原始物品 ID;股份条目则会显示带有公司主题色的股份图标
  • 交易区新增商品 / 公司筛选——交易模式按钮下方新增分段控件,可在货币模式和物品对物品交易模式两种下筛选类别,交易流程为:模式 → 类别 → 物品,并实时显示各类别的数量
  • 市场列表排序可按名称、价格、已发行股份数或 24 小时交易量排序
  • 按市场切换虚拟订单簿——可针对单个市场关闭模拟订单簿,使其价格完全由玩家的真实交易决定。新增清除和重置操作,并提供对应的预设标记,以及“no plugin autosubscribe”预设选项
  • 面向其他模组的公共集成 API——提供有文档说明的服务端服务,可在进程内创建、暂停、恢复和删除市场。暂停市场会停止交易,并退还所有玩家挂单所占用的资金,同时保留价格历史
  • 预设编辑器:直接从物品栏中选择物品——新增“+ 从物品栏选择”选择器,采用熟悉的 3×9 格子加快捷栏布局;可选择带有数据组件的物品(例如盖章的公司股份),而这些物品无法通过扁平注册表列表选取
  • 修复——市场订单缺乏流动性时现在会取消并释放预留资金;点击选择器中的物品时,预设编辑器不再崩溃;交易界面首次打开时也能正确显示“市场已关闭”标签
  • 2.0.1 → 2.1.0 完整更新日志见 GitHub

自上个稳定版(1.3.1)以来的更新

  • 模块化插件系统取代旧的单一机器人——新增 VolatilityPlugin、TargetPriceBot、DefaultOrderbookVolumeDistribution 和 NewsPlugin,均可单独启用或禁用、按市场订阅;还提供仅需两个类即可使用的开发者 SDK,方便创建自定义插件(v2.0.1)
  • 插件管理 GUI提供叠加蜡烛图和订单簿的视图、各插件独立的自定义设置界面,以及市场订阅 / 取消订阅控件(v2.0.1)
  • 32 种默认预设类别涵盖原版 1.21.1 物品,包括方块、矿石、食物、作物、工具、盔甲、红石、生物掉落物、酿造物品、所有最高等级附魔书、药水、喷溅型 / 滞留型药水和药箭(v2.0.1)
  • 端到端交易量追踪——在 SQL 历史记录中记录每根蜡烛图的累计交易量、实时流式传输至客户端,并在图表中显示红绿色交易量柱(v2.0.1)
  • 图表上的订单标记可拖动——待成交限价单会以水平价格线显示,带有拖动手柄,可移动订单;点击 [X] 可取消订单(v2.0.1)
  • 交易界面新增待处理订单面板、订单历史和市场交易记录选项卡(v2.0.1)
  • 按玩家保存收藏和上次访问的市场,并持久化存储于服务端(v2.0.1)
  • 跨市场交易——可在配对图表上直接进行物品对物品交易(v2.0.1)
  • 预设编辑器 GUI和管理员命令——可用于将手持物品保存为预设/stockmarket preset add,以及在 GUI 外删除市场/stockmarket <market> remove(v2.0.1 / v2.0.3)
  • 增强地区设置兼容性——将界面中的所有数字格式固定为 Locale.ROOT,修复使用点号作为小数分隔符的地区设置下 TradeScreen 崩溃的问题,(v2.0.2)
  • 市场生命周期修复——删除的市场会立即同步至所有客户端;价格漂移或无法解析的市场仍可选择和移除;并会自动合并因 BankSystem ItemID 合并而产生的重复市场(v2.0.3)
  • 新闻事件系统 — 可合成的报纸、默认提供72条双语事件、每个事件配有木刻风格插画、多步骤事件序列、触发条件、事件链,以及可通过 JSON 配置的自定义事件(v2.0.4)
  • 村民交易 — 根据实时市场重新定价的交易选项,支付时不受货币面额限制(v2.0.4)
  • 游戏内模组设置界面,供主服务器上的管理员使用(v2.0.4)
  • VolatilityPlugin 价格均衡机制,可根据玩家交易流量自我平衡,并按物品分别缩放丰度(v2.0.4)
  • 插件性能分析栏,显示在插件管理窗口中(v2.0.4)
  • 银行账户选择器,位于交易界面——可从你拥有完整权限的任意账户进行交易(v2.0.4)
  • 基于信任的访问控制和专用的 StockMarket 管理员权限标记 — 不受信任的从属服务器仅可读取;管理权限不再仅由管理员等级决定(v2.0.4)
  • Fabric 构建修复 — 恢复 Fabric 构建中的 BankSystem 依赖项(v2.0.5)
  • 分页式图表历史 — 图表仅加载当前查看的时间窗口;向前滚动时再分页加载更早的蜡烛图,因此可以查看市场有史以来的第一根蜡烛图,而不再止步于约五天前。交叉汇率图表也采用相同的分页方式,重新查看已加载的时间范围不会产生网络流量(v2.0.7)
  • 更快加入世界 — 加载时不再获取所有市场的图表数据;一个有125个市场的世界,以前在你打开任何图表前就会执行750次 SQL 往返查询(v2.0.7)
  • /stockmarket backup pause|resume|status — 仅限管理员使用的数据库静默功能,让外部备份脚本能够获取干净的 stockdata.db;并提供120秒后自动恢复的安全机制,暂停期间不会丢失数据(v2.0.7)
  • 公司股票交易 — BankSystem 的公司股票可与物品一同交易,并提供「大宗商品 / 公司」筛选器、真实公司名称、带色调的股票图标,以及按名称 / 价格 / 已发行股票数 / 24小时交易量排序市场的功能(v2.1.0)
  • 按市场切换虚拟订单簿,并提供清空和重置操作,以及对应的预设标记(v2.1.0)
  • 公开集成 API,供其他模组在进程内创建、暂停、恢复和删除市场(v2.1.0)
  • 预设编辑器物品栏选择器 — 可选择带有数据组件的物品,例如盖章的公司股票(v2.1.0)

股票市场终端方块

实体终端方块。右键即可打开完整交易界面——包括图表、订单簿、订单控制、收藏、待处理订单和历史记录;所有内容均关联到当前选定的银行账户。


实时价格图表

蜡烛图下方显示成交量直方图。成交量按对应蜡烛图的涨跌方向着色为绿色或红色,并由服务器实时推送。可平移、缩放并切换时间周期。


新闻事件系统

可合成的报纸是面向玩家的信息流。条目按游戏内日期分组,并以「第 N 天」分隔;每个事件都配有专属的 384×384 灰度木刻风格插画。可从物品栏、交易或管理界面打开报纸,也可通过 /stockmarket news打开。

点击任意标题即可查看事件详情:包括类别、受影响市场及各市场的影响百分比,以及实时更新的事件序列分解(逐步增强 → 持续生效 → 逐步回归 → 结束),并显示各阶段时长和距离下一步的倒计时。


新闻管理员控制

进行中的事件 — 查看当前运行的事件、各市场影响条目和图片缩略图,并可分别跳过阶段 / 停止事件。

所有事件 — 查看完整事件列表、详情弹窗,并可分别启用 / 禁用事件或手动触发。

调度器 — 控制发布频率,并查看附有预计时间的即将发生事件时间线。


管理界面

管理控制台。可通过 32 个默认预设类别创建市场、浏览并直接编辑预设、管理插件、编辑模组设置以及管理新闻系统——全程无需离开游戏。


带性能分析器的插件管理

启用、禁用并重新排序插件。每个插件都有独立的设置界面(可内嵌显示,也可全屏打开),并提供可订阅的市场列表。顶部的性能分析器栏会显示每个插件在每个执行阶段的耗时,并与服务端实际刻预算进行对比;插件负载过高时会发出超限警告。


合成配方

交易终端——打开交易界面的方块。

股票市场显示器——在游戏世界中显示所选市场的实时图表。

报纸——供玩家阅读新闻的界面。

常见问题

StockMarket 支持哪些 Minecraft 版本?

StockMarket 支持 Minecraft Java 版 1.19.2–1.21.1,共 10 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。

StockMarket 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

KROIA 的其他作品

查看全部 →