OVERWORLD · SETTLEMENTS
Pillager Outpost
Page updated
A tall watchtower, sometimes with tents, targets, log piles, and cages around it. Players visit for loot, caged allays, and pillagers that keep spawning, which can feed a raid farm.
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.

28462718234064871 · Java 26.3 · overworldReference capture · Naturally generated structure, photographed in Minecraft Java 26.3.Game data and source research
Where it generates in Java 26.3
The Java starting-biome tag includes Plains, Desert, Savanna, Taiga, Snowy Plains, Meadow, Cherry Grove, Grove, Snowy Slopes, Jagged Peaks, Frozen Peaks and Stony Peaks. [2][5]
Candidate positions and rarity
Java 26.3 selects one potential starting chunk per 32×32-chunk region (512 blocks on each side). The configured frequency filter is 20%. Candidate selection happens before successful structure generation; this is not a measured density or an average travel distance. [3][4]
After selecting a candidate in a 32×32-chunk region, the placement applies its legacy one-in-five frequency filter. It also checks village placement candidates in an inclusive square of ten chunks in each direction. This tests village candidate positions, not the distance to actual houses or a confirmed village boundary. [1][3][4][5]
What the starting position means
The outpost start pool is pillager_outpost/base_plates, projected to the world surface. Jigsaw depth and collision checks control connected pieces; the data does not promise that every possible surrounding tent or cage will be present. [1][4][5]
The watchtower and its satellite pieces
The watchtower is the main landmark, with stairs leading toward its upper chest. Smaller pieces can surround it: tents, log piles, targets and cages. The feature pool also has empty choices, so these are optional additions rather than a checklist every outpost must satisfy. [6]
| Part | What to look for |
|---|---|
| Watchtower | The saved watchtower bounds are 15 × 21 × 15; the overgrown overlay is a separate template. [6] |
| Golem cage | feature_cage1 contains an iron golem. [6] |
| Allay cage | feature_cage_with_allays contains two allay entities; its presence is optional. [6] |
Pillagers can spawn after the tower is cleared
The structure sets a pillager natural-spawn override across its full bounds. Pillagers are therefore not just a one-time group placed inside the tower. Killing those currently visible does not disable later eligible spawns. [6]
Caged allays and the iron golem are template residents, separate from that pillager spawn rule. An empty or absent cage does not imply that an allay spawner needs to recharge; the audited cages contain entities, not spawner blocks. [6]
Loot and rewards in Java 26.3
The outpost chest has separate pools for a crossbow, food, dark-oak logs, supplies, a goat horn and Sentry trim. The crossbow and horn pools each roll 0 or 1; either can be absent even though each pool contains only one item entry. [7]
Sentry trim weighs 1 against empty weight 3 and supplies two templates on a successful draw. The horn modifier chooses from the regular_goat_horns tag; the chest does not use the screaming-goat horn set. [7]
Captain drops and raid mechanics are outside this chest table. In particular, its entries do not include an ominous bottle or a totem of undying, so a chest chance cannot describe those encounter rewards. [7]
| Item | Where the rule applies | What the data establishes |
|---|---|---|
| One outpost-table chest | 25.0% chance; two templates on selection. [7][8] | |
| One outpost-table chest | 50.0% chance from a uniform 0-1-roll pool. [7][8] | |
| One outpost-table chest | 50% chance from 0-1 rolls; a selected horn uses #minecraft:regular_goat_horns. [7] | |
| One outpost-table chest | 60.9% chance of at least one selection from the supplies pool. [7][8] |
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. [10]
| Version | Released | What changed |
|---|---|---|
| Bedrock 1.10.0 | March 19, 2019 | Pillager outposts debuted behind Experimental Gameplay. [10][12] |
| Java 1.14 | April 23, 2019 | Outposts were added, including captains that could spawn around the watchtower. [10][13] |
| Bedrock 1.11.0 | April 23, 2019 | Outposts became available outside Experimental Gameplay. [10][14] |
| Java 1.18 | November 30, 2021 | Generation expanded into the new mountain biomes. [10][15] |
| Java 1.19 | June 7, 2022 | Cages gained allays and outpost chests gained goat horns. [10][16] |
| Java 1.19.4 (Update 1.20 experiment) | March 14, 2023 | Sentry armor trims and cherry-grove generation entered the Update 1.20 experiment. [10][17] |
| Bedrock 1.20.30 | September 19, 2023 | Outposts gained cherry grove generation. [10][18] |
Checked in game by SeedLookout
Screenshots

28462718234064871 · Java 26.3 · overworldReference capture · Naturally generated structure, photographed in Minecraft Java 26.3.
-2453593619936133549 · Java 26.3
238277855897535 · Java 26.3
200203700853529 · Java 26.3
168486502954112 · Java 26.3Our 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 pillager outpost
We found each pillager outpost at these coordinates in the seed's Java version. Other versions and Bedrock may generate a different world.
Show 4 more seedsShow fewer seeds12 of 16
| Seed | Version | Variant | X, Y, Z |
|---|---|---|---|
Taiga village on an icy coast with a forest outpost167264166161780 | Java 26.3 | Pillager outpost | -144, 73, 16 |
Riverside plains village and an outpost on grassy hills4329197876656961 | Java 26.3 | Pillager outpost | 80, 72, 208 |
Taiga coast village and outpost beside a snowy hillside272987006062197 | Java 26.3 | Pillager outpost | 0, 69, 144 |
Village above a stone hollow with an outpost in a cleft168486502954112 | Java 26.3 | Pillager outpost | 96, 43, -144 |
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.
- Mojang Java 26.3: structure configuration ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/structure/pillager_outpost.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/structure/pillager_outpost.json = 4fc3c4f5a4b6f87c23d8d6a1a366c1ded629a5f201df0ad2680b0f90f4154b70
- Mojang Java 26.3: resolved starting-biome tags ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json; data/minecraft/tags/worldgen/biome/is_mountain.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json = fc8bd6d3184456aa070a82394878ad621425eb993b696314eb8380aca7d94f72; data/minecraft/tags/worldgen/biome/is_mountain.json = da761310afa4c0a9cd978036150b91ecb0c427e65192d4d60486eb7206b03fe4
- Mojang Java 26.3: candidate placement settings ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/structure_set/pillager_outposts.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/structure_set/pillager_outposts.json = ef50ffd8d1b6fbe6c48bb15e9d4793ac9630560b354a35b0150b9966439ed53c
- Mojang Java 26.3: candidate filtering and weighted retries ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: net/minecraft/world/level/chunk/ChunkGenerator.class; net/minecraft/world/level/chunk/ChunkGeneratorStructureState.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/chunk/ChunkGeneratorStructureState.class = 1c5a2d924f5b40fe704e562a8b8710cd7a0bb0b0312e6225972c1692dea495ff; 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
- Mojang Java 26.3: generation entry points ↗
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
- Mojang Java 26.3: pillager outpost templates and data ↗
data/minecraft/worldgen/structure/pillager_outpost.json; data/minecraft/structure/pillager_outpost/**/*.nbt; data/minecraft/worldgen/template_pool/pillager_outpost/**/*.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.
- Mojang Java 26.3: pillager outpost loot data ↗
Inner META-INF/versions/26.3/server-26.3.jar: data/minecraft/loot_table/chests/pillager_outpost.json
Evidence details
Verified official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. File SHA-256s: pillager_outpost.json: 6c730afbc208566a86f4b987ddf415917d57c2a07fe6c6e04ec139cde29d893c. Table identity and conditional item rules are distinct from any particular generated container.
- Java 26.3 pillager outpost: calculated selection odds ↗
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:sentry_armor_trim_smithing_template","table":"data/minecraft/loot_table/chests/pillager_outpost.json","pool":5,"fraction":"1/4","chance":0.25,"weight":1,"total":4,"rolls":[1]},{"itemId":"minecraft:crossbow","table":"data/minecraft/loot_table/chests/pillager_outpost.json","pool":0,"fraction":"1/2","chance":0.5,"weight":1,"total":1,"rolls":[0,1]},{"itemId":"minecraft:experience_bottle","table":"data/minecraft/loot_table/chests/pillager_outpost.json","pool":3,"fraction":"12971/21296","chance":0.6090815176558978,"weight":7,"total":22,"rolls":[2,3]}]
- Mojang Java 1.20.1: inspected historical pillager outpost loot ↗
data/minecraft/loot_tables/chests/pillager_outpost.json
Evidence details
Limited comparison of the listed data files; no claim that all intermediate releases share either table. SHA-256s: pillager_outpost.json: dff1955174fab7f5d0a12970d02650c8cff8a2d99ff4bbf77a734b7a45f64b25
- Minecraft Wiki: Pillager Outpost — pinned history ↗
History section, retaining edition, release grouping, development-version and experimental-toggle qualifiers.
Evidence details
Pinned article revision 3791532 from 2026-09-24T10:19:15Z. Historical claims only; not an audited game build or release-date source.
- Minecraft Wiki: Pillager Outpost description ↗
Opening description and History
Evidence details
Pinned article revision 3791532; retrieved October 1, 2026. Article history supports historical introductions; current generation and loot are audited separately from game data.
- Bedrock 1.10.0: release date ↗
Version infobox release date
Evidence details
Platform releases were staggered: March 19, 2019<ref name="website">{{Mcnet|minecraft-bedrock-update-incoming-|Minecraft Bedrock Update Incoming!|March 19, 2019|Tom Stone}}</ref>
- Java 1.14: release date ↗
/id; /releaseTime
Evidence details
Release metadata establishes its date, not feature introduction. Original Wiki history must support introduction separately.
- Bedrock 1.11.0: release date ↗
Version infobox release date
Evidence details
Historical date from the pinned Minecraft Wiki version article; introduction is separately attributed to each structure article history.
- Java 1.18: release date ↗
/id; /releaseTime
Evidence details
Date belongs to the exact 1.18 build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.
- Java 1.19: release date ↗
/id; /releaseTime
Evidence details
Release metadata establishes its date, not feature introduction. Original Wiki history must support introduction separately.
- Java 1.19.4 (Update 1.20 experiment): release date ↗
/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.
- Bedrock 1.20.30: release date ↗
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.
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.