|
36 | 36 | import com.fastasyncworldedit.core.util.ImgurUtility; |
37 | 37 | import com.fastasyncworldedit.core.util.MainUtil; |
38 | 38 | import com.fastasyncworldedit.core.util.MaskTraverser; |
39 | | -import com.fastasyncworldedit.core.util.TaskManager; |
40 | 39 | import com.fastasyncworldedit.core.util.task.RunnableVal; |
41 | 40 | import com.google.common.collect.Lists; |
42 | 41 | import com.sk89q.worldedit.EditSession; |
|
51 | 50 | import com.sk89q.worldedit.command.util.annotation.Confirm; |
52 | 51 | import com.sk89q.worldedit.command.util.annotation.Preload; |
53 | 52 | import com.sk89q.worldedit.command.util.annotation.SynchronousSettingExpected; |
54 | | -import com.sk89q.worldedit.entity.Entity; |
55 | 53 | import com.sk89q.worldedit.extension.platform.Actor; |
56 | 54 | import com.sk89q.worldedit.extent.clipboard.BlockArrayClipboard; |
57 | 55 | import com.sk89q.worldedit.extent.clipboard.Clipboard; |
|
99 | 97 | import java.net.URI; |
100 | 98 | import java.net.URL; |
101 | 99 | import java.nio.file.Files; |
102 | | -import java.util.Collection; |
103 | 100 | import java.util.HashSet; |
104 | 101 | import java.util.List; |
105 | 102 | import java.util.Set; |
@@ -481,14 +478,7 @@ public void place( |
481 | 478 | .apply(region.getMaximumPoint().subtract(region.getMinimumPoint()).toVector3()) |
482 | 479 | .toBlockPoint()); |
483 | 480 | if (removeEntities) { |
484 | | - // Collect entities on the current (command) thread, in case it benefits from asynchronous retrieval (unlikely) |
485 | | - final Collection<? extends Entity> entities = editSession.getEntities(new CuboidRegion(realTo, max)); |
486 | | - // BukkitEntity#remove is synchronized, but it makes more sense to synchronize here beforehand in case many |
487 | | - // entities are affected. BukkitEntity will not synchronize if it's already called on the main thread. |
488 | | - TaskManager.taskManager().sync(() -> { |
489 | | - entities.forEach(Entity::remove); |
490 | | - return true; |
491 | | - }); |
| 481 | + editSession.removeEntities(new CuboidRegion(realTo, max)); |
492 | 482 | } |
493 | 483 | if (selectPasted || onlySelect) { |
494 | 484 | RegionSelector selector = new CuboidRegionSelector(world, realTo, max); |
@@ -578,9 +568,9 @@ public void paste( |
578 | 568 | Vector3 realTo = to.toVector3().add(transform.apply(clipboardOffset.toVector3())); |
579 | 569 | Vector3 max = realTo.add(transform.apply(region.getMaximumPoint().subtract(region.getMinimumPoint()).toVector3())); |
580 | 570 |
|
581 | | - // FAWE start - entity remova;l |
| 571 | + // FAWE start - entity removal |
582 | 572 | if (removeEntities) { |
583 | | - editSession.getEntities(new CuboidRegion(realTo.toBlockPoint(), max.toBlockPoint())).forEach(Entity::remove); |
| 573 | + editSession.removeEntities(new CuboidRegion(realTo.toBlockPoint(), max.toBlockPoint())); |
584 | 574 | } |
585 | 575 | if (selectPasted || onlySelect) { |
586 | 576 | //FAWE end |
|
0 commit comments