@Override
    public boolean load() {
        // clean up data if needed.
        if (null != heightData) {
            unloadHeightMap();
        }
        heightData = new float[size * size];
        float[][] tempBuffer = new float[size][size];
        Random random = new Random(seed);

        for (int i = 0; i < iterations; i++) {
            addFault(tempBuffer, random);
        }

        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                setHeightAtPoint(tempBuffer[i][j], i, j);
            }
        }

        normalizeTerrain(NORMALIZE_RANGE);

        logger.log(Level.FINE, "Fault heightmap generated");
        return true;
    }
Create a heightmap with linear step faults.
@param size size of heightmap
@param iterations number of iterations
@param minFaultHeight Height modified on each side
@param maxFaultHeight Height modified on each side
jme3-terrain/src/main/java/com/jme3/terrain/heightmap/FaultHeightMap.java