/** * Generates a flowing cave dungeon with a different {@link TilesetType} than this generator was made with. * The default type is {@link TilesetType#DEFAULT_DUNGEON} if unspecified in the constructor. * @param type a TilesetType enum value * @return a 2D char array for the cave system */ public char[][] generate(TilesetType type) { remakeEnvironment = true; gen.generate(type, width, height); ca.remake(gen.region); gen.region.and(ca.runBasicSmoothing()).deteriorate(rng, 0.9); gen.region.and(ca.runBasicSmoothing()).deteriorate(rng, 0.9); ca.current.remake(gen.region.deteriorate(rng, 0.9)); gen.region.or(ca.runBasicSmoothing()); gen.region = gen.region.removeEdges().largestPart(); return gen.region.intoChars(gen.getDungeon(), '.', '#'); }