Is there any way of making a snow golem survive in hot biomes?

Snow golems won't survive in the Nether (neither spawned in nor built ones). Is there a way to make a snow golem survive in the Nether and other hot biomes in vanilla Minecraft (i.e., without using mods)?


Solution 1:

Snow golems are hardcoded to catch on fire in biomes where the temperature is above a certain value. The relevant snippet from MCP is:

if (this.worldObj.getBiomeGenForCoords(i, j).getFloatTemperature() > 1.0F)
{
    this.attackEntityFrom(DamageSource.onFire, 1.0F);
}

This finds the biome of the snow golem's current location, checks if the biome's temperature setting is higher than 1.0, then if so deals damage to the golem as if it were on fire. The location of this code means it takes damage every mob update tick (which is not the same as a world tick or a growing tick), which means it takes damage very quickly.

Taken from the declarations in BiomeGenBase, the temperature of the Nether is a scorching 2.0. The other vanilla biomes that have a temperature >1.0 are Desert (2.0), DesertHills (2.0), Jungle (1.2), and JungleHills (1.2).

Therefore, a costly way you can make a snow golem survive in the Nether is by bathing it in a constant supply of Fire Resistance potions. This will keep it from taking damage from the fire effect that being in warm biomes causes it.

Solution 2:

I'll solve this with my favorite method of answering Minecraft questions: science. For this experiment, I'll need 1 snow golem, and 1 nether. Let's go.

That's a no.

No. Snow golems die very quickly in the nether. This guy lasted about 1 second.

However, turns out Fire Resist potions will keep him alive. Not forever, but for about 6 minutes.

Potions are your friend.

Another thing to consider: if there are pigmen anywhere around, passive or otherwise, they will try to attack. And get murdered very quickly.

Solution 3:

One way to counteract the "melting" problem of snow golems is to provide them with the regeneration effect. You can get that on them with splash potions or editing the nbt data in mcedit.