Modscraper Modscraper Minecraft
Grow-A-Mon logo

Grow-A-Mon

Mod

Allows creators to assign Cobblemon spawns to the breaking of specified blocks with many optional parameters

Type

Mod

Modrinth Downloads

888

Modrinth ID

u2XdVUM2

Last Updated

Jun 19, 2026

Description

Grow-A-Mon allows datapack creators to configure Cobblemon spawns when players break blocks. This works with any block type including crops, flowers, grass, ores, and more. The system supports blocks with age/stage properties but also works with blocks that don't have these properties.

Creating Spawn Configurations

File Location

Place your JSON configuration files in:

data/growamon/spawn_configs/<file>.json

For example:

  • data/growamon/spawn_configs/wheat_oddish.json
  • data/growamon/spawn_configs/sunflower_sunflora.json
  • data/growamon/spawn_configs/stone_geodude.json

JSON Format

{ "block": "minecraft:wheat", "cobblemon": "cobblemon:arbok", "odds": 0.05, "required_age": 7, "min_level": 5, "max_level": 10, "shiny_odds": 0.01, "aspects": { "snake_pattern": "speed" }, "ivs": { "hp": 31, "attack": [25, 31], "defense": 31, "special_attack": [20, 31], "special_defense": 31, "speed": [28, 31] }, "cancel_drops": true, "tool_required": ["minecraft:diamond_hoe", "minecraft:netherite_hoe"] }
  • block (required): The block ID that triggers the spawn

    • Format: namespace:block_id
    • Examples: minecraft:wheat, minecraft:sunflower, minecraft:stone, somemod:magical_crop
    • Works with any block type (crops, flowers, ores, grass, etc.)
  • cobblemon (required): The Cobblemon species to spawn

    • Format: cobblemon:species_name
    • Examples: cobblemon:oddish, cobblemon:bulbasaur, cobblemon:chikorita
  • odds (required): The chance of spawning (0.0 to 1.0)

    • 0.05 = 5% chance
    • 0.1 = 10% chance
    • 1.0 = 100% chance (always spawns)
  • required_age (optional): The specific growth stage required

    • If omitted, any growth stage will trigger the spawn (or blocks without age properties will always trigger)
    • Most vanilla crops have ages 0-7, with 7 being fully grown
    • Beetroots use 0-3, with 3 being fully grown
    • The system automatically detects properties named "age", "stage", or any integer property
    • For blocks without age/stage properties (stone, grass, etc.), this parameter is ignored
  • min_level (optional): The minimum level for the spawned Cobblemon (default: 5)

    • Must be at least 1
    • Example: 5 for level 5
  • max_level (optional): The maximum level for the spawned Cobblemon (default: 5)

    • Must be greater than or equal to min_level
    • Example: 10 for up to level 10
    • The actual level will be randomly chosen between min and max (inclusive)
  • shiny_odds (optional): The chance of the spawned Cobblemon being shiny (0.0 to 1.0, default: 0.0)

    • 0.01 = 1% chance to be shiny
    • 0.1 = 10% chance to be shiny
    • 1.0 = 100% chance (always shiny)
  • aspects (optional): Aspects to apply to the spawned Cobblemon

    • Format options:
      • Array of strings: ["shiny", "galarian"] for simple aspects
      • Array with objects: ["shiny", {"pattern": "kanto"}] for mixed simple and multi-choice aspects
      • Object: {"pattern": "kanto", "shiny": true} for multi-choice aspects with boolean flags
    • Multi-choice aspects (aspects with options) use the format {"aspect_name": "option_value"}
      • Example: {"pattern": "kanto"} becomes pattern=kanto
      • Example: {"bloom": "leaf"} becomes bloom=leaf (for custom modded aspects)
    • Boolean aspects in object format: {"shiny": true} adds the aspect, {"shiny": false} omits it
    • Aspects modify the appearance or properties of Cobblemon and can trigger form changes
    • When an aspect corresponds to a form (e.g., "galarian", "alola", "hisuian"), the Pokemon will be created with that form and all its associated stats/types/moves
    • See Cobblemon documentation for available aspects and their options
  • ivs (optional): Individual Values for the spawned Cobblemon's stats (0-31 for each stat)

    • Format: Object with stat names as keys
    • Available stats: hp, attack, defense, special_attack, special_defense, speed
    • Values are clamped between 0 and 31
    • If omitted, IVs are randomly generated (default behavior)
    • Fixed value format: "hp": 31 - Always spawns with exactly 31 HP IV
    • Range format: "hp": [20, 31] - Spawns with random HP IV between 20-31 (inclusive)
    • Example: {"hp": 31, "attack": [25, 31], "speed": 31} for perfect HP and Speed, but variable Attack
  • cancel_drops (optional): Prevent the block from dropping its normal loot when a Cobblemon spawns (default: false)

    • Set to true to cancel all block drops when the Cobblemon spawns
    • The block will still be destroyed, but no items will drop
    • Automatically detects and cancels drops for connected blocks (e.g., both halves of a sunflower)
    • When false, players get both the Cobblemon spawn and normal block drops
  • tool_required (optional): Restrict which tools/items can trigger the spawn (default: any item)

    • If omitted, any item (including bare hands) can trigger the spawn
    • Single item format: "minecraft:diamond_hoe" - Only diamond hoes trigger the spawn
    • Array format: ["minecraft:diamond_hoe", "minecraft:netherite_hoe"] - Any of these tools trigger the spawn
    • Use full item IDs with namespace (e.g., "minecraft:diamond_hoe", "farmersdelight:minced_beef")
    • Works with modded items - any item registered in the game can be specified
    • Useful for requiring specific tools for rare spawns (e.g., only diamond pickaxe for rare ore spawns)
    • The player must be holding the required item in their main hand when breaking the block

Basic: Wheat spawns Oddish (5% chance, fully grown only)

{ "block": "minecraft:wheat", "cobblemon": "cobblemon:oddish", "odds": 0.05, "required_age": 7 }

With level range: Carrots spawn Buneary (10% chance, levels 5-15)

{ "block": "minecraft:carrots", "cobblemon": "cobblemon:buneary", "odds": 0.1, "required_age": 7, "min_level": 5, "max_level": 15 }

With shiny odds: Potatoes spawn shiny Bellsprout occasionally

{ "block": "minecraft:potatoes", "cobblemon": "cobblemon:bellsprout", "odds": 0.05, "required_age": 7, "shiny_odds": 0.1 }

With aspects (string array): Beetroots spawn Galarian Zigzagoon

{ "block": "minecraft:beetroots", "cobblemon": "cobblemon:zigzagoon", "odds": 0.05, "required_age": 3, "aspects": ["galarian"] }

With multi-choice aspects (object format): Custom Pokemon with pattern

{ "block": "minecraft:pumpkin", "cobblemon": "cobblemon:pumpkaboo", "odds": 0.1, "aspects": {"pumpkin_size": "super"} }

With mixed aspects: Shiny Pokemon with custom bloom aspect

{ "block": "minecraft:oxeye_daisy", "cobblemon": "cobblemon:redpickmin", "odds": 0.05, "required_age": 7, "aspects": ["shiny", {"bloom": "leaf"}] }

With perfect IVs: Sunflower spawns perfect IV Sunflora

{ "block": "minecraft:sunflower", "cobblemon": "cobblemon:oddish", "odds": 0.01, "required_age": 7, "ivs": { "hp": 31, "attack": 31, "defense": 31, "special_attack": 31, "special_defense": 31, "speed": 31 } }

With IV ranges: Carrots spawn high IV Buneary

{ "block": "minecraft:carrots", "cobblemon": "cobblemon:buneary", "odds": 0.05, "required_age": 7, "ivs": { "hp": [25, 31], "attack": [20, 31], "speed": [25, 31] } }

With cancelled drops: Potatoes (Cobblemon instead of drops)

{ "block": "minecraft:potatoes", "cobblemon": "cobblemon:oddish", "odds": 0.08, "required_age": 7, "cancel_drops": true }

Multi-block structures: Sunflowers (auto-detects 2-tall blocks)

{ "block": "minecraft:sunflower", "cobblemon": "cobblemon:sunflora", "odds": 0.15, "cancel_drops": true }

Non-crop example: Stone spawns Geodude

{ "block": "minecraft:stone", "cobblemon": "cobblemon:geodude", "odds": 0.02, "min_level": 10, "max_level": 20, "cancel_drops: true }

Tall grass spawns bug-type Pokemon

{ "block": "minecraft:tall_grass", "cobblemon": "cobblemon:caterpie", "odds": 0.08, "min_level": 3, "max_level": 8 }

With tool requirement (single): Diamond pickaxe required for diamond ore spawn

{ "block": "minecraft:diamond_ore", "cobblemon": "cobblemon:carbink", "odds": 0.1, "min_level": 20, "max_level": 30, "tool_required": "minecraft:diamond_pickaxe" }

With tool requirement (multiple): Any high-tier hoe for rare wheat spawn

{ "block": "minecraft:wheat", "cobblemon": "cobblemon:shaymin", "odds": 0.001, "required_age": 7, "min_level": 50, "max_level": 60, "tool_required": ["minecraft:diamond_hoe", "minecraft:netherite_hoe"] }

With modded tool requirement: Custom tool for modded crop

{ "block": "somemod:magical_crop", "cobblemon": "cobblemon:celebi", "odds": 0.05, "required_age": 5, "tool_required": "somemod:enchanted_sickle" }

How It Works

  1. When a player breaks a block, Grow-A-Mon checks all loaded configurations
  2. For multi-part blocks (sunflowers, tall grass, doors, beds, etc.):
    • The system automatically detects when a block is part of a multi-part structure
    • It identifies the "main" block for processing
    • Breaking either part will trigger spawn checks based on the main part's properties
    • Both parts are properly tracked to prevent duplicate spawns and handle drop cancellation
  3. If the block matches a configuration:
    • Checks if the block's age/stage matches (if required_age is specified)
    • Rolls the dice based on the odds value
    • If successful, spawns the specified Cobblemon at the block's location
    • If cancel_drops is true, prevents both halves from dropping loot (for 2-tall blocks)
  4. The spawned Cobblemon will appear at the bottom block position with the configured level, shiny status, IVs, and aspects

If any of these aren't as described please inform me of any issues in my Discord

⚠️I cannot gaurantee the performance of this, it may be pretty laggy⚠️

Compatibility

Mod Loaders

Fabric

Game Versions

1.21.1

Screenshots

Similar Mods

External Resources