Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details

MC3G - Minecraft Collectible Card Game
A simple, extensible trading card mod for Minecraft.
https://github.com/ceptechart/collectiblecards
Open card packs, collect randomized cards, and use them to trigger effects. Think Lucky Blocks, but you can read what a card does before you commit to using it. Every card and effect in MC3G is data-driven, so new content can be added entirely through datapacks, no Java required.
WARNING: This mod does not yet add much content on its own. It is built to be extensible, consider creating your own card data pack.
Features
- Procedurally generated cards — names, descriptions, and effects are assembled at pack-opening time from weighted pools.
- Read before you use it — every card's effect comes with a description, no surprises.
- Fully data-driven — card effects are all defined in JSON. Add new cards and rebalance drop rates without touching a single line of code.
- Extensible effect system — modders can register brand-new effect types in Java (
CardEffectimplementations), which then become immediately available to datapack authors as building blocks. - Toggleable default content — optional card pools ship inside the mod but can be enabled/disabled like any other datapack.
Requirements
| Version | |
|---|---|
| Minecraft | 1.26.2 |
| NeoForge | 26.2.0.8-beta or later |
Installation
- Install NeoForge for Minecraft 26.2.
- Download the latest jar from the releases page.
- Drop the jar into your
modsfolder. - Launch the game.
How It Works
MC3G is built around three layers: Card Packs produce Cards, and Cards carry a Card Effect that runs when the card is used.
Card Packs
A card pack is an item that, when opened, generates one or more cards by rolling from a weighted pool of effect definitions. There is a configurable drop chance when killing any mob, that is 1% by default.
Cards
A generated card is a normal ItemStack carrying a list of effects as a data component. Its name and description are assembled procedurally from the effect definitions rolled for it. Using a card runs it's card effect, then consumes the card.
Card Effects
Under the hood, every effect is a small, self-contained Java class implementing a common CardEffect interface, things like striking lightning, granting items, or skipping the world clock to a given time. What makes the system data-driven is that each effect type is registered against a JSON key (e.g. collectiblecards:lightning_strike), so a datapack author can just reference the effect type by name and supply its parameters in JSON.
Creating Your Own Cards
New cards are added through Card Effect Definitions, JSON files that describe one weighted "flavor" of an effect, including its name-generation word banks and tooltip description. See the default_cards datapack and the annoted example json for reference:
default_cards/data/collectiblecards/collectiblecards/card_effect_definition/storm.json
{
"weight": 5.0,
"rarity": 4,
"effects": [
{"type": "collectiblecards:set_time", "time": 18000},
{"type": "collectiblecards:set_weather", "weather": "thunder"},
{"type": "collectiblecards:lightning_strike", "count": 30, "range": 15, "delay": 5}],
"name_decorator": {
"adjectives": [
"Wrathful",
"Imminent",
"Threatening"
],
"nouns": [
"Storm",
"Deluge",
"Downpour"
],
"specials": [
"Thunder",
"Lightning"
]
},
"description": "Caution: High risk of flooding and shock."
}
Built-in Effect Types
See annoted example json for annotated example of a card effect definition, and all available built-in effects.


