seedlookout
English

NETHER · NETHER STRUCTURES

Bastion Remnant

Page updated

Blackstone ruins held by piglins and piglin brutes, in four layouts with different routes and treasure. Players raid them for netherite upgrade templates, gold, and the Pigstep music disc.

This guide follows vanilla Java 26.3. Historical changes retain their own edition and version. Bedrock generation and loot can differ. Screenshots and verified seeds below retain their own game versions.

Java 26.3 · Released · Reviewed

Blackstone walls, bridges and a lava basin inside a treasure-room bastion remnant
Bastion Remnant at 334, 43, 275Seed 28462718234064871 · Java 26.3 · netherReference capture · Naturally generated structure, photographed in Minecraft Java 26.3.

Game data and source research

Where it generates in Java 26.3

Eligible starting biomes are Nether Wastes, Soul Sand Valley, Crimson Forest and Warped Forest. Basalt Deltas are absent from the bastion tag. [2][5]

Candidate positions and rarity

Java 26.3 selects one potential starting chunk per 27×27-chunk region (432 blocks on each side). Candidate selection happens before successful structure generation; this is not a measured density or an average travel distance. [3][4]

Bastions and fortresses share one candidate in each 27×27-chunk region. Their initial selection weights are 3 and 2, respectively. If the selected structure fails, the generator retries the remaining entry, so 60% is an initial choice weight rather than a universal observed bastion frequency. [1][3][4][5]

What the starting position means

The bastion start pool is bastion/starts at configured Y=33. Jigsaw placement positions and expands that start; Y=33 is not a requirement that every room or walkway sit at the same height. [1][4][5]

Four bastion layouts

The start pool selects between housing units, hoglin stables, a treasure layout and a bridge layout. Each expands through its own pool of blackstone pieces. Broken walls and open drops are part of the templates, so an apparent gap is not reliable evidence of a hidden passage. [6]

Four bastion layouts
PartWhat to look for
Housing unitsLayered residential pieces built around a central space. [6]
Hoglin stablesStable pieces and connecting stairs; look for separate levels rather than a single room. [6]
Treasure roomA large lava basin and surrounding galleries, with a magma-cube spawner in the basin template. [6]
BridgeA substantial bridge entrance with connecting ramparts and rooms. [6]

Brutes and the treasure-room spawner

Piglin, piglin-brute and hoglin entity templates are inserted as part of generation. Counting these small entity templates does not give the number of residents in a bastion: a layout can use pieces repeatedly or omit them. The bastion has no special natural-spawn override to refill cleared brute positions. [6]

Gold armor does not make a piglin brute safe. Its target-selection path can choose a nearby player without the normal piglin armor check. Keep a retreat route when entering upper galleries or narrow stairways. [7]

The treasure/bases/lava_basin template contains a magma-cube spawner. That block can produce further mobs while its spawning conditions are met; it is a different source from residents placed during construction. [6][7]

Loot and rewards in Java 26.3

Bastions have four distinct chest loot tables. Treasure-table chests are the strongest direct source here of netherite ingots and the upgrade template; bridge, hoglin-stable and other chests have different selections. A bastion does not give every chest the treasure table. [8]

Every invocation of the treasure table includes one Netherite Upgrade Smithing Template. The other three tables each make a separate one-in-ten upgrade-template draw. All four tables separately choose a Snout trim template against eleven units of empty weight; an upgrade template and a Snout template are separate outcomes and can occur together. [8]

The bridge table guarantees a lodestone before its other selections. Pigstep belongs to the other-chest table, where its weight 5 sits in a single-roll pool totaling 89. It is not an item in all four bastion chest tables. [8]

Treasure-table gear now includes diamond spears. Its main pool also has separate ancient-debris entries supplying one or two blocks. Summing their weights establishes selection probability, but it does not make every successful debris selection the same stack size. [8]

Compared directly with Java 1.20.1, the Java 26.3 tables differ. The inspected bastion treasure table gains Diamond spear; its first pool changes from total weight 100 to 112. The inspected bastion other table gains Iron chain and no longer lists Chain. Use the current weights rather than carrying older chest percentages forward. [8][10]

Loot and rewards in Java 26.3
ItemWhere the rule appliesWhat the data establishes
Netherite upgrade templateOne treasure-table chestGuaranteed: one dedicated pool, one upgrade template. [8][9]
Netherite upgrade templateOne bridge/other/hoglin-stable chest10.0% in each of these three table-specific draws. [8]
Snout armor trim templateOne chest using any of the four bastion tables8.3% chance, from weight 1 against empty 11. [8][9]
Netherite ingotOne treasure-table chest35.0% chance of at least one ingot selection over three rolls. [8][9]
Enchanted golden appleOne treasure-table chest5.3% chance of at least one apple selection over three rolls. [8][9]
Music disc PigstepOne other-table chest5.6% chance: one draw, weight 5/89. [8][9]

Version history and release dates

These milestones retain their edition and exact build labels. Snapshot, beta and preview dates belong to those development builds; full releases and staggered Pocket platform releases are dated separately. Historical introduction claims come from the cited Wiki history. [11]

Version history and release dates
VersionReleasedWhat changed
Java 1.16June 23, 2020Bastion remnants were introduced. [11][13]
Bedrock 1.16.0June 23, 2020Bastion remnants were introduced. [11][14]
Java 1.16.2August 11, 2020Piglin brutes were added to bastions, and chest loot was rebalanced. [11][15]
Bedrock 1.16.20August 11, 2020Piglin brutes were added to bastions. [11][16]
Bedrock 1.17.10July 13, 2021Chest loot was adjusted toward larger quantities of valuable items. [11][17]
Java 1.18.2February 28, 2022Basalt-delta bastion attempts began producing a fortress instead. [11][18]
Java 1.19.4 (Update 1.20 experiment)March 14, 2023Netherite upgrades and snout armor trims entered bastion chest loot in the Update 1.20 experiment. [11][19]
Java 1.21.11December 9, 2025Diamond spears were added to bastion chest loot. [11][20]

SeedLookout in-game verification

Screenshots

Blackstone walls and a fire-lit passage inside a bastion remnant
Bastion Remnant at 344, 60, 272Seed 28462718234064871 · Java 26.3 · netherReference capture · Naturally generated structure, photographed in Minecraft Java 26.3.

Our screenshots of naturally generated structures in Minecraft. Each caption gives the seed, coordinates and version. Select one to open it at full size.

Seeds with this bastion remnant

None of our verified seeds includes this structure yet. The guide cites game data, code analysis and other references; it does not verify a seed.

Sources

References identify the edition, version and evidence behind the guide. Game code and data describe generation rules; the seed table records locations checked in game. Research reviewed 2026-10-02.

  1. Mojang Java 26.3: structure configuration ↗Official game data · Java 26.3

    Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/structure/bastion_remnant.json

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/structure/bastion_remnant.json = a34d39deac28c25ac6c1a34a9cfc840af72aeeba4bec6b6c851361592909bc34

  2. Mojang Java 26.3: resolved starting-biome tags ↗Official game data · Java 26.3

    Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json = 862effc2d174ddc9293d4a88e1e970387a25cb0c9b2c4ebb423018087a011a69

  3. Mojang Java 26.3: candidate placement settings ↗Official game data · Java 26.3

    Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/structure_set/nether_complexes.json

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/structure_set/nether_complexes.json = f768903738bcecc5f5114be3635ea7b8e267b3e887435e6b8eccfcbe80bc821d

  4. Mojang Java 26.3: candidate filtering and weighted retries ↗Decompiled game implementation · Java 26.3

    Inner archive META-INF/versions/26.3/server-26.3.jar: net/minecraft/world/level/chunk/ChunkGenerator.class; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$ExclusionZone.class; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$FrequencyReducer.class; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$FrequencyReductionMethod.class; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement.class; net/minecraft/world/level/levelgen/structure/placement/RandomSpreadStructurePlacement.class. Methods: RandomSpreadStructurePlacement.getPotentialStructureChunk; AbstractSpreadingStructurePlacement.isStructureChunk; ChunkGenerator.createStructures / tryGenerateStructure

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. Implementation inspected using CFR 0.152; reconstructed Java is not an original Mojang source publication. SHA-256 by archive member: net/minecraft/world/level/chunk/ChunkGenerator.class = 7e5145ec6e36cbc7af979e869d4947c85e4715b8d13105f1369f0a385c40851d; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$ExclusionZone.class = eb0d49eb1ffb0714fbdb04abde954fbdbd50cfeafd411f593de8159a06488300; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$FrequencyReducer.class = e2887ebf5f8937ca3b038d6e1c40bc1c77f983a97b5b7ed9bdcd78b59d103e82; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement$FrequencyReductionMethod.class = 3664480026b9e91c8235bdbf6d98fdbbb78586f8d0decee70f9ea788d3291a71; net/minecraft/world/level/levelgen/structure/placement/AbstractSpreadingStructurePlacement.class = 0775a5cd47242fafd7f9977a9cfb821a6fffe5d1defcbc3bf8cded7e2427a4a8; net/minecraft/world/level/levelgen/structure/placement/RandomSpreadStructurePlacement.class = 8fbeed7711f96285b9b39b2e8363ffaa6ea80dd03baea4c1e6fa98e90b7f8eb9

  5. Mojang Java 26.3: generation entry points ↗Decompiled game implementation · Java 26.3

    Inner archive META-INF/versions/26.3/server-26.3.jar: net/minecraft/world/level/levelgen/structure/Structure$GenerationContext.class; net/minecraft/world/level/levelgen/structure/Structure$GenerationStub.class; net/minecraft/world/level/levelgen/structure/Structure$StructureSettings$Builder.class; net/minecraft/world/level/levelgen/structure/Structure$StructureSettings.class; net/minecraft/world/level/levelgen/structure/Structure.class; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement$PieceState.class; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement$Placer.class; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.class; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure$1.class; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure$MaxDistance.class; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure.class. Methods: JigsawStructure.findGenerationPoint; Structure.findValidGenerationPoint; Structure.GenerationContext.isValidBiome; JigsawPlacement.addPieces

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. Implementation inspected using CFR 0.152; reconstructed Java is not an original Mojang source publication. SHA-256 by archive member: net/minecraft/world/level/levelgen/structure/Structure$GenerationContext.class = 0c4335baa022b0482299b5cc0a3d0492fd3160542640b2538a5b8934822cc12b; net/minecraft/world/level/levelgen/structure/Structure$GenerationStub.class = e7a25f7418cfbfafaa6ecc1558a4bacde160ab247be6997df4aef3288da76a52; net/minecraft/world/level/levelgen/structure/Structure$StructureSettings$Builder.class = e9b9a37f14f156749ceb686ab31f34954c3b65c0e9f1ff43cdebb508a72b1261; net/minecraft/world/level/levelgen/structure/Structure$StructureSettings.class = 5796d330ef7ea491ee64b34ccdfe6c08a62b71886441bd87cd327a2fc6188f80; net/minecraft/world/level/levelgen/structure/Structure.class = fa023ce735376b7042242948275a0869a7e22d30e5e4c5c6502b521578577188; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement$PieceState.class = 3566ead77b6d528b2c451409a51fea25598ea9c27c02e6832348d5df446b329c; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement$Placer.class = 29c8637ca117a33199db02f06b206c60b1b3947adf029654b3d1bd524eba4400; net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.class = 18b1d2ca2de608f60a30c8547315e0c5845047e5a1789d711d815ad6bbdc7da4; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure$1.class = 8e8bc7f3527f38fcf408bb69496ff63f69f71c558c41c80a3d419d135327f96e; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure$MaxDistance.class = ed76252263c711231b316b1cff170bfe048e008bf46af2cb75985d30ba7e9fc5; net/minecraft/world/level/levelgen/structure/structures/JigsawStructure.class = a8576ddbc0cf99b1e220ead439ce3f9aa373cd38400b77aa86273a5c3740598b

  6. Mojang Java 26.3: bastion remnant templates and data ↗Official game data · Java 26.3

    data/minecraft/worldgen/structure/bastion_remnant.json; data/minecraft/structure/bastion/**/*.nbt; data/minecraft/worldgen/template_pool/bastion/**/*.json; data/minecraft/worldgen/processor_list/bastion_generic_degradation.json

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c; inner META-INF/versions/26.3/server-26.3.jar SHA-256 a362163eec5d1612d520772bc16e5b39c09e3b234fdc045f56bf544284ee8ae6. NBT dimensions are unrotated saved template bounds (X × Y × Z), including air and connectors, not usable interior dimensions.

  7. Mojang Java 26.3: bastion remnant layout and encounter implementation ↗Decompiled game implementation · Java 26.3

    net.minecraft.world.entity.monster.piglin.PiglinBrute; net.minecraft.world.entity.monster.piglin.PiglinAi; net.minecraft.world.entity.monster.piglin.PiglinBruteAi; net.minecraft.world.level.BaseSpawner; data/minecraft/worldgen/template_pool/bastion/starts.json; bastion/treasure/bases/lava_basin.nbt; bastion/mobs/; PiglinBruteAi.findNearestValidAttackTarget; PiglinAi.isWearingSafeArmor; BaseSpawner.serverTick / delay.

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c; inner META-INF/versions/26.3/server-26.3.jar SHA-256 a362163eec5d1612d520772bc16e5b39c09e3b234fdc045f56bf544284ee8ae6. Official bytecode inspected through CFR 0.152; reconstructed implementation, not an original source checkout.

  8. Mojang Java 26.3: bastion remnant loot data ↗Official game data · Java 26.3

    Inner META-INF/versions/26.3/server-26.3.jar: data/minecraft/loot_table/chests/bastion_treasure.json; data/minecraft/loot_table/chests/bastion_bridge.json; data/minecraft/loot_table/chests/bastion_other.json; data/minecraft/loot_table/chests/bastion_hoglin_stable.json

    Evidence details

    Verified official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. File SHA-256s: bastion_treasure.json: 6a6901cd318913dab5bf9d07853a9bb654b99f4223dc42907d20469883e60149; bastion_bridge.json: 7a61ef1d4628bce8d024904cb9e49e4ae7b74c98d8044e6b8d65cc7bb2ba817f; bastion_other.json: 38afd4ad6cd682b0df39c16cb6ab7881d50c770a85be65c2e1f982a85db3d030; bastion_hoglin_stable.json: 4296433659481f19ac182678159fe69791580e2fce2bb2302dfc3d7908daeba0. Table identity and conditional item rules are distinct from any particular generated container.

  9. Java 26.3 bastion remnant: calculated selection odds ↗Calculated from game data · Java 26.3

    Relevant /pools indices in the data reference; LootPool.addRandomItem/addRandomItems; UniformContainerBase.uniformFields; UniformGenerator.getIntUnsafe.

    Evidence details

    For direct unconditional weighted pools, chance of at least one selection is 1 minus the average of (1−weight/totalWeight)^n over inclusive uniform integer rolls. Values are theoretical table-invocation probabilities, not seed frequencies. Exact inputs: [{"itemId":"minecraft:netherite_upgrade_smithing_template","table":"data/minecraft/loot_table/chests/bastion_treasure.json","pool":3,"chance":1.0,"fraction":"1","weight":1,"total":1,"rolls":[1]},{"itemId":"minecraft:snout_armor_trim_smithing_template","table":"data/minecraft/loot_table/chests/bastion_treasure.json","pool":2,"chance":0.08333333333333333,"fraction":"1/12","weight":1,"total":12,"rolls":[1]},{"itemId":"minecraft:netherite_ingot","table":"data/minecraft/loot_table/chests/bastion_treasure.json","pool":0,"chance":0.35037738588739065,"fraction":"492255/1404928","weight":15,"total":112,"rolls":[3]},{"itemId":"minecraft:enchanted_golden_apple","table":"data/minecraft/loot_table/chests/bastion_treasure.json","pool":0,"chance":0.05262049016034986,"fraction":"9241/175616","weight":2,"total":112,"rolls":[3]},{"itemId":"minecraft:music_disc_pigstep","table":"data/minecraft/loot_table/chests/bastion_other.json","pool":0,"chance":0.056179775280898875,"fraction":"5/89","weight":5,"total":89,"rolls":[1]}]

  10. Mojang Java 1.20.1: inspected historical bastion remnant loot ↗Official game data · Java 1.20.1

    data/minecraft/loot_tables/chests/bastion_treasure.json; data/minecraft/loot_tables/chests/bastion_other.json

    Evidence details

    Limited comparison of the listed data files; no claim that all intermediate releases share either table. SHA-256s: bastion_treasure.json: 479f2e6bcb5336836ad4ce3c4877dc8912c71c1eb7f354b72d995a3fda02b548; bastion_other.json: d69f2641e6f880ac76a2c9d3576eef12d503fdb5e016e5b2b08547656518d282

  11. Minecraft Wiki: Bastion Remnant — pinned history ↗Minecraft Wiki · Java and Bedrock Revision 3787534

    History section, retaining edition, release grouping, development-version and experimental-toggle qualifiers.

    Evidence details

    Pinned article revision 3787534 from 2026-09-21T15:07:43Z. Historical claims only; not an audited game build or release-date source.

  12. Minecraft Wiki: Bastion Remnant description ↗Minecraft Wiki · Java and Bedrock revision 3787534

    Opening description and History

    Evidence details

    Pinned article revision 3787534; retrieved October 1, 2026. Article history supports historical introductions; current generation and loot are audited separately from game data.

  13. Java 1.16: release date ↗Official game data · Java 1.16

    /id; /releaseTime

    Evidence details

    Release metadata establishes its date, not feature introduction. Original Wiki history must support introduction separately.

  14. Bedrock 1.16.0: release date ↗Minecraft Wiki · Bedrock 1.16.0

    Version infobox release date

    Evidence details

    Platform releases were staggered: June 23, 2020<ref name="nether-release">{{cite|url=https://feedback.minecraft.net/hc/en-us/articles/360044928311|title=Minecraft - Nether Update - 1.16.0 (Bedrock)|date=June 23, 2020}}</ref>. These dates describe full Pocket releases, separately from earlier betas.

  15. Java 1.16.2: release date ↗Official game data · Java 1.16.2

    /id; /releaseTime

    Evidence details

    Date belongs to the exact 1.16.2 build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.

  16. Bedrock 1.16.20: release date ↗Minecraft Wiki · Bedrock 1.16.20

    Version infobox release date

    Evidence details

    Pinned community version article date; snapshots, betas and previews have their own release dates, separately from the full version.

  17. Bedrock 1.17.10: release date ↗Minecraft Wiki · Bedrock 1.17.10

    Version infobox release date

    Evidence details

    Pinned community version article date; snapshots, betas and previews have their own release dates, separately from the full version.

  18. Java 1.18.2: release date ↗Official game data · Java 1.18.2

    /id; /releaseTime

    Evidence details

    Date belongs to the exact 1.18.2 build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.

  19. Java 1.19.4 (Update 1.20 experiment): release date ↗Official game data · Java 1.19.4 (Update 1.20 experiment)

    /id; /releaseTime

    Evidence details

    Full 1.19.4 release date; Update 1.20 experimental features required their separate toggle. Feature introduction is independently sourced to the structure history.

  20. Java 1.21.11: release date ↗Official game data · Java 1.21.11

    /id; /releaseTime

    Evidence details

    Date belongs to the exact 1.21.11 build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.

Item art uses vanilla Java 26.3 assets from the official client release. Icons retain their game version alongside the guide.

Descriptions adapted from the Minecraft Wiki retain its attribution under CC BY-NC-SA 3.0. Calculations and code analysis are SeedLookout research. Screenshot captions identify each capture. The seed table contains our published verified seeds; checking a location does not establish particular room contents or chest loot.