diff --git a/blight-common/src/main/java/de/blight/common/VoxelChunkIO.java b/blight-common/src/main/java/de/blight/common/VoxelChunkIO.java index 941b846..8e190ba 100644 --- a/blight-common/src/main/java/de/blight/common/VoxelChunkIO.java +++ b/blight-common/src/main/java/de/blight/common/VoxelChunkIO.java @@ -74,73 +74,10 @@ public final class VoxelChunkIO { } } - // ── Pre-Bake-Backups ────────────────────────────────────────────────────── - - /** Backup-Pfad der .blvc-Datei (wird vor dem Bake angelegt). */ - public static Path getPreBakePath(int cx, int cy, int cz) { - return getPath(cx, cy, cz).resolveSibling( - getPath(cx, cy, cz).getFileName() + ".prebake"); - } - - public static boolean preBakeExists(int cx, int cy, int cz) { - return Files.exists(getPreBakePath(cx, cy, cz)); - } - - /** Kopiert die aktuelle .blvc-Datei als Pre-Bake-Backup. */ - public static void savePreBake(int cx, int cy, int cz) throws IOException { - Path src = getPath(cx, cy, cz); - if (!Files.exists(src)) return; - Files.copy(src, getPreBakePath(cx, cy, cz), StandardCopyOption.REPLACE_EXISTING); - } - - public static void deletePreBake(int cx, int cy, int cz) throws IOException { - Files.deleteIfExists(getPreBakePath(cx, cy, cz)); - } - - /** Stellt die .blvc-Datei aus dem Backup wieder her. */ - public static void restorePreBake(int cx, int cy, int cz) throws IOException { - Path backup = getPreBakePath(cx, cy, cz); - if (!Files.exists(backup)) return; - Files.copy(backup, getPath(cx, cy, cz), StandardCopyOption.REPLACE_EXISTING); - } - - /** true wenn mindestens ein Pre-Bake-Backup im Chunks-Verzeichnis existiert. */ - public static boolean hasAnyPreBake() { - Path dir = ChunkTerrainIO.chunksDir(); - if (!Files.isDirectory(dir)) return false; - try (DirectoryStream ds = Files.newDirectoryStream(dir, "voxel_*.blvc.prebake")) { - return ds.iterator().hasNext(); - } catch (IOException e) { return false; } - } - - /** Alle Chunk-Koordinaten für die ein Pre-Bake-Backup existiert. */ - public static List listPreBakeCoords() { - List result = new java.util.ArrayList<>(); - Path dir = ChunkTerrainIO.chunksDir(); - if (!Files.isDirectory(dir)) return result; - try (DirectoryStream ds = Files.newDirectoryStream(dir, "voxel_*.blvc.prebake")) { - for (Path p : ds) { - String name = p.getFileName().toString() - .replace("voxel_", "").replace(".blvc.prebake", ""); - String[] parts = name.split("_"); - if (parts.length != 3) continue; - try { - int cx = Integer.parseInt(parts[0]); - int cy = parts[1].startsWith("m") - ? -Integer.parseInt(parts[1].substring(1)) - : Integer.parseInt(parts[1]); - int cz = Integer.parseInt(parts[2]); - result.add(new int[]{cx, cy, cz}); - } catch (NumberFormatException ignored) {} - } - } catch (IOException ignored) {} - return result; - } - /** * Liest alle vorhandenen VoxelChunks aus dem Chunks-Verzeichnis. - * Für Koordinaten, bei denen die .blvc nach dem Backen gelöscht wurde, - * wird automatisch die .blvc.prebake als Fallback herangezogen. + * Vorhandene .blvc.prebake-Dateien (Altbestand) werden einmalig als .blvc migriert + * und danach gelöscht. * Gibt leere Liste zurück wenn kein Chunks-Verzeichnis existiert. */ public static List loadAll() { @@ -148,7 +85,6 @@ public final class VoxelChunkIO { Path dir = ChunkTerrainIO.chunksDir(); if (!Files.isDirectory(dir)) return result; - // Aktive .blvc-Dateien einlesen Set loaded = new java.util.HashSet<>(); try (DirectoryStream ds = Files.newDirectoryStream(dir, "voxel_*.blvc")) { for (Path p : ds) { @@ -168,12 +104,17 @@ public final class VoxelChunkIO { } } catch (IOException ignored) {} - // Prebake-Fallback: Koordinaten die gebacken wurden haben keine .blvc mehr + // Einmalige Migration: .blvc.prebake → .blvc für Altbestand ohne aktive .blvc. + // Erst kopieren, dann löschen – umgekehrte Reihenfolge würde Daten vernichten. + List prebakeToDelete = new java.util.ArrayList<>(); try (DirectoryStream ds = Files.newDirectoryStream(dir, "voxel_*.blvc.prebake")) { for (Path p : ds) { String name = p.getFileName().toString() .replace("voxel_", "").replace(".blvc.prebake", ""); - if (loaded.contains(name)) continue; // aktive .blvc hat Vorrang + if (loaded.contains(name)) { + prebakeToDelete.add(p); // .blvc existiert bereits → nur löschen + continue; + } String[] parts = name.split("_"); if (parts.length != 3) continue; try { @@ -182,10 +123,15 @@ public final class VoxelChunkIO { ? -Integer.parseInt(parts[1].substring(1)) : Integer.parseInt(parts[1]); int cz = Integer.parseInt(parts[2]); - result.add(VoxelChunk.deserialize(Files.readAllBytes(p), cx, cy, cz)); + Path blvc = getPath(cx, cy, cz); + Files.copy(p, blvc, StandardCopyOption.REPLACE_EXISTING); // erst kopieren + result.add(VoxelChunk.deserialize(Files.readAllBytes(blvc), cx, cy, cz)); + loaded.add(name); + prebakeToDelete.add(p); // dann löschen } catch (Exception ignored) {} } } catch (IOException ignored) {} + for (Path p : prebakeToDelete) { try { Files.deleteIfExists(p); } catch (IOException ignored) {} } return result; } diff --git a/blight-editor/src/main/java/de/blight/editor/state/VoxelEditorState.java b/blight-editor/src/main/java/de/blight/editor/state/VoxelEditorState.java index 641e967..bb6e128 100644 --- a/blight-editor/src/main/java/de/blight/editor/state/VoxelEditorState.java +++ b/blight-editor/src/main/java/de/blight/editor/state/VoxelEditorState.java @@ -399,7 +399,7 @@ public class VoxelEditorState extends BaseAppState { // Verwaiste gebackene .j3o ohne zugehörige .blvc löschen for (int[] cxyz : SculptedMeshIO.findAllBakedChunks()) { int cx = cxyz[0], cy = cxyz[1], cz = cxyz[2]; - if (!VoxelChunkIO.exists(cx, cy, cz) && !VoxelChunkIO.preBakeExists(cx, cy, cz)) { + if (!VoxelChunkIO.exists(cx, cy, cz)) { for (int lod = 0; lod <= 3; lod++) { try { Files.deleteIfExists(VoxelChunkIO.getBakedPath(cx, cy, cz, lod)); } catch (Exception ignored) {} } @@ -422,7 +422,9 @@ public class VoxelEditorState extends BaseAppState { if (input.markAllChunksDirtyRequested) { input.markAllChunksDirtyRequested = false; for (long key : chunks.keySet()) sessionDirtyChunks.add(key); - // Chunks die noch nicht geladen sind von Disk nachladen, damit der Bake sie kennt + // Sofort aktualisieren damit der Bake-on-Exit-Guard den neuen Wert sieht + input.sessionDirtyVoxelCount = sessionDirtyChunks.size(); + // Chunks die noch nicht geladen sind von Disk nachladen, damit der Bake-on-Exit sie kennt executor.submit(() -> { List allDisk = VoxelChunkIO.loadAll(); app.enqueue(() -> { @@ -431,7 +433,22 @@ public class VoxelEditorState extends BaseAppState { if (!chunks.containsKey(key)) chunks.put(key, c); sessionDirtyChunks.add(key); } + // Leere Chunks: .blvc löschen (kein Mesh zu backen, kein Speicherbedarf) + List emptyKeys = new ArrayList<>(); + for (long key : sessionDirtyChunks) { + VoxelChunk c = chunks.get(key); + if (c != null && c.isEmpty()) emptyKeys.add(key); + } + for (long key : emptyKeys) { + VoxelChunk c = chunks.remove(key); + sessionDirtyChunks.remove(key); + VoxelChunkNode node = nodes.remove(key); + if (node != null) node.removeFromParent(); + try { VoxelChunkIO.delete(c.cx, c.cy, c.cz); } catch (Exception ignored) {} + } input.sessionDirtyVoxelCount = sessionDirtyChunks.size(); + log.info("Alle-dirty: {} Chunks geladen, {} leer gelöscht, {} dirty für Bake-on-Exit", + allDisk.size(), emptyKeys.size(), sessionDirtyChunks.size()); }); }); } @@ -1970,20 +1987,27 @@ public class VoxelEditorState extends BaseAppState { } } - private void bakeAll(List toProcess) { + /** Gibt die Anzahl erfolgreich gebackener Chunks zurück (0 wenn nichts zu tun). */ + private int bakeAll(List toProcess) { saveAll(); + log.info("bakeAll: {} Chunks übergeben", toProcess.size()); List nonEmpty = new java.util.ArrayList<>(); for (VoxelChunk c : toProcess) { if (!c.isEmpty()) nonEmpty.add(c); } + log.info("bakeAll: nach isEmpty-Filter: {} verbleiben", nonEmpty.size()); // Chunks ohne .blvc-Datei überspringen (noch nie gespeichert). nonEmpty.removeIf(c -> !VoxelChunkIO.exists(c.cx, c.cy, c.cz)); + log.info("bakeAll: nach exists-Filter: {} verbleiben", nonEmpty.size()); // Chunks ohne nennenswerte Geometrie überspringen (nur Brush-Randberührungen, // solidYSpan < 2 → gleiche Schwelle wie der Game-Loader). nonEmpty.removeIf(c -> c.solidYSpan() < 2); + log.info("bakeAll: nach solidYSpan-Filter: {} verbleiben (→ diese werden gebacken)", nonEmpty.size()); if (nonEmpty.isEmpty()) { input.bakeStatusMsg = "Nichts zu backen (keine nicht-leeren Chunks)."; - return; + log.warn("bakeAll: kein Chunk überlebt alle Filter – übergebene Chunks: {}", + toProcess.stream().map(c -> c.cx+","+c.cy+","+c.cz).toList()); + return 0; } // bakeTotal sofort setzen, damit die Fortschrittsanzeige schon während des Blurs läuft @@ -2236,8 +2260,12 @@ public class VoxelEditorState extends BaseAppState { // gebackene Terrain systematisch zu hoch machen. smoothH = h0; } else { - float dDown = dDownRaw - 1; - smoothH = (dDown <= 0f) ? h0 : (h0 * dUp + hUp * dDown) / (dUp + dDown); + // dDown = dDownRaw (kein -1): auch unmittelbar angrenzende Stufen + // (dDownRaw=1) bekommen eine interpolierte Höhe statt h0 zurück. + // Die frühere "Trailing-Edge-Korrektur" (dDownRaw-1) ließ genau die + // Kanten-Spalten unberührt, die am meisten abfallen müssten. + float dDown = (float) dDownRaw; + smoothH = (h0 * dUp + hUp * dDown) / (dUp + dDown); } smoothMap.put(hk0, smoothH); } @@ -2291,7 +2319,9 @@ public class VoxelEditorState extends BaseAppState { final float RAMP_RATIO = 4.0f; final int MAX_RAMP_R = 20; final int MAX_RAMP_R_TERRAIN = 4; - final float MAX_TERRAIN_DIFF = 1.0f; + // Erhöht von 1.0 auf 3.0: unterste Voxel-Schicht liegt oft 2–3 m über dem + // Basisterrain – mit 1.0 wurde sie komplett übersprungen → senkrechte Klippe. + final float MAX_TERRAIN_DIFF = 3.0f; final float MAX_VOXEL_DIFF = 1.05f; Map terrainCache2b = new HashMap<>(); @@ -2308,6 +2338,12 @@ public class VoxelEditorState extends BaseAppState { int colX2b = (int)(hk0 / 60001L) - 30000; int colZ2b = (int)(hk0 % 60001L) - 30000; + // Schritt 2 hat diese Spalte bereits auf eine Rampe gesetzt → Pass A + // nicht überschreiben, sonst entsteht ein Konflikt (Schritt-2-Steigung + // vs. terrain-basierter Rampenwert). Pass A nur für Spalten die Schritt 2 + // unberührt gelassen hat (smoothH ≈ h0raw = Plateau oder unterste Schicht). + if (Math.abs(h0sm - h0raw) > 0.1f) continue; + float minRampH = h0sm; float minRaiseH = Float.POSITIVE_INFINITY; float passA_maxThAbove = Float.NEGATIVE_INFINITY; @@ -2392,7 +2428,9 @@ public class VoxelEditorState extends BaseAppState { for (Map.Entry entry : hfMap.entrySet()) { long hk0 = entry.getKey(); float h0raw = entry.getValue(); - if (h0raw > 4.25f) continue; + // Kein Höhen-Cutoff hier – Pass B muss für alle Voxel-Säulen laufen. + // Der frühere "h0raw > 4.25f"-Guard hat Pass B für praktisch alle + // Terrain-Voxel (Welt-Y >> 4) komplett deaktiviert. float h0sm = smoothMap.getOrDefault(hk0, h0raw); int colX2b = (int)(hk0 / 60001L) - 30000; int colZ2b = (int)(hk0 % 60001L) - 30000; @@ -2717,14 +2755,11 @@ public class VoxelEditorState extends BaseAppState { } } - // Pre-Bake-Backup anlegen (ermöglicht Revert nach dem Bake). - // Wichtig: zuerst .blvc auf Disk speichern, falls Auto-Save noch nicht gelaufen ist, - // damit savePreBake() etwas zum Kopieren hat. + // .blvc sicherstellen bevor der Bake läuft (falls Auto-Save noch nicht lief) for (VoxelChunk chunk : nonEmpty) { try { VoxelChunkIO.save(chunk); - VoxelChunkIO.savePreBake(chunk.cx, chunk.cy, chunk.cz); - } catch (Exception e) { log.warn("Pre-Bake-Backup fehlgeschlagen ({},{},{}): {}", + } catch (Exception e) { log.warn("Speichern vor Bake fehlgeschlagen ({},{},{}): {}", chunk.cx, chunk.cy, chunk.cz, e.getMessage()); } } @@ -2760,6 +2795,7 @@ public class VoxelEditorState extends BaseAppState { input.bakeStatusMsg = msg; input.sculptRescanNeeded = true; log.info("Voxel-Bake abgeschlossen – {}.", msg); + return successfullyBaked.size(); } /** Bäckt einen einzelnen Chunk. Gibt true zurück wenn erfolgreich, false bei Fehler. */ diff --git a/blight-editor/src/main/java/de/blight/editor/toolset/terrain/TerrainPanelController.java b/blight-editor/src/main/java/de/blight/editor/toolset/terrain/TerrainPanelController.java index d072e7e..477dbcc 100644 --- a/blight-editor/src/main/java/de/blight/editor/toolset/terrain/TerrainPanelController.java +++ b/blight-editor/src/main/java/de/blight/editor/toolset/terrain/TerrainPanelController.java @@ -1266,8 +1266,9 @@ public class TerrainPanelController { "wird alles neu gebacken – kann je nach Groesse der Karte sehr lange dauern."); rebakeWarning.setStyle("-fx-text-fill: #b05000; -fx-font-size: 10;"); rebakeWarning.setWrapText(true); + // visibleProperty binden – aber NICHT managedProperty: der Label belegt immer + // seinen Platz, damit sich das Layout nicht verschiebt und der OK-Button sichtbar bleibt. rebakeWarning.visibleProperty().bind(cbRebakeAll.selectedProperty()); - rebakeWarning.managedProperty().bind(cbRebakeAll.selectedProperty()); javafx.scene.layout.VBox content = new javafx.scene.layout.VBox(8, cbUnderground, cbOrphaned, @@ -1298,7 +1299,7 @@ public class TerrainPanelController { if (doRebakeAll) { input.markAllChunksDirtyRequested = true; - statusLbl.setText("Alle Chunks als dirty markiert."); + statusLbl.setText("Alle Chunks als dirty markiert – Bake beim Tab-Verlassen."); } if (doUnderground || doOrphaned) { input.cleanupUndergroundVoxels = doUnderground; diff --git a/blight-map/src/main/map/blight_map.blm b/blight-map/src/main/map/blight_map.blm index 33ba29d..7a16143 100644 Binary files a/blight-map/src/main/map/blight_map.blm and b/blight-map/src/main/map/blight_map.blm differ diff --git a/blight-map/src/main/map/chunks/chunk_09_07.blc b/blight-map/src/main/map/chunks/chunk_09_07.blc index 473c02c..9fb1858 100644 Binary files a/blight-map/src/main/map/chunks/chunk_09_07.blc and b/blight-map/src/main/map/chunks/chunk_09_07.blc differ diff --git a/blight-map/src/main/map/chunks/chunk_09_08.blc b/blight-map/src/main/map/chunks/chunk_09_08.blc index 29c9540..94144c7 100644 Binary files a/blight-map/src/main/map/chunks/chunk_09_08.blc and b/blight-map/src/main/map/chunks/chunk_09_08.blc differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_0_08.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_16_0_08.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_16_0_08.blvc diff --git a/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod0.j3o index d5487df..70ecf0c 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod1.j3o index 237878e..9742dc3 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_16_0_08_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_15.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_0_15.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_16_0_15.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_16_0_15.blvc diff --git a/blight-map/src/main/map/chunks/voxel_16_0_15_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_0_15_baked_lod0.j3o index a6c9e91..f25f579 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_15_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_16_0_15_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_16.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_0_16.blvc similarity index 61% rename from blight-map/src/main/map/chunks/voxel_16_0_16.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_16_0_16.blvc index e18870e..780bf81 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_16.blvc.prebake and b/blight-map/src/main/map/chunks/voxel_16_0_16.blvc differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod0.j3o index 349aa51..e63f054 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod1.j3o index bb7f429..445ddc4 100644 Binary files a/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_16_0_16_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_m1_08.blvc.prebake deleted file mode 100644 index 112e4ea..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_08.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod0.j3o deleted file mode 100644 index 55d4425..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod1.j3o deleted file mode 100644 index 8775902..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod2.j3o deleted file mode 100644 index f54fb1f..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_08_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_09.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_m1_09.blvc.prebake deleted file mode 100644 index 0064476..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_09.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod0.j3o deleted file mode 100644 index 428f4fe..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod1.j3o deleted file mode 100644 index bcc2b1d..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod2.j3o deleted file mode 100644 index eec5772..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_09_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_15.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_m1_15.blvc.prebake deleted file mode 100644 index b6ed2f8..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_15.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod0.j3o deleted file mode 100644 index e13b822..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod1.j3o deleted file mode 100644 index cd6964a..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_15_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_16.blvc.prebake b/blight-map/src/main/map/chunks/voxel_16_m1_16.blvc.prebake deleted file mode 100644 index 72cdb65..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_16.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod0.j3o deleted file mode 100644 index 8a3a624..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod1.j3o deleted file mode 100644 index c590b47..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod2.j3o deleted file mode 100644 index 4be4453..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_16_m1_16_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_08.blvc b/blight-map/src/main/map/chunks/voxel_17_0_08.blvc deleted file mode 100644 index bc33783..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_08.blvc and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_0_08.blvc.prebake deleted file mode 100644 index 3d267f6..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_08.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod0.j3o deleted file mode 100644 index aa60953..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod1.j3o deleted file mode 100644 index e08103e..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod2.j3o deleted file mode 100644 index 810bf77..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_08_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_09.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_0_09.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_17_0_09.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_17_0_09.blvc diff --git a/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod0.j3o index 5b4b39f..c6306b5 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod1.j3o index d1884cd..5682506 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_09_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_10.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_0_10.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_17_0_10.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_17_0_10.blvc diff --git a/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod0.j3o index 0795e42..e928ded 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod1.j3o index f046c03..4c5a3ee 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_10_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_15.blvc b/blight-map/src/main/map/chunks/voxel_17_0_15.blvc index 8567777..56ac1b1 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_15.blvc and b/blight-map/src/main/map/chunks/voxel_17_0_15.blvc differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_15.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_0_15.blvc.prebake deleted file mode 100644 index 8567777..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_15.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod0.j3o index d01ce3a..a5d63d0 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod1.j3o index d3aa93d..c1bb60c 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_15_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_16.blvc b/blight-map/src/main/map/chunks/voxel_17_0_16.blvc index 5121730..8fa4f38 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_16.blvc and b/blight-map/src/main/map/chunks/voxel_17_0_16.blvc differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_16.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_0_16.blvc.prebake deleted file mode 100644 index 5121730..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_16.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod0.j3o index 62fa98f..6a358e0 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod1.j3o index dc2e38a..69fbdee 100644 Binary files a/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_17_0_16_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_m1_08.blvc.prebake deleted file mode 100644 index e00368e..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_08.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod0.j3o deleted file mode 100644 index fabb26d..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod1.j3o deleted file mode 100644 index ec98daa..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod2.j3o deleted file mode 100644 index 4be7d9c..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_08_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_09.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_m1_09.blvc.prebake deleted file mode 100644 index 5128908..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_09.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod0.j3o deleted file mode 100644 index 9ab1a87..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod1.j3o deleted file mode 100644 index 4e2ac70..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod2.j3o deleted file mode 100644 index 7bcfde3..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_09_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_10.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_m1_10.blvc.prebake deleted file mode 100644 index b58cbf8..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_10.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod0.j3o deleted file mode 100644 index a6cbb77..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod1.j3o deleted file mode 100644 index 9ac6f32..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod2.j3o deleted file mode 100644 index 18faa37..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_10_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_15.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_m1_15.blvc.prebake deleted file mode 100644 index 4badf4b..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_15.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_15_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_15_baked_lod0.j3o deleted file mode 100644 index 7021022..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_15_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_16.blvc.prebake b/blight-map/src/main/map/chunks/voxel_17_m1_16.blvc.prebake deleted file mode 100644 index 100f016..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_16.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod0.j3o deleted file mode 100644 index eabe765..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod1.j3o deleted file mode 100644 index 54d009c..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod2.j3o deleted file mode 100644 index d8bf366..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_17_m1_16_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_0_08.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_18_0_08.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_18_0_08.blvc diff --git a/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod0.j3o index 8867391..facf820 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod1.j3o index 5c218cc..06c8df2 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_08_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_09.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_0_09.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_18_0_09.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_18_0_09.blvc diff --git a/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod0.j3o index f117b04..69ec157 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod1.j3o index 910b84c..c9a7840 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_09_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_10.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_0_10.blvc similarity index 100% rename from blight-map/src/main/map/chunks/voxel_18_0_10.blvc.prebake rename to blight-map/src/main/map/chunks/voxel_18_0_10.blvc diff --git a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod0.j3o index a57069b..269d4a5 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod0.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod0.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod1.j3o index 1e799b6..d55148e 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod1.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod1.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod2.j3o index 6fed4a8..54d238a 100644 Binary files a/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod2.j3o and b/blight-map/src/main/map/chunks/voxel_18_0_10_baked_lod2.j3o differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_08.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_m1_08.blvc.prebake deleted file mode 100644 index 9c4d17b..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_08.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod0.j3o deleted file mode 100644 index d170e15..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod1.j3o deleted file mode 100644 index d259aa4..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod2.j3o deleted file mode 100644 index f20c219..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_08_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_09.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_m1_09.blvc.prebake deleted file mode 100644 index 54821e3..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_09.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod0.j3o deleted file mode 100644 index 80629bc..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod1.j3o deleted file mode 100644 index f9d2419..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod2.j3o deleted file mode 100644 index 2d0ffc8..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_09_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_10.blvc.prebake b/blight-map/src/main/map/chunks/voxel_18_m1_10.blvc.prebake deleted file mode 100644 index 7721c15..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_10.blvc.prebake and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod0.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod0.j3o deleted file mode 100644 index da71b85..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod0.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod1.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod1.j3o deleted file mode 100644 index 45c251c..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod1.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod2.j3o b/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod2.j3o deleted file mode 100644 index 8d23716..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_18_m1_10_baked_lod2.j3o and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_19_0_09.blvc b/blight-map/src/main/map/chunks/voxel_19_0_09.blvc deleted file mode 100644 index bc3ad39..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_19_0_09.blvc and /dev/null differ diff --git a/blight-map/src/main/map/chunks/voxel_19_0_10.blvc b/blight-map/src/main/map/chunks/voxel_19_0_10.blvc deleted file mode 100644 index 482cbe2..0000000 Binary files a/blight-map/src/main/map/chunks/voxel_19_0_10.blvc and /dev/null differ