HomeJavaModsGrow-A-Mon
Grow-A-Mon
Grow-A-Mon — screenshot 1Grow-A-Mon — screenshot 2

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:

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"]
}
Parameters Examples

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. If the block matches a configuration:
    • Checks if the block's age/stage matches (if required_age is specified)
    • Spawns or doesn't spawn based on the odds value
    • If successful, spawns the specified Cobblemon at the block's location
    • If cancel_drops is true, prevents blocks from dropping loot
  3. 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⚠️

Mole Co.⛏'s Content

Image displaying the portrait of the Pickmin Datapack Image displaying the portrait of the Shave Zigzagoons Datapack a cobblemon ore texture copy and pasted and recoloured on multiple Golden Days Base blocks Cobblemon pokeballs lined up in a grid showing 8 of them but retextured to be square and front facing

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more