A Minecraft mod that integrates Spaced Repetition System (SRS) flashcards into gameplay. It interrupts the game with review cards based on specific in-game triggers like dying, breaking blocks, or timers.
Works on Fabric, Forge, NeoForge, and Quilt via Architectury.
Most "educational games" are boring because the gameplay is an afterthought. This mod takes the opposite approach: you play normal Minecraft, and the learning is injected via triggers. The idea is to associate the "pain" of a death or the repetition of grinding resources with memory reinforcement.
The mod uses a fixed interval system for flashcards. It's not as complex as Anki's algorithm, but it gets the job done for casual review.
Intervals: 10m -> 20m -> 1d -> 3d -> 7d -> 14d -> 30d -> 60d -> 120d -> 240d
- Remember: Moves card to the next interval.
- Forgot: Resets card to 10 minutes (Level 0).
Events that force a review session:
- Death: Configurable. Default is every 2 deaths.
- Timer: Fixed interrupt every X minutes.
- Block Break: Triggers after breaking N blocks (supports whitelist).
- Entity Kill: Triggers after killing N mobs.
- Chat: Regex matching (rarely used, but exists).
- Install the
.jarand Architectury API. - Press
Iin-game to open the manager. - Create a Deck and add Cards manually in the GUI.
- Enable the deck.
The mod saves progress per player UUID in config/learnplay/player_progress/.
Main config file: config/learnplay/config.json.
You can edit this while the game is running; it should hot-reload on the next trigger check, but a restart is safer.
{
"triggers": {
"enableDeathTrigger": true,
"enableTimerTrigger": false,
"deathTriggerEveryNDeaths": 2,
"timerIntervalMinutes": 15,
"blockBreakTriggerThreshold": 100,
"blockBreakWhitelist": "stone,dirt,oak_log,iron_ore,diamond_ore",
"entityKillTriggerThreshold": 10,
"entityKillWhitelist": "zombie,skeleton,creeper,spider,enderman"
},
"maxCardsPerSession": 20,
"maxNewCardsPerDay": 10,
"maxReviewsPerDay": 100,
"pauseGameDuringReview": true,
"showHudStats": false,
"keybindCode": 73
}If you want to mass-import cards, it's easier to generate the JSON files externally than using the in-game GUI.
Decks are located in config/learnplay/decks/. Format:
{
"id": "deck_math_101",
"name": "Basic Math",
"cards": [
{
"id": "card_1",
"question": "2 + 2",
"answer": "4"
}
]
}Requires JDK 21+.
# Build all
./gradlew build
# Specific loaders
./gradlew :fabric:build
./gradlew :neoforge:buildOutput jars land in <loader>/build/libs/.