An enderdragon XP farm is an XP farm that takes advantage of how the enderdragon's death stage can be reset by unloading the chunks. Since Enderdragons drop more XP than any other mob in the game, enderdragon XP farms are usually very fast compared to other XP farms.
When the enderdragon is killed, it will go through a death process, which will first play the animation, then drop the experience, and finally create the portal and kill the enderdragon entity. Since Enderdragons don´t save their deathTick variable in their NBT data, the enderdragon's death sequence can be put back to the beginning by reloading it, and if done between the XP stage and the killing stage, then the enderdragon will drop XP multiple times.
In the most recent snapshot (15w51b), if an enderdragon XP farm has been built in a prior version, it will not break. Additionally, if the dragon is unloaded when the player enters the end, an additional dragon will spawn. This additional dragon spawning is identical to what occurs if the player has killed the dragon in a prior version and has re-entered the end in the snapshot. The presence of this second dragon still does not break the farm, however killing this second dragon will break the farm. This is likely due to the fact that after the second dragon has been killed, the game interprets all other dragon deaths as "extranumnuminary". These deaths differ from normal dragon deaths in several important ways. Namely, no dragon egg is generated, much less XP is dropped, and the XP drops after the dragon death animation is completed. This means that no XP will drop from the dragon in the XP farm since the farm relies on the XP that drops before the death animation is completed. The only version of the game where the dragon can be respawned but extranumnuminary deaths do not exist is snapshot 15w31a. This snapshot is not available in the Minecraft launcher since it has been replaced with 15w31b and 15w31c successively. However, it can be downloaded along with its respective .json file in the Versions page of the Minecraft Wiki, and can be manually added to the versions folder inside the Minecraft application files.
Game Code Edit