From 1706fe3372be8a7459b929ea07ac6f6e874c5a52 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sun, 29 Mar 2026 14:42:42 +0200 Subject: [PATCH] Add extension parameter to Region.Area.getCopyPoint --- .../bausystem/features/region/RegionCommand.java | 12 ++++++------ .../features/simulator/execute/StabSetup.java | 2 +- .../bausystem/features/warp/WarpListener.java | 4 ++-- .../src/de/steamwar/bausystem/region/Region.java | 6 +++--- .../region/dynamic/global/GlobalRegion.java | 2 +- .../bausystem/region/dynamic/modes/AreaBlock.java | 4 ++-- .../bausystem/region/dynamic/modes/AreaTile.java | 2 +- .../bausystem/region/dynamic/path/PathArea.java | 2 +- .../bausystem/region/dynamic/spawn/SpawnArea.java | 2 +- .../region/dynamic/special/SpecialArea.java | 2 +- .../bausystem/region/fixed/FixedGlobalRegion.java | 2 +- .../steamwar/bausystem/region/fixed/FixedRegion.java | 6 +++--- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java index 8b5e68da..6b2bf4ee 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java @@ -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); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabSetup.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabSetup.java index 16a54b40..a4038cf0 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabSetup.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabSetup.java @@ -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); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/warp/WarpListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/warp/WarpListener.java index c661ccb4..7251d3ca 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/warp/WarpListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/warp/WarpListener.java @@ -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)); } } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java index 6ea46411..76a92faf 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java @@ -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) { diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/global/GlobalRegion.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/global/GlobalRegion.java index 1028cc9b..711831ca 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/global/GlobalRegion.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/global/GlobalRegion.java @@ -51,7 +51,7 @@ public class GlobalRegion implements Region { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return Point.ZERO; } diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaBlock.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaBlock.java index 8eca5e98..139775dc 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaBlock.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaBlock.java @@ -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 diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaTile.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaTile.java index 727f3cd8..d0a24837 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaTile.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/modes/AreaTile.java @@ -60,7 +60,7 @@ public class AreaTile extends Region.Area { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return copyPoint; } diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/path/PathArea.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/path/PathArea.java index f26e041e..cee9034a 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/path/PathArea.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/path/PathArea.java @@ -139,7 +139,7 @@ public class PathArea extends Region.Area { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return Point.ZERO; } diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/spawn/SpawnArea.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/spawn/SpawnArea.java index 38567acf..4318e8e5 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/spawn/SpawnArea.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/spawn/SpawnArea.java @@ -37,7 +37,7 @@ public class SpawnArea extends Region.Area { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return null; } diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/special/SpecialArea.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/special/SpecialArea.java index 93a7f50c..2af1de6c 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/special/SpecialArea.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/special/SpecialArea.java @@ -71,7 +71,7 @@ public class SpecialArea extends Region.Area { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return copyPoint; } diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalRegion.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalRegion.java index 7b82320e..0d7a0ad3 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalRegion.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalRegion.java @@ -58,7 +58,7 @@ public final class FixedGlobalRegion implements Region { } @Override - public @NonNull Point getCopyPoint() { + public @NonNull Point getCopyPoint(boolean extension) { return Point.ZERO; } diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java index ac834dfd..b868fc85 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java @@ -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; }