THE END · SMALLER FEATURES
End Spike
Page updated
Ten obsidian pillars ring the central End island, topped with crystals that heal the ender dragon. Players destroy the crystals during the fight and can mine the pillars for obsidian.
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 · endReference capture · Naturally generated obsidian pillar and End crystal on the main island.Game data and source research
Where it generates in Java 26.3
The End spike placed feature is included in The End biome. Its empty configured spike list tells the implementation to use the seed-derived default set, rather than placing random towers on a structure-spacing grid. [1][3][4]
Placement and frequency
The default algorithm assigns ten sites around radius 42. It shuffles size indices 0–9 using a seed-derived value; the resulting radius is 2 plus integer division of the size by 3, and the top-height parameter is 76 plus three times the size. The height parameters therefore run from 76 to 103. [1][2][4]
Conditions and limits
Size indices 1 and 2 receive iron-bar cages, giving two guarded spikes in the default set. The feature places an End crystal on each spike when entity creation succeeds. These are the default generated towers, not a count that remains true after a player changes the island. [1][2][4]
Ten pillars with shuffled sizes
The End-spike layout has ten obsidian pillars arranged around the central island. Their size ranks are shuffled among the fixed ring positions. Each pillar supports bedrock, fire and an End crystal, and two of the size ranks receive iron-bar cages. [5]
The size rank sets a radius from two to five blocks and a top elevation from Y76 to Y103 in three-block steps. Those are code parameters for the pillars, not template-room dimensions. A taller pillar is not a different loot tier. [5]
Dragon respawning rebuilds the pillars
The dragon-respawn sequence revisits the ten spikes, clears and explodes an area near each top, then regenerates the spike and its crystal. Treat construction near the pillar tops as vulnerable when another dragon fight is started. [5]
The crystals are entities placed by the feature, rather than a repeating mob spawner. The pillars contain no loot chests. Their main exploration challenges are reaching the top, dealing with cages and returning safely from height. [5]
Resources rather than chest loot
The End-spike feature builds obsidian, an optional iron-bar cage, bedrock under the top crystal and the crystal entity. Its placement path does not create a chest or select a structure loot table. The pillar material is a mining resource rather than a randomized container reward. [6]
A generated end crystal belongs to the dragon-fight encounter. The placement of that entity is not a loot-table promise of an end-crystal item, and dragon rewards should not be attributed to a chest roll for each pillar. [6]
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. [7]
| Version | Released | What changed |
|---|---|---|
| Java Beta 1.9 Prerelease 4 | October 13, 2011 | Obsidian spikes appeared with the End during Java 1.0.0 development. [7][9] |
| Java Beta 1.9 Prerelease 6 | November 11, 2011 | Crystals were added to the tops of spikes. [7][10] |
| Java 15w31a | July 29, 2015 | Java 1.9 development arranged exactly ten pillars around the exit portal. [7][11] |
| Java 15w33c | August 14, 2015 | Resummoning the dragon began rebuilding pillars. [7][12] |
| Java 1.9-pre1 | February 17, 2016 | Iron-bar cages returned on some shorter pillars after being temporarily removed. [7][13] |
| Pocket 1.0.0 | December 19, 2016 | Pocket Edition added End spikes. [7][14] |
| Java 21w37a | September 15, 2021 | Initial pillar generation was restored after a regression in the 1.18 experimental builds. [7][15] |
SeedLookout in-game verification
Screenshots

28462718234064871 · Java 26.3 · endReference capture · Naturally generated obsidian pillar and End crystal on the main island.
28462718234064871 · Java 26.3 · endReference capture · Naturally generated obsidian pillar and End crystal on the main island.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 end spike
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.
- Mojang Java 26.3: feature configuration ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/feature/end_spike.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/feature/end_spike.json = 830c4a4b74664350898ed4f1490452346a5200c4ac56f1927d6dc98641d9afa5
- Mojang Java 26.3: feature placement inputs ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/placed_feature/end_spike.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/placed_feature/end_spike.json = d167c6e98faf06bcb35cf2ba2507c2b6d30c75807b8ff09c6a4c6b1e974bfdad
- Mojang Java 26.3: biome feature lists ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: data/minecraft/worldgen/biome/the_end.json
Evidence details
Official server SHA-1 33680f5f2ac32864d6d7cf5e56a705fdb3e05f4c. SHA-256 by archive member: data/minecraft/worldgen/biome/the_end.json = eb2380236537a17c091212991672c025c037c36cc9b07ab9db8599bb40db1174
- Mojang Java 26.3: feature execution and rejection checks ↗
Inner archive META-INF/versions/26.3/server-26.3.jar: net/minecraft/world/level/levelgen/VerticalAnchor$AboveBottom.class; net/minecraft/world/level/levelgen/VerticalAnchor$Absolute.class; net/minecraft/world/level/levelgen/VerticalAnchor$BelowTop.class; net/minecraft/world/level/levelgen/VerticalAnchor$RelativeToSeaLevel.class; net/minecraft/world/level/levelgen/VerticalAnchor.class; net/minecraft/world/level/levelgen/feature/EndSpikeFeature$EndSpike.class; net/minecraft/world/level/levelgen/feature/EndSpikeFeature$SpikeCacheLoader.class; net/minecraft/world/level/levelgen/feature/EndSpikeFeature.class; net/minecraft/world/level/levelgen/heightproviders/UniformHeight.class; net/minecraft/world/level/levelgen/placement/BiomeFilter.class; net/minecraft/world/level/levelgen/placement/CountPlacement.class; net/minecraft/world/level/levelgen/placement/FeaturePlacer.class; net/minecraft/world/level/levelgen/placement/RarityFilter.class. Methods: EndSpikeFeature.place / placeSpike / getSpikesForLevel; EndSpikeFeature.SpikeCacheLoader.load; FeaturePlacer.place; RarityFilter.shouldPlace; BiomeFilter.shouldPlace; UniformHeight.sample; VerticalAnchor.resolveY; CountPlacement.count
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/VerticalAnchor$AboveBottom.class = 65e8d275fecd2bc76618395521925e51defa7db48cb4fa2c006118ff4a8471b3; net/minecraft/world/level/levelgen/VerticalAnchor$Absolute.class = ae4092473cdf6800c40e38d887fa79d3c555212ab875cae87e66f323891fb733; net/minecraft/world/level/levelgen/VerticalAnchor$BelowTop.class = 028e41d89c42f9d1b15aea47b6125dc6019e996b97d4dd9e31b399e5bba9907d; net/minecraft/world/level/levelgen/VerticalAnchor$RelativeToSeaLevel.class = dac20a9a8a5d24b1b6f0fc273bd619df71982745ea6dab06723f170afa6f63eb; net/minecraft/world/level/levelgen/VerticalAnchor.class = bd6f44d0714b54bfe084c570d169084e7794a66f8f8283f7f3abbc3d1ff44011; net/minecraft/world/level/levelgen/feature/EndSpikeFeature$EndSpike.class = c45c82e31bf1be63d3645c2739d47e5597a48b6a36a75d75c69c34cff1f0b830; net/minecraft/world/level/levelgen/feature/EndSpikeFeature$SpikeCacheLoader.class = de8622a5607d74843d936e40e1bb34696f1af639db79740debfafa0935bf3074; net/minecraft/world/level/levelgen/feature/EndSpikeFeature.class = 2c8683ba332ca5478515e41f6b73c97e5f267e4b1e964b327fdbfe8c93963958; net/minecraft/world/level/levelgen/heightproviders/UniformHeight.class = 8f157810ef32e632ddf06276eb4874714079c9d8aec7bac11515321a4272570b; net/minecraft/world/level/levelgen/placement/BiomeFilter.class = 9af5f023e371c8541e5a6086e5c01693735e39d10ee918adfea4761fc231e38a; net/minecraft/world/level/levelgen/placement/CountPlacement.class = e2fa737411edc1547e7e9f29d108298fb87b6b03709a6b56fcfa9df1cd30d987; net/minecraft/world/level/levelgen/placement/FeaturePlacer.class = 1d3e9c087bf63463503ba2fb55893053a3e0da6cd38fd3d6302afb02d9be437f; net/minecraft/world/level/levelgen/placement/RarityFilter.class = 816b014fad3a867c2fe487ccb417dc2e347dc8bcba773b4413fc843985dbecc6
- Mojang Java 26.3: end spike layout and encounter implementation ↗
net.minecraft.world.level.levelgen.feature.EndSpikeFeature; net.minecraft.world.level.dimension.end.DragonRespawnStage; EndSpikeFeature.getSpikesForLevel, SpikeCacheLoader.load, placeSpike; DragonRespawnStage.SUMMONING_PILLARS.tick.
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.
- Mojang Java 26.3: end spike layout and encounter implementation ↗
net.minecraft.world.level.levelgen.feature.EndSpikeFeature; net.minecraft.world.level.dimension.end.DragonRespawnStage; EndSpikeFeature.getSpikesForLevel, SpikeCacheLoader.load, placeSpike; DragonRespawnStage.SUMMONING_PILLARS.tick.
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.
- Minecraft Wiki: End Spike — pinned history ↗
History section, retaining edition, release grouping, development-version and experimental-toggle qualifiers.
Evidence details
Pinned article revision 3798745 from 2026-09-27T15:37:28Z. Historical claims only; not an audited game build or release-date source.
- Minecraft Wiki: End Spike description ↗
Opening description and History
Evidence details
Pinned article revision 3798745; retrieved October 1, 2026. Article history supports historical introductions; current generation and loot are audited separately from game data.
- Java Beta 1.9 Prerelease 4: 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.
- Java Beta 1.9 Prerelease 6: 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.
- Java 15w31a: release date ↗
/id; /releaseTime
Evidence details
Date belongs to the exact 15w31a build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.
- Java 15w33c: release date ↗
/id; /releaseTime
Evidence details
Date belongs to the exact 15w33c build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.
- Java 1.9-pre1: release date ↗
/id; /releaseTime
Evidence details
Date belongs to the exact 1.9-pre1 build. Snapshot and prerelease dates are separate from the later full release; metadata does not prove the feature introduction.
- Pocket 1.0.0: release date ↗
Version infobox release date
Evidence details
Platform releases were staggered: December 19, 2016<ref name="MCSiteArticle">{{Mcnet|ender-update-finally-here|The Ender Update is finally here|December 19, 2016}}</ref>. These dates describe full Pocket releases, separately from earlier betas.
- Java 21w37a: release date ↗
/id; /releaseTime
Evidence details
Date belongs to the exact 21w37a 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.