
CreativeCostsNumismatics
在生存模式中,你可以访问所有模组添加的创造模式标签页,每件物品都需要消耗创造货币。所有物品供应有限,必须通过航空交付合同来补充库存。
查看大图创意成本钱币学
感谢 VoidAnomaly 提供的选择性创造物品栏
需要前置模组「机械动力」!
本模组为物品栏中的每件物品定价,价格由合成配方图推导得出,并在玩家从创造模式菜单取出物品时收取费用。创造模式菜单是一个商店,而非收入来源:它只会从经济体系中扣除金钱。赚取金钱是「配送任务」模组的工作。
一个包含 200 个模组的整合包有数万件物品,没有人会手动为它们定价。但几乎每件物品都是由其他物品制成的,而几十种原材料则值得手动定价。因此,价格由配方图上的求解器计算得出。
| 模组 | id | 版本 | 说明 |
|------------------------------------------|--------------------------------|---------|------|
| 选择性创造物品栏 (Selective Creative Inventory) | `selective_creative_inventory` | 1.0.0 | **必需** — 负责界面 |
| 机械动力:钱币学 (Create: Numismatics) | `numismatics` | 1.0.20 | **必需** — 提供货币 |
| 机械动力 (Create) | `create` | 6.0.10 | **必需** — 用于定价的配方图 |
| 机械动力:航空学 — 配送任务 (Create Aeronautics: Delivery Required) | `createdeliveryrequired` | 1.0.2 | **必需** — 价格锚点与所有玩家收入 |
操作
按下 E 键。本模组没有独立的 GUI 或专属按键绑定。「选择性创造物品栏」模组已经为启用的玩家将物品栏按键重定向至创造菜单(使用 /sci enable <玩家名>),而本模组则改变了在该菜单中点击的行为。
| 操作 | 效果 |
|---|---|
| 左键点击物品 | 购买 1 个 |
| 右键点击物品 | 购买 shop.bulkBuyCount 个(默认为 8) |
| Ctrl + 左键点击 | 购买一整组 |
| Shift + 左键点击 | 购买一个无限供应源(仅限方块) |
| 中键点击 | 在聊天栏中打印该物品的市场数据 |
| 手持一组物品时点击任何商店槽位或垃圾桶 | 销毁该组物品。不予退款。 |
物品提示框会显示购买价格和供应量,并带有稀缺性指示器(▲ +42% / ▼ -18% / ■ 平价);在商店内部,提示框还会显示操作提示和你的余额。
指令
| 指令 | 权限 | 效果 |
|---|---|---|
/ccn balance |
所有人 | 查看你的余额 |
/ccn price |
所有人 | 查看手持物品的市场数据 |
/ccn market |
所有人 | 查看总市值、货架等级、交易记录 |
/ccn sync |
所有人 | 强制进行完全重新同步(用于调试) |
/ccn supply set <数值> |
管理员 (2) | 设置手持物品的供应量 |
/ccn supply reset |
管理员 (2) | 将所有供应量重置为基准值 |
/ccn reload |
管理员 (2) | 重新计算价格并重新同步所有玩家 |
/ccn export |
管理员 (2) | 将整个解析后的价格表导出到 ccn-prices-export.json |
/ccn contract add|remove |
管理员 (2) | 将手持物品列入配送合同清单 |
/ccn market add|remove |
管理员 (2) | 将手持物品列入大宗市场购买清单 |
设计上不存在出售指令。
方块物品
/ccn blocklist
/ccn blocklist 查看手动屏蔽的物品
/ccn blocklist add 屏蔽手持物品
/ccn blocklist add <物品> 屏蔽指定物品 ID(支持 Tab 补全)
/ccn blocklist remove [<物品>]
新玩家
整合包应无需管理员为每位玩家手动设置即可运行,因此 PlayerOnboarding 会在玩家首次加入时执行两项操作。
创造物品栏权限。「选择性创造物品栏」模组通常通过 /sci enable 为每个玩家单独设置访问权限。它的 CREATIVE_INVENTORY 附件是公开的,因此可以直接设置该标志——仅字段查找过程使用反射,附件类型本身是 NeoForge 的类。如果没有这一步,每位新玩家只会看到普通的生存模式物品栏,而没有商店。
初始资金。向玩家的「钱币学」银行账户发放 4096 斯珀——一枚太阳币——以便他们能够进行交易。仅当玩家的钱包、银行和虚拟余额全部为零时才会发放。全新玩家还没有银行账户,因此 NumismaticsBank.depositToNewAccount 会通过 getOrCreateAccount(UUID, Type.PLAYER) 为其开设一个账户;如果该操作不可用,则会以硬币形式支付,而不是默默丢失。
这两项操作每位玩家仅会执行一次,并记录在世界存档中,这一点的重要性超乎表面所见。资金测试的条件是「你是否身无分文」,如果没有记录,每当有人花光所有钱时都会再次获得资金——这便成了一个完全绕开合同体系的收入来源。而且,如果每次登录都重新授予创造物品栏权限,会悄无声息地覆盖管理员有意执行的 /sci disable 操作。
服务器拥有最终裁决权。客户端发送「我在此模式下点击了此物品」;服务器决定物品、数量、价格、玩家是否可以购买、是否买得起,以及市场的后续反应。ClientMarket 的存在仅仅是为了让提示框无需网络往返即可显示。
已知限制
- 制成品只能通过合同回流。任何不在
raw_materials清单上且没有任何合同要求的物品,都会单向滑向market.maxMultiplier。这是设计意图,但这意味着原材料清单是整合包需要配置得最准确的部分。 - 玩家间交易不会被追踪(双向均不追踪)。
- 整合包中的其他模组是此设计所不了解的收入来源。该经济体系假定收入来自配送合同,但
bountiful、numismatic_bounties、jackpot、stockmarket和trading_floor都会独立发放奖励,而且村民交易(以及easy_npc和villageroverhaul)既能铸造货币,也能在不经过市场的情况下提供物品。这些在机制上都不会破坏任何东西——只是意味着经济循环存在漏洞,而这个漏洞值得做出决定,而不是成为意外。 - AlmostUnified 在求解器运行前会重写配方和标签,因此推导出的价格会正确地遵循统一后的配方。它统一掉的物品仍然存在于注册表中并会被定价,这虽无害,但会给 /ccn export 的输出增加噪音。
- CraftTweaker 和 KubeJS 的配方会被包含在内,因为求解是在 ServerStartedEvent 和每次重载后进行的——换言之,在脚本已重写配方管理器之后。
- 无限供应源只会被阻止缩小数量,但不会阻止被用作合成材料。
ItemStack#consume是放置方块的路径;直接调用 shrink 的配方仍然会消耗一个物品。 - 带组件的物品堆按物品 ID 定价。购买附魔书将收取基础物品的价格,并且客户端发送的组件会被照单全收。
- 发射器和其他非玩家放置无限供应源的行为不会被计费。
- 商店选项卡内禁用拖拽分配功能。
未来的更新已在计划中。这个模组还很新!感谢 Fable 5
正在加载版本记录…


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