CurseForge · Minecraft mod
Excavated Variants
Automatically generated stone variants of ores
Quick answer
Which Excavated Variants release should I use?
Excavated Variants [NeoForge] v4.3.1 targets 1.21.1 with NeoForge. The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server. All 1 required mods have matching files.
Where it goes
Is Excavated Variants required on the client, server, or both?
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
The source does not explicitly classify this release as client-only or server-only.
What else does Excavated Variants [NeoForge] v4.3.1 need?
Excavated Variants [NeoForge] v4.3.1. Change the file and its required mods may change too.
Install Dynamic Asset Generator first. We found matching files for this game-version and loader setup.
We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add Excavated Variants without breaking your instance.
Built for Excavated Variants [NeoForge] v4.3.1. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use Excavated Variants [NeoForge] v4.3.1. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
Install Dynamic Asset Generator first. We found matching files for this game-version and loader setup.
- 03
Put it on the correct side
The project page does not say whether it belongs on the client. The project page does not say whether it belongs on the dedicated server.
- 04
Pick the file you checked
Use the “Get this file” button beside Excavated Variants [NeoForge] v4.3.1. It opens that exact file at the source.
About this project
What does Excavated Variants add?
Excavated Variants
NeoForge version requires: Dynamic Asset Generator
Fabric/Quilt version requires: Dynamic Asset Generator and Fabric API/Quilted Fabric API
Adds automatically generated variants of ores based on various stones.
Details:
Many mods add new stones or new ores. Excavated Variants automatically adds new ores for each combination of ore and stone variant. Additionally, Excavated Variants attempts to set up world gen for these ore variants. The variants added can be changed in the config file; some mods are built in to the default configuration; others will have to be manually added. See Images tab of Curseforge page for examples of generated ores.
Troubleshooting:
Running into issues? Start here!
- If world or game loading times are slow, try turning on stronger asset and/or data caching in the config for Dynamic Asset Generator.
- Is the game crashing on launch? Do ore textures turn magenta and black? Something may be wrong with your config. Try removing and resetting it.
- Are you missing compatibility for a mod listed below? Delete your configs to reset them to the default.
Compatibility:
Excavated Variants comes with default configs that include ore variants for the following mods, in addition to vanilla stones and ores:
- Quark
- Create
- Oh The Biomes You'll Go
- Tech Reborn
- Immersive Engineering
- Blockus
- Better End
- Better Nether
- Promenade
- Twigs
- Unearthed
- Bewitchment
- Mekanism
- Mystical Agriculture
- And more!
Config Format
The main config file, config/excavated_variants.json, contains several options:
- attempt_worldgen_replacement: Toggles ore-gen changes; without this, ores won't be replaced during world gen.
- add_conversion_recipes: Toggles whether to add recipes to convert variants back to the base ore.
All other configuration is loaded through the globalresources folder. You may add new config files there directly, but if you want to extract the built-in
configs in order to edit them, open the defaultresources.json config file. It should look something like as follows:
{
"extract": {
"excavated_variants": "unextracted"
}
}
Change unextracted to extract and load the game once. Now, the default configs will be available to edit in the globalresources folder.
Note: If you just want to add more configs, you do not need to (and should not) do this. You can add new config files without extracting existing ones.
Configs define four main data types:
- Ground Types: Ground types represent classes of ores and stones. They are used to determine which new ore/stone combinations (variants) should be created. For example:
excavated_variants:overworldis a category shared by normal minecraft stone, deepslate, and overworld ores. - Ores: Ores are types of blocks which can exist in any number of different stones. During worldgen, they are replaced with variants matching neighboring stones. For example:
excavated_variants:minecraft/iron_orerepresents both normal and deepslate iron ore, as well as any other variants generated. - Stones: Stones are blocks which ores generate within. For example:
excavated_variants:minecraft/graniterepresents granite, and contains information about which new variants to generate based off of granite. - Modifiers: Modifiers are used to modify the properties of variants. They can be used to add tags, change block properties, prevent variant creation, and more.
Except when changed by modifiers, variants are generated for all ore/stone combinations that share a ground type and do not already have a variant.
Ground Types
Placed in globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/ground_type. They are JSON files with the following structure:
- (nothing): these don't actually hold any data yet! Just use an empty JSON file:
{}.
Ores
Placed in globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/ore. They are JSON files with the following structure:
types: a list of ground types that this ore can generate in. For example:["excavated_variants:overworld"].translations: an object with locales as keys (such asen_us) and translated names of the ore as values. Translations will be prepended by the stone name, unless the translation contains%s, in which case the stone name will be inserted at that location.tags: a list of tags that variants of this ore will be added to, as both block and item tags.blocks: a map representing pairings of variants of this ore with stones. Each key is the identifier of a block representing an ore variant. Values take one of two forms:- a string representing the identifier of a stone. For example:
"excavated_variants:minecraft/granite". This variant will be assumed to exist if the mod who's mod ID is the namespace of the block ID is present. - an object with the following fields:
stone: a string representing the identifier of a stone. For example:"excavated_variants:minecraft/granite".required_mods: a list of mod IDs that must be present for this variant to be generated. For example:["spelunkery", "create"].generating: (optional, defaults to true) whether this variant can be used as a parent for new, generated variants.
- a string representing the identifier of a stone. For example:
Stones
Placed in globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/stone. They are JSON files with the following structure:
types: a list of ground types that this stone can generate in. For example:["excavated_variants:overworld"].translations: an object with locales as keys (such asen_us) and translated names of the stone as values.block: the identifier of the block corresponding to this stone. For example:"minecraft:granite".ore_tags: a list of tags that ore variants for this stone will be added to, as both block and item tags.
Modifiers
Placed in globalresources/[folder/pack]/globaldata/[namespace]/excavated_variants/modifier. They are JSON files with the following structure:
tags: (optional) a list of tags that variants matching the filter will be added to. Can be either block or item tags, in the format"namespace:[blocks/items]/path".flags: (optional) a list of flags from the following set that will be applied to matching variants:"original_without_silk": the variant should drop whatever its original block would drop, unless silk touch is used. Note that this flag is irrelevant for any ore blocks that have the behaviour of dropping "raw ore chunks" or the like, and is only relevant for when the original block drops itself."original_always": the variant should always drop whatever its original block would drop, even if silk touch is used."disable": the variant should not be generated or recognized by the mod."non_generating": the variant should not be used as a parent for new variants, but the mod is still aware of it.
properties: (optional) an object with the following fields, that modifies the properties of generated blocks:destroy_time: the time it takes to break the block.explosion_resistance: the resistance of the block to explosions.xp: the amount of experience dropped by the block. Can take the same sort of integer range as seen in vanilla datapacks.
filter: describes which variants this modifier applies to.
Filters
Modifier filters can take the form of either a string or an object. As an object, they have at least one field, type,
which describes the type of filter. The available types are:
allmatches everything.emptymatches nothing.notmatches everything not matched by its"filter"field.andmatches everything matched by all members of its"filters"field.ormatches everything matched by at least one member of its"filters"field.
As a string, they take one of the following forms:
*: matches everything.~: matches nothing.~[filter]: matches everything not matched by[filter].ground_type@[namespace]:[path]: matches all variants with the given ground type.stone@[namespace]:[path]: matches all variants with the given stone.ore@[namespace]:[path]: matches all variants with the given ore.mod@[mod_id]: matches everything, but only if a mod with the given ID is present.generated: matches all variants that are generated by the mod.block@[namespace]:[path]: matches all variants with the given block ID. The namespace and path provided here can use*as a wildcard to match one or more characters.
Project description from CurseForge.
Pick your setup
Excavated Variants by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.1
3 loader builds1.21
3 loader builds1.20.6
3 loader builds1.20.5
3 loader builds1.20.4
3 loader builds1.20.2
3 loader builds1.20.1
3 loader builds1.19.4
2 loader builds1.19.3
2 loader builds1.19.2
2 loader builds1.19
2 loader builds1.18.2
3 loader buildsCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Excavated Variants versions and loaders
Excavated Variants [NeoForge] v4.3.1
excavatedvariants-4.3.1-neoforge.jar
13 Aug 2024
Excavated Variants [Fabric/Quilt] v4.3.1
excavatedvariants-4.3.1-fabric.jar
13 Aug 2024
Excavated Variants [NeoForge] v4.3.0
excavatedvariants-4.3.0-neoforge.jar
5 Jul 2024
Excavated Variants [Fabric/Quilt] v4.3.0
excavatedvariants-4.3.0-fabric.jar
5 Jul 2024
Excavated Variants [NeoForge] v4.1.6
excavatedvariants-neoforge-1.20.4-4.1.6.jar
19 May 2024
Excavated Variants [Fabric/Quilt] v4.1.6
excavatedvariants-fabriquilt-1.20.4-4.1.6.jar
19 May 2024
Excavated Variants [NeoForge] v4.1.5
excavatedvariants-neoforge-1.20.4-4.1.5.jar
13 May 2024
Excavated Variants [Fabric/Quilt] v4.1.5
excavatedvariants-fabriquilt-1.20.4-4.1.5.jar
13 May 2024
Excavated Variants [NeoForge] v4.2.2
excavatedvariants-4.2.2-neoforge.jar
13 May 2024
Excavated Variants [Fabric/Quilt] v4.2.2
excavatedvariants-4.2.2-fabric.jar
13 May 2024
Excavated Variants [NeoForge] v4.1.4
excavatedvariants-neoforge-1.20.4-4.1.4.jar
11 May 2024
Excavated Variants [Fabric/Quilt] v4.1.4
excavatedvariants-fabriquilt-1.20.4-4.1.4.jar
11 May 2024
Looking for an older file? The official CurseForge project page is in Resources.