1
1
package net .querz .mcaselector ;
2
2
3
+ import net .querz .mcaselector .io .CacheHelper ;
3
4
import net .querz .mcaselector .io .FileHelper ;
4
5
import net .querz .mcaselector .io .WorldDirectories ;
5
6
import net .querz .mcaselector .tiles .Tile ;
@@ -108,10 +109,10 @@ private static boolean attemptCreateDirectory(File file) {
108
109
return false ;
109
110
}
110
111
try {
111
- Files .createDirectories (parent .toPath ());
112
+ Files .createDirectories (parent .getCanonicalFile (). toPath ());
112
113
return true ;
113
114
} catch (IOException ex ) {
114
- System .out .println ("failed to create directory " + parent + ": " + ex .getMessage ());
115
+ System .out .println ("failed to create directory " + parent + ": " + ex .getMessage () + "(" + ex . getClass (). getSimpleName () + ")" );
115
116
return false ;
116
117
}
117
118
}
@@ -127,7 +128,6 @@ private static String resolveHome(String dir) {
127
128
public static final Color DEFAULT_CHUNK_SELECTION_COLOR = new Color (1 , 0.45 , 0 , 0.8 );
128
129
public static final Color DEFAULT_PASTE_CHUNKS_COLOR = new Color (0 , 1 , 0 , 0.8 );
129
130
public static final Locale DEFAULT_LOCALE = Locale .UK ;
130
- public static final int DEFAULT_LOAD_THREADS = 1 ;
131
131
public static final int DEFAULT_PROCESS_THREADS = Math .max (Runtime .getRuntime ().availableProcessors () - 2 , 1 );
132
132
public static final int DEFAULT_WRITE_THREADS = Math .min (Runtime .getRuntime ().availableProcessors (), 4 );
133
133
public static final int DEFAULT_MAX_LOADED_FILES = (int ) Math .max (Math .ceil (Runtime .getRuntime ().maxMemory () / 1_000_000_000D ) * 2 , 1 );
@@ -142,6 +142,7 @@ private static String resolveHome(String dir) {
142
142
143
143
public static final int DEFAULT_RENDER_HEIGHT = 319 ;
144
144
public static final boolean DEFAULT_RENDER_LAYER_ONLY = false ;
145
+ public static final boolean DEFAULT_RENDER_CAVES = false ;
145
146
146
147
private static File worldDir = null ;
147
148
private static WorldDirectories worldDirs = null ;
@@ -154,7 +155,6 @@ private static String resolveHome(String dir) {
154
155
private static Color regionSelectionColor = DEFAULT_REGION_SELECTION_COLOR ;
155
156
private static Color chunkSelectionColor = DEFAULT_CHUNK_SELECTION_COLOR ;
156
157
private static Color pasteChunksColor = DEFAULT_PASTE_CHUNKS_COLOR ;
157
- private static int loadThreads = DEFAULT_LOAD_THREADS ;
158
158
private static int processThreads = DEFAULT_PROCESS_THREADS ;
159
159
private static int writeThreads = DEFAULT_WRITE_THREADS ;
160
160
private static int maxLoadedFiles = DEFAULT_MAX_LOADED_FILES ;
@@ -168,6 +168,7 @@ private static String resolveHome(String dir) {
168
168
169
169
private static int renderHeight = DEFAULT_RENDER_HEIGHT ;
170
170
private static boolean renderLayerOnly = DEFAULT_RENDER_LAYER_ONLY ;
171
+ private static boolean renderCaves = DEFAULT_RENDER_CAVES ;
171
172
172
173
private static boolean debug = DEFAULT_DEBUG ;
173
174
@@ -324,6 +325,14 @@ public static boolean renderLayerOnly() {
324
325
return Config .renderLayerOnly ;
325
326
}
326
327
328
+ public static void setRenderCaves (boolean renderCaves ) {
329
+ Config .renderCaves = renderCaves ;
330
+ }
331
+
332
+ public static boolean renderCaves () {
333
+ return Config .renderCaves ;
334
+ }
335
+
327
336
public static void setMCSavesDir (String mcSavesDir ) {
328
337
Config .mcSavesDir = mcSavesDir ;
329
338
}
@@ -409,16 +418,9 @@ public static void loadFromIni() {
409
418
regionSelectionColor = new Color (config .getOrDefault ("RegionSelectionColor" , DEFAULT_REGION_SELECTION_COLOR .toString ()));
410
419
chunkSelectionColor = new Color (config .getOrDefault ("ChunkSelectionColor" , DEFAULT_CHUNK_SELECTION_COLOR .toString ()));
411
420
pasteChunksColor = new Color (config .getOrDefault ("PasteChunksColor" , DEFAULT_PASTE_CHUNKS_COLOR .toString ()));
412
- loadThreads = Integer .parseInt (config .getOrDefault ("LoadThreads" , DEFAULT_LOAD_THREADS + "" ));
413
421
processThreads = Integer .parseInt (config .getOrDefault ("ProcessThreads" , DEFAULT_PROCESS_THREADS + "" ));
414
422
writeThreads = Integer .parseInt (config .getOrDefault ("WriteThreads" , DEFAULT_WRITE_THREADS + "" ));
415
423
maxLoadedFiles = Integer .parseInt (config .getOrDefault ("MaxLoadedFiles" , DEFAULT_MAX_LOADED_FILES + "" ));
416
- shade = Boolean .parseBoolean (config .getOrDefault ("Shade" , DEFAULT_SHADE + "" ));
417
- shadeWater = Boolean .parseBoolean (config .getOrDefault ("ShadeWater" , DEFAULT_SHADE_WATER + "" ));
418
- showNonexistentRegions = Boolean .parseBoolean (config .getOrDefault ("ShowNonexistentRegions" , DEFAULT_SHOW_NONEXISTENT_REGIONS + "" ));
419
- smoothRendering = Boolean .parseBoolean (config .getOrDefault ("SmoothRendering" , DEFAULT_SMOOTH_RENDERING + "" ));
420
- smoothOverlays = Boolean .parseBoolean (config .getOrDefault ("SmoothOverlays" , DEFAULT_SMOOTH_OVERLAYS + "" ));
421
- tileMapBackground = config .getOrDefault ("TileMapBackground" , DEFAULT_TILEMAP_BACKGROUND );
422
424
mcSavesDir = config .getOrDefault ("MCSavesDir" , DEFAULT_MC_SAVES_DIR );
423
425
if (!new File (mcSavesDir ).exists ()) {
424
426
mcSavesDir = DEFAULT_MC_SAVES_DIR ;
@@ -450,6 +452,8 @@ public static void loadFromIni() {
450
452
Config .overlays = overlays ;
451
453
}
452
454
}
455
+
456
+ System .out .println (asString ());
453
457
}
454
458
455
459
public static void exportConfig () {
@@ -467,16 +471,9 @@ public static void exportConfig() {
467
471
addSettingsLine ("RegionSelectionColor" , regionSelectionColor .toString (), DEFAULT_REGION_SELECTION_COLOR .toString (), lines );
468
472
addSettingsLine ("ChunkSelectionColor" , chunkSelectionColor .toString (), DEFAULT_CHUNK_SELECTION_COLOR .toString (), lines );
469
473
addSettingsLine ("PasteChunksColor" , pasteChunksColor .toString (), DEFAULT_PASTE_CHUNKS_COLOR .toString (), lines );
470
- addSettingsLine ("LoadThreads" , loadThreads , DEFAULT_LOAD_THREADS , lines );
471
474
addSettingsLine ("ProcessThreads" , processThreads , DEFAULT_PROCESS_THREADS , lines );
472
475
addSettingsLine ("WriteThreads" , writeThreads , DEFAULT_WRITE_THREADS , lines );
473
476
addSettingsLine ("MaxLoadedFiles" , maxLoadedFiles , DEFAULT_MAX_LOADED_FILES , lines );
474
- addSettingsLine ("Shade" , shade , DEFAULT_SHADE , lines );
475
- addSettingsLine ("ShadeWater" , shadeWater , DEFAULT_SHADE_WATER , lines );
476
- addSettingsLine ("ShowNonexistentRegions" , showNonexistentRegions , DEFAULT_SHOW_NONEXISTENT_REGIONS , lines );
477
- addSettingsLine ("SmoothRendering" , smoothRendering , DEFAULT_SMOOTH_RENDERING , lines );
478
- addSettingsLine ("SmoothOverlays" , smoothOverlays , DEFAULT_SMOOTH_OVERLAYS , lines );
479
- addSettingsLine ("TileMapBackground" , tileMapBackground , DEFAULT_TILEMAP_BACKGROUND , lines );
480
477
addSettingsLine ("MCSavesDir" , mcSavesDir , DEFAULT_MC_SAVES_DIR , lines );
481
478
addSettingsLine ("Debug" , debug , DEFAULT_DEBUG , lines );
482
479
if (lines .size () == 0 ) {
@@ -531,14 +528,6 @@ public static void setPasteChunksColor(Color pasteChunksColor) {
531
528
Config .pasteChunksColor = pasteChunksColor ;
532
529
}
533
530
534
- public static int getLoadThreads () {
535
- return loadThreads ;
536
- }
537
-
538
- public static void setLoadThreads (int loadThreads ) {
539
- Config .loadThreads = loadThreads ;
540
- }
541
-
542
531
public static int getProcessThreads () {
543
532
return processThreads ;
544
533
}
@@ -570,4 +559,60 @@ public static int getMaxZoomLevel() {
570
559
public static int getMinZoomLevel () {
571
560
return Tile .getZoomLevel (MIN_SCALE );
572
561
}
562
+
563
+ public static String asString () {
564
+ final StringBuilder sb = new StringBuilder ("Config{\n " );
565
+ sb .append (" DEFAULT_BASE_DIR=" ).append (DEFAULT_BASE_DIR );
566
+ sb .append (",\n DEFAULT_BASE_CACHE_DIR=" ).append (DEFAULT_BASE_CACHE_DIR );
567
+ sb .append (",\n DEFAULT_BASE_LOG_FILE=" ).append (DEFAULT_BASE_LOG_FILE );
568
+ sb .append (",\n DEFAULT_BASE_CONFIG_FILE=" ).append (DEFAULT_BASE_CONFIG_FILE );
569
+ sb .append (",\n DEFAULT_BASE_OVERLAYS_FILE=" ).append (DEFAULT_BASE_OVERLAYS_FILE );
570
+ sb .append (",\n DEFAULT_REGION_SELECTION_COLOR=" ).append (DEFAULT_REGION_SELECTION_COLOR );
571
+ sb .append (",\n DEFAULT_CHUNK_SELECTION_COLOR=" ).append (DEFAULT_CHUNK_SELECTION_COLOR );
572
+ sb .append (",\n DEFAULT_PASTE_CHUNKS_COLOR=" ).append (DEFAULT_PASTE_CHUNKS_COLOR );
573
+ sb .append (",\n DEFAULT_LOCALE=" ).append (DEFAULT_LOCALE );
574
+ sb .append (",\n DEFAULT_PROCESS_THREADS=" ).append (DEFAULT_PROCESS_THREADS );
575
+ sb .append (",\n DEFAULT_WRITE_THREADS=" ).append (DEFAULT_WRITE_THREADS );
576
+ sb .append (",\n DEFAULT_MAX_LOADED_FILES=" ).append (DEFAULT_MAX_LOADED_FILES );
577
+ sb .append (",\n DEFAULT_SHADE=" ).append (DEFAULT_SHADE );
578
+ sb .append (",\n DEFAULT_SHADE_WATER=" ).append (DEFAULT_SHADE_WATER );
579
+ sb .append (",\n DEFAULT_SHOW_NONEXISTENT_REGIONS=" ).append (DEFAULT_SHOW_NONEXISTENT_REGIONS );
580
+ sb .append (",\n DEFAULT_SMOOTH_RENDERING=" ).append (DEFAULT_SMOOTH_RENDERING );
581
+ sb .append (",\n DEFAULT_SMOOTH_OVERLAYS=" ).append (DEFAULT_SMOOTH_OVERLAYS );
582
+ sb .append (",\n DEFAULT_TILEMAP_BACKGROUND='" ).append (DEFAULT_TILEMAP_BACKGROUND ).append ('\'' );
583
+ sb .append (",\n DEFAULT_DEBUG=" ).append (DEFAULT_DEBUG );
584
+ sb .append (",\n DEFAULT_MC_SAVES_DIR='" ).append (DEFAULT_MC_SAVES_DIR ).append ('\'' );
585
+ sb .append (",\n DEFAULT_RENDER_HEIGHT=" ).append (DEFAULT_RENDER_HEIGHT );
586
+ sb .append (",\n DEFAULT_RENDER_LAYER_ONLY=" ).append (DEFAULT_RENDER_LAYER_ONLY );
587
+ sb .append (",\n DEFAULT_RENDER_CAVES=" ).append (DEFAULT_RENDER_CAVES );
588
+ sb .append (",\n worldDir=" ).append (worldDir );
589
+ sb .append (",\n worldDirs=" ).append (worldDirs );
590
+ sb .append (",\n worldUUID=" ).append (worldUUID );
591
+ sb .append (",\n baseCacheDir=" ).append (baseCacheDir );
592
+ sb .append (",\n logFile=" ).append (logFile );
593
+ sb .append (",\n cacheDir=" ).append (cacheDir );
594
+ sb .append (",\n locale=" ).append (locale );
595
+ sb .append (",\n regionSelectionColor=" ).append (regionSelectionColor );
596
+ sb .append (",\n chunkSelectionColor=" ).append (chunkSelectionColor );
597
+ sb .append (",\n pasteChunksColor=" ).append (pasteChunksColor );
598
+ sb .append (",\n processThreads=" ).append (processThreads );
599
+ sb .append (",\n writeThreads=" ).append (writeThreads );
600
+ sb .append (",\n maxLoadedFiles=" ).append (maxLoadedFiles );
601
+ sb .append (",\n shade=" ).append (shade );
602
+ sb .append (",\n shadeWater=" ).append (shadeWater );
603
+ sb .append (",\n showNonexistentRegions=" ).append (showNonexistentRegions );
604
+ sb .append (",\n smoothRendering=" ).append (smoothRendering );
605
+ sb .append (",\n smoothOverlays=" ).append (smoothOverlays );
606
+ sb .append (",\n tileMapBackground='" ).append (tileMapBackground ).append ('\'' );
607
+ sb .append (",\n mcSavesDir='" ).append (mcSavesDir ).append ('\'' );
608
+ sb .append (",\n renderHeight=" ).append (renderHeight );
609
+ sb .append (",\n renderLayerOnly=" ).append (renderLayerOnly );
610
+ sb .append (",\n renderCaves=" ).append (renderCaves );
611
+ sb .append (",\n debug=" ).append (debug );
612
+ sb .append (",\n MAX_SCALE=" ).append (MAX_SCALE );
613
+ sb .append (",\n MIN_SCALE=" ).append (MIN_SCALE );
614
+ sb .append (",\n IMAGE_POOL_SIZE=" ).append (IMAGE_POOL_SIZE );
615
+ sb .append ("\n }" );
616
+ return sb .toString ();
617
+ }
573
618
}
0 commit comments