java
@@ -0,0 +1,58 @@
+public class WorldGuard {
+
+ private final CyberWorldReset main;
+ private final WorldObject worldObject;
+
+ private boolean whitelist = false;
+ private List<String> whitelistRegions = new ArrayList<>();
+
+ public WorldGuard(CyberWorldReset main, WorldObject worldObject) {
+ this.main = main;
+ this.worldObject = worldObject;
+ ConfigurationSection section = main.files().getConfig("worlds").getConfigurationSection("worlds." + worldObject.getWorldName() + ".settings.save-regions.world-guard");
+ if (section == null) return;
+ whitelist = section.getBoolean("whitelist", whitelist);
+ if (section.isSet("list")) whitelistRegions = section.getStringList("list");
+
+ }
+
+ public void copy() {
+
+ if (worldObject.isCopyWGRegions() && main.worldGuard() != null) {
+
+ Map<String, ProtectedRegion> regions = main.worldGuard().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(worldObject.getWorld())).getRegions();
+ for (ProtectedRegion region : regions.values()) {
+
+ if (whitelist && !whitelistRegions.contains(region.getId())) continue;
+ if (!whitelist && whitelistRegions.contains(region.getId())) continue;
+
+ Location corner1 = new Location(worldObject.getWorld(), region.getMaximumPoint().getX(), region.getMaximumPoint().getY(), region.getMaximumPoint().getZ());
+ Location corner2 = new Location(worldObject.getWorld(), region.getMinimumPoint().getX(), region.getMinimumPoint().getY(), region.getMinimumPoint().getZ());
+
+ if (main.isFawe()) FAWE.save(worldObject, "World Guard", corner1, corner2, region.getId());
+ else if (main.isWorldEdit()) WorldEdit.save(worldObject, "World Guard", corner1, corner2, region.getId());
+
+ }
+ }
+ }
+
+
+
+ public void deleteRegions() {
+ //if (main.getVersion() < 13) return;
+
+ if (main.config().isWorldGuardDelete() && main.worldGuard() != null) {
+
+ RegionContainer regionContainer = main.worldGuard().getPlatform().getRegionContainer();
+
+ try {
+ for (ProtectedRegion region : regionContainer.get(BukkitAdapter.adapt(worldObject.getWorld())).getRegions().values())
+ regionContainer.get(BukkitAdapter.adapt(worldObject.getWorld())).removeRegion(region.getId());
+ } catch (Exception e) {
+ main.logger("&cSomething went wrong deleting WorldGuard regions.");
+ }
+ }
+ }
+
+
+}
\ No newline at end of file