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); BauSystem.MESSAGE.send("REGION_REGION_TP_UNKNOWN", p);
return; 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); 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); BauSystem.MESSAGE.send("REGION_REGION_TP_UNKNOWN", p);
return; 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); BauSystem.MESSAGE.send("REGION_REGION_TP_TEST_BLOCK", p);
} }
@@ -196,7 +196,7 @@ public class RegionCommand extends SWCommand {
break; break;
} }
Clipboard clipboard = FlatteningWrapper.impl.copy(minPoint, maxPoint, region.getBuildArea().getCopyPoint()); Clipboard clipboard = FlatteningWrapper.impl.copy(minPoint, maxPoint, region.getBuildArea().getCopyPoint(false));
WorldEdit.getInstance() WorldEdit.getInstance()
.getSessionManager() .getSessionManager()
.get(BukkitAdapter.adapt(p)) .get(BukkitAdapter.adapt(p))
@@ -241,13 +241,13 @@ public class RegionCommand extends SWCommand {
} }
try (EditSession e = WorldEditUtils.getEditSession(p)) { 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); WorldEditUtils.addToPlayer(p, e);
if (selectPasted) { if (selectPasted) {
Clipboard clipboard = clipboardHolder.getClipboards().get(0); Clipboard clipboard = clipboardHolder.getClipboards().get(0);
BlockVector3 minPointSelection = clipboard.getRegion().getMinimumPoint().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())); BlockVector3 maxPointSelection = clipboard.getRegion().getMaximumPoint().subtract(clipboard.getOrigin()).add(toBlockVector3(region.getBuildArea().getCopyPoint(false)));
FlatteningWrapper.impl.setSelection(p, Point.fromBlockVector3(minPointSelection), Point.fromBlockVector3(maxPointSelection)); FlatteningWrapper.impl.setSelection(p, Point.fromBlockVector3(minPointSelection), Point.fromBlockVector3(maxPointSelection));
} }
BauSystem.MESSAGE.send("REGION_REGION_PASTE_DONE", p); BauSystem.MESSAGE.send("REGION_REGION_PASTE_DONE", p);
@@ -72,7 +72,7 @@ public class StabSetup extends StabStep {
if (TraceRecorder.instance.isAutoTraceEnabledInRegion(data.region)) { if (TraceRecorder.instance.isAutoTraceEnabledInRegion(data.region)) {
TraceRecorder.instance.removeAutoTraceRegion(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); new StabDirection(data);
} }
@@ -99,10 +99,10 @@ public class WarpListener implements Listener {
}); });
Region region = Region.getRegion(p.getLocation()); Region region = Region.getRegion(p.getLocation());
if (!region.getBuildArea().isEmpty()) { 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()) { 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 @Override
public Point getCopyPoint() { public Point getCopyPoint(boolean extension) {
return Point.ZERO; return Point.ZERO;
} }
@@ -144,7 +144,7 @@ public interface Region extends RegionDataStore {
public abstract Point getMaxPoint(boolean extension); public abstract Point getMaxPoint(boolean extension);
@NonNull @NonNull
public abstract Point getCopyPoint(); public abstract Point getCopyPoint(boolean extension);
public boolean inRegion(Location location, boolean extension) { public boolean inRegion(Location location, boolean extension) {
Point minPoint = getMinPoint(extension); Point minPoint = getMinPoint(extension);
@@ -165,7 +165,7 @@ public interface Region extends RegionDataStore {
@Nullable @Nullable
public Clipboard copy(boolean extension) { 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) { public void reset(PasteBuilder pasteBuilder, boolean extension) {
@@ -51,7 +51,7 @@ public class GlobalRegion implements Region {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO; return Point.ZERO;
} }
@@ -154,8 +154,8 @@ public class AreaBlock extends Region.Area {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint; return extension ? minPointExtension : copyPoint;
} }
@Override @Override
@@ -60,7 +60,7 @@ public class AreaTile extends Region.Area {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint; return copyPoint;
} }
@@ -139,7 +139,7 @@ public class PathArea extends Region.Area {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO; return Point.ZERO;
} }
@@ -37,7 +37,7 @@ public class SpawnArea extends Region.Area {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return null; return null;
} }
@@ -71,7 +71,7 @@ public class SpecialArea extends Region.Area {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint; return copyPoint;
} }
@@ -58,7 +58,7 @@ public final class FixedGlobalRegion implements Region {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return Point.ZERO; return Point.ZERO;
} }
@@ -169,7 +169,7 @@ public class FixedRegion implements Region {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return minPoint; return minPoint;
} }
@@ -217,7 +217,7 @@ public class FixedRegion implements Region {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint; return copyPoint;
} }
@@ -266,7 +266,7 @@ public class FixedRegion implements Region {
} }
@Override @Override
public @NonNull Point getCopyPoint() { public @NonNull Point getCopyPoint(boolean extension) {
return copyPoint; return copyPoint;
} }