Fix WorldEditSelectionSaver finally

This commit is contained in:
2024-08-21 21:15:00 +02:00
parent 49fa6c364f
commit 20acd7abbe
2 changed files with 15 additions and 8 deletions
@@ -42,7 +42,6 @@ import org.bukkit.World;
import org.bukkit.entity.Player;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@UtilityClass
@@ -92,8 +91,7 @@ public class WorldEditUtils {
.getRegionSelector(BukkitAdapter.adapt(player.getWorld()));
return new Pair<>(regionSelector.getClass(), regionSelector.getVertices()
.stream()
.filter(Objects::nonNull)
.map(blockVector3 -> adapt(player.getWorld(), blockVector3))
.map(blockVector3 -> blockVector3 == null ? null : adapt(player.getWorld(), blockVector3))
.collect(Collectors.toList()));
}
@@ -109,9 +107,14 @@ public class WorldEditUtils {
if (vertices.isEmpty()) return;
SelectorLimits selectorLimits = ActorSelectorLimits.forActor(BukkitAdapter.adapt(player));
regionSelector.selectPrimary(BukkitAdapter.adapt(vertices.get(0)).toBlockPoint(), selectorLimits);
for (int i = 1; i < vertices.size(); i++) {
regionSelector.selectSecondary(BukkitAdapter.adapt(vertices.get(i)).toBlockPoint(), selectorLimits);
for (int i = 0; i < vertices.size(); i++) {
Location location = vertices.get(i);
if (location == null) continue;
if (i == 0) {
regionSelector.selectPrimary(BukkitAdapter.adapt(location).toBlockPoint(), selectorLimits);
} else {
regionSelector.selectSecondary(BukkitAdapter.adapt(location).toBlockPoint(), selectorLimits);
}
}
}