Перейти к содержимому
Mineforgian

Grow-A-Mon

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

Загрузки
1K
Подписчики
5
Обновлён
18 июня 2026 г.
Лицензия
MIT

Опубликован 6 октября 2025 г.

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, etc. The mod 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"]
}
Parameters
  • 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
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

Ченджлог

1.1Релиз1.21.1 · 18 июня 2026 г.

Grow-A-Mon now supports 1.7.x so it will work on the latest version 1.7.3

  • Blocks that extend horizontally now properly cancel drops when the property is set to true
  • Datapack formatting has been changed from data//growamon/.json to data/growamon/spawn_configs/.json
1.0Релиз1.21.1 · 24 января 2026 г.

everything should work now on Cobblemon v1.7.1

1.6-BETAБета1.21.1 · 20 октября 2025 г.

Added

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
  • Should work with any Modded item: Use full item IDs with namespace (e.g., "minecraft:diamond_hoe", "farmersdelight:minced_beef")
  • The player must be holding the required item in their main hand when breaking the block
1.5-BETAБета1.21.1 · 10 октября 2025 г.

Fixed Multiple 100% Odds configured for 1 block selecting only the first one loaded as the spawned pokemon

also now supports 100% and lower chance configs together (e.g. 100% guarantees the block will always spawn that mon, but a 50% chance to spawn this other mon)

1.4-BETAБета1.21.1 · 9 октября 2025 г.

FIXED: Multi-choice aspects are now fully supported! Use object format:

  • {"bloom": "leaf"} → becomes bloom=leaf
  • {"pattern": "kanto"} → becomes pattern=kanto
  • Mixed format: ["shiny", {"bloom": "leaf"}]

Example

{
  "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",
  }
}
1.3-BETAБета1.21.1 · 8 октября 2025 г.

Fixes

  • Issue with aspects (e.g. "aspects": ["galarian"]) it'd revert to it's original state when leaving and rejoining the world.
  • Form data not being applied properly despite visually appearing to of changed they still drop items from the originals loot table and provide the original forms dex entry when caught.
1.2-BETAБета1.21.1 · 6 октября 2025 г.

Fixes

  • "cancel_drops": false was causing all spawns to roll and not exclusively spawning a single mon per roll meaning a 100% and a 50% sharing a block would either spawn only the 100% or both the 100% and 50% spawns at the same time
1.1-BETAБета1.21.1 · 6 октября 2025 г.

Fixes

  • Blocks that occupy 2 block positions such as sunflowers, tall grass, doors and such should now properly process and cancel drops for both positions

Комментарии

Загружаем…