From 02aad8d094fa9ee1e2e5dad7f5ab82e6cc5bdd53 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Tue, 24 Mar 2026 18:12:05 +0100 Subject: [PATCH] Update Region.Area --- .../features/region/ColorCommand.java | 4 ++-- .../features/region/ResetCommand.java | 4 ++-- .../features/region/TestblockCommand.java | 2 +- .../simulator/execute/StabFinalizer.java | 2 +- .../simulator/execute/StabGenerator.java | 2 +- .../de/steamwar/bausystem/region/Region.java | 8 +++---- .../features/region/WireframeCommand.java | 4 ++-- .../bausystem/region/DynamicRegionSystem.java | 22 ------------------- .../region/DynamicRegionVisualizer.java | 2 +- .../region/dynamic/DynamicRegion.java | 2 +- .../region/dynamic/global/GlobalRegion.java | 2 +- .../region/dynamic/modes/AreaBlock.java | 2 +- .../region/dynamic/modes/AreaTile.java | 2 +- .../region/dynamic/path/PathArea.java | 2 +- .../region/dynamic/special/SpecialArea.java | 6 ++--- .../region/fixed/FixedGlobalRegion.java | 2 +- .../bausystem/region/fixed/FixedRegion.java | 6 ++--- 17 files changed, 26 insertions(+), 48 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ColorCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ColorCommand.java index 2738f0d2..2f5427ad 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ColorCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ColorCommand.java @@ -63,11 +63,11 @@ public class ColorCommand extends SWCommand { } region.getRegionData().set(Flag.COLOR, color); try { - PasteBuilder pasteBuilder = new PasteBuilder(PasteBuilder.ClipboardProvider.EMPTY) + PasteBuilder pasteBuilder = new PasteBuilder() .ignoreAir(true) .onlyColors(true) .color(color); - region.getArea().reset(p.getLocation(), pasteBuilder, false); + region.getArea().reset(pasteBuilder, false); RegionUtils.message(region, "REGION_REGION_COLORED"); RegionUtils.message(region, "REGION_REGION_COLORED_FAILED"); } catch (SecurityException e) { diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ResetCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ResetCommand.java index 7f3ac958..728df2a9 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ResetCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ResetCommand.java @@ -49,9 +49,9 @@ public class ResetCommand extends SWCommand { Region region = regionCheck(p); if (region == null) return; try { - PasteBuilder pasteBuilder = new PasteBuilder(PasteBuilder.ClipboardProvider.EMPTY) + PasteBuilder pasteBuilder = new PasteBuilder() .color(region.getRegionData().get(Flag.COLOR).getWithDefault()); - region.getArea().reset(p.getLocation(), pasteBuilder, false); + region.getArea().reset(pasteBuilder, false); region.getRegionData().clear(); RegionUtils.message(region, "REGION_RESET_RESETED"); } catch (SecurityException e) { diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java index b5c8346c..a43756f2 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java @@ -116,7 +116,7 @@ public class TestblockCommand extends SWCommand { .removeTNT(removeTNT) .removeWater(removeWater) .color(region.getRegionData().get(Flag.COLOR).getWithDefault()); - region.getTestblockArea().reset(p.getLocation(), pasteBuilder, regionExtensionType == RegionExtensionType.EXTENSION); + region.getTestblockArea().reset(pasteBuilder, regionExtensionType == RegionExtensionType.EXTENSION); RegionUtils.message(region, "REGION_TB_DONE"); } catch (SecurityException e) { BauSystem.MESSAGE.send("REGION_TB_ERROR", p); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabFinalizer.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabFinalizer.java index bc7264a8..2694601f 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabFinalizer.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabFinalizer.java @@ -38,7 +38,7 @@ public class StabFinalizer extends StabStep { if (data.region.getRegionData().has(Flag.COLOR).isReadable()) { pasteBuilder.color(data.region.getRegionData().get(Flag.COLOR).getWithDefault()); } - data.region.getTestblockArea().reset(null, pasteBuilder, true); + data.region.getTestblockArea().reset(pasteBuilder, true); } catch (SecurityException e) { stop(); throw e; diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabGenerator.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabGenerator.java index 602aba68..c95743ac 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabGenerator.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/execute/StabGenerator.java @@ -77,7 +77,7 @@ public class StabGenerator extends StabStep implements Listener { if (data.region.getRegionData().has(Flag.COLOR).isReadable()) { pasteBuilder.color(data.region.getRegionData().get(Flag.COLOR).getWithDefault()); } - data.region.getTestblockArea().reset(null, pasteBuilder, true); + data.region.getTestblockArea().reset(pasteBuilder, true); } catch (SecurityException e) { stop(); throw e; 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 98fa889b..2b5a06cd 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java @@ -111,7 +111,7 @@ public interface Region extends RegionDataStore { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { } @Override @@ -159,11 +159,11 @@ public interface Region extends RegionDataStore { return FlatteningWrapper.impl.copy(getMinPoint(extension), getMaxPoint(extension), getCopyPoint()); } - default void reset(Location location, PasteBuilder pasteBuilder, boolean extension) { - place(location, pasteBuilder, extension); + default void reset(PasteBuilder pasteBuilder, boolean extension) { + place(pasteBuilder, extension); } - void place(Location location, PasteBuilder pasteBuilder, boolean extension); + void place(PasteBuilder pasteBuilder, boolean extension); default void forEachChunk(BiConsumer executor) { Point minPoint = getMinPoint(false); diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/features/region/WireframeCommand.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/features/region/WireframeCommand.java index cc7aa5e3..d1891c5d 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/features/region/WireframeCommand.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/features/region/WireframeCommand.java @@ -44,10 +44,10 @@ public class WireframeCommand extends SWCommand { if (region == null) return; try { - PasteBuilder pasteBuilder = new PasteBuilder(PasteBuilder.ClipboardProvider.EMPTY) + PasteBuilder pasteBuilder = new PasteBuilder() .ignoreAir(true) .color(region.getRegionData().get(Flag.COLOR).getWithDefault()); - region.getBuildArea().reset(p.getLocation(), pasteBuilder, false); + region.getBuildArea().reset(pasteBuilder, false); RegionUtils.message(region, "REGION_TB_DONE"); } catch (SecurityException e) { BauSystem.MESSAGE.send("REGION_TB_ERROR", p); diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionSystem.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionSystem.java index 7fc9bc00..ceb5be96 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionSystem.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionSystem.java @@ -23,9 +23,7 @@ import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.features.region.WireframeCommand; import de.steamwar.bausystem.region.dynamic.*; import de.steamwar.bausystem.region.dynamic.global.GlobalRegion; -import de.steamwar.bausystem.region.dynamic.path.PathRegion; import de.steamwar.bausystem.shared.Pair; -import de.steamwar.bausystem.utils.PasteBuilder; import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -33,7 +31,6 @@ import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; import java.io.BufferedReader; -import java.io.File; import java.io.InputStreamReader; import java.util.*; import java.util.function.Function; @@ -91,25 +88,6 @@ public class DynamicRegionSystem implements RegionSystem { .collect(Collectors.toUnmodifiableMap(entry -> entry.getValue().identifier(), Map.Entry::getKey)); DynamicRegionRepository.loadRegions(); - // [STDOUT] PATH 239 - // [STDOUT] DRY 4 - // [STDOUT] DRY_SPECIAL 18 - // [STDOUT] WET 2 - // [STDOUT] WET_SPECIAL 9 - regionTypeMap.forEach((type, regions) -> { - if (type != RegionType.PATH) return; - - MultiTileArea multiTileArea = new MultiTileArea() { - @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { - } - }; - for (Region region : regions) { - PathRegion pathRegion = (PathRegion) region; - multiTileArea.addTile(pathRegion.getTile()); - } - multiTileArea.quantize(); - }); new DynamicRegionCommand(); new WireframeCommand(); } diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionVisualizer.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionVisualizer.java index 446b7c4b..87d5e1d6 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionVisualizer.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/DynamicRegionVisualizer.java @@ -312,7 +312,7 @@ public class DynamicRegionVisualizer implements SWPlayer.Component, Listener { return; } - dynamicRegion.getArea().place(sourceTile.getCenterLocation(), new PasteBuilder(), false); + dynamicRegion.getArea().place(new PasteBuilder(), false); dynamicRegion.updateNeighbours(); placement = null; diff --git a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/DynamicRegion.java b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/DynamicRegion.java index 2db68e18..563a0285 100644 --- a/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/DynamicRegion.java +++ b/BauSystem/BauSystem_RegionDynamic/src/de/steamwar/bausystem/region/dynamic/DynamicRegion.java @@ -73,7 +73,7 @@ public abstract class DynamicRegion implements Region { // Updating world state for all neighbouring PathRegions list.forEach(data -> { if (needsFullReset.contains(data.getKey().getID())) { - data.getKey().getArea().reset(null,null, false); // TODO: Implement! + data.getKey().getArea().reset(null, false); // TODO: Implement! } else { data.getKey().update(this, data.getValue().opposite()); } 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 05ea616f..79652ccb 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 @@ -68,7 +68,7 @@ public class GlobalRegion implements Region { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { } @Override 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 53a4c857..5fdd5abf 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 @@ -160,7 +160,7 @@ public class AreaBlock implements Region.Area { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { EditSession editSession = pasteBuilder .with(PasteBuilder.ClipboardProvider.file(selector.select(region.getID(), 0).orElse(null))) .pastePoint(copyPoint) 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 9207ac55..d8119341 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 @@ -66,7 +66,7 @@ public class AreaTile implements Region.Area { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { File resetFile = selector.select(regionIdentifier, 0).orElse(null); if (resetFile != null) PasteUtils.paste(resetFile, minPoint, 0); } 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 37de9f44..8e25df4b 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 @@ -214,7 +214,7 @@ public class PathArea implements Region.Area { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { if (region.isGarden()) { File resetFile = GARDEN.select(regionIdentifier, 0).orElse(null); if (resetFile != 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 c38e9eaa..0179b633 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 @@ -80,7 +80,7 @@ public class SpecialArea implements Region.Area { private boolean resetting = false; @Override - public void reset(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void reset(PasteBuilder pasteBuilder, boolean extension) { if (resetting) return; AtomicBoolean hasResetting = new AtomicBoolean(false); List regions = DynamicRegionSystem.INSTANCE.getConnectedRegions(region) @@ -98,13 +98,13 @@ public class SpecialArea implements Region.Area { final int offset = i / 10; final Region region = regions.get(i); Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { - region.getArea().place(null, null, false); // TODO: Fix this! + region.getArea().place(null, false); // TODO: Fix this! }, offset); } } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { File resetFile = resetFiles.select(regionIdentifier, 0).orElse(null); if (resetFile != null) PasteUtils.paste(resetFile, minPoint, 0); resetting = false; 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 feb111da..7b82320e 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 @@ -74,7 +74,7 @@ public final class FixedGlobalRegion implements Region { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { } @Override 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 f773e2dc..9c228344 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 @@ -176,7 +176,7 @@ public class FixedRegion implements Region { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { pasteBuilder.with(PasteBuilder.ClipboardProvider.file(prototype.getSkinMap().get(skin).getSchematicFile())) .reset(extension) .minPoint(getMinPoint(extension)) @@ -224,7 +224,7 @@ public class FixedRegion implements Region { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { pasteBuilder.with(PasteBuilder.ClipboardProvider.file(prototype.getSkinMap().get(skin).getBuildSchematicFile())) .reset(extension) .minPoint(getMinPoint(extension)) @@ -273,7 +273,7 @@ public class FixedRegion implements Region { } @Override - public void place(Location location, PasteBuilder pasteBuilder, boolean extension) { + public void place(PasteBuilder pasteBuilder, boolean extension) { pasteBuilder.with(PasteBuilder.ClipboardProvider.file(prototype.getSkinMap().get(skin).getTestblockSchematicFile())) .reset(extension) .minPoint(getMinPoint(extension))