|
60 | 60 | import de.bluecolored.bluemap.core.map.BmMap; |
61 | 61 | import de.bluecolored.bluemap.core.map.MapRenderState; |
62 | 62 | import de.bluecolored.bluemap.core.mca.ChunkAnvil112; |
63 | | -import de.bluecolored.bluemap.core.mca.MCAChunk; |
64 | | -import de.bluecolored.bluemap.core.mca.MCAWorld; |
65 | 63 | import de.bluecolored.bluemap.core.resourcepack.ParseResourceException; |
66 | 64 | import de.bluecolored.bluemap.core.world.Block; |
| 65 | +import de.bluecolored.bluemap.core.world.Chunk; |
67 | 66 | import de.bluecolored.bluemap.core.world.World; |
68 | 67 |
|
69 | 68 | import java.io.IOException; |
@@ -529,23 +528,24 @@ public int debugBlockCommand(CommandContext<S> context) { |
529 | 528 | new Thread(() -> { |
530 | 529 | // collect and output debug info |
531 | 530 | Vector3i blockPos = position.floor().toInt(); |
532 | | - Block block = new Block(world, blockPos.getX(), blockPos.getY(), blockPos.getZ()); |
533 | | - Block blockBelow = new Block(null, 0, 0, 0).copy(block).add(0, -1, 0); |
534 | | - |
| 531 | + Block block = world.getBlock(blockPos); |
| 532 | + Block blockBelow = world.getBlock(blockPos.add(0, -1, 0)); |
| 533 | + |
535 | 534 | String blockIdMeta = ""; |
536 | 535 | String blockBelowIdMeta = ""; |
537 | | - |
538 | | - if (world instanceof MCAWorld) { |
539 | | - MCAChunk chunk = ((MCAWorld) world).getChunkAtBlock(blockPos.getX(), blockPos.getY(), blockPos.getZ()); |
540 | | - if (chunk instanceof ChunkAnvil112) { |
541 | | - blockIdMeta = " (" + ((ChunkAnvil112) chunk).getBlockIdMeta(blockPos) + ")"; |
542 | | - blockBelowIdMeta = " (" + ((ChunkAnvil112) chunk).getBlockIdMeta(blockPos.add(0, -1, 0)) + ")"; |
543 | | - } |
| 536 | + |
| 537 | + Vector2i chunkPos = world.getChunkGrid().getCell(blockPos.toVector2(true)); |
| 538 | + Chunk chunk = world.getChunk(chunkPos.getX(), chunkPos.getY()); |
| 539 | + |
| 540 | + if (chunk instanceof ChunkAnvil112) { |
| 541 | + blockIdMeta = " (" + ((ChunkAnvil112) chunk).getBlockIdMeta(blockPos) + ")"; |
| 542 | + blockBelowIdMeta = " (" + ((ChunkAnvil112) chunk).getBlockIdMeta(blockPos.add(0, -1, 0)) + ")"; |
544 | 543 | } |
545 | 544 |
|
546 | 545 | source.sendMessages(Arrays.asList( |
547 | 546 | Text.of(TextColor.GOLD, "Block at you: ", TextColor.WHITE, block, TextColor.GRAY, blockIdMeta), |
548 | | - Text.of(TextColor.GOLD, "Block below you: ", TextColor.WHITE, blockBelow, TextColor.GRAY, blockBelowIdMeta) |
| 547 | + Text.of(TextColor.GOLD, "Block below you: ", TextColor.WHITE, blockBelow, TextColor.GRAY, blockBelowIdMeta), |
| 548 | + Text.of(TextColor.GOLD, "Chunk: ", TextColor.WHITE, chunk) |
549 | 549 | )); |
550 | 550 | }).start(); |
551 | 551 |
|
@@ -749,13 +749,18 @@ public int updateCommand(CommandContext<S> context, boolean force) { |
749 | 749 | if (worldToRender != null) { |
750 | 750 | plugin.getServerInterface().persistWorldChanges(worldToRender.getUUID()); |
751 | 751 | for (BmMap map : plugin.getMapTypes()) { |
752 | | - if (map.getWorld().equals(worldToRender)) maps.add(map); |
| 752 | + if (map.getWorld().getUUID().equals(worldToRender.getUUID())) maps.add(map); |
753 | 753 | } |
754 | 754 | } else { |
755 | 755 | plugin.getServerInterface().persistWorldChanges(mapToRender.getWorld().getUUID()); |
756 | 756 | maps.add(mapToRender); |
757 | 757 | } |
758 | 758 |
|
| 759 | + if (maps.isEmpty()) { |
| 760 | + source.sendMessage(Text.of(TextColor.RED, "No map has been found for this world that could be updated!")); |
| 761 | + return; |
| 762 | + } |
| 763 | + |
759 | 764 | for (BmMap map : maps) { |
760 | 765 | MapUpdateTask updateTask = new MapUpdateTask(map, center, radius); |
761 | 766 | plugin.getRenderManager().scheduleRenderTask(updateTask); |
|
0 commit comments