Back to mods
CobbleGen project artwork

Modrinth · Minecraft mod

CobbleGen

An MC mod that allows you to customize cobblestone (stone and basalt) generators

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which CobbleGen release should I use?

Updated 4 months ago
beta file 5.4.8+1.19.4b1383-BETA-fabric
Game version 1.19.3, 1.19.4
Loader Fabric, Quilt

CobbleGen 5.4.8+1.19.4b1383-BETA-fabric targets 1.19.3, 1.19.4 with Fabric, Quilt. Do not install it on the client. It must be installed on the dedicated server. No extra mods listed for this file.

Where it goes

Is CobbleGen required on the client, server, or both?

Do not install it on the client. It must be installed on the dedicated server.

Client Not supported
Dedicated server Required
Loader for this release Fabric, Quilt
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This file is marked server-only.

What else does CobbleGen 5.4.8+1.19.4b1383-BETA-fabric need?

5.4.8+1.19.4b1383-BETA-fabric. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add CobbleGen without breaking your instance.

Built for CobbleGen 5.4.8+1.19.4b1383-BETA-fabric. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 5.4.8+1.19.4b1383-BETA-fabric. It targets 1.19.3, 1.19.4 with Fabric, Quilt; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    Do not install it on the client. It must be installed on the dedicated server.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 5.4.8+1.19.4b1383-BETA-fabric. It opens that exact file at the source.

About this project

What does CobbleGen add?

CobbleGen

CobbleGen

An MC mod that allows you to customise/randomise cobblestone (basalt and stone) generator.



About

CobbleGen is an MC mod that allows you to customise/randomise cobblestone (basalt and stone) generator.

As of v5.0, CobbleGen is officially supported for both Fabric-like and Forge-like modloaders. Because of how the mod is designed, the mod should still work on future versions of Minecraft, just don't expect integration (such as Create mod integration, REI/EMI/JEI integration) to work properly. Click here to see detailed version tracker.

The Fabric JAR should work on Quilt, the mod is designed to only rely on Vanilla code as much as possible.

The Forge JAR should also work on NeoForge (MC 1.20.1 only). Support for Forge will be stopped at MC 1.20.1, please consider migrating to NeoForge to use CobbleGen on Forge for MC 1.20.2 or newer!

Features

  • Supports Fabric/Quilt and NeoForge/Forge
  • REI/EMI/JEI Integration
  • Customisable cobblestone, stone, and basalt generator
  • Randomised the generated block with a customisable weight value
  • Customisable modifier to give your players more challenge
  • Dimension whitelist/blacklist
  • Y-level limiter
  • Supports tag (put #mod_id:tag_id instead of putting mod_id:block_id)
  • Supports Create mod
    • Pipe/Pump support
    • Porting Lib compatibility on Fabric/Quilt (Fixes Limestone and Scoria Generators)
  • Advanced custom generator (custom fluid interaction)
  • Fluid Interaction API for developers

More features are coming soon!

Planned Features

  • Modifier(s) position (No longer limited to "below generated block")
  • Webapp for modpack developers to easily configure the generators
  • Biome whitelist/blacklist

Usage

This mod is mostly server-side, but it's recommended to also have it installed in the client-side for REI/EMI/JEI support.

Out of the box the mod doesn't do much, it will generate default config where cobblegen generates deepslate at deepslate level, random ores when there's bedrock underneath generated block, etc. To use the mod to its full potential you need to configure it yourself.

Configuration

If you're not familiar with JSON you could try CobbleGen Configurator, but keep in mind that the website is still work-in-progress, so some features are still missing from the website.

The mod provide you with 3 layers of config: default, custom, and advanced.

  • Default: The most basic modification, it lets you to replace vanilla generated block. E.g. tell the gen to generate Diamond Block instead of Cobblestone.
  • Custom: Lets you to modify the generator's modifier, similar to how you require to have Soul Soil to generate Basalt, but works with any type of generator. E.g. tell the gen to generate Ores when the block is generated above Bedrock.
  • Advanced: Lets you to modify fluid interaction, you can use it to use modded fluid to generate a block. E.g. tell the gen to generate Diamond Block if Honey fluid touches Milk fluid.

The config file is located in config/cobblegen.json5, the format should be pretty straightforward:

Format

Default Generators format

{
   "id":"mod_id:block_id",
   "weight":95.5,
   "dimensions":[
      "mod_id:dimension_id",
      "mod_id:dimension_id"
   ],
   "excludedDimensions":[
      "mod_id:dimension_id",
      "mod_id:dimension_id"
   ],
   "minY":0,
   "maxY":69
}

Custom Generators format

{
   "generatorType (cobbleGen/stoneGen/basaltGen)":{
      "mod_id:modifier_block_id":[
         {
            "id":"mod_id:block_id",
            "weight":95.5,
            "dimensions":[
               "mod_id:dimension_id",
               "mod_id:dimension_id"
            ],
            "excludedDimensions":[
               "mod_id:dimension_id",
               "mod_id:dimension_id"
            ],
            "minY":0,
            "maxY":69
         }
      ]
   }
}

Explanation

  • All but id and weight are optional, you can remove them if you don't need it, for example:
    {
      "id": "minecraft:bedrock",
      "weight": 1.0,  // as you can see, there's only id and weight here
    }
    
  • Custom gen only:
    • generatorType: Need to be replaced by either cobbleGen, stoneGen, or basaltGen
    • mod_id:modifier_block_id: Need to be replaced by modifier block id of your choice (e.g. minecraft:bedrock)
  • id: Block id of the generated block (e.g. minecraft:iron_ore)
  • weight: Weight of the generated block (bigger number = more common)
  • dimensions: Collection of dimension ids where the block can be generated (It's an array!, e.g. ["minecraft:the_end", "minecraft:nether"])
  • excludedDimensions: Collection of dimension ids where the block can NOT generate (It's an array!, e.g. ["minecraft:the_end", "minecraft:nether"])
  • minY: How deep can this block be generated (e.g. 0 means can only be generated from height limit to Y=0 (inclusive))
  • maxY: How high can this block be generated (e.g. 0 means can only be generated from bedrock level to Y=0 (inclusive))

Default Generators Examples (Cobble/Stone/Basalt)
{
  // Cobblestone Generator
  // { "id": "mod_id:block_id", "weight": 95.5 }
  "cobbleGen": [
    {
      "id": "minecraft:cobbled_deepslate",
      "weight": 100.0,
      "maxY": 0
    }
  ],
  // Stone Generator
  // { "id": "mod_id:block_id", "weight": 95.5 }
  "stoneGen": [
    {
      "id": "minecraft:stone",
      "weight": 100.0
    }
  ],
  // Basalt Generator
  // { "id": "mod_id:block_id", "weight": 95.5 }
  "basaltGen": [
    {
      "id": "minecraft:basalt",
      "weight": 100.0
    }
  ]
}
Custom Generators Examples (with modifiers)
{
  // Custom Generator
  // <stoneGen|cobbleGen>: { <modifier block id>: [ { "id": <block id>, "weight": <randomness weight> }, ... ] }
  "customGen": {
    // Cobblestone Generator
    // { "id": "mod_id:block_id", "weight": 95.5 }
    "cobbleGen": {
      "minecraft:bedrock": [
        {
          "id": "minecraft:emerald_ore",
          "weight": 2.0
        },
        {
          "id": "minecraft:diamond_ore",
          "weight": 5.0
        },
        {
          "id": "minecraft:lapis_ore",
          "weight": 8.0
        },
        {
          "id": "minecraft:gold_ore",
          "weight": 10.0
        },
        {
          "id": "minecraft:iron_ore",
          "weight": 15.0
        },
        {
          "id": "minecraft:coal_ore",
          "weight": 20.0
        },
        {
          "id": "minecraft:cobblestone",
          "weight": 40.0
        }
      ]
    },
    // Stone Generator
    // { "id": "mod_id:block_id", "weight": 95.5 }
    "stoneGen": {
      "minecraft:bedrock": [
        {
          "id": "minecraft:stone",
          "weight": 40.0
        },
        {
          "id": "minecraft:diorite",
          "weight": 20.0
        },
        {
          "id": "minecraft:andesite",
          "weight": 20.0
        },
        {
          "id": "minecraft:granite",
          "weight": 20.0
        }
      ]
    },
    // Basalt Generator
    // { "id": "mod_id:block_id", "weight": 95.5 }
    "basaltGen": {
      "minecraft:bedrock": [
        {
          "id": "minecraft:end_stone",
          "weight": 100.0,
          "dimensions": [
            "minecraft:the_end"
          ]
        },
        {
          "id": "minecraft:blackstone",
          "weight": 100.0,
          "excludedDimensions": [
            "minecraft:the_end"
          ]
        }
      ]
    }
  }
}
Advanced Custom Generators (Custom Fluid Interaction) Examples
{
  // Advanced Custom Generator (Custom Fluid Interaction)
  // Basic format:
  // "advanced": { <source fluid id>: { <neighbour fluid/block id>: { results: {<modifier block id>: [ { "id": <block id>, "weight": <randomness weight> }, ... ] } } } }
  "advanced": {
    // Make sure to use still version of the fluid for this one,
    // - "minecraft:lava" not "minecraft:flowing_lava"
    // - "milk:still_milk" not "milk:flowing_milk"
    // How the fluid's ID is constructed depends on how the corresponding mod creator does things.
    "minecraft:lava": {
      // replicates minecraft cobblestone and stone generator
      // This one can be flowing or still version of the fluid, if still doesn't work try flowing.
      "minecraft:water": {
        // stone generator
        "resultsFromTop": {
          "*": [  // wildcard, accept any block as modifier
            {
              "id": "minecraft:stone",
              "weight": 100.0,
            }
          ]
        },
        // cobblestone generator
        "results": {
          "*": [  // wildcard, accept any block as modifier
            {
              "id": "minecraft:cobblestone",
              "weight": 100.0,
            }
          ]
        }
      },
      // replicates minecraft basalt generator
      "b:minecraft:blue_ice": {
        "results": {
          "minecraft:soul_soil": [
            {
              "id": "minecraft:basalt",
              "weight": 100.0,
            }
          ]
        }
      },
      // custom andesite generator with basalt generator method
      "b:minecraft:water_cauldron": {
        "silent": true,  // prevent extinguish sound from playing
        "results": {
          "*": [
            {
              "id": "minecraft:andesite",
              "weight": 100.0,
            }
          ]
        }
      }
    },
    "milk:still_milk": {
      "b:minecraft:cobblestone": {
        "results": {
          "*": [
            {
              "id": "minecraft:diorite",
              "weight": 100.0,
            }
          ]
        }
      }
    }
  }
}

Compatibility

At the moment Create mod's drill cobblestone generation optimization conflict with CobbleGen, you can still use it, Create mod would just simply ignore CobbleGen's output.

Any mods that modify fluid interaction behaviour potentially have a conflict with CobbleGen. With the exception of Porting Lib (the Create mod).

Starting from v4.0, CobbleGen has been rewritten to reduce mod incompatibility as much as possible.

Project description from Modrinth.

Pick your setup

CobbleGen by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

80 available setups

Showing the newest 12 of 26 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

CobbleGen versions and loaders

100 of 100 releases match

Looking for an older file? The official Modrinth project page is in Resources.