Skip to content

Sniffer Loot Expansion

Camille Fourmaintraux edited this page Jul 19, 2026 · 2 revisions

Camille's Sniffer Loot Expansion — Loot Reference

See Modrinth page.

Complete probability reference for every loot table in the datapack. One table = one section = one table; one entry = one row. Entries for the same item in one table are merged into a single row that lists every conditional weight separately.

How to read the odds

Every pool selects one entry per roll, weighted. An entry's chance is weight ÷ (sum of the weights of all currently eligible entries). Conditions are checked before the draw: an entry whose condition fails is removed, and only the remaining weights compete.

Most odds below are computed against the pool's nominal total (the sum of every weight in the file), which is exact when all entries are eligible. Two tables work differently and are documented as such:

  • common_to_all_dimensions: every entry has a mutually exclusive block condition, so only one block entry is ever eligible at a time. Its odds are weight ÷ (weight + empty).
  • base_overworld: the underground and mushroom-fields boosts are mutually exclusive contexts, so the effective total differs per context. Each context is listed.

Larger weights are multiples of 5; a few very rare items keep small weights (1–3) on purpose to preserve their rarity. "1 in N" is rounded to one decimal; percentages are exact unless noted.


How a dig resolves

Each dig rolls several pools independently and sums the results:

  1. One base table for the dimension (always yields something).
  2. common_to_all_dimensions — a chance to get the block under the Sniffer.
  3. Overworld only: common_to_any_overworld_biomes (shared treasures) + the matching biome/height table.
  4. Nether / End: their bonus table.

Height rule for the Overworld: Y ≥ 60 = surface, 0–60 = caves, −64 to −1 = deep caves.


Base tables (one guaranteed result per dig)

overworld/base_overworld.json

The underground boost (Y ≤ 59 or swamp/mangrove/dark forest) and the mushroom-fields boost never apply at the same time, so three contexts exist:

Surface, normal biome — effective total 100

Item Weight Odds Conditions
Torchflower Seeds 45 45.00% (1 in 2.2)
Pitcher Pod 45 45.00% (1 in 2.2)
Brown Mushroom 5 5.00% (1 in 20)
Red Mushroom 5 5.00% (1 in 20)

Underground (Y ≤ 59) or swamp / mangrove_swamp / dark_forest — effective total 120

Item Weight Odds Conditions
Torchflower Seeds 45 37.50% (1 in 2.7)
Pitcher Pod 45 37.50% (1 in 2.7)
Brown Mushroom 5 + 10 12.50% (1 in 8) +10 if Y ≤ 59 or biome swamp / mangrove_swamp / dark_forest
Red Mushroom 5 + 10 12.50% (1 in 8) same as above

Mushroom Fields — effective total 1000

Item Weight Odds Conditions
Torchflower Seeds 45 4.50% (1 in 22.2)
Pitcher Pod 45 4.50% (1 in 22.2)
Brown Mushroom 5 + 450 45.50% (1 in 2.2) +450 in mushroom_fields
Red Mushroom 5 + 450 45.50% (1 in 2.2) +450 in mushroom_fields

nether/base_nether.json — nominal total 200

Item Weight Odds Conditions
Brown Mushroom 5 2.50% (1 in 40) not in basalt_deltas
Red Mushroom 5 2.50% (1 in 40) not in basalt_deltas
Crimson Fungus 5 (+50 crimson_forest) 2.50% base · 27.50% in crimson_forest base entry: not in basalt_deltas; +50 if crimson_forest
Warped Fungus 5 (+50 warped_forest) 2.50% base · 27.50% in warped_forest base entry: not in basalt_deltas; +50 if warped_forest
Nether Wart 30 (+50 crimson_forest) 15.00% base · 40.00% in crimson_forest +50 if crimson_forest

end/base_end.json — nominal total 1

Item Weight Odds Conditions
Chorus Fruit 1 100%

modded_dimensions_fallback.json — nominal total 2

Item Weight Odds Conditions
Torchflower Seeds 1 50.00% (1 in 2)
Pitcher Pod 1 50.00% (1 in 2)

It just fall back to the vanilla drops for any modded dimensions, so at least Sniffers still drop something.


common_to_all_dimensions

Checks the block directly under the Sniffer (offset Y −1). Block conditions are mutually exclusive, so when you dig a matching block only that entry and empty (weight 25) compete: the item's real chance is weight ÷ (weight + 25).

Item Weight Odds when digging that block Conditions
Dirt 100 80.00% (1 in 1.25) block below in tag #minecraft:dirt
Clay Ball ×4 100 80.00% block below is clay
Snowball ×4 100 80.00% block below is snow_block
Sculk 100 80.00% block below is sculk
Sand 100 80.00% block below is sand
Red Sand 100 80.00% block below is red_sand
Gravel 100 80.00% block below is gravel
Soul Sand 100 80.00% block below is soul_sand
Soul Soil 100 80.00% block below is soul_soil
Moss Block 100 80.00% block below is moss_block or moss_carpet

If the block below matches none of these, the pool yields nothing.


Overworld — shared treasures

common_to_any_overworld_biomes.json — nominal total 1000

Fires in any Overworld biome, at any height.

Item Weight Odds Conditions
Nothing 440 44.00% (1 in 2.3)
Flint 150 (+150 river) 15.00% base · 30.00% in rivers +150 if biome in #minecraft:is_river (river, frozen_river)
Clay Ball (1–2) 20 (+20 river) (+20 lush/dripstone caves) 2.00% base · 4.00% river · 4.00% lush/dripstone +20 if #is_river; +20 if lush_caves or dripstone_caves
Skeleton Skull 25 2.50% (1 in 40) thunderstorm only
Bone (1–2, +2–3 at night) 100 10.00% (1 in 10) count boosted at night (time 13000–23000)
Sniffer Egg 5 (jungle group) + 1 (rain) 0.50% jungle group · 0.10% rain 5 if jungle / bamboo_jungle / sparse_jungle / mangrove_swamp / swamp; 1 if raining (any biome)
Emerald 2 (mountain) + 2 (village) + 2 (outpost/mansion) 0.20% each 2 if #is_mountain; 2 if #minecraft:village; 2 if pillager_outpost or mansion
Pottery Sherd (random) 15 1.50% (1 in 66.7) in structure: desert_pyramid, jungle_pyramid, ancient_city, trail_ruins, mineshaft, mineshaft_mesa, stronghold, ocean_ruin_cold, ocean_ruin_warm, shipwreck, shipwreck_beached
Copper Nugget 1 (+5 river) (+5 ocean) (+5 ocean ruins) 0.10% base · up to 1.60% combined +5 if #is_river; +5 if #is_ocean; +5 if ocean_ruin_cold / ocean_ruin_warm
Iron Nugget 1 (+5 river) (+5 mountain) (+5 mineshafts) 0.10% base · up to 1.60% combined +5 if #is_river; +5 if #is_mountain; +5 if mineshaft / mineshaft_mesa
Gold Nugget 1 (+5 river) (+5 badlands) (+5 desert temple/mesa mineshaft) 0.10% base · up to 1.60% combined +5 if #is_river; +5 if badlands / eroded_badlands / wooded_badlands; +5 if desert_pyramid / mineshaft_mesa

The pottery sherd entry is a tag (#minecraft:decorated_pot_sherds); the 1.50% is split evenly across every sherd in that tag.


Overworld — biome & height tables

overworld/surface_generic.json — nominal total 1000 · requires Y ≥ 60

Excludes: deep_dark, lush_caves, dripstone_caves, desert, badlands, eroded_badlands, wooded_badlands, beach, mushroom_fields, pale_garden, cold_ocean, deep_cold_ocean, ocean, deep_ocean, lukewarm_ocean, deep_lukewarm_ocean, warm_ocean, stony_peaks, snowy_plains, snowy_taiga, snowy_beach, snowy_slopes, ice_spikes, grove, frozen_peaks, jagged_peaks, frozen_river, frozen_ocean, deep_frozen_ocean.

Item Weight Odds Conditions
Nothing 600 60.00% (1 in 1.7)
Chicken Food (seeds tag) 25 (+50 lush biomes) 2.50% base · 7.50% lush +50 if plains, sunflower_plains, forest, flower_forest, birch_forest, dark_forest, old_growth_birch_forest, jungle, bamboo_jungle, sparse_jungle, swamp, mangrove_swamp, meadow, cherry_grove
Villager Plantable Seeds (tag) 25 (+50 lush biomes) 2.50% base · 7.50% lush same lush-biome list
Vine 25 (+100 jungle) 2.50% base · 12.50% in jungles +100 if biome in #minecraft:is_jungle
Hanging Roots 25 2.50% (1 in 40)
Lily Pad 50 5.00% (1 in 20) biome in #minecraft:is_river
Mud 50 5.00% (1 in 20) raining or #is_river or swamp / mangrove_swamp

The two seed rows are tags; each row's chance is split across the items in that tag.

overworld/surface_generic_forests.json — nominal total 1000 · requires Y ≥ 60

Applies in biomes in #minecraft:is_forest.

Item Weight Odds Conditions
Nothing 400 40.00% (1 in 2.5)
Stick 500 50.00% (1 in 2)
Leaf Litter (1–3) 100 10.00% (1 in 10)

overworld/ocean_and_beach.json — nominal total 1000 · requires Y ≥ 60

Applies in #minecraft:is_ocean or beach / snowy_beach.

Item Weight Odds Conditions
Nothing 21 2.10% (1 in 47.6)
Seagrass 300 30.00% (1 in 3.3)
Kelp 120 (+120 cold oceans) 12.00% base · 24.00% cold oceans +120 if cold_ocean or deep_cold_ocean
Turtle Scute 40 (+60 warm oceans/beach) 4.00% base · 10.00% warm +60 if warm_ocean, lukewarm_ocean, deep_lukewarm_ocean or beach
Nautilus Shell 20 2.00% (1 in 50)
Prismarine Shard 20 (+80 monument) 2.00% base · 10.00% in a monument +80 if in structure monument
Turtle Egg 5 0.50% (1 in 200) biome is beach
Glass Bottle 3 0.30% (1 in 333.3) biome is beach or snowy_beach
Dead Corals (10 types, each) 5 each 0.50% each (1 in 200) warm_ocean, lukewarm_ocean, deep_lukewarm_ocean or beach
Wet Sponge 1 (+5 warm_ocean) (+50 monument) 0.10% anywhere · 0.50% warm_ocean · 5.00% in a monument base no condition; +5 if warm_ocean; +50 if monument
Sea Pickle 40 (+60 warm oceans) 4.00% base · 10.00% warm +60 if warm_ocean, lukewarm_ocean or deep_lukewarm_ocean
Water Bottle 5 0.50% (1 in 200) real water bottle (potion_contents = water)

The ten dead-coral entries each have weight 5 with the identical condition: together 50/1000 = 5.00%, split evenly (0.50% per coral type).

overworld/desert_and_badlands.json — nominal total 1000 · requires Y ≥ 60

Applies in desert, badlands, eroded_badlands, wooded_badlands.

Item Weight Odds Conditions
Nothing 600 60.00% (1 in 1.7)
Cactus 150 15.00% (1 in 6.7)
Dead Bush 150 15.00% (1 in 6.7)
Sand 30 3.00% (1 in 33.3) biome is desert
Red Sand 30 3.00% (1 in 33.3) biome is badlands, eroded_badlands or wooded_badlands
Terracotta (any color, tag) 40 4.00% (1 in 25) biome is badlands, eroded_badlands or wooded_badlands

overworld/snowy.json — nominal total 1000 · requires Y ≥ 60

Applies in snowy_plains, snowy_taiga, snowy_beach, snowy_slopes, ice_spikes, grove, frozen_peaks, jagged_peaks, frozen_river, frozen_ocean, deep_frozen_ocean.

Item Weight Odds Conditions
Nothing 830 83.00% (1 in 1.2)
Ice 130 13.00% (1 in 7.7)
Packed Ice 35 3.50% (1 in 28.6)
Blue Ice 5 0.50% (1 in 200)

overworld/pale_garden.json — nominal total 1000 · requires Y ≥ 60

Item Weight Odds Conditions
Nothing 160 16.00% (1 in 6.3)
Bone (1–2, +2–4 at night) 280 28.00% (1 in 3.6) count boosted at night (time 13000–23000)
Bone Meal (1–3) 140 14.00% (1 in 7.1)
Resin Clump 140 14.00% (1 in 7.1)
Pale Hanging Moss 280 28.00% (1 in 3.6)

overworld/caves.json — nominal total 1000 · requires Y 0–60, not deep_dark

Item Weight Odds Conditions
Nothing 165 16.50% (1 in 6.1)
Hanging Roots 200 20.00% (1 in 5)
Coal 130 13.00% (1 in 7.7)
Raw Copper 60 6.00% (1 in 16.7)
Raw Iron 30 3.00% (1 in 33.3)
Raw Gold 15 1.50% (1 in 66.7)
Small Dripleaf 200 20.00% (1 in 5) biome is lush_caves
Pointed Dripstone 200 20.00% (1 in 5) biome is dripstone_caves

overworld/deep_caves.json — nominal total 1000 · requires Y −64 to −1, not deep_dark

Item Weight Odds Conditions
Nothing 200 20.00% (1 in 5)
Raw Iron 100 10.00% (1 in 10)
Raw Gold 50 5.00% (1 in 20)
Redstone 130 13.00% (1 in 7.7)
Hanging Roots 120 12.00% (1 in 8.3) biome is lush_caves
Small Dripleaf 200 20.00% (1 in 5) biome is lush_caves
Pointed Dripstone 200 20.00% (1 in 5) biome is dripstone_caves

overworld/deepdark.json — nominal total 1000 · biome deep_dark

Item Weight Odds Conditions
Nothing 148 14.80% (1 in 6.8)
Sculk Vein 150 15.00% (1 in 6.7)
Echo Shard 75 7.50% (1 in 13.3)
Amethyst Shard 50 5.00% (1 in 20)
Raw Iron 75 7.50% (1 in 13.3)
Raw Gold 40 4.00% (1 in 25)
Redstone 100 10.00% (1 in 10)
Bone (1–2) / (2–4 in ancient city) 100 base + 200 ancient_city 10.00% base · 20.00% ancient_city extra 200-weight entry (count 2–4) needs ancient_city
Skeleton Skull 1 0.10% (1 in 1000) structure ancient_city (no storm needed here)
Disc Fragment 5 10 1.00% (1 in 100) structure ancient_city
Iron Ingot 20 2.00% (1 in 50) structure ancient_city
Gold Ingot 20 2.00% (1 in 50) structure ancient_city
Copper Ingot 10 1.00% (1 in 100) structure ancient_city
Diamond 1 0.10% (1 in 1000) structure ancient_city

Inside an ancient city both bone entries are eligible, so bone's combined weight is 300 = 30.00%.


Nether

nether/nether.json — nominal total 1000

Item Weight Odds Conditions
Nothing 40 4.00% (1 in 25)
Warped Roots 90 9.00% (1 in 11.1) biome is warped_forest
Twisting Vines 45 4.50% (1 in 22.2) biome is warped_forest
Crimson Roots 90 9.00% (1 in 11.1) biome is crimson_forest
Weeping Vines 45 4.50% (1 in 22.2) biome is crimson_forest
Quartz 45 4.50% (1 in 22.2)
Flint 140 14.00% (1 in 7.1)
Stick 90 9.00% (1 in 11.1) biome is warped_forest or crimson_forest
Gunpowder 45 4.50% (1 in 22.2) biome is basalt_deltas
Iron Nugget 10 (+10 bastion) 1.00% base · 2.00% in bastion +10 if structure bastion_remnant
Gold Nugget 20 (+20 bastion) 2.00% base · 4.00% in bastion +20 if structure bastion_remnant
Bone 45 (+185 soul sand valley) 4.50% base · 23.00% in soul_sand_valley +185 if soul_sand_valley
Ghast Tear 45 4.50% (1 in 22.2) biome is soul_sand_valley
Skeleton Skull 20 2.00% (1 in 50) biome is soul_sand_valley
Sniffer Egg 5 0.50% (1 in 200) biome is warped_forest
Dried Ghast 5 0.50% (1 in 200) biome in #minecraft:has_structure/nether_fossil (soul_sand_valley)
Netherite Scrap 5 × 5% chance 0.025% effective structure bastion_remnant and a 5% random_chance roll

Netherite Scrap: even inside a bastion, the 5% random_chance means 5/1000 × 0.05 = 0.025% — a once-a-world event.


End

end/end.json — nominal total 1000

Item Weight Odds Conditions
Nothing 385 38.50% (1 in 2.6)
Ender Pearl 350 35.00% (1 in 2.9)
Shulker Shell 150 15.00% (1 in 6.7) structure end_city
Beetroot Seeds 30 3.00% (1 in 33.3) structure end_city
Bone 30 3.00% (1 in 33.3) structure end_city
Copper Ingot 15 1.50% (1 in 66.7) structure end_city
Iron Ingot 15 1.50% (1 in 66.7) structure end_city
Gold Ingot 15 1.50% (1 in 66.7) structure end_city
Emerald 5 0.50% (1 in 200) structure end_city
Diamond 5 0.50% (1 in 200) structure end_city

Notes on accuracy

  • Larger weights are multiples of 5; a handful of ultra-rare items (sniffer egg, netherite scrap, diamond, skeleton skull, glass bottle, wet sponge, emeralds, nuggets) keep weights of 1–3 to hold their intended rarity.
  • Odds use each pool's nominal total, except common_to_all_dimensions (mutually exclusive block conditions → weight ÷ (weight + 25)) and base_overworld (per-context totals) as noted.
  • Where conditional entries are absent in your context, the real denominator shrinks and your odds for the eligible items rise proportionally.
  • Tag entries (pottery sherds, terracotta, chicken food, villager plantable seeds) spread their row's probability evenly across the items in that tag in your version.
  • set_count never applies to tag or loot_table entries; counts shown apply only to plain item entries.
  • Height boundaries are hard cuts on the Sniffer's Y position: ≥ 60 surface, 0–60 caves, −64 to −1 deep caves.

Clone this wiki locally