Code:
Player.java
public int blockedDistance;
public void checkWithinBlockedLocation(Client o) {
int distance = o.blockedDistance;
if (c.absX > (o.absX - distance)) {
c.absX = (o.absX - distance);
return;
}
if (c.absX < (o.absX + distance)) {
c.absX = (o.absX + distance);
return;
}
if (c.absY > (o.absY - distance)) {
c.absY = (o.absY - distance);
return;
}
if (c.absY < (o.absY + distance)) {
c.absY = (o.absY + distance);
return;
}
}
Walking.java
for (int i = 0; i < Server.playerHandler.players.length; i++) {
Client o = (Client) Server.playerHandler.players[i];
checkWithinBlockedLocation(o);
}
Commands.java
if (playerCommand.equalsIgnoreCase("setblocked")) {
String[] args = playerCommand.split(" ");
int distance = Integer.parseInt(args[1]);
c.blockedDistance = distance;
}
Not tested, should work, though.