Skip to content

GameRules and Configuration

PropertyDetails
GameRule Categoryminecraft:ore_amplifier
Category Translationgamerule.category.ore_amplifier → "Ore Amplifier"
Config Fileconfig/ore-amplifier.json
Config EngineDasikLibrary ConfigHelper
GUI FrameworkYACL v3 (optional)
GUI EntryMod Menu (optional)

Configuration Methods Overview

Ore Amplifier provides four ways to configure multipliers, all kept in 2-way sync:

MethodAccessScopePersistence
GameRules ScreenEscOpen to LANGame Rules → Ore AmplifierPer-worldWorld save
/oreamp CommandsIn-game chatPer-world + JSONBoth
YACL GUIMod Menu → Ore Amplifier → ConfigureTemplate configJSON file
JSON Configconfig/ore-amplifier.jsonGlobal templateJSON file

💡 2-Way Sync: When you change a value via /oreamp set, it updates both the active world's GameRule AND the JSON config file. Similarly, /oreamp reload reads the JSON config and pushes values into GameRules.


GameRules Reference

Static GameRules

GameRule KeyDisplay NameTypeRangeDefaultDescription
ig:ore_vanilla_globalVanilla Ore Fallback Multiplier (%)Integer1–1000200Global multiplier for all minecraft: namespace ores. 200 = 2.0×
ig:ore_modded_globalModded Ore Multiplier (%)Integer1–1000120Global multiplier for all non-minecraft: namespace ores. 120 = 1.2×
ig:ore_vein_size_multiplierOre Vein Size Multiplier (%)Integer100–500100Multiplier for individual vein block volume. 100 = no change

Dynamic Per-Ore GameRules

Auto-registered for every ore block detected in BuiltInRegistries.BLOCK:

PatternExampleTypeRangeDefault
ig:ore_<namespace>_<path>ig:ore_minecraft_iron_oreInteger0–1000100
ig:ore_minecraft_diamond_oreInteger0–1000100
ig:ore_minecraft_ancient_debrisInteger0–1000100
ig:ore_techmod_tin_oreInteger0–1000100

Dynamic GameRule translations are generated at runtime as Title Case display names:

  • ig:ore_minecraft_iron_ore → "Minecraft Iron Ore Multiplier"
  • ig:ore_minecraft_diamond_ore → "Minecraft Diamond Ore Multiplier"

💡 Setting a per-ore GameRule to 0 disables amplification for that specific ore entirely.


Resolution Priority Hierarchy

When determining the effective multiplier for any ore, the system checks three tiers in order:

┌───────────────────────────────────────────────────┐
│  TIER 1: JSON Config Per-Ore Override (Highest)   │
│  config/ore-amplifier.json → perOreMultipliers    │
│  Key: "minecraft:diamond_ore": 500                │
├───────────────────────────────────────────────────┤
│              ↓ (if not set)                       │
├───────────────────────────────────────────────────┤
│  TIER 2: Dynamic GameRule Override                │
│  ig:ore_minecraft_diamond_ore = 300               │
├───────────────────────────────────────────────────┤
│              ↓ (if default 100%)                  │
├───────────────────────────────────────────────────┤
│  TIER 3: Namespace Global Fallback (Lowest)       │
│  minecraft: → ig:ore_vanilla_global (200%)        │
│  other:     → ig:ore_modded_global  (120%)        │
└───────────────────────────────────────────────────┘

For the full math and examples, see Ore Detection and Amplification.


JSON Config File

Location

<minecraft_directory>/config/ore-amplifier.json

Schema

json
{
  "version": 1,
  "vanillaGlobalMultiplier": 200,
  "moddedGlobalMultiplier": 120,
  "veinSizeMultiplier": 100,
  "perOreMultipliers": {}
}

Field Reference

FieldTypeDefaultDescription
versionInteger1Config schema version (for future migrations)
vanillaGlobalMultiplierInteger200Global vanilla ore multiplier (%)
moddedGlobalMultiplierInteger120Global modded ore multiplier (%)
veinSizeMultiplierInteger100Vein block volume multiplier (%)
perOreMultipliersMap<String, Integer>{}Per-ore overrides keyed by identifier

Example: Custom Per-Ore Overrides

json
{
  "version": 1,
  "vanillaGlobalMultiplier": 200,
  "moddedGlobalMultiplier": 120,
  "veinSizeMultiplier": 150,
  "perOreMultipliers": {
    "minecraft:diamond_ore": 500,
    "minecraft:deepslate_diamond_ore": 500,
    "minecraft:ancient_debris": 300,
    "techmod:tin_ore": 200
  }
}

YACL Configuration GUI

Requires YACL v3 and Mod Menu (both optional, client-side only).

Access: Mod MenuOre AmplifierConfigure

General Settings Category

OptionTypeRangeDefaultDescription
Vanilla Ore Fallback MultiplierSlider (%)1–1000200Global vanilla ore multiplier
Modded Ore Fallback MultiplierSlider (%)1–1000120Global modded ore multiplier
Ore Vein Size MultiplierSlider (%)100–500100Blocks per vein multiplier

⚠️ Warning: Changes made in the YACL GUI update the template config (config/ore-amplifier.json). These values are synced to new worlds on creation. To apply to an existing world, use /oreamp reload after changing the config.

Per-Ore Multipliers Category

18 vanilla ores with individual 0–1000% sliders:

OreDefaultRange
Iron Ore100%0–1000%
Deepslate Iron Ore100%0–1000%
Coal Ore100%0–1000%
Deepslate Coal Ore100%0–1000%
Copper Ore100%0–1000%
Deepslate Copper Ore100%0–1000%
Gold Ore100%0–1000%
Deepslate Gold Ore100%0–1000%
Redstone Ore100%0–1000%
Deepslate Redstone Ore100%0–1000%
Lapis Lazuli Ore100%0–1000%
Deepslate Lapis Lazuli Ore100%0–1000%
Emerald Ore100%0–1000%
Deepslate Emerald Ore100%0–1000%
Diamond Ore100%0–1000%
Deepslate Diamond Ore100%0–1000%
Nether Quartz Ore100%0–1000%
Ancient Debris100%0–1000%

Server Startup Behavior

Auto-Heal Zeroed Multipliers

On SERVER_STARTING, the mod checks if global multipliers have been accidentally set to 0 and resets them to defaults:

  • ig:ore_vanilla_global: 0 → 200
  • ig:ore_modded_global: 0 → 120

Template Config Sync

On SERVER_STARTED, if a world has never been initialized with Ore Amplifier config values (new world or first install), the template config from config/ore-amplifier.json is synced into the world's GameRules.


Translation Keys

KeyValue
gamerule.category.ore_amplifierOre Amplifier
gamerule.ig:ore_vanilla_globalVanilla Ore Fallback Multiplier (%)
gamerule.ig:ore_modded_globalModded Ore Multiplier (%)
gamerule.ig:ore_vein_size_multiplierOre Vein Size Multiplier (%)
config.ore-amplifier.titleOre Amplifier Config
config.ore-amplifier.category.generalGeneral Settings
config.ore-amplifier.category.per_orePer-Ore Multipliers
config.ore-amplifier.group.optionsMultiplier Options
config.ore-amplifier.group.per_oreSpecific Ore Controls

Common Configuration Recipes

5× Diamonds Only

/oreamp set minecraft:diamond_ore 500
/oreamp set minecraft:deepslate_diamond_ore 500

3× All Ores

/oreamp set global vanilla 300
/oreamp set global modded 300

Disable Modded Ore Amplification

/oreamp set global modded 100

Maximum Vein Size (5×)

/gamerule ig:ore_vein_size_multiplier 500

For the complete command reference, see Commands Reference.

Official documentation & web portal for Dasik Igaijinn mods.