Cobblemon MiniGames
把游戏角落街机赌场带到 Cobblemon!畅玩扭蛋、轮盘、老虎机、Flappy Bird、方块堆叠、贪吃蛇、赛马和 Voltorb 翻牌。赚取金币、赢取头奖,还能兑换稀有物品和宝可梦。奖励、赔率和商店均可自由配置。
截图
介绍

让你的 Cobblemon 世界成为玩家冒险之余也想前来游玩的地方。
Cobblemon MiniGames 带来一座可完整游玩的街机厅:包含八款可赢取金币的小游戏、四张弹珠台、四台扭蛋机、街机金币、金币盒和奖励商店。在轮盘、老虎机、Flappy Bird、方块堆叠、贪吃蛇、赛马、Voltorb Flip、二十一点和弹珠台中赢取金币,然后用金币兑换可配置的奖励,或从扭蛋机中抽取宝可梦。

功能
- 街机游戏灵感来自《宝可梦 绿宝石》的游戏角,每款游戏都有独特的主题外观。
- 弹珠台:四张主题台(喵喵、地鼠、海豹球和耿鬼),每张都有自己的目标和奖品。
- 游戏机:可通过小游戏机游玩所有游戏,为每款游戏放置专属机器,或通过商店机打开奖励商店。机器屏幕会播放动画演示。
- 扭蛋:四台扭蛋机,可按稀有度抽取宝可梦(或你指定的物品)。
- 街机金币、金币盒和奖励商店。
- 易于设置,适合服务器使用:游戏、价格、奖品和配方均可调整。
小游戏
轮盘

轮盘的灵感来自《宝可梦 绿宝石》中的轮盘桌。玩家进入后,首先选择一张桌子:左侧红色桌使用普通低额下注,右侧绿色桌使用更高的下注额;每逢 Minecraft 的第七天,右侧桌会变为服务日专用桌,并采用单独配置的下注额。
选好桌子后,玩家可押注宝可梦所在列、颜色所在行或指定格子。每次旋转都会扣除桌子的下注额,并向轮盘投下一颗球。获胜时可获得 wager * multiplier 的奖励;每轮会保留已落下的球,直到放置六颗球或没有有效空格为止。如果玩家在回合中途离开,之后回来时会继续进行当前轮盘回合。
奖金取决于所选区域:
- 列下注根据该列已占据的球数,奖励为下注额的 6 倍、4 倍或 3 倍。
- 行下注根据该行已占据的球数,奖励为下注额的 4 倍或 3 倍。
- 指定格子下注若球落在该格,奖励为下注额的 12 倍。
- 棋盘清空后,下次进入时会重新选择桌子。
老虎机

老虎机的灵感来自《宝可梦 绿宝石》中的老虎机。玩家投入一至三个下注单位,每个单位的费用由 slotmachine.coinToPlay 配置,然后启动转轮,并用操作按钮逐个停止转轮。投入一个单位会启用中间线;投入两个单位会启用顶线、中间线和底线;投入三个单位则会启用全部五条线,包括两条对角线。
Bet Max 会投入最多三个下注单位,并在三单位全部投入后启动转轮。重玩和力量匹配在老虎机流程中都算作获胜,但重玩不会发放金币,而力量匹配会积攒 Pika Power。Pika Power 有机会触发 Reel Time,开启一小段特殊流程,并可能赠送转速较慢的奖励旋转。
当前符号奖金:
- 中间线上的樱桃奖励 2 枚金币;顶线或底线上的樱桃奖励 4 枚金币。
- 莲叶童子奖励 6 枚金币。
- 露力丽奖励 12 枚金币。
- 力量符号奖励 3 枚金币,并增加 Pika Power。
- 混合 7 奖励 90 枚金币。
- 红色 7 奖励 300 枚金币。
- 蓝色 7 奖励 300 枚金币,并使下一次 Reel Time 变为幸运模式。
- 重玩算作匹配,但不奖励金币。
Flappy Bird

Flappy Bird 会消耗配置的入场费用,然后开始倒计时。玩家操控巴大蝶穿过障碍物之间的空隙。每通过一个障碍物得一分,并按配置的步长提升速度,速度从配置的基础速度开始,上限为配置的最大速度。撞毁时,本次游戏会支付 score * multiplier 街机币。
方块堆叠

方块堆叠会消耗配置的入场费用,然后要求玩家逐行停下移动的方块。完全错过所有方块则结束本次游戏。默认情况下,到达第 6 行可选择 50 币兑现,第 7 行可选择 250 币,第 8 行支付 1000 币的最高奖励。奖励金额(显示在对应行旁边)以及这些行的移动速度可在配置中调整。每次兑现提示出现时,玩家可以选择领取当前奖励或继续。
贪吃蛇

贪吃蛇会消耗配置的入场费用,然后让玩家操控大岩蛇在场地中移动。每吃一颗浆果得一分并使蛇变长。撞到墙壁或蛇身则结束本次游戏,并支付 score * multiplier 街机币。
德比

德比会生成六名参赛者,然后让玩家选择一名并以 10 币为步长下注。最大下注额为玩家当前拥有的街机币数量,按 10 币步长向下取整。所选参赛者必须第一个冲线才能获胜。赔付取决于下注单上显示的参赛者赔率。
下注单可显示以下赔率:
- 赔付 1:x1.1,即下注 10 币返还 11。
- 赔付 2:x1.2,即下注 10 币返还 12。
- 赔付 3:x1.3,即下注 10 币返还 13。
- 赔付 4:x1.5,即下注 10 币返还 15。
- 赔付 5:x2,即下注 10 币返还 20。
- 赔付 6:x3,即下注 10 币返还 30。
霹雳翻牌

霹雳翻牌是一款受 Voltorb Flip Rogue 启发的风险与回报解谜游戏。开始一局会消耗配置的入场费用,然后显示一个 5×5 的隐藏卡牌面板。每张卡牌要么是霹雳电球,要么是 1、2 或 3。右侧和底部边缘的提示显示每行或每列的总卡牌数值以及霹雳电球卡牌数量。
目标是翻开所有 2 和 3 卡牌,同时不翻开霹雳电球。翻开 1 是安全的,但不会增加赔付。翻开 2 或 3 会乘以当前面板价值。玩家可以在翻开模式和标记模式之间切换,然后在解谜时用 1、2、3 或霹雳电球的标记来标注隐藏卡牌。
完成一个面板会将该面板的价值加入本次游戏的金库,并提供选择:兑现或继续下一关。更高关卡有更大的潜在赔付,但也有更多霹雳电球。如果玩家兑现,存入的街机币将支付给玩家。如果玩家翻开霹雳电球,本次游戏的金库将丢失,赔付为 0。
与原版游戏城游戏不同,此版本允许玩家在面板进行中离开。面板状态会被保留,因此他们可以稍后回来继续同一局游戏。离开不会支付当前金库;玩家必须从完成面板的提示中兑现才能获得存储的奖金。
21点

Blackjack 允许玩家以 10 枚街机币为步长下注,并与庄家对战。目标是达到 21 点,或在不超出的情况下比庄家更接近 21 点。桌子旁边的面板会显示最低下注额、你当前的下注额以及轮到谁行动。
在玩家回合中,他们可以再抽一张牌或停牌。庄家会一直抽牌,直到至少达到 17 点。
当庄家的明牌是 A 且玩家有足够的街机币时,会出现保险选项。保险费用为当前下注额的一半。如果庄家拿到 Blackjack,保险会返还原始下注额的价值;否则,保险会损失,并且该手牌正常继续。
当玩家的前两张牌总点数为 9、10 或 11,且玩家有足够的街机币来匹配当前下注额时,会出现加倍选项。选择它会将下注额翻倍,恰好再发一张牌,并结束玩家回合。
普通获胜返还下注额的两倍,Blackjack 返还下注额的两倍半,平局返还原始下注额。失败或超过 21 点不支付任何奖励。如果玩家在下注后离开,游戏会被保存,之后可以继续。
弹珠台

四个弹珠台基于 Pokemon Emerald GameCorner Expansion 的弹珠台。每个弹珠台都有自己的机器,而且四个都可以通过 MiniGames Machine 游玩。
按 Enter、Space,或点击弹珠台来开始并发射球。使用 A/Z 控制左挡板,使用 D/X 控制右挡板。当时间耗尽、你清空弹珠台,或你失去 Diglett 唯一的球时,回合结束,然后你会获得奖励。
如果你在回合中途关闭弹珠台,它会暂停,之后你可以继续完成而无需再次付费。
| 弹珠台 | 目标 | 默认时间 | 奖励 |
|—|—|—:|—|
| Meowth | 击中 Meowth 让他掉落宝石,然后收集它们。连续宝石价值更高。达到 20 分。 | 60 秒 | 每分 3 枚硬币 |
| Diglett | 一个球:击中全部 31 只 Diglett,然后击中 Dugtrio 三次。 | 120 秒 | 每只 Diglett 3 枚,清空 Diglett 100 枚,击败 Dugtrio 150 枚 |
| Seel | 在 Seel 浮出水面时击中它。连续命中价值更高。达到 20 分。 | 90 秒 | 每分 4 枚硬币 |
| Gengar | 击中 Gastly 10 次,Haunter 10 次,然后 Gengar 5 次。 | 90 秒 | 每只 Gastly 3 枚加每只 Haunter 7 枚,完成弹珠台 250 枚 |
在 Meowth 和 Seel 上,失去球会扣四分,并发射一个新球。Meowth 的宝石不会永远存在:它们会在消失前闪烁。
扭蛋

扭蛋直接从四个专用机器方块之一打开,而不是从街机 Home 界面打开。Basic、Great、Ultra 和 Master 机器各自使用逐渐更广的稀有度集合:
- Basic(粉色)包含
commonPokemon。 - Great(蓝色)包含
common和uncommonPokemon。 - Ultra(黄色)包含
common、uncommon和rarePokemon。 - Master(紫色)包含全部四种稀有度,包括
ultra-rare。
默认情况下,可用的 Pokemon 仅从 Cobblemon 世界生成池中生成。服务器所有者可以配置任何机器改为使用手动物种列表,或改为发放已配置的物品而不是 Pokemon。
每位玩家都会根据其队伍和电脑中已登记的宝可梦种类,获得一个专属奖池。提高押注不会改变机器的稀有度概率、闪光概率或外观形态概率,而是逐步提高抽中玩家尚未拥有的宝可梦种类的概率。押注达到上限时,只要所选稀有度中仍有至少一种未拥有的宝可梦,就一定会抽中新种类。
抽出的宝可梦也可能独立地成为闪光宝可梦,或拥有符合条件的非标准形态。随机选择外观形态时,不会出现Mega、超极巨化和极巨化形态。只有在展示动画结束后,玩家才会收到宝可梦。
机器
MiniGames机器与专属游戏机
MiniGames机器会打开主界面,玩家可以在其中选择任意已启用的游戏,包括四张弹珠台地图。
每款游戏还有自己的专属游戏机,可直接打开对应游戏。每台游戏机的侧面都有对应主题装饰,展示游戏中的宝可梦:
| 机器 | 游戏 | 宝可梦 |
|—|—|—|
| 贪吃蛇机器 | 贪吃蛇 | 大岩蛇 |
| Flappy Bird机器 | Flappy Bird | 巴大蝶 |
| 方块堆叠机器 | 方块堆叠 | 钻角犀兽 |
| 21点机器 | 21点 | 勾魂眼 |
| 赛马机器 | 赛马 | 小火马 |
| Voltorb Flip机器 | Voltorb Flip | 霹雳电球 |
| 老虎虎机器 | 老虎机器 | 皮卡丘 |
| 轮盘机器 | 轮盘 | 小果然 |
MiniGames机器和各游戏机的屏幕会播放相应游戏的短动画演示。在NeoForge上,它们会在黑暗中发光。
商店机器
商店机器是一台白色售货亭,带有条纹遮阳篷和SHOP标牌。右键点击即可直接打开奖励商店。
弹珠台
喵喵弹珠台、地鼠弹珠台、小海狮弹珠台和耿鬼弹珠台各自都有主题弹珠台和带有动态灯光的招牌。右键点击机器即可游玩。
硬币盒
硬币盒会将虚拟街机硬币存储在物品数据中。如果玩家的物品栏中有硬币盒,游戏奖励会优先存入其中。玩家也可以通过硬币盒界面,将物品栏中的实体硬币存入盒中,或将已存储的硬币取出为物品堆。
重要说明:
- 共享硬币上限为99999999。
- 如果玩家持有硬币盒,奖励会优先存入其中。
- 取出的实体硬币数量不会超过物品栏的剩余容量。
合成配方
MiniGames硬币与硬币盒
MiniGames硬币盒

- 1个Cobblemon遗迹硬币
- 4块皮革
MiniGames硬币

- 1个Cobblemon遗迹硬币
- 4个铁粒

若要一次合成九枚,请按相同形状摆放1个遗迹硬币袋和4个铁锭(产出率与单次合成九次相同)。
MiniGames机器

- 4块任意木板
- 2个金锭
- 2个铁锭
- 1颗绿宝石
商店机器

- 4块任意木板
- 1块玻璃
- 2个铁锭
- 1个红石
- 1个白色染料
专属游戏机
八种柜机的合成配方形状相同:4 个任意木板、1 个玻璃、2 个铁锭、1 个红石,以及 1 个用于选择游戏的染料。








| 染料 | 柜机 |
|—|—|
| 黄绿色染料 | 贪吃蛇柜机 |
| 淡蓝色染料 | 飞扬的小鸟柜机 |
| 灰色染料 | 方块堆叠柜机 |
| 紫色染料 | 二十一点柜机 |
| 橙色染料 | 德比柜机 |
| 红色染料 | Voltorb 翻牌柜机 |
| 黄色染料 | 老虎老虎机 |
| 青色染料 | 轮盘赌柜机 |
弹珠台
四种弹珠台的合成配方形状相同:2 个玻璃、4 个铁锭、1 个红石,以及 1 个用于选择弹珠台的染料。




| 染料 | 弹珠台 |
|—|—|
| 黄色染料 | 喵喵弹珠台 |
| 棕色染料 | 地鼠弹珠台 |
| 淡蓝色染料 | 小海狮弹珠台 |
| 紫色染料 | 耿鬼弹珠台 |
扭蛋机




四种扭蛋机的合成配方形状相同:
- 3 个玻璃
- 4 个铁锭
- 1 个红石
- 1 个对应等级的染料
染料的颜色决定合成结果:
- 粉红色染料可合成基础扭蛋机。
- 蓝色染料可合成高级扭蛋机。
- 黄色染料可合成究极扭蛋机。
- 紫色染料可合成大师扭蛋机。
配置
服务器配置(config.yml)
服务器配置文件位于 config/cobblemonminigames/config.yml。
默认的 config.yml:
pinball:
meowth:
enabled: true
time: 60
coinToPlay: 1
diglett:
enabled: true
time: 120
coinToPlay: 1
seel:
enabled: true
time: 90
coinToPlay: 1
gengar:
enabled: true
time: 90
coinToPlay: 1
snake:
enabled: true
coinToPlay: 1
multiplier: 2.0
flappybird:
enabled: true
coinToPlay: 1
multiplier: 2.0
speedBase: 2.0
speedStep: 0.05
speedMax: 7.0
slotmachine:
enabled: true
coinToPlay: 1
blockstacker:
enabled: true
coinToPlay: 1
row6Prize: 50
row7Prize: 250
row8Prize: 1000
row6SpeedFrames: 4
row7SpeedFrames: 3
row8SpeedFrames: 2
derby:
enabled: true
voltorbflip:
enabled: true
coinToPlay: 10
blackjack:
enabled: true
roulette:
enabled: true
leftTableBet: 1
rightTableBet: 3
serviceDayBet: 6
gacha:
basic:
enabled: true
usePokemonList: false
useItemList: false
minWager: 50
maxWager: 9999
shinyChancePercent: 0.01220703125
aspectChancePercent: 5.0
rarities:
common: 100.0
great:
enabled: true
usePokemonList: false
useItemList: false
minWager: 250
maxWager: 9999
shinyChancePercent: 0.01220703125
aspectChancePercent: 5.0
rarities:
common: 70.0
uncommon: 30.0
ultra:
enabled: true
usePokemonList: false
useItemList: false
minWager: 1000
maxWager: 9999
shinyChancePercent: 0.01220703125
aspectChancePercent: 5.0
rarities:
common: 45.0
uncommon: 35.0
rare: 20.0
master:
enabled: true
usePokemonList: false
useItemList: false
minWager: 4500
maxWager: 9999
shinyChancePercent: 0.01220703125
aspectChancePercent: 5.0
rarities:
common: 35.0
uncommon: 30.0
rare: 25.0
ultra-rare: 10.0
recipes:
arcadeCoinCrafting: true
arcadeMachineCrafting: true
basicGachaMachineCrafting: true
greatGachaMachineCrafting: true
ultraGachaMachineCrafting: true
masterGachaMachineCrafting: true
snakeMachineCrafting: true
flappyBirdMachineCrafting: true
blockStackerMachineCrafting: true
blackjackMachineCrafting: true
derbyMachineCrafting: true
voltorbFlipMachineCrafting: true
slotMachineCrafting: true
rouletteMachineCrafting: true
shopMachineCrafting: true
meowthPinballMachineCrafting: true
diglettPinballMachineCrafting: true
seelPinballMachineCrafting: true
gengarPinballMachineCrafting: true
现有的 config.yml 文件会自动补入新引入的缺失键,且不会覆盖服务器所有者已配置的值。
从不含独立扭蛋配方设置的版本升级时,每项缺失设置都会继承现有的 arcadeMachineCrafting 值一次。此后,每种机器配方都可以单独配置。
| 键 | 值 | 描述 |
|—|—:|—|
| pinball.<table>.enabled | true | 在主页显示该弹珠台,并允许玩家通过机器或命令启动游戏。<table> 可以是 meowth、diglett、seel 或 gengar。 |
| pinball.<table>.time | 60 / 120 / 90 / 90 | Meowth、Diglett、Seel 和 Gengar 的单局时长(秒)。数值限制在 1 到 86400 之间。新时长将在下一局生效。 |
| pinball.<table>.coinToPlay | 1 | 在该弹珠台开始一局时消耗的街机币数量。设置为 0 即可免费游玩。数值限制在 0 到 99999999 之间。 |
| snake.enabled | true | 在主页显示贪吃蛇,并允许服务器启动和处理游戏。 |
| snake.coinToPlay | 1 | 开始一局贪吃蛇游戏时消耗的街机币数量。 |
| snake.multiplier | 2.0 | 蛇蛇游戏得分奖励的倍率。小数结果会四舍五入到最接近的整数。 |
| flappybird.enabled | true | 在主页显示 Flappy Bird,并允许服务器开启和处理游戏。 |
| flappybird.coinToPlay | 1 | 每次开始 Flappy Bird 游戏时消耗的街机金币。 |
| flappybird.multiplier | 2.0 | Flappy Bird 得分奖励的倍率。小数结果会四舍五入到最接近的整数。 |
| flappybird.speedBase | 2.0 | Flappy Bird 的初始速度倍率。数值会限制在 0.01 到 20.0 之间。 |
| flappybird.speedStep | 0.05 | 每通过一个障碍后增加的速度倍率。设为 0 可保持速度不变。数值会限制在 0 到 20.0 之间。 |
| flappybird.speedMax | 7.0 | Flappy Bird 的最高速度倍率。数值会限制在 speedBase 到 20.0 之间。 |
| slotmachine.enabled | true | 在主页显示老虎机,并允许服务器开启和处理游戏。 |
| slotmachine.coinToPlay | 1 | 每个老虎机下注单位消耗的街机金币。 |
| blockstacker.enabled | true | 在主页显示方块堆叠,并允许服务器开启和处理游戏。 |
| blockstacker.coinToPlay | 1 | 每次开始方块堆叠游戏时消耗的街机金币。 |
| blockstacker.row6Prize | 50 | 清除第 6 行时可领取的街机金币奖励。数值会限制在 1 到 99999999 之间。 |
| blockstacker.row7Prize | 250 | 清除第 7 行时可领取的街机金币奖励。数值会限制在 1 到 99999999 之间。 |
| blockstacker.row8Prize | 1000 | 清除第 8 行时发放的最高街机金币奖励。数值会限制在 1 到 99999999 之间。 |
| blockstacker.row6SpeedFrames | 4 | 第 6 行(第一个奖励行)的移动延迟。数值越低,移动越快。数值会限制在 1 到 5 之间。 |
| blockstacker.row7SpeedFrames | 3 | 第 7 行(第二个奖励行)的移动延迟。数值越低,移动越快。数值会限制在 1 到 5 之间。 |
| blockstacker.row8SpeedFrames | 2 | 第 8 行(最高奖励行)的移动延迟。数值越低,移动越快。数值会限制在 1 到 5 之间。 |
| derby.enabled | true | 在主页显示 Derby,并允许服务器开启和处理游戏。 |
| voltorbflip.enabled | true | 在主页显示 Voltorb Flip,并允许服务器开启和处理游戏。 |
| voltorbflip.coinToPlay | 10 | 每次开始 Voltorb Flip 游戏时消耗的街机金币。 |
| blackjack.enabled | true | 在主页显示二十一点,并允许服务器开启和处理游戏。 |
| roulette.enabled | true | 在主页显示轮盘,并允许服务器开启和处理游戏。 |
| roulette.leftTableBet | 1 | 普通左侧轮盘桌使用的下注额。 |
| roulette.rightTableBet | 3 | 普通右侧轮盘桌使用的下注额。 |
| roulette.serviceDayBet | 6 | 每逢第七个 Minecraft 日,右侧轮盘桌使用的下注额。 |
| recipes.arcadeCoinCrafting | true | 启用两种小游戏硬币合成配方(单个和从遗物硬币袋合成)。设为 false 可禁用它们。需要重启服务器或单人世界。 |
| recipes.arcadeMachineCrafting | true | 启用小游戏机合成配方。 |
| recipes.<tier>GachaMachineCrafting | true | 启用基础、高级、超级或大师扭蛋机合成配方。 |
| recipes.<game>MachineCrafting | true | 启用专用机柜或商店机配方:snake、flappyBird、blockStacker、blackjack、derby、voltorbFlip、slot、roulette 和 shop。 |
| recipes.<table>PinballMachineCrafting | true | 启用弹珠台配方:meowth、diglett、seel 和 gengar。 |
每个游戏的 enabled 设置控制从主界面、从其专用机柜以及从命令的访问。配方设置仅控制合成:已有的机器和命令继续正常工作。
每个 coinToPlay 设置都接受 0。零费用使该游戏免费而不改变其奖励:老虎机和方块堆叠器仍然发放其正常的固定奖品,贪吃蛇和像素鸟仍然支付 score * multiplier,伏特球翻转仍然支付累积的棋盘奖金,弹珠台仍然支付其台面奖品。更改 coinToPlay 永远不会缩放任何奖励。
扭蛋设置
每台机器在 gacha.basic、gacha.great、gacha.ultra 或 gacha.master 下使用相同的设置。
| 键 | 允许值 | 描述 |
|—|—:|—|
| gacha.<machine>.enabled | true / false | 允许打开该机器方块。 |
| gacha.<machine>.usePokemonList | true / false | 使用机器的手动宝可梦列表,而不是根据稀有度设置构建其池。默认为 false。 |
| gacha.<machine>.useItemList | true / false | 从机器的手动物品列表发放物品,而不是宝可梦。默认为 false。仅 usePokemonList 和 useItemList 之一可以为 true:如果两者都为 true,会记录一条警告,且机器无法游玩,直到其中一个设为 false。 |
| gacha.<machine>.minWager | 0 到 9999 | 最小可选赌注,以及新物种奖励以其自然生成权重概率开始的点。使用物品列表时,物品在此赌注下遵循其配置的权重。 |
| gacha.<machine>.maxWager | minWager 到 9999 | 最大可选赌注,以及渐进式新物种奖励达到最大值的点。使用物品列表时,所选稀有度的每个物品在此赌注下等概率。对于所有物品在每个稀有度下共享一个权重的物品列表,此设置被忽略,这些列表固定为 minWager。 |
| gacha.<machine>.shinyChancePercent | 0 到 100 | 奖励宝可梦为闪光宝可梦的独立百分比概率。 |
| gacha.<machine>.aspectChancePercent | 0 到 100 | 为奖励物种选择符合条件的非标准形态的独立百分比概率。 |
| gacha.<machine>.rarities.<rarity> | 0 或更大 | 该稀有度的相对选择权重。活跃的稀有度权重会被归一化为概率。 |
可接受的稀有度键由机器等级固定:
| 机器 | 默认最低值 | 默认稀有度权重 |
|—|—:|—|
| basic | 50 | common: 100 |
| great | 250 | common: 70, uncommon: 30 |
| ultra | 1000 | common: 45, uncommon: 35, rare: 20 |
| master | 4500 | common: 35, uncommon: 30, rare: 25, ultra-rare: 10 |
将稀有度权重设为 0 会禁用该机器对应的稀有度。至少要有一种可用稀有度的权重大于零;否则,该机器会恢复默认权重。添加不属于该机器等级的稀有度键不会扩展其可选范围。
扭蛋投注与 coinToPlay 不同:所选金额会影响玩家获得未拥有宝可梦的渐进概率(使用物品列表时,则影响获得低权重物品的概率),但不会改变稀有度、闪光或形态的概率。将 minWager 设为 0,即可按最低投注额免费抽取。
扭蛋手动宝可梦和物品列表
此模组会为每台机器创建一个手动列表文件:
config/cobblemonminigames/gacha/basic.ymlconfig/cobblemonminigames/gacha/great.ymlconfig/cobblemonminigames/gacha/ultra.ymlconfig/cobblemonminigames/gacha/master.yml
手动宝可梦列表
默认情况下,每个文件中的 pokemons 列表均为空。将每只宝可梦作为包含 id 和 weight 的对象添加:
pokemons:
- id: pikachu
weight: 10.0
- id: eevee
weight: 5.0
- id: cobblemon:bulbasaur
weight: 1.0
在 config.yml 中将该机器的 usePokemonList 值设为 true,即可启用此列表。权重越高,该条目相对于其他符合条件的条目就越容易被选中。例如,权重为 10.0 和 1.0 时,基础概率分别为 10/11 和 1/11。新物种加成仍会先区分新物种和已拥有的物种,再应用它们各自的相对权重。手动列表可以包含不属于该机器常规稀有度范围的物种。
每个权重都必须大于 0 且为有限值。无效条目或物种会被跳过并记录到日志中。如果列表中没有有效物种,机器会显示奖池为空的提示,且不会消耗街机币。
手动物品列表
这些文件还包含一个默认为空的 items 列表。将每件物品作为包含 id、rarity、quantity 以及可选 weight 的对象添加:
items:
- id: minecraft:iron_ingot
rarity: common
quantity: 8
weight: 10.0
- id: minecraft:diamond
rarity: common
quantity: 1
weight: 0.1
- id: cobblemon:rare_candy
rarity: uncommon
quantity: 1
在 config.yml 中将该机器的 useItemList 值设为 true,即可启用此列表。每次抽取时,系统会先根据机器的 rarities 权重选择一种稀有度,再按 weight 从该稀有度的物品中选择一件,并发放其全部 quantity。无法放入背包的物品会掉落在玩家脚边。
与宝可梦的新物种奖励类似,下注金额不会改变稀有度的概率;它会改变所选稀有度下获得哪件物品。在 minWager 时,物品按各自的权重抽取,因此在上面的示例中,抽到钻石的概率是铁锭的 1/100。提高下注金额会逐步拉平这些概率,让低权重物品更容易抽到;达到 maxWager 时,所选稀有度下的每件物品被抽中的概率都相同。如果某一稀有度下所有物品的权重相同,提高下注金额不会改变该稀有度的抽取结果。如果机器使用的所有稀有度都符合这一情况(例如没有物品设置 weight),下注金额将固定为 minWager,无法提高,因此玩家不会为相同的概率付出更多。设置不同的权重即可恢复完整的 minWager–maxWager 范围。
rarity必须是common、uncommon、rare或ultra-rare,且必须属于机器等级所支持的稀有度。例如,basic.yml中的rare物品会被跳过。quantity必须至少为1;未填写时默认为1。超过64的值会被调整为64。weight必须是大于0的有限数值;未填写时默认为1.0。权重越低,物品越稀有。- 无效条目、未知物品 ID,以及机器未使用的稀有度都会被跳过并记录日志。
如果列表中没有可用物品,机器会显示无物品提示,且不会消耗 Arcade Coins。
商店
商店配置位于 config/cobblemonminigames/shop/。此目录中的每个 .yml 或 .yaml 文件都是独立的商品目录。存在 catalog-id 和 requires-mods 时,文件名仅用于整理区分。旧版文件可以省略这两个字段,并回退到基于文件名的行为。
每个商店文件都包含分类,每个分类包含子分类,每个子分类包含可购买的奖励。物品奖励使用 type: item;宝可梦奖励使用 type: pokemon。
任何商品目录、分类、子分类或奖励都可以通过设置 enabled: false 来停用,无需删除。例如,要保留商店但移除宝可梦分类:
- id: pokemon
enabled: false
默认商品目录仅会在此文件夹首次创建时复制,因此删除的商品目录不会自动恢复。要还原默认内容,请删除整个 shop 文件夹并重启。
示例:
catalog-id: cobblemon_shop
requires-mods:
- cobblemon
categories:
- id: supplies
name: Supplies
icon: minecraft:chest
subcategories:
- name: Pokeballs
items:
- type: item
id: cobblemon:poke_ball
quantity: 1
price: 10
- name: Starters
items:
- type: pokemon
id: cobblemon:bulbasaur
level: 5
shiny: false
aspect: ""
rarity: uncommon
price: 300
商店商品目录字段
| 键 | 必需 | 说明 |
|—|—:|—|
| catalog-id | 推荐 | 唯一的目录标识符。它会作为前缀添加到每个类别 ID 前,生成类似 cobblemon_shop:supplies 的 ID。若省略,则使用不带 .yml 或 .yaml 扩展名的文件名。 |
| requires-mods | 推荐 | 完整目录所需的一个或多个模组 ID。如果缺少任意一个列出的模组,则会跳过该文件。空列表表示该目录无条件启用。若省略,旧版行为会将文件名视为所需模组 ID,但 cobblemon.yml 除外。 |
| enabled | 否 | false 会跳过整个目录。默认为 true。 |
| categories | 是 | 目录中包含的类别对象列表。 |
| categories[].id | 是 | 在其 catalog-id 中唯一的类别 ID。 |
| categories[].enabled | 否 | false 会隐藏该类别。默认为 true。 |
| categories[].name | 否 | 显示的类别名称。默认为其 id。 |
| categories[].icon | 是 | 用于类别标签页的已注册物品 ID。若图标无效,则会跳过该类别。 |
| categories[].subcategories | 是 | 子类别对象列表。 |
| subcategories[].name | 是 | 显示的子类别名称。 |
| subcategories[].enabled | 否 | false 会隐藏该子类别。默认为 true。 |
| subcategories[].items | 是 | 物品或宝可梦奖励列表。 |
requires-mods 支持多个依赖项:
catalog-id: crossover_shop
requires-mods:
- cobblemon
- another_mod
目录可以包含来自多个命名空间的已注册物品 ID。catalog-id 使用单数形式,因为它用于标识目录本身;它不会限制奖励所使用的命名空间。
商店奖励字段
| 键 | 物品 | 宝可梦 | 说明 |
|—|—:|—:|—|
| type | ✔️ | ✔️ | 必须是 item 或 pokemon。 |
| enabled | ✔️ | ✔️ | false 会隐藏此奖励。默认为 true。 |
| id | ✔️ | ✔️ | 已注册的带命名空间物品 ID 或 Cobblemon 物种 ID。未知条目会被跳过。 |
| price | ✔️ | ✔️ | Arcade Coin 价格,范围为 1 至 999999999999。超过上限的条目会记为错误并跳过。 |
| rarity | ✔️ | ✔️ | common、uncommon、rare 或 ultra-rare。默认为 common,并决定购买通知的样式。 |
| quantity | ✔️ | — | 物品数量。默认为 1,且最低为 1。 |
| level | — | ✔️ | 宝可梦等级,范围为 1 至 100。默认为 5。 |
| shiny | — | ✔️ | 宝可梦是否为闪光。默认为 false。 |
| aspect | — | ✔️ | 通过 forcedAspects 应用的 Cobblemon 特性/形态。默认为不强制指定特性。 |
重新加载配置
游戏玩法相关设置,包括游戏的 `enabled` 标志、弹珠台的时间和价格、速度设置、扭蛋机设置、手动配置的宝可梦和物品列表,以及商店目录,都会通过 `/cobblemonminigames reload` 重新加载。已禁用的 Home 游戏会隐藏,其服务器操作数据包也会被忽略。已禁用的扭蛋机仍会留在原位,但无法打开。正在进行或已暂停的弹珠台回合会沿用原有时限;新时限将在下一回合生效。配方设置会在服务器或单人游戏世界启动时读取,因此启用或禁用配方后,必须完整重启才能生效。
</details>
<details>
<summary>客户端设置</summary>
客户端设置位于 `config/cobblemonminigames/client.yml`,首次启动游戏时会自动生成此文件:
volume: 1.0
channel: master
| 键 | 允许的值 | 说明 |
|---|---:|---|
| `volume` | `0.0` 至 `1.0` | 模组播放的所有声音都会乘以此音量值,因此可以调低街机音量,而不影响 Minecraft 的音量。设为 `0.0` 可将模组静音。 |
| `channel` | `master`, `music`, `record`, `block`, `hostile`, `neutral`, `player`, `ambient`, `voice`, `weather` | 模组音效使用 Minecraft 的哪个音量滑块。默认值为 `master`。背景音乐始终使用 `music`。 |
这些设置按玩家分别保存,并叠加在 Minecraft 自身的音量滑块设置之上。将 `channel` 设置为 `master` 以外的滑块,可为模组单独设置游戏内音量:例如,`channel: record` 会将街机音效关联到唱片机/音符盒滑块,这样就能单独调低音量,而不影响其他声音。请注意,如果玩家已将对应滑块设为零,模组声音也会被静音。
- `/cobblemonminigames reloadclient` 会重新读取此文件,无需重启游戏。
</details>
<details>
<summary>客户端按键绑定</summary>
客户端按键绑定位于 `config/cobblemonminigames/keybinds.yml`。文件会自动生成,每个操作对应一个按键列表(每行一个条目),例如:
- `/cobblemonminigames reloadkeybind` 会从文件重新加载按键绑定,无需重启游戏。
弹珠台:
开始:
- KEY_SPACE
- KEY_ENTER 左侧挡板:
- KEY_A
- KEY_Z 右侧挡板:
- KEY_D
- KEY_X 退出:
- KEY_ESCAPE
轮盘:
确认:
- KEY_SPACE
- KEY_ENTER
- KEY_A 退出:
- KEY_ESCAPE 上:
- KEY_UP 下:
- KEY_DOWN 左:
- KEY_LEFT 右:
- KEY_RIGHT 加注:
- KEY_KP_ADD
- KEY_EQUAL 减注:
- KEY_KP_SUBTRACT
- KEY_MINUS
编辑时,一个操作可以保留多个按键(如上方列表所示),也可以写成单个内联按键,例如 `up: KEY_W`。请使用常见的按键名称,例如 `KEY_W`、`KEY_SPACE`、`KEY_ENTER` 或 `KEY_F1`。为方便起见,`KEY_W`、`GLFW_KEY_W` 和 `W` 都会解析为同一个按键。
| 按键 | 值 | 描述 |
|---|---|---|
| 可打印按键 | `KEY_A`、`KEY_1`、`KEY_SPACE`、`KEY_MINUS`、`KEY_EQUAL` | 普通键盘按键。 |
| 功能键 | `KEY_F1` 至 `KEY_F25` | 功能键。 |
| 导航键 | `KEY_UP`、`KEY_DOWN`、`KEY_LEFT`、`KEY_RIGHT`、`KEY_HOME`、`KEY_END` | 移动和导航按键。 |
| 编辑键 | `KEY_ENTER`、`KEY_TAB`、`KEY_BACKSPACE`、`KEY_DELETE`、`KEY_INSERT` | 常用菜单和编辑按键。 |
| 小键盘按键 | `KEY_KP_0` 至 `KEY_KP_9`、`KEY_KP_ADD`、`KEY_KP_SUBTRACT` | 数字小键盘按键。 |
| 修饰键 | `KEY_LEFT_SHIFT`、`KEY_RIGHT_CONTROL`、`KEY_LEFT_ALT` | 如果服务端整合包希望将修饰键设为直接操作,可使用这些按键。 |
#### 按键绑定操作
| 按键 | 值 | 描述 |
|---|---|---|
| `pinball.start` | `KEY_SPACE`、`KEY_ENTER` | 支付入场费用,并在开始画面发射弹珠。点击游戏区域也会执行相同操作。 |
| `pinball.left_flipper` | `KEY_A`、`KEY_Z` | 左侧挡板。 |
| `pinball.right_flipper` | `KEY_D`、`KEY_X` | 右侧挡板。 |
| `pinball.quit` | `KEY_ESCAPE` | 关闭弹珠台。当前回合会暂停,重新打开后继续。 |
| `roulette.confirm` | `KEY_SPACE`、`KEY_ENTER`、`KEY_A` | 确认赌桌、下注,或在结果出现后继续。 |
| `roulette.quit` | `KEY_ESCAPE` | 离开轮盘赌界面。当前回合会保留。 |
| `roulette.up` | `KEY_UP` | 向上移动轮盘赌选项。 |
| `roulette.down` | `KEY_DOWN` | 向下移动轮盘赌选项。 |
| `roulette.left` | `KEY_LEFT` | 向左移动轮盘赌选项。 |
| `roulette.right` | `KEY_RIGHT` | 向右移动轮盘赌选项。 |
| `roulette.bet_up` | `KEY_KP_ADD`、`KEY_EQUAL` | 进入赌桌前,切换到下一个可用的轮盘赌下注档位。 |
| `roulette.bet_down` | `KEY_KP_SUBTRACT`、`KEY_MINUS` | 进入赌桌前,切换到上一个可用的轮盘赌下注档位。 |
| `slotmachine.primary` | `KEY_A`、`KEY_SPACE`、`KEY_ENTER` | 启动转轴、停止当前转轴,或重复一次获胜下注。 |
| `slotmachine.bet` | `KEY_DOWN` | 投入一枚硬币。 |
| `slotmachine.max_bet` | `KEY_UP` | 最多投入三枚硬币;达到最大下注后开始游戏。 |
| `slotmachine.info` | `KEY_I` | 打开或关闭老虎机信息界面。 |
| `slotmachine.quit` | `KEY_ESCAPE` | 离开老虎机;信息界面或 Reel Time 覆盖层打开时则关闭该界面。 |
| `flappybird.flap` | `KEY_SPACE`、`KEY_A`、`KEY_UP`、`KEY_ENTER` | 在准备或游戏结束状态下开始游戏;游戏过程中则拍动翅膀。 |
| `flappybird.quit` | `KEY_ESCAPE` | 离开 Flappy Bird 界面。 |
| `blockstacker.primary` | `KEY_SPACE`、`KEY_ENTER`、`KEY_A` | 开始游戏、放下方块,或确认“继续游戏”提示。 |
| `blockstacker.left` | `KEY_LEFT` | 在“继续游戏”提示中选择“是”。 |
| `blockstacker.right` | `KEY_RIGHT` | 在“继续游戏”提示中选择“否”。 |
| `blockstacker.back` | `KEY_B` | 在“继续游戏”提示中兑现奖励,或在常规状态下离开。 |
| `blockstacker.quit` | `KEY_ESCAPE` | 离开 Block Stacker 界面。 |
| `snake.start` | `KEY_SPACE`、`KEY_ENTER`、`KEY_A` | 在准备或游戏结束状态下开始一局贪吃蛇。 |
| `snake.quit` | `KEY_ESCAPE` | 离开贪吃蛇界面。 |
| `snake.up` | `KEY_UP` | 向上转向。 |
| `snake.down` | `KEY_DOWN` | 向下转向。 |
| `snake.left` | `KEY_LEFT` | 向左转向。 |
| `snake.right` | `KEY_RIGHT` | 向右转向。 |
| `derby.confirm` | `KEY_SPACE`、`KEY_ENTER`、`KEY_A` | 选择赛马、开始比赛,或在结果出现后继续。 |
| `derby.back` | `KEY_B`、`KEY_BACKSPACE` | 从下注界面返回赛马选择界面,或从赛马选择界面离开。 |
| `derby.quit` | `KEY_ESCAPE` | 离开赛马比赛。 |
| `derby.up` | `KEY_UP` | 将赛马下注额增加 10 枚硬币。 |
| `derby.down` | `KEY_DOWN` | 将赛马下注额减少 10 枚硬币。 |
| `derby.left` | `KEY_LEFT` | 选择上一匹赛马。 |
| `derby.right` | `KEY_RIGHT` | 选择下一匹赛马。 |
| `voltorbflip.confirm` | `KEY_SPACE`、`KEY_ENTER`、`KEY_A` | 开始游戏、翻开或标记选中的卡片,或在完成游戏板后继续。 |
| `voltorbflip.back` | `KEY_B`、`KEY_BACKSPACE` | 游戏过程中切换笔记模式;完成游戏板后兑现奖励;或从准备界面离开。 |
| `voltorbflip.quit` | `KEY_ESCAPE` | 离开 Voltorb Flip。当前游戏板会保留。 |
| `voltorbflip.up` | `KEY_UP` | 向上移动光标。 |
| `voltorbflip.down` | `KEY_DOWN` | 向下移动光标。 |
| `voltorbflip.left` | `KEY_LEFT` | 向左移动光标。 |
| `voltorbflip.right` | `KEY_RIGHT` | 向右移动光标。 |
| `voltorbflip.note_prev` | `KEY_Q`、`KEY_LEFT_BRACKET` | 选择上一个笔记值。 |
| `voltorbflip.note_next` | `KEY_E`、`KEY_RIGHT_BRACKET` | 选择下一个笔记值。 |
| `blackjack.confirm` | `KEY_A`、`KEY_SPACE`、`KEY_ENTER` | 确认所选选项。 |
| `blackjack.quit` | `KEY_B`、`KEY_ESCAPE` | 离开 Blackjack。当前下注会保留。 |
| `blackjack.up` | `KEY_UP` | 移动到上一个选项。 |
| `blackjack.down` | `KEY_DOWN` | 移动到下一个选项。 |
| `gacha.confirm` | `KEY_SPACE`、`KEY_ENTER`、`KEY_KP_ENTER`、`KEY_A` | 在准备状态下启动机器。也可以点击抽取区域。 |
| `gacha.quit` | `KEY_ESCAPE` | 离开机器。正在揭晓的抽取会暂停,再次打开 Gacha 机器时继续;结果揭晓完成后则返回 Gacha 主界面。 |
| `gacha.up` | `KEY_UP` | 增加当前选中的下注数字。 |
| `gacha.down` | `KEY_DOWN` | 减少当前选中的下注数字。 |
| `gacha.left` | `KEY_LEFT` | 选择左侧的下注数字。 |
| `gacha.right` | `KEY_RIGHT` | 选择右侧的下注数字。 |
</details>
<details>
<summary>命令与服务器说明</summary>
- `/cobblemonminigames reload` 需要权限等级 2,并重新加载游戏和商店的服务端配置。`recipes` 下的配方合成开关需要重启服务器或单人游戏世界后才会生效。
- `/cobblemonminigames givecoins <quantity> <user>` 需要权限等级 2,并向在线玩家发放街机硬币。会优先填满硬币盒,再使用物品栏堆叠。如果无法容纳全部硬币,操作将取消,不会发放任何硬币,并会通知玩家和服务器日志。
- `/cobblemonminigames <screen> [targets]` 需要权限等级 2,并为指定玩家打开相应界面;如果省略 `targets`,则为执行命令的玩家打开界面。界面包括:`home`、`shop`、`roulette`、`slotmachine`、`blockstacker`、`snake`、`flappybird`、`derby`、`voltorbflip`、`blackjack`、`gacha <basic|great|ultra|master>`,以及弹珠台 `pinballmeowth`、`pinballdiglett`、`pinballseel`、`pinballgengar`(也可使用 `pinball <meowth|diglett|seel|gengar>`)。这样服务器所有者就能将游戏绑定到自定义方块、NPC 或命令方块(例如 `/cobblemonminigames snake @p` 或 `/cobblemonminigames pinballgengar @p`)。已禁用的游戏和不可用的 Gacha 机器不会打开。
- 游戏奖励为街机硬币。商店物品和价格由商店 YAML 文件控制。
- 每个硬币盒最多可存放 `999999999` 枚街机硬币。如果玩家有多个硬币盒,奖励会按物品栏顺序依次存入,然后才会使用物品栏中的实体堆叠。
- 商店价格、硬币盒总额和游戏余额面板使用简略记数法。
- 默认情况下,Gacha 奖池只会根据 Cobblemon 已加载的世界生成池重新构建。对于设置了 `usePokemonList: true` 的机器,手动宝可梦列表会取代此行为;对于设置了 `useItemList: true` 的机器,手动物品列表会取代此行为。
- 如果玩家断开连接,暂停中的弹珠台回合将会丢失。
</details>
## 整合包
欢迎在任何整合包中加入 Cobblemon MiniGames,无需事先征求许可。
## 致谢
- 轮盘赌和老虎机,来自 Pokemon Emerald
- Voltorb Flip,来自 Emerald Rogue
- Flappy Bird、Block Stacker、Snake、Derby、Blackjack、Pinball 和 Gacha,来自 [Pokemon Emerald GameCorner Expansion by heyopc](https://github.com/heyopc/pokeemerald-gamecorner-expansion)
- UI,来自 [Modern UI](https://limezu.itch.io/)
常见问题
Cobblemon MiniGames 支持哪些 Minecraft 版本?
Cobblemon MiniGames 支持 Minecraft Java 版 1.21.1,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
Cobblemon MiniGames 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
Barto 的其他作品
查看全部 →
Cobblemon Wild Spawn
探索草地、水域和自然区域,触发经典的草丛野生遭遇。遇见野生宝可梦,寻找稀有闪光宝可梦,重温原版游戏的体验。
Cobblemon Pink Pastel GUI
A Cobblemon resource pack that redesigns the PC, Summary, and Party Overlay with a sleek Pink Pastel aesthetic for a modern and cohesive UI.
Cobblemon Pink Pastel GUI
A Cobblemon resource pack that redesigns the PC, Summary, and Party Overlay with a sleek Pink Pastel aesthetic for a modern and cohesive UI.
Cobblemon Dark Cyan GUI
A Cobblemon resource pack that redesigns the PC, Summary, and Party Overlay with a sleek Dark Cyan aesthetic for a modern and cohesive UI.
评论
登录后评论和评分