Skip to content

Geode Ores

DaFuqs edited this page Jul 13, 2026 · 2 revisions

Spectrum adds ores around geodes - the vanilla Amethyst one, plus all Spectrum ones. The amount of ores, the ores themselves and the geodes they generate in are fully data driven. You can even specify your own ores to generate around geodes from other mods!

From a technical perspective: Each time a geode feature generates, Spectrum checks what kind of geode it is based on the defined inner_block of the configured feature (Amethyst, Citrine, ...). If there is a matching geode ore definition, after the geode is generated, blocks are scattered around the geode.

You can specify additional ores (or completely different blocks) that should generate close to geode features by placing json files in the directory <data_pack_or_mod_name>/data/spectrum/spectrum/geode_ores.

Properties

  • (BrokenBlockPredicate) geode_inner_layer_block_predicate: the property that checks which geode it is, based on the block(s) set as the geode's inner_layer_provider block
  • (int) min_distance_from_center: the min distance from the geodes center from where ores generate
  • (int) max_distance_from_center: the max distance from the geodes center from where ores generate
  • (int) tries_per_range_increment: how many ores to generate for each distance value betweeen min_distance_from_center and max_distance_from_center
  • (OreConfiguration.TargetBlockState) ore_configuration: Identical to the values of ore configured features. Specifies the block that is scattered around the geode

Example: Amethyst Geodes with Amethyst Ore

{
  "geode_inner_layer_block_predicate": {
    "blocks": "minecraft:amethyst_block"
  },
  "min_distance_from_center": 5,
  "max_distance_from_center": 15,
  "tries_per_range_increment": 24,
  "ore_configuration": [
    {
      "state": {
        "Name": "spectrum:amethyst_ore"
      },
      "target": {
        "predicate_type": "minecraft:tag_match",
        "tag": "minecraft:stone_ore_replaceables"
      }
    },
    {
      "state": {
        "Name": "spectrum:deepslate_amethyst_ore"
      },
      "target": {
        "predicate_type": "minecraft:tag_match",
        "tag": "minecraft:deepslate_ore_replaceables"
      }
    },
    {
      "target": {
        "predicate_type": "minecraft:tag_match",
        "tag": "spectrum:blackslag_ore_replaceables"
      },
      "state": {
        "Name": "spectrum:blackslag_amethyst_ore"
      }
    }
  ]
}

Clone this wiki locally