1.0.3 —— 联机修复版
· 修复:联机时非主机玩家的物品名不再显示为原始 id,现在显示正常译名,并跟随各自客户端的语言。 · 修复:非主机玩家现在也能看到许愿池上方悬浮的硬币(此前在独立服务器上完全没有)。 · 修复:非主机玩家许愿后,奖励也会从水里升起,和主机一致。 · 注意:数据包通道版本提升到 2。服务端与所有客户端必须使用同一个 jar; 版本不一致时会直接拒绝连接,而不会显示错误的概率。 · 保持不变:战利品表类奖励(例如 dungeon_cache)没有单一物品,仍显示数据包里的 id,主机和客人一样。 · 其余行为与 1.0.2 一致。
1.0.2 —— 修复版
· 修复:一次许愿可能会摧毁上一次尚未发放的奖励(同一座许愿站 1.8 秒内的第二次许愿, 例如十连之后立刻单抽)。现在结算期间会拒绝新的许愿:这一次不被扣费、并明确告知 "仍在结算",上一次的奖励照常发放。 · 修复:某些奖励分布下,打开许愿界面会因概率汇总的取整误差而报错中断("ppm out of range")。 · 修复:概率表现在按最大余数法分配,/gacha odds 与界面打印出的数字加起来恰好 100.0000%, 每个稀有度分组的合计也精确等于它的份额。 · 修复:数据包里 weight 为负数/非法值、或 count 范围超过该物品堆叠上限,过去会打崩整个 数据包重载、或产出异常巨大的物品。现在都在校验阶段报错,不再中断重载。 ⚠️ 如果你故意写过超过堆叠上限的 count 范围,现在会被拒绝加载,请修正其中一个数字。 · 修复:存档里某个数值异常(例如负的计数)会连累该玩家全部系列的保底数据被整体丢弃; 现在按最保守的值修复并记录日志。 · 修复:/gacha stats 与界面历史过去把"所有系列合计的实现率"和"单个系列的概率"放在一起比较; 现在按系列分别统计。 · 修复:非主机客户端过去不知道站台服务的是哪个系列;现在站台会把系列同步给客户端。 · 加固:网络载荷与存档读入的越界数值会被有意识地拒绝或修复,不再从解码路径抛异常; 载荷里的列表长度也加了上限。 · 修复:小窗口 + 高 GUI 缩放下界面会画到屏幕外;跨维度后最多一秒内喷泉可能沿用上一场景的 水量来算尺寸。 · 改进:下载体积少约 19 KB(不再包含仅开发用的测试与数据生成代码)。 · 改进:/gacha pity 现在打印完整的保底展望(期望抽数、中位数、p90、p99)。
已知限制:在"不是主机"的客户端上(独立服务器或局域网访客),许愿池上方的悬浮硬币、 许愿后升起的奖励、以及界面里的物品名仍会缺失或显示为原始 id。单机与主机不受影响。 下一版处理(需要把物品 id 一并同步给客户端)。
新增两个服务端配置项,用来用自己的卡池替换掉模组内置的那一套:
· enable_builtin_series(默认 true) 设为 false 时,模组自带的 wishing_pool: 系列不再加载 —— 不在列表里、不能抽取、 也不能成为默认。你的卡池就是这个世界里唯一的卡池。
· default_series(默认 "wishing_pool:mining") 新放置的许愿站使用哪个系列。存档里已有的站台,只要它原来的系列还能解析,就继续 用它 —— 不会改写已经存在的状态。
两行就是「这个世界只用我的卡池」: enable_builtin_series = false default_series = "ss_gacha:mine"
配置文件位置:整合包默认放 config/wishing_pool-server.toml; 单个世界覆盖放 <世界>/serverconfig/wishing_pool-server.toml。
其余行为与 1.0.0 完全一致:默认配置下不产生任何新的日志行,已有存档不受影响。 需要注意的一点:默认系列现在是固定的 id —— 将来新加进来、按字母序排在它前面的 系列,不会再悄悄变成默认。
配置值写错、或一个系列都没有时,会明确报错并列出实际加载了哪些系列,不会静默兜底。
许愿池是一个把「抽奖」做成景观的模组:你在一片好看的风景里找到一座许愿祠堂,或者自己放下石座,然后用货币许愿。
怎么玩
- 在九个群系中的任意一个,你会遇到自然生成的许愿祠堂:四种树(橡木 / 白桦 / 樱花 / 云杉)各有一套造型,旁边都站着一棵挂着灯的大树。也可以自己合成石座,在任意地方放下。
- 手持货币(默认是绿宝石一类,可自定义)空手右键石座,界面打开。
- 界面有三个页签:概览(池中硬币、你的持有、距离保底还有多少次)、概率(每一档的实时概率与逐项概率)、历史(你抽了什么)。
特性 · 概率是算出来的,不是写死的:界面上公布的百分比和实际抽取用的是同一份解析计划,/gacha odds 可以逐项查看。 · 保底:软保底从指定次数开始逐抽加成,硬保底必定应验;保底绑定在玩家身上,重登、跨维度都不会丢。 · 许愿有回应:中奖的瞬间,池水会升起一道光柱,硬币落进水里。 · 数据包完全自定义:data/<命名空间>/gacha_series/<名字>.json 定义一个卡池——档位与颜色、每条奖励的权重与数量、货币标签与单价、冷却、保底参数,奖励类型支持物品、标签、以及直接挂到任意战利品表(loot_table)。放同路径即覆盖,换命名空间即新增。 · 配方书:捡到石英就会点亮基础配方;许过一次愿,整套配方一次性给全。
要求 · Minecraft 1.21.1 / NeoForge 21.1.x · 客户端与服务端都需要安装(世界生成与方块在服务端,界面与光柱在客户端) · 没有前置模组
授权 · 代码 MIT;模组的全部美术(贴图、模型、音效、结构、界面底图)都由本项目自己的脚本生成,随同一份 MIT 授权。
作者:天才阿徐 https://bbsmc.net/user/天才阿徐




