Revisions for untitled paste

View the changes made to this paste.

unlisted ⁨1⁩ ⁨file⁩ 2022-03-02 23:28:15 UTC

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