How can I bring zombies down to one-punch kills in Minecraft?
I have invented a solution to this problem using a mechanism to apply one tick of lava damage. It occurred to me that a tripwire could be placed immediately above lava in order to remove it (using a dispenser) as soon as a mob hits it, thus preventing the mob from continuing to swim in it. Doing this for the water as well as the lava means that no acceleration is needed to make sure the mob will fall down, so the whole mechanism is only a little bit of extra height above a standard fall-damage trap.
Build details, from top to bottom:
The zombies are pushed by water into the drop pipe. I don't know how important the length of the upper section is.
-
The water and lava mechanisms are identical:
Each dispenser contains an empty bucket.
All pistons are sticky.
The tripwire above the fluid is the input to the left (in first image) piston monostable (rising edge detector), which causes the dispenser to remove the fluid into the bucket. The monostable ensures that the tripwire input will not interfere with the second fluid-restoring pulse.
Behind the dispenser is a comparator followed by 2 blocks of redstone wire; this detects the dispenser having a lava bucket (which counts as 1 stack) instead of an empty bucket (which counts as 1⁄16 stack), and triggers the right piston monostable to remove the fluid. In the event that the state of the dispenser gets reversed, this circuit will simply not generate a pulse, thus correcting the problem.
Below the water block is exactly 19 ½ blocks of empty space (counting the sign) down to the fall-damage landing platform.
Results: When the zombies hit the platform, a few still take 2 punches, but most of them take 1 punch to kill. I have successfully operated this mechanism in my survival world fed by two zombie spawners.
Glitches:
The amount of damage done is not completely reliable.
It is possible for the dispensers to get inverted (resulting in zombies falling on fire, without taking any lava damage, or from the wrong height). This latest revision with comparators can self-correct this problem, but it still may result in an occasional zombie with the wrong amount of health. (I have also seen a dispenser completely fail to respond to pulses, so I suspect there is a Minecraft bug involved.)
I know it can be hard to build mechanisms from screenshots, so if you would like any further explanation of other camera angles, feel free to ask me to add them.
From what I gathered from reading a couple of forum posts/threads, 23 ½ is your best bet. Some of the zombies will die from the fall damage but the majority should end up being a one hit kill.
This seems to be because of a change between 1.0/1.1 that added "natural" armor points to zombies, here's the code from 1.1 ( Source ) :
public class EntityZombie extends EntityMob
{
...
public int getMaxHealth()
{
return 20;
}
public int getTotalArmorValue()
{
return 2;
}
...
}
Hope this helped you, good luck!
Mechanism above is good to expose 1 tick of lava damage, however you ALSO need precision for the falling zombies. That device can have multiple zombies falling together each with "overlapping" parts of their bodies say the feet of 2nd zombie overlapping with head of first zombie, so ONLY the first zombie takes the lava damage.
So you need to make sure ALL zombies fall either totally separately (very hard) or as a single group that are all EXACTLY at the same Y elevation.
So INSTEAD use a long-delay clock to send a "start" signal at regular intervals.
Right under the spawning rooms, some (to be found) height above the water+lava device, you have a "trap room". Zombies fall from above from a hole in roof, onto the floor, and mass up there.
All signals go from the precise "start" signal, which repeats say every 10 seconds (or whatever).
Start signal activates a piston to close the traproom roof leaving exactly a 1x1x2 high room for the zombies. Thus, no more zombies arrive (for this "wave").
Small Delay. This makes sure all zombies in room are all on trap room floor, at EXACTLY the same height. well, some might be trying to "jump around" so this ain't 100% perfect. But at least the height difference of overlapping zombies is kept limited to a minimum (aboie distance between a zombie head and roof, only a few texture pixels, compared to before where a "train" of falling but overlapping zombies had no theoretical limit on it's total height length).
2nd piston opens floor, all zombies drop.
Small delay, 2nd piston closes floor and 1 tick later, ceiling piston opens roof for starting amassing the zombies for the next wave.
Then some falling distance = that yields a SPECIFIC falling time.
Then some other delay = activates the water+lava damaging device. NO STRING WIRE necessary, the delay can be directly from the start signal not from the falling zombies. That is in fact better because... zombies jump around, right ? A precise clock is thus better. More precise and thus more controlled device.
That way, ALL zombies will take the same exact same amount of lava damage. Well, theoretically possible that the SMALL vertical distance between zombies that were flat on the trapdoor floor vs zombies that were jumping right when the trapdoor opened, is sufficient to allow a zombie avoiding the 1 lava damage (I seriously doubt it), but that should either be a VERY rare occurence, or else just try another falling height / redstone delay combination. Or just try exposing the zombies to MORE than 1 tick of lava. After all, the zombies have a "cooldown" time between damage, so making tem exposed for more thna 1 tick but way less than the cooldown time, will allow even the "slightly latecomer" falling zombies (beause they jumped right when the trapdoor opened) to "catch up" to the others and thus ALSO take the 1 point of lava damage, while the "falling normally" zombies will still be in damage immunity cooldown.
Ergo, ALL zombies take exactly 1 damage in a VERY predictable fashion.
Then some falling distance for enough falling damage so that 1 punch kills are always the case (well, zombies without actual armor equipped, that is).
:-)