Minecraft Wiki
Advertisement
[Ver | Editar | Purgar]DocumentaciónVer código ↴
Véase también: Chest loot

Maintenance[]

The data for Java release versions is current as of 1.15.2. 23:21, 15 April 2020 (UTC)
The data for Java snapshots is current as of 20w17a. 15:38, 22 April 2020 (UTC)
The data for Bedrock release versions is current as of 1.14.60. 04:02, 19 April 2020 (UTC)
The data for Bedrock beta versions is current as of beta 1.16.0.57. 04:02, 19 April 2020 (UTC)

.base usage (Template:LootChest)[]

Generates a table of the contents of the designated chests, with columns corresponding to various statistics about the availability of those items.

Invoking[]

It takes any number of chest parameters, and any number of column parameters, in no particular order.

If no chest parameters are listed, it displays them all; likewise for column parameters.

{{#invoke:LootChest|base
 [ |<chestParam1> ... |<chestParamN> ]
 [ |<columnHideParam1> ... |<columnHideParamN> ]
}}

Chest parameters[]

ancient-city,
bastion-bridge,
bastion-generic,
bastion-hoglin-stable,
bastion-treasure,
bonus,
bonus-barrel,
buried-treasure,
desert-temple ( desert ),
dungeon,
end-city,
igloo,
jungle-temple ( jungle ),
jungle-temple-dispenser,
mineshaft,
nether-fortress ( nether-fortress, nether ),
pillager-outpost ( outpost ),
ruined-portal,
shipwreck-map,
shipwreck-supply,
shipwreck-treasure,
stronghold-altar ( altar ),
stronghold-library ( library ),
stronghold-storeroom ( storeroom ),
underwater-ruin-big,
underwater-ruin-small,
village-armorer ( armorer ),
village-butcher ( butcher ),
village-cartographer ( cartographer ),
village-desert-house ( desert-house ),
village-fisherman ( fisherman ),
village-fletcher ( fletcher ),
village-mason ( mason ),
village-plains-house ( plains-house ),
village-savanna-house ( savanna-house ),
village-shepherd ( shepherd ),
village-snowy-house ( snowy-house ),
village-taiga-house ( taiga-house ),
village-tannery ( tannery ),
village-temple ( temple ),
village-toolsmith ( toolsmith ),
village-weaponsmith ( weaponsmith ),
woodland-mansion ( mansion )

Column parameters[]

chance: The odds of finding any of this item in a single chest.,
chests: The average number of chests the player should expect to search to find any of this item.,
items: The number of items expected per chest, averaged over a large number of chests.,
stacksize: The size of stacks (or for unstackable items, number) of this item on any given roll.,
weight: The weight of this item relative to other items in the pool.

Example[]

{{#invoke:LootChest|base}} → all chests and all columns

{{#invoke:LootChest|base|weaponsmith|jungle|bonus|chance|stacksize}} → only weaponsmith and jungle chests, and only 'stacksize' and 'chance' columns

.base2 usage (Template:LootChestItem inline)[]

Prints a summary of this item's availability in the various worldgen chests.

Invoking[]

It takes exactly one item name as a parameter.

{{#invoke:LootChest|base2|<itemParam>}}

Item parameters[]

activator-rail, ancient-debris, azada-de-oro, bambú, barrel, basalt, beetroot, beetroot-seeds, beetroot-soup, bell, black-wool, block-of-gold, block-of-iron, blue-ice, blue-key, bone-block, book-and-quill, bottle-o'-enchanting, brote-de-abedul, brote-de-abeto, brote-de-acacia, brote-de-jungla, brote-de-roble, brote-de-roble-oscuro, brown-mushroom, brown-wool, bucket, buried-treasure-map, cactus, cake, candle, carrot, chain, chainmail-boots, chainmail-chestplate, chainmail-helmet, chainmail-leggings, chuleta-de-cerdo-cruda, clay-ball, coal, cocoa-beans, compass, cooked-cod, cooked-porkchop, cooked-salmon, crimson-fungus, crimson-nylium, crimson-roots, crossbow, crying-obsidian, damaged-diamond-boots, damaged-diamond-chestplate, damaged-diamond-helmet, damaged-diamond-leggings, damaged-diamond-sword, damaged-level-enchanted-crossbow, damaged-level-enchanted-netherite-boots, damaged-level-enchanted-netherite-chestplate, damaged-level-enchanted-netherite-helmet, damaged-level-enchanted-netherite-leggings, damaged-level-enchanted-netherite-sword, damaged-netherite-boots, damaged-netherite-chestplate, damaged-netherite-helmet, damaged-netherite-leggings, damaged-netherite-sword, damaged-random-enchanted-crossbow, damaged-random-enchanted-crossbow-2, damaged-random-enchanted-diamond-boots, damaged-random-enchanted-diamond-boots-2, damaged-random-enchanted-diamond-chestplate, damaged-random-enchanted-diamond-chestplate-2, damaged-random-enchanted-diamond-helmet, damaged-random-enchanted-diamond-helmet-2, damaged-random-enchanted-diamond-leggings, damaged-random-enchanted-diamond-leggings-2, damaged-random-enchanted-diamond-pickaxe, damaged-random-enchanted-diamond-shovel, damaged-random-enchanted-diamond-shovel-2, damaged-random-enchanted-diamond-sword, damaged-random-enchanted-diamond-sword-2, damaged-random-enchanted-iron-sword, damaged-random-enchanted-netherite-axe, damaged-random-enchanted-netherite-boots, damaged-random-enchanted-netherite-chestplate, damaged-random-enchanted-netherite-helmet, damaged-random-enchanted-netherite-hoe, damaged-random-enchanted-netherite-leggings, damaged-random-enchanted-netherite-pickaxe, damaged-random-enchanted-netherite-shovel, damaged-random-enchanted-netherite-sword, dandelion, dead-bush, detector-rail, diamond, diamond-boots, diamond-chestplate, diamond-helmet, diamond-hoe, diamond-horse-armor, diamond-leggings, diamond-shovel, diamond-sword, disc-13, disc-cat, disc-mellohi, disc-otherside, disc-pigstep, disc-wait, egg, empty, empty-map, enchanted-book, enchanted-book-rnd, enchanted-book-rnd-soul-speed, enchanted-book-rnd-swift-sneak, enchanted-fishing-rod, enchanted-golden-apple, ender-pearl, esmeralda, espada-de-oro, fern, fire-charge, flecha, flint, flint-and-steel, flower-pot, fragmento-resonante, fragmentos-de-netherita, gilded-blackstone, glistering-melon-slice, glow-berries, glowstone, gold-nugget, golden-boots, golden-carrot, golden-chestplate, golden-helmet, golden-horse-armor, golden-leggings, grass, gray-wool, green-dye, heart-of-the-sea, horno, hueso, ink-sac, iron-boots, iron-chestplate, iron-helmet, iron-horse-armor, iron-ingot, iron-leggings, iron-nugget, iron-pickaxe, iron-shovel, iron-sword, lapis-lazuli, large-fern, lead, leather, leather-boots, leather-cap, leather-pants, leather-tunic, level-enchanted-bow, level-enchanted-diamond-boots, level-enchanted-diamond-boots-2, level-enchanted-diamond-chestplate, level-enchanted-diamond-chestplate-2, level-enchanted-diamond-helmet, level-enchanted-diamond-helmet-2, level-enchanted-diamond-leggings, level-enchanted-diamond-leggings-2, level-enchanted-diamond-pickaxe, level-enchanted-diamond-shovel, level-enchanted-diamond-sword, level-enchanted-diamond-sword-2, level-enchanted-golden-boots, level-enchanted-golden-chestplate, level-enchanted-golden-helmet, level-enchanted-golden-hoe, level-enchanted-golden-leggings, level-enchanted-iron-boots, level-enchanted-iron-boots-2, level-enchanted-iron-chestplate, level-enchanted-iron-chestplate-2, level-enchanted-iron-helmet, level-enchanted-iron-helmet-2, level-enchanted-iron-leggings, level-enchanted-iron-leggings-2, level-enchanted-iron-pickaxe, level-enchanted-iron-shovel, level-enchanted-iron-sword, level-enchanted-iron-sword-2, level-enchanted-leather-boots, level-enchanted-leather-cap, level-enchanted-leather-pants, level-enchanted-leather-tunic, level-enchanted-stone-sword, libro, light-gray-wool, light-weighted-pressure-plate, lingote-de-oro, lodestone, magma-block, magma-cream, manzana, manzana-dorada, map, melon-seeds, moss-block, name-tag, nether-quartz, nether-wart, netherite-boots, netherite-chestplate, netherite-helmet, netherite-ingot, netherite-leggings, oak-planks, oak-sign, obsidiana, pan, papel, patata, pluma, poisonous-potato, polished-basalt, poppy, potion-of-healing, potion-of-regeneration, potion-of-water-breathing, powered-rail, prismarine-crystals, pumpkin, pumpkin-pie, pumpkin-seeds, pólvora, rail, random-effect-arrow, random-effect-lingering-potion, random-effect-potion, random-effect-splash-potion, random-effect-tipped-arrow, random-enchanted-crossbow, random-enchanted-diamond-pickaxe, random-enchanted-golden-axe, random-enchanted-golden-boots, random-enchanted-golden-chestplate, random-enchanted-golden-helmet, random-enchanted-golden-hoe, random-enchanted-golden-leggings, random-enchanted-golden-pickaxe, random-enchanted-golden-shovel, random-enchanted-golden-sword, random-enchanted-leather-boots, random-enchanted-leather-cap, random-enchanted-leather-pants, random-enchanted-leather-tunic, raw-beef, raw-cod, raw-mutton, raw-salmon, red-key, redstone, reloj, rotten-flesh, saddle, sand, sculk, sculk-catalyst, sculk-sensor, shears, smooth-stone, snout-banner-pattern, snow-block, snowball, soul-sand, soul-speed-enchanted-golden-boots, spectral-arrow, spider-eye, spruce-sign, stick, stone, stone-axe, stone-bricks, stone-pickaxe, string, suspicious-stew, sweet-berries, tall-grass, tnt, torch, trigo, tripwire-hook, tronco-de-abedul, tronco-de-abeto, tronco-de-acacia, tronco-de-jungla, tronco-de-roble, tronco-de-roble-oscuro, water-bucket, wheat-seeds, white-wool, wooden-axe, wooden-hoe, wooden-pickaxe, yellow-dye, yellow-key

Example[]

{{#invoke:LootChest|base2|iron-ingot}}

Iron ingots can be found in 18.5% of mazmorra chests, 18.5% of Mansión del bosque chests, and 99.4% of Tesoro enterrado chests, all in stacks of 1–4; in 23.0% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 97.4% of Naufragio tesoro chests, 34.3% of fortaleza storeroom chests, 27.3% of chest minecarts in Mineshafts, 45.1% of Aldea weaponsmith chests, 37.4% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–5; in 38.4% of End city chests in stacks of 4–8; in 54.2% of herrero de la aldea chests and 30.5% of Puesto de saqueadores chests in stacks of 1–3; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

Bedrock Editionthey can be found in 18.5% of mazmorra chests and 18.5% of Mansión del bosque chests in stacks of 1–4; in 22.6% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 97.4% of Naufragio tesoro chests, 28.5% of fortaleza storeroom chests, 27.3% of chest minecarts in Mineshafts, 45.1% of Aldea weaponsmith chests, 37.3% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–5; in 38.4% of End city chests in stacks of 4–8; in 57.2% of Tesoro enterrado chests in stacks of 3–5; in 54.2% of herrero de la aldea chests and 30.5% of Puesto de saqueadores chests in stacks of 1–3; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

{{#invoke:LootChest|base2|esmeralda}}

Esmeraldas can be found in 14.9% of Grandes Ruinas oceánicas chests, 24.2% of pescador de la aldea chests, 31.8% of herrero de la aldea chests, 12.3% of Pastor de la aldea chests, 10.2% of carnicero de la aldea chests, 16.4% of Ruinas oceánicas pequeñas chests, 12.3% of flechero de la aldea chests, 7.6% of Iglú chests, and 20.8% of albañil de la aldea chests, all in stacks of 1; in 25.4% of Aldea temple chests, 22.8% of plains Aldea house chests, 21.5% of savanna Aldea house chests, 18.6% of taiga Aldea house chests, 9.9% of snowy Aldea house chests, and 17.3% of Aldea tannery chests, all in stacks of 1–4; in 73.7% of Naufragio tesoro chests in stacks of 1–5; in 59.9% of Tesoro enterrado chests in stacks of 4–8; in 14.3% of Casa de aldea del desierto chests, 8.7% of Templo de jungla chests, and 18.0% of Pirámide del desierto chests, all in stacks of 1–3; and in 9.0% of End city chests in stacks of 2–6.

Bedrock Editionthey can be found in 14.9% of Grandes Ruinas oceánicas chests, 31.8% of herrero de la aldea chests, 12.3% of Pastor de la aldea chests, 10.2% of carnicero de la aldea chests, 16.4% of Ruinas oceánicas pequeñas chests, 12.3% of flechero de la aldea chests, 7.6% of Iglú chests, and 20.8% of albañil de la aldea chests, all in stacks of 1; in 7.2% of fortaleza altar chests, 14.3% of Casa de aldea del desierto chests, 8.7% of Templo de jungla chests, and 18.0% of Pirámide del desierto chests, all in stacks of 1–3; in 73.7% of Naufragio tesoro chests in stacks of 1–5; in 9.0% of End city chests in stacks of 2–6; and in 25.4% of Aldea temple chests, 22.8% of plains Aldea house chests, 21.5% of savanna Aldea house chests, 20.3% of taiga Aldea house chests, 9.9% of snowy Aldea house chests, and 17.3% of Aldea tannery chests, all in stacks of 1–4.

.base3 usage (Template:LootChestItem table)[]

Prints a summary of this item's availability in the various worldgen chests in the form of a table.

Invoking[]

It takes exactly one item name as a parameter.

{{#invoke:LootChest|base3|<itemParam>}}

Item parameters[]

Same as above

Example[]

{{#invoke:LootChest|base3|esmeralda}}

Objeto Estructura Contenedor Cantidad Probabilidad
Java Edition
Esmeralda Aldea Plains house chest 1–4 22,8%
Temple chest 1–4 25,4%
Cofre del albañil 1 20,8%
Tanner's chest 1–4 17,3%
Savanna house chest 1–4 21,5%
Taiga house chest 1–4 18,6%
Cofre del flechero 1 12,3%
Snowy house chest 1–4 9,9%
Cofre de pescador 1 24,2%
Cofre de casa del desierto 1–3 14,3%
Cofre del errero 1 31,8%
Cofre del carnicero 1 10,2%
Cofre del pastor 1 12,3%
Tesoro enterrado Cofre 4–8 59,9%
End city Cofre 2–6 9%
Iglú Cofre 1 7,6%
Naufragio Cofre del tesoro 1–5 73,7%
Ruinas oceánicas Cofre de ruinas pequeñas 1 16,4%
Cofre de ruinas grandes 1 14,9%
Templo de jungla Cofre 1–3 8,7%
Pirámide del desierto Cofre 1–3 18%
Bedrock Edition
Esmeralda Aldea Tanner's chest 1–4 17,3%
Temple chest 1–4 25,4%
Snowy house chest 1–4 9,9%
Plains house chest 1–4 22,8%
Taiga house chest 1–4 20,3%
Savanna house chest 1–4 21,5%
Cofre del albañil 1 20,8%
Cofre de casa del desierto 1–3 14,3%
Cofre del carnicero 1 10,2%
Cofre del errero 1 31,8%
Cofre del pastor 1 12,3%
Cofre del flechero 1 12,3%
End city Cofre 2–6 9%
Iglú Cofre 1 7,6%
Naufragio Cofre del tesoro 1–5 73,7%
Ruinas oceánicas Cofre de ruinas grandes 1 14,9%
Cofre de ruinas pequeñas 1 16,4%
Fortaleza Altar chest 1–3 7,2%
Templo de jungla Cofre 1–3 8,7%
Pirámide del desierto Cofre 1–3 18%

Source[]

  • The data is set up within p so that it can be pulled directly from (or compared directly to) the minecraft loot table files.
  • stack size given here (and given in code) can be larger than the stackable size of the item, prominently in the case of enchanted books. However this fact does not affect the calculated values. This is because the game puts the right number of items, but unstacked rather than stacked.

Data structure[]

  • p.items
'<item-id>' = {
This key must match a sprite name for the items/blocks defined in Module:BlockSprite or Module:ItemSprite, unless id is included in the item definition.
'<sprite-type>'
Either item or block.
[, id='<sprite-id>']
Use this to specify a sprite defined in Module:BlockSprite or Module:ItemSprite. Otherwise it uses the sprite with the name given by item-id.
[, link='<item-link>']
A link to a page that is different from the sprite-id name. Used in Template:LootChest.
[, title='<item-text>']
A name for an item that is different from the sprite-id name.
[, cannot_stack=false]
Use this to indicate that the item comes in groups rather than in stacks. Used in Template:LootChestItem.
[, plural=(false|'<custom-plural-word>')]
Use false when a word has no plural, like 'Nether Wart'. Use a custom plural word when you cannot simply append an 's' to the base word to make it plural, like 'Bottles o' Enchanting'. Used in Template:LootChestItem.
[, preserve_case=false]
Use false when an item name should follow the capitalization exactly specified in title, and not follow sentence case, like 'TNT'.
[, note='<note-name>']
Indicates that a note appears next to this item in the table. (notes are defined directly below the item list)
}
  • p.notes
'<note-name>' = '<note-full-text>'
  • p.chests[n].poolsJava[n]
  • p.chests[n].poolsJavaUpcoming[n]
  • p.chests[n].poolsBedrock[n]
  • p.chests[n].poolsBedrockUpcoming[n]
    • rolls
{ <min-number-of-stacks>, <max-number-of-stacks> }
  • p.chests[n].poolsJava[n].items
  • p.chests[n].poolsJavaUpcoming[n].items
  • p.chests[n].poolsBedrock[n].items
  • p.chests[n].poolsBedrockUpcoming[n].items
'<item-id>' = { <min-stack-size>, <max-stack-size>, <item-weight> }
  • p.synonyms
'<chest-name-synonym>' = '<original-interally-valid-chest-name>'
Allows additional chest names to be used as parameters, in addition to the ones defined in p.chests.
  • p.display_names
'<chest-name-given-via-parameter>' = '<name-displayed-in-single-chest-table>'
If a single chest parameter is used, this defines the name it is called in the summary text above the table.
  • p.columns
'<column-name>' = '<column-full-description>'
The column descriptions, found either in the tooltip on the column header, or in the summary text above the table.

Functions[]

The following functions are made available at the top of the file, for ease of inspection.

  • calc_average_amount_this_item_per_chest
average number of a certain item (not number of stacks), per-chest (not per-structure).
  • calc_chance_any_of_this_item_per_chest
chance that at least one of a certain item is present, per-chest (not per-structure).

Item tests[]

{{#invoke:LootChest|base2_test}}



















































Activator rails can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Bedrock Editionthey can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Amapolas can be found in 12.1% of plains Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 12.1% of plains Aldea house chests in stacks of 1.

Ancient debris can be found in 13.5% of Bastión en ruinas chests in stacks of 1, and in 12.7% of Tesoro del bastión en ruinas chests and 5.7% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2.

Bedrock Editionthey can be found in 13.5% of Bastión en ruinas chests and 5.7% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 1, and in 12.7% of Tesoro del bastión en ruinas chests in stacks of 2.

Arrows[FN 8] can be found in 10.9% of bonus barrel chests in stacks of 1–20.

Bambú can be found in 14.4% of Naufragio suministros chests and 51.0% of Templo de jungla chests in stacks of 1–3.

Bedrock Editionthey can be found in 14.4% of Naufragio suministros chests and 50.9% of Templo de jungla chests in stacks of 1–3.

Barrels can be found in 24.2% of pescador de la aldea chests in stacks of 1–3.

Beetroot seeds can be found in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4; in 21.2% of End city chests in stacks of 1–10; and in 66.3% of snowy Aldea house chests in stacks of 1–5.

Bedrock Editionthey can be found in 21.2% of End city chests in stacks of 1–10; in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4; in 66.3% of snowy Aldea house chests in stacks of 1–5; and in 33.3% of bonus chests in stacks of 1–2.

Beetroot soup can be found in 9.9% of snowy Aldea house chests in groups of 1.

Bedrock Editionthey can be found in 9.9% of snowy Aldea house chests in groups of 1.

Bells can be found in 1.5% of ruined portal chests in stacks of 1.

Bedrock Editionthey can be found in 1.5% of ruined portal chests in stacks of 1.

Bfc9000s[FN 9] can be found in 10.9% of bonus barrel chests in groups of 1.

Black wool can be found in 33.0% of Pastor de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 33.0% of Pastor de la aldea chests in stacks of 1–3.

Blocks of gold can be found in 19.0% of Bastión en ruinas chests and 11.2% of bastion remnant bridge chests in stacks of 1, in 33.7% of Tesoro del bastión en ruinas chests in stacks of 2–5, in 1.5% of ruined portal chests in stacks of 1–2, and in 18.2% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–4.

Bedrock Editionthey can be found in 19.0% of Bastión en ruinas chests and 11.2% of bastion remnant bridge chests in stacks of 1, in 33.7% of Tesoro del bastión en ruinas chests in stacks of 2–5, in 1.5% of ruined portal chests in stacks of 1–2, and in 18.2% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–4.

Blocks of iron can be found in 19.0% of Bastión en ruinas chests in stacks of 1, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 2–5.

Bedrock Editionthey can be found in 19.0% of Bastión en ruinas chests in stacks of 1, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 2–5.

Blue ice can be found in 9.9% of snowy Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 9.9% of snowy Aldea house chests in stacks of 1.

Blue keys can be found in 4.2% of bonus barrel chests in stacks of 1.

Bone blocks can be found in 24.4% of Bastión en ruinas chests in stacks of 3–6.

Bedrock Editionthey can be found in 24.4% of Bastión en ruinas chests in stacks of 3–6.

Brote de abetos can be found in 40.6% of taiga Aldea house chests in stacks of 1–5.

Bedrock Editionthey can be found in 14.3% of bonus chests in stacks of 4, and in 43.7% of taiga Aldea house chests in stacks of 1–5.

Brote de acacias can be found in 71.7% of savanna Aldea house chests in stacks of 1–2.

Bedrock Editionthey can be found in 14.3% of bonus chests in stacks of 4, and in 71.7% of savanna Aldea house chests in stacks of 1–2.

Brote de robles can be found in 25.6% of Aldea weaponsmith chests in stacks of 3–7, and in 48.2% of plains Aldea house chests in stacks of 1–2.

Bedrock Editionthey can be found in 26.3% of cartógrafo de la aldea chests and 48.2% of plains Aldea house chests in stacks of 1–2, in 14.3% of bonus chests in stacks of 4, and in 25.6% of Aldea weaponsmith chests in stacks of 3–7.

Brown wool can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Buckets can be found in 18.5% of mazmorra chests, 11.3% of savanna Aldea house chests, and 18.5% of Mansión del bosque chests, all in stacks of 1.

Bedrock Editionthey can be found in 18.5% of mazmorra chests, 11.3% of savanna Aldea house chests, and 18.5% of Mansión del bosque chests, all in stacks of 1.

Buried treasure maps can be found in 43.5% of Grandes Ruinas oceánicas chests, 41.7% of Ruinas oceánicas pequeñas chests, and all Naufragio mapa chests, all in stacks of 1.

Bedrock Editionthey can be found in 43.5% of Grandes Ruinas oceánicas chests, 41.7% of Ruinas oceánicas pequeñas chests, and all Naufragio mapa chests, all in stacks of 1.

Cactus can be found in 80.6% of Casa de aldea del desierto chests in stacks of 1–4.

Bedrock Editionthey can be found in 80.6% of Casa de aldea del desierto chests in stacks of 1–4, and in 60.0% of bonus chests in stacks of 1–2.

Carrots can be found in 42.1% of Naufragio suministros chests in stacks of 4–8, and in 57.5% of Puesto de saqueadores chests in stacks of 3–5.

Bedrock Editionthey can be found in 50.0% of bonus chests in stacks of 1–2, in 42.1% of Naufragio suministros chests in stacks of 4–8, and in 57.5% of Puesto de saqueadores chests in stacks of 3–5.

Chainmail chestplates can be found in 14.9% of Mansión del bosque chests in groups of 1.

Bedrock Editionthey can be found in 14.7% of Mansión del bosque chests and 57.2% of Tesoro enterrado chests in groups of 1.

Chains can be found in 24.4% of Bastión en ruinas chests in stacks of 2–10.

Bedrock Editionthey can be found in 24.4% of Bastión en ruinas chests in stacks of 2–10.

Clay ball can be found in 14.3% of Casa de aldea del desierto chests in stacks of 1, and in 20.8% of albañil de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 14.3% of Casa de aldea del desierto chests in stacks of 1, and in 20.8% of albañil de la aldea chests in stacks of 1–3.

Coal can be found in 43.0% of pescador de la aldea chests, 9.9% of Aldea toolsmith chests, and 27.9% of carnicero de la aldea chests, all in stacks of 1–3; in 37.3% of Naufragio suministros chests in stacks of 2–8; in 81.0% of Grandes Ruinas oceánicas chests, 84.2% of Ruinas oceánicas pequeñas chests, 26.6% of mazmorra chests, 70.4% of Iglú chests, 41.2% of snowy Aldea house chests, and 26.6% of Mansión del bosque chests, all in stacks of 1–4; and in 34.3% of fortaleza storeroom chests and 27.3% of chest minecarts in Mineshafts in stacks of 3–8.

Bedrock Editionthey can be found in 9.9% of Aldea toolsmith chests and 27.9% of carnicero de la aldea chests in stacks of 1–3; in 37.3% of Naufragio suministros chests in stacks of 2–8; in 81.0% of Grandes Ruinas oceánicas chests, 84.2% of Ruinas oceánicas pequeñas chests, 26.6% of mazmorra chests, 70.4% of Iglú chests, 41.2% of snowy Aldea house chests, and 26.6% of Mansión del bosque chests, all in stacks of 1–4; and in 28.5% of fortaleza storeroom chests and 27.3% of chest minecarts in Mineshafts in stacks of 3–8.

Compasses can be found in 7.7% of Naufragio mapa chests, 26.3% of cartógrafo de la aldea chests, and 10.9% of fortaleza library chests, all in stacks of 1.

Bedrock Editionthey can be found in 7.7% of Naufragio mapa chests, 26.3% of cartógrafo de la aldea chests, and 10.5% of fortaleza library chests, all in stacks of 1.

Cooked cod can be found in 75.0% of Tesoro enterrado chests in stacks of 2–4.

Cooked porkchops can be found in 24.4% of Bastión en ruinas chests in stacks of 1, and in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–5.

Bedrock Editionthey can be found in 24.4% of Bastión en ruinas chests in stacks of 1, and in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–5.

Cooked salmon can be found in 75.0% of Tesoro enterrado chests in stacks of 2–4.

Crimson nylium can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Crimson roots can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Crossbows can be found in 9.8% of Bastión en ruinas chests and all Puesto de saqueadores chests in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests and all Puesto de saqueadores chests in groups of 1.

Crying obsidians can be found in 19.0% of Bastión en ruinas chests and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 1–5, in 11.2% of bastion remnant bridge chests in stacks of 3–8, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–5.

Bedrock Editionthey can be found in 19.0% of Bastión en ruinas chests and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 1–5, in 11.2% of bastion remnant bridge chests in stacks of 3–8, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–5.

Damaged enchanted crossbows[FN 2][FN 11] can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Damaged enchanted crossbows[FN 2][FN 16] can be found in 11.2% of bastion remnant bridge chests in groups of 1.

Bedrock Editionthey can be found in 11.2% of bastion remnant bridge chests in groups of 1.

Damaged enchanted diamond boots[FN 2][FN 3] can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Damaged enchanted diamond chestplates[FN 2][FN 3] can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Damaged enchanted diamond helmets[FN 2][FN 3] can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Damaged enchanted diamond leggings[FN 2][FN 3] can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Damaged enchanted diamond shovels[FN 2][FN 7] can be found in 17.0% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 17.0% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in groups of 1.

Damaged enchanted diamond swords[FN 2][FN 3] can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Damaged enchanted iron swords[FN 2][FN 11] can be found in 19.0% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 19.0% of Bastión en ruinas chests in groups of 1.

Dandelions can be found in 22.8% of plains Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 22.8% of plains Aldea house chests in stacks of 1.

Dead bushes can be found in 26.6% of Casa de aldea del desierto chests in stacks of 1–3.

Bedrock Editionthey can be found in 26.6% of Casa de aldea del desierto chests in stacks of 1–3.

Detector rails can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Bedrock Editionthey can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Diamond boots can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Diamond chestplates can be found in 15.8% of Tesoro del bastión en ruinas chests and 7.7% of Mansión del bosque chests in groups of 1.

Bedrock Editionthey can be found in 15.8% of Tesoro del bastión en ruinas chests and 7.6% of Mansión del bosque chests in groups of 1.

Diamond helmets can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Diamond hoes can be found in 21.8% of Mansión del bosque chests in groups of 1.

Bedrock Editionthey can be found in 21.5% of Mansión del bosque chests in groups of 1.

Diamond horse armor can be found in 2.5% of fortaleza altar chests, 7.6% of mazmorra chests, 5.7% of Aldea weaponsmith chests, 4.5% of Templo de jungla chests, 6.3% of Pirámide del desierto chests, 11.8% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Bedrock Editionthey can be found in 2.4% of fortaleza altar chests, 7.7% of mazmorra chests, 5.7% of Aldea weaponsmith chests, 4.4% of Templo de jungla chests, 6.3% of Pirámide del desierto chests, 11.8% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Diamond leggings can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 15.8% of Tesoro del bastión en ruinas chests in groups of 1.

Diamond shovels can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Diamond swords can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 18.7% of Tesoro del bastión en ruinas chests in groups of 1.

Diamonds can be found in 14.1% of Naufragio tesoro chests in stacks of 1, in 15.8% of Tesoro del bastión en ruinas chests in stacks of 2–6, in 8.9% of chest minecarts in Mineshafts and 59.9% of Tesoro enterrado chests in stacks of 1–2, in 21.2% of End city chests in stacks of 2–7, and in 7.3% of fortaleza altar chests, 9.9% of Aldea toolsmith chests, 16.2% of Aldea weaponsmith chests, 12.9% of Templo de jungla chests, 6.3% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–3.

Bedrock Editionthey can be found in 14.1% of Naufragio tesoro chests and 46.9% of Tesoro enterrado chests in stacks of 1, in 15.8% of Tesoro del bastión en ruinas chests in stacks of 2–6, in 8.9% of chest minecarts in Mineshafts in stacks of 1–2, in 21.2% of End city chests in stacks of 2–7, and in 7.2% of fortaleza altar chests, 9.9% of Aldea toolsmith chests, 16.2% of Aldea weaponsmith chests, 12.8% of Templo de jungla chests, 6.3% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–3.

Dinamita can be found in 7.5% of Naufragio suministros chests and 62.7% of Tesoro enterrado chests in stacks of 1–2.

Bedrock Editionthey can be found in 7.5% of Naufragio suministros chests and 34.3% of Tesoro enterrado chests in stacks of 1–2.

Disco de música (13) can be found in 21.5% of mazmorra chests and 21.8% of Mansión del bosque chests in groups of 1.

Bedrock Editionthey can be found in 21.8% of mazmorra chests and 21.5% of Mansión del bosque chests in groups of 1.

Disco de música (cat) can be found in 21.5% of mazmorra chests and 21.8% of Mansión del bosque chests in groups of 1.

Bedrock Editionthey can be found in 21.8% of mazmorra chests and 21.5% of Mansión del bosque chests in groups of 1.

Disco de música (otherside) can be found in 2.5% of fortaleza altar chests and 3.1% of mazmorra chests in groups of 1.

Disco de música (pigstep) can be found in 5.6% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 5.6% of Bastión en ruinas chests in groups of 1.

Eggs can be found in 23.3% of flechero de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 23.3% of flechero de la aldea chests in stacks of 1–3.

Enchanted bows[FN 12] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond bootses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond boots[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond chestplates[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond chestplates[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond helmets[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond helmets[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond leggingses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond leggings[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond pickaxes[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond pickaxes[FN 2][FN 5] can be found in 13.6% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 13.6% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in groups of 1.

Enchanted diamond pickaxes[FN 2] can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 6.7% of Bastión en ruinas chests in groups of 1.

Enchanted diamond shovels[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted diamond swords[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted diamond swords[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted fishing rods[FN 2] can be found in 21.7% of Grandes Ruinas oceánicas chests and 41.7% of Ruinas oceánicas pequeñas chests in groups of 1.

Bedrock Editionthey can be found in 21.7% of Grandes Ruinas oceánicas chests and 41.7% of Ruinas oceánicas pequeñas chests in groups of 1.

Enchanted golden apples can be found in 3.1% of mazmorra chests, 1.5% of ruined portal chests, 6.5% of Tesoro del bastión en ruinas chests, 1.4% of chest minecarts in Mineshafts, 2.6% of Pirámide del desierto chests, and 3.1% of Mansión del bosque chests, all in stacks of 1.

Bedrock Editionthey can be found in 3.1% of mazmorra chests, 1.5% of ruined portal chests, 6.5% of Tesoro del bastión en ruinas chests, 1.4% of chest minecarts in Mineshafts, 2.6% of Pirámide del desierto chests, and 3.1% of Mansión del bosque chests, all in stacks of 1.

Enchanted golden axes[FN 2] can be found in 20.5% of ruined portal chests, 9.8% of Bastión en ruinas chests, 11.2% of bastion remnant bridge chests, and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, all in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests, 9.8% of Bastión en ruinas chests, 11.2% of bastion remnant bridge chests, and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, all in groups of 1.

Enchanted golden boots with soul speed[FN 15] can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Enchanted golden boots[FN 2] can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Enchanted golden chestplates[FN 2] can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Enchanted golden helmets[FN 2] can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Enchanted golden hoes[FN 2] can be found in 20.5% of ruined portal chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests in groups of 1.

Enchanted golden leggings[FN 2] can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests and 11.2% of bastion remnant bridge chests in groups of 1.

Enchanted golden pickaxes[FN 2] can be found in 20.5% of ruined portal chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests in groups of 1.

Enchanted golden shovels[FN 2] can be found in 20.5% of ruined portal chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests in groups of 1.

Enchanted golden swords[FN 2] can be found in 20.5% of ruined portal chests in groups of 1.

Bedrock Editionthey can be found in 20.5% of ruined portal chests in groups of 1.

Enchanted iron bootses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted iron boots[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron chestplates[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron chestplates[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted iron helmets[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron helmets[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted iron leggingses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted iron leggings[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron pickaxes[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron shovels[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted iron swords[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted iron swords[FN 1] can be found in 13.3% of End city chests in groups of 1.

Bedrock Editionthey can be found in 13.3% of End city chests in groups of 1.

Enchanted leather bootses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted leather boots[FN 2] can be found in 20.8% of Naufragio suministros chests in groups of 1.

Bedrock Editionthey can be found in 20.8% of Naufragio suministros chests in groups of 1.

Enchanted leather caps[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted leather caps[FN 2] can be found in 20.8% of Naufragio suministros chests in groups of 1.

Bedrock Editionthey can be found in 20.8% of Naufragio suministros chests in groups of 1.

Enchanted leather pantses[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted leather pants[FN 2] can be found in 20.8% of Naufragio suministros chests in groups of 1.

Bedrock Editionthey can be found in 20.8% of Naufragio suministros chests in groups of 1.

Enchanted leather tunics[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Enchanted leather tunics[FN 2] can be found in 20.8% of Naufragio suministros chests in groups of 1.

Bedrock Editionthey can be found in 20.8% of Naufragio suministros chests in groups of 1.

Enchanted stone swords[FN 6] can be found in 10.9% of bonus barrel chests in groups of 1.

Ender pearls can be found in 23.0% of fortaleza altar chests in stacks of 1.

Bedrock Editionthey can be found in 22.6% of fortaleza altar chests in stacks of 1.

Esmeraldas can be found in 14.9% of Grandes Ruinas oceánicas chests, 24.2% of pescador de la aldea chests, 31.8% of herrero de la aldea chests, 12.3% of Pastor de la aldea chests, 10.2% of carnicero de la aldea chests, 16.4% of Ruinas oceánicas pequeñas chests, 12.3% of flechero de la aldea chests, 7.6% of Iglú chests, and 20.8% of albañil de la aldea chests, all in stacks of 1; in 25.4% of Aldea temple chests, 22.8% of plains Aldea house chests, 21.5% of savanna Aldea house chests, 18.6% of taiga Aldea house chests, 9.9% of snowy Aldea house chests, and 17.3% of Aldea tannery chests, all in stacks of 1–4; in 73.7% of Naufragio tesoro chests in stacks of 1–5; in 59.9% of Tesoro enterrado chests in stacks of 4–8; in 14.3% of Casa de aldea del desierto chests, 8.7% of Templo de jungla chests, and 18.0% of Pirámide del desierto chests, all in stacks of 1–3; and in 9.0% of End city chests in stacks of 2–6.

Bedrock Editionthey can be found in 14.9% of Grandes Ruinas oceánicas chests, 31.8% of herrero de la aldea chests, 12.3% of Pastor de la aldea chests, 10.2% of carnicero de la aldea chests, 16.4% of Ruinas oceánicas pequeñas chests, 12.3% of flechero de la aldea chests, 7.6% of Iglú chests, and 20.8% of albañil de la aldea chests, all in stacks of 1; in 7.2% of fortaleza altar chests, 14.3% of Casa de aldea del desierto chests, 8.7% of Templo de jungla chests, and 18.0% of Pirámide del desierto chests, all in stacks of 1–3; in 73.7% of Naufragio tesoro chests in stacks of 1–5; in 9.0% of End city chests in stacks of 2–6; and in 25.4% of Aldea temple chests, 22.8% of plains Aldea house chests, 21.5% of savanna Aldea house chests, 20.3% of taiga Aldea house chests, 9.9% of snowy Aldea house chests, and 17.3% of Aldea tannery chests, all in stacks of 1–4.

Espada de oros can be found in 9.8% of Bastión en ruinas chests, 11.2% of bastion remnant bridge chests, and 19.0% of nether fortress chests, all in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests, 11.2% of bastion remnant bridge chests, and 19.0% of nether fortress chests, all in groups of 1.

Ferns can be found in 18.6% of taiga Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 20.3% of taiga Aldea house chests in stacks of 1.

Fire charges can be found in 46.4% of ruined portal chests in stacks of 1.

Bedrock Editionthey can be found in 46.4% of ruined portal chests in stacks of 1.

Flint and steel can be found in 46.4% of ruined portal chests and 19.0% of nether fortress chests in groups of 1.

Bedrock Editionthey can be found in 46.4% of ruined portal chests and 19.0% of nether fortress chests in groups of 1.

Flint can be found in 55.8% of flechero de la aldea chests in stacks of 1–3, and in 46.4% of ruined portal chests in stacks of 1–4.

Bedrock Editionthey can be found in 55.8% of flechero de la aldea chests in stacks of 1–3, and in 46.4% of ruined portal chests in stacks of 1–4.

Flower pots can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Bedrock Editionthey can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Fragmentos de netheritas can be found in 24.4% of Tesoro del bastión en ruinas chests, 4.5% of Bastión en ruinas chests, and 9.1% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, all in stacks of 1.

Bedrock Editionthey can be found in 24.4% of Tesoro del bastión en ruinas chests, 4.5% of Bastión en ruinas chests, and 9.1% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, all in stacks of 1.

Frascos con experiencia can be found in 14.1% of Naufragio tesoro chests and 60.9% of Puesto de saqueadores chests in stacks of 1.

Bedrock Editionthey can be found in 14.1% of Naufragio tesoro chests, 60.9% of Puesto de saqueadores chests, and 11.8% of Tesoro enterrado chests, all in stacks of 1.

Gilded blackstone can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–5, in 44.1% of Bastión en ruinas chests in stacks of 1–5, in 33.7% of Tesoro del bastión en ruinas chests in stacks of 5–15, and in 11.2% of bastion remnant bridge chests in stacks of 8–12.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–5, in 44.1% of Bastión en ruinas chests in stacks of 1–5, in 33.7% of Tesoro del bastión en ruinas chests in stacks of 5–15, and in 11.2% of bastion remnant bridge chests in stacks of 8–12.

Glistering melon slices can be found in 7.3% of ruined portal chests in stacks of 4–12.

Bedrock Editionthey can be found in 7.3% of ruined portal chests in stacks of 4–12.

Glow berries can be found in 38.7% of chest minecarts in Mineshafts in stacks of 3–6.

Bedrock Editionthey can be found in 38.7% of chest minecarts in Mineshafts in stacks of 3–6.

Glowstones can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 3–6.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 3–6.

Gold nuggets can be found in 24.4% of Bastión en ruinas chests and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–8, in 36.6% of Naufragio tesoro chests in stacks of 1–10, in 20.5% of ruined portal chests in stacks of 4–24, in 47.9% of bastion remnant bridge chests in stacks of 2–6, and in 81.0% of Grandes Ruinas oceánicas chests, 12.1% of plains Aldea house chests, 55.3% of Iglú chests, and 11.3% of savanna Aldea house chests, all in stacks of 1–3.

Bedrock Editionthey can be found in 24.4% of Bastión en ruinas chests and 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–8, in 36.6% of Naufragio tesoro chests in stacks of 1–10, in 20.5% of ruined portal chests in stacks of 4–24, in 47.9% of bastion remnant bridge chests in stacks of 2–6, and in 81.0% of Grandes Ruinas oceánicas chests, 12.1% of plains Aldea house chests, 55.3% of Iglú chests, and 11.3% of savanna Aldea house chests, all in stacks of 1–3.

Golden boots can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Golden carrots can be found in 13.5% of Bastión en ruinas chests in stacks of 6–17, in 11.4% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 8–17, and in 7.3% of ruined portal chests in stacks of 4–12.

Bedrock Editionthey can be found in 13.5% of Bastión en ruinas chests in stacks of 6–17, in 11.4% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 8–17, and in 7.3% of ruined portal chests in stacks of 4–12.

Golden chestplates can be found in 9.8% of Bastión en ruinas chests and 19.0% of nether fortress chests in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests and 19.0% of nether fortress chests in groups of 1.

Golden helmets can be found in 4.3% of Grandes Ruinas oceánicas chests, 8.3% of Ruinas oceánicas pequeñas chests, and 9.8% of Bastión en ruinas chests, all in groups of 1.

Bedrock Editionthey can be found in 4.3% of Grandes Ruinas oceánicas chests, 8.3% of Ruinas oceánicas pequeñas chests, and 9.8% of Bastión en ruinas chests, all in groups of 1.

Golden horse armor can be found in 2.5% of fortaleza altar chests, 14.7% of mazmorra chests, 7.3% of ruined portal chests, 5.7% of Aldea weaponsmith chests, 4.5% of Templo de jungla chests, 12.3% of Pirámide del desierto chests, 29.1% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Bedrock Editionthey can be found in 2.4% of fortaleza altar chests, 14.9% of mazmorra chests, 7.3% of ruined portal chests, 5.7% of Aldea weaponsmith chests, 4.4% of Templo de jungla chests, 12.3% of Pirámide del desierto chests, 29.1% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Golden leggings can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 9.8% of Bastión en ruinas chests in groups of 1.

Grass can be found in 45.9% of savanna Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 45.9% of savanna Aldea house chests in stacks of 1.

Gray wool can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Green dye can be found in 14.3% of Casa de aldea del desierto chests in stacks of 1.

Bedrock Editionthey can be found in 14.3% of Casa de aldea del desierto chests in stacks of 1.

Heart of the sea can be found in all Tesoro enterrado chests in stacks of 1.

Bedrock Editionthey can be found in all Tesoro enterrado chests in stacks of 1.

Hongos carmesí can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Hornos can be found in 9.9% of snowy Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 9.9% of snowy Aldea house chests in stacks of 1.

Huesos can be found in 61.9% of Templo de jungla chests and 28.7% of Pirámide del desierto chests in stacks of 4–6, and in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8. Java Edition 1.19[próximamente]they can be found in 68.5% of Ciudad antigua chests in stacks of 1–15.

Bedrock Editionthey can be found in 61.8% of Templo de jungla chests and 28.7% of Pirámide del desierto chests in stacks of 4–6, and in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8.

Iron boots can be found in 12.0% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Iron chestplates can be found in 12.0% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Iron helmets can be found in 12.0% of fortaleza altar chests, 31.8% of herrero de la aldea chests, and 25.6% of Aldea weaponsmith chests, all in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests, 31.8% of herrero de la aldea chests, and 25.6% of Aldea weaponsmith chests, all in groups of 1.

Iron horse armor can be found in 2.5% of fortaleza altar chests, 21.5% of mazmorra chests, 5.7% of Aldea weaponsmith chests, 4.5% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, 19.0% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Bedrock Editionthey can be found in 2.4% of fortaleza altar chests, 21.8% of mazmorra chests, 5.7% of Aldea weaponsmith chests, 4.4% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, 19.0% of nether fortress chests, and 4.6% of End city chests, all in groups of 1.

Iron ingots can be found in 18.5% of mazmorra chests, 18.5% of Mansión del bosque chests, and 99.4% of Tesoro enterrado chests, all in stacks of 1–4; in 23.0% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 97.4% of Naufragio tesoro chests, 34.3% of fortaleza storeroom chests, 27.3% of chest minecarts in Mineshafts, 45.1% of Aldea weaponsmith chests, 37.4% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–5; in 38.4% of End city chests in stacks of 4–8; in 54.2% of herrero de la aldea chests and 30.5% of Puesto de saqueadores chests in stacks of 1–3; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

Bedrock Editionthey can be found in 18.5% of mazmorra chests and 18.5% of Mansión del bosque chests in stacks of 1–4; in 22.6% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 97.4% of Naufragio tesoro chests, 28.5% of fortaleza storeroom chests, 27.3% of chest minecarts in Mineshafts, 45.1% of Aldea weaponsmith chests, 37.3% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 19.0% of nether fortress chests, all in stacks of 1–5; in 38.4% of End city chests in stacks of 4–8; in 57.2% of Tesoro enterrado chests in stacks of 3–5; in 54.2% of herrero de la aldea chests and 30.5% of Puesto de saqueadores chests in stacks of 1–3; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

Iron leggings can be found in 12.0% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Iron nuggets can be found in 24.4% of Bastión en ruinas chests in stacks of 2–8, in 94.5% of Naufragio tesoro chests in stacks of 1–10, in 46.4% of ruined portal chests in stacks of 9–18, in 47.9% of bastion remnant bridge chests in stacks of 2–6, and in 9.7% of taiga Aldea house chests in stacks of 1–5.

Bedrock Editionthey can be found in 24.4% of Bastión en ruinas chests in stacks of 2–8, in 94.5% of Naufragio tesoro chests in stacks of 1–10, in 46.4% of ruined portal chests in stacks of 9–18, in 47.9% of bastion remnant bridge chests in stacks of 2–6, and in 10.7% of taiga Aldea house chests in stacks of 1–5.

Iron pickaxes can be found in 12.0% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 4.0% of fortaleza storeroom chests, 7.0% of chest minecarts in Mineshafts, and 25.6% of Aldea weaponsmith chests, all in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests, 41.2% of Aldea toolsmith chests, 3.2% of fortaleza storeroom chests, 7.0% of chest minecarts in Mineshafts, and 25.6% of Aldea weaponsmith chests, all in groups of 1.

Iron shovels can be found in 41.2% of Aldea toolsmith chests in groups of 1.

Bedrock Editionthey can be found in 41.2% of Aldea toolsmith chests in groups of 1.

Iron swords can be found in 12.0% of fortaleza altar chests, 25.6% of Aldea weaponsmith chests, and 75.0% of Tesoro enterrado chests, all in groups of 1.

Bedrock Editionthey can be found in 11.8% of fortaleza altar chests and 25.6% of Aldea weaponsmith chests in groups of 1.

Lapis lazuli can be found in 25.4% of Aldea temple chests in stacks of 1–4, in 61.5% of Naufragio tesoro chests in stacks of 1–10, and in 14.5% of chest minecarts in Mineshafts in stacks of 4–9.

Bedrock Editionthey can be found in 25.4% of Aldea temple chests in stacks of 1–4, in 61.5% of Naufragio tesoro chests in stacks of 1–10, and in 14.5% of chest minecarts in Mineshafts in stacks of 4–9.

Large ferns can be found in 18.6% of taiga Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 20.3% of taiga Aldea house chests in stacks of 1.

Leads can be found in 28.3% of Mansión del bosque chests in stacks of 1.

Bedrock Editionthey can be found in 27.9% of Mansión del bosque chests in stacks of 1, and in 34.3% of Tesoro enterrado chests in stacks of 1–3.

Leather boots can be found in 31.8% of Aldea tannery chests in groups of 1.

Bedrock Editionthey can be found in 31.8% of Aldea tannery chests in groups of 1.

Leather can be found in 47.9% of bastion remnant bridge chests, 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, and 17.3% of Aldea tannery chests, all in stacks of 1–3.

Bedrock Editionthey can be found in 47.9% of bastion remnant bridge chests, 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, and 17.3% of Aldea tannery chests, all in stacks of 1–3.

Leather caps can be found in 31.8% of Aldea tannery chests in groups of 1.

Bedrock Editionthey can be found in 31.8% of Aldea tannery chests in groups of 1.

Leather pants can be found in 31.8% of Aldea tannery chests in groups of 1.

Bedrock Editionthey can be found in 31.8% of Aldea tannery chests in groups of 1.

Leather tunics can be found in 4.3% of Grandes Ruinas oceánicas chests, 8.3% of Ruinas oceánicas pequeñas chests, 75.0% of Tesoro enterrado chests, and 31.8% of Aldea tannery chests, all in groups of 1.

Bedrock Editionthey can be found in 4.3% of Grandes Ruinas oceánicas chests, 8.3% of Ruinas oceánicas pequeñas chests, and 31.8% of Aldea tannery chests, all in groups of 1.

Libro encantados[FN 10] can be found in 2.5% of fortaleza altar chests, 4.0% of fortaleza storeroom chests, 4.5% of Templo de jungla chests, and 67.8% of fortaleza library chests, all in groups of 1.

Bedrock Editionthey can be found in 2.9% of fortaleza altar chests, 3.8% of fortaleza storeroom chests, 5.3% of Templo de jungla chests, and 72.9% of fortaleza library chests, all in groups of 1.

Libro encantados[FN 2] can be found in 21.7% of Grandes Ruinas oceánicas chests, 14.7% of mazmorra chests, 14.1% of chest minecarts in Mineshafts, 23.5% of Pirámide del desierto chests, 11.0% of Puesto de saqueadores chests, and 14.9% of Mansión del bosque chests, all in groups of 1. Java Edition 1.19[próximamente]they can be found in 35.7% of Ciudad antigua chests in groups of 1.

Bedrock Editionthey can be found in 21.7% of Grandes Ruinas oceánicas chests, 14.9% of mazmorra chests, 14.1% of chest minecarts in Mineshafts, 23.5% of Pirámide del desierto chests, 11.0% of Puesto de saqueadores chests, and 17.5% of Mansión del bosque chests, all in groups of 1.

Libro encantados[FN 15] can be found in 11.2% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 11.2% of Bastión en ruinas chests in groups of 1.

Libros can be found in 14.3% of Casa de aldea del desierto chests and 12.1% of plains Aldea house chests in stacks of 1, in 89.2% of fortaleza library chests in stacks of 1–3, and in 34.5% of Naufragio mapa chests in stacks of 1–5. Java Edition 1.19[próximamente]they can be found in 35.7% of Ciudad antigua chests in stacks of 3–10.

Bedrock Editionthey can be found in 14.3% of Casa de aldea del desierto chests and 12.1% of plains Aldea house chests in stacks of 1, in 88.3% of fortaleza library chests in stacks of 1–3, and in 34.5% of Naufragio mapa chests in stacks of 1–5.

Light gray wool can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 23.3% of Pastor de la aldea chests in stacks of 1–3.

Light weighted pressure plates can be found in 7.3% of ruined portal chests in stacks of 1.

Bedrock Editionthey can be found in 7.3% of ruined portal chests in stacks of 1.

Lingote de oros can be found in 7.3% of ruined portal chests in stacks of 2–8; in 26.5% of Naufragio tesoro chests in stacks of 1–5; in 51.0% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 52.3% of End city chests, all in stacks of 2–7; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 12.0% of fortaleza altar chests, 9.9% of Aldea toolsmith chests, 18.6% of fortaleza storeroom chests, 14.5% of chest minecarts in Mineshafts, 25.6% of Aldea weaponsmith chests, and 49.0% of nether fortress chests, all in stacks of 1–3; in 25.4% of Aldea temple chests, 9.6% of mazmorra chests, 9.6% of Mansión del bosque chests, and 88.0% of Tesoro enterrado chests, all in stacks of 1–4; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

Bedrock Editionthey can be found in 7.3% of ruined portal chests in stacks of 2–8; in 26.5% of Naufragio tesoro chests and 34.3% of Tesoro enterrado chests in stacks of 1–5; in 50.9% of Templo de jungla chests, 18.0% of Pirámide del desierto chests, and 52.3% of End city chests, all in stacks of 2–7; in 11.2% of bastion remnant bridge chests in stacks of 4–9; in 11.8% of fortaleza altar chests, 9.9% of Aldea toolsmith chests, 15.2% of fortaleza storeroom chests, 14.5% of chest minecarts in Mineshafts, 25.6% of Aldea weaponsmith chests, and 49.0% of nether fortress chests, all in stacks of 1–3; in 25.4% of Aldea temple chests, 9.6% of mazmorra chests, and 9.6% of Mansión del bosque chests, all in stacks of 1–4; in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–9; and in 19.0% of Bastión en ruinas chests in stacks of 1–6.

Lodestones can be found in all bastion remnant bridge chests in stacks of 1.

Bedrock Editionthey can be found in all bastion remnant bridge chests in stacks of 1.

Magma cream can be found in 44.1% of Bastión en ruinas chests in stacks of 2–6, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–8.

Bedrock Editionthey can be found in 44.1% of Bastión en ruinas chests in stacks of 2–6, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 3–8.

Manzana doradas can be found in 2.5% of fortaleza altar chests, 4.3% of Grandes Ruinas oceánicas chests, 21.5% of mazmorra chests, 20.5% of ruined portal chests, all Iglú chests, 10.1% of Bastión en ruinas chests, 11.4% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, 28.2% of chest minecarts in Mineshafts, 23.5% of Pirámide del desierto chests, and 21.8% of Mansión del bosque chests, all in stacks of 1.

Bedrock Editionthey can be found in 2.4% of fortaleza altar chests, 4.3% of Grandes Ruinas oceánicas chests, 21.8% of mazmorra chests, 20.5% of ruined portal chests, all Iglú chests, 10.1% of Bastión en ruinas chests, 11.4% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, 28.2% of chest minecarts in Mineshafts, 23.5% of Pirámide del desierto chests, and 21.5% of Mansión del bosque chests, all in stacks of 1.

Mapa vacíos can be found in 7.7% of Naufragio mapa chests and 10.9% of fortaleza library chests in stacks of 1, and in 46.2% of cartógrafo de la aldea chests in stacks of 1–3.

Melon seeds can be found in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4.

Bedrock Editionthey can be found in 33.3% of bonus chests in stacks of 1–2, and in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4.

Moss blocks can be found in 42.1% of Naufragio suministros chests in stacks of 1–4.

Bedrock Editionthey can be found in 42.1% of Naufragio suministros chests in stacks of 1–4.

Name tags can be found in 27.9% of mazmorra chests, 42.3% of chest minecarts in Mineshafts, and 28.3% of Mansión del bosque chests, all in stacks of 1. Java Edition 1.19[próximamente]they can be found in 8.3% of Ciudad antigua chests in stacks of 1.

Bedrock Editionthey can be found in 28.3% of mazmorra chests, 42.3% of chest minecarts in Mineshafts, 27.9% of Mansión del bosque chests, and 34.3% of Tesoro enterrado chests, all in stacks of 1.

Nether quartz can be found in 33.7% of Tesoro del bastión en ruinas chests in stacks of 8–23.

Bedrock Editionthey can be found in 33.7% of Tesoro del bastión en ruinas chests in stacks of 8–23.

Nether wart can be found in 19.0% of nether fortress chests in stacks of 3–7.

Bedrock Editionthey can be found in 19.0% of nether fortress chests in stacks of 3–7.

Netherite ingots can be found in 42.1% of Tesoro del bastión en ruinas chests in stacks of 1.

Bedrock Editionthey can be found in 42.1% of Tesoro del bastión en ruinas chests in stacks of 1.

Nothing[FN 13] can be found in 66.7% of bonus barrel chests, 7.0% of chest minecarts in Mineshafts, and 18.0% of Pirámide del desierto chests, all in stacks of 1.

Bedrock Editionthey can be found in 7.0% of chest minecarts in Mineshafts and 18.0% of Pirámide del desierto chests in stacks of 1.

Oak planks can be found in 70.5% of bonus chests in stacks of 1–12.

Bedrock Editionthey can be found in all bonus chests in stacks of 1–12.

Obsidiana can be found in 8.0% of nether fortress chests in stacks of 2–4, in 46.4% of ruined portal chests in stacks of 1–2, in 24.4% of Bastión en ruinas chests in stacks of 4–6, and in 25.6% of Aldea weaponsmith chests in stacks of 3–7.

Bedrock Editionthey can be found in 8.0% of nether fortress chests in stacks of 2–4, in 46.4% of ruined portal chests in stacks of 1–2, in 24.4% of Bastión en ruinas chests in stacks of 4–6, and in 25.6% of Aldea weaponsmith chests in stacks of 3–7.

Pan can be found in 34.1% of mazmorra chests and 34.1% of Mansión del bosque chests in stacks of 1; in 33.2% of fortaleza altar chests, 81.2% of Aldea toolsmith chests, 47.5% of fortaleza storeroom chests, 38.7% of chest minecarts in Mineshafts, and 59.8% of Aldea weaponsmith chests, all in stacks of 1–3; in 61.5% of bonus chests in stacks of 1–2; and in 89.3% of Aldea temple chests, 80.6% of herrero de la aldea chests, 80.6% of Casa de aldea del desierto chests, 61.2% of cartógrafo de la aldea chests, 74.2% of plains Aldea house chests, 71.7% of savanna Aldea house chests, 62.2% of albañil de la aldea chests, 65.6% of taiga Aldea house chests, 66.3% of snowy Aldea house chests, and 62.8% of Aldea tannery chests, all in stacks of 1–4.

Bedrock Editionthey can be found in 34.1% of mazmorra chests and 34.1% of Mansión del bosque chests in stacks of 1; in 32.5% of fortaleza altar chests, 81.2% of Aldea toolsmith chests, 40.0% of fortaleza storeroom chests, 38.7% of chest minecarts in Mineshafts, and 59.8% of Aldea weaponsmith chests, all in stacks of 1–3; in all bonus chests in stacks of 1–2; and in 89.3% of Aldea temple chests, 80.6% of herrero de la aldea chests, 80.6% of Casa de aldea del desierto chests, 61.2% of cartógrafo de la aldea chests, 74.2% of plains Aldea house chests, 71.7% of savanna Aldea house chests, 62.2% of albañil de la aldea chests, 69.3% of taiga Aldea house chests, 66.3% of snowy Aldea house chests, and 62.8% of Aldea tannery chests, all in stacks of 1–4.

Papel can be found in 46.4% of Naufragio suministros chests in stacks of 1–12, in 89.4% of Naufragio mapa chests in stacks of 1–10, in 89.2% of fortaleza library chests in stacks of 2–7, and in 61.2% of cartógrafo de la aldea chests in stacks of 1–5.

Bedrock Editionthey can be found in 46.4% of Naufragio suministros chests in stacks of 1–12, in 89.4% of Naufragio mapa chests in stacks of 1–10, in 88.3% of fortaleza library chests in stacks of 2–7, and in 61.2% of cartógrafo de la aldea chests in stacks of 1–5.

Patatas can be found in 42.1% of Naufragio suministros chests in stacks of 2–6; in 74.2% of plains Aldea house chests, 65.6% of taiga Aldea house chests, and 66.3% of snowy Aldea house chests, all in stacks of 1–7; and in 57.5% of Puesto de saqueadores chests in stacks of 2–5.

Bedrock Editionthey can be found in 42.1% of Naufragio suministros chests in stacks of 2–6; in 74.2% of plains Aldea house chests, 69.3% of taiga Aldea house chests, and 66.3% of snowy Aldea house chests, all in stacks of 1–7; in 50.0% of bonus chests in stacks of 1–2; and in 57.5% of Puesto de saqueadores chests in stacks of 2–5.

Patatas venenosas can be found in 42.1% of Naufragio suministros chests in stacks of 2–6.

Bedrock Editionthey can be found in 42.1% of Naufragio suministros chests in stacks of 2–6.

Plumas can be found in 12.1% of plains Aldea house chests in stacks of 1, in 55.8% of flechero de la aldea chests in stacks of 1–3, and in 60.0% of Naufragio mapa chests in stacks of 1–5.

Bedrock Editionthey can be found in 12.1% of plains Aldea house chests in stacks of 1, in 55.8% of flechero de la aldea chests in stacks of 1–3, and in 60.0% of Naufragio mapa chests in stacks of 1–5.

Poción de respiración acuática can be found in all Tesoro enterrado chests in stacks of 1.

Bedrock Editionthey can be found in 46.9% of Tesoro enterrado chests in stacks of 1.

Polvo de redstone can be found in 44.8% of Aldea temple chests, 26.6% of mazmorra chests, and 26.6% of Mansión del bosque chests, all in stacks of 1–4; and in 12.0% of fortaleza altar chests, 18.6% of fortaleza storeroom chests, and 14.5% of chest minecarts in Mineshafts, all in stacks of 4–9.

Bedrock Editionthey can be found in 44.8% of Aldea temple chests, 26.6% of mazmorra chests, and 26.6% of Mansión del bosque chests, all in stacks of 1–4; and in 11.8% of fortaleza altar chests, 15.2% of fortaleza storeroom chests, and 14.5% of chest minecarts in Mineshafts, all in stacks of 4–9.

Prismarine crystals can be found in 59.9% of Tesoro enterrado chests in stacks of 1–5.

Bedrock Editionthey can be found in 18.9% of Tesoro enterrado chests in stacks of 1–5.

Pumpkin pie can be found in 9.7% of taiga Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 10.7% of taiga Aldea house chests in stacks of 1.

Pumpkin seeds can be found in 40.6% of taiga Aldea house chests in stacks of 1–5, and in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4.

Bedrock Editionthey can be found in 18.5% of mazmorra chests, 27.3% of chest minecarts in Mineshafts, and 18.5% of Mansión del bosque chests, all in stacks of 2–4; in 43.7% of taiga Aldea house chests in stacks of 1–5; and in 33.3% of bonus chests in stacks of 1–2.

Pumpkins can be found in 14.4% of Naufragio suministros chests in stacks of 1–3.

Bedrock Editionthey can be found in 14.4% of Naufragio suministros chests in stacks of 1–3.

Pólvora can be found in 20.8% of Naufragio suministros chests in stacks of 1–5, and in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8.

Bedrock Editionthey can be found in 20.8% of Naufragio suministros chests in stacks of 1–5, and in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8.

Random lingering potions[FN 4] can be found in 10.9% of bonus barrel chests in stacks of 1.

Random potions[FN 4] can be found in 10.9% of bonus barrel chests in stacks of 1.

Random splash potions[FN 4] can be found in 10.9% of bonus barrel chests in stacks of 1.

Random tipped arrows[FN 4] can be found in 10.9% of bonus barrel chests in stacks of 1–20.

Raw beef can be found in 48.6% of carnicero de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 48.6% of carnicero de la aldea chests in stacks of 1–3.

Raw cod can be found in 43.0% of pescador de la aldea chests in stacks of 1–3.

Raw mutton can be found in 48.6% of carnicero de la aldea chests in stacks of 1–3.

Bedrock Editionthey can be found in 48.6% of carnicero de la aldea chests in stacks of 1–3.

Raw salmon can be found in 24.2% of pescador de la aldea chests in stacks of 1–3, and in 61.5% of bonus chests in stacks of 1–2.

Bedrock Editionthey can be found in all bonus chests in stacks of 1–2.

Raíl can be found in 78.4% of chest minecarts in Mineshafts in stacks of 4–8.

Bedrock Editionthey can be found in 78.4% of chest minecarts in Mineshafts in stacks of 4–8.

Raíl propulsor can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Bedrock Editionthey can be found in 27.1% of chest minecarts in Mineshafts in stacks of 1–4.

Red keys can be found in 20.8% of bonus barrel chests in stacks of 1.

Relojs can be found in 7.7% of Naufragio mapa chests and 7.3% of ruined portal chests in stacks of 1.

Bedrock Editionthey can be found in 7.7% of Naufragio mapa chests and 7.3% of ruined portal chests in stacks of 1.

Rotten flesh can be found in 59.6% of Ruinas oceánicas pequeñas chests and 55.3% of Iglú chests in stacks of 1; in 89.3% of Aldea temple chests in stacks of 1–4; in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8; in 32.2% of Naufragio suministros chests in stacks of 5–24; and in 53.4% of Templo de jungla chests and 28.7% of Pirámide del desierto chests in stacks of 3–7.

Bedrock Editionthey can be found in 59.6% of Ruinas oceánicas pequeñas chests and 55.3% of Iglú chests in stacks of 1; in 89.3% of Aldea temple chests in stacks of 1–4; in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8; in 32.2% of Naufragio suministros chests in stacks of 5–24; and in 53.3% of Templo de jungla chests and 28.7% of Pirámide del desierto chests in stacks of 3–7.

Saddles can be found in 2.5% of fortaleza altar chests, 27.9% of mazmorra chests, 13.6% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, 11.3% of savanna Aldea house chests, 16.2% of Aldea weaponsmith chests, 12.9% of Templo de jungla chests, 23.5% of Pirámide del desierto chests, 35.3% of nether fortress chests, 13.3% of End city chests, and 17.3% of Aldea tannery chests, all in groups of 1.

Bedrock Editionthey can be found in 2.4% of fortaleza altar chests, 28.3% of mazmorra chests, 13.6% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests, 11.3% of savanna Aldea house chests, 16.2% of Aldea weaponsmith chests, 12.8% of Templo de jungla chests, 23.5% of Pirámide del desierto chests, 35.3% of nether fortress chests, 13.3% of End city chests, and 17.3% of Aldea tannery chests, all in groups of 1.

Sand can be found in 59.0% of Pirámide del desierto chests in stacks of 1–8.

Bedrock Editionthey can be found in 59.0% of Pirámide del desierto chests in stacks of 1–8.

Shears can be found in 12.3% of Pastor de la aldea chests in groups of 1.

Bedrock Editionthey can be found in 12.3% of Pastor de la aldea chests in groups of 1.

Smooth stone can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Bedrock Editionthey can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Snout banner patterns can be found in 10.1% of Bastión en ruinas chests in groups of 1.

Bedrock Editionthey can be found in 10.1% of Bastión en ruinas chests in groups of 1.

Snow blocks can be found in 34.5% of snowy Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 34.5% of snowy Aldea house chests in stacks of 1.

Snowballs can be found in 66.3% of snowy Aldea house chests in stacks of 1–7. Java Edition 1.19[próximamente]they can be found in 35.7% of Ciudad antigua chests in stacks of 2–6.

Bedrock Editionthey can be found in 66.3% of snowy Aldea house chests in stacks of 1–7.

Soul sands can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 2–7.

Spectral arrows can be found in 11.2% of bastion remnant bridge chests in stacks of 10–28, in 11.2% of Bastión en ruinas chests in stacks of 10–22, and in 33.7% of Tesoro del bastión en ruinas chests in stacks of 12–25.

Spider eyes can be found in 28.7% of Pirámide del desierto chests in stacks of 1–3.

Bedrock Editionthey can be found in 28.7% of Pirámide del desierto chests in stacks of 1–3.

Spruce signs can be found in 9.7% of taiga Aldea house chests in stacks of 1.

Sticks can be found in 90.0% of Aldea toolsmith chests and 55.8% of flechero de la aldea chests in stacks of 1–3, in 26.3% of cartógrafo de la aldea chests in stacks of 1–2, and in 70.5% of bonus chests in stacks of 1–12.

Bedrock Editionthey can be found in 90.0% of Aldea toolsmith chests and 55.8% of flechero de la aldea chests in stacks of 1–3, and in all bonus chests in stacks of 1–12.

Stone axes can be found in 30.2% of Ruinas oceánicas pequeñas chests, 14.7% of Iglú chests, and 25.0% of bonus chests, all in groups of 1.

Bedrock Editionthey can be found in 30.2% of Ruinas oceánicas pequeñas chests, 14.7% of Iglú chests, and 25.0% of bonus chests, all in groups of 1.

Stone bricks can be found in 37.7% of albañil de la aldea chests in stacks of 1.

Bedrock Editionthey can be found in 37.7% of albañil de la aldea chests in stacks of 1.

Stone can be found in 37.7% of albañil de la aldea chests in stacks of 1.

Bedrock Editionthey can be found in 37.7% of albañil de la aldea chests in stacks of 1.

Stone pickaxes can be found in 25.0% of bonus chests in groups of 1.

Bedrock Editionthey can be found in 25.0% of bonus chests in groups of 1.

String can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 3–8; in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8; in 24.4% of Bastión en ruinas chests in stacks of 4–6; and in 47.9% of bastion remnant bridge chests and 39.1% of Puesto de saqueadores chests in stacks of 1–6.

Bedrock Editionthey can be found in 22.8% of Bastión en ruinasestablo de hoglins del bastión en ruinas chests in stacks of 3–8; in 57.8% of mazmorra chests, 59.0% of Pirámide del desierto chests, and 57.8% of Mansión del bosque chests, all in stacks of 1–8; in 24.4% of Bastión en ruinas chests in stacks of 4–6; and in 47.9% of bastion remnant bridge chests and 39.1% of Puesto de saqueadores chests in stacks of 1–6.

Suspicious stew[FN 17] can be found in 54.3% of Naufragio suministros chests in stacks of 1.

Bedrock Editionthey can be found in 54.3% of Naufragio suministros chests in stacks of 1.

Sweet berries can be found in 40.6% of taiga Aldea house chests in stacks of 1–7.

Tall grass can be found in 45.9% of savanna Aldea house chests in stacks of 1.

Bedrock Editionthey can be found in 45.9% of savanna Aldea house chests in stacks of 1.

Torches can be found in 65.7% of chest minecarts in Mineshafts in stacks of 1–16, and in 11.3% of savanna Aldea house chests in stacks of 1–2.

Bedrock Editionthey can be found in 65.7% of chest minecarts in Mineshafts in stacks of 1–16, and in 11.3% of savanna Aldea house chests in stacks of 1–2.

Trigo can be found in 34.1% of mazmorra chests and 34.1% of Mansión del bosque chests in stacks of 1–4; in 80.6% of Casa de aldea del desierto chests in stacks of 1–7; in 81.0% of Grandes Ruinas oceánicas chests, 84.2% of Ruinas oceánicas pequeñas chests, and 55.3% of Iglú chests, all in stacks of 2–3; in 48.6% of carnicero de la aldea chests in stacks of 1–3; in 72.5% of Puesto de saqueadores chests in stacks of 3–5; in 42.1% of Naufragio suministros chests in stacks of 8–21; and in 55.8% of Pastor de la aldea chests in stacks of 1–6.

Bedrock Editionthey can be found in 34.1% of mazmorra chests and 34.1% of Mansión del bosque chests in stacks of 1–4; in 80.6% of Casa de aldea del desierto chests in stacks of 1–7; in 81.0% of Grandes Ruinas oceánicas chests, 84.2% of Ruinas oceánicas pequeñas chests, and 55.3% of Iglú chests, all in stacks of 2–3; in 48.6% of carnicero de la aldea chests in stacks of 1–3; in 72.5% of Puesto de saqueadores chests in stacks of 3–5; in 42.1% of Naufragio suministros chests in stacks of 8–21; and in 55.8% of Pastor de la aldea chests in stacks of 1–6.

Tripwire hooks can be found in 30.5% of Puesto de saqueadores chests in stacks of 1–3.

Bedrock Editionthey can be found in 30.5% of Puesto de saqueadores chests in stacks of 1–3.

Tronco de abeduls can be found in 28.0% of bonus chests in stacks of 1–3.

Bedrock Editionthey can be found in 25.0% of bonus chests in stacks of 1–3.

Tronco de abetos can be found in 28.0% of bonus chests in stacks of 1–3, and in 65.6% of taiga Aldea house chests in stacks of 1–5.

Bedrock Editionthey can be found in 25.0% of bonus chests in stacks of 1–3, and in 69.3% of taiga Aldea house chests in stacks of 1–5.

Tronco de acacias can be found in 28.0% of bonus chests in stacks of 1–3.

Bedrock Editionthey can be found in 50.0% of bonus chests in stacks of 1–3.

Tronco de junglas can be found in 28.0% of bonus chests in stacks of 1–3.

Bedrock Editionthey can be found in 25.0% of bonus chests in stacks of 1–3.

Tronco de roble oscuros can be found in 28.0% of bonus chests in stacks of 1–3, and in all Puesto de saqueadores chests in stacks of 2–3.

Bedrock Editionthey can be found in 50.0% of bonus chests in stacks of 1–3, and in all Puesto de saqueadores chests in stacks of 2–3.

Tronco de robles can be found in 28.0% of bonus chests in stacks of 1–3.

Bedrock Editionthey can be found in 25.0% of bonus chests in stacks of 1–3.

Water buckets can be found in 24.2% of pescador de la aldea chests in groups of 1–3.

Wheat seeds can be found in 57.5% of pescador de la aldea chests in stacks of 1–3, and in 71.7% of savanna Aldea house chests in stacks of 1–5.

Bedrock Editionthey can be found in 71.7% of savanna Aldea house chests in stacks of 1–5.

White wool can be found in 55.8% of Pastor de la aldea chests in stacks of 1–8.

Bedrock Editionthey can be found in 55.8% of Pastor de la aldea chests in stacks of 1–8.

Wooden axes can be found in 75.0% of bonus chests in groups of 1.

Bedrock Editionthey can be found in 75.0% of bonus chests in groups of 1.

Wooden pickaxes can be found in 75.0% of bonus chests in groups of 1.

Bedrock Editionthey can be found in 75.0% of bonus chests in groups of 1.

Yellow dye can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Bedrock Editionthey can be found in 20.8% of albañil de la aldea chests in stacks of 1.

Yellow keys can be found in 8.3% of bonus barrel chests in stacks of 1.

Bedrock EditionPoción de regeneración can be found in 34.3% of Tesoro enterrado chests in stacks of 1.

Bedrock Editionbrote de abeduls can be found in 14.3% of bonus chests in stacks of 4.

Bedrock Editionbrote de junglas can be found in 28.6% of bonus chests in stacks of 4.

Bedrock Editionbrote de roble oscuros can be found in 14.3% of bonus chests in stacks of 4.

Bedrock Editionbrown mushrooms can be found in all bonus chests in stacks of 1–2.

Bedrock Editioncake can be found in 4.1% of Tesoro enterrado chests in stacks of 1.

Bedrock Editionchainmail boots can be found in 57.2% of Tesoro enterrado chests in groups of 1.

Bedrock Editionchainmail helmets can be found in 57.2% of Tesoro enterrado chests in groups of 1.

Bedrock Editionchainmail leggings can be found in 57.2% of Tesoro enterrado chests in groups of 1.

Bedrock Editioncocoa beans can be found in 40.0% of bonus chests in stacks of 1–2.

Bedrock Editiondisco de música (mellohi) can be found in 18.9% of Tesoro enterrado chests in groups of 1.

Bedrock Editiondisco de música (wait) can be found in 18.9% of Tesoro enterrado chests in groups of 1.

Bedrock Editionink sacs can be found in 40.0% of fortaleza storeroom chests in stacks of 1–3.

Bedrock Editionlibro y pluma can be found in 18.9% of Tesoro enterrado chests in stacks of 1–2.

Bedrock Editionmaps[FN 14] can be found in 7.7% of Naufragio mapa chests and 10.5% of fortaleza library chests in stacks of 1, and in 46.2% of cartógrafo de la aldea chests in stacks of 1–3.

Bedrock Editionoak signs can be found in 10.7% of taiga Aldea house chests in stacks of 1.

Java Edition 1.19[próximamente]Poción de curación can be found in 26.4% of Ciudad antigua chests in stacks of 1–3.

Java Edition 1.19[próximamente]candles can be found in 35.7% of Ciudad antigua chests in stacks of 1–4.

Java Edition 1.19[próximamente]libro encantados[FN 18] can be found in 8.3% of Ciudad antigua chests in groups of 1.

Java Edition 1.19[próximamente]sculk catalysts can be found in 8.3% of Ciudad antigua chests in stacks of 1–2.

Java Edition 1.19[próximamente]sculk sensors can be found in 19.6% of Ciudad antigua chests in stacks of 1–3.

Java Edition 1.19[próximamente]sculks can be found in 35.7% of Ciudad antigua chests in stacks of 4–10.


Notes[]

[Ver | Editar | Purgar]La documentación arriba es transcluída desde Módulo:LootChest/doc.


Error en la cita: Existen etiquetas <ref> para un grupo llamado «FN», pero no se encontró la etiqueta <references group="FN"/> correspondiente.

local p = {

	calc_average_amount_this_item_per_pool = function(
			min_stacksize, max_stacksize,
			min_pool_rolls, max_pool_rolls,
			item_weight, pool_total_item_weight )

		local avg_stacksize = ( min_stacksize + max_stacksize ) / 2
		local avg_rolls = ( min_pool_rolls + max_pool_rolls ) / 2

		return avg_stacksize * avg_rolls * item_weight / pool_total_item_weight

	end,

	calc_chance_any_of_this_item_per_pool = function(
			min_pool_rolls, max_pool_rolls,
			item_weight, pool_total_item_weight )

		local inverse_result = 0 -- 1 - inverse_result = return value
		local inverse_item_weight = pool_total_item_weight - item_weight

		-- will be used for the division in the for loop to avoid the slightly
		-- less performant math.pow(). The divisor already includes the probability
		-- of picking any specific number of rolls.
		local cur_dividend = inverse_item_weight
		local cur_divisor = pool_total_item_weight * (max_pool_rolls - min_pool_rolls + 1)

		for i = 1, max_pool_rolls do
			if i >= min_pool_rolls then
				inverse_result = inverse_result + cur_dividend / cur_divisor
			end
			cur_dividend = cur_dividend * inverse_item_weight -- simulate pow
			cur_divisor = cur_divisor * pool_total_item_weight -- simulate pow
		end

		return 1 - inverse_result

	end,

	java = "''[[Java Edition]]''",
	['java-upcoming'] = "[[Java Edition 1.19]]<sup>[''[[Versiones planeadas#Java Edition|próximamente]]'']</sup>",
	bedrock = "[[Bedrock Edition]]",
	['bedrock-upcoming'] = "[[Bedrock Edition 1.17.10]]<sup>[''[[Versiones planeadas#Bedrock Edition|próximamente]]'']</sup>",

	-- These 'items' define which sprite, label and link to use in the table.
	-- Properties 'cannot_stack', 'preserve_case', and 'plural' describe how to display the single-item summary in p.base2.
	-- Order within this 'items' list doesn't matter.

	items = {
		["tronco-de-acacia"]          = { "block", link="Tronco" },
		["brote-de-acacia"]      = { "block", link="Brote" },
		["activator-rail"]      = { "block" },
		["ancient-debris"]      = { "block", plural=false },
		["manzana"]               = { "item" },
		["flecha"]               = { "item" },
		["bambú"]              = { "item", plural=false },
		["barrel"]              = { "block" },
		["basalt"]				= { "block", plural=false },
		["beetroot"]            = { "item" },
		["beetroot-seeds"]      = { "item", plural=false },
		["beetroot-soup"]		= { "item", plural=false, cannot_stack=true },
		["bell"]				= { "block" },
		["tronco-de-abedul"]           = { "block", link="Tronco" },
		["brote-de-abedul"]       = { "block", link="Brote" },
		["black-wool"]          = { "block", link="Lana", plural=false },
		["block-of-gold"]       = { "block", plural="blocks of gold" },
		["block-of-iron"]       = { "block", plural="blocks of iron" },
		["blue-ice"]			= { "block", plural=false },
		["hueso"]                = { "item" },
		["bone-block"]          = { "block" },
		["libro"]                = { "item" },
		["book-and-quill"]      = { "item", plural=false, title="Libro y pluma" },
		["bottle-o'-enchanting"] = { "item", title="Frasco con experiencia", plural="Frascos con experiencia" },
		["pan"]               = { "item", plural=false },
		["brown-mushroom"]      = { "block", link="Champiñón" },
		["brown-wool"]          = { "block", link="Lana", plural=false },
		["bucket"]              = { "item" },
        ["buried-treasure-map"] = { "item", link="Mapa de exploración" },
		["cactus"]              = { "block", plural=false },
		["cake"]                = { "block", plural=false },
		["candle"]              = { "item" },
		["carrot"]              = { "item" },
		["chain"]               = { "block" },
		["chainmail-boots"]     = { "item", link="Armadura", cannot_stack=true, plural=false },
		["chainmail-chestplate"] = { "item", link="Armadura", cannot_stack=true },
		["chainmail-helmet"]    = { "item", link="Armadura", cannot_stack=true },
		["chainmail-leggings"]  = { "item", link="Armadura", cannot_stack=true, plural=false },
		["clay-ball"]			= { "item", link="Bola de arcilla", plural=false },
		["reloj"]				= { "item" },
		["coal"]                = { "item", plural=false },
		["cocoa-beans"]         = { "item", plural=false },
		["cooked-cod"]          = { "item", plural=false},
		["cooked-porkchop"]		= { "item" },
		["cooked-salmon"]       = { "item", plural=false},
		["compass"]             = { "item" },
		["crimson-fungus"]		= { "block", link="Hongo", plural= "hongos carmesí" },
		["crimson-nylium"]		= { "block", link="Micelio", plural=false},
		["crimson-roots"]		= { "block", link="Raíces", plural=false},
		["crossbow"]            = { "item", cannot_stack=true },
		["crying-obsidian"]		= { "block" },
		["dandelion"]			= { "block", link="Flor" },
		["tronco-de-roble-oscuro"] = { "block", link="Tronco" },
		["brote-de-roble-oscuro"]  = { "block", link="Brote" },
		["dead-bush"]			= { "block", link="Arbusto muerto" },
		["detector-rail"]       = { "block" },
		["diamond"]             = { "item" },
		["diamond-boots"]		= { "item", link="Armadura", cannot_stack=true, plural=false },
		["diamond-chestplate"]  = { "item", link="Armadura", cannot_stack=true },
		["diamond-helmet"]		= { "item", link="Armadura", cannot_stack=true },
		["diamond-hoe"]         = { "item", link="Azada", cannot_stack=true },
		["diamond-horse-armor"] = { "item", link="Armadura para caballo", cannot_stack=true, plural=false },
		["diamond-leggings"]	= { "item", link="Armadura", cannot_stack=true, plural=false },
		["diamond-shovel"]		= { "item", link="Pala", cannot_stack=true },
		["diamond-sword"]		= { "item", link="Espada", cannot_stack=true },
		["disc-13"]             = { "item", id='music-disc-13', title="Disco de música (13)", link="Disco de música", cannot_stack=true, plural=false },
		["disc-cat"]            = { "item", id='music-disc-cat', title="Disco de música (cat)", link="Disco de música", cannot_stack=true, plural=false },
		["disc-mellohi"]        = { "item", id='music-disc-mellohi', title="Disco de música (mellohi)", link="Disco de música", cannot_stack=true, plural=false },
		["disc-pigstep"]		= { "item", id='music-disc-pigstep', title = "Disco de música (Pigstep)", link="Disco de música", cannot_stack=true, plural=false },
		["disc-wait"]           = { "item", id='music-disc-wait', title="Disco de música (wait)", link="Disco de música", cannot_stack=true, plural=false },
		["disc-otherside"]      = { "item", id='music-disc-otherside',title="Disco de música (otherside)", link="Disco de música", cannot_stack=true, plural=false },
		["egg"]           		= { "item" },
		["esmeralda"]           = { "item" },
		["empty-map"]           = { "item", link="Mapa", title="Mapa vacío" },
		["enchanted-book"]      = { "item", id='enchanted-book', title="Libro encantado", link="Libro encantado", cannot_stack=true, note="enchant-with-levels-30" },
		["enchanted-book-rnd"]  = { "item", id='enchanted-book', title="Libro encantado", link="Libro encantado", cannot_stack=true, note="enchant-randomly" },
		["enchanted-book-rnd-soul-speed"] = { "item", id='enchanted-book', title="Libro encantado", link="Libro encantado", cannot_stack=true, note="enchant-randomly-soul-speed" },
		["enchanted-book-rnd-swift-sneak"] = { "item", id='enchanted-book', title="Libro encantado", link="Libro encantado", cannot_stack=true, note="enchant-randomly-swift-sneak" },
		["enchanted-fishing-rod"]  = { "item", id="fishing-rod", link="Caña de pescar", cannot_stack=true, note="enchant-randomly" },
		["enchanted-golden-apple"] = { "item" },
		["ender-pearl"]         = { "item" },
		["pluma"]             = { "item" },
		["fern"]				= { "block", link="Césped" },
		["fire-charge"]			= { "item" },
		["flint"]               = { "item", plural=false },
		["flint-and-steel"]     = { "item", cannot_stack=true, plural=false },
		["flower-pot"]			= { "item" },
		["fragmento-resonante"] = { "item" },
		["horno"]             = { "block" },
		["gilded-blackstone"]	= { "block", plural=false },
		["glistering-melon-slice"] = { "item" },
		["glowstone"]			= { "block" },
		["glow-berries"]        = { "item", plural=false },
		["manzana-dorada"]        = { "item" },
		["golden-boots"]		= { "item", link="Armadura", cannot_stack=true, plural=false },
		["golden-carrot"]		= { "item" },
		["golden-chestplate"]   = { "item", link="Armadura", cannot_stack=true },
		["golden-helmet"]       = { "item", link="Armadura", cannot_stack=true },
		["azada-de-oro"]			= { "item", link="Azada", cannot_stack=true },
		["golden-horse-armor"]  = { "item", link="Armadura para caballo", cannot_stack=true, plural=false },
		["golden-leggings"]		= { "item", link="Armadura", cannot_stack=true, plural=false },
		["espada-de-oro"]        = { "item", link="Espada", cannot_stack=true },
		["lingote-de-oro"]          = { "item" },
		["gold-nugget"]         = { "item" },
		["grass"]				= { "block", link="Césped", plural=false },
		["gray-wool"]           = { "block", link="Lana", plural=false },
		["green-dye"]			= { "item", link="Tinte", plural=false },
		["pólvora"]             = { "item", plural=false },
		["heart-of-the-sea"]    = { "item", plural=false, link="Corazón del mar" },
		["ink-sac"]             = { "item" },
		["iron-boots"]          = { "item", link="Armadura", cannot_stack=true, plural=false },
		["iron-chestplate"]     = { "item", link="Armadura", cannot_stack=true },
		["iron-helmet"]         = { "item", link="Armadura", cannot_stack=true },
		["iron-horse-armor"]    = { "item", link="Armadura para caballo", cannot_stack=true, plural=false },
		["iron-ingot"]          = { "item" },
		["iron-leggings"]       = { "item", link="Armadura", cannot_stack=true, plural=false },
		["iron-nugget"]         = { "item" },
		["iron-pickaxe"]        = { "item", link="Pico", cannot_stack=true },
		["iron-shovel"]         = { "item", link="Pala", cannot_stack=true },
		["iron-sword"]          = { "item", link="Espada", cannot_stack=true },
		["tronco-de-jungla"]    = { "block", link="Tronco" },
		["brote-de-jungla"]     = { "block", link="Brote" },
		["lapis-lazuli"]        = { "item", plural=false },
		["large-fern"]			= { "block", link="Césped" },
		["lead"]                = { "item" },
		["leather"]      		= { "item", plural=false },
		["leather-boots"]       = { "item", link="Armadura", cannot_stack=true, plural=false },
		["leather-cap"]         = { "item", link="Armadura", cannot_stack=true },
		["leather-pants"]       = { "item", link="Armadura", cannot_stack=true, plural=false },
		["leather-tunic"]       = { "item", link="Armadura", cannot_stack=true },
		["light-gray-wool"]     = { "block", link="Lana", plural=false },
		["light-weighted-pressure-plate"] = { "block", link="Placa de presión" },
		["lodestone"]			= { "block" },
		["melon-seeds"]         = { "item", plural=false },
		["magma-cream"]         = { "item", plural=false },
		["magma-block"]			= { "block" },
		["moss-block"]          = { "block" },
		["name-tag"]            = { "item" },
		["netherite-boots"]     = { "item", link="Armadura", cannot_stack=true, plural=false },
		["netherite-chestplate"] = { "item", link="Armadura", cannot_stack=true },
		["netherite-helmet"]    = { "item", link="Armadura", cannot_stack=true },
		["netherite-ingot"]     = { "item" },
		["netherite-leggings"]  = { "item", link="Armadura", cannot_stack=true, plural=false },
		["fragmentos-de-netherita"] = { "item" },
		["nether-wart"]         = { "item", plural=false },
		["nether-quartz"]		= { "item", plural=false },
		["tronco-de-roble"]     = { "block", link="Tronco" },
		["oak-planks"]          = { "block", link="Tablones", id="oak-wood-planks", plural=false },
		["brote-de-roble"]      = { "block", link="Brote" },
		["oak-sign"]            = { "item", link="Cartel" },
		["obsidiana"]            = { "block", plural=false },
		["papel"]               = { "item", plural=false },
		["poisonous-potato"]    = { "item", plural="patatas venenosas" },
		["polished-basalt"]		= { "block", plural=false },
		["poppy"]				= { "block", link="Flor", plural="amapolas" },
		["patata"]              = { "item", plural="patatas" },
		["potion-of-healing"]   = { "item", link="Poción", title="Poción de curación", plural=false, preserve_case=true },
		["potion-of-regeneration"] = { "item", link="Poción", title="Poción de regeneración", plural=false, preserve_case=true },
		["potion-of-water-breathing"] = { "item", link="Poción", title="Poción de respiración acuática", plural=false, preserve_case=true },
		["powered-rail"]        = { "block", title="Raíl propulsor", plural=false },
		["prismarine-crystals"] = { "item", plural=false },
		["pumpkin"]             = { "block" },
		["pumpkin-pie"]         = { "item", plural=false },
		["pumpkin-seeds"]       = { "item", plural=false },
		["rail"]                = { "block", title="Raíl", plural=false },
		["raw-beef"]		    = { "item", link="Filete crudo", plural=false },
		["raw-cod"]             = { "item", link="Bacalao crudo", plural=false },
		["raw-mutton"]			= { "item", link="Cordero crudo", plural=false },
		["chuleta-de-cerdo-cruda"] = { "item", link="Chuleta de cerdo cruda" },
		["raw-salmon"]          = { "item", link="Salmón crudo", plural=false },
		["redstone"]            = { "item", id="redstone-dust", title="Polvo de redstone", plural=false },
		["rotten-flesh"]        = { "item", plural=false },
		["saddle"]              = { "item", cannot_stack=true },
		["sand"]                = { "block", plural=false },
		["sculk"]               = { "block" },
		["sculk-catalyst"]      = { "block" },
		["sculk-sensor"]        = { "block" },
		["shears"]              = { "item", plural=false, cannot_stack=true },
		["smooth-stone"]		= { "block", plural=false },
		["snowball"]			= { "item", link="Bola de nieve" },
		["snow-block"]			= { "block", link="Bloque de nieve" },
		["snout-banner-pattern"] = { "item", id="banner-pattern", link="Diseño de estandarte", cannot_stack=true },
		["soul-sand"]			= { "block" },
		["spectral-arrow"]      = { "item" },
		["spider-eye"]          = { "item" },
		["tronco-de-abeto"]     = { "block", link="Tronco" },
		["brote-de-abeto"]      = { "block", link="Brote" },
		["spruce-sign"]     	= { "item", link="Cartel" },
		["stick"]               = { "item" },
		["stone"]               = { "block", plural=false },
		["stone-axe"]           = { "item", link="Hacha", cannot_stack=true },
		["stone-bricks"]        = { "block", plural=false },
		["stone-pickaxe"]       = { "item", link="Pico", cannot_stack=true },
		["string"]              = { "item", plural=false },
		["suspicious-stew"]     = { "item", plural=false, note="suspicious-stew" },
		["sweet-berries"]       = { "item", plural=false },
		["tall-grass"]			= { "block", plural=false, link="Césped" },
		["tnt"]                 = { "block", title="Dinamita", plural=false, preserve_case=true },
		["torch"]               = { "block" },
		["tripwire-hook"]       = { "block" },
		["water-bucket"]        = { "item", cannot_stack=true },
		["trigo"]               = { "item", plural=false },
		["wheat-seeds"]         = { "item", plural=false },
		["white-wool"]          = { "block", link="Lana", plural=false },
		["wooden-axe"]          = { "item", link="Hacha", cannot_stack=true },
		["wooden-hoe"]          = { "item", link="Azada", cannot_stack=true },
		["wooden-pickaxe"]      = { "item", link="Pico", cannot_stack=true },
		["yellow-dye"]			= { "item", link="Tinte", plural=false },
		["map"]                 = { "item", link="Mapa", note="map" },

		["damaged-random-enchanted-netherite-axe"] = { "item", id="netherite-axe", title="Damaged Enchanted Netherite Axe", link="Hacha", note="enchant-randomly", note1="damaged-0.15-0.85", cannot_stack=true },
		["damaged-netherite-boots"]				= { "item", id="netherite-boots", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true, plural=false},
		["damaged-level-enchanted-netherite-boots"] = { "item", id="netherite-boots", title="Damaged Enchanted Netherite Boots", link="Armadura", note="enchant-with-levels-5-20", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-random-enchanted-netherite-boots"] = { "item", id="netherite-boots", title="Damaged Enchanted Netherite Boots", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-netherite-chestplate"]		= { "item", id="netherite-chestplate", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true},
		["damaged-level-enchanted-netherite-chestplate"] = { "item", id="netherite-chestplate", title="Damaged Enchanted Netherite Chestplate", link="Armadura", note="enchant-with-levels-5-20", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-netherite-chestplate"] = { "item", id="netherite-chestplate", title="Damaged Enchanted Netherite Chestplate", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-netherite-helmet"]			= { "item", id="netherite-helmet", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true},
		["damaged-random-enchanted-netherite-hoe"] = { "item", id="netherite-hoe", title="Damaged Enchanted Netherite Hoe", link="Azada", note="enchant-randomly", note1="damaged-0.1-0.95", cannot_stack=true },
		["damaged-level-enchanted-netherite-helmet"] = { "item", id="netherite-helmet", title="Damaged Enchanted Netherite Helmet", link="Armadura", note="enchant-with-levels-5-20", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-netherite-helmet"] = { "item", id="netherite-helmet", title="Damaged Enchanted Netherite Helmet", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-netherite-leggings"]			= { "item", id="netherite-leggings", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true, plural=false},
		["damaged-level-enchanted-netherite-leggings"] = { "item", id="netherite-leggings", title="Damaged Enchanted Netherite Leggings", link="Armadura", note="enchant-with-levels-5-20", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-random-enchanted-netherite-leggings"]	= { "item", id="netherite-leggings", title="Damaged Enchanted Netherite Leggings", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-random-enchanted-netherite-pickaxe"] = { "item", id="netherite-pickaxe", title="Damaged Enchanted Netherite Pickaxe", link="Pico", note="enchant-randomly", note1="damaged-0.1-0.95", cannot_stack=true },
		["damaged-random-enchanted-netherite-shovel"] = { "item", id="netherite-shovel", title="Damaged Enchanted Netherite Shovel", link="Pala", note="enchant-randomly", note1="damaged-0.15-0.45", cannot_stack=true},
		["damaged-netherite-sword"]				= { "item", id="netherite-sword", link="Espada", note="damaged-0.2-0.65", cannot_stack=true},
		["damaged-level-enchanted-netherite-sword"] = { "item", id="netherite-sword", title="Damaged Enchanted Netherite Sword", link="Espada", note="enchant-with-levels-5-20", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-netherite-sword"] = { "item", id="netherite-sword", title="Damaged Enchanted Netherite Sword", link="Espada", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-diamond-boots"]				= { "item", id="diamond-boots", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true, plural=false},
		["level-enchanted-diamond-boots"]		= { "item", id="diamond-boots", title="Enchanted Diamond Boots", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true, plural=false },
		["damaged-random-enchanted-diamond-boots"] = { "item", id="diamond-boots", title="Damaged Enchanted Diamond Boots", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-random-enchanted-diamond-boots-2"] = { "item", id="diamond-boots", title="Damaged Enchanted Diamond Boots", link="Armadura", note="enchant-randomly", note1="damaged-0.8-1.0", cannot_stack=true, plural=false },
		["damaged-diamond-chestplate"]			= { "item", id="diamond-chestplate", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true},
		["level-enchanted-diamond-chestplate"]	= { "item", id="diamond-chestplate", title="Enchanted Diamond Chestplate", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true },
		["damaged-random-enchanted-diamond-chestplate"] = { "item", id="diamond-chestplate", title="Damaged Enchanted Diamond Chestplate", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-diamond-chestplate-2"] = { "item", id="diamond-chestplate", title="Damaged Enchanted Diamond Chestplate", link="Armadura", note="enchant-randomly", note1="damaged-0.8-1.0", cannot_stack=true },
		["damaged-diamond-helmet"]				= { "item", id="diamond-helmet", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true},
		["level-enchanted-diamond-helmet"]		= { "item", id="diamond-helmet", title="Enchanted Diamond Helmet", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true },
		["damaged-random-enchanted-diamond-helmet"] = { "item", id="diamond-helmet", title="Damaged Enchanted Diamond Helmet", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-diamond-helmet-2"] = { "item", id="diamond-helmet", title="Damaged Enchanted Diamond Helmet", link="Armadura", note="enchant-randomly", note1="damaged-0.8-1.0", cannot_stack=true },
		["damaged-diamond-leggings"]			= { "item", id="diamond-leggings", link="Armadura", note="damaged-0.2-0.65", cannot_stack=true, plural=false},
		["level-enchanted-diamond-leggings"]	= { "item", id="diamond-leggings", title="Enchanted Diamond Leggings", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true, plural=false },
		["damaged-random-enchanted-diamond-leggings"] = { "item", id="diamond-leggings", title="Damaged Enchanted Diamond Leggings", link="Armadura", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true, plural=false },
		["damaged-random-enchanted-diamond-leggings-2"] = { "item", id="diamond-leggings", title="Damaged Enchanted Diamond Leggings", link="Armadura", note="enchant-randomly", note1="damaged-0.8-1.0", cannot_stack=true, plural=false },
		["level-enchanted-diamond-pickaxe"]		= { "item", id="diamond-pickaxe", title="Enchanted Diamond Pickaxe", link="Pico", note="enchant-with-levels-20-39", cannot_stack=true },
		["random-enchanted-diamond-pickaxe"]    = { "item", id="diamond-pickaxe", title="Enchanted Diamond Pickaxe", link="Pico", note="enchant-randomly", cannot_stack=true, },
		["damaged-random-enchanted-diamond-pickaxe"] = { "item", id="diamond-pickaxe", title="Enchanted Diamond Pickaxe", link="Pico", note="enchant-randomly", note1="damaged-0.15-0.95", cannot_stack=true },
		["level-enchanted-diamond-shovel"]		= { "item", id="diamond-shovel", title="Enchanted Diamond Shovel", link="Pala", note="enchant-with-levels-20-39", cannot_stack=true },
		["damaged-random-enchanted-diamond-shovel"] = { "item", id="diamond-shovel", title="Damaged Enchanted Diamond Shovel", link="Pala", note="enchant-randomly", note1="damaged-0.15-0.45", cannot_stack=true},
		["damaged-random-enchanted-diamond-shovel-2"] = { "item", id="diamond-shovel", title="Damaged Enchanted Diamond Shovel", link="Pala", note="enchant-randomly", note1="damaged-0.15-0.8", cannot_stack=true},
		["damaged-diamond-sword"]				= { "item", id="diamond-sword", link="Espada", note="damaged-0.2-0.65", cannot_stack=true},
		["level-enchanted-diamond-sword"]		= { "item", id="diamond-sword", title="Enchanted Diamond Sword", link="Espada", note="enchant-with-levels-20-39", cannot_stack=true },
		["damaged-random-enchanted-diamond-sword"] = { "item", id="diamond-sword", title="Damaged Enchanted Diamond Sword", link="Espada", note="enchant-randomly", note1="damaged-0.2-0.65", cannot_stack=true },
		["damaged-random-enchanted-diamond-sword-2"] = { "item", id="diamond-sword", title="Damaged Enchanted Diamond Sword", link="Espada", note="enchant-randomly", note1="damaged-0.8-1.0", cannot_stack=true },
		["level-enchanted-iron-boots"]			= { "item", id="iron-boots", title="Enchanted Iron Boots", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true, plural=false },
		["level-enchanted-iron-chestplate"]		= { "item", id="iron-chestplate", title="Enchanted Iron Chestplate", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true },
		["level-enchanted-iron-helmet"]			= { "item", id="iron-helmet", title="Enchanted Iron Helmet", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true },
		["level-enchanted-iron-leggings"]		= { "item", id="iron-leggings", title="Enchanted Iron Leggings", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true, plural=false },
		["level-enchanted-iron-pickaxe"]		= { "item", id="iron-pickaxe", title="Enchanted Iron Pickaxe", link="Pico", note="enchant-with-levels-20-39", cannot_stack=true },
		["level-enchanted-iron-shovel"]			= { "item", id="iron-shovel", title="Enchanted Iron Shovel", link="Pala", note="enchant-with-levels-20-39", cannot_stack=true },
		["level-enchanted-iron-sword"]			= { "item", id="iron-sword", title="Enchanted Iron Sword", link="Espada", note="enchant-with-levels-20-39", cannot_stack=true },
		["damaged-random-enchanted-iron-sword"] = { "item", id="iron-sword", title="Damaged Enchanted Iron Sword", link="Espada", note="enchant-randomly", note1="damaged-0.1-0.9", cannot_stack=true },
		["random-enchanted-golden-axe"]			= { "item", id="golden-axe", title="Enchanted Golden Axe", link="Hacha", note="enchant-randomly", cannot_stack=true },
		["level-enchanted-golden-boots"]      	= { "item", id="golden-boots", title="Enchanted Golden Boots", link="Armadura", note="enchant-with-levels-5-15", cannot_stack=true, plural=false },
		["random-enchanted-golden-boots"]		= { "item", id="golden-boots", title="Enchanted Golden Boots", link="Armadura", note="enchant-randomly", cannot_stack=true, plural=false },
		["soul-speed-enchanted-golden-boots"]   = { "item", id="golden-boots", title="Enchanted Golden Boots with Soul Speed", link="Armadura", note="enchant-randomly-soul-speed", cannot_stack=true, plural=false },
		["level-enchanted-golden-chestplate"]	= { "item", id="golden-chestplate", title="Enchanted Golden Chestplate", link="Armadura", note="enchant-with-levels-5-15", cannot_stack=true },
		["random-enchanted-golden-chestplate"]	= { "item", id="golden-chestplate", title="Enchanted Golden Chestplate", link="Armadura", note="enchant-randomly", cannot_stack=true },
		["level-enchanted-golden-helmet"]		= { "item", id="golden-helmet", title="Enchanted Golden Helmet", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true },
		["random-enchanted-golden-helmet"]		= { "item", id="golden-helmet", title="Enchanted Golden Helmet", link="Armadura", note="enchant-randomly", cannot_stack=true },
		["level-enchanted-golden-hoe"]			= { "item", id="azada-de-oro", title="Enchanted Golden Hoe", link="Azada", note="enchant-with-levels-20-39", cannot_stack=true },
		["random-enchanted-golden-hoe"]			= { "item", id="azada-de-oro", title="Enchanted Golden Hoe", link="Azada", note="enchant-randomly", cannot_stack=true },
		["level-enchanted-golden-leggings"]		= { "item", id="golden-leggings", title="Enchanted Golden Leggings", link="Armadura", note="enchant-with-levels-20-39", cannot_stack=true, plural=false },
		["random-enchanted-golden-leggings"]	= { "item", id="golden-leggings", title="Enchanted Golden Leggings", link="Armadura", note="enchant-randomly", cannot_stack=true, plural=false },
		["random-enchanted-golden-pickaxe"]		= { "item", id="golden-pickaxe", title="Enchanted Golden Pickaxe", link="Pico", note="enchant-randomly", cannot_stack=true },
		["random-enchanted-golden-shovel"]		= { "item", id="golden-shovel", title="Enchanted Golden Shovel", link="Pala", note="enchant-randomly", cannot_stack=true },
		["random-enchanted-golden-sword"]		= { "item", id="espada-de-oro", title="Enchanted Golden Sword", link="Espada", note="enchant-randomly", cannot_stack=true },
		["random-enchanted-leather-boots"]		= { "item", id="leather-boots", title="Enchanted Leather Boots", link="Armadura", note="enchant-randomly", cannot_stack=true, plural=false },
		["random-enchanted-leather-cap"]		= { "item", id="leather-cap", title="Enchanted Leather Cap", link="Armadura", note="enchant-randomly", cannot_stack=true },
		["random-enchanted-leather-pants"]		= { "item", id="leather-pants", title="Enchanted Leather Pants", link="Armadura", note="enchant-randomly", cannot_stack=true, plural=false },
		["random-enchanted-leather-tunic"]		= { "item", id="leather-tunic", title="Enchanted Leather Tunic", link="Armadura", note="enchant-randomly", cannot_stack=true },
		["damaged-level-enchanted-crossbow"]	= { "item", id="crossbow", title="Damaged Enchanted Crossbow", link="Crossbow", note="enchant-with-levels-20-25", note1="damaged-0.05-0.15", cannot_stack=true },
		["damaged-random-enchanted-crossbow"]	= { "item", id="crossbow", title="Damaged Enchanted Crossbow", link="Crossbow", note="enchant-randomly", note1="damaged-0.1-0.5", cannot_stack=true },
		["damaged-random-enchanted-crossbow-2"]	= { "item", id="crossbow", title="Damaged Enchanted Crossbow", link="Crossbow", note="enchant-randomly", note1="damaged-0.1-0.9", cannot_stack=true },

		["empty"]						= { "block", id="air", link='', title='Nothing', plural=false, note="nothing" },

		-- Items for bonus-barrel from Java Edition 3D Shareware v1.34

		["level-enchanted-bow"]                 = { "item", id="bow", title="Enchanted Bow", link="Bow", note="enchant-with-levels-1-30-no-treasure", cannot_stack=true },
		["random-effect-arrow"]					= { "item", id="bow", title="Arrow", link="Arrow", note="random-effect-arrow" },
		["random-effect-tipped-arrow"]			= { "item", id="tipped-arrow", title="Random Tipped Arrow", link="Arrow", note="random-effect" },
		["random-effect-potion"]				= { "item", id="potion", title="Random Potion", link="Arrow", note="random-effect" },
		["random-effect-splash-potion"]			= { "item", id="splash-potion", title="Random Splash Potion", link="Arrow", note="random-effect" },
		["random-effect-lingering-potion"]		= { "item", id="lingering-potion", title="Random Lingering Potion", link="Arrow", note="random-effect" },
		["level-enchanted-leather-tunic"]		= { "item", id="leather-tunic", title="Enchanted Leather Tunic", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-leather-boots"]		= { "item", id="leather-boots", title="Enchanted Leather Boots", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-leather-cap"]			= { "item", id="leather-cap", title="Enchanted Leather Cap", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-leather-pants"]		= { "item", id="leather-pants", title="Enchanted Leather Pants", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-iron-chestplate-2"]		= { "item", id="iron-chestplate", title="Enchanted Iron Chestplate", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-iron-boots-2"]			= { "item", id="iron-boots", title="Enchanted Iron Boots", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-iron-helmet-2"]			= { "item", id="iron-helmet", title="Enchanted Iron Helmet", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-iron-leggings-2"]		= { "item", id="iron-leggings", title="Enchanted Iron Leggings", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-diamond-chestplate-2"]	= { "item", id="diamond-chestplate", title="Enchanted Diamond Chestplate", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-diamond-boots-2"]		= { "item", id="diamond-boots", title="Enchanted Diamond Boots", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-diamond-helmet-2"]		= { "item", id="diamond-helmet", title="Enchanted Diamond Helmet", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-diamond-leggings-2"]	= { "item", id="diamond-leggings", title="Enchanted Diamond Leggings", link="Armadura", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-stone-sword"]	= { "item", id="stone-sword", title="Enchanted Stone Sword", link="Espada", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-iron-sword-2"]	= { "item", id="iron-sword", title="Enchanted Iron Sword", link="Espada", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["level-enchanted-diamond-sword-2"]	= { "item", id="diamond-sword", title="Enchanted Diamond Sword", link="Espada", note="enchant-with-levels-5-10-no-treasure", cannot_stack=true },
		["random-enchanted-crossbow"] = { "item", id="crossbow", title="BFC9000", link="Crossbow", note="enchant-randomly-multishot", cannot_stack=true },
		["blue-key"] = { "item" },
		["yellow-key"] = { "item" },
		["red-key"] = { "item" },
	},

	notes = {
		["enchant-randomly"] = "All enchantments are equally probable, ''including'' [[treasure enchantment]]s (except [[Soul Speed]]), and any level of the enchantment is equally probable.",
		["enchant-randomly-soul-speed"] = "Enchanted with a random level of [[Soul Speed]].",
		["enchant-randomly-swift-sneak"] = "Enchanted with a random level of [[Swift Sneak]].",
		["enchant-with-levels-5-15"] = "Enchantment probabilities are the same as a level-5 to level-15 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-5-20"] = "Enchantment probabilities are the same as a level-5 to level-20 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-20-25"] = "Enchantment probabilities are the same as a level-20 to level-25 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-20-25"] = "Enchantment probabilities are the same as a level-20 to level-25 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-20-39"] = "Enchantment probabilities are the same as a level-20 to level-39 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] that had no cap at level 30, and that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-30"] = "Enchantment probabilities are the same as a level-30 enchantment on an [[enchantment table]] that was able to apply [[treasure enchantment]]s (except [[Soul Speed]]), and where the chance of multiple enchantments is not reduced.",
		["damaged-0.05-0.15"] = "The item has between 5% and 15% of its total durability.",
		["damaged-0.1-0.5"] = "The item has between 10% and 50% of its total durability.",
		["damaged-0.1-0.9"] = "The item has between 10% and 90% of its total durability.",
		["damaged-0.1-0.95"] = "The item has between 10% and 95% of its total durability.",
		["damaged-0.15-0.45"] = "The item has between 15% and 45% of its total durability.",
		["damaged-0.15-0.8"] = "The item has between 15% and 80% of its total durability.",
		["damaged-0.15-0.85"] = "The item has between 15% and 85% of its total durability.",
		["damaged-0.15-0.95"] = "The item has between 15% and 95% of its total durability.",
		["damaged-0.2-0.65"] = "The item has between 20% and 65% of its total durability.",
		["damaged-0.8-1.0"] = "The item has between 80% and 100% of its total durability.",
		["nothing"] = "'Nothing' does not refer to the chance of an empty chest.  Instead, it refers to the chance that the random loot generator does not add any loot ''on a single roll''.",
		["suspicious-stew"] = "The stew grants one of the following effects: 5–7 seconds of [[Blindness]], 7–10 seconds of [[Jump Boost]], 7-10 seconds of [[Night Vision]], 10–20 seconds of [[Poison]], 0.35-0.5 seconds of [[Saturation]], or 6–8 seconds of [[Weakness]].",
		["map"] = "Named unknown map, but changed to map 0, the scale level is 1:4, Maps from the same stack are stackable, but maps that are not stacked are unstackable despite looking identical.",

		-- Notes for bonus-barrel from Java Edition 3D Shareware v1.34

		["enchant-with-levels-5-10-no-treasure"] = "Enchantment probabilities are the same as a level-5 to level-10 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-10-20-no-treasure"] = "Enchantment probabilities are the same as a level-10 to level-20 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] where the chance of multiple enchantments is not reduced.",
		["enchant-with-levels-1-30-no-treasure"] = "Enchantment probabilities are the same as a level-1 to level-30 [[enchantment mechanics|enchantment]] would be on an [[enchantment table]] where the chance of multiple enchantments is not reduced.",
		["random-effect"] = "The item has a random [[effect]] applied, including empty (uncraftable), water, mundane, thick, or awkward.",
		["random-effect-arrow"] = "The arrow has an ineffective hidden [[effect]] applied, including empty, water, mundane, thick, or awkward. As it is not a tipped arrow, this has no effect except make it unstackable with arrows that do not match the hidden effect. The effect applied can be seen with {{cmd|data get entity @s}}.",
		["enchant-randomly-multishot"] = "Any level between 1 and 12 of [[Multishot]] is equally probable.",
	},

	-- <ref group='FN' name='enchant-randomly'>

	-- NOTE: order here doesn't matter.
	--		 * in the table, chests are sorted in alphabetical order
	--       * in the table, items are sorted by chance, then by avg#, then alphabetically.
	--       * If poolsJavaUpcoming is omitted, poolsJava is used. To omit a pool entirely, set it to {}.
	--       * If the loot is the same on both editions, use the same loot table twice.

	chests = {
	["ancient-city"] = { -- ancient_city.json in Java and N/A in Bedrock
			header = "[[Ciudad antigua]]",
			link   = "[[Ciudad antigua]]",
			structure = "Ciudad antigua",
			container = "",
			structID = "ciudad-antigua",
			poolsJava = {},
			poolsJavaUpcoming = {
				{
					rolls = {2,6},
					items = {
						["enchanted-book-rnd-swift-sneak"]    = {1,1,2},
						["sculk-catalyst"]                    = {1,2,2},
						["name-tag"]                          = {1,1,2},
						["sculk-sensor"]                      = {1,3,5},
						["potion-of-healing"]                 = {1,3,7},
						["enchanted-book-rnd"]                = {1,1,10},
						["sculk"]                             = {4,10,10},
						["libro"]                              = {3,10,10},
						["candle"]                            = {1,4,10},
						["snowball"]                          = {2,6,10},
						["hueso"]                              = {1,15,25},
					}
				},
			},
			poolsBedrock = {},
			poolsBedrockUpcoming = {}
		},
		["shipwreck-map"] = { -- shipwreck_map.json in Java and shipwreck.json in Bedrock
			header = "Mapa",
			superheader = "[[Naufragio]]",
			link   = "[[Naufragio]] mapa",
			structure = "Naufragio",
			container = "Cofre de mapa",
			structID = "naufragio",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["buried-treasure-map"] = {1,1,1},
					}
				},
				{
					rolls = {3,3},
					items = {
						["compass"]             = {1,1,1},
						["empty-map"]           = {1,1,1},
						["reloj"]               = {1,1,1},
						["papel"]               = {1,10,20},
						["pluma"]             = {1,5,10},
						["libro"]                = {1,5,5},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["buried-treasure-map"] = {1,1,1},
					}
				},
				{
					rolls = {3,3},
					items = {
						["compass"]             = {1,1,1},
						["map"]                 = {1,1,1},
						["reloj"]               = {1,1,1},
						["papel"]               = {1,10,20},
						["pluma"]             = {1,5,10},
						["libro"]                = {1,5,5},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["shipwreck-supply"] = { -- shipwreck_supply.json in Java and shipwrecksupply.json in Bedrock
			header = "Suministros",
			superheader = "[[Naufragio]]",
			link   = "[[Naufragio]] suministros",
			structure = "Naufragio",
			container = "Cofre de suministros",
			structID = "naufragio",
			poolsJava = {
				{
					rolls = {3,10},
					items = {
						["papel"]               = {1,12,8},
						["patata"]              = {2,6,7},
						["moss-block"]          = {1,4,7},
						["poisonous-potato"]    = {2,6,7},
						["carrot"]              = {4,8,7},
						["trigo"]               = {8,21,7},
						["coal"]                = {2,8,6},
						["rotten-flesh"]        = {5,24,5},
						["bambú"]              = {1,3,2},
						["suspicious-stew"]     = {1,1,10},
						["pumpkin"]             = {1,3,2},
						["pólvora"]           = {1,5,3},
						["tnt"]                 = {1,2,1},
						["random-enchanted-leather-cap"]         = {1,1,3},
						["random-enchanted-leather-tunic"]       = {1,1,3},
						["random-enchanted-leather-pants"]       = {1,1,3},
						["random-enchanted-leather-boots"]       = {1,1,3},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,10},
					items = {
						["papel"]               = {1,12,8},
						["patata"]              = {2,6,7},
						["poisonous-potato"]    = {2,6,7},
						["moss-block"]          = {1,4,7},
						["carrot"]              = {4,8,7},
						["trigo"]               = {8,21,7},
						["coal"]                = {2,8,6},
						["rotten-flesh"]        = {5,24,5},
						["bambú"]              = {1,3,2},
						["suspicious-stew"]     = {1,1,10},
						["pumpkin"]             = {1,3,2},
						["pólvora"]           = {1,5,3},
						["tnt"]                 = {1,2,1},
						["random-enchanted-leather-cap"]         = {1,1,3},
						["random-enchanted-leather-tunic"]       = {1,1,3},
						["random-enchanted-leather-pants"]       = {1,1,3},
						["random-enchanted-leather-boots"]       = {1,1,3},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["shipwreck-treasure"] = { -- shipwreck_treasure.json in Java and shipwrecktreasure.json in Bedrock
			header = "Tesoro",
			superheader = "[[Naufragio]]",
			link   = "[[Naufragio]] tesoro",
			structure = "Naufragio",
			container = "Cofre del tesoro",
			structID = "naufragio",
			poolsJava = {
				{
					rolls = {3,6},
					items = {
						["iron-ingot"]          = {1,5,90},
						["lingote-de-oro"]          = {1,5,10},
						["esmeralda"]             = {1,5,40},
						["diamond"]             = {1,1,5},
						["bottle-o'-enchanting"] = {1,1,5},
					}
				},
				{
					rolls = {2,5},
					items = {
						["iron-nugget"]         = {1,10,50},
						["gold-nugget"]         = {1,10,10},
						["lapis-lazuli"]        = {1,10,20},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,6},
					items = {
						["iron-ingot"]          = {1,5,90},
						["lingote-de-oro"]          = {1,5,10},
						["esmeralda"]             = {1,5,40},
						["diamond"]             = {1,1,5},
						["bottle-o'-enchanting"] = {1,1,5},
					}
				},
				{
					rolls = {2,5},
					items = {
						["iron-nugget"]         = {1,10,50},
						["gold-nugget"]         = {1,10,10},
						["lapis-lazuli"]        = {1,10,20},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["buried-treasure"] = { -- buried_treasure.json in Java and buriedtreasure.json in Bedrock
			header = "[[Tesoro enterrado]]",
			link   = "[[Tesoro enterrado]]",
			structure = "Tesoro enterrado",
			container = "",
			structID = "buried-treasure",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["heart-of-the-sea"]    = {1,1,1},
					}
				},
				{
					rolls = {5,8},
					items = {
						["iron-ingot"]          = {1,4,20},
						["lingote-de-oro"]          = {1,4,10},
						["tnt"]                 = {1,2,5},
					}
				},
				{
					rolls = {1,4},
					items = {
						["esmeralda"]             = {4,8,5},
						["diamond"]             = {1,2,5},
						["prismarine-crystals"] = {1,5,5},
					}
				},
				{
					rolls = {0,1},
					items = {
						["leather-tunic"]       = {1,1,1},
						["iron-sword"]          = {1,1,1},
					}
				},
				{
					rolls = {2,2},
					items = {
						["cooked-cod"]          = {2,4,1},
						["cooked-salmon"]       = {2,4,1},
					}
				},
				{
					rolls = {0,2},
					items = {
						["potion-of-water-breathing"] = {1,1,1},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["heart-of-the-sea"]    = {1,1,1},
					}
				},
				{
					rolls = {5,12},
					items = {
						["prismarine-crystals"] = {1,5,5},
						["iron-ingot"]          = {3,5,20},
						["lingote-de-oro"]          = {1,5,10},
						["tnt"]                 = {1,2,10},
						["diamond"]             = {1,1,15},
						["disc-wait"]           = {1,1,5},
						["disc-mellohi"]        = {1,1,5},
						["name-tag"]            = {1,1,10},
						["chainmail-chestplate"] = {1,1,20},
						["chainmail-helmet"]    = {1,1,20},
						["chainmail-leggings"]  = {1,1,20},
						["chainmail-boots"]     = {1,1,20},
						["book-and-quill"]      = {1,2,5},
						["lead"]                = {1,3,10},
						["bottle-o'-enchanting"] = {1,1,3},
						["potion-of-water-breathing"] = {1,1,15},
						["potion-of-regeneration"] = {1,1,10},
						["cake"]                = {1,1,1},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["underwater-ruin-big"] = { -- underwater_ruin_big.json
			header = "Grandes",
			superheader = "[[Ruinas oceánicas]]",
			link   = "Grandes [[Ruinas oceánicas]]",
			structure = "Ruinas oceánicas",
			container = "Cofre de ruinas grandes",
			structID = "ruinas-oceánicas",
			poolsJava = {
				{
					rolls = {2,8},
					items = {
						["coal"]                = {1,4,10},
						["gold-nugget"]         = {1,3,10},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10},
					}
				},
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,1},
						["enchanted-book-rnd"]  = {1,1,5},
						["leather-tunic"]       = {1,1,1},
						["golden-helmet"]       = {1,1,1},
						["enchanted-fishing-rod"] = {1,1,5},
						["buried-treasure-map"] = {1,1,10},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,8},
					items = {
						["coal"]                = {1,4,10},
						["gold-nugget"]         = {1,3,10},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10},
					}
				},
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,1},
						["enchanted-book-rnd"]  = {1,1,5},
						["leather-tunic"]       = {1,1,1},
						["golden-helmet"]       = {1,1,1},
						["enchanted-fishing-rod"] = {1,1,5},
						["buried-treasure-map"] = {1,1,10},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["underwater-ruin-small"] = { -- underwater_ruin_small.json
			header = "Pequeño",
			superheader = "[[Ruinas oceánicas]]",
			link   = "[[Ruinas oceánicas]] pequeñas",
			structure = "Ruinas oceánicas",
			container = "Cofre de ruinas pequeñas",
			structID = "ruinas-oceánicas",
			poolsJava = {
				{
					rolls = {2,8},
					items = {
						["coal"]                = {1,4,10},
						["stone-axe"]           = {1,1,2},
						["rotten-flesh"]        = {1,1,5},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10},
					}
				},
				{
					rolls = {1,1},
					items = {
						["leather-tunic"]       = {1,1,1},
						["golden-helmet"]       = {1,1,1},
						["enchanted-fishing-rod"] = {1,1,5},
						["buried-treasure-map"] = {1,1,5},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,8},
					items = {
						["coal"]                = {1,4,10},
						["stone-axe"]           = {1,1,2},
						["rotten-flesh"]        = {1,1,5},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10},
					}
				},
				{
					rolls = {1,1},
					items = {
						["leather-tunic"]       = {1,1,1},
						["golden-helmet"]       = {1,1,1},
						["enchanted-fishing-rod"] = {1,1,5},
						["buried-treasure-map"] = {1,1,5},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},

		["village-armorer"] = { -- village\village_armorer.json
			header = "Herrero",
			superheader = "[[Aldea]]",
			link   = "herrero de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del errero",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["iron-ingot"]     = {1,3,2},
						["pan"]          = {1,4,4},
						["iron-helmet"]    = {1,1,1},
						["esmeralda"]        = {1,1,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["iron-ingot"]     = {1,3,2},
						["pan"]          = {1,4,4},
						["iron-helmet"]    = {1,1,1},
						["esmeralda"]        = {1,1,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-butcher"] = { -- village\village_butcher.json
			header = "Carnicero",
			superheader = "[[Aldea]]",
			link   = "carnicero de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del carnicero",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["esmeralda"]        = {1,1,1},
						["raw-porkchop"]   = {1,3,6},
						["trigo"]          = {1,3,6},
						["raw-beef"]       = {1,3,6},
						["raw-mutton"]     = {1,3,6},
						["coal"]           = {1,3,3}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["esmeralda"]        = {1,1,1},
						["raw-porkchop"]   = {1,3,6},
						["trigo"]          = {1,3,6},
						["raw-beef"]       = {1,3,6},
						["raw-mutton"]     = {1,3,6},
						["coal"]           = {1,3,3}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-cartographer"] = { -- village\village_cartographer.json
			header = "Cartógrafo",
			superheader = "[[Aldea]]",
			link   = "cartógrafo de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del cartógrafo",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["empty-map"]      = {1,3,10},
						["papel"]          = {1,5,15},
						["compass"]        = {1,1,5},
						["pan"]          = {1,4,15},
						["stick"]          = {1,2,5}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["map"]            = {1,3,10},
						["papel"]          = {1,5,15},
						["compass"]        = {1,1,5},
						["pan"]          = {1,4,15},
						["brote-de-roble"]    = {1,2,5}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-fisherman"] = { -- village\village_fisher.json, Java-exclusive as of Java 1.14 / Bedrock 1.12
			header = "Pescador",
			superheader = "[[Aldea]]",
			link   = "pescador de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre de pescador",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["esmeralda"]         = {1,1,1},
						["raw-cod"]         = {1,3,2},
						["raw-salmon"]      = {1,3,1},
						["water-bucket"]    = {1,3,1},
						["barrel"]          = {1,3,1},
						["wheat-seeds"]     = {1,3,3},
						["coal"]            = {1,3,2}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {},
			poolsBedrockUpcoming = {}
		},
		["village-fletcher"] = { -- village\village_fletcher.json
			header = "Flechero",
			superheader = "[[Aldea]]",
			link   = "flechero de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del flechero",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["esmeralda"]         = {1,1,1},
						["arrow"]           = {1,3,2},
						["pluma"]         = {1,3,6},
						["egg"]             = {1,3,2},
						["flint"]           = {1,3,6},
						["stick"]           = {1,3,6}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["esmeralda"]         = {1,1,1},
						["arrow"]           = {1,3,2},
						["pluma"]         = {1,3,6},
						["egg"]             = {1,3,2},
						["flint"]           = {1,3,6},
						["stick"]           = {1,3,6}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-mason"] = { -- village\village_mason.json
			header = "Albañil",
			superheader = "[[Aldea]]",
			link   = "albañil de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del albañil",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["clay-ball"]      = {1,3,1},
						["flower-pot"]     = {1,1,1},
						["stone"]          = {1,1,2},
						["stone-bricks"]   = {1,1,2},
						["pan"]          = {1,4,4},
						["yellow-dye"]     = {1,1,1},
						["smooth-stone"]   = {1,1,1},
						["esmeralda"]        = {1,1,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["clay-ball"]      = {1,3,1},
						["flower-pot"]     = {1,1,1},
						["stone"]          = {1,1,2},
						["stone-bricks"]   = {1,1,2},
						["pan"]          = {1,4,4},
						["yellow-dye"]     = {1,1,1},
						["smooth-stone"]   = {1,1,1},
						["esmeralda"]        = {1,1,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-shepherd"] = { -- village\village_shepherd.json
			header = "Pastor",
			superheader = "[[Aldea]]",
			link   = "Pastor de la [[aldea]]",
			structure = "Aldea",
			container = "Cofre del pastor",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["white-wool"]      = {1,8,6},
						["black-wool"]      = {1,3,3},
						["gray-wool"]       = {1,3,2},
						["brown-wool"]      = {1,3,2},
						["light-gray-wool"] = {1,3,2},
						["esmeralda"]         = {1,1,1},
						["shears"]          = {1,1,1},
						["trigo"]           = {1,6,6}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["white-wool"]      = {1,8,6},
						["black-wool"]      = {1,3,3},
						["gray-wool"]       = {1,3,2},
						["brown-wool"]      = {1,3,2},
						["light-gray-wool"] = {1,3,2},
						["esmeralda"]         = {1,1,1},
						["shears"]          = {1,1,1},
						["trigo"]           = {1,6,6}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-tannery"] = { -- village\village_tannery.json
			header = "Tannery",
			superheader = "[[Aldea]]",
			link   = "[[Aldea]] tannery",
			structure = "Aldea",
			container = "Tanner's chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {1,5},
					items = {
						["leather"]         = {1,3,1},
						["leather-tunic"]   = {1,1,2},
						["leather-boots"]   = {1,1,2},
						["leather-cap"]     = {1,1,2},
						["pan"]           = {1,4,5},
						["leather-pants"]   = {1,1,2},
						["saddle"]          = {1,1,1},
						["esmeralda"]         = {1,4,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,5},
					items = {
						["leather"]         = {1,3,1},
						["leather-tunic"]   = {1,1,2},
						["leather-boots"]   = {1,1,2},
						["leather-cap"]     = {1,1,2},
						["pan"]           = {1,4,5},
						["leather-pants"]   = {1,1,2},
						["saddle"]          = {1,1,1},
						["esmeralda"]         = {1,4,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-temple"] = { -- village\village_temple.json
			header = "Temple",
			superheader = "[[Aldea]]",
			link   = "[[Aldea]] temple",
			structure = "Aldea",
			container = "Temple chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["redstone"]        = {1,4,2},
						["pan"]           = {1,4,7},
						["rotten-flesh"]    = {1,4,7},
						["lapis-lazuli"]    = {1,4,1},
						["lingote-de-oro"]      = {1,4,1},
						["esmeralda"]         = {1,4,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["redstone"]        = {1,4,2},
						["pan"]           = {1,4,7},
						["rotten-flesh"]    = {1,4,7},
						["lapis-lazuli"]    = {1,4,1},
						["lingote-de-oro"]      = {1,4,1},
						["esmeralda"]         = {1,4,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-toolsmith"] = { -- village\village_toolsmith.json
			header = "Toolsmith",
			superheader = "[[Aldea]]",
			link   = "[[Aldea]] toolsmith",
			structure = "Aldea",
			container = "Toolsmith's chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["diamond"]         = {1,3,1},
						["iron-ingot"]      = {1,5,5},
						["lingote-de-oro"]      = {1,3,1},
						["pan"]           = {1,3,15},
						["iron-pickaxe"]    = {1,1,5},
						["coal"]            = {1,3,1},
						["stick"]           = {1,3,20},
						["iron-shovel"]     = {1,1,5}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["diamond"]         = {1,3,1},
						["iron-ingot"]      = {1,5,5},
						["lingote-de-oro"]      = {1,3,1},
						["pan"]           = {1,3,15},
						["iron-pickaxe"]    = {1,1,5},
						["coal"]            = {1,3,1},
						["stick"]           = {1,3,20},
						["iron-shovel"]     = {1,1,5}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-weaponsmith"] = { -- village\village_weaponsmith.json
			header = "Weaponsmith",
			superheader = "[[Aldea]]",
			link   = "[[Aldea]] weaponsmith",
			structure = "Aldea",
			container = "Weaponsmith's chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["diamond"]             = {1,3,3},
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["pan"]               = {1,3,15},
						["apple"]               = {1,3,15},
						["iron-pickaxe"]        = {1,1,5},
						["iron-sword"]          = {1,1,5},
						["iron-chestplate"]     = {1,1,5},
						["iron-helmet"]         = {1,1,5},
						["iron-leggings"]       = {1,1,5},
						["iron-boots"]          = {1,1,5},
						["obsidiana"]            = {3,7,5},
						["brote-de-roble"]         = {3,7,5},
						["saddle"]              = {1,1,3},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["diamond"]             = {1,3,3},
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["pan"]               = {1,3,15},
						["apple"]               = {1,3,15},
						["iron-pickaxe"]        = {1,1,5},
						["iron-sword"]          = {1,1,5},
						["iron-chestplate"]     = {1,1,5},
						["iron-helmet"]         = {1,1,5},
						["iron-leggings"]       = {1,1,5},
						["iron-boots"]          = {1,1,5},
						["obsidiana"]            = {3,7,5},
						["brote-de-roble"]         = {3,7,5},
						["saddle"]              = {1,1,3},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},

		["village-desert-house"] = { -- village\village_desert_house.json
			header = "Casa del desierto",
			superheader = "[[Aldea]]",
			link   = "Casa de [[aldea]] del desierto",
			structure = "Aldea",
			container = "Cofre de casa del desierto",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["clay-ball"]       = {1,1,1},
						["green-dye"]       = {1,1,1},
						["cactus"]          = {1,4,10},
						["trigo"]           = {1,7,10},
						["pan"]           = {1,4,10},
						["libro"]            = {1,1,1},
						["dead-bush"]       = {1,3,2},
						["esmeralda"]         = {1,3,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["clay-ball"]       = {1,1,1},
						["green-dye"]       = {1,1,1},
						["cactus"]          = {1,4,10},
						["trigo"]           = {1,7,10},
						["pan"]           = {1,4,10},
						["libro"]            = {1,1,1},
						["dead-bush"]       = {1,3,2},
						["esmeralda"]         = {1,3,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-plains-house"] = { -- village\village_plains_house.json
			header = "Plains house",
			superheader = "[[Aldea]]",
			link   = "plains [[Aldea]] house",
			structure = "Aldea",
			container = "Plains house chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["gold-nugget"]     = {1,3,1},
						["dandelion"]       = {1,1,2},
						["poppy"]           = {1,1,1},
						["patata"]          = {1,7,10},
						["pan"]           = {1,4,10},
						["apple"]           = {1,5,10},
						["libro"]            = {1,1,1},
						["pluma"]         = {1,1,1},
						["esmeralda"]         = {1,4,2},
						["brote-de-roble"]     = {1,2,5}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["gold-nugget"]     = {1,3,1},
						["dandelion"]       = {1,1,2},
						["poppy"]           = {1,1,1},
						["patata"]          = {1,7,10},
						["pan"]           = {1,4,10},
						["apple"]           = {1,5,10},
						["libro"]            = {1,1,1},
						["pluma"]         = {1,1,1},
						["esmeralda"]         = {1,4,2},
						["brote-de-roble"]     = {1,2,5}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-savanna-house"] = { -- village\village_savanna_house.json
			header = "Savanna house",
			superheader = "[[Aldea]]",
			link   = "savanna [[Aldea]] house",
			structure = "Aldea",
			container = "Savanna house chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["gold-nugget"]     = {1,3,1},
						["grass"]           = {1,1,5},
						["tall-grass"]      = {1,1,5},
						["pan"]           = {1,4,10},
						["wheat-seeds"]     = {1,5,10},
						["esmeralda"]         = {1,4,2},
						["brote-de-acacia"]  = {1,2,10},
						["saddle"]          = {1,1,1},
						["torch"]           = {1,2,1},
						["bucket"]          = {1,1,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["gold-nugget"]     = {1,3,1},
						["grass"]           = {1,1,5},
						["tall-grass"]      = {1,1,5},
						["pan"]           = {1,4,10},
						["wheat-seeds"]     = {1,5,10},
						["esmeralda"]         = {1,4,2},
						["brote-de-acacia"]  = {1,2,10},
						["saddle"]          = {1,1,1},
						["torch"]           = {1,2,1},
						["bucket"]          = {1,1,1}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-snowy-house"] = { -- village\village_snowy_house.json
			header = "Snowy house",
			superheader = "[[Aldea]]",
			link   = "snowy [[Aldea]] house",
			structure = "Aldea",
			container = "Snowy house chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["blue-ice"]        = {1,1,1},
						["snow-block"]      = {1,1,4},
						["patata"]          = {1,7,10},
						["pan"]           = {1,4,10},
						["beetroot-seeds"]  = {1,5,10},
						["beetroot-soup"]   = {1,1,1},
						["horno"]         = {1,1,1},
						["esmeralda"]         = {1,4,1},
						["snowball"]        = {1,7,10},
						["coal"]            = {1,4,5}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["blue-ice"]        = {1,1,1},
						["snow-block"]      = {1,1,4},
						["patata"]          = {1,7,10},
						["pan"]           = {1,4,10},
						["beetroot-seeds"]  = {1,5,10},
						["beetroot-soup"]   = {1,1,1},
						["horno"]         = {1,1,1},
						["esmeralda"]         = {1,4,1},
						["snowball"]        = {1,7,10},
						["coal"]            = {1,4,5}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["village-taiga-house"] = { -- village\village_taiga_house.json
			header = "Taiga house",
			superheader = "[[Aldea]]",
			link   = "taiga [[Aldea]] house",
			structure = "Aldea",
			container = "Taiga house chest",
			structID = "Aldea",
			poolsJava = {
				{
					rolls = {3,8},
					items = {
						["iron-nugget"]     = {1,5,1},
						["fern"]            = {1,1,2},
						["large-fern"]      = {1,1,2},
						["patata"]          = {1,7,10},
						["sweet-berries"]   = {1,7,5},
						["pan"]           = {1,4,10},
						["pumpkin-seeds"]   = {1,5,5},
						["pumpkin-pie"]     = {1,1,1},
						["esmeralda"]         = {1,4,2},
						["brote-de-abeto"]  = {1,5,5},
						["spruce-sign"]     = {1,1,1},
						["tronco-de-abeto"]      = {1,5,10}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,8},
					items = {
						["iron-nugget"]     = {1,5,1},
						["fern"]            = {1,1,2},
						["large-fern"]      = {1,1,2},
						["patata"]          = {1,7,10},
						["pan"]           = {1,4,10},
						["pumpkin-seeds"]   = {1,5,5},
						["pumpkin-pie"]     = {1,1,1},
						["esmeralda"]         = {1,4,2},
						["brote-de-abeto"]  = {1,5,5},
						["oak-sign"]        = {1,1,1},
						["tronco-de-abeto"]      = {1,5,10}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},

		["stronghold-altar"] = { -- stronghold_corridor.json
			header      = "Altar",
			superheader = "[[Fortaleza]]",
			link        = "[[fortaleza]] altar",
			structure = "Fortaleza",
			container = "Altar chest",
			structID = "stronghold",
			poolsJava = {
				{
					rolls = {2,3},
					items = {
						["ender-pearl"]         = {1,1,10},
						["diamond"]             = {1,3,3},
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["redstone"]            = {4,9,5},
						["pan"]               = {1,3,15},
						["apple"]               = {1,3,15},
						["iron-pickaxe"]        = {1,1,5},
						["iron-sword"]          = {1,1,5},
						["iron-chestplate"]     = {1,1,5},
						["iron-helmet"]         = {1,1,5},
						["iron-leggings"]       = {1,1,5},
						["iron-boots"]          = {1,1,5},
						["manzana-dorada"]        = {1,1,1},
						["saddle"]              = {1,1,1},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1},
						["disc-otherside"]      = {1,1,1},
						["enchanted-book"]      = {1,1,1},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,3},
					items = {
						["ender-pearl"]         = {1,1,50},
						["esmeralda"]             = {1,3,15},
						["diamond"]             = {1,3,15},
						["iron-ingot"]          = {1,5,50},
						["lingote-de-oro"]          = {1,3,25},
						["redstone"]            = {4,9,25},
						["pan"]               = {1,3,75},
						["apple"]               = {1,3,75},
						["iron-pickaxe"]        = {1,1,25},
						["iron-sword"]          = {1,1,25},
						["iron-chestplate"]     = {1,1,25},
						["iron-helmet"]         = {1,1,25},
						["iron-leggings"]       = {1,1,25},
						["iron-boots"]          = {1,1,25},
						["manzana-dorada"]        = {1,1,5},
						["saddle"]              = {1,1,5},
						["iron-horse-armor"]    = {1,1,5},
						["golden-horse-armor"]  = {1,1,5},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book"]      = {1,1,6},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["stronghold-library"] = { -- stronghold_library.json
			header      = "Library",
			superheader = "[[Fortaleza]]",
			link        = "[[fortaleza]] library",
			structure = "Fortaleza",
			container = "Library chest",
			structID = "stronghold",
			poolsJava = {
				{
					rolls = {2,10},
					items = {
						["libro"]                = {1,3,20},
						["papel"]               = {2,7,20},
						["empty-map"]           = {1,1,1},
						["compass"]             = {1,1,1},
						["enchanted-book"]      = {1,1,10},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,10},
					items = {
						["libro"]                = {1,3,100},
						["papel"]               = {2,7,100},
						["map"]                 = {1,1,5},
						["compass"]             = {1,1,5},
						["enchanted-book"]      = {1,1,60},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["stronghold-storeroom"] = { -- stronghold_crossing.json
			header      = "Storeroom",
			superheader = "[[Fortaleza]]",
			link        = "[[fortaleza]] storeroom",
			structure = "Fortaleza",
			container = "Storeroom chest",
			structID = "stronghold",
			poolsJava = {
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["redstone"]            = {4,9,5},
						["coal"]                = {3,8,10},
						["pan"]               = {1,3,15},
						["apple"]               = {1,3,15},
						["iron-pickaxe"]        = {1,1,1},
						["enchanted-book"]      = {1,1,1},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]          = {1,5,50},
						["lingote-de-oro"]          = {1,3,25},
						["redstone"]            = {4,9,25},
						["coal"]                = {3,8,50},
						["pan"]               = {1,3,75},
						["apple"]               = {1,3,75},
						["iron-pickaxe"]        = {1,1,5},
						["enchanted-book"]      = {1,1,6},
						["ink-sac"]             = {1,3,75},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["bonus"] = { -- spawn_bonus_chest.json
			header = "[[Cofre#Cofre de regalo|Bonus]]",
			link   = "[[Cofre#Cofre de regalo|bonus]]",
			structure = "Cofre de regalo",
			container = "",
			structID = "day",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["stone-axe"]           = {1,1,1},
						["wooden-axe"]          = {1,1,3},
					}
				},
				{
					rolls = {1,1},
					items = {
						["stone-pickaxe"]       = {1,1,1},
						["wooden-pickaxe"]      = {1,1,3}
					}
				},
				{
					rolls = {3,3},
					items = {
						["apple"]               = {1,2,5},
						["pan"]               = {1,2,3},
						["raw-salmon"]          = {1,2,3},
					}
				},
				{
					rolls = {4,4},
					items = {
						["stick"]               = {1,12,10},
						["oak-planks"]          = {1,12,10},
						["tronco-de-roble"]             = {1,3,3},
						["tronco-de-abeto"]          = {1,3,3},
						["tronco-de-abedul"]           = {1,3,3},
						["tronco-de-jungla"]          = {1,3,3},
						["tronco-de-acacia"]          = {1,3,3},
						["tronco-de-roble-oscuro"]        = {1,3,3},
					}
				},
			},
		    poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["stone-axe"]           = {1,1,1},
						["wooden-axe"]          = {1,1,3},
					}
				},
				{
					rolls = {1,1},
					items = {
						["stone-pickaxe"]       = {1,1,1},
						["wooden-pickaxe"]      = {1,1,3}
					}
				},
				{
					rolls = {1,1},
					items = {
						["apple"]               = {1,2,1}
					}
				},
				{
					rolls = {1,1},
					items = {
						["pan"]               = {1,2,1}
					}
				},
				{
					rolls = {1,1},
					items = {
						["raw-salmon"]          = {1,2,1}
					}
				},
				{
					rolls = {1,1},
					items = {
						["stick"]               = {1,12,1}
					}
				},
				{
					rolls = {1,1},
					items = {
						["oak-planks"]          = {1,12,1}
					}
				},
				{
					rolls = {1,1},
					items = {
						["tronco-de-roble-oscuro"]        = {1,3,1},
						["tronco-de-acacia"]          = {1,3,1},
					}
				},
				{
					rolls = {1,1},
					items = {
						["tronco-de-roble"]             = {1,3,1},
						["tronco-de-abeto"]          = {1,3,1},
						["tronco-de-abedul"]           = {1,3,1},
						["tronco-de-jungla"]          = {1,3,1},
					}
				},
				{
					rolls = {1,1},
					items = {
						["patata"]              = {1,2,3},
						["carrot"]              = {1,2,3},
					}
				},
				{
					rolls = {1,1},
					items = {
						["brote-de-roble"]         = {4,4,2},
						["brote-de-abeto"]      = {4,4,2},
						["brote-de-abedul"]       = {4,4,2},
						["brote-de-jungla"]      = {4,4,4},
						["brote-de-roble-oscuro"]    = {4,4,2},
						["brote-de-acacia"]      = {4,4,2},
					}
				},
				{
					rolls = {1,1},
					items = {
						["melon-seeds"]         = {1,2,3},
						["pumpkin-seeds"]       = {1,2,3},
						["beetroot-seeds"]      = {1,2,3},
					}
				},
				{
					rolls = {1,1},
					items = {
						["cactus"]              = {1,2,3},
						["cocoa-beans"]         = {1,2,2},
					}
				},
				{
					rolls = {1,1},
					items = {
						["brown-mushroom"]              = {1,2,2},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["dungeon"] = { -- simple_dungeon.json
			header = "[[Mazmorra]]",
			link   = "[[mazmorra]]",
			structure = "Mazmorra",
			container = "",
			structID = "mazmorra",
			poolsJava = {
				{
					rolls = {1,3},
					items = {
						["saddle"]              = {1,1,20},
						["manzana-dorada"]        = {1,1,15},
						["enchanted-golden-apple"] = {1,1,2},
						["disc-otherside"]      = {1,1,2},
						["disc-13"]             = {1,1,15},
						["disc-cat"]            = {1,1,15},
						["name-tag"]            = {1,1,20},
						["golden-horse-armor"]  = {1,1,10},
						["iron-horse-armor"]    = {1,1,15},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book-rnd"]  = {1,1,10},
					}
				},
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]          = {1,4,10},
						["lingote-de-oro"]          = {1,4,5},
						["pan"]               = {1,1,20},
						["trigo"]               = {1,4,20},
						["bucket"]              = {1,1,10},
						["redstone"]            = {1,4,15},
						["coal"]                = {1,4,15},
						["melon-seeds"]         = {2,4,10},
						["pumpkin-seeds"]       = {2,4,10},
						["beetroot-seeds"]      = {2,4,10},
					}
				},
				{
					rolls = {3,3},
					items = {
						["hueso"]                = {1,8,10},
						["pólvora"]           = {1,8,10},
						["rotten-flesh"]        = {1,8,10},
						["string"]              = {1,8,10},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,3},
					items = {
						["saddle"]              = {1,1,20},
						["manzana-dorada"]        = {1,1,15},
						["enchanted-golden-apple"] = {1,1,2},
						["disc-13"]             = {1,1,15},
						["disc-cat"]            = {1,1,15},
						["name-tag"]            = {1,1,20},
						["golden-horse-armor"]  = {1,1,10},
						["iron-horse-armor"]    = {1,1,15},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book-rnd"]  = {1,1,10},
					}
				},
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]          = {1,4,10},
						["lingote-de-oro"]          = {1,4,5},
						["pan"]               = {1,1,20},
						["trigo"]               = {1,4,20},
						["bucket"]              = {1,1,10},
						["redstone"]            = {1,4,15},
						["coal"]                = {1,4,15},
						["melon-seeds"]         = {2,4,10},
						["pumpkin-seeds"]       = {2,4,10},
						["beetroot-seeds"]      = {2,4,10},
					}
				},
				{
					rolls = {3,3},
					items = {
						["hueso"]                = {1,8,10},
						["pólvora"]           = {1,8,10},
						["rotten-flesh"]        = {1,8,10},
						["string"]              = {1,8,10},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["mineshaft"] = { -- abandoned_mineshaft.json
			chest_type = "minecart with chest",
			header = "[[Mineshaft]]",
			link   = "[[Mineshaft]]s",
			structure = "Mineshaft",
			container = "",
			structID = "abandoned-mineshaft",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,20},
						["enchanted-golden-apple"] = {1,1,1},
						["name-tag"]            = {1,1,30},
						["enchanted-book-rnd"]  = {1,1,10},
						["iron-pickaxe"]        = {1,1,5},
						["empty"]				= {1,1,5},
					}
				},
				{
					rolls = {2,4},
					items = {
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["redstone"]            = {4,9,5},
						["lapis-lazuli"]        = {4,9,5},
						["diamond"]             = {1,2,3},
						["coal"]                = {3,8,10},
						["pan"]               = {1,3,15},
						["glow-berries"]        = {3,6,15},
						["melon-seeds"]         = {2,4,10},
						["pumpkin-seeds"]       = {2,4,10},
						["beetroot-seeds"]      = {2,4,10},
					}
				},
				{
					rolls = {3,3},
					items = {
						["rail"]                = {4,8,20},
						["powered-rail"]        = {1,4,5},
						["detector-rail"]       = {1,4,5},
						["activator-rail"]      = {1,4,5},
						["torch"]               = {1,16,15},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,20},
						["enchanted-golden-apple"] = {1,1,1},
						["name-tag"]            = {1,1,30},
						["enchanted-book-rnd"]  = {1,1,10},
						["iron-pickaxe"]        = {1,1,5},
						["empty"]				= {1,1,5},
					}
				},
				{
					rolls = {2,4},
					items = {
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {1,3,5},
						["redstone"]            = {4,9,5},
						["lapis-lazuli"]        = {4,9,5},
						["diamond"]             = {1,2,3},
						["coal"]                = {3,8,10},
						["pan"]               = {1,3,15},
						["melon-seeds"]         = {2,4,10},
						["pumpkin-seeds"]       = {2,4,10},
						["beetroot-seeds"]      = {2,4,10},
						["glow-berries"]        = {3,6,15},
					}
				},
				{
					rolls = {3,3},
					items = {
						["rail"]                = {4,8,20},
						["powered-rail"]        = {1,4,5},
						["detector-rail"]       = {1,4,5},
						["activator-rail"]      = {1,4,5},
						["torch"]               = {1,16,15},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["nether-fortress"] = { -- nether_bridge.json
			header = "[[nether fortress]]",
			link   = "[[nether fortress]]",
			structure = "Nether fortress",
			container = "",
			structID = "nether-fortress",
			poolsJava = {
				{
					rolls = {2,4},
					items = {
						["diamond"]             = {1,3,5},
						["iron-ingot"]          = {1,5,5},
						["lingote-de-oro"]          = {1,3,15},
						["espada-de-oro"]        = {1,1,5},
						["golden-chestplate"]   = {1,1,5},
						["flint-and-steel"]     = {1,1,5},
						["nether-wart"]         = {3,7,5},
						["saddle"]              = {1,1,10},
						["golden-horse-armor"]    = {1,1,8},
						["iron-horse-armor"]    = {1,1,5},
						["diamond-horse-armor"] = {1,1,3},
						["obsidiana"]            = {2,4,2},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,4},
					items = {
						["diamond"]             = {1,3,5},
						["iron-ingot"]          = {1,5,5},
						["lingote-de-oro"]          = {1,3,15},
						["espada-de-oro"]        = {1,1,5},
						["golden-chestplate"]   = {1,1,5},
						["flint-and-steel"]     = {1,1,5},
						["nether-wart"]         = {3,7,5},
						["saddle"]              = {1,1,10},
						["golden-horse-armor"]    = {1,1,8},
						["iron-horse-armor"]    = {1,1,5},
						["diamond-horse-armor"] = {1,1,3},
						["obsidiana"]            = {2,4,2},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["desert-temple"] = { -- desert_pyramid.json
			header = "[[Pirámide del desierto]]",
			link   = "[[Pirámide del desierto]]",
			structure = "Pirámide del desierto",
			container = "",
			structID = "templo-del-desierto",
			poolsJava = {
				{
					rolls = {2,4},
					items = {
						["diamond"]             = {1,3,5},
						["iron-ingot"]          = {1,5,15},
						["lingote-de-oro"]          = {2,7,15},
						["esmeralda"]             = {1,3,15},
						["hueso"]                = {4,6,25},
						["spider-eye"]          = {1,3,25},
						["rotten-flesh"]        = {3,7,25},
						["saddle"]              = {1,1,20},
						["iron-horse-armor"]    = {1,1,15},
						["golden-horse-armor"]  = {1,1,10},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book-rnd"]  = {1,1,20},
						["manzana-dorada"]        = {1,1,20},
						["enchanted-golden-apple"] = {1,1,2},
						["empty"]               = {1,1,15},
					}
				},
				{
					rolls = {4,4},
					items = {
						["hueso"]                = {1,8,10},
						["pólvora"]           = {1,8,10},
						["rotten-flesh"]        = {1,8,10},
						["string"]              = {1,8,10},
						["sand"]                = {1,8,10},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,4},
					items = {
						["diamond"]             = {1,3,5},
						["iron-ingot"]          = {1,5,15},
						["lingote-de-oro"]          = {2,7,15},
						["esmeralda"]             = {1,3,15},
						["hueso"]                = {4,6,25},
						["spider-eye"]          = {1,3,25},
						["rotten-flesh"]        = {3,7,25},
						["saddle"]              = {1,1,20},
						["iron-horse-armor"]    = {1,1,15},
						["golden-horse-armor"]  = {1,1,10},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book-rnd"]  = {1,1,20},
						["manzana-dorada"]        = {1,1,20},
						["enchanted-golden-apple"] = {1,1,2},
						["empty"]               = {1,1,15},
					}
				},
				{
					rolls = {4,4},
					items = {
						["hueso"]                = {1,8,10},
						["pólvora"]           = {1,8,10},
						["rotten-flesh"]        = {1,8,10},
						["string"]              = {1,8,10},
						["sand"]                = {1,8,10},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["jungle-temple"] = { -- jungle_temple.json
			header = "[[Templo de jungla]]",
			link   = "[[Templo de jungla]]",
			structure = "Templo de jungla",
			container = "Cofre",
			structID = "templo-de-jungla",
			poolsJava = {
				{
					rolls = {2,6},
					items = {
						["diamond"]             = {1,3,3},
						["iron-ingot"]          = {1,5,10},
						["lingote-de-oro"]          = {2,7,15},
						["esmeralda"]             = {1,3,2},
						["hueso"]                = {4,6,20},
						["bambú"]              = {1,3,15},
						["rotten-flesh"]        = {3,7,16},
						["saddle"]              = {1,1,3},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1},
						["enchanted-book"]      = {1,1,1}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,6},
					items = {
						["diamond"]             = {1,3,15},
						["iron-ingot"]          = {1,5,50},
						["lingote-de-oro"]          = {2,7,75},
						["esmeralda"]             = {1,3,10},
						["hueso"]                = {4,6,100},
						["rotten-flesh"]        = {3,7,80},
						["bambú"]              = {1,3,75},
						["saddle"]              = {1,1,15},
						["iron-horse-armor"]    = {1,1,5},
						["golden-horse-armor"]  = {1,1,5},
						["diamond-horse-armor"] = {1,1,5},
						["enchanted-book"]      = {1,1,6}
					}
				},
			},
			poolsBedrockUpcoming = {},
		},
		["jungle-temple-dispenser"] = { -- jungle_temple_dispenser.json in Java and dispenser_trap.json in Bedrock
			chest_type = "dispenser",
			link   = "[[jungle temple]]s",
			structure = "Jungle temple",
			container = "Dispenser",
			structID = "jungle-temple",
			poolsJava = {
				{
					rolls = {1,2},
					items = {
						["arrow"] = {2,7,30}
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,2},
					items = {
						["arrow"] = {2,7,30}
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["end-city"] = { -- end_city_treasure.json
			header = "[[End city]]",
			link   = "[[End city]]",
			structure = "End city",
			container = "",
			structID = "end-city",
			poolsJava = {
				{
					rolls = {2,6},
					items = {
						["diamond"]             = {2,7,5},
						["iron-ingot"]          = {4,8,10},
						["lingote-de-oro"]          = {2,7,15},
						["esmeralda"]             = {2,6,2},
						["beetroot-seeds"]      = {1,10,5},
						["saddle"]              = {1,1,3},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1},
						["level-enchanted-diamond-sword"]      = {1,1,3},
						["level-enchanted-diamond-boots"]      = {1,1,3},
						["level-enchanted-diamond-chestplate"] = {1,1,3},
						["level-enchanted-diamond-leggings"]   = {1,1,3},
						["level-enchanted-diamond-helmet"]     = {1,1,3},
						["level-enchanted-diamond-pickaxe"]    = {1,1,3},
						["level-enchanted-diamond-shovel"]     = {1,1,3},
						["level-enchanted-iron-sword"]         = {1,1,3},
						["level-enchanted-iron-boots"]         = {1,1,3},
						["level-enchanted-iron-chestplate"]    = {1,1,3},
						["level-enchanted-iron-leggings"]      = {1,1,3},
						["level-enchanted-iron-helmet"]        = {1,1,3},
						["level-enchanted-iron-pickaxe"]       = {1,1,3},
						["level-enchanted-iron-shovel"]        = {1,1,3},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,6},
					items = {
						["diamond"]             = {2,7,5},
						["iron-ingot"]          = {4,8,10},
						["lingote-de-oro"]          = {2,7,15},
						["esmeralda"]             = {2,6,2},
						["beetroot-seeds"]      = {1,10,5},
						["saddle"]              = {1,1,3},
						["iron-horse-armor"]    = {1,1,1},
						["golden-horse-armor"]  = {1,1,1},
						["diamond-horse-armor"] = {1,1,1},
						["level-enchanted-diamond-sword"]      = {1,1,3},
						["level-enchanted-diamond-boots"]      = {1,1,3},
						["level-enchanted-diamond-chestplate"] = {1,1,3},
						["level-enchanted-diamond-leggings"]   = {1,1,3},
						["level-enchanted-diamond-helmet"]     = {1,1,3},
						["level-enchanted-diamond-pickaxe"]    = {1,1,3},
						["level-enchanted-diamond-shovel"]     = {1,1,3},
						["level-enchanted-iron-sword"]         = {1,1,3},
						["level-enchanted-iron-boots"]         = {1,1,3},
						["level-enchanted-iron-chestplate"]    = {1,1,3},
						["level-enchanted-iron-leggings"]      = {1,1,3},
						["level-enchanted-iron-helmet"]        = {1,1,3},
						["level-enchanted-iron-pickaxe"]       = {1,1,3},
						["level-enchanted-iron-shovel"]        = {1,1,3},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["igloo"] = { -- igloo_chest.json
			header = "[[Iglú]]",
			link   = "[[Iglú]]",
			structure = "Iglú",
			container = "",
			structID = "iglú",
			poolsJava = {
				{
					rolls = {2,8},
					items = {
						["apple"]               = {1,3,15},
						["coal"]                = {1,4,15},
						["gold-nugget"]         = {1,3,10},
						["stone-axe"]           = {1,1,2},
						["rotten-flesh"]        = {1,1,10},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10}
					}
				},
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,1},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {2,8},
					items = {
						["apple"]               = {1,3,15},
						["coal"]                = {1,4,15},
						["gold-nugget"]         = {1,3,10},
						["stone-axe"]           = {1,1,2},
						["rotten-flesh"]        = {1,1,10},
						["esmeralda"]             = {1,1,1},
						["trigo"]               = {2,3,10}
					}
				},
				{
					rolls = {1,1},
					items = {
						["manzana-dorada"]        = {1,1,1},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["pillager-outpost"] = {
			header = "[[Puesto de saqueadores]]",
			link   = "[[Puesto de saqueadores]]",
			structure = "Puesto de saqueadores",
			container = "",
			structID = "puesto-de-saqueadores",
			poolsJava = {
				{
					rolls = {0,1},
					items = {
						["crossbow"]             = {1,1,1},
					}
				},
				{
					rolls = {2,3},
					items = {
						["trigo"]                = {3,5,7},
						["patata"]               = {2,5,5},
						["carrot"]               = {3,5,5}
					}
				},
				{
					rolls = {1,3},
					items = {
						["tronco-de-roble-oscuro"]         = {2,3,1}
					}
				},
				{
					rolls = {2,3},
					items = {
						["bottle-o'-enchanting"] = {1,1,7},
						["string"]               = {1,6,4},
						["arrow"]                = {2,7,4},
						["tripwire-hook"]        = {1,3,3},
						["iron-ingot"]           = {1,3,3},
						["enchanted-book-rnd"]   = {1,1,1}
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {0,1},
					items = {
						["crossbow"]             = {1,1,1},
					}
				},
				{
					rolls = {2,3},
					items = {
						["trigo"]                = {3,5,7},
						["patata"]               = {2,5,5},
						["carrot"]               = {3,5,5}
					}
				},
				{
					rolls = {1,3},
					items = {
						["tronco-de-roble-oscuro"]         = {2,3,1}
					}
				},
				{
					rolls = {2,3},
					items = {
						["bottle-o'-enchanting"] = {1,1,7},
						["string"]               = {1,6,4},
						["arrow"]                = {2,7,4},
						["tripwire-hook"]        = {1,3,3},
						["iron-ingot"]           = {1,3,3},
						["enchanted-book-rnd"]   = {1,1,1}
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["bastion-bridge"] = { -- bastion_bridge.json
			header = "[[Bastion]] bridge",
			link = "[[bastion remnant|bastion remnant bridge]]",
			structure = "Bastion remnant",
			container = "Bridge chest",
			structID = "bastión-en-ruinas",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["lodestone"] = {1,1,1},
					}
				},
				{
					rolls = {1,2},
					items = {
						["damaged-random-enchanted-crossbow"] = {1,1,1},
						["spectral-arrow"] = {10,28,1},
						["gilded-blackstone"] = {8,12,1},
						["crying-obsidian"] = {3,8,1},
						["block-of-gold"] = {1,1,1},
						["lingote-de-oro"] = {4,9,1},
						["iron-ingot"] = {4,9,1},
						["espada-de-oro"] = {1,1,1},
						["random-enchanted-golden-chestplate"] = {1,1,1},
						["random-enchanted-golden-helmet"] = {1,1,1},
						["random-enchanted-golden-leggings"] = {1,1,1},
						["random-enchanted-golden-boots"] = {1,1,1},
						["random-enchanted-golden-axe"] = {1,1,1},
					}
				},
				{
					rolls = {2,4},
					items = {
						["string"] = {1,6,1},
						["leather"] = {1,3,1},
						["arrow"] = {5,17,1},
						["iron-nugget"] = {2,6,1},
						["gold-nugget"] = {2,6,1},
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["lodestone"] = {1,1,1},
					}
				},
				{
					rolls = {1,2},
					items = {
						["damaged-random-enchanted-crossbow"] = {1,1,1},
						["arrow"] = {10,28,1},
						["gilded-blackstone"] = {8,12,1},
						["crying-obsidian"] = {3,8,1},
						["block-of-gold"] = {1,1,1},
						["lingote-de-oro"] = {4,9,1},
						["iron-ingot"] = {4,9,1},
						["espada-de-oro"] = {1,1,1},
						["random-enchanted-golden-chestplate"] = {1,1,1},
						["random-enchanted-golden-helmet"] = {1,1,1},
						["random-enchanted-golden-leggings"] = {1,1,1},
						["random-enchanted-golden-boots"] = {1,1,1},
						["random-enchanted-golden-axe"] = {1,1,1},
					}
				},
				{
					rolls = {2,4},
					items = {
						["string"] = {1,6,1},
						["leather"] = {1,3,1},
						["arrow"] = {5,17,1},
						["iron-nugget"] = {2,6,1},
						["gold-nugget"] = {2,6,1},
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["bastion-hoglin-stable"] = { -- bastion_hoglin_stable.json
			header = "Establo de hoglins del [[bastión en ruinas]]",
			link = "[[Bastión en ruinasestablo de hoglins del bastión en ruinas]]",
			structure = "Bastión en ruinas",
			container = "Cofre del establo de hoglins",
			structID = "bastión-en-ruinas",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["damaged-random-enchanted-diamond-shovel-2"] = {1,1,15},
						["damaged-random-enchanted-diamond-pickaxe"] = {1,1,12},
						["fragmentos-de-netherita"] = {1,1,8},
						["ancient-debris"] = {1,1,12},
						["ancient-debris"] = {2,2,5},
						["saddle"] = {1,1,12},
						["block-of-gold"] = {2,4,16},
						["golden-carrot"] = {8,17,10},
						["manzana-dorada"] = {1,1,10},
					}
				},
				{
					rolls = {3,4},
					items = {
						["random-enchanted-golden-axe"] = {1,1,1},
						["crying-obsidian"] = {1,5,1},
						["glowstone"] = {3,6,1},
						["gilded-blackstone"] = {2,5,1},
						["soul-sand"] = {2,7,1},
						["crimson-nylium"] = {2,7,1},
						["gold-nugget"] = {2,8,1},
						["leather"] = {1,3,1},
						["arrow"] = {5,17,1},
						["string"] = {3,8,1},
						["raw-porkchop"] = {2,5,1},
						["cooked-porkchop"] = {2,5,1},
						["crimson-fungus"] = {2,7,1},
						["crimson-roots"] = {2,7,1},
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["damaged-random-enchanted-diamond-shovel-2"] = {1,1,15},
						["damaged-random-enchanted-diamond-pickaxe"] = {1,1,12},
						["fragmentos-de-netherita"] = {1,1,8},
						["ancient-debris"] = {1,1,5},
						["saddle"] = {1,1,12},
						["block-of-gold"] = {2,4,16},
						["golden-carrot"] = {8,17,10},
						["manzana-dorada"] = {1,1,10},
					}
				},
				{
					rolls = {3,4},
					items = {
						["random-enchanted-golden-axe"] = {1,1,1},
						["crying-obsidian"] = {1,5,1},
						["glowstone"] = {3,6,1},
						["gilded-blackstone"] = {2,5,1},
						["soul-sand"] = {2,7,1},
						["crimson-nylium"] = {2,7,1},
						["gold-nugget"] = {2,8,1},
						["leather"] = {1,3,1},
						["arrow"] = {5,17,1},
						["string"] = {3,8,1},
						["raw-porkchop"] = {2,5,1},
						["cooked-porkchop"] = {2,5,1},
						["crimson-fungus"] = {2,7,1},
						["crimson-roots"] = {2,7,1},
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["bastion-generic"] = { -- bastion_other.json
			header = "[[Bastion]]",
			link = "[[Bastión en ruinas]]",
			structure = "Bastión en ruinas",
			container = "Cofre genérico",
			structID = "bastión-en-ruinas",
			poolsJava = {
				{
					rolls = {1,1},
					items = {
						["random-enchanted-diamond-pickaxe"] = {1,1,6},
						["diamond-shovel"] = {1,1,6},
						["damaged-random-enchanted-crossbow-2"] = {1,1,6},
						["ancient-debris"] = {1,1,12},
						["fragmentos-de-netherita"] = {1,1,4},
						["spectral-arrow"] = {10,22,10},
						["snout-banner-pattern"] = {1,1,9},
						["disc-pigstep"] = {1,1,5},
						["golden-carrot"] = {6,17,12},
						["manzana-dorada"] = {1,1,9},
						["enchanted-book-rnd-soul-speed"] = {1,1,10},
					}
				},
				{
					rolls = {2,2},
					items = {
						["damaged-random-enchanted-iron-sword"] = {1,1,2},
						["block-of-iron"] = {1,1,2},
						["soul-speed-enchanted-golden-boots"] = {1,1,1},
						["random-enchanted-golden-axe"] = {1,1,1},
						["block-of-gold"] = {1,1,2},
						["crossbow"] = {1,1,1},
						["lingote-de-oro"] = {1,6,2},
						["iron-ingot"] = {1,6,2},
						["espada-de-oro"] = {1,1,1},
						["golden-chestplate"] = {1,1,1},
						["golden-helmet"] = {1,1,1},
						["golden-leggings"] = {1,1,1},
						["golden-boots"] = {1,1,1},
						["crying-obsidian"] = {1,5,2},
					}
				},
				{
					rolls = {3,4},
					items = {
						["gilded-blackstone"] = {1,5,2},
						["chain"] = {2,10,1},
						["magma-cream"] = {2,6,2},
						["bone-block"] = {3,6,1},
						["iron-nugget"] = {2,8,1},
						["obsidiana"] = {4,6,1},
						["gold-nugget"] = {2,8,1},
						["string"] = {4,6,1},
						["arrow"] = {5,17,2},
						["cooked-porkchop"] = {1,1,1},
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,1},
					items = {
						["random-enchanted-diamond-pickaxe"] = {1,1,6},
						["diamond-shovel"] = {1,1,6},
						["damaged-random-enchanted-crossbow-2"] = {1,1,6},
						["ancient-debris"] = {1,1,12},
						["fragmentos-de-netherita"] = {1,1,4},
						["arrow"] = {10,22,10},
						["snout-banner-pattern"] = {1,1,9},
						["disc-pigstep"] = {1,1,5},
						["golden-carrot"] = {6,17,12},
						["manzana-dorada"] = {1,1,9},
						["enchanted-book-rnd-soul-speed"] = {1,1,10},
					}
				},
				{
					rolls = {2,2},
					items = {
						["damaged-random-enchanted-iron-sword"] = {1,1,2},
						["block-of-iron"] = {1,1,2},
						["soul-speed-enchanted-golden-boots"] = {1,1,1},
						["random-enchanted-golden-axe"] = {1,1,1},
						["block-of-gold"] = {1,1,2},
						["crossbow"] = {1,1,1},
						["lingote-de-oro"] = {1,6,2},
						["iron-ingot"] = {1,6,2},
						["espada-de-oro"] = {1,1,1},
						["golden-chestplate"] = {1,1,1},
						["golden-helmet"] = {1,1,1},
						["golden-leggings"] = {1,1,1},
						["golden-boots"] = {1,1,1},
						["crying-obsidian"] = {1,5,2},
					}
				},
				{
					rolls = {3,4},
					items = {
						["gilded-blackstone"] = {1,5,2},
						["chain"] = {2,10,1},
						["magma-cream"] = {2,6,2},
						["bone-block"] = {3,6,1},
						["iron-nugget"] = {2,8,1},
						["obsidiana"] = {4,6,1},
						["gold-nugget"] = {2,8,1},
						["string"] = {4,6,1},
						["arrow"] = {5,17,2},
						["cooked-porkchop"] = {1,1,1},
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["bastion-treasure"] = { -- bastion_treasure.json
			header = "Tesoro del [[bastión en ruinas]]",
			link = "[[Bastión en ruinas|Tesoro del bastión en ruinas]]",
			structure = "Bastión en ruinas",
			container = "Cofre del tesoro",
			structID = "bastión-en-ruinas",
			poolsJava = {
				{
					rolls = {3,3},
					items = {
						["netherite-ingot"] = {1,1,15},
						["ancient-debris"] = {1,1,10},
						["fragmentos-de-netherita"] = {1,1,8},
						["ancient-debris"] = {2,2,4},
						["damaged-random-enchanted-diamond-sword-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-chestplate-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-helmet-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-leggings-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-boots-2"] = {1,1,6},
						["diamond-sword"] = {1,1,6},
						["diamond-chestplate"] = {1,1,5},
						["diamond-helmet"] = {1,1,5},
						["diamond-leggings"] = {1,1,5},
						["diamond-boots"] = {1,1,5},
						["diamond"] = {2,6,5},
						["enchanted-golden-apple"] = {1,1,2},
					}
				},
				{
					rolls = {3,4},
					items = {
						["spectral-arrow"] = {12,25,1},
						["block-of-gold"] = {2,5,1},
						["block-of-iron"] = {2,5,1},
						["lingote-de-oro"] = {3,9,1},
						["iron-ingot"] = {3,9,1},
						["crying-obsidian"] = {3,5,1},
						["nether-quartz"] = {8,23,1},
						["gilded-blackstone"] = {5,15,1},
						["magma-cream"] = {3,8,1},
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {3,3},
					items = {
						["netherite-ingot"] = {1,1,15},
						["ancient-debris"] = {1,1,10},
						["fragmentos-de-netherita"] = {1,1,8},
						["ancient-debris"] = {2,2,4},
						["damaged-random-enchanted-diamond-sword-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-chestplate-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-helmet-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-leggings-2"] = {1,1,6},
						["damaged-random-enchanted-diamond-boots-2"] = {1,1,6},
						["diamond-sword"] = {1,1,6},
						["diamond-chestplate"] = {1,1,5},
						["diamond-helmet"] = {1,1,5},
						["diamond-leggings"] = {1,1,5},
						["diamond-boots"] = {1,1,5},
						["diamond"] = {2,6,5},
						["enchanted-golden-apple"] = {1,1,2},
					}
				},
				{
					rolls = {3,4},
					items = {
						["arrow"] = {12,25,1},
						["block-of-gold"] = {2,5,1},
						["block-of-iron"] = {2,5,1},
						["lingote-de-oro"] = {3,9,1},
						["iron-ingot"] = {3,9,1},
						["crying-obsidian"] = {3,5,1},
						["nether-quartz"] = {8,23,1},
						["gilded-blackstone"] = {5,15,1},
						["magma-cream"] = {3,8,1},
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["ruined-portal"] = { --ruined_portal.json
			header = "[[Ruined Portal]]",
			link   = "[[ruined portal]]",
			structure = "Ruined portal",
			container = "",
			structID = "ruined-portal",
			poolsJava = {
				{
					rolls = {4,8},
					items = {
						["obsidiana"] = {1,2,40},
						["flint"] = {1,4,40},
						["iron-nugget"] = {9,18,40},
						["flint-and-steel"] = {1,1,40},
						["fire-charge"] = {1,1,40},
						["manzana-dorada"] = {1,1,15},
						["gold-nugget"] = {4,24,15},
						["random-enchanted-golden-sword"] = {1,1,15},
						["random-enchanted-golden-axe"] = {1,1,15},
						["random-enchanted-golden-hoe"] = {1,1,15},
						["random-enchanted-golden-pickaxe"] = {1,1,15},
						["random-enchanted-golden-shovel"] = {1,1,15},
						["random-enchanted-golden-helmet"] = {1,1,15},
						["random-enchanted-golden-chestplate"] = {1,1,15},
						["random-enchanted-golden-leggings"] = {1,1,15},
						["random-enchanted-golden-boots"] = {1,1,15},
						["glistering-melon-slice"] = {4,12,5},
						["golden-horse-armor"] = {1,1,5},
						["light-weighted-pressure-plate"] = {1,1,5},
						["golden-carrot"] = {4,12,5},
						["reloj"] = {1,1,5},
						["lingote-de-oro"] = {2,8,5},
						["bell"] = {1,1,1},
						["enchanted-golden-apple"] = {1,1,1},
						["block-of-gold"] = {1,2,1},
					}
				}
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {4,8},
					items = {
						["obsidiana"] = {1,2,40},
						["flint"] = {1,4,40},
						["iron-nugget"] = {9,18,40},
						["flint-and-steel"] = {1,1,40},
						["fire-charge"] = {1,1,40},
						["manzana-dorada"] = {1,1,15},
						["gold-nugget"] = {4,24,15},
						["random-enchanted-golden-sword"] = {1,1,15},
						["random-enchanted-golden-axe"] = {1,1,15},
						["random-enchanted-golden-hoe"] = {1,1,15},
						["random-enchanted-golden-shovel"] = {1,1,15},
						["random-enchanted-golden-pickaxe"] = {1,1,15},
						["random-enchanted-golden-boots"] = {1,1,15},
						["random-enchanted-golden-chestplate"] = {1,1,15},
						["random-enchanted-golden-helmet"] = {1,1,15},
						["random-enchanted-golden-leggings"] = {1,1,15},
						["glistering-melon-slice"] = {4,12,5},
						["golden-horse-armor"] = {1,1,5},
						["light-weighted-pressure-plate"] = {1,1,5},
						["golden-carrot"] = {4,12,5},
						["reloj"] = {1,1,5},
						["lingote-de-oro"] = {2,8,5},
						["bell"] = {1,1,1},
						["enchanted-golden-apple"] = {1,1,1},
						["block-of-gold"] = {1,2,1},
					}
				}
			},
			poolsBedrockUpcoming = {}
		},
		["woodland-mansion"] = { -- woodland_mansion.json
			header = "[[Mansión del bosque]]",
			link   = "[[Mansión del bosque]]",
			structure = "Mansión del bosque",
			container = "",
			structID = "mansión-del-bosque",
			poolsJava = {
				{
					rolls = {1,3},
					items = {
						["lead"]                  = {1,1,20},
						["manzana-dorada"]          = {1,1,15},
						["enchanted-golden-apple"] = {1,1,2},
						["disc-13"]               = {1,1,15},
						["disc-cat"]              = {1,1,15},
						["name-tag"]              = {1,1,20},
						["chainmail-chestplate"]  = {1,1,10},
						["diamond-hoe"]           = {1,1,15},
						["diamond-chestplate"]    = {1,1,5},
						["enchanted-book-rnd"]    = {1,1,10},
					}
				},
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]            = {1,4,10},
						["lingote-de-oro"]            = {1,4,5},
						["pan"]                 = {1,1,20},
						["trigo"]                 = {1,4,20},
						["bucket"]                = {1,1,10},
						["redstone"]              = {1,4,15},
						["coal"]                  = {1,4,15},
						["melon-seeds"]           = {2,4,10},
						["pumpkin-seeds"]         = {2,4,10},
						["beetroot-seeds"]        = {2,4,10},
					}
				},
				{
					rolls = {3,3},
					items = {
						["hueso"]                  = {1,8,10},
						["pólvora"]             = {1,8,10},
						["rotten-flesh"]          = {1,8,10},
						["string"]                = {1,8,10},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {
				{
					rolls = {1,3},
					items = {
						["lead"]                  = {1,1,100},
						["manzana-dorada"]          = {1,1,75},
						["enchanted-golden-apple"] = {1,1,10},
						["disc-13"]               = {1,1,75},
						["disc-cat"]              = {1,1,75},
						["name-tag"]              = {1,1,100},
						["chainmail-chestplate"]  = {1,1,50},
						["diamond-hoe"]           = {1,1,75},
						["diamond-chestplate"]    = {1,1,25},
						["enchanted-book-rnd"] = {1,1,60},
					}
				},
				{
					rolls = {1,4},
					items = {
						["iron-ingot"]            = {1,4,50},
						["lingote-de-oro"]            = {1,4,25},
						["pan"]                 = {1,1,100},
						["trigo"]                 = {1,4,100},
						["bucket"]                = {1,1,50},
						["redstone"]              = {1,4,75},
						["coal"]                  = {1,4,75},
						["melon-seeds"]           = {2,4,50},
						["pumpkin-seeds"]         = {2,4,50},
						["beetroot-seeds"]        = {2,4,50},
					}
				},
				{
					rolls = {3,3},
					items = {
						["hueso"]                  = {1,8,50},
						["pólvora"]             = {1,8,50},
						["rotten-flesh"]          = {1,8,50},
						["string"]                = {1,8,50},
					}
				},
			},
			poolsBedrockUpcoming = {}
		},
		["bonus-barrel"] = { -- bonus_barrel.json from Java Edition 3D Shareware v1.34
			header = "[[Java Edition 3D Shareware v1.34#Blocks|Bonus barrel]]",
			link   = "[[Java Edition 3D Shareware v1.34#Blocks|bonus barrel]]",
			structure = "Bonus barrel",
			container = "",
			structID = "day",
			poolsJava = {
				{
					rolls = {1,4},
					items = {
						["level-enchanted-bow"]   = {1,1,1},
						["random-effect-arrow"]   = {1,20,1},
						["random-effect-tipped-arrow"] = {1,20,1},
						["random-effect-potion"]  = {1,1,1},
						["random-effect-splash-potion"] = {1,1,1},
						["random-effect-lingering-potion"] = {1,1,1},
						["level-enchanted-leather-tunic"] = {1,1,1},
						["level-enchanted-leather-boots"] = {1,1,1},
						["level-enchanted-leather-cap"] = {1,1,1},
						["level-enchanted-leather-pants"] = {1,1,1},
						["level-enchanted-iron-chestplate-2"] = {1,1,1},
						["level-enchanted-iron-boots-2"] = {1,1,1},
						["level-enchanted-iron-helmet-2"] = {1,1,1},
						["level-enchanted-iron-leggings-2"] = {1,1,1},
						["level-enchanted-diamond-chestplate-2"] = {1,1,1},
						["level-enchanted-diamond-boots-2"] = {1,1,1},
						["level-enchanted-diamond-helmet-2"] = {1,1,1},
						["level-enchanted-diamond-leggings-2"] = {1,1,1},
						["level-enchanted-stone-sword"] = {1,1,1},
						["level-enchanted-iron-sword-2"] = {1,1,1},
						["level-enchanted-diamond-sword-2"] = {1,1,1},
						["random-enchanted-crossbow"] = {1,1,1},
					}
				},
				{
					rolls = {1,1},
					items = {
						["blue-key"]              = {1,1,1},
						["yellow-key"]            = {1,1,2},
						["red-key"]               = {1,1,5},
						["empty"]                 = {1,1,16},
					}
				},
			},
			poolsJavaUpcoming = {},
			poolsBedrock = {},
			poolsBedrockUpcoming = {}
		},
	},

	-- these values are used:
	-- * in place of the keys, when the key is used as a parameter

	-- chest-param -> internally-valid-chest-param

	synonyms = {
		["desert"] = "desert-temple",
		["jungle"] = "jungle-temple",
		["nether"] = "nether-fortress",
		["nether-fortress"] = "nether-fortress",

		["armorer"]       = "village-armorer",
		["butcher"]       = "village-butcher",
		["cartographer"]  = "village-cartographer",
		["fisherman"]     = "village-fisherman",
		["fletcher"]      = "village-fletcher",
		["mason"]         = "village-mason",
		["shepherd"]      = "village-shepherd",
		["tannery"]       = "village-tannery",
		["temple"]        = "village-temple",
		["toolsmith"]     = "village-toolsmith",
		["weaponsmith"]   = "village-weaponsmith",

		["desert-house"]  = "village-desert-house",
		["plains-house"]  = "village-plains-house",
		["savanna-house"] = "village-savanna-house",
		["snowy-house"]   = "village-snowy-house",
		["taiga-house"]   = "village-taiga-house",

		["altar"] = "stronghold-altar",
		["storeroom"] = "stronghold-storeroom",
		["library"] = "stronghold-library",
		["outpost"] = "pillager-outpost",
		["mansion"] = "woodland-mansion"
	},

	-- these values are used:
	-- * in the header-description of a table showing only a single chest
	-- * if the key is not here, but it is a valid chest parameter,
	--   that header-description defaults to use the key string from p.chests,
	--   e.g. "nether-fortress"

	-- chest-param -> description-string

	display_names = {
		["nether-fortress"] = "Nether Fortress",
		["nether"] = "nether fortress",
		["fortress"] = "nether fortress",
		["desert"] = "desert pyramid",
		["jungle"] = "jungle pyramid",
		["desert-temple"] = "desert pyramid",
		["jungle-temple"] = "jungle pyramid"
	},

	-- these descriptions are used:
	-- * in column <abbr> titles,
	-- * and above the table when only a single column-type is chosen

	columns = {
		["stacksize"] = 'The size of stacks (or for unstackable items, number) of this item on any given roll.',
		["weight"] = 'The weight of this item relative to other items in the pool.',
		["chance"] = 'The odds of finding any of this item in a single chest.',
		["items"] = 'The number of items expected per chest, averaged over a large number of chests.',
		["chests"] = 'The average number of chests the player should expect to search to find any of this item.'
	},

	current_frame = nil
}

p.base = function( ... )

	p.current_frame = mw.getCurrentFrame()

	local args = { ... }
	if args[1] == p.current_frame then
		args = require( 'Módulo:ProcessArgs' ).merge( true )
	else
		args = args[1]
	end

	-- transform args into usable list

	local chests, columns = q.massage_args( args )

	if #chests == 0 then
		return "<span style='font-style:italic; color:red;'>Módulo:LootChest: no valid arguments</span>"
	end

	q.fill_in_chest_derivative_data( chests )

	-- construct an ordered list dictating the order of the rows

	local ordered_item_rows_java = {}
	local ordered_item_rows_java_upcoming = {}
	local ordered_item_rows_bedrock = {}
	local ordered_item_rows_bedrock_upcoming = {}

	local ret = {}

	local java_specified             = args.java                and args.java ~= '0';
	local java_upcoming_specified    = args['java-upcoming']    and args['java-upcoming'] ~= '0';
	local bedrock_specified          = args.bedrock             and args.bedrock ~= '0';
	local bedrock_upcoming_specified = args['bedrock-upcoming'] and args['bedrock-upcoming'] ~= '0';

	local any_specified = java_specified or java_upcoming_specified or bedrock_specified or bedrock_upcoming_specified

	if any_specified then

		if java_specified then
			ordered_item_rows_java = q.construct_ordered_item_rows( chests, 'Java' )
		end
		if java_upcoming_specified then
			ordered_item_rows_java_upcoming = q.construct_ordered_item_rows( chests, 'JavaUpcoming' )
		end
		if bedrock_specified then
			ordered_item_rows_bedrock = q.construct_ordered_item_rows( chests, 'Bedrock' )
		end
		if bedrock_upcoming_specified then
			ordered_item_rows_bedrock_upcoming = q.construct_ordered_item_rows( chests, 'BedrockUpcoming' )
		end

	else

		local java_excluded             = args.java                and args.java == '0';
		local java_upcoming_excluded    = args['java-upcoming']    and args['java-upcoming'] == '0';
		local bedrock_excluded          = args.bedrock             and args.bedrock == '0';
		local bedrock_upcoming_excluded = args['bedrock-upcoming'] and args['bedrock-upcoming'] == '0';

		if not java_excluded then
			ordered_item_rows_java = q.construct_ordered_item_rows( chests, 'Java' )
		end
		if not java_upcoming_excluded then
			ordered_item_rows_java_upcoming = q.construct_ordered_item_rows( chests, 'JavaUpcoming' )
		end
		if not bedrock_excluded then
			ordered_item_rows_bedrock = q.construct_ordered_item_rows( chests, 'Bedrock' )
		end
		if not bedrock_upcoming_excluded then
			ordered_item_rows_bedrock_upcoming = q.construct_ordered_item_rows( chests, 'BedrockUpcoming' )
		end

	end

	if q.tablelength( ordered_item_rows_java ) > 0 then
		table.insert( ret, 'In ' .. p.current_frame:preprocess( p.java ) .. ', ' .. q.lcfirst( q.print_table( chests, columns, ordered_item_rows_java, 'Java' ) ) )
	end
	if q.tablelength( ordered_item_rows_java_upcoming ) > 0 and q.compare_tables( ordered_item_rows_java, ordered_item_rows_java_upcoming ) then
		table.insert( ret, 'In ' .. p.current_frame:preprocess( p['java-upcoming'] ) .. ', ' .. q.lcfirst( q.print_table( chests, columns, ordered_item_rows_java_upcoming, 'JavaUpcoming' ) ) )
	end
	if q.tablelength( ordered_item_rows_bedrock ) > 0 and q.compare_tables( ordered_item_rows_java, ordered_item_rows_bedrock ) then
		table.insert( ret, 'In ' .. p.current_frame:preprocess( p.bedrock ) .. ', ' .. q.lcfirst( q.print_table( chests, columns, ordered_item_rows_bedrock, 'Bedrock' ) ) )
	end
	if q.tablelength( ordered_item_rows_bedrock_upcoming ) > 0 and q.compare_tables( ordered_item_rows_bedrock, ordered_item_rows_bedrock_upcoming ) then
		table.insert( ret, 'In ' .. p.current_frame:preprocess( p['bedrock-upcoming'] ) .. ', ' .. q.lcfirst( q.print_table( chests, columns, ordered_item_rows_bedrock_upcoming, 'BedrockUpcoming' ) ) )
	end

	table.insert( ret, "<div class=mobileonly>" )
	table.insert( ret, p.current_frame:expandTemplate{ title = 'FNlist', args = {} } )
	table.insert( ret, "</div>" )

	return table.concat( ret, '\n\n' )
end

p.doc = function()

	local valid_args = {}
	for chest_name, val in pairs(p.chests) do
		local synonyms = {}
		for syn, orig in pairs(p.synonyms) do
			if orig == chest_name then
				table.insert( synonyms, syn )
			end
		end
		if #synonyms > 0 then
			chest_name = chest_name .. " ( " .. table.concat( synonyms, ", " ) .. " )"
		end
		table.insert( valid_args, chest_name )
	end
	table.sort( valid_args )
	return table.concat( valid_args, ",\n<br>" )

end

p.doc2 = function()

	local valid_args = {}
	for column_name, val in pairs(p.columns) do
		table.insert( valid_args, column_name .. ": " .. val )
	end
	table.sort( valid_args )
	return table.concat( valid_args, ",\n<br>" )

end

p.doc3 = function()

	local valid_args = {}
	for item_name, val in pairs(p.items) do
		table.insert( valid_args, item_name )
	end
	table.sort( valid_args )
	return table.concat( valid_args, ", " )

end

p.base2 = function( ... )

	p.current_frame = mw.getCurrentFrame()

	local args = { ... }
	if args[1] == p.current_frame then
		args = require( 'Módulo:ProcessArgs' ).merge( true )
	else
		args = args[1]
	end

	local itemname = args[1]

	if p.items[itemname] == nil then
		return '<span style="color:red;">unknown item "' .. itemname .. '"</span>'
	end

	if args.java and args.java ~= '0' then
		javaChances = q.single_item_find_values( itemname, 'poolsJava' )
		javaUpcomingChances = {}
		bedrockChances = {}
		bedrockUpcomingChances = {}
	else
		if args['java-upcoming'] and args['java-upcoming'] ~= '0' then
			javaChances = q.single_item_find_values( itemname, 'poolsJavaUpcoming' )
			javaUpcomingChances = {}
			bedrockChances = {}
			bedrockUpcomingChances = {}
		else
			if args.bedrock and args.bedrock ~= '0' then
				javaChances = q.single_item_find_values( itemname, 'poolsBedrock' )
				javaUpcomingChances = {}
				bedrockChances = {}
				bedrockUpcomingChances = {}
			else
				if args['bedrock-upcoming'] and args['bedrock-upcoming'] ~= '0' then
					javaChances = q.single_item_find_values( itemname, 'poolsBedrockUpcoming' )
					javaUpcomingChances = {}
					bedrockChances = {}
					bedrockUpcomingChances = {}
				else
					javaChances = q.single_item_find_values( itemname, 'poolsJava' )
					javaUpcomingChances = q.single_item_find_values( itemname, 'poolsJavaUpcoming', javaChances )
					bedrockChances = q.single_item_find_values( itemname, 'poolsBedrock' )
					bedrockUpcomingChances = q.single_item_find_values( itemname, 'poolsBedrockUpcoming', javaChances, bedrockChances )
				end
			end
		end
	end

	local html = {}

	local any_current = q.tablelength( javaChances ) > 0
	local any_changes_upcoming = q.tablelength( javaUpcomingChances ) > 0 and q.compare_tables( javaChances, javaUpcomingChances )
	local any_standard = any_current or any_changes_upcoming

	local any_bedrock_current = q.tablelength( bedrockChances ) > 0
	local any_bedrock_upcoming = q.tablelength( bedrockUpcomingChances ) > 0 and q.compare_tables( bedrockChances, bedrockUpcomingChances )
	local any_bedrock = any_bedrock_current or any_bedrock_upcoming

	local change_case = p.items[itemname].preserve_case == nil or p.items[itemname].preserve_case ~= true

	if any_current then
		table.insert( html, p.base2_sub( itemname, javaChances ) )
	end
	if any_changes_upcoming then
		table.insert( html, p.current_frame:preprocess( p['java-upcoming']  ) .. ( change_case and q.lcfirst( p.base2_sub( itemname, javaUpcomingChances, any_current ) ) or p.base2_sub( itemname, javaUpcomingChances, any_current ) ) )
	end
	if any_bedrock_current then
		table.insert( html, ( any_standard and '\n\n' or '' ) .. p.current_frame:preprocess( p.bedrock ) .. ( change_case and q.lcfirst( p.base2_sub( itemname, bedrockChances, any_standard ) ) or p.base2_sub( itemname, bedrockChances, any_standard ) ) )
	end
	if any_bedrock_upcoming then
		table.insert( html, ( any_standard and not any_bedrock_current and '\n\n' or '' ) .. p.current_frame:preprocess( p['bedrock-upcoming'] ) .. ( change_case and q.lcfirst( p.base2_sub( itemname, bedrockUpcomingChances, any_bedrock_current or any_standard ) ) or p.base2_sub( itemname, bedrockUpcomingChances, any_bedrock_current or any_standard ) ) )
	end

	if args.nocat then
	else
		table.insert( html, '[[Categoría:Páginas con las plantillas loot chest item]]' )
		if p.items[itemname].category ~= nil and p.items[itemname].category ~= false then
			table.insert( html, '[[Categoría:Páginas con objetos específicos de cofre de botín]]' )
		end
		if any_bedrock and (mw.title.getCurrentTitle().namespace == 0) then
			table.insert( html, '[[Categoría:Información específica de Bedrock Edition]]' )
		end
	end

	return table.concat( html, ' ' )
end

p.base2_sub = function( itemname, chances, use_they )

	local html = {}
	local item_display_name = ''

	if use_they then
		item_display_name = 'they'
	else
		if p.items[itemname].plural ~= nil and p.items[itemname].plural ~= false then
			item_display_name = p.items[itemname].plural
		else
			if p.items[itemname].title ~= nil then
				item_display_name = p.items[itemname].title
			else
				item_display_name = string.gsub( itemname, '-', ' ' )
			end
			if p.items[itemname].plural == nil or p.items[itemname].plural ~= false then
				item_display_name = q.single_item_plural( item_display_name )
			end
		end

		if p.items[itemname].preserve_case == nil or p.items[itemname].preserve_case ~= true then
			item_display_name = q.capitalize( item_display_name )
		end

		if p.items[itemname].note and p.notes[p.items[itemname].note] then
			item_display_name = item_display_name .. p.current_frame:extensionTag( 'ref', p.notes[p.items[itemname].note], { group='FN', name=p.items[itemname].note } )
		end

		if p.items[itemname].note1 and p.notes[p.items[itemname].note1] then
			if p.items[itemname].note == nil or p.notes[p.items[itemname].note] == nil or p.items[itemname].note ~= p.items[itemname].note1 then
				item_display_name = item_display_name .. p.current_frame:extensionTag( 'ref', p.notes[p.items[itemname].note1], { group='FN', name=p.items[itemname].note1 } )
			end
		end
	end

	table.insert( html, item_display_name )
	table.insert( html, ' can be found ' )

	local html_stacks = {}
	local stack_sep = ', '
	local ns = q.tablelength( chances )
	local s = 0

	for stacksize, chest_details in pairs( chances ) do
		s = s + 1

		local html_per_stack = { 'in ' }
		local c = 0
		local nc = q.tablelength( chest_details )
		local sep = ( nc > 2 and ', ' or ' ' )
		if nc > 2 and s ~= ns then
			stack_sep = '; '
		end
		for k, chest in pairs( chest_details ) do
			c = c + 1
			if c == nc and nc > 1 then
				table.insert( html_per_stack, 'and ' )
			end
			if chest.chance == 1 then
				table.insert( html_per_stack, " all " )
			else
				table.insert( html_per_stack, string.format("%.1f", chest.chance*100) )
				table.insert( html_per_stack, "% of " )
			end
			if chest.chest_type == 'minecart with chest' then
				table.insert( html_per_stack, ' [[Minecart with Chest|chest minecarts]] in ' )
				table.insert( html_per_stack, p.chests[chest.chest_name].link )
			elseif chest.chest_type == 'dispenser' then
				table.insert( html_per_stack, ' [[dispenser]]s in ' )
				table.insert( html_per_stack, p.chests[chest.chest_name].link )
			else
				table.insert( html_per_stack, p.chests[chest.chest_name].link )
				table.insert( html_per_stack, ' chests' )
			end
			table.insert( html_per_stack, sep )
		end
		if nc > 2 then
			table.insert( html_per_stack, 'all ' )
		end
		table.insert( html_per_stack, 'in ' )
		if p.items[itemname].cannot_stack ~= nil then
			table.insert( html_per_stack, 'groups of ' )
		else
			table.insert( html_per_stack, 'stacks of ' )
		end
		table.insert( html_per_stack, stacksize )

		table.insert( html_stacks, table.concat( html_per_stack ) )
	end

	local stackwise_summaries = ''
	if #html_stacks == 1 then
		table.insert( html, html_stacks[1] )
	else
		for i = 1, #html_stacks - 1 do
			table.insert( html, html_stacks[ i ] )
			table.insert( html, stack_sep )
		end
		table.insert( html, 'and ' )
		table.insert( html, html_stacks[#html_stacks] )
	end

	table.insert( html, '.' )

	return table.concat( html )

end

p.base2_test = function()

	items = {}
	for item_name, v in pairs( p.items ) do
		table.insert( items, p.base2{ item_name, ["nocat"]=true } .. '\n\n' )
	end

	table.sort( items )

	return table.concat(items)
end








p.base3 = function( ... )

	p.current_frame = mw.getCurrentFrame()

	local args = { ... }
	if args[1] == p.current_frame then
		args = require( 'Módulo:ProcessArgs' ).merge( true )
	else
		args = args[1]
	end

	local z = args[1]

	local html_java = {}
	local html_java_u = {}
	local html_bedrock = {}
	local html_bedrock_u = {}

	local rErr = ""

	local zT = {}
	if args[1] == "!!!ALL!!!" then
		for item_name, v in pairs( p.items ) do
			table.insert( zT, item_name )
			table.sort( zT )
		end
	else
		zT = mw.text.split( args[1], ',' )
	end

	for x, itemname in pairs( zT ) do

		if p.items[itemname] == nil then
			rErr = rErr .. "<span class='error'>Unknown item " .. itemname .. ".</span>\n"
		else

			local javaChances, javaUpcomingChances, bedrockChances, bedrockUpcomingChances

			if args.java and args.java ~= '0' then
				javaChances = q.single_item_find_values( itemname, 'poolsJava' )
				javaUpcomingChances = {}
				bedrockChances = {}
				bedrockUpcomingChances = {}
			else
				if args['java-upcoming'] and args['java-upcoming'] ~= '0' then
					javaChances = q.single_item_find_values( itemname, 'poolsJavaUpcoming' )
					javaUpcomingChances = {}
					bedrockChances = {}
					bedrockUpcomingChances = {}
				else
					if args.bedrock and args.bedrock ~= '0' then
						javaChances = q.single_item_find_values( itemname, 'poolsBedrock' )
						javaUpcomingChances = {}
						bedrockChances = {}
						bedrockUpcomingChances = {}
					else
						if args['bedrock-upcoming'] and args['bedrock-upcoming'] ~= '0' then
							javaChances = q.single_item_find_values( itemname, 'poolsBedrockUpcoming' )
							javaUpcomingChances = {}
							bedrockChances = {}
							bedrockUpcomingChances = {}
						else
							javaChances = q.single_item_find_values( itemname, 'poolsJava' )
							javaUpcomingChances = q.single_item_find_values( itemname, 'poolsJavaUpcoming', javaChances )
							bedrockChances = q.single_item_find_values( itemname, 'poolsBedrock' )
							bedrockUpcomingChances = q.single_item_find_values( itemname, 'poolsBedrockUpcoming', javaChances, bedrockChances )
						end
					end
				end
			end

			local any_current = q.tablelength( javaChances ) > 0
			local any_changes_upcoming = q.tablelength( javaUpcomingChances ) > 0 and q.compare_tables( javaChances, javaUpcomingChances )
			local any_standard = any_current or any_changes_upcoming

			local any_bedrock_current = q.tablelength( bedrockChances ) > 0
			local any_bedrock_upcoming = q.tablelength( bedrockUpcomingChances ) > 0 and q.compare_tables( bedrockChances, bedrockUpcomingChances )
			local any_bedrock = any_bedrock_current or any_bedrock_upcoming

			if any_current then
				table.insert( html_java, p.base3_sub( itemname, javaChances ) )
			end
			if any_changes_upcoming then
				table.insert( html_java_u, p.base3_sub( itemname, javaUpcomingChances ) )
			end
			if any_bedrock_current then
				table.insert( html_bedrock, p.base3_sub( itemname, bedrockChances ) )
			end
			if any_bedrock_upcoming then
				table.insert( html_bedrock_u, p.base3_sub( itemname, bedrockUpcomingChances ) )
			end

		end
	end

	local output = rErr .. '{| class="wikitable sortable" \n! Objeto \n! Estructura \n! Contenedor \n! Cantidad \n! Probabilidad \n'
	if q.tablelength( html_java ) > 0 then
		output = output .. '|-\n!colspan=5|' .. p['java'] .. ' \n' .. table.concat( html_java )
	end
	if q.tablelength( html_java_u ) > 0 then
		output = output .. '|-\n!colspan=5|' .. p['java-upcoming'] .. ' \n' .. table.concat( html_java_u )
	end
	if q.tablelength( html_bedrock ) > 0 then
		output = output .. '|-\n!colspan=5|' .. p.bedrock .. ' \n' .. table.concat( html_bedrock )
	end
	if q.tablelength( html_bedrock_u ) > 0 then
		output = output .. '|-\n!colspan=5|' .. p['bedrock-upcoming'] .. ' \n' .. table.concat( html_bedrock_u )
	end
	output = output .. '|}' .. p.current_frame:extensionTag( 'references', "", { group="FN" } )

	return output
end

p.base3_sub = function( itemname, chances )
	local html = {}
	local item_display_name = ''
	local output = ""
	lang = mw.getContentLanguage()

	if p.items[itemname].title ~= nil then
		item_display_name = p.items[itemname].title
	else
		item_display_name = q.titlecase( string.gsub( itemname, '-', ' ' ) )
	end

	local objectList = {}
	local ns = q.tablelength( chances )
	local s = 0
	local m = 0

	local rn = 0

	for stacksize, chest_details in pairs( chances ) do
		s = s + 1

		local nc = q.tablelength( chest_details )
		local c = 0
		for k, chest in pairs( chest_details ) do
			c = c + 1
			rn = rn + 1
            local containerText = p.chests[chest.chest_name].container
            if string.len(containerText) == 0 then
                containerText = 'Cofre'
            end
			local r = ""

			r = r .. '|' .. string.gsub( containerText, ' ', '&nbsp;' ) .. '\n|' .. stacksize .. '\n|' .. lang:formatNum( math.floor( chest.chance*1000 + 0.5 ) /10 ) .. '%' .. '\n'
			if ns ~= s or nc ~= c then
				r = r
			end

			table.insert( objectList , { p.chests[chest.chest_name].structID , p.chests[chest.chest_name].structure, r } )

		end
		m = m + nc
	end
	table.sort( objectList, function(a,b) return a[1] < b[1] end )
	local struct = ""
	local t = ""
	local nt = 1
	local ntt = 0
	for v, w  in pairs( objectList ) do
		ntt = ntt + 1
		if w[1] ~= struct then
			if t ~= "" then
				output = output .. "|rowspan=" .. nt .. t
			end
			t = "|'''" .. p.current_frame:expandTemplate{ title = 'EnlaceEntorno', args = { w[2],  id = w[1] } } .. "'''\n" .. w[3]
			struct = w[1]
			nt = 1
		else
			t = t .. w[3]
			nt = nt + 1
		end
		if ntt == m then
			output = output .. "|rowspan=" .. nt .. t
		else
			t = t .. '|-' .. '\n'
		end
	end

	return "|-\n| rowspan=" .. m .. "|'''" .. p.getItem(itemname, item_display_name) .. "'''\n" .. output

end

p.getItem = function( itemname, item_display_name )
	local s = ""
	local k = item_display_name
	local link = item_display_name
	local m = itemname

	if p.items[itemname].title ~= nil then
		k = p.items[itemname].title
	end
	if p.items[itemname].link ~= nil then
		link = p.items[itemname].link
	end
	if p.items[itemname].id ~= nil then
		m = p.items[itemname].id
	end

	if p.items[itemname][1] == "item" then
		s = p.current_frame:expandTemplate{ title = 'EnlaceObjeto', args = { link , k , id = m } }
	elseif p.items[itemname][1] == "block" then
		s = p.current_frame:expandTemplate{ title = 'EnlaceBloque', args = { link , k , id = m } }
	end

	if p.items[itemname].note and p.notes[p.items[itemname].note] then
		s = s .. p.current_frame:extensionTag( 'ref', p.notes[p.items[itemname].note], { group='FN', name=p.items[itemname].note } )
	end

	if p.items[itemname].note1 and p.notes[p.items[itemname].note1] then
		if p.items[itemname].note == nil or p.notes[p.items[itemname].note] == nil or p.items[itemname].note ~= p.items[itemname].note1 then
			s = s .. p.current_frame:extensionTag( 'ref', p.notes[p.items[itemname].note1], { group='FN', name=p.items[itemname].note1 } )
		end
	end

	return s

end








q = {

	tablelength = function(T)
		local count = 0
		for _ in pairs(T) do count = count + 1 end
		return count
	end,

	deepcopy = function(orig)
	    local orig_type = type(orig)
	    local copy
	    if orig_type == 'table' then
	        copy = {}
	        for orig_key, orig_value in next, orig, nil do
	            copy[q.deepcopy(orig_key)] = q.deepcopy(orig_value)
	        end
	        setmetatable(copy, q.deepcopy(getmetatable(orig)))
	    else -- number, string, boolean, etc
	        copy = orig
	    end
	    return copy
	end,

	single_item_find_values = function( itemname, poolsKey, exclusions_param, other_exclusions_param )

		local chances = {}

		local exclusions = q.deepcopy(exclusions_param or {})
		local other_exclusions = q.deepcopy(other_exclusions_param or {})

		for stacksize, other_exclusion_list in pairs(other_exclusions) do
			if exclusions[stacksize] == nil then
				exclusions[stacksize] = {}
			end
			for _, other_exclusion in pairs(other_exclusion_list) do
				local already_in_here = false
				for _, exclusion in pairs(exclusions[stacksize]) do
					if exclusion["chest_name"] == other_exclusion["chest_name"] and exclusion["chance"] == other_exclusion["chance"] then
						already_in_here = true
						break
					end
				end
				if not already_in_here then
					table.insert( exclusions[stacksize], other_exclusion )
				end
			end
		end

		for chest_name, chest in pairs( p.chests ) do
			local poolchances = {}
			for k, pool in pairs( chest[poolsKey] or chest.poolsJava or {} ) do
				local poolitem = pool.items[itemname]
				if poolitem ~= nil then

					local stacksize = poolitem[1]
					if poolitem[1] ~= poolitem[2] then
						stacksize = stacksize .. "–" .. poolitem[2]
					end

					local itemweight = poolitem[3]

					local pool_total_item_weight = 0
					for itemname, item in pairs(pool.items) do
						pool_total_item_weight = pool_total_item_weight + item[3]
					end

					local chance = p.calc_chance_any_of_this_item_per_pool(
						pool.rolls[1], pool.rolls[2],
						itemweight, pool_total_item_weight )

					if poolchances[stacksize] == nil then
						poolchances[stacksize] = chance
					else
						poolchances[stacksize] = poolchances[stacksize] + (1 - poolchances[stacksize]) * chance
					end
				end
			end
			for stacksize, chance in pairs( poolchances ) do
				local excluded = false
				for _, exclusion in pairs( exclusions[stacksize] or {} ) do
					if exclusion["chest_name"] == chest_name and exclusion["chance"] == chance then
						excluded = true
						break
					end
				end
				if not excluded then
					if chances[stacksize] == nil then
						chances[stacksize] = {}
					end
					table.insert( chances[stacksize], { ["chance"]=chance, ["chest_name"]=chest_name, ["chest_type"]=( chest.chest_type or "chest" ) } )
				end
			end
		end

		return chances

	end,

	single_item_plural = function( itemname )

		if string.sub( itemname, -2 ) == 'ss'
			or string.sub( itemname, -2 ) == 'ch'
			or string.sub( itemname, -2 ) == 'sh'
			or string.sub( itemname, -1 ) == 's' then
				return itemname .. 'es'
		end

		return itemname .. 's'

	end,

	massage_args = function( args )

		-- find what columns to put

		local columns = {}

		for k, _arg in pairs(args) do
			if p.columns[_arg] ~= nil then
				columns[_arg] = true
			end
		end

		if q.tablelength(columns) == 0 then
			for column_name, v in pairs(p.columns) do
				columns[column_name] = true
			end
		end

		-- find what chests to show

		local chests = {}

		for k, _arg in pairs(args) do
			if p.chests[_arg] ~= nil then
				table.insert( chests, _arg )
			elseif p.synonyms[_arg] ~= nil then
				table.insert( chests, p.synonyms[_arg] )
			end
			if p.display_names[_arg] ~= nil then
				local chestname = _arg
				if p.chests[chestname] == nil then
					chestname = p.synonyms[_arg]
				end
				p.chests[chestname].display_name = p.display_names[_arg]
			end
		end

		if #chests == 0 then
			for chest_name, chest in pairs(p.chests) do
				local chest_type = ( chest.chest_type or "chest" )
				if chest_type == "chest" or chest_type == "minecart with chest" then
					table.insert( chests, chest_name )
				end
			end
		end

		table.sort( chests )

		return chests, columns

	end,

	sort_items = function( e1, e2 )

		if e1.chanceany ~= e2.chanceany then return ( e1.chanceany > e2.chanceany ) end
		if e1.avgamount ~= e2.avgamount then return ( e1.avgamount > e2.avgamount ) end

		if e1.material == nil then

			e1.material = 0
			if string.find( e1.itemname, "leather" ) ~= nil then e1.material = 1 end
			if string.find( e1.itemname, "iron" ) ~= nil then e1.material = 2 end
			if string.find( e1.itemname, "gold" ) ~= nil then e1.material = 3 end
			if string.find( e1.itemname, "diamond" ) ~= nil then e1.material = 4 end
			if string.find( e1.itemname, "netherite" ) ~= nil then e1.material = 5 end
			e1.armor = 0
			if string.find( e1.itemname, "helmet" ) ~= nil or string.find( e1.itemname, "cap" ) ~= nil then e1.armor = 1 end
			if string.find( e1.itemname, "chestplate" ) ~= nil or string.find( e1.itemname, "tunic" ) ~= nil then e1.armor = 2 end
			if string.find( e1.itemname, "leggings" ) ~= nil or string.find( e1.itemname, "pants" ) ~= nil then e1.armor = 3 end
			if string.find( e1.itemname, "boots" ) ~= nil then e1.armor = 4 end

		end

		if e2.material == nil then

			e2.material = 0
			if string.find( e2.itemname, "leather" ) ~= nil then e2.material = 1 end
			if string.find( e2.itemname, "iron" ) ~= nil then e2.material = 2 end
			if string.find( e2.itemname, "gold" ) ~= nil then e2.material = 3 end
			if string.find( e2.itemname, "diamond" ) ~= nil then e2.material = 4 end
			e2.armor = 0
			if string.find( e2.itemname, "helmet" ) ~= nil or string.find( e2.itemname, "cap" ) ~= nil then e2.armor = 1 end
			if string.find( e2.itemname, "chestplate" ) ~= nil or string.find( e2.itemname, "tunic" ) ~= nil then e2.armor = 2 end
			if string.find( e2.itemname, "leggings" ) ~= nil or string.find( e2.itemname, "pants" ) ~= nil then e2.armor = 3 end
			if string.find( e2.itemname, "boots" ) ~= nil then e2.armor = 4 end

		end

		if e1.material ~= e2.material then return ( e1.material < e2.material ) end
		if e1.armor ~= e2.armor then return ( e1.armor < e2.armor ) end

		return ( e1.itemname < e2.itemname )

	end,

	fill_in_chest_derivative_data = function( chest_names )

		for k, chest_name in pairs(chest_names) do
			local chest = p.chests[chest_name]
			if chest == nil then break end

			chest.allRollsJava = {}
			chest.itemDataJava = {}
			for k, pool in pairs( chest.poolsJava or {} ) do
				table.insert( chest.allRollsJava, ( pool.rolls[1] == pool.rolls[2] and pool.rolls[1] or pool.rolls[1]..'–'..pool.rolls[2] ) )

				local total_weight = 0
				for itemname, item in pairs(pool.items) do
					total_weight = total_weight + item[3]
				end
				pool.totalweight = total_weight

				q.fill_in_chest_item_details( chest.itemDataJava, pool, #chest.allRollsJava )
			end

			chest.allRollsJavaUpcoming = {}
			chest.itemDataJavaUpcoming = {}
			for k, pool in pairs( chest.poolsJavaUpcoming or chest.poolsJava or {} ) do
				table.insert( chest.allRollsJavaUpcoming, ( pool.rolls[1] == pool.rolls[2] and pool.rolls[1] or pool.rolls[1]..'–'..pool.rolls[2] ) )

				local total_weight = 0
				for itemname, item in pairs(pool.items) do
					total_weight = total_weight + item[3]
				end
				pool.totalweight = total_weight

				q.fill_in_chest_item_details( chest.itemDataJavaUpcoming, pool, #chest.allRollsJavaUpcoming )
			end

			chest.allRollsBedrock = {}
			chest.itemDataBedrock = {}
			for k, pool in pairs( chest.poolsBedrock or chest.poolsJava or {} ) do
				table.insert( chest.allRollsBedrock, ( pool.rolls[1] == pool.rolls[2] and pool.rolls[1] or pool.rolls[1]..'–'..pool.rolls[2] ) )

				local total_weight = 0
				for itemname, item in pairs(pool.items) do
					total_weight = total_weight + item[3]
				end
				pool.totalweight = total_weight

				q.fill_in_chest_item_details( chest.itemDataBedrock, pool, #chest.allRollsBedrock )
			end

			chest.allRollsBedrockUpcoming = {}
			chest.itemDataBedrockUpcoming = {}
			for k, pool in pairs( chest.poolsBedrockUpcoming or chest.poolsJava or {} ) do
				table.insert( chest.allRollsBedrockUpcoming, ( pool.rolls[1] == pool.rolls[2] and pool.rolls[1] or pool.rolls[1]..'–'..pool.rolls[2] ) )

				local total_weight = 0
				for itemname, item in pairs(pool.items) do
					total_weight = total_weight + item[3]
				end
				pool.totalweight = total_weight

				q.fill_in_chest_item_details( chest.itemDataBedrockUpcoming, pool, #chest.allRollsBedrockUpcoming )
			end
		end
	end,

	fill_in_chest_item_details = function( data, pool, ct )
		for item_name, item in pairs(pool.items) do
			if p.items[item_name] then
				local min_stacksize = item[1]
				local max_stacksize = item[2]
				local min_pool_rolls = pool.rolls[1]
				local max_pool_rolls = pool.rolls[2]
				local item_weight = item[3]

				if data[item_name] == nil then
					data[item_name] = {
						avgamount = 0,
						chanceany = 0,
						itemname = item_name,
						sortsize = {},
						sortweight = {},
						sizes = {},
						weights = {},
					}
					for i = 1, ct-1 do
						data[item_name].sortsize[i] = 0
						data[item_name].sortweight[i] = 0
						data[item_name].sizes[i] = '—'
						data[item_name].weights[i] = '—'
					end
				end

				data[item_name].avgamount = data[item_name].avgamount + p.calc_average_amount_this_item_per_pool(
					min_stacksize, max_stacksize,
					min_pool_rolls, max_pool_rolls,
					item_weight, pool.totalweight )

				data[item_name].chanceany = data[item_name].chanceany + (1 - data[item_name].chanceany) * p.calc_chance_any_of_this_item_per_pool(
					min_pool_rolls, max_pool_rolls,
					item_weight, pool.totalweight )

				data[item_name].sortsize[ct] = ( min_stacksize + max_stacksize ) / 2
				data[item_name].sortweight[ct] = item_weight;
				data[item_name].sizes[ct] = ( min_stacksize == max_stacksize and min_stacksize or min_stacksize .. '–' .. max_stacksize )
				data[item_name].weights[ct] = p.current_frame:expandTemplate{ title = 'frac', args = { item_weight, pool.totalweight } }
			end
		end

		for item_name, d in pairs(data) do
			if not d.sizes[ct] then
				d.sortsize[ct] = 0
				d.sortweight[ct] = 0
				d.sizes[ct] = '—'
				d.weights[ct] = '—'
			end
		end
	end,

	construct_ordered_items_from_first_chest = function( chest_names, suffix )
		local items_from_first_table = {}
		local item_chests = {}
		local item_names_ordered = {}
		for item_name, item in pairs( p.chests[chest_names[1]]['itemData'..suffix] ) do
			table.insert( items_from_first_table, item )
		end

		table.sort( items_from_first_table, q.sort_items )

		for k, item in pairs( items_from_first_table ) do
			table.insert( item_names_ordered, item.itemname )
			item_chests[item.itemname] = true
		end

		return item_names_ordered, item_chests
	end,

	get_ordered_items_from_other_chests = function( chest_names, item_chests, suffix )
		local items_not_from_first_table = {}

		for chest_idx = 2, #chest_names do
			for item_name, item in pairs( p.chests[chest_names[chest_idx]]['itemData'..suffix] ) do
				if item_chests[item_name] == nil then
					p.items[item_name].itemname = item_name
					table.insert( items_not_from_first_table, p.chests[chest_names[chest_idx]]['itemData'..suffix][item_name] )
					item_chests[item_name] = true
				end
			end
		end

		table.sort( items_not_from_first_table, q.sort_items )

		return items_not_from_first_table
	end,

	add_other_items_to_first_list = function( chest_names, item_names_ordered, item_chests, items_not_from_first_table )
		for k, item in pairs( items_not_from_first_table ) do
			table.insert( item_names_ordered, item.itemname )
		end

		return item_names_ordered
	end,

	set_up_ordered_item_rows = function( chest_names, item_names_ordered, suffix )
		for k, itemname in pairs(item_names_ordered) do
			item_names_ordered[k] = {itemname}
			for chest_idx = 1, #chest_names do
				if suffix == 'JavaUpcoming' or p.chests[chest_names[chest_idx]]['pools'..suffix] ~= nil then
					local item_data = p.chests[chest_names[chest_idx]]['itemData'..suffix][itemname]
					if item_data == nil then
						table.insert( item_names_ordered[k], false )
					else
						table.insert( item_names_ordered[k], item_data )
					end
				end
			end
		end

		return item_names_ordered
	end,

	construct_ordered_item_rows = function( chest_names, suffix )
		-- for the first chest, sort its by chance desc, then by avg amount desc, then alphabetically asc
		local item_names_ordered, item_chests = q.construct_ordered_items_from_first_chest( chest_names, suffix )

		if #chest_names > 1 then
			-- after that, sort all the remaining items in list order
			local items_not_from_first_table = q.get_ordered_items_from_other_chests( chest_names, item_chests, suffix )
			item_names_ordered = q.add_other_items_to_first_list( chest_names, item_names_ordered, item_chests, items_not_from_first_table )
		end

		-- set up item_names_ordered so that each is a row, representing chest values
		item_names_ordered = q.set_up_ordered_item_rows( chest_names, item_names_ordered, suffix )

		return item_names_ordered
	end,

	print_table = function( chest_names, columns, ordered_item_rows, suffix )
		local html = {}

		local use_roll_row = false
		local use_superheader = false
		local superheader_sizes = {}
		for i = 1, #chest_names do
			sh = p.chests[chest_names[i]].superheader
			if sh ~= nil then
				if superheader_sizes[sh] == nil then
					superheader_sizes[sh] = 0
				end
				superheader_sizes[sh] = superheader_sizes[sh] + 1

				if #chest_names > 1 then
					use_superheader = true
				end
			end
			local allRolls = p.chests[chest_names[i]]['allRolls'..suffix]
			if #allRolls > 1 then
				use_roll_row = true
			end
		end
		if columns['stacksize'] == nil and columns['weight'] == nil then
			use_roll_row = false
		end

		local rowspan = ( #chest_names > 1 and 1 or 0 ) + ( use_superheader and 1 or 0 ) + 1
		local hide_col_description = rowspan > 1 and q.tablelength(columns) == 1
		if use_roll_row then
			rowspan = rowspan + 1
		end

		if q.tablelength(columns) == 1 then
			for column_name, v in pairs(columns) do
				table.insert( html, "Values represent " )
				table.insert( html, p.columns[column_name]:lower() )
				table.insert( html, "\n" )
			end
		end

		if #chest_names == 1 then

			if q.tablelength(columns) == 1 then
				table.insert( html, "<br>" )
			end

			local chest_name = chest_names[1]
			local allRolls = p.chests[chest_name]['allRolls'..suffix]
			local chest_type = p.chests[chest_name].chest_type or "chest"

			local display_name = p.chests[chest_name].display_name

			chest_name = chest_name:gsub( "-", " " )

			table.insert( html, "Each " )
			table.insert( html, display_name or chest_name )
			if chest_type ~= 'chest' and chest_type ~= 'minecart with chest' then
				table.insert( html, " contains " )
			else
				table.insert( html, " chest contains " )
			end
			if #allRolls == 1 then
				table.insert( html, allRolls[1] )
				table.insert( html, " item stacks, " )
			else
				table.insert( html, ' items drawn from ' )
				table.insert( html, #allRolls )
				table.insert( html, ' pools, ' )
			end
			table.insert( html, " with the following distribution: \n" )
		end

		table.insert( html, '<div style="overflow:auto">\n' )
		table.insert( html, '<table class="wikitable sortable jquery-tablesorter">\n' )
		table.insert( html, "<tr>\n" )
		table.insert( html, "<th rowspan=" )
		table.insert( html, ( rowspan - ( hide_col_description and 1 or 0 ) ) )
		table.insert( html, "> Item </th>\n" )

		local superheader_cols_used = {}

		if #chest_names > 1 then
			local row1, row2 = {}, {}

			for i = 1, #chest_names do

				if suffix == 'JavaUpcoming' or p.chests[chest_names[i]]['pools'..suffix] ~= nil then
					local allRolls = p.chests[chest_names[i]]['allRolls'..suffix]
					local colspan = q.tablelength(columns)
					local allRollsSpan = #allRolls == 0 and 1 or #allRolls
					if columns['stacksize'] ~= nil then
						colspan = colspan - 1 + allRollsSpan
					end
					if columns['weight'] ~= nil then
						colspan = colspan - 1 + allRollsSpan
					end
					local row = row1

					rowspan = 1
					if use_superheader then
						sh = p.chests[chest_names[i]].superheader
						if sh ~= nil then
							if superheader_cols_used[sh] == nil then
								table.insert( row, "<th colspan=" )
								table.insert( row, ( colspan * superheader_sizes[sh] ) )
								table.insert( row, ">" )
								table.insert( row, sh )
								table.insert( row, "</th>\n" )
								superheader_cols_used[sh] = 0
							end
							row = row2
						else
							rowspan = rowspan + 1
						end
					end
					if use_roll_row and hide_col_description and #allRolls < 2 then
						rowspan = rowspan + 1
					end

					table.insert( row, "<th colspan=" )
					table.insert( row, colspan )
					if rowspan > 1 then
						table.insert( row, " rowspan=" )
						table.insert( row, rowspan )
					end
					table.insert( row, ">" )
					table.insert( row, p.chests[ chest_names[i] ].header )
					if #allRolls > 0 then
						table.insert( row, ' <br><span style="font-weight:normal; font-style:italic; font-size:11px;">(' )
						if #allRolls == 1 then
							table.insert( row, allRolls[1] )
						else
							local s = ( #allRolls > 2 and ', ' or ' ' )
							for i = 1, #allRolls-1 do
								table.insert( row, allRolls[i] )
								table.insert( row, s )
							end
							table.insert( row, 'and ' )
							table.insert( row, allRolls[#allRolls] )
						end
						table.insert( row, ' stacks)</span>' )
					end
					table.insert( row, "</th>\n" )
				end
			end

			table.insert( html, table.concat( row1 ) )
			table.insert( html, "</tr><tr>\n" )
			if #row2 then
				table.insert( html, table.concat( row2 ) )
				table.insert( html, "</tr><tr>\n" )
			end
		end

		if not hide_col_description then
			local headersort_th_open
			if use_roll_row then
				headersort_th_open = "<th rowspan='2' class='headersort' role='columnheader button' data-sort-type='number'> <abbr title='"
			else
				headersort_th_open = "<th class='headersort' role='columnheader button' data-sort-type='number'> <abbr title='"
			end
			for i = 1, #chest_names do
				if suffix == 'JavaUpcoming' or p.chests[chest_names[i]]['pools'..suffix] ~= nil then
					local allRolls = p.chests[chest_names[i]]['allRolls'..suffix]
					local allRollsSpan = #allRolls == 0 and 1 or #allRolls
					local headersort_th_colspan_open
					if #allRolls > 1 then
						headersort_th_colspan_open = "<th colspan='" .. allRollsSpan .. "' role='columnheader'> <abbr title='"
					else
						headersort_th_colspan_open = headersort_th_open
					end

					if columns['stacksize'] ~= nil then
						table.insert( html, headersort_th_colspan_open )
						table.insert( html, p.columns['stacksize'] )
						table.insert( html, "'> Stack Size </abbr> <span class=mobileonly>")
						table.insert( html, p.current_frame:extensionTag{
							name = 'ref', content = p.columns['stacksize'], args = { name = 'stacksize', group = 'FN' }
						} )
						table.insert( html, "</span></th>\n" )
					end
					if columns['weight'] ~= nil then
						table.insert( html, headersort_th_colspan_open )
						table.insert( html, p.columns['weight'] )
						table.insert( html, "'> Weight </abbr> <span class=mobileonly> ")
						table.insert( html, p.current_frame:extensionTag{
							name = 'ref', content = p.columns['weight'], args = { name = 'weight', group = 'FN' }
						} )
						table.insert( html, "</span></th>\n" )
					end
					if columns['chance'] ~= nil then
						table.insert( html, headersort_th_open )
						table.insert( html, p.columns['chance'] )
						table.insert( html, "'> Chance </abbr> <span class=mobileonly> ")
						table.insert( html, p.current_frame:extensionTag{
							name = 'ref', content = p.columns['chance'], args = { name = 'chance', group = 'FN' }
						} )
						table.insert( html, "</span></th>\n" )
					end
					if columns['items'] ~= nil then
						table.insert( html, headersort_th_open )
						table.insert( html, p.columns['items'] )
						table.insert( html, "'> Avg.<br>per chest </abbr> <span class=mobileonly> ")
						table.insert( html, p.current_frame:extensionTag{
							name = 'ref', content = p.columns['items'], args = { name = 'items', group = 'FN' }
						} )
						table.insert( html, "</span></th>\n" )
					end
					if columns['chests'] ~= nil then
						table.insert( html, headersort_th_open )
						table.insert( html, p.columns['chests'] )
						table.insert( html, "'> Avg. # chests<br>to search </abbr> <span class=mobileonly> ")
						table.insert( html, p.current_frame:extensionTag{
							name = 'ref', content = p.columns['chests'], args = { name = 'chests', group = 'FN' }
						} )
						table.insert( html, "</span></th>\n" )
					end
				end
			end
			table.insert( html, "</tr><tr>\n" )
		end

		if use_roll_row then
			local rowcols = ( columns['stacksize'] ~= nil and 1 or 0 ) + ( columns['weight'] ~= nil and 1 or 0 )
			for i = 1, #chest_names do
				local allRolls = p.chests[chest_names[i]]['allRolls'..suffix]
				if #allRolls > 1 then
					for j = 1, rowcols do
						for k = 1, #allRolls do
							table.insert( html, "<th class='headersort' role='columnheader button' data-sort-type='number' style='font-weight:normal'><abbr title='The chest draws " )
							table.insert( html, allRolls[k] )
							table.insert( html, " stack(s) randomly from this pool.'>" )
							table.insert( html, allRolls[k] )
							table.insert( html, "×</abbr></th>\n" )
						end
					end
				end
			end
			table.insert( html, "</tr><tr>\n" )
		end

		for i = 1, #ordered_item_rows do
			if type( ordered_item_rows[i] ) == "table" then
				for j = 1, #ordered_item_rows[i] do

					local chest_item = ordered_item_rows[i][j]

					if type( chest_item ) == "table" then

						local avg_amount = string.format("%.3f", chest_item.avgamount)
						local chance_any = string.format("%.1f", chest_item.chanceany*100) .. "%"
						local num_chests = string.format("%.1f", 1/chest_item.chanceany)

						table.insert( html, "\n" )
						if columns['stacksize'] ~= nil then
							for k = 1, #chest_item.sizes do
								table.insert( html, "<td style='text-align:center;' data-sort-value='" )
								table.insert( html, ( chest_item.sortsize[k] == 0 and "9e99" or chest_item.sortsize[k] ) )
								table.insert( html, "'>" )
								table.insert( html, chest_item.sizes[k] )
								table.insert( html, "</td>" )
							end
						end
						if columns['weight'] ~= nil then
							for k = 1, #chest_item.sizes do
								table.insert( html, "<td style='text-align:center;' data-sort-value='" )
								table.insert( html, ( chest_item.sortweight[k] == 0 and "9e99" or chest_item.sortweight[k] ) )
								table.insert( html, "'>" )
								table.insert( html, chest_item.weights[k] )
								table.insert( html, "</td>" )
							end
						end
						if columns['chance'] ~= nil then
							table.insert( html, "<td style='text-align:center;'>" )
							table.insert( html, chance_any )
							table.insert( html, "</td>" )
						end
						if columns['items'] ~= nil then
							table.insert( html, "<td style='text-align:center;'>" )
							table.insert( html, avg_amount )
							table.insert( html, "</td>" )
						end
						if columns['chests'] ~= nil then
							table.insert( html, "<td style='text-align:center;'>" )
							table.insert( html, num_chests )
							table.insert( html, "</td>" )
						end

					elseif type( chest_item ) == "boolean" then
						local allRolls = p.chests[chest_names[j-1]]['allRolls'..suffix]
						local allRollsSpan = #allRolls == 0 and 1 or #allRolls

						table.insert( html, "\n" )
						if columns['stacksize'] ~= nil then
							for k = 1, allRollsSpan do
								table.insert( html, "<td data-sort-value='9e99' style='text-align:center;'>—</td>" )
							end
						end
						if columns['weight'] ~= nil then
							for k = 1, allRollsSpan do
								table.insert( html, "<td data-sort-value='9e99' style='text-align:center;'>—</td>" )
							end
						end
						if columns['chance'] ~= nil then
							table.insert( html, "<td data-sort-value='9e99' style='text-align:center;'>—</td>" )
						end
						if columns['items'] ~= nil then
							table.insert( html, "<td data-sort-value='9e99' style='text-align:center;'>—</td>" )
						end
						if columns['chests'] ~= nil then
							table.insert( html, "<td data-sort-value='9e99' style='text-align:center;'>—</td>" )
						end
					else
						if i > 1 then
							table.insert( html, "</tr><tr>" )
						end

						local item = p.items[chest_item]

						local s = require( 'Módulo:Sprite' )
						table.insert( html, "\n<td>" )
						local image, spriteCat = s.link {
							id = item.id or chest_item,
							link = item.link or string.gsub(chest_item,'-',' '),
							text = item.title or q.titlecase(string.gsub(chest_item,'-',' ')),
							wrap = 'true',
							data = ( item[1] == 'item' and 'SpriteObjeto' or 'SpriteBloque' )
						}
						table.insert( html, image )
						table.insert( html, spriteCat )

						if item.note and p.notes[item.note] then
							table.insert( html, p.current_frame:extensionTag( 'ref', p.notes[item.note], { group='FN', name=item.note } ) )
						end

						if item.note1 and p.notes[item.note1] then
							if item.note == nil or p.notes[item.note] == nil or item.note ~= item.note1 then
								table.insert( html, p.current_frame:extensionTag( 'ref', p.notes[item.note1], { group='FN', name=item.note1 } ) )
							end
						end

						table.insert( html, "</td>" )
					end

					if j == #ordered_item_rows[i] then
						table.insert( html, "</tr>" )
					end

				end
				table.insert( html, "\n" )
			end
		end

		table.insert( html, "</table></div>")

		return table.concat( html )

	end,

	titlecase = function( str )
		local buf = {}
		for word in string.gfind(str, "%S+") do
			if word == "and" then
				table.insert( buf, word )
			else
				local first, rest = string.sub( word, 1, 1 ), string.sub( word, 2 )
				table.insert( buf, string.upper(first) .. string.lower(rest) )
			end
		end
		return table.concat( buf, " " )
	end,

	capitalize = function( str )
		return ( string.lower(str):gsub( "^%l", string.upper ) )
	end,

	lcfirst = function( str )
		return ( string.gsub( str, "^%u", string.lower ) )
	end,

	compare_tables = function( a, b )
		local seen = {}
		for k, v in pairs( a ) do
			if type( v ) ~= type( b[k] ) then
				return true
			end
			if v ~= b[k] then
				return true
			end
			if type( v ) == 'table' and q.compare_tables( v, b[k] ) then
				return true
			end
			seen[k] = true
		end
		for k, v in pairs( b ) do
			if not seen[k] then
				return true
			end
		end
		return false
	end,
}

string.lpad = function(str, len, char)
	if char == nil then char = ' ' end
	return string.rep(char, len - #(''..str)) .. str
end

return p
Advertisement