File tree Expand file tree Collapse file tree 2 files changed +20
-14
lines changed
BlueMapCommon/src/main/java/de/bluecolored/bluemap/common Expand file tree Collapse file tree 2 files changed +20
-14
lines changed Original file line number Diff line number Diff line change @@ -141,11 +141,10 @@ private void renderThread() {
141141 try {
142142 ticket .render ();
143143 } catch (IOException e ) {
144- if (ticket .getRenderAttempts () < 3 ) {
145- Logger .global .logDebug ("Failed to render tile " + ticket .getTile () + " of map '" + ticket .getMapType ().getId () + "', rescheduling for " + (ticket .getRenderAttempts () + 1 ) + ". attempt.." );
146- createTicket (ticket ); //this might be a temporary issue, so we reschedule ticket for another attempt
144+ if (ticket .getRenderAttempts () <= 1 ) {
145+ createTicket (ticket );
147146 } else {
148- Logger .global .logError ("Failed to render tile " + ticket .getTile () + " of map '" + ticket .getMapType ().getId () + "'!" , e );
147+ Logger .global .logDebug ("Failed to render tile " + ticket .getTile () + " of map '" + ticket .getMapType ().getId () + "' after " + ticket . getRenderAttempts () + " render-attempts! (" + e . toString () + ")" );
149148 }
150149 }
151150 } else {
Original file line number Diff line number Diff line change @@ -21,20 +21,27 @@ public MapUpdateHandler() {
2121 }
2222
2323 @ Override
24- public void onWorldSaveToDisk (UUID world ) {
24+ public void onWorldSaveToDisk (final UUID world ) {
2525 RenderManager renderManager = Plugin .getInstance ().getRenderManager ();
2626
27- synchronized (updateBuffer ) {
28- Iterator <MapType > iterator = updateBuffer .keys ().iterator ();
29- while (iterator .hasNext ()) {
30- MapType map = iterator .next ();
31- if (map .getWorld ().getUUID ().equals (world )) {
32- renderManager .createTickets (map , updateBuffer .get (map ));
33- iterator .remove ();
27+ new Thread (() -> {
28+ try {
29+ Thread .sleep (5000 ); // wait 5 sec before rendering so saving has finished to avoid render-errors
30+
31+ synchronized (updateBuffer ) {
32+ Iterator <MapType > iterator = updateBuffer .keys ().iterator ();
33+ while (iterator .hasNext ()) {
34+ MapType map = iterator .next ();
35+ if (map .getWorld ().getUUID ().equals (world )) {
36+ renderManager .createTickets (map , updateBuffer .get (map ));
37+ iterator .remove ();
38+ }
39+ }
40+
3441 }
35- }
42+ } catch ( InterruptedException ignore ) {}
3643
37- }
44+ }). start ();
3845 }
3946
4047 @ Override
You can’t perform that action at this time.
0 commit comments