Looking for a block-based programming language for AP CS P
You will probably want to look into Snap!. It was built upon Scratch and would probably meet your needs. This is from its About page:


  Snap! (formerly BYOB) is a visual, drag-and-drop programming language.
  It is an extended reimplementation of Scratch (a project of the
  Lifelong Kindergarten Group at the MIT Media Lab) that allows you to
  Build Your Own Blocks. It also features first class lists, first
  class procedures, and continuations. These added capabilities make
  it suitable for a serious introduction to computer science for high
  school or college students.


Additionally, I asked a question a few weeks ago about the differences between Scratch and Snap!. You might find this discussion helpful: "What can Snap! do that Scratch cannot?"

Edit: In the context of AP CS Principles, it may also be helpful to know there is a full curriculum available from Berkeley that utilizes Snap!. It is called The Beauty and Joy of Computing.