Random Card Rewards

Quick rating

Community listing page, reviews may not be monitored by the author.

Random Card Rewards

No reviews yet

Random Card Rewards is a data-driven Minecraft mod that lets players draw randomized cards—granting effects, items, or commands—through fully customizable pools, with seamless KubeJS and datapack integration.

Mod Loaders
Minecraft

About

Description

Random Card Rewards Mod - English Introduction

Overview
Random Card Rewards is a versatile Minecraft mod that adds a card-based reward system. Players can draw random cards from customizable pools to receive effects, items, or execute commands. Entirely data-driven and reload-friendly, it integrates seamlessly with datapacks and KubeJS.


🔧 Key Features

  1. Interactive Card Selection

    • Open a reward interface:
      /randomcardrewards rewards <pool> <count> <player>
    • List all card pools:
      /randomcardrewards list_pools
  2. Fully Data-Driven

    • Cards and pools defined via JSON in data/randomcardrewards/recipes.
    • Supports /reload for instant updates.
    • Uses Minecraft's recipe system for automatic client sync.
  3. Customizable Card Types

    • Effects (e.g., Strength, Speed)
    • Items (with adjustable quantities)
    • Commands (execute any command)
    • None (blank cards)
  4. For Modpack Creators

    • KubeJS Integration: Dynamically generate pools and reward players.
    • Events: Hook into CardInvokeEvent.Pre/Post to customize logic.
    • Datagen Support: Auto-generate assets via RCRRecipeProvider.java.

📝 JSON Configuration Examples

1. Add a Card

{
  "type": "randomcardrewards:card",
  "content": {
    "type": "effect",  // effect/item/command/none
    "content": "minecraft:strength",  // Effect/Item ID or command
    "i1": 10,  // Amplifier (effect) or item count
    "i2": 1000 // Duration (ticks)
  },
  "id": "yourmod:fire_resistance",
  "meta": {
    "nameKey": "card.fire_resistance.name",  // Localization key
    "descriptionKey": "card.fire_resistance.desc",
    "texture": "yourmod:textures/cards/fire_resistance.png"
  }
}

2. Create a Card Pool

{
  "type": "randomcardrewards:card_pool",
  "id": "yourmod:nether_pool",
  "pool": [
    "yourmod:fire_resistance",
    "yourmod:blaze_powder",
    "yourmod:ghast_tear"
  ]
}

⚡ KubeJS Integration

Dynamically reward players:

// Create & reward a temporary card pool
const poolid = RandomCardRewardsAPI.createTmpCardPoolFromPoolRandomly("nether_pool", 5);
RandomCardRewardsAPI.rewardPlayerTmpPool(player, poolid, true); // Auto-remove pool after use

🎮 Events for Developers

  • RCREvents.cardInvokePre: Cancel before a card activates.
  • RCREvents.cardInvokePost: Trigger actions after card use.
    Access card data (RCRCard) and the player.

Data Structure
Cards include:

  • id (ResourceLocation)
  • Localization keys (nameKey, descriptionKey)
  • texture path
  • content (type, effect/item/command, and parameters i1/i2)

Perfect For

  • Custom minigames 🎮
  • RPG quest rewards 🏆
  • Server events 🎉
  • Modpack progression systems ⚙️

GitHub Source | Requires Forge

Allow using in modpacks.