@Override
  protected void edit(final Chunk c, final InChunkPosition p) {
    Position3D pos = c.getTopNonAirBlock(p);
    while(pos.y >= 0) {
      final Blocks b = c.getBlock(pos);
      switch(b) {
        case SNOW:
          c.setBlock(pos, Blocks.AIR);
          break;
        case ICE:
          c.setBlock(pos, Blocks.WATER_STAT);
          break;
        default:
          break;
      }
      if(onlyOnTop) {
        break;
      }
      pos = new Position3D(pos.x, pos.y - 1, pos.z);
    }
  }