diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionPrintoutBuilder.java b/worldguard-core/src/main/java/com/sk89q/worldguard/commands/region/RegionPrintoutBuilder.java
similarity index 89%
rename from worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionPrintoutBuilder.java
rename to worldguard-core/src/main/java/com/sk89q/worldguard/commands/region/RegionPrintoutBuilder.java
index 80f7e91f7..b5b665d22 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionPrintoutBuilder.java
+++ b/worldguard-core/src/main/java/com/sk89q/worldguard/commands/region/RegionPrintoutBuilder.java
@@ -17,17 +17,17 @@
* along with this program. If not, see .
*/
-package com.sk89q.worldguard.bukkit.commands.region;
+package com.sk89q.worldguard.commands.region;
import com.sk89q.squirrelid.cache.ProfileCache;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.math.BlockVector3;
+import com.sk89q.worldedit.util.formatting.Style;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.domains.DefaultDomain;
import com.sk89q.worldguard.protection.flags.Flag;
import com.sk89q.worldguard.protection.flags.RegionGroupFlag;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
-import org.bukkit.ChatColor;
import java.util.ArrayList;
import java.util.List;
@@ -69,16 +69,16 @@ private void newLine() {
* Add region name, type, and priority.
*/
public void appendBasics() {
- builder.append(ChatColor.BLUE);
+ builder.append(Style.BLUE);
builder.append("Region: ");
- builder.append(ChatColor.YELLOW);
+ builder.append(Style.YELLOW);
builder.append(region.getId());
- builder.append(ChatColor.GRAY);
+ builder.append(Style.GRAY);
builder.append(" (type=");
builder.append(region.getType().getName());
- builder.append(ChatColor.GRAY);
+ builder.append(Style.GRAY);
builder.append(", priority=");
builder.append(region.getPriority());
builder.append(")");
@@ -90,7 +90,7 @@ public void appendBasics() {
* Add information about flags.
*/
public void appendFlags() {
- builder.append(ChatColor.BLUE);
+ builder.append(Style.BLUE);
builder.append("FlagUtil: ");
appendFlagsList(true);
@@ -118,7 +118,7 @@ public void appendFlagsList(boolean useColors) {
builder.append(", ");
} else {
if (useColors) {
- builder.append(ChatColor.YELLOW);
+ builder.append(Style.YELLOW);
}
}
@@ -129,11 +129,11 @@ public void appendFlagsList(boolean useColors) {
if (group == null) {
builder.append(flag.getName()).append(": ")
- .append(ChatColor.stripColor(String.valueOf(val)));
+ .append(Style.stripColor(String.valueOf(val)));
} else {
builder.append(flag.getName()).append(" -g ")
.append(group).append(": ")
- .append(ChatColor.stripColor(String.valueOf(val)));
+ .append(Style.stripColor(String.valueOf(val)));
}
hasFlags = true;
@@ -141,7 +141,7 @@ public void appendFlagsList(boolean useColors) {
if (!hasFlags) {
if (useColors) {
- builder.append(ChatColor.RED);
+ builder.append(Style.RED);
}
builder.append("(none)");
}
@@ -180,7 +180,7 @@ public void appendParentTree(boolean useColors) {
while (it.hasPrevious()) {
ProtectedRegion cur = it.previous();
if (useColors) {
- builder.append(ChatColor.GREEN);
+ builder.append(Style.GREEN);
}
// Put symbol for child
@@ -197,7 +197,7 @@ public void appendParentTree(boolean useColors) {
// Put (parent)
if (!cur.equals(region)) {
if (useColors) {
- builder.append(ChatColor.GRAY);
+ builder.append(Style.GRAY);
}
builder.append(" (parent, priority=").append(cur.getPriority()).append(")");
}
@@ -211,12 +211,12 @@ public void appendParentTree(boolean useColors) {
* Add information about members.
*/
public void appendDomain() {
- builder.append(ChatColor.BLUE);
+ builder.append(Style.BLUE);
builder.append("Owners: ");
addDomainString(region.getOwners());
newLine();
- builder.append(ChatColor.BLUE);
+ builder.append(Style.BLUE);
builder.append("Members: ");
addDomainString(region.getMembers());
newLine();
@@ -224,10 +224,10 @@ public void appendDomain() {
private void addDomainString(DefaultDomain domain) {
if (domain.size() != 0) {
- builder.append(ChatColor.YELLOW);
+ builder.append(Style.YELLOW);
builder.append(domain.toUserFriendlyString(cache));
} else {
- builder.append(ChatColor.RED);
+ builder.append(Style.RED);
builder.append("(none)");
}
}
@@ -238,9 +238,9 @@ private void addDomainString(DefaultDomain domain) {
public void appendBounds() {
BlockVector3 min = region.getMinimumPoint();
BlockVector3 max = region.getMaximumPoint();
- builder.append(ChatColor.BLUE);
+ builder.append(Style.BLUE);
builder.append("Bounds:");
- builder.append(ChatColor.YELLOW);
+ builder.append(Style.YELLOW);
builder.append(" (").append(min.getBlockX()).append(",").append(min.getBlockY()).append(",").append(min.getBlockZ()).append(")");
builder.append(" -> (").append(max.getBlockX()).append(",").append(max.getBlockY()).append(",").append(max.getBlockZ()).append(")");
@@ -248,7 +248,7 @@ public void appendBounds() {
}
private void appendRegionInformation() {
- builder.append(ChatColor.GRAY);
+ builder.append(Style.GRAY);
builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
builder.append(" Region Info ");
builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
@@ -260,7 +260,7 @@ private void appendRegionInformation() {
appendBounds();
if (cache != null) {
- builder.append(ChatColor.GRAY).append("Any names suffixed by * are 'last seen names' and may not be up to date.");
+ builder.append(Style.GRAY).append("Any names suffixed by * are 'last seen names' and may not be up to date.");
newLine();
}
}
diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/config/WorldConfiguration.java b/worldguard-core/src/main/java/com/sk89q/worldguard/config/WorldConfiguration.java
index 6410e640a..018865903 100644
--- a/worldguard-core/src/main/java/com/sk89q/worldguard/config/WorldConfiguration.java
+++ b/worldguard-core/src/main/java/com/sk89q/worldguard/config/WorldConfiguration.java
@@ -21,6 +21,7 @@
import com.sk89q.worldedit.world.entity.EntityType;
import com.sk89q.worldedit.world.registry.LegacyMapper;
+import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.blacklist.Blacklist;
import com.sk89q.worldedit.util.report.Unreported;
@@ -216,4 +217,20 @@ public String convertLegacyBlock(String legacy) {
return block;
}
+
+ public int getMaxRegionCount(LocalPlayer player) {
+ int max = -1;
+ for (String group : player.getGroups()) {
+ if (maxRegionCounts.containsKey(group)) {
+ int groupMax = maxRegionCounts.get(group);
+ if (max < groupMax) {
+ max = groupMax;
+ }
+ }
+ }
+ if (max <= -1) {
+ max = maxRegionCountPerPlayer;
+ }
+ return max;
+ }
}
diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/regions/RegionContainer.java b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/regions/RegionContainer.java
index 07e33fddf..f566599f9 100644
--- a/worldguard-core/src/main/java/com/sk89q/worldguard/protection/regions/RegionContainer.java
+++ b/worldguard-core/src/main/java/com/sk89q/worldguard/protection/regions/RegionContainer.java
@@ -19,16 +19,24 @@
package com.sk89q.worldguard.protection.regions;
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import com.sk89q.worldedit.WorldEdit;
+import com.sk89q.worldedit.extension.platform.Capability;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.config.ConfigurationManager;
import com.sk89q.worldguard.protection.managers.RegionContainerImpl;
import com.sk89q.worldguard.protection.managers.RegionManager;
+import com.sk89q.worldguard.protection.managers.migration.Migration;
+import com.sk89q.worldguard.protection.managers.migration.MigrationException;
+import com.sk89q.worldguard.protection.managers.migration.UUIDMigration;
import com.sk89q.worldguard.protection.managers.storage.RegionDriver;
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.logging.Level;
import javax.annotation.Nullable;
@@ -52,6 +60,20 @@ public abstract class RegionContainer {
public void initialize() {
ConfigurationManager config = WorldGuard.getInstance().getPlatform().getGlobalStateManager();
container = new RegionContainerImpl(config.selectedRegionStoreDriver, WorldGuard.getInstance().getFlagRegistry());
+
+ loadWorlds();
+
+ // Migrate to UUIDs
+ autoMigrate();
+ }
+
+ /**
+ * Save data and unload.
+ */
+ public void unload() {
+ synchronized (lock) {
+ container.unloadAll();
+ }
}
/**
@@ -69,7 +91,12 @@ public RegionDriver getDriver() {
*
This method may block until the data for all loaded worlds has been
* unloaded and new data has been loaded.
*/
- public abstract void reload();
+ public void reload() {
+ synchronized (lock) {
+ unload();
+ loadWorlds();
+ }
+ }
/**
* Get the region manager for a world if one exists.
@@ -116,4 +143,80 @@ public RegionQuery createQuery() {
return new RegionQuery(cache);
}
+ /**
+ * Execute a migration and block any loading of region data during
+ * the migration.
+ *
+ * @param migration the migration
+ * @throws MigrationException thrown by the migration on error
+ */
+ public void migrate(Migration migration) throws MigrationException {
+ checkNotNull(migration);
+
+ synchronized (lock) {
+ try {
+ WorldGuard.logger.info("Unloading and saving region data that is currently loaded...");
+ unload();
+ migration.migrate();
+ } finally {
+ WorldGuard.logger.info("Loading region data for loaded worlds...");
+ loadWorlds();
+ }
+ }
+ }
+
+ /**
+ * Try loading the region managers for all currently loaded worlds.
+ */
+ protected void loadWorlds() {
+ synchronized (lock) {
+ for (World world : WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.GAME_HOOKS).getWorlds()) {
+ load(world);
+ }
+ }
+ }
+
+ /**
+ * Unload the region data for a world.
+ *
+ * @param world a world
+ */
+ public void unload(World world) {
+ checkNotNull(world);
+
+ synchronized (lock) {
+ container.unload(world.getName());
+ }
+ }
+
+ /**
+ * Execute auto-migration.
+ */
+ protected void autoMigrate() {
+ ConfigurationManager config = WorldGuard.getInstance().getPlatform().getGlobalStateManager();
+
+ if (config.migrateRegionsToUuid) {
+ RegionDriver driver = getDriver();
+ UUIDMigration migrator = new UUIDMigration(driver, WorldGuard.getInstance().getProfileService(), WorldGuard.getInstance().getFlagRegistry());
+ migrator.setKeepUnresolvedNames(config.keepUnresolvedNames);
+ try {
+ migrate(migrator);
+
+ WorldGuard.logger.info("Regions saved after UUID migration! This won't happen again unless " +
+ "you change the relevant configuration option in WorldGuard's config.");
+
+ config.disableUuidMigration();
+ } catch (MigrationException e) {
+ WorldGuard.logger.log(Level.WARNING, "Failed to execute the migration", e);
+ }
+ }
+ }
+
+ /**
+ * Load the region data for a world if it has not been loaded already.
+ *
+ * @param world the world
+ * @return a region manager, either returned from the cache or newly loaded
+ */
+ @Nullable protected abstract RegionManager load(World world);
}
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/logging/LoggerToChatHandler.java b/worldguard-core/src/main/java/com/sk89q/worldguard/util/logging/LoggerToChatHandler.java
similarity index 87%
rename from worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/logging/LoggerToChatHandler.java
rename to worldguard-core/src/main/java/com/sk89q/worldguard/util/logging/LoggerToChatHandler.java
index 7267149e3..4fa94a600 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/util/logging/LoggerToChatHandler.java
+++ b/worldguard-core/src/main/java/com/sk89q/worldguard/util/logging/LoggerToChatHandler.java
@@ -17,10 +17,10 @@
* along with this program. If not, see .
*/
-package com.sk89q.worldguard.bukkit.util.logging;
+package com.sk89q.worldguard.util.logging;
import com.sk89q.worldedit.extension.platform.Actor;
-import org.bukkit.ChatColor;
+import com.sk89q.worldedit.util.formatting.Style;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
@@ -62,7 +62,6 @@ public void flush() {
*/
@Override
public void publish(LogRecord record) {
- player.printRaw(ChatColor.GRAY + record.getLevel().getName() + ": "
- + ChatColor.WHITE + record.getMessage());
+ player.printDebug(record.getLevel().getName() + ": " + Style.WHITE + record.getMessage());
}
}
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java
index bac0eeeb4..89aa4ae6d 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitRegionContainer.java
@@ -22,18 +22,15 @@
import static com.google.common.base.Preconditions.checkNotNull;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
+import com.sk89q.worldedit.bukkit.BukkitWorld;
import com.sk89q.worldedit.math.BlockVector2;
+import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.WorldGuard;
-import com.sk89q.worldguard.config.ConfigurationManager;
+import com.sk89q.worldguard.config.WorldConfiguration;
import com.sk89q.worldguard.protection.managers.RegionManager;
-import com.sk89q.worldguard.protection.managers.migration.Migration;
-import com.sk89q.worldguard.protection.managers.migration.MigrationException;
-import com.sk89q.worldguard.protection.managers.migration.UUIDMigration;
-import com.sk89q.worldguard.protection.managers.storage.RegionDriver;
import com.sk89q.worldguard.protection.regions.RegionContainer;
import org.bukkit.Bukkit;
import org.bukkit.Chunk;
-import org.bukkit.World;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.world.ChunkLoadEvent;
@@ -43,15 +40,11 @@
import java.util.ArrayList;
import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
import javax.annotation.Nullable;
public class BukkitRegionContainer extends RegionContainer {
- private static final Logger log = Logger.getLogger(BukkitRegionContainer.class.getCanonicalName());
-
/**
* Invalidation frequency in ticks.
*/
@@ -71,21 +64,15 @@ public BukkitRegionContainer(WorldGuardPlugin plugin) {
@Override
public void initialize() {
super.initialize();
-
- loadWorlds();
-
- // Migrate to UUIDs
- autoMigrate();
-
Bukkit.getPluginManager().registerEvents(new Listener() {
@EventHandler
public void onWorldLoad(WorldLoadEvent event) {
- load(event.getWorld());
+ load(BukkitAdapter.adapt(event.getWorld()));
}
@EventHandler
public void onWorldUnload(WorldUnloadEvent event) {
- unload(event.getWorld());
+ unload(BukkitAdapter.adapt(event.getWorld()));
}
@EventHandler
@@ -110,60 +97,12 @@ public void onChunkUnload(ChunkUnloadEvent event) {
Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, cache::invalidateAll, CACHE_INVALIDATION_INTERVAL, CACHE_INVALIDATION_INTERVAL);
}
- /**
- * Save data and unload.
- */
- void unload() {
- synchronized (lock) {
- container.unloadAll();
- }
- }
-
- /**
- * Get the region store driver.
- *
- * @return the driver
- */
- public RegionDriver getDriver() {
- return container.getDriver();
- }
-
- /**
- * Try loading the region managers for all currently loaded worlds.
- */
- private void loadWorlds() {
- synchronized (lock) {
- for (World world : Bukkit.getServer().getWorlds()) {
- load(world);
- }
- }
- }
-
- /**
- * Reload the region container.
- *
- * This method may block until the data for all loaded worlds has been
- * unloaded and new data has been loaded.
- */
- public void reload() {
- synchronized (lock) {
- unload();
- loadWorlds();
- }
- }
-
- /**
- * Load the region data for a world if it has not been loaded already.
- *
- * @param world the world
- * @return a region manager, either returned from the cache or newly loaded
- */
+ @Override
@Nullable
- private RegionManager load(World world) {
+ protected RegionManager load(World world) {
checkNotNull(world);
- BukkitWorldConfiguration config =
- (BukkitWorldConfiguration) WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(BukkitAdapter.adapt(world));
+ WorldConfiguration config = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world);
if (!config.useRegions) {
return null;
}
@@ -176,7 +115,7 @@ private RegionManager load(World world) {
if (manager != null) {
// Bias the region data for loaded chunks
List positions = new ArrayList<>();
- for (Chunk chunk : world.getLoadedChunks()) {
+ for (Chunk chunk : ((BukkitWorld) world).getWorld().getLoadedChunks()) {
positions.add(BlockVector2.at(chunk.getX(), chunk.getZ()));
}
manager.loadChunks(positions);
@@ -186,62 +125,4 @@ private RegionManager load(World world) {
return manager;
}
- /**
- * Unload the region data for a world.
- *
- * @param world a world
- */
- void unload(World world) {
- checkNotNull(world);
-
- synchronized (lock) {
- container.unload(world.getName());
- }
- }
-
- /**
- * Execute a migration and block any loading of region data during
- * the migration.
- *
- * @param migration the migration
- * @throws MigrationException thrown by the migration on error
- */
- public void migrate(Migration migration) throws MigrationException {
- checkNotNull(migration);
-
- synchronized (lock) {
- try {
- log.info("Unloading and saving region data that is currently loaded...");
- unload();
- migration.migrate();
- } finally {
- log.info("Loading region data for loaded worlds...");
- loadWorlds();
- }
- }
- }
-
- /**
- * Execute auto-migration.
- */
- private void autoMigrate() {
- ConfigurationManager config = WorldGuard.getInstance().getPlatform().getGlobalStateManager();
-
- if (config.migrateRegionsToUuid) {
- RegionDriver driver = getDriver();
- UUIDMigration migrator = new UUIDMigration(driver, WorldGuard.getInstance().getProfileService(), WorldGuard.getInstance().getFlagRegistry());
- migrator.setKeepUnresolvedNames(config.keepUnresolvedNames);
- try {
- migrate(migrator);
-
- log.info("Regions saved after UUID migration! This won't happen again unless " +
- "you change the relevant configuration option in WorldGuard's config.");
-
- config.disableUuidMigration();
- } catch (MigrationException e) {
- log.log(Level.WARNING, "Failed to execute the migration", e);
- }
- }
- }
-
}
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java
index c13180920..9ccce614c 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java
@@ -36,11 +36,9 @@
import com.sk89q.worldguard.blacklist.target.TargetMatcherParseException;
import com.sk89q.worldguard.blacklist.target.TargetMatcherParser;
import com.sk89q.worldguard.bukkit.chest.BukkitSignChestProtection;
-import com.sk89q.worldguard.bukkit.commands.CommandUtils;
import com.sk89q.worldguard.bukkit.internal.TargetMatcherSet;
import com.sk89q.worldguard.chest.ChestProtection;
import com.sk89q.worldguard.config.YamlWorldConfiguration;
-import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffectType;
import org.yaml.snakeyaml.parser.ParserException;
@@ -384,10 +382,12 @@ public void loadConfiguration() {
config.save();
}
+ @Override
public Blacklist getBlacklist() {
return this.blacklist;
}
+ @Override
public String getWorldName() {
return this.worldName;
}
@@ -434,19 +434,4 @@ public ChestProtection getChestProtection() {
return chestProtection;
}
- public int getMaxRegionCount(LocalPlayer player) {
- int max = -1;
- for (String group : player.getGroups()) {
- if (maxRegionCounts.containsKey(group)) {
- int groupMax = maxRegionCounts.get(group);
- if (max < groupMax) {
- max = groupMax;
- }
- }
- }
- if (max <= -1) {
- max = maxRegionCountPerPlayer;
- }
- return max;
- }
}
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/CommandUtils.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/CommandUtils.java
index f4b487fdd..0bfa2d2f1 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/CommandUtils.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/CommandUtils.java
@@ -21,7 +21,7 @@
import com.google.common.base.Function;
import com.sk89q.worldedit.extension.platform.Actor;
-import org.bukkit.ChatColor;
+import com.sk89q.worldedit.util.formatting.Style;
import org.bukkit.command.BlockCommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
@@ -45,72 +45,40 @@ private CommandUtils() {
public static String replaceColorMacros(String str) {
// TODO: Make this more efficient
- str = str.replace("`r", ChatColor.RED.toString());
- str = str.replace("`R", ChatColor.DARK_RED.toString());
+ str = str.replace("`r", Style.RED.toString());
+ str = str.replace("`R", Style.RED_DARK.toString());
- str = str.replace("`y", ChatColor.YELLOW.toString());
- str = str.replace("`Y", ChatColor.GOLD.toString());
+ str = str.replace("`y", Style.YELLOW.toString());
+ str = str.replace("`Y", Style.YELLOW_DARK.toString());
- str = str.replace("`g", ChatColor.GREEN.toString());
- str = str.replace("`G", ChatColor.DARK_GREEN.toString());
+ str = str.replace("`g", Style.GREEN.toString());
+ str = str.replace("`G", Style.GREEN_DARK.toString());
- str = str.replace("`c", ChatColor.AQUA.toString());
- str = str.replace("`C", ChatColor.DARK_AQUA.toString());
+ str = str.replace("`c", Style.CYAN.toString());
+ str = str.replace("`C", Style.CYAN_DARK.toString());
- str = str.replace("`b", ChatColor.BLUE.toString());
- str = str.replace("`B", ChatColor.DARK_BLUE.toString());
+ str = str.replace("`b", Style.BLUE.toString());
+ str = str.replace("`B", Style.BLUE_DARK.toString());
- str = str.replace("`p", ChatColor.LIGHT_PURPLE.toString());
- str = str.replace("`P", ChatColor.DARK_PURPLE.toString());
+ str = str.replace("`p", Style.PURPLE.toString());
+ str = str.replace("`P", Style.PURPLE_DARK.toString());
- str = str.replace("`0", ChatColor.BLACK.toString());
- str = str.replace("`1", ChatColor.DARK_GRAY.toString());
- str = str.replace("`2", ChatColor.GRAY.toString());
- str = str.replace("`w", ChatColor.WHITE.toString());
+ str = str.replace("`0", Style.BLACK.toString());
+ str = str.replace("`1", Style.GRAY_DARK.toString());
+ str = str.replace("`2", Style.GRAY.toString());
+ str = str.replace("`w", Style.WHITE.toString());
- str = str.replace("`k", ChatColor.MAGIC.toString());
+ str = str.replace("`k", Style.RANDOMIZE.toString());
- str = str.replace("`l", ChatColor.BOLD.toString());
- str = str.replace("`m", ChatColor.STRIKETHROUGH.toString());
- str = str.replace("`n", ChatColor.UNDERLINE.toString());
- str = str.replace("`o", ChatColor.ITALIC.toString());
+ str = str.replace("`l", Style.BOLD.toString());
+ str = str.replace("`m", Style.STRIKETHROUGH.toString());
+ str = str.replace("`n", Style.UNDERLINE.toString());
+ str = str.replace("`o", Style.ITALIC.toString());
- str = str.replace("`x", ChatColor.RESET.toString());
+ str = str.replace("`x", Style.RESET.toString());
// MC classic
-
- str = str.replace("&c", ChatColor.RED.toString());
- str = str.replace("&4", ChatColor.DARK_RED.toString());
-
- str = str.replace("&e", ChatColor.YELLOW.toString());
- str = str.replace("&6", ChatColor.GOLD.toString());
-
- str = str.replace("&a", ChatColor.GREEN.toString());
- str = str.replace("&2", ChatColor.DARK_GREEN.toString());
-
- str = str.replace("&b", ChatColor.AQUA.toString());
- str = str.replace("&3", ChatColor.DARK_AQUA.toString());
-
- str = str.replace("&9", ChatColor.BLUE.toString());
- str = str.replace("&1", ChatColor.DARK_BLUE.toString());
-
- str = str.replace("&d", ChatColor.LIGHT_PURPLE.toString());
- str = str.replace("&5", ChatColor.DARK_PURPLE.toString());
-
- str = str.replace("&0", ChatColor.BLACK.toString());
- str = str.replace("&8", ChatColor.DARK_GRAY.toString());
- str = str.replace("&7", ChatColor.GRAY.toString());
- str = str.replace("&f", ChatColor.WHITE.toString());
-
- str = str.replace("&k", ChatColor.MAGIC.toString());
-
- str = str.replace("&l", ChatColor.BOLD.toString());
- str = str.replace("&m", ChatColor.STRIKETHROUGH.toString());
- str = str.replace("&n", ChatColor.UNDERLINE.toString());
- str = str.replace("&o", ChatColor.ITALIC.toString());
-
- str = str.replace("&x", ChatColor.RESET.toString());
- str = str.replace("&r", ChatColor.RESET.toString());
+ str = Style.translateAlternateColorCodes('&', str);
return str;
}
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/ToggleCommands.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/ToggleCommands.java
index 42e099a86..fe5cc6f08 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/ToggleCommands.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/ToggleCommands.java
@@ -24,13 +24,13 @@
import com.sk89q.minecraft.util.commands.CommandException;
import com.sk89q.minecraft.util.commands.CommandPermissions;
import com.sk89q.worldedit.extension.platform.Actor;
+import com.sk89q.worldedit.util.formatting.Style;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.bukkit.BukkitUtil;
import com.sk89q.worldguard.config.ConfigurationManager;
import com.sk89q.worldguard.config.WorldConfiguration;
-import org.bukkit.ChatColor;
import org.bukkit.entity.Entity;
public class ToggleCommands {
@@ -57,7 +57,7 @@ public void stopFire(CommandContext args, Actor sender) throws CommandException
if (!wcfg.fireSpreadDisableToggle) {
plugin.getServer().broadcastMessage(
- ChatColor.YELLOW
+ Style.YELLOW
+ "Fire spread has been globally disabled for '" + world.getName() + "' by "
+ sender.getDisplayName() + ".");
} else {
@@ -83,7 +83,7 @@ public void allowFire(CommandContext args, Actor sender) throws CommandException
WorldConfiguration wcfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world);
if (wcfg.fireSpreadDisableToggle) {
- plugin.getServer().broadcastMessage(ChatColor.YELLOW
+ plugin.getServer().broadcastMessage(Style.YELLOW
+ "Fire spread has been globally for '" + world.getName() + "' re-enabled by "
+ sender.getDisplayName() + ".");
} else {
@@ -115,7 +115,7 @@ public void stopLag(CommandContext args, Actor sender) throws CommandException {
}
if (!args.hasFlag('s')) {
- plugin.getServer().broadcastMessage(ChatColor.YELLOW
+ plugin.getServer().broadcastMessage(Style.YELLOW
+ "ALL intensive server activity halted by "
+ sender.getDisplayName() + ".");
} else {
@@ -139,7 +139,7 @@ public void stopLag(CommandContext args, Actor sender) throws CommandException {
}
} else {
if (!args.hasFlag('s')) {
- plugin.getServer().broadcastMessage(ChatColor.YELLOW
+ plugin.getServer().broadcastMessage(Style.YELLOW
+ "ALL intensive server activity is now allowed.");
if (!(sender instanceof LocalPlayer)) {
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/WorldGuardCommands.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/WorldGuardCommands.java
index 9f1ffcc13..32d16cd7e 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/WorldGuardCommands.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/WorldGuardCommands.java
@@ -33,14 +33,16 @@
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.extension.platform.Capability;
import com.sk89q.worldedit.util.auth.AuthorizationException;
+import com.sk89q.worldedit.util.formatting.Style;
import com.sk89q.worldedit.util.paste.ActorCallbackPaste;
import com.sk89q.worldedit.util.report.ReportList;
import com.sk89q.worldedit.util.report.SystemInfoReport;
+import com.sk89q.worldedit.util.task.Task;
+import com.sk89q.worldedit.util.task.TaskStateComparator;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
-import com.sk89q.worldguard.bukkit.util.logging.LoggerToChatHandler;
import com.sk89q.worldguard.bukkit.util.report.PerformanceReport;
import com.sk89q.worldguard.bukkit.util.report.PluginReport;
import com.sk89q.worldguard.bukkit.util.report.SchedulerReport;
@@ -48,14 +50,12 @@
import com.sk89q.worldguard.bukkit.util.report.ServicesReport;
import com.sk89q.worldguard.bukkit.util.report.WorldReport;
import com.sk89q.worldguard.config.ConfigurationManager;
+import com.sk89q.worldguard.util.logging.LoggerToChatHandler;
import com.sk89q.worldguard.util.profiler.SamplerBuilder;
import com.sk89q.worldguard.util.profiler.SamplerBuilder.Sampler;
import com.sk89q.worldguard.util.profiler.ThreadIdFilter;
import com.sk89q.worldguard.util.profiler.ThreadNameFilter;
import com.sk89q.worldguard.util.report.ConfigReport;
-import com.sk89q.worldedit.util.task.Task;
-import com.sk89q.worldedit.util.task.TaskStateComparator;
-import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import java.io.File;
@@ -279,18 +279,18 @@ public void listRunningTasks(CommandContext args, Actor sender) throws CommandEx
if (!tasks.isEmpty()) {
tasks.sort(new TaskStateComparator());
StringBuilder builder = new StringBuilder();
- builder.append(ChatColor.GRAY);
+ builder.append(Style.GRAY);
builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
builder.append(" Running tasks ");
builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
- builder.append("\n").append(ChatColor.GRAY).append("Note: Some 'running' tasks may be waiting to be start.");
+ builder.append("\n").append(Style.GRAY).append("Note: Some 'running' tasks may be waiting to be start.");
for (Task task : tasks) {
builder.append("\n");
- builder.append(ChatColor.BLUE).append("(").append(task.getState().name()).append(") ");
- builder.append(ChatColor.YELLOW);
+ builder.append(Style.BLUE).append("(").append(task.getState().name()).append(") ");
+ builder.append(Style.YELLOW);
builder.append(CommandUtils.getOwnerName(task.getOwner()));
builder.append(": ");
- builder.append(ChatColor.WHITE);
+ builder.append(Style.WHITE);
builder.append(task.getName());
}
sender.printRaw(builder.toString());
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/MemberCommands.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/MemberCommands.java
index 40fdef6a6..7db67370a 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/MemberCommands.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/MemberCommands.java
@@ -31,7 +31,6 @@
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.WorldGuard;
-import com.sk89q.worldguard.bukkit.BukkitWorldConfiguration;
import com.sk89q.worldguard.domains.DefaultDomain;
import com.sk89q.worldguard.protection.flags.Flags;
import com.sk89q.worldguard.protection.managers.RegionManager;
@@ -113,7 +112,7 @@ public void addOwner(CommandContext args, Actor sender) throws CommandException,
if (flag != null && flag && owners != null && owners.size() == 0) {
// TODO: Move this to an event
if (!sender.hasPermission("worldguard.region.unlimited")) {
- int maxRegionCount = ((BukkitWorldConfiguration) WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world)).getMaxRegionCount(player);
+ int maxRegionCount = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world).getMaxRegionCount(player);
if (maxRegionCount >= 0 && manager.getRegionCountOfPlayer(player)
>= maxRegionCount) {
throw new CommandException("You already own the maximum allowed amount of regions.");
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommands.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommands.java
index dee0d7257..9245c6c4a 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommands.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommands.java
@@ -35,19 +35,19 @@
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.extension.platform.Capability;
import com.sk89q.worldedit.util.Location;
+import com.sk89q.worldedit.util.formatting.Style;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.WorldGuard;
-import com.sk89q.worldguard.bukkit.BukkitRegionContainer;
-import com.sk89q.worldguard.bukkit.BukkitWorldConfiguration;
import com.sk89q.worldguard.bukkit.commands.CommandUtils;
-import com.sk89q.worldguard.bukkit.util.logging.LoggerToChatHandler;
+import com.sk89q.worldguard.commands.region.RegionPrintoutBuilder;
import com.sk89q.worldguard.commands.task.RegionAdder;
import com.sk89q.worldguard.commands.task.RegionLister;
import com.sk89q.worldguard.commands.task.RegionManagerReloader;
import com.sk89q.worldguard.commands.task.RegionManagerSaver;
import com.sk89q.worldguard.commands.task.RegionRemover;
import com.sk89q.worldguard.config.ConfigurationManager;
+import com.sk89q.worldguard.config.WorldConfiguration;
import com.sk89q.worldguard.internal.permission.RegionPermissionModel;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.flags.Flag;
@@ -68,9 +68,10 @@
import com.sk89q.worldguard.protection.regions.ProtectedPolygonalRegion;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import com.sk89q.worldguard.protection.regions.ProtectedRegion.CircularInheritanceException;
+import com.sk89q.worldguard.protection.regions.RegionContainer;
import com.sk89q.worldguard.protection.util.DomainInputResolver.UserLocatorPolicy;
import com.sk89q.worldguard.util.Enums;
-import org.bukkit.ChatColor;
+import com.sk89q.worldguard.util.logging.LoggerToChatHandler;
import java.util.ArrayList;
import java.util.Collections;
@@ -225,8 +226,7 @@ public void claim(CommandContext args, Actor sender) throws CommandException {
checkRegionDoesNotExist(manager, id, false);
ProtectedRegion region = checkRegionFromSelection(player, id);
- BukkitWorldConfiguration wcfg =
- (BukkitWorldConfiguration) WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(player.getWorld());
+ WorldConfiguration wcfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(player.getWorld());
// Check whether the player has created too many regions
if (!permModel.mayClaimRegionsUnbounded()) {
@@ -516,9 +516,9 @@ public void flag(CommandContext args, Actor sender) throws CommandException {
String flag = flagList.get(i);
if (i % 2 == 0) {
- list.append(ChatColor.GRAY);
+ list.append(Style.GRAY);
} else {
- list.append(ChatColor.RED);
+ list.append(Style.RED);
}
list.append(flag);
@@ -569,7 +569,7 @@ public void flag(CommandContext args, Actor sender) throws CommandException {
throw new CommandException(e.getMessage());
}
- sender.print("Region flag " + foundFlag.getName() + " set on '" + existing.getId() + "' to '" + ChatColor.stripColor(value) + "'.");
+ sender.print("Region flag " + foundFlag.getName() + " set on '" + existing.getId() + "' to '" + Style.stripColor(value) + "'.");
// No value? Clear the flag, if -g isn't specified
} else if (!args.hasFlag('g')) {
@@ -601,7 +601,7 @@ public void flag(CommandContext args, Actor sender) throws CommandException {
// Print region information
RegionPrintoutBuilder printout = new RegionPrintoutBuilder(existing, null);
- printout.append(ChatColor.GRAY);
+ printout.append(Style.GRAY);
printout.append("(Current flags: ");
printout.appendFlagsList(false);
printout.append(")");
@@ -680,14 +680,14 @@ public void setParent(CommandContext args, Actor sender) throws CommandException
} catch (CircularInheritanceException e) {
// Tell the user what's wrong
RegionPrintoutBuilder printout = new RegionPrintoutBuilder(parent, null);
- printout.append(ChatColor.RED);
+ printout.append(Style.RED);
assert parent != null;
printout.append("Uh oh! Setting '" + parent.getId() + "' to be the parent " +
"of '" + child.getId() + "' would cause circular inheritance.\n");
- printout.append(ChatColor.GRAY);
+ printout.append(Style.GRAY);
printout.append("(Current inheritance on '" + parent.getId() + "':\n");
printout.appendParentTree(true);
- printout.append(ChatColor.GRAY);
+ printout.append(Style.GRAY);
printout.append(")");
printout.send(sender);
return;
@@ -695,13 +695,13 @@ public void setParent(CommandContext args, Actor sender) throws CommandException
// Tell the user the current inheritance
RegionPrintoutBuilder printout = new RegionPrintoutBuilder(child, null);
- printout.append(ChatColor.YELLOW);
+ printout.append(Style.YELLOW);
printout.append("Inheritance set for region '" + child.getId() + "'.\n");
if (parent != null) {
- printout.append(ChatColor.GRAY);
+ printout.append(Style.GRAY);
printout.append("(Current inheritance:\n");
printout.appendParentTree(true);
- printout.append(ChatColor.GRAY);
+ printout.append(Style.GRAY);
printout.append(")");
}
printout.send(sender);
@@ -933,7 +933,7 @@ public void migrateDB(CommandContext args, Actor sender) throws CommandException
}
try {
- BukkitRegionContainer container = (BukkitRegionContainer) WorldGuard.getInstance().getPlatform().getRegionContainer();
+ RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
sender.print("Now performing migration... this may take a while.");
container.migrate(migration);
sender.print(
@@ -977,7 +977,7 @@ public void migrateUuid(CommandContext args, Actor sender) throws CommandExcepti
try {
ConfigurationManager config = WorldGuard.getInstance().getPlatform().getGlobalStateManager();
- BukkitRegionContainer container = (BukkitRegionContainer) WorldGuard.getInstance().getPlatform().getRegionContainer();
+ RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
RegionDriver driver = container.getDriver();
UUIDMigration migration = new UUIDMigration(driver, WorldGuard.getInstance().getProfileService(), WorldGuard.getInstance().getFlagRegistry());
migration.setKeepUnresolvedNames(config.keepUnresolvedNames);
diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommandsBase.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommandsBase.java
index 7ae5dff84..1f968a6f6 100644
--- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommandsBase.java
+++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/commands/region/RegionCommandsBase.java
@@ -32,6 +32,7 @@
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldedit.regions.selector.CuboidRegionSelector;
import com.sk89q.worldedit.regions.selector.Polygonal2DRegionSelector;
+import com.sk89q.worldedit.util.formatting.Style;
import com.sk89q.worldedit.world.World;
import com.sk89q.worldguard.LocalPlayer;
import com.sk89q.worldguard.WorldGuard;
@@ -47,7 +48,6 @@
import com.sk89q.worldguard.protection.regions.ProtectedPolygonalRegion;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import com.sk89q.worldguard.protection.regions.RegionContainer;
-import org.bukkit.ChatColor;
import java.util.Set;
import java.util.stream.Collectors;
@@ -299,7 +299,7 @@ protected static void warnAboutSaveFailures(Actor sender) {
if (failures.size() > 0) {
String failingList = Joiner.on(", ").join(failures.stream().map(regionManager -> "'" + regionManager.getName() + "'").collect(Collectors.toList()));
- sender.printRaw(ChatColor.GOLD +
+ sender.printRaw(Style.YELLOW_DARK +
"(Warning: The background saving of region data is failing for these worlds: " + failingList + ". " +
"Your changes are getting lost. See the server log for more information.)");
}
@@ -327,11 +327,11 @@ protected static void warnAboutDimensions(Actor sender, ProtectedRegion region)
*/
protected static void informNewUser(Actor sender, RegionManager manager, ProtectedRegion region) {
if (manager.getRegions().size() <= 2) {
- sender.printRaw(ChatColor.GRAY +
+ sender.printRaw(Style.GRAY +
"(This region is NOW PROTECTED from modification from others. " +
"Don't want that? Use " +
- ChatColor.AQUA + "/rg flag " + region.getId() + " passthrough allow" +
- ChatColor.GRAY + ")");
+ Style.CYAN + "/rg flag " + region.getId() + " passthrough allow" +
+ Style.GRAY + ")");
}
}