GachaWorks is a datapack-driven system for adding capsule machines to modpacks and servers.
Modpack authors can create their own machines, set their prices, choose the available rewards and control the odds—all without writing a separate mod. Machines can use items from Minecraft or other installed mods, making them useful for shops, progression systems, loot sinks or server economies.
The mod also includes four ready-to-use machines for players who just want to install it and play.
By default, GachaWorks adds four emerald-powered machines:
| Machine | Price | Rewards |
|---|---|---|
| Village Market | 1 Emerald | Basic supplies and travel items |
| Trade Hall | 4 Emeralds | Useful villager trade goods |
| Nether Expedition | 10 Emeralds | Nether materials and rarer finds |
| Grand Library | 16 Emeralds | Enchanted books, including treasure enchantments |
Every possible reward and its exact chance can be viewed before opening a capsule. There are no hidden odds or real-money purchases.
Machines level up as they are used. Higher levels improve the chance of receiving an extra spin, but do not increase the price or secretly change the reward odds.
Newly generated villages can contain a random enabled GachaWorks machine.
Machines can also be crafted using a Broken Gacha Chassis, which has a small chance to appear in dungeon, mineshaft, stronghold, woodland mansion and ancient-city chests.
Custom content is split into three types of definition:
text Machine → Capsule → Rarity Tier → Reward Pool
A basic datapack is structured like this:
text pack.mcmeta data/ your\_namespace/ gachaworks/ machine/ starter.json capsule/ starter.json reward\_pool/ starter\_common.json starter\_rare.json recipe/ starter\_machine.json
A machine definition controls:
A capsule definition controls:
A reward pool contains the items or other rewards that can be selected when its tier is rolled. Pools can contain individual items, bundles, effects, free spins, empty results or references to other pools.
The namespace and filename form the definition ID. For example:
text data/example/gachaworks/machine/starter.json
creates the machine definition:
text example:starter
The included machines can be used as working examples when creating a pack. To replace them entirely, set:
toml enable\_default\_machines = false
in serverconfig/gachaworks-server.toml.
Machine, capsule and reward-pool definitions are loaded when the world or dedicated server starts. After changing them, fully reopen the world or restart the server; /reload is not enough.