Add extension parameter to Region.Area.getCopyPoint

This commit is contained in:
2026-03-29 14:42:42 +02:00
parent f7bde22c74
commit 1706fe3372
12 changed files with 23 additions and 23 deletions
@@ -148,7 +148,7 @@ public class RegionCommand extends SWCommand {
BauSystem.MESSAGE.send("REGION_REGION_TP_UNKNOWN", p);
return;
}
p.teleport(region.getBuildArea().getCopyPoint().toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
p.teleport(region.getBuildArea().getCopyPoint(false).toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
BauSystem.MESSAGE.send("REGION_REGION_TP_COPY", p);
}
@@ -163,7 +163,7 @@ public class RegionCommand extends SWCommand {
BauSystem.MESSAGE.send("REGION_REGION_TP_UNKNOWN", p);
return;
}
p.teleport(region.getTestblockArea().getCopyPoint().toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
p.teleport(region.getTestblockArea().getCopyPoint(false).toLocation(p, 0.5, 0, 0.5), PlayerTeleportEvent.TeleportCause.COMMAND);
BauSystem.MESSAGE.send("REGION_REGION_TP_TEST_BLOCK", p);
}
@@ -196,7 +196,7 @@ public class RegionCommand extends SWCommand {
break;
}
Clipboard clipboard = FlatteningWrapper.impl.copy(minPoint, maxPoint, region.getBuildArea().getCopyPoint());
Clipboard clipboard = FlatteningWrapper.impl.copy(minPoint, maxPoint, region.getBuildArea().getCopyPoint(false));
WorldEdit.getInstance()
.getSessionManager()
.get(BukkitAdapter.adapt(p))
@@ -241,13 +241,13 @@ public class RegionCommand extends SWCommand {
}
try (EditSession e = WorldEditUtils.getEditSession(p)) {
Operations.completeBlindly(clipboardHolder.createPaste(e).ignoreAirBlocks(ignoreAir).to(toBlockVector3(region.getBuildArea().getCopyPoint())).build());
Operations.completeBlindly(clipboardHolder.createPaste(e).ignoreAirBlocks(ignoreAir).to(toBlockVector3(region.getBuildArea().getCopyPoint(false))).build());
WorldEditUtils.addToPlayer(p, e);
if (selectPasted) {
Clipboard clipboard = clipboardHolder.getClipboards().get(0);
BlockVector3 minPointSelection = clipboard.getRegion().getMinimumPoint().subtract(clipboard.getOrigin()).add(toBlockVector3(region.getBuildArea().getCopyPoint()));
BlockVector3 maxPointSelection = clipboard.getRegion().getMaximumPoint().subtract(clipboard.getOrigin()).add(toBlockVector3(region.getBuildArea().getCopyPoint()));
BlockVector3 minPointSelection = clipboard.getRegion().getMinimumPoint().subtract(clipboard.getOrigin()).add(toBlockVector3(region.getBuildArea().getCopyPoint(false)));
BlockVector3 maxPointSelection = clipboard.getRegion().getMaximumPoint().subtract(clipboard.getOrigin()).add(toBlockVector3(region.getBuildArea().getCopyPoint(false)));
FlatteningWrapper.impl.setSelection(p, Point.fromBlockVector3(minPointSelection), Point.fromBlockVector3(maxPointSelection));
}
BauSystem.MESSAGE.send("REGION_REGION_PASTE_DONE", p);
@@ -72,7 +72,7 @@ public class StabSetup extends StabStep {
if (TraceRecorder.instance.isAutoTraceEnabledInRegion(data.region)) {
TraceRecorder.instance.removeAutoTraceRegion(data.region);
}
data.clipboard = FlatteningWrapper.impl.copy(data.region.getTestblockArea().getMinPoint(true), data.region.getTestblockArea().getMaxPoint(true), data.region.getTestblockArea().getCopyPoint());
data.clipboard = FlatteningWrapper.impl.copy(data.region.getTestblockArea().getMinPoint(true), data.region.getTestblockArea().getMaxPoint(true), data.region.getTestblockArea().getCopyPoint(false));
new StabDirection(data);
}
@@ -99,10 +99,10 @@ public class WarpListener implements Listener {
});
Region region = Region.getRegion(p.getLocation());
if (!region.getBuildArea().isEmpty()) {
locations.put("Copy", region.getBuildArea().getCopyPoint().toLocation(p).add(0.5, 0, 0.5));
locations.put("Copy", region.getBuildArea().getCopyPoint(false).toLocation(p).add(0.5, 0, 0.5));
}
if (!region.getTestblockArea().isEmpty()) {
locations.put("TestBlock", region.getTestblockArea().getCopyPoint().toLocation(p).add(0.5, 0, 0.5));
locations.put("TestBlock", region.getTestblockArea().getCopyPoint(false).toLocation(p).add(0.5, 0, 0.5));
}
}
@@ -96,7 +96,7 @@ public interface Region extends RegionDataStore {
}
@Override
public Point getCopyPoint() {
public Point getCopyPoint(boolean extension) {
return Point.ZERO;
}
@@ -144,7 +144,7 @@ public interface Region extends RegionDataStore {
public abstract Point getMaxPoint(boolean extension);
@NonNull
public abstract Point getCopyPoint();
public abstract Point getCopyPoint(boolean extension);
public boolean inRegion(Location location, boolean extension) {
Point minPoint = getMinPoint(extension);
@@ -165,7 +165,7 @@ public interface Region extends RegionDataStore {
@Nullable
public Clipboard copy(boolean extension) {
return FlatteningWrapper.impl.copy(getMinPoint(extension), getMaxPoint(extension), getCopyPoint());
return FlatteningWrapper.impl.copy(getMinPoint(extension), getMaxPoint(extension), getCopyPoint(extension));
}
public void reset(PasteBuilder pasteBuilder, boolean extension) {
@@ -51,7 +51,7 @@ public class GlobalRegion implements Region {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO;
}
@@ -154,8 +154,8 @@ public class AreaBlock extends Region.Area {
}
@Override
public @NonNull Point getCopyPoint() {
return copyPoint;
public @NonNull Point getCopyPoint(boolean extension) {
return extension ? minPointExtension : copyPoint;
}
@Override
@@ -60,7 +60,7 @@ public class AreaTile extends Region.Area {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint;
}
@@ -139,7 +139,7 @@ public class PathArea extends Region.Area {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO;
}
@@ -37,7 +37,7 @@ public class SpawnArea extends Region.Area {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return null;
}
@@ -71,7 +71,7 @@ public class SpecialArea extends Region.Area {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint;
}
@@ -58,7 +58,7 @@ public final class FixedGlobalRegion implements Region {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO;
}
@@ -169,7 +169,7 @@ public class FixedRegion implements Region {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return minPoint;
}
@@ -217,7 +217,7 @@ public class FixedRegion implements Region {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint;
}
@@ -266,7 +266,7 @@ public class FixedRegion implements Region {
}
@Override
public @NonNull Point getCopyPoint() {
public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint;
}