promotional bannermobile promotional banner
premium banner
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.

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.