Learn · modules
What Is Piercing in Minecraft? Hitting Through Walls Explained
Piercing skips the line-of-sight check, letting hits land through walls. Here's how it works and why servers catch it almost always.
What is Piercing?
Piercing is a combat module that lets an attack connect even when a solid block sits directly between the attacker and the target. Normal Minecraft combat runs a check first: the game traces a line from you to whatever you're hitting, and if that line hits terrain before it reaches the target, the attack doesn't register. Piercing skips that check. A fence, a wall, a slab of stone, none of it matters anymore. The check either passes or it doesn't, and Piercing just removes the requirement, which is exactly why it's one of the easier things for a server to catch.
How it works
Vanilla Minecraft runs a raycast before it lets a hit land. The game traces a straight line from the attacking player to the target and stops at the first solid block that line touches. If that block is closer than the target, the attack whiffs, full stop. That single check is why a wall, a closed door, or even a fence post is normally enough to make a swing do nothing.
Piercing removes or bypasses that raycast, so the attack goes through as if the block weren't there. The removal isn't always total. Some implementations keep block collision intact for movement but drop it specifically for combat, and a few only stop checking for entities in the way rather than terrain, a narrower version of the same idea. The end result across all of them is the same: something solid stood between two players, and the hit landed anyway.
Piercing vs. Reach
It's worth separating this from Reach. Reach stretches how far a hit can travel. Piercing has nothing to do with distance, it's about what's in the line between two points, not the length of that line. A player can have completely ordinary reach and still be running Piercing, and the two show up combined often enough that people mix them up.
| Piercing | Reach | |
|---|---|---|
| What it changes | Line-of-sight requirement | Hit distance limit |
| Works through | Walls between players | Open space at any range |
| Detection | Server raycast check | Hit distance vs. position |
Why servers catch it
Short answer: the check is geometric and indisputable. At the moment of the hit, the server can run its own raycast between the two players' actual positions. If solid terrain sits in that path, there's no legitimate explanation for the swing landing anyway. Unlike reach or rotation smoothing, where a server has to allow room for latency and normal human imprecision, a wall either was there or it wasn't. That leaves very little space for false positives, which also means very little space for a player to get away with it.
FAQ
It lets an attack land on a target even when a block, like a wall or a fence, sits directly between you and them. Vanilla Minecraft blocks that hit outright.
No. Reach extends how far an attack can travel. Piercing ignores whatever is physically in the way. They solve different problems, though they often get used together.
Because the server can run its own line-of-sight check between the two players at the moment of the hit, and a solid block in that path is something the client can't talk its way around.
It depends on implementation, but the hit goes out the same way a legitimate hit does. The lie is in the permission check, not the packet format. The server verifies what should have happened, finds a wall in the way, and knows something was wrong.