From 865eb8ceea5dcbb3464e40153acba2dd914c92b9 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Mon, 7 Sep 2026 09:23:54 +0200 Subject: [PATCH] Remove reset cascade for SpecialArea --- .../region/dynamic/special/SpecialArea.java | 33 +------------------ 1 file changed, 1 insertion(+), 32 deletions(-) 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 e5b78381..95cd00e6 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 @@ -19,8 +19,6 @@ package de.steamwar.bausystem.region.dynamic.special; -import de.steamwar.bausystem.BauSystem; -import de.steamwar.bausystem.region.DynamicRegionSystem; import de.steamwar.bausystem.region.Point; import de.steamwar.bausystem.region.Region; import de.steamwar.bausystem.region.dynamic.DynamicRegion; @@ -31,16 +29,9 @@ import de.steamwar.bausystem.utils.PasteBuilder; import de.steamwar.sql.SchematicNode; import lombok.Getter; import lombok.NonNull; -import org.bukkit.Bukkit; - -import java.io.File; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; public class SpecialArea extends Region.Area { - public static final File SPECIAL_PATH_DIR = new File(Bukkit.getWorlds().get(0).getWorldFolder(), "sections/special"); - private final DynamicRegion region; @Getter @@ -76,36 +67,14 @@ public class SpecialArea extends Region.Area { return copyPoint; } - private boolean resetting = false; - @Override public void reset(PasteBuilder pasteBuilder, boolean extension) { - if (resetting) return; - AtomicBoolean hasResetting = new AtomicBoolean(false); - List regions = DynamicRegionSystem.INSTANCE.getConnectedRegions(region) - .peek(region -> { - if (((SpecialArea) region.getArea()).resetting) hasResetting.set(true); - }) - .toList(); - if (hasResetting.get()) return; - - regions.forEach(region -> { - ((SpecialArea) region.getArea()).resetting = true; - }); - - for (int i = 0; i < regions.size(); i++) { - final int offset = i / 10; - final Region region = regions.get(i); - Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { - region.getArea().place(null, false); // TODO: Fix this! - }, offset); - } + place(pasteBuilder, extension); } @Override public void place(PasteBuilder pasteBuilder, boolean extension) { SchematicNode reset = resetFiles.select().orElse(null); if (reset != null) PasteUtils.paste(reset, minPoint, 0); - resetting = false; } }