Skip to content

Commit a1487ae

Browse files
committed
Merge branch 'mc/1.13' into mc/1.12
2 parents 256e38c + 2f046b6 commit a1487ae

File tree

2 files changed

+20
-14
lines changed

2 files changed

+20
-14
lines changed

BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/RenderManager.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff 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 {

BlueMapCommon/src/main/java/de/bluecolored/bluemap/common/plugin/MapUpdateHandler.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)