@Override
    public int hashCode() {
      final int prime = 31;
      int result = 1;
      result = prime * result + (ADown ? 1231 : 1237);
      result = prime * result + (BDown ? 1231 : 1237);
      result = prime * result + downCooldown;
      result = prime * result + (leftDown ? 1231 : 1237);
      result = prime * result + ((piece == null) ? 0 : piece.hashCode());
      result = prime * result + (rightDown ? 1231 : 1237);
      result = prime * result + remainingDropDelay;
      return result;
    }