I usually don't answer my own question, but in this case I have to I guess.
I am running Minecraft pre-release 12w36a and I can confirm that you can cure infected villagers spawned from dungeon zombie spawners in survival mode.
I had a zombie spawner underneath my base that I never destroyed, I am glad I kept it. I set up a small killing device for killing the unwanted zombies, and waited for a infected villager. In my case it spawned one every 30 zombies or so.
When I got one I used a splash potion of weakness (water bottle + fermented spider eye + gunpowder). As soon as I threw it I got my golden apple in my hand, and just right-clicked the villager. At this point he started shaking.
While he was shaking, I waited around. About 5 minutes later he turned into a normal villager.
At this point I wanted to know if he would despawn, so I went exploring in my world, slept for a few days, and went to the nether a few times. When I came back he was still standing there, which was great.
I do not know if this will stay in the game. I will update the game once in a while to see if it still works in the snapshots.
For now I will work on setting up my village, I am glad I don't have to build the 1000+ block railway anymore.
I can confirm this works in 1.4.2, see the video in the question for more details.
/summon MushroomCow ~ ~ ~ {ActiveEffects:[{id:14,Duration:100000,Amplifier:1,HideParticles:1}],Riding:{id:"Spider",Attributes:[{Name:"generic.maxHealth",Base:10000}],Riding:{id:"Villager",Attributes:[{Name:"generic.maxHealth",Base:10000}],Riding:{id:"Spider",Attributes:[{Name:"generic.maxHealth",Base:10000}],Riding:{id:"Bat",Attributes:[{Name:"generic.maxHealth",Base:10000}]}}}}}
Explanation:
I used a spider to separate the mobs in the end as it's exactly 1 block tall. It is invulnerable to suffocation (because it has like 10000 health).
Also, all mobs have 10000 health, so even when they are stuck in a block because of the bat, they don't die. Change health by changing the number of baseHealth
in this section: Attributes:[{Name:"generic.maxHealth",Base:<HP>}]
To kill the whole stack, first off, you have to make sure all commands blocks are activated at the very same time -- exact same time, or it may result in idling totems of mob towers. Then type in the command /kill @e[type=Bat,c=1,r=<size of the field>]
in command block A
, /kill @e[type=Villager,c=1,r=<size of the field>]
in B
, /kill @e[type=Mooshroom,c=1,r=<size of the field>]
in C
and /kill @e[type=Spider,c=2,r=<size of the field>]
in D
. Then you should be able to kill the whole stack.
I don't have a computer now so I cannot check the code, but feel free to tell me if it worked or not. Thanks!
Best Answer
You can use command blocks on a clock to mark zombie villagers and remove them.
Labeling zombies if they are zombie villagers:
Teleporting them to the void to either kill or force them to despawn, which avoids item drops all over the place (as the items fall in the void to be deleted):
You can also use the
/kill
command to speed up the dying process: