Add PathRegion, PathArea and PathRegionData

Add VariantSelector
Add DynamicRegionCommand
Fix RegionData constructor
This commit is contained in:
2026-03-02 11:58:51 +01:00
parent 5795476e23
commit c3319a53d2
19 changed files with 664 additions and 70 deletions
@@ -28,7 +28,8 @@ import de.steamwar.bausystem.region.dynamic.global.GlobalRegion;
import lombok.NonNull;
import org.bukkit.Location;
import java.io.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -55,7 +56,7 @@ public class DynamicRegionSystem implements RegionSystem {
public void remove(DynamicRegion region) {
regionCache.clear();
regionMap.remove(region.getId());
regionMap.remove(region.getID());
regionTypeMap.getOrDefault(region.getType(), Collections.emptySet()).remove(region);
}
@@ -84,6 +85,7 @@ public class DynamicRegionSystem implements RegionSystem {
.collect(Collectors.toUnmodifiableMap(entry -> entry.getValue().identifier(), Map.Entry::getKey));
DynamicRegionRepository.loadRegions();
new DynamicRegionCommand();
}
@Override
@@ -151,8 +153,10 @@ public class DynamicRegionSystem implements RegionSystem {
return neighbours.stream();
}
public Stream<Region> getNeighbours(Region region) {
return getNeighbours(region, false, true, regionMap.values());
public Stream<DynamicRegion> getNeighbours(Region region) {
return getNeighbours(region, false, true, regionMap.values())
.filter(DynamicRegion.class::isInstance)
.map(DynamicRegion.class::cast);
}
public Stream<Region> getConnectedRegions(Region region) {