seedlookout

OVERWORLD · SETTLEMENTS

Swamp Hut

Page updated

A swamp hut, often called a witch hut, is a small wooden house that generates with a witch and a black cat. Its special witch spawning rules make it a good farm site, and some players visit to tame the cat.

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

An oak-plank swamp hut on wooden stilts among swamp trees and lily pads
Swamp Hut at -1500, 66, -2781Seed 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

Swamp is the only biome in the Java 26.3 hut tag. Mangrove Swamp is not included. [2][5]

Candidate positions and rarity

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

The generation entry point samples the world-surface heightmap and creates a swamp-hut piece in the starting chunk. Piece placement, rather than a fixed global Y value, determines the final hut position. [1][3][4][5]

What the starting position means

Huts have their own 32×32-chunk candidate grid. Their salt differs from other structures with the same spacing, so equal grid sizes do not mean their candidate coordinates coincide. [1][4][5]

A single raised hut

The hut is one compact wooden room on log supports, with a porch, a stair-block roof, a crafting table, a cauldron and a potted mushroom. It has no generated loot chest or basement. The support columns extend down to meet the terrain. [7]

The piece separately attempts to place a persistent witch and cat at its resident position. Saved flags prevent those construction steps from repeatedly creating residents when the piece is processed. [7]

Resident witch versus later spawns

Java also gives the hut a witch monster-spawn list and a cat creature-spawn list within its piece bounds. That is separate from its initial residents. A cleared or dismantled-looking hut can still matter for mob spawning when the relevant conditions are met. [6]

The small visible building is therefore useful as a locator, but its physical walls do not describe every requirement of a working witch farm. This guide does not treat the presence of the hut alone as a tested farm design. [6]

Loot and rewards in Java 26.3

The Java hut placement builds a crafting table, cauldron and potted red mushroom, then attempts a witch and cat. It does not create a loot chest. The furniture and residents are different reward sources from randomized container loot. [8][9]

The inspected witch table gives redstone its own one-roll pool with a baseline count of 4-8. The first pool makes 1-3 selections among glowstone dust, sugar, spider eye, glass bottle, gunpowder and sticks; the first five weigh 1 each and sticks weigh 2. Each selected entry can produce 0-2 items before Looting, so selection is not a guarantee of a positive drop. [8]

Looting uses enchanted_count_increase modifiers on these drops. The table is an entity-drop rule, not a rate of drops per hut or a tested witch-farm output rate. Bedrock cauldron behavior is outside this Java audit. [8]

Loot and rewards in Java 26.3
ItemWhere the rule appliesWhat the data establishes
RedstoneOne witch entity-loot invocation without Looting4-8 redstone from its separate pool. [8]
Glowstone dustFirst witch pool without LootingWeight 1 of total 7 over 1-3 selections; each selection can supply 0-2 items, so no positive-drop percentage is inferred. [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 history and release dates
VersionReleasedWhat changed
Java 1.4.2October 25, 2012Witch huts were introduced. [10][12]
Java 1.8.1November 24, 2014The witch spawning system was revised to restore a broader vertical spawning zone. [10][13]
Pocket 0.14.0 alphaFebruary 18, 2016Pocket Edition gained witch huts. [10][14]
Java 1.11November 14, 2016Witches placed during hut generation stopped naturally despawning. [10][15]
Java 1.13July 18, 2018Witch huts were renamed swamp huts and gained distinct locate placement. [10][16]
Bedrock 1.8.0December 11, 2018Huts began generating with a black cat. [10][17]
Java 1.14April 23, 2019Huts began generating with a black cat. [10][18]
Java 1.17June 8, 2021Seagrass was prevented from replacing hut blocks. [10][19]

Checked in game by SeedLookout

Screenshots

Natural swamp hut with its raised wooden floor and entrance
Swamp Hut at -1500, 66, -2781Seed 28462718234064871 · Java 26.3 · overworldReference capture · Naturally generated structure, photographed in Minecraft Java 26.3.
Snowy village houses on a white slope next to green swamp forest and a wide river with small islands
Swamp hut at 48, 77, 48Seed 221208994210622363 · Java 26.3
Small wooden hut on stilts among dark swamp trees, beside a frozen pond and snowy spruce trees
Swamp hut at 64, 71, 112Seed 146114360905246199 · Java 26.3
Top-down view of a plains village with a stone well at the crossroads and a dark hut roof just below it
Swamp hut at 32, 71, 16Seed 1748729253401579425 · Java 26.3
Wet ground and tree canopy around the checked swamp hut area beside the taiga village
Swamp hut at 32, 71, 48Seed 258363691136428975 · 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 swamp hut

We found each swamp hut at these coordinates in the seed's Java version. Other versions and Bedrock may generate a different world.

SeedVersionVariantX, Y, Z
Snowy village on the edge of a swamp, with a swamp hut beside it221208994210622363Java 26.3Swamp hut48, 77, 48
Snowy village on a swamp border, with a swamp hut and a wreck in the ice146114360905246199Java 26.3Swamp hut64, 71, 112
Swamp hut in the middle of a plains village1748729253401579425Java 26.3Swamp hut32, 71, 16
Plains village among rivers, with a swamp hut on its edge84753882188559489Java 26.3Swamp hut32, 71, 96
Swamp abandoned camp under a stone spire, with a swamp hut18649700352874035Java 26.3Swamp hut80, 75, 64
Plains village paths through a swamp below green hills286640949242730905Java 26.3Swamp hut32, 69, 112
Taiga village on a forested coast with a swamp patch258363691136428975Java 26.3Swamp hut32, 71, 48
Village and swamp hut below coastal stone spires376597192266466193Java 26.3Swamp hut48, 72, 64
Taiga village and white camp tent at the swamp coast206679379470771640Java 26.3Swamp hut32, 70, 16
Taiga village between snowy forest and swamp water525879814561908518Java 26.3Swamp hut48, 76, 80
Waterfront village below rocky cliffs and narrow spires440719661528502662Java 26.3Swamp hut96, 78, 64
Plains village and swamp hut beneath tall rocky cliffs27053392115671819Java 26.3Swamp hut0, 68, 16

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/swamp_hut.json

    Evidence details

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

  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/swamp_hut.json

    Evidence details

    Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/tags/worldgen/biome/has_structure/swamp_hut.json = 9a67952d362668fd5b6096225e20abc26da6b19f0dea85d7501d7f3b471c42ae

  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/swamp_huts.json

    Evidence details

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

  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/structures/SwampHutStructure.class. Methods: SwampHutStructure.findGenerationPoint; Structure.findValidGenerationPoint; Structure.GenerationContext.isValidBiome

    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/structures/SwampHutStructure.class = 0f4052a7e66860f2fc3c57d7848a22cfa771d71f4cf9fc3218092578cc44c808

  6. Mojang Java 26.3: swamp hut templates and data ↗Official game data · Java 26.3

    data/minecraft/worldgen/structure/swamp_hut.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: swamp hut layout and encounter implementation ↗Decompiled game implementation · Java 26.3

    net.minecraft.world.level.levelgen.structure.structures.SwampHutPiece; SwampHutPiece.postProcess / spawnCat; structure swamp_hut spawn_overrides.

    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: swamp hut loot data ↗Official game data · Java 26.3

    Inner META-INF/versions/26.3/server-26.3.jar: data/minecraft/loot_table/entities/witch.json

    Evidence details

    Verified official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. File SHA-256s: witch.json: 79a983847816a4efea007de1aacc9d2008f14bc2e37e9079e431357dae7b808b. Table identity and conditional item rules are distinct from any particular generated container.

  9. Mojang Java 26.3: swamp hut layout and encounter implementation ↗Decompiled game implementation · Java 26.3

    net.minecraft.world.level.levelgen.structure.structures.SwampHutPiece; SwampHutPiece.postProcess / spawnCat; structure swamp_hut spawn_overrides.

    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.

  10. Minecraft Wiki: Swamp Hut — pinned history ↗Minecraft Wiki · Java and Bedrock Revision 3788767

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

    Evidence details

    Pinned article revision 3788767 from 2026-09-22T13:44:54Z. Historical claims only; not an audited game build or release-date source.

  11. Minecraft Wiki: Swamp Hut description ↗Minecraft Wiki · Java and Bedrock revision 3788767

    Opening description and History

    Evidence details

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

  12. Java 1.4.2: release date ↗Minecraft Wiki · Java 1.4.2

    Version infobox release date

    Evidence details

    Public release calendar date from pinned version article. Legacy metadata date 2012-11-24 disagrees; its timestamp and URL remain preserved separately.

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

    /id; /releaseTime

    Evidence details

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

  14. Pocket 0.14.0 alpha: release date ↗Minecraft Wiki · Bedrock 0.14.0 alpha

    Version infobox release date

    Evidence details

    Historical date from the pinned Minecraft Wiki version article; introduction is separately attributed to each structure article history.

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

    /releaseTime

    Evidence details

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

  16. Java 1.13: release date ↗Official game data · Java 1.13

    /id; /releaseTime

    Evidence details

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

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

    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.14: release date ↗Official game data · Java 1.14

    /id; /releaseTime

    Evidence details

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

  19. Java 1.17: release date ↗Official game data · Java 1.17

    /id; /releaseTime

    Evidence details

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

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.