public class WorldGuard { private final CyberWorldReset main; private final WorldObject worldObject; private boolean whitelist = false; private List 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 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."); } } } }