diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 8192d7fa6..91ba21cb9 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -3,13 +3,15 @@ __*NOTICE: Bukkit/Spigot versions 1.7.10 to 1.12.2 are considered legacy and wil -**Debug paste link:** - +**[REQUIRED] PlotSquared Version Number:** **[REQUIRED] Spigot/Paper Version Number:** **[REQUIRED] Minecraft Version Number:** +**Links to worlds.yml file and settings.yml file:** + + **[REQUIRED] Description of the problem:** **Any relevant console output or screenshots:** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..1ccb63862 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ +## Overview + + +**Fixes #{issue number}** + +## Description + +## Checklist + +- [] I included all information required in the sections above +- [] I tested my changes and approved their functionality +- [] I ensured my changes do not break other parts of the code +- [] I read and followed the [contribution guidelines](https://github.com/IntellectualSites/PlotSquared/blob/breaking/CONTRIBUTING.md) \ No newline at end of file diff --git a/Bukkit/build.gradle b/Bukkit/build.gradle index 5fe453bd7..237c0740e 100644 --- a/Bukkit/build.gradle +++ b/Bukkit/build.gradle @@ -22,7 +22,7 @@ dependencies { implementation("org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT") compile(group: "com.sk89q.worldedit", name: "worldedit-bukkit", version: "7.0.0") compile("io.papermc:paperlib:1.0.2") - implementation ("net.kyori:text-adapter-bukkit:3.0.3") + implementation("net.kyori:text-adapter-bukkit:3.0.3") compile("net.milkbowl.vault:VaultAPI:1.7") { exclude(module: "bukkit") } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java index 9596a25e9..e32b26cb2 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java @@ -54,8 +54,8 @@ import org.bukkit.metadata.MetadataValue; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.io.File; import java.lang.reflect.Method; import java.util.ArrayList; @@ -132,8 +132,8 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain // Check for updates if (PlotSquared.get().getUpdateUtility() != null) { final UpdateUtility updateUtility = PlotSquared.get().getUpdateUtility(); - updateUtility.checkForUpdate(PlotSquared.get().getVersion().versionString(), - ((updateDescription, throwable) -> { + updateUtility + .checkForUpdate(this.getPluginVersionString(), ((updateDescription, throwable) -> { Bukkit.getScheduler().runTask(BukkitMain.this, () -> { getLogger().info("-------- PlotSquared Update Check --------"); if (throwable != null) { @@ -289,11 +289,9 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain @Override public void registerCommands() { final BukkitCommand bukkitCommand = new BukkitCommand(); final PluginCommand plotCommand = getCommand("plots"); - if (plotCommand != null) { - plotCommand.setExecutor(bukkitCommand); - plotCommand.setAliases(Arrays.asList("p", "ps", "plotme", "plot")); - plotCommand.setTabCompleter(bukkitCommand); - } + plotCommand.setExecutor(bukkitCommand); + plotCommand.setAliases(Arrays.asList("p", "ps", "plotme", "plot")); + plotCommand.setTabCompleter(bukkitCommand); } @Override public File getDirectory() { @@ -600,15 +598,14 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } @Override public QueueProvider initBlockQueue() { - //TODO Figure out why this code is still here yet isn't being called anywhere. - // try { - // new SendChunk(); - // MainUtil.canSendChunk = true; - // } catch (ClassNotFoundException | NoSuchFieldException | NoSuchMethodException e) { - // PlotSquared.debug( - // SendChunk.class + " does not support " + StringMan.getString(getServerVersion())); - // MainUtil.canSendChunk = false; - // } + try { + new SendChunk(); + MainUtil.canSendChunk = true; + } catch (ClassNotFoundException | NoSuchFieldException | NoSuchMethodException e) { + PlotSquared.debug( + SendChunk.class + " does not support " + StringMan.getString(getServerVersion())); + MainUtil.canSendChunk = false; + } return QueueProvider.of(BukkitLocalQueue.class, BukkitLocalQueue.class); } @@ -803,5 +800,4 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain @Override public LegacyMappings getLegacyMappings() { return this.legacyMappings; } - } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotAutoMergeEvent.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotAutoMergeEvent.java index 059b296cf..88c9773c9 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotAutoMergeEvent.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotAutoMergeEvent.java @@ -7,8 +7,8 @@ import lombok.Setter; import org.bukkit.World; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.util.Collections; import java.util.List; @@ -30,8 +30,8 @@ public final class PlotAutoMergeEvent extends PlotEvent implements Cancellable { * @param plot Plot that was merged * @param plots A list of plots involved in the event */ - public PlotAutoMergeEvent(@NotNull final World world, @NotNull final Plot plot, - @NotNull final List plots) { + public PlotAutoMergeEvent(@Nonnull final World world, @Nonnull final Plot plot, + @Nonnull final List plots) { super(plot); this.world = world; this.plots = plots; diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotMergeEvent.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotMergeEvent.java index 55488011e..493145f2a 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotMergeEvent.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotMergeEvent.java @@ -6,7 +6,8 @@ import lombok.Setter; import org.bukkit.World; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; -import org.jetbrains.annotations.NotNull; + +import javax.annotation.Nonnull; /** * Event called when several plots are merged @@ -28,8 +29,8 @@ public final class PlotMergeEvent extends PlotEvent implements Cancellable { * @param dir The direction of the merge * @param max Max merge size */ - public PlotMergeEvent(@NotNull final World world, @NotNull final Plot plot, - @NotNull final int dir, @NotNull final int max) { + public PlotMergeEvent(@Nonnull final World world, @Nonnull final Plot plot, + @Nonnull final int dir, @Nonnull final int max) { super(plot); this.world = world; this.dir = dir; diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotUnlinkEvent.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotUnlinkEvent.java index 5db7d04d4..675f10d8f 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotUnlinkEvent.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/events/PlotUnlinkEvent.java @@ -8,8 +8,8 @@ import org.bukkit.World; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.util.Collections; import java.util.List; @@ -31,8 +31,8 @@ public final class PlotUnlinkEvent extends Event implements Cancellable { * @param world World in which the event occurred * @param plots Plots that are involved in the event */ - public PlotUnlinkEvent(@NotNull final World world, @NotNull final PlotArea area, - @NotNull final List plots) { + public PlotUnlinkEvent(@Nonnull final World world, @Nonnull final PlotArea area, + @Nonnull final List plots) { this.plots = plots; this.world = world; this.area = area; diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java index 21c604dcc..938cc8b9a 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/PlayerEvents.java @@ -85,10 +85,10 @@ import java.util.regex.Pattern; int distance = Bukkit.getViewDistance() * 16; for (Entry entry : UUIDHandler.getPlayers().entrySet()) { PlotPlayer player = entry.getValue(); - Location location = player.getLocation(); - if (location.getWorld().equals(world)) { - if (16 * Math.abs(location.getX() - x) / 16 > distance - || 16 * Math.abs(location.getZ() - z) / 16 > distance) { + Location loc = player.getLocation(); + if (loc.getWorld().equals(world)) { + if (16 * Math.abs(loc.getX() - x) / 16 > distance + || 16 * Math.abs(loc.getZ() - z) / 16 > distance) { continue; } ((BukkitPlayer) player).player.sendBlockChange(bloc, data); @@ -314,12 +314,12 @@ import java.util.regex.Pattern; case POWERED_RAIL: return; default:*/ - Location location = BukkitUtil.getLocation(block.getLocation()); - PlotArea area = location.getPlotArea(); + Location loc = BukkitUtil.getLocation(block.getLocation()); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } - Plot plot = location.getOwnedPlot(); + Plot plot = loc.getOwnedPlot(); if (plot == null) { return; } @@ -369,11 +369,12 @@ import java.util.regex.Pattern; switch (event.getChangedType()) { case COMPARATOR: { Block block = event.getBlock(); - Location location = BukkitUtil.getLocation(block.getLocation()); - if (location.isPlotArea()) { + Location loc = BukkitUtil.getLocation(block.getLocation()); + PlotArea area = loc.getPlotArea(); + if (area == null) { return; } - Plot plot = location.getOwnedPlotAbs(); + Plot plot = area.getOwnedPlotAbs(loc); if (plot == null) { return; } @@ -390,12 +391,12 @@ import java.util.regex.Pattern; case TURTLE_HELMET: case TURTLE_SPAWN_EGG: { Block block = event.getBlock(); - Location location = BukkitUtil.getLocation(block.getLocation()); - PlotArea area = location.getPlotArea(); + Location loc = BukkitUtil.getLocation(block.getLocation()); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } - Plot plot = area.getOwnedPlotAbs(location); + Plot plot = area.getOwnedPlotAbs(loc); if (plot == null) { return; } @@ -412,30 +413,30 @@ import java.util.regex.Pattern; case STICKY_PISTON: org.bukkit.block.data.Directional piston = (org.bukkit.block.data.Directional) block.getBlockData(); - Location location = BukkitUtil.getLocation(block.getLocation()); - PlotArea area = location.getPlotArea(); + Location loc = BukkitUtil.getLocation(block.getLocation()); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } - Plot plot = area.getOwnedPlotAbs(location); + Plot plot = area.getOwnedPlotAbs(loc); if (plot == null) { return; } switch (piston.getFacing()) { case EAST: - location.setX(location.getX() + 1); + loc.setX(loc.getX() + 1); break; case SOUTH: - location.setX(location.getX() - 1); + loc.setX(loc.getX() - 1); break; case WEST: - location.setZ(location.getZ() + 1); + loc.setZ(loc.getZ() + 1); break; case NORTH: - location.setZ(location.getZ() - 1); + loc.setZ(loc.getZ() - 1); break; } - Plot newPlot = area.getOwnedPlotAbs(location); + Plot newPlot = area.getOwnedPlotAbs(loc); if (!plot.equals(newPlot)) { event.setCancelled(true); return; @@ -469,15 +470,15 @@ import java.util.regex.Pattern; @EventHandler public boolean onProjectileHit(ProjectileHitEvent event) { Projectile entity = event.getEntity(); - Location location = BukkitUtil.getLocation(entity); - if (!PlotSquared.get().hasPlotArea(location.getWorld())) { + Location loc = BukkitUtil.getLocation(entity); + if (!PlotSquared.get().hasPlotArea(loc.getWorld())) { return true; } - PlotArea area = location.getPlotArea(); + PlotArea area = loc.getPlotArea(); if (area == null) { return true; } - Plot plot = area.getPlot(location); + Plot plot = area.getPlot(loc); ProjectileSource shooter = entity.getShooter(); if (shooter instanceof Player) { PlotPlayer pp = BukkitUtil.getPlayer((Player) shooter); @@ -522,22 +523,22 @@ import java.util.regex.Pattern; return; } Player player = event.getPlayer(); - PlotPlayer plotPlayer = BukkitUtil.getPlayer(player); - Location location = plotPlayer.getLocation(); - PlotArea area = location.getPlotArea(); + PlotPlayer pp = BukkitUtil.getPlayer(player); + Location loc = pp.getLocation(); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } String[] parts = msg.split(" "); - Plot plot = plotPlayer.getCurrentPlot(); + Plot plot = pp.getCurrentPlot(); // Check WorldEdit switch (parts[0].toLowerCase()) { case "up": case "/up": case "worldedit:up": case "worldedit:/up": - if (plot == null || (!plot.isAdded(plotPlayer.getUUID()) && !Permissions - .hasPermission(plotPlayer, Captions.PERMISSION_ADMIN_BUILD_OTHER, true))) { + if (plot == null || (!plot.isAdded(pp.getUUID()) && !Permissions + .hasPermission(pp, Captions.PERMISSION_ADMIN_BUILD_OTHER, true))) { event.setCancelled(true); return; } @@ -547,7 +548,7 @@ import java.util.regex.Pattern; } Optional> flag = plot.getFlag(Flags.BLOCKED_CMDS); if (flag.isPresent() && !Permissions - .hasPermission(plotPlayer, Captions.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) { + .hasPermission(pp, Captions.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) { List blocked_cmds = flag.get(); String part = parts[0]; if (parts[0].contains(":")) { @@ -591,13 +592,13 @@ import java.util.regex.Pattern; } if (pattern.matcher(msg).matches()) { String perm; - if (plot.isAdded(plotPlayer.getUUID())) { + if (plot.isAdded(pp.getUUID())) { perm = "plots.admin.command.blocked-cmds.shared"; } else { perm = "plots.admin.command.blocked-cmds.other"; } - if (!Permissions.hasPermission(plotPlayer, perm)) { - MainUtil.sendMessage(plotPlayer, Captions.COMMAND_BLOCKED); + if (!Permissions.hasPermission(pp, perm)) { + MainUtil.sendMessage(pp, Captions.COMMAND_BLOCKED); event.setCancelled(true); } return; @@ -618,10 +619,10 @@ import java.util.regex.Pattern; UUID uuid = pp.getUUID(); UUIDHandler.add(sw, uuid); - Location location = pp.getLocation(); - PlotArea area = location.getPlotArea(); + Location loc = pp.getLocation(); + PlotArea area = loc.getPlotArea(); if (area != null) { - Plot plot = area.getPlot(location); + Plot plot = area.getPlot(loc); if (plot != null) { plotEntry(pp, plot); } @@ -640,7 +641,7 @@ import java.util.regex.Pattern; && PlotSquared.get().getUpdateUtility() != null) { final UpdateUtility updateUtility = PlotSquared.get().getUpdateUtility(); final BukkitMain bukkitMain = BukkitMain.getPlugin(BukkitMain.class); - updateUtility.checkForUpdate(PlotSquared.get().getVersion().versionString(), + updateUtility.checkForUpdate(bukkitMain.getPluginVersionString(), ((updateDescription, throwable) -> { if (throwable != null) { bukkitMain.getLogger().severe(String @@ -687,27 +688,27 @@ import java.util.regex.Pattern; org.bukkit.Location to = event.getTo(); if (to != null) { Player player = event.getPlayer(); - PlotPlayer plotPlayer = PlotPlayer.wrap(player); - Location location = BukkitUtil.getLocation(to); - PlotArea area = location.getPlotArea(); + PlotPlayer pp = PlotPlayer.wrap(player); + Location loc = BukkitUtil.getLocation(to); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } - Plot plot = area.getPlot(location); + Plot plot = area.getPlot(loc); if (plot != null) { - final boolean result = Flags.DENY_TELEPORT.allowsTeleport(plotPlayer, plot); + final boolean result = Flags.DENY_TELEPORT.allowsTeleport(pp, plot); if (!result) { - MainUtil.sendMessage(plotPlayer, Captions.NO_PERMISSION_EVENT, + MainUtil.sendMessage(pp, Captions.NO_PERMISSION_EVENT, Captions.PERMISSION_ADMIN_ENTRY_DENIED); event.setCancelled(true); if (lastLoc != null) { - plotPlayer.setMeta(PlotPlayer.META_LOCATION, lastLoc); + pp.setMeta(PlotPlayer.META_LOCATION, lastLoc); } if (lastPlot != null) { - plotPlayer.setMeta(PlotPlayer.META_LAST_PLOT, lastPlot); + pp.setMeta(PlotPlayer.META_LAST_PLOT, lastPlot); } } else { - plotEntry(plotPlayer, plot); + plotEntry(pp, plot); } } } @@ -808,14 +809,14 @@ import java.util.regex.Pattern; // Cancel teleport TaskManager.TELEPORT_QUEUE.remove(pp.getName()); // Set last location - Location location = BukkitUtil.getLocation(to); - pp.setMeta(PlotPlayer.META_LOCATION, location); - PlotArea area = location.getPlotArea(); + Location loc = BukkitUtil.getLocation(to); + pp.setMeta(PlotPlayer.META_LOCATION, loc); + PlotArea area = loc.getPlotArea(); if (area == null) { pp.deleteMeta(PlotPlayer.META_LAST_PLOT); return; } - Plot now = area.getPlot(location); + Plot now = area.getPlot(loc); Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT); if (now == null) { if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !pp @@ -868,14 +869,14 @@ import java.util.regex.Pattern; // Cancel teleport TaskManager.TELEPORT_QUEUE.remove(pp.getName()); // Set last location - Location location = BukkitUtil.getLocation(to); - pp.setMeta(PlotPlayer.META_LOCATION, location); - PlotArea area = location.getPlotArea(); + Location loc = BukkitUtil.getLocation(to); + pp.setMeta(PlotPlayer.META_LOCATION, loc); + PlotArea area = loc.getPlotArea(); if (area == null) { pp.deleteMeta(PlotPlayer.META_LAST_PLOT); return; } - Plot now = area.getPlot(location); + Plot now = area.getPlot(loc); Plot lastPlot = pp.getMeta(PlotPlayer.META_LAST_PLOT); if (now == null) { if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !pp @@ -1122,10 +1123,10 @@ import java.util.regex.Pattern; if (Settings.Enabled_Components.PERMISSION_CACHE) { pp.deleteMeta("perm"); } - Location location = pp.getLocation(); - PlotArea area = location.getPlotArea(); - if (location.isPlotArea()) { - plot = location.getPlot(); + Location loc = pp.getLocation(); + PlotArea area = loc.getPlotArea(); + if (loc.isPlotArea()) { + plot = loc.getPlot(); if (plot != null) { plotEntry(pp, plot); } @@ -2268,17 +2269,17 @@ import java.util.regex.Pattern; Entity ignitingEntity = event.getIgnitingEntity(); Block block = event.getBlock(); BlockIgniteEvent.IgniteCause igniteCause = event.getCause(); - Location location1; + Location loc; if (block != null) { - location1 = BukkitUtil.getLocation(block.getLocation()); + loc = BukkitUtil.getLocation(block.getLocation()); } else if (ignitingEntity != null) { - location1 = BukkitUtil.getLocation(ignitingEntity); + loc = BukkitUtil.getLocation(ignitingEntity); } else if (player != null) { - location1 = BukkitUtil.getLocation(player); + loc = BukkitUtil.getLocation(player); } else { return; } - PlotArea area = location1.getPlotArea(); + PlotArea area = loc.getPlotArea(); if (area == null) { return; } @@ -2287,7 +2288,7 @@ import java.util.regex.Pattern; return; } - Plot plot = area.getOwnedPlotAbs(location1); + Plot plot = area.getOwnedPlotAbs(loc); if (player != null) { PlotPlayer pp = BukkitUtil.getPlayer(player); if (plot == null) { diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/SingleWorldListener.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/SingleWorldListener.java index a53527fc9..fc13147dd 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/SingleWorldListener.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/listeners/SingleWorldListener.java @@ -30,8 +30,8 @@ import static com.github.intellectualsites.plotsquared.plot.util.ReflectionUtils this.methodGetHandleChunk = classCraftChunk.getMethod("getHandle").getRealMethod(); try { this.mustSave = classChunk.getField("mustSave").getRealField(); - } catch (NoSuchFieldException e) { - e.printStackTrace(); + } catch (Throwable ignore) { + ignore.printStackTrace(); } Bukkit.getPluginManager().registerEvents(this, plugin); } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/object/BukkitPlayer.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/object/BukkitPlayer.java index 61862f899..d16038215 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/object/BukkitPlayer.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/object/BukkitPlayer.java @@ -25,6 +25,7 @@ import org.bukkit.permissions.PermissionAttachmentInfo; import org.bukkit.plugin.RegisteredListener; import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.util.Arrays; import java.util.Set; import java.util.UUID; @@ -55,7 +56,7 @@ public class BukkitPlayer extends PlotPlayer { super.populatePersistentMetaMap(); } - @NotNull @Override public Location getLocation() { + @Override public Location getLocation() { final Location location = super.getLocation(); return location == null ? BukkitUtil.getLocation(this.player) : location; } @@ -71,8 +72,8 @@ public class BukkitPlayer extends PlotPlayer { return this.player.getLastPlayed(); } - @Override public boolean canTeleport(@NotNull final Location location) { - final org.bukkit.Location to = BukkitUtil.getLocation(location); + @Override public boolean canTeleport(@NotNull final Location loc) { + final org.bukkit.Location to = BukkitUtil.getLocation(loc); final org.bukkit.Location from = player.getLocation(); PlayerTeleportEvent event = new PlayerTeleportEvent(player, from, to); callEvent(event); @@ -183,7 +184,7 @@ public class BukkitPlayer extends PlotPlayer { } } - @Override public void teleport(@NotNull final Location location) { + @Override public void teleport(@Nonnull final Location location) { if (Math.abs(location.getX()) >= 30000000 || Math.abs(location.getZ()) >= 30000000) { return; } @@ -228,7 +229,7 @@ public class BukkitPlayer extends PlotPlayer { } } - @NotNull @Override public PlotGameMode getGameMode() { + @Nonnull @Override public PlotGameMode getGameMode() { switch (this.player.getGameMode()) { case ADVENTURE: return PlotGameMode.ADVENTURE; diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitChunkManager.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitChunkManager.java index a9c6b2518..c3b7521f2 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitChunkManager.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitChunkManager.java @@ -351,8 +351,8 @@ public class BukkitChunkManager extends ChunkManager { int bz = min.getZ(); for (int x1 = 0; x1 < 16; x1++) { for (int z1 = 0; z1 < 16; z1++) { - PlotLoc plotLoc = new PlotLoc(bx + x1, bz + z1); - BaseBlock[] ids = map.allBlocks.get(plotLoc); + PlotLoc loc = new PlotLoc(bx + x1, bz + z1); + BaseBlock[] ids = map.allBlocks.get(loc); if (ids != null) { for (int y = 0; y < Math.min(128, ids.length); y++) { BaseBlock id = ids[y]; @@ -387,18 +387,17 @@ public class BukkitChunkManager extends ChunkManager { return true; } - @Override public boolean loadChunk(String world, ChunkLoc chunkLoc, boolean force) { - return BukkitUtil.getWorld(world).getChunkAt(chunkLoc.x, chunkLoc.z).load(force); + @Override public boolean loadChunk(String world, ChunkLoc loc, boolean force) { + return BukkitUtil.getWorld(world).getChunkAt(loc.x, loc.z).load(force); } - @Override - public void unloadChunk(final String world, final ChunkLoc chunkLoc, final boolean save, + @SuppressWarnings("deprecation") @Override + public void unloadChunk(final String world, final ChunkLoc loc, final boolean save, final boolean safe) { if (!PlotSquared.get().isMainThread(Thread.currentThread())) { - TaskManager.runTask( - () -> BukkitUtil.getWorld(world).unloadChunk(chunkLoc.x, chunkLoc.z, save)); + TaskManager.runTask(() -> BukkitUtil.getWorld(world).unloadChunk(loc.x, loc.z, save)); } else { - BukkitUtil.getWorld(world).unloadChunk(chunkLoc.x, chunkLoc.z, save); + BukkitUtil.getWorld(world).unloadChunk(loc.x, loc.z, save); } } @@ -615,9 +614,9 @@ public class BukkitChunkManager extends ChunkManager { void saveEntitiesOut(Chunk chunk, RegionWrapper region) { for (Entity entity : chunk.getEntities()) { - Location location = BukkitUtil.getLocation(entity); - int x = location.getX(); - int z = location.getZ(); + Location loc = BukkitUtil.getLocation(entity); + int x = loc.getX(); + int z = loc.getZ(); if (isIn(region, x, z)) { continue; } @@ -637,9 +636,9 @@ public class BukkitChunkManager extends ChunkManager { void saveEntitiesIn(Chunk chunk, RegionWrapper region, int offsetX, int offsetZ, boolean delete) { for (Entity entity : chunk.getEntities()) { - Location location = BukkitUtil.getLocation(entity); - int x = location.getX(); - int z = location.getZ(); + Location loc = BukkitUtil.getLocation(entity); + int x = loc.getX(); + int z = loc.getZ(); if (!isIn(region, x, z)) { continue; } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitEventUtil.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitEventUtil.java index c2e39715e..744d9084f 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitEventUtil.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitEventUtil.java @@ -1,6 +1,22 @@ package com.github.intellectualsites.plotsquared.bukkit.util; -import com.github.intellectualsites.plotsquared.bukkit.events.*; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerClaimPlotEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerEnterPlotEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerLeavePlotEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerPlotDeniedEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerPlotHelperEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerPlotTrustedEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlayerTeleportToPlotEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotAutoMergeEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotChangeOwnerEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotClearEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotComponentSetEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotDeleteEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotFlagAddEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotFlagRemoveEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotMergeEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotRateEvent; +import com.github.intellectualsites.plotsquared.bukkit.events.PlotUnlinkEvent; import com.github.intellectualsites.plotsquared.bukkit.object.BukkitPlayer; import com.github.intellectualsites.plotsquared.plot.flag.Flag; import com.github.intellectualsites.plotsquared.plot.object.Location; @@ -14,9 +30,9 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.List; import java.util.UUID; @@ -25,93 +41,91 @@ import java.util.UUID; */ public final class BukkitEventUtil extends EventUtil { - @Nullable public Player getPlayer(final PlotPlayer player) { - if (player instanceof BukkitPlayer) { - return ((BukkitPlayer) player).player; - } - return null; + @Nullable public Player getPlayer(final PlotPlayer player) { + if (player instanceof BukkitPlayer) { + return ((BukkitPlayer) player).player; } + return null; + } - private boolean callEvent(@NotNull final Event event) { - Bukkit.getServer().getPluginManager().callEvent(event); - return !(event instanceof Cancellable) || !((Cancellable) event).isCancelled(); - } + private boolean callEvent(@Nonnull final Event event) { + Bukkit.getServer().getPluginManager().callEvent(event); + return !(event instanceof Cancellable) || !((Cancellable) event).isCancelled(); + } - @Override public boolean callClaim(PlotPlayer player, Plot plot, boolean auto) { - return callEvent(new PlayerClaimPlotEvent(getPlayer(player), plot, auto)); - } + @Override public boolean callClaim(PlotPlayer player, Plot plot, boolean auto) { + return callEvent(new PlayerClaimPlotEvent(getPlayer(player), plot, auto)); + } - @Override public boolean callTeleport(PlotPlayer player, Location from, Plot plot) { - return callEvent(new PlayerTeleportToPlotEvent(getPlayer(player), from, plot)); - } + @Override public boolean callTeleport(PlotPlayer player, Location from, Plot plot) { + return callEvent(new PlayerTeleportToPlotEvent(getPlayer(player), from, plot)); + } - @Override public boolean callComponentSet(Plot plot, String component) { - return callEvent(new PlotComponentSetEvent(plot, component)); - } + @Override public boolean callComponentSet(Plot plot, String component) { + return callEvent(new PlotComponentSetEvent(plot, component)); + } - @Override public boolean callClear(Plot plot) { - return callEvent(new PlotClearEvent(plot)); - } + @Override public boolean callClear(Plot plot) { + return callEvent(new PlotClearEvent(plot)); + } - @Override public boolean callDelete(Plot plot) { - return callEvent(new PlotDeleteEvent(plot)); - } + @Override public boolean callDelete(Plot plot) { + return callEvent(new PlotDeleteEvent(plot)); + } - @Override public boolean callFlagAdd(Flag flag, Plot plot) { - return callEvent(new PlotFlagAddEvent(flag, plot)); - } + @Override public boolean callFlagAdd(Flag flag, Plot plot) { + return callEvent(new PlotFlagAddEvent(flag, plot)); + } - @Override public boolean callFlagRemove(Flag flag, Plot plot, Object value) { - return callEvent(new PlotFlagRemoveEvent(flag, plot)); - } + @Override public boolean callFlagRemove(Flag flag, Plot plot, Object value) { + return callEvent(new PlotFlagRemoveEvent(flag, plot)); + } - @Override public boolean callMerge(Plot plot, int dir, int max) { - return callEvent( - new PlotMergeEvent(BukkitUtil.getWorld(plot.getWorldName()), plot, dir, max)); - } + @Override public boolean callMerge(Plot plot, int dir, int max) { + return callEvent(new PlotMergeEvent(BukkitUtil.getWorld(plot.getWorldName()), plot, dir, max)); + } - @Override public boolean callAutoMerge(Plot plot, List plots) { - return callEvent( - new PlotAutoMergeEvent(BukkitUtil.getWorld(plot.getWorldName()), plot, plots)); - } + @Override public boolean callAutoMerge(Plot plot, List plots) { + return callEvent(new PlotAutoMergeEvent(BukkitUtil.getWorld(plot.getWorldName()), plot, plots)); + } - @Override public boolean callUnlink(PlotArea area, List plots) { - return callEvent(new PlotUnlinkEvent(BukkitUtil.getWorld(area.worldname), area, plots)); - } + @Override public boolean callUnlink(PlotArea area, List plots) { + return callEvent(new PlotUnlinkEvent(BukkitUtil.getWorld(area.worldname), area, plots)); + } - @Override public void callEntry(PlotPlayer player, Plot plot) { - callEvent(new PlayerEnterPlotEvent(getPlayer(player), plot)); - } + @Override public void callEntry(PlotPlayer player, Plot plot) { + callEvent(new PlayerEnterPlotEvent(getPlayer(player), plot)); + } - @Override public void callLeave(PlotPlayer player, Plot plot) { - callEvent(new PlayerLeavePlotEvent(getPlayer(player), plot)); - } + @Override public void callLeave(PlotPlayer player, Plot plot) { + callEvent(new PlayerLeavePlotEvent(getPlayer(player), plot)); + } - @Override public void callDenied(PlotPlayer initiator, Plot plot, UUID player, boolean added) { - callEvent(new PlayerPlotDeniedEvent(getPlayer(initiator), plot, player, added)); - } + @Override public void callDenied(PlotPlayer initiator, Plot plot, UUID player, boolean added) { + callEvent(new PlayerPlotDeniedEvent(getPlayer(initiator), plot, player, added)); + } - @Override public void callTrusted(PlotPlayer initiator, Plot plot, UUID player, boolean added) { - callEvent(new PlayerPlotTrustedEvent(getPlayer(initiator), plot, player, added)); - } + @Override public void callTrusted(PlotPlayer initiator, Plot plot, UUID player, boolean added) { + callEvent(new PlayerPlotTrustedEvent(getPlayer(initiator), plot, player, added)); + } - @Override public void callMember(PlotPlayer initiator, Plot plot, UUID player, boolean added) { - callEvent(new PlayerPlotHelperEvent(getPlayer(initiator), plot, player, added)); - } + @Override public void callMember(PlotPlayer initiator, Plot plot, UUID player, boolean added) { + callEvent(new PlayerPlotHelperEvent(getPlayer(initiator), plot, player, added)); + } - @Override - public boolean callOwnerChange(PlotPlayer initiator, Plot plot, UUID oldOwner, UUID newOwner, - boolean hasOldOwner) { - return callEvent( - new PlotChangeOwnerEvent(getPlayer(initiator), plot, oldOwner, newOwner, hasOldOwner)); - } + @Override + public boolean callOwnerChange(PlotPlayer initiator, Plot plot, UUID oldOwner, UUID newOwner, + boolean hasOldOwner) { + return callEvent( + new PlotChangeOwnerEvent(getPlayer(initiator), plot, oldOwner, newOwner, hasOldOwner)); + } - @Override @Nullable public Rating callRating(PlotPlayer player, Plot plot, Rating rating) { - PlotRateEvent event = new PlotRateEvent(player, rating, plot); - Bukkit.getServer().getPluginManager().callEvent(event); - if (event.isCancelled()) { - return null; - } - return event.getRating(); + @Override @Nullable public Rating callRating(PlotPlayer player, Plot plot, Rating rating) { + PlotRateEvent event = new PlotRateEvent(player, rating, plot); + Bukkit.getServer().getPluginManager().callEvent(event); + if (event.isCancelled()) { + return null; } + return event.getRating(); + } } diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitUtil.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitUtil.java index a2d0b0c9b..283e68688 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitUtil.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/BukkitUtil.java @@ -27,9 +27,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; @@ -243,7 +242,7 @@ import java.util.Set; location.getBlockZ()); } - @NotNull public static Location getLocationFull(@NonNull final Entity entity) { + public static Location getLocationFull(@NonNull final Entity entity) { final org.bukkit.Location location = entity.getLocation(); return new Location(location.getWorld().getName(), MathMan.roundInt(location.getX()), MathMan.roundInt(location.getY()), MathMan.roundInt(location.getZ()), location.getYaw(), diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/SendChunk.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/SendChunk.java index cb525199c..6ed7317b6 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/SendChunk.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/util/SendChunk.java @@ -42,6 +42,7 @@ public class SendChunk { * Constructor. */ public SendChunk() throws ClassNotFoundException, NoSuchMethodException, NoSuchFieldException { + RefConstructor tempMapChunk; RefClass classCraftPlayer = getRefClass("{cb}.entity.CraftPlayer"); this.methodGetHandlePlayer = classCraftPlayer.getMethod("getHandle"); RefClass classCraftChunk = getRefClass("{cb}.CraftChunk"); @@ -49,7 +50,8 @@ public class SendChunk { RefClass classChunk = getRefClass("{nms}.Chunk"); this.methodInitLighting = classChunk.getMethod("initLighting"); RefClass classMapChunk = getRefClass("{nms}.PacketPlayOutMapChunk"); - this.mapChunk = classMapChunk.getConstructor(classChunk.getRealClass(), int.class); + tempMapChunk = classMapChunk.getConstructor(classChunk.getRealClass(), int.class); + this.mapChunk = tempMapChunk; RefClass classEntityPlayer = getRefClass("{nms}.EntityPlayer"); this.connection = classEntityPlayer.getField("playerConnection"); RefClass classPacket = getRefClass("{nms}.Packet"); diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/uuid/SQLUUIDHandler.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/uuid/SQLUUIDHandler.java index 4c74be5b6..86cd9ae0d 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/uuid/SQLUUIDHandler.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/uuid/SQLUUIDHandler.java @@ -31,13 +31,13 @@ import java.util.ArrayDeque; import java.util.Collections; import java.util.HashMap; import java.util.UUID; -import java.util.concurrent.TimeUnit; public class SQLUUIDHandler extends UUIDHandlerImplementation { final int MAX_REQUESTS = 500; private final String PROFILE_URL = "https://sessionserver.mojang.com/session/minecraft/profile/"; + private final int INTERVAL = 12000; private final JSONParser jsonParser = new JSONParser(); private final SQLite sqlite; @@ -133,10 +133,7 @@ public class SQLUUIDHandler extends UUIDHandlerImplementation { "Invalid response from Mojang: Some UUIDs will be cached later. (`unknown` until then or player joins)"); } try { - //Mojang allows requests every 10 minutes according to https://wiki.vg/Mojang_API - //15 Minutes is chosen here since system timers are not always precise - //and it should provide enough time where Mojang won't block requests. - TimeUnit.MINUTES.sleep(15); + Thread.sleep(INTERVAL * 50); } catch (InterruptedException e) { e.printStackTrace(); break; @@ -145,6 +142,7 @@ public class SQLUUIDHandler extends UUIDHandlerImplementation { if (whenDone != null) { whenDone.run(); } + return; }); }); } catch (SQLException e) { diff --git a/Bukkit/src/main/resources/plugin.yml b/Bukkit/src/main/resources/plugin.yml index f60db3d67..4c6f33b10 100644 --- a/Bukkit/src/main/resources/plugin.yml +++ b/Bukkit/src/main/resources/plugin.yml @@ -126,7 +126,6 @@ permissions: plots.toggle: true plots.toggle.titles: true plots.toggle.chat: true - plots.toggle.time: true plots.set.biome: true plots.set.home: true plots.set.alias: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 52188c269..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,20 +0,0 @@ -# Contributing -If you feel like you can improve the plugin any way, then you are -more than welcome to contribute to PlotSquared. It would be highly -appreciated if you made sure to test your code before committing it, -as it will save us a lot of time and effort. - -### Code Style - -If you are planning to commit any changes to the project, -it would be highly appreciated if you were to follow the -project code style conventions. To make this easier we have -provided settings that can be imported into your IDE. - -**Eclipse:** -`Window > Preferences > Java > Code Style > Formatter` -Press `Import` and select `...path/to/project/code_style.xml` - -**IntelliJ:** -`File > Settings > Editor > Code Style`. Next to "Scheme" there is a cog wheel, press that and then -`Import Scheme > IntelliJ IDEA Code Style XML` and then select `..path/to/project/code_style.xml` diff --git a/Core/build.gradle b/Core/build.gradle index 3cbf8f555..53f305992 100644 --- a/Core/build.gradle +++ b/Core/build.gradle @@ -5,7 +5,7 @@ def textVersion = "3.0.2" dependencies { implementation("org.yaml:snakeyaml:1.23") - implementation ("com.google.code.gson:gson:2.8.0") { + implementation("com.google.code.gson:gson:2.8.0") { because("Minecraft uses GSON 2.8.0") force = true } @@ -14,10 +14,10 @@ dependencies { testCompileOnly("org.projectlombok:lombok:1.18.8") annotationProcessor("org.projectlombok:lombok:1.18.8") testAnnotationProcessor("org.projectlombok:lombok:1.18.8") - implementation ("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT") - implementation ("com.squareup.okhttp3:okhttp:3.14.0") - implementation ("com.squareup.okio:okio:2.2.2") - implementation ("org.jetbrains.kotlin:kotlin-stdlib:1.3.30") + implementation("com.github.Sauilitired:Jenkins4J:2.0-SNAPSHOT") + implementation("com.squareup.okhttp3:okhttp:3.14.0") + implementation("com.squareup.okio:okio:2.2.2") + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.30") } sourceCompatibility = 1.8 diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Argument.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Argument.java index dd5221a3a..7ae1985ce 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Argument.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Argument.java @@ -33,7 +33,7 @@ public abstract class Argument { } }; public static final Argument PlayerName = - new Argument("PlayerName", "Dinnerbone") { + new Argument("PlayerName", "") { @Override public String parse(String in) { return in.length() <= 16 ? in : null; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Command.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Command.java index faaf3c7af..945d2d374 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Command.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/commands/Command.java @@ -263,7 +263,7 @@ public abstract class Command { /** * @param player Caller - * @param args Arguments + * @param args Arguments * @param confirm Instance, Success, Failure * @return CompletableFuture true if the command executed fully, false in * any other case diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/ConfigurationOptions.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/ConfigurationOptions.java index 81c96196d..5d13920e4 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/ConfigurationOptions.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/ConfigurationOptions.java @@ -6,6 +6,7 @@ package com.github.intellectualsites.plotsquared.configuration; */ class ConfigurationOptions { private final Configuration configuration; + private char pathSeparator = '.'; private boolean copyDefaults = false; protected ConfigurationOptions(Configuration configuration) { @@ -25,12 +26,28 @@ class ConfigurationOptions { * Gets the char that will be used to separate {@link * ConfigurationSection}s. * - *

This value is always '.'. + *

This value does not affect how the {@link Configuration} is stored, + * only in how you access the data. The default value is '.'. * * @return Path separator */ - char pathSeparator() { - return '.'; + public char pathSeparator() { + return pathSeparator; + } + + /** + * Sets the char that will be used to separate {@link + * ConfigurationSection}s. + * + *

This value does not affect how the {@link Configuration} is stored, + * only in how you access the data. The default value is '.'. + * + * @param value Path separator + * @return This object, for chaining + */ + public ConfigurationOptions pathSeparator(char value) { + pathSeparator = value; + return this; } /** diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/MemoryConfigurationOptions.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/MemoryConfigurationOptions.java index 22f9d751b..971ea1e70 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/MemoryConfigurationOptions.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/MemoryConfigurationOptions.java @@ -18,4 +18,8 @@ public class MemoryConfigurationOptions extends ConfigurationOptions { return this; } + @Override public MemoryConfigurationOptions pathSeparator(char value) { + super.pathSeparator(value); + return this; + } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/FileConfigurationOptions.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/FileConfigurationOptions.java index 6eb99bb6e..a216d0566 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/FileConfigurationOptions.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/FileConfigurationOptions.java @@ -25,6 +25,11 @@ public class FileConfigurationOptions extends MemoryConfigurationOptions { return this; } + @Override public FileConfigurationOptions pathSeparator(char value) { + super.pathSeparator(value); + return this; + } + /** * Gets the header that will be applied to the top of the saved output. * diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/YamlConfigurationOptions.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/YamlConfigurationOptions.java index a7e71cdaf..a17bc3538 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/YamlConfigurationOptions.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/configuration/file/YamlConfigurationOptions.java @@ -5,6 +5,7 @@ package com.github.intellectualsites.plotsquared.configuration.file; * YamlConfiguration}. */ public class YamlConfigurationOptions extends FileConfigurationOptions { + private int indent = 2; YamlConfigurationOptions(YamlConfiguration configuration) { super(configuration); @@ -19,6 +20,11 @@ public class YamlConfigurationOptions extends FileConfigurationOptions { return this; } + @Override public YamlConfigurationOptions pathSeparator(char value) { + super.pathSeparator(value); + return this; + } + @Override public YamlConfigurationOptions header(String value) { super.header(value); return this; @@ -36,8 +42,27 @@ public class YamlConfigurationOptions extends FileConfigurationOptions { * * @return How much to indent by */ - int indent() { - return 2; + public int indent() { + return indent; } + /** + * Sets how much spaces should be used to indent each line. + * + *

The minimum value this may be is 2, and the maximum is 9. + * + * @param value New indent + * @return This object, for chaining + */ + public YamlConfigurationOptions indent(int value) { + if (value < 2) { + throw new IllegalArgumentException("Indent must be at least 2 characters"); + } + if (value > 9) { + throw new IllegalArgumentException("Indent cannot be greater than 9 characters"); + } + + indent = value; + return this; + } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java index 8fff0921d..e1eb152b5 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/IPlotMain.java @@ -63,12 +63,12 @@ public interface IPlotMain extends ILogger { */ String getPluginVersionString(); - default String getPluginName() { - return "PlotSquared"; - } + String getPluginName(); /** * Gets the version of Minecraft that is running. + * + * @return */ int[] getServerVersion(); @@ -101,7 +101,7 @@ public interface IPlotMain extends ILogger { /** * The task manager will run and manage Minecraft tasks. * - * @return the PlotSquared task manager + * @return */ TaskManager getTaskManager(); @@ -138,39 +138,49 @@ public interface IPlotMain extends ILogger { /** * Gets the economy provider. * - * @return the PlotSquared economy manager + * @return */ EconHandler getEconomyHandler(); /** * Gets the {@link QueueProvider} class. + * + * @return */ QueueProvider initBlockQueue(); /** * Gets the {@link WorldUtil} class. + * + * @return */ WorldUtil initWorldUtil(); /** * Gets the EventUtil class. + * + * @return */ EventUtil initEventUtil(); /** * Gets the chunk manager. * - * @return the PlotSquared chunk manager + * @return */ ChunkManager initChunkManager(); /** * Gets the {@link SetupUtils} class. + * + * @return */ SetupUtils initSetupUtils(); /** * Gets {@link HybridUtils} class. + * + * @return */ HybridUtils initHybridUtils(); @@ -189,28 +199,32 @@ public interface IPlotMain extends ILogger { /** * Gets the {@link UUIDHandlerImplementation} which will cache and * provide UUIDs. + * + * @return */ UUIDHandlerImplementation initUUIDHandler(); /** * Gets the {@link InventoryUtil} class (used for implementation specific * inventory guis). + * + * @return */ InventoryUtil initInventoryUtil(); /** * Unregisters a {@link PlotPlayer} from cache e.g. if they have logged off. * - * @param player the player to remove + * @param player */ void unregister(PlotPlayer player); /** * Gets the generator wrapper for a world (world) and generator (name). * - * @param world the world to get the generator from - * @param name the name of the generator - * @return the generator being used for the provided world + * @param world + * @param name + * @return */ GeneratorWrapper getGenerator(String world, String name); @@ -218,7 +232,7 @@ public interface IPlotMain extends ILogger { /** * Register the chunk processor which will clean out chunks that have too - * many block states or entities. + * many blockstates or entities. */ void registerChunkProcessor(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java index 8c6274b53..f92c6a6fb 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotSquared.java @@ -33,8 +33,8 @@ import com.sk89q.worldedit.WorldEdit; import lombok.Getter; import lombok.NonNull; import lombok.Setter; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.io.*; import java.net.MalformedURLException; import java.net.URISyntaxException; @@ -251,12 +251,12 @@ import java.util.zip.ZipInputStream; copyFile("addplots.js", Settings.Paths.SCRIPTS); copyFile("addsigns.js", Settings.Paths.SCRIPTS); copyFile("automerge.js", Settings.Paths.SCRIPTS); + copyFile("fixborders.js", Settings.Paths.SCRIPTS); copyFile("furthest.js", Settings.Paths.SCRIPTS); copyFile("mycommand.js", Settings.Paths.SCRIPTS); copyFile("setbiomes.js", Settings.Paths.SCRIPTS); copyFile("start.js", Settings.Paths.SCRIPTS); copyFile("town.template", Settings.Paths.TEMPLATES); - copyFile("skyblock.template", Settings.Paths.TEMPLATES); copyFile("bridge.template", Settings.Paths.TEMPLATES); copyFile("de-DE.yml", Settings.Paths.TRANSLATIONS); copyFile("es-ES.yml", Settings.Paths.TRANSLATIONS); @@ -1601,7 +1601,7 @@ import java.util.zip.ZipInputStream; this.version = PlotVersion.tryParse(versionString, commitString, dateString); Settings.DATE = new Date(100 + version.year, version.month, version.day).toGMTString(); - Settings.BUILD = "https://ci.athion.net/job/PlotSquared/" + version.build; + Settings.BUILD = "https://ci.athion.net/job/PlotSquared-Releases/" + version.build; Settings.COMMIT = "https://github.com/IntellectualSites/PlotSquared/commit/" + Integer .toHexString(version.hash); @@ -1623,7 +1623,7 @@ import java.util.zip.ZipInputStream; final Properties properties = new Properties(); properties.load(bufferedReader); final boolean enabled = - Boolean.parseBoolean(properties.getOrDefault("enabled", true).toString()); + Boolean.valueOf(properties.getOrDefault("enabled", true).toString()); if (enabled) { this.updateUtility = new UpdateUtility(properties.getProperty("path"), properties.getProperty("job"), properties.getProperty("artifact")); @@ -1777,15 +1777,15 @@ import java.util.zip.ZipInputStream; */ private void setupStyle() { if (this.version != null) { - this.style.set("version", this.version.toString()); + this.style.set("Version", this.version.toString()); } - Map o = new HashMap<>(4); - o.put("color.1", "6"); - o.put("color.2", "7"); - o.put("color.3", "8"); - o.put("color.4", "3"); + Map object = new HashMap<>(4); + object.put("color.1", "6"); + object.put("color.2", "7"); + object.put("color.3", "8"); + object.put("color.4", "3"); if (!this.style.contains("color")) { - for (Entry node : o.entrySet()) { + for (Entry node : object.entrySet()) { this.style.set(node.getKey(), node.getValue()); } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotVersion.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotVersion.java index 4646a787a..1d65c36e0 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotVersion.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/PlotVersion.java @@ -24,19 +24,12 @@ public class PlotVersion { public static PlotVersion tryParse(String version, String commit, String date) { try { return new PlotVersion(version, commit, date); - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception ignore) { + ignore.printStackTrace(); return new PlotVersion(0, 0, 0, 0, 0); } } - public String versionString() { - if (hash == 0 && build == 0) { - return "NoVer-SNAPSHOT"; - } else { - return "4." + build; - } - } @Override public String toString() { if (hash == 0 && build == 0) { return "PlotSquared-NoVer-SNAPSHOT"; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java index f6dba37a4..d92dd4ea3 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Add.java @@ -49,7 +49,7 @@ import java.util.concurrent.CompletableFuture; continue; } if (plot.isOwner(uuid)) { - MainUtil.sendMessage(player, Captions.ALREADY_OWNER, MainUtil.getName(uuid)); + MainUtil.sendMessage(player, Captions.ALREADY_ADDED, MainUtil.getName(uuid)); iterator.remove(); continue; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Alias.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Alias.java index 215fefc70..e4a719dcf 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Alias.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Alias.java @@ -21,12 +21,12 @@ import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; @Override public boolean onCommand(PlotPlayer player, String[] args) { if (args.length == 0) { - Captions.COMMAND_SYNTAX.send(player, "/plot alias "); + Captions.COMMAND_SYNTAX.send(player, getUsage()); return false; } - Location location = player.getLocation(); - Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } @@ -64,7 +64,7 @@ import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; } break; default: - Captions.COMMAND_SYNTAX.send(player, "/plot alias "); + Captions.COMMAND_SYNTAX.send(player, getUsage()); result = false; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Auto.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Auto.java index 93eef7813..fa187877e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Auto.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Auto.java @@ -5,14 +5,19 @@ import com.github.intellectualsites.plotsquared.plot.PlotSquared; import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.config.Settings; import com.github.intellectualsites.plotsquared.plot.database.DBFunc; -import com.github.intellectualsites.plotsquared.plot.object.*; +import com.github.intellectualsites.plotsquared.plot.object.Expression; +import com.github.intellectualsites.plotsquared.plot.object.Plot; +import com.github.intellectualsites.plotsquared.plot.object.PlotArea; +import com.github.intellectualsites.plotsquared.plot.object.PlotId; +import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; +import com.github.intellectualsites.plotsquared.plot.object.RunnableVal; import com.github.intellectualsites.plotsquared.plot.util.ByteArrayUtilities; import com.github.intellectualsites.plotsquared.plot.util.EconHandler; import com.github.intellectualsites.plotsquared.plot.util.MainUtil; import com.github.intellectualsites.plotsquared.plot.util.Permissions; import com.github.intellectualsites.plotsquared.plot.util.TaskManager; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.Set; @CommandDeclaration(command = "auto", permission = "plots.auto", @@ -118,8 +123,7 @@ public class Auto extends SubCommand { } else if (checkAllowedPlots(player, area, allowedPlots, 1, 1)) { plot.claim(player, true, schematic, false); if (area.AUTO_MERGE) { - plot.autoMerge(Direction.ALL, Integer.MAX_VALUE, player.getUUID(), - true); + plot.autoMerge(-1, Integer.MAX_VALUE, player.getUUID(), true); } } else { DBFunc.delete(plot); @@ -249,9 +253,6 @@ public class Auto extends SubCommand { for (int j = start.y; j <= end.y; j++) { Plot plot = plotarea.getPlotAbs(new PlotId(i, j)); boolean teleport = i == end.x && j == end.y; - if (plot == null) { - return false; - } plot.claim(player, teleport, null); } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Biome.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Biome.java index 487c5d7c0..8b9ecb790 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Biome.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Biome.java @@ -17,7 +17,7 @@ import com.github.intellectualsites.plotsquared.plot.util.WorldUtil; int biome = WorldUtil.IMP.getBiomeFromString(value); if (biome == -1) { String biomes = StringMan - .join(WorldUtil.IMP.getBiomeList(), Captions.BLOCK_LIST_SEPARATER.getTranslated()); + .join(WorldUtil.IMP.getBiomeList(), Captions.BLOCK_LIST_SEPARATOR.getTranslated()); Captions.NEED_BIOME.send(player); MainUtil.sendMessage(player, Captions.SUBCOMMAND_SET_OPTIONS_HEADER.getTranslated() + biomes); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Claim.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Claim.java index 94a82fdd8..b06e0b57b 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Claim.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Claim.java @@ -20,14 +20,13 @@ public class Claim extends SubCommand { if (args.length >= 1) { schematic = args[0]; } - Location location = player.getLocation(); - final Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + final Plot plot = loc.getPlotAbs(); if (plot == null) { return sendMessage(player, Captions.NOT_IN_PLOT); } - int currentPlots = Settings.Limit.GLOBAL ? - player.getPlotCount() : - player.getPlotCount(location.getWorld()); + int currentPlots = + Settings.Limit.GLOBAL ? player.getPlotCount() : player.getPlotCount(loc.getWorld()); int grants = 0; if (currentPlots >= player.getAllowedPlots()) { if (player.hasPersistentMeta("grantedPlots")) { @@ -90,7 +89,7 @@ public class Claim extends SubCommand { @Override public void run(Object value) { plot.claim(player, true, finalSchematic, false); if (area.AUTO_MERGE) { - plot.autoMerge(Direction.ALL, Integer.MAX_VALUE, player.getUUID(), true); + plot.autoMerge(-1, Integer.MAX_VALUE, player.getUUID(), true); } } }), () -> sendMessage(player, Captions.PLOT_NOT_CLAIMED)); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Comment.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Comment.java index 171a5bfe5..048047bb6 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Comment.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Comment.java @@ -32,7 +32,7 @@ public class Comment extends SubCommand { StringMan.join(CommentManager.inboxes.keySet(), "|")); return false; } - Location location = player.getLocation(); + Location loc = player.getLocation(); PlotId id; try { id = PlotId.fromString(args[1]); @@ -44,7 +44,7 @@ public class Comment extends SubCommand { int index; if (plot == null) { index = 1; - plot = location.getPlotAbs(); + plot = loc.getPlotAbs(); } else { if (args.length < 4) { sendMessage(player, Captions.COMMENT_SYNTAX, @@ -59,7 +59,7 @@ public class Comment extends SubCommand { } String message = StringMan.join(Arrays.copyOfRange(args, index, args.length), " "); PlotComment comment = - new PlotComment(location.getWorld(), id, message, player.getName(), inbox.toString(), + new PlotComment(loc.getWorld(), id, message, player.getName(), inbox.toString(), System.currentTimeMillis()); boolean result = inbox.addComment(plot, comment); if (!result) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Condense.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Condense.java index 184e2289d..a9341f373 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Condense.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Condense.java @@ -20,6 +20,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @CommandDeclaration(command = "condense", permission = "plots.admin", + usage = "/plot condense [radius]", description = "Condense a plotworld", category = CommandCategory.ADMINISTRATION, requiredType = RequiredType.CONSOLE) public class Condense extends SubCommand { @@ -27,7 +28,7 @@ import java.util.concurrent.atomic.AtomicBoolean; @Override public boolean onCommand(final PlotPlayer player, String[] args) { if (args.length != 2 && args.length != 3) { - MainUtil.sendMessage(player, "/plot condense [radius]"); + MainUtil.sendMessage(player, getUsage()); return false; } PlotArea area = PlotSquared.get().getPlotAreaByString(args[0]); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Continue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Continue.java index 4aec2d6d0..961742c1b 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Continue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Continue.java @@ -12,7 +12,7 @@ import com.github.intellectualsites.plotsquared.plot.util.Permissions; @CommandDeclaration(command = "continue", description = "Continue a plot that was previously marked as done", permission = "plots.continue", category = CommandCategory.SETTINGS, - requiredType = RequiredType.NONE) public class Continue extends SubCommand { + requiredType = RequiredType.PLAYER) public class Continue extends SubCommand { @Override public boolean onCommand(PlotPlayer player, String[] args) { Plot plot = player.getCurrentPlot(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Copy.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Copy.java index de77513bc..2a34fdbf5 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Copy.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Copy.java @@ -13,8 +13,8 @@ import com.github.intellectualsites.plotsquared.plot.util.Permissions; requiredType = RequiredType.NONE) public class Copy extends SubCommand { @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - Plot plot1 = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot1 = loc.getPlotAbs(); if (plot1 == null) { return !MainUtil.sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/CreateRoadSchematic.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/CreateRoadSchematic.java index bd6088ea8..2c901aa35 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/CreateRoadSchematic.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/CreateRoadSchematic.java @@ -16,17 +16,16 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil; usage = "/plot createroadschematic") public class CreateRoadSchematic extends SubCommand { @Override public boolean onCommand(PlotPlayer player, String[] args) { - Location location = player.getLocation(); - Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot = loc.getPlotAbs(); if (plot == null) { return sendMessage(player, Captions.NOT_IN_PLOT); } - if (!(location.getPlotArea() instanceof HybridPlotWorld)) { + if (!(loc.getPlotArea() instanceof HybridPlotWorld)) { return sendMessage(player, Captions.NOT_IN_PLOT_WORLD); } HybridUtils.manager.setupRoadSchematic(plot); - MainUtil.sendMessage(player, - "$1Saved new road schematic. To test the road, fly to a few other plots and use /plot debugroadregen"); + MainUtil.sendMessage(player, Captions.SCHEMATIC_ROAD_CREATED); return true; } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Database.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Database.java index d908f2105..abbddc9ca 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Database.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Database.java @@ -48,7 +48,7 @@ import java.util.Map.Entry; @Override public boolean onCommand(final PlotPlayer player, String[] args) { if (args.length < 1) { - MainUtil.sendMessage(player, "/plot database [area] "); + MainUtil.sendMessage(player, getUsage()); return false; } List plots; @@ -60,7 +60,7 @@ import java.util.Map.Entry; plots = PlotSquared.get().sortPlotsByTemp(PlotSquared.get().getPlots()); } if (args.length < 1) { - MainUtil.sendMessage(player, "/plot database [world] "); + MainUtil.sendMessage(player, getUsage()); MainUtil.sendMessage(player, "[arg] indicates an optional argument"); return false; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugClaimTest.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugClaimTest.java index 6dbcdfb57..41a5eda80 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugClaimTest.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugClaimTest.java @@ -55,13 +55,13 @@ public class DebugClaimTest extends SubCommand { MainUtil.sendMessage(player, " - &cDB Already contains: " + plot.getId()); continue; } - Location location = manager.getSignLoc(plot); - ChunkLoc chunk = new ChunkLoc(location.getX() >> 4, location.getZ() >> 4); + Location loc = manager.getSignLoc(plot); + ChunkLoc chunk = new ChunkLoc(loc.getX() >> 4, loc.getZ() >> 4); boolean result = ChunkManager.manager.loadChunk(area.worldname, chunk, false); if (!result) { continue; } - String[] lines = WorldUtil.IMP.getSign(location); + String[] lines = WorldUtil.IMP.getSign(loc); if (lines != null) { String line = lines[2]; if (line != null && line.length() > 2) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugExec.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugExec.java index 841c6fc8c..7e8e9cf34 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugExec.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugExec.java @@ -369,17 +369,17 @@ import java.util.concurrent.CompletableFuture; Command cmd = MainCommand.getInstance().getCommand(args[3]); String[] params = Arrays.copyOfRange(args, 4, args.length); if ("true".equals(args[1])) { - Location location = player.getMeta(PlotPlayer.META_LOCATION); + Location loc = player.getMeta(PlotPlayer.META_LOCATION); Plot plot = player.getMeta(PlotPlayer.META_LAST_PLOT); for (Plot current : PlotSquared.get().getBasePlots()) { player.setMeta(PlotPlayer.META_LOCATION, current.getBottomAbs()); player.setMeta(PlotPlayer.META_LAST_PLOT, current); cmd.execute(player, params, null, null); } - if (location == null) { + if (loc == null) { player.deleteMeta(PlotPlayer.META_LOCATION); } else { - player.setMeta(PlotPlayer.META_LOCATION, location); + player.setMeta(PlotPlayer.META_LOCATION, loc); } if (plot == null) { player.deleteMeta(PlotPlayer.META_LAST_PLOT); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugRoadRegen.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugRoadRegen.java index a268f8903..d6029186f 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugRoadRegen.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/DebugRoadRegen.java @@ -3,6 +3,7 @@ package com.github.intellectualsites.plotsquared.plot.commands; import com.github.intellectualsites.plotsquared.commands.CommandDeclaration; import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.generator.HybridPlotManager; +import com.github.intellectualsites.plotsquared.plot.generator.HybridPlotWorld; import com.github.intellectualsites.plotsquared.plot.generator.HybridUtils; import com.github.intellectualsites.plotsquared.plot.object.Location; import com.github.intellectualsites.plotsquared.plot.object.Plot; @@ -22,24 +23,28 @@ public class DebugRoadRegen extends SubCommand { @Override public boolean onCommand(PlotPlayer player, String[] args) { if (args.length < 1) { - MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, DebugRoadRegen.USAGE); + MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, + DebugRoadRegen.USAGE); return false; } String kind = args[0].toLowerCase(); switch (kind) { case "plot": return regenPlot(player); + case "region": return regenRegion(player, Arrays.copyOfRange(args, 1, args.length)); + default: - MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, DebugRoadRegen.USAGE); + MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, + DebugRoadRegen.USAGE); return false; } } public boolean regenPlot(PlotPlayer player) { - Location location = player.getLocation(); - PlotArea area = location.getPlotArea(); + Location loc = player.getLocation(); + PlotArea area = loc.getPlotArea(); if (area == null) { return sendMessage(player, Captions.NOT_IN_PLOT_WORLD); } @@ -77,8 +82,8 @@ public class DebugRoadRegen extends SubCommand { return false; } - Location location = player.getLocation(); - PlotArea area = location.getPlotArea(); + Location loc = player.getLocation(); + PlotArea area = loc.getPlotArea(); if (area == null) { return sendMessage(player, Captions.NOT_IN_PLOT_WORLD); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Delete.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Delete.java index d3b8c2674..3593de74f 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Delete.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Delete.java @@ -3,29 +3,21 @@ package com.github.intellectualsites.plotsquared.plot.commands; import com.github.intellectualsites.plotsquared.commands.CommandDeclaration; import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.config.Settings; -import com.github.intellectualsites.plotsquared.plot.object.Expression; -import com.github.intellectualsites.plotsquared.plot.object.Location; -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.github.intellectualsites.plotsquared.plot.object.PlotArea; -import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; -import com.github.intellectualsites.plotsquared.plot.util.CmdConfirm; -import com.github.intellectualsites.plotsquared.plot.util.EconHandler; -import com.github.intellectualsites.plotsquared.plot.util.MainUtil; -import com.github.intellectualsites.plotsquared.plot.util.Permissions; -import com.github.intellectualsites.plotsquared.plot.util.TaskManager; +import com.github.intellectualsites.plotsquared.plot.object.*; +import com.github.intellectualsites.plotsquared.plot.util.*; @CommandDeclaration(command = "delete", permission = "plots.delete", description = "Delete the plot you stand on", usage = "/plot delete", - aliases = {"dispose", "del"}, category = CommandCategory.CLAIMING, + aliases = {"dispose", "del", "unclaim"}, category = CommandCategory.CLAIMING, requiredType = RequiredType.NONE, confirmation = true) public class Delete extends SubCommand { // Note: To delete a specific plot use /plot delete // The syntax also works with any command: /plot @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - final Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + final Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } @@ -38,9 +30,8 @@ import com.github.intellectualsites.plotsquared.plot.util.TaskManager; } final PlotArea plotArea = plot.getArea(); final java.util.Set plots = plot.getConnectedPlots(); - final int currentPlots = Settings.Limit.GLOBAL ? - player.getPlotCount() : - player.getPlotCount(location.getWorld()); + final int currentPlots = + Settings.Limit.GLOBAL ? player.getPlotCount() : player.getPlotCount(loc.getWorld()); Runnable run = new Runnable() { @Override public void run() { if (plot.getRunning() > 0) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Deny.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Deny.java index 6650361a5..6d5dc99c7 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Deny.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Deny.java @@ -56,7 +56,7 @@ import java.util.UUID; continue; } if (plot.isOwner(uuid)) { - MainUtil.sendMessage(player, Captions.ALREADY_OWNER, MainUtil.getName(uuid)); + MainUtil.sendMessage(player, Captions.CANT_REMOVE_OWNER, MainUtil.getName(uuid)); return false; } @@ -97,8 +97,8 @@ import java.util.UUID; if (player.getGameMode() == PlotGameMode.SPECTATOR) { player.stopSpectating(); } - Location location = player.getLocation(); - Location spawn = WorldUtil.IMP.getSpawn(location.getWorld()); + Location loc = player.getLocation(); + Location spawn = WorldUtil.IMP.getSpawn(loc.getWorld()); MainUtil.sendMessage(player, Captions.YOU_GOT_DENIED); if (plot.equals(spawn.getPlot())) { Location newSpawn = diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Done.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Done.java index 055cfabd9..8ef920565 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Done.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Done.java @@ -19,8 +19,8 @@ import com.github.intellectualsites.plotsquared.plot.util.expiry.PlotAnalysis; requiredType = RequiredType.NONE) public class Done extends SubCommand { @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - final Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + final Plot plot = loc.getPlotAbs(); if ((plot == null) || !plot.hasOwner()) { return !sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Download.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Download.java index 14521b2c6..776cff0f8 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Download.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Download.java @@ -76,7 +76,7 @@ import java.net.URL; Captions.NO_PERMISSION.send(player, Captions.PERMISSION_DOWNLOAD_WORLD); return false; } - MainUtil.sendMessage(player, "&cNote: The `.mca` files are 512x512"); + MainUtil.sendMessage(player, Captions.MCA_FILE_SIZE); plot.addRunning(); WorldUtil.IMP.saveWorld(world); WorldUtil.IMP.upload(plot, null, null, new RunnableVal() { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/FlagCmd.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/FlagCmd.java index e26cffaed..b55895494 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/FlagCmd.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/FlagCmd.java @@ -24,9 +24,10 @@ import com.github.intellectualsites.plotsquared.plot.util.StringMan; import java.util.*; -@CommandDeclaration(command = "setflag", aliases = {"f", "flag", - "setflag"}, usage = "/plot flag ", description = "Set plot flags", category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, permission = "plots.flag") -public class FlagCmd extends SubCommand { +@CommandDeclaration(command = "setflag", aliases = {"f", "flag", "setf", "setflag"}, + usage = "/plot flag ", description = "Set plot flags", + category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, + permission = "plots.flag") public class FlagCmd extends SubCommand { private boolean checkPermValue(PlotPlayer player, Flag flag, String key, String value) { key = key.toLowerCase(); @@ -86,12 +87,11 @@ public class FlagCmd extends SubCommand { * plot flag list */ if (args.length == 0) { - MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, - "/plot flag "); + MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, getUsage()); return false; } - Location location = player.getLocation(); - Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot = loc.getPlotAbs(); if (plot == null) { MainUtil.sendMessage(player, Captions.NOT_IN_PLOT); return false; @@ -310,7 +310,7 @@ public class FlagCmd extends SubCommand { return true; } MainUtil - .sendMessage(player, Captions.COMMAND_SYNTAX, "/plot flag "); + .sendMessage(player, Captions.COMMAND_SYNTAX, getUsage()); return false; } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Help.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Help.java index 47d9ea89b..7949df513 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Help.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Help.java @@ -14,7 +14,7 @@ import com.github.intellectualsites.plotsquared.plot.util.helpmenu.HelpMenu; import java.util.concurrent.CompletableFuture; -@CommandDeclaration(command = "help", description = "Get this help menu", aliases = {"he", "?"}, +@CommandDeclaration(command = "help", description = "Get this help menu", aliases = "?", category = CommandCategory.INFO, usage = "help [category|#]", permission = "plots.use") public class Help extends Command { public Help(Command parent) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Inbox.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Inbox.java index e7e2515c7..c0c898205 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Inbox.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Inbox.java @@ -14,8 +14,9 @@ import com.github.intellectualsites.plotsquared.plot.util.StringMan; import java.util.List; @CommandDeclaration(command = "inbox", description = "Review the comments for a plot", - usage = "/plot inbox [inbox] [delete |clear|page]", permission = "plots.inbox", category = CommandCategory.CHAT, requiredType = RequiredType.PLAYER) -public class Inbox extends SubCommand { + usage = "/plot inbox [inbox] [delete |clear|page]", permission = "plots.inbox", + category = CommandCategory.CHAT, requiredType = RequiredType.PLAYER) public class Inbox + extends SubCommand { public void displayComments(PlotPlayer player, List oldComments, int page) { if (oldComments == null || oldComments.isEmpty()) { @@ -70,8 +71,7 @@ public class Inbox extends SubCommand { return false; } if (args.length == 0) { - sendMessage(player, Captions.COMMAND_SYNTAX, - "/plot inbox [inbox] [delete |clear|page]"); + sendMessage(player, Captions.COMMAND_SYNTAX, getUsage()); for (final CommentInbox inbox : CommentManager.inboxes.values()) { if (inbox.canRead(plot, player)) { if (!inbox.getComments(plot, new RunnableVal>() { @@ -148,15 +148,8 @@ public class Inbox extends SubCommand { } PlotComment comment = value.get(index - 1); inbox.removeComment(plot, comment); - boolean success = plot.removeComment(comment); - if (success) { - MainUtil.sendMessage(player, Captions.COMMENT_REMOVED_SUCCESS, - comment.comment); - } else { - MainUtil.sendMessage(player, Captions.COMMENT_REMOVED_FAILURE, - comment.comment); - - } + plot.removeComment(comment); + MainUtil.sendMessage(player, Captions.COMMENT_REMOVED, comment.comment); } })) { sendMessage(player, Captions.NOT_IN_PLOT); @@ -172,14 +165,13 @@ public class Inbox extends SubCommand { if (!comments.isEmpty()) { plot.removeComments(comments); } - MainUtil.sendMessage(player, Captions.COMMENT_REMOVED_SUCCESS, "*"); + MainUtil.sendMessage(player, Captions.COMMENT_REMOVED, "*"); return true; default: try { page = Integer.parseInt(args[1]); } catch (NumberFormatException ignored) { - sendMessage(player, Captions.COMMAND_SYNTAX, - "/plot inbox [inbox] [delete |clear|page]"); + sendMessage(player, Captions.COMMAND_SYNTAX, getUsage()); return false; } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Kick.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Kick.java index 2ffb6aa6a..eb36f8e67 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Kick.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Kick.java @@ -17,7 +17,7 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -@CommandDeclaration(command = "kick", aliases = {"k"}, description = "Kick a player from your plot", +@CommandDeclaration(command = "kick", aliases = "k", description = "Kick a player from your plot", permission = "plots.kick", usage = "/plot kick ", category = CommandCategory.TELEPORT, requiredType = RequiredType.PLAYER) public class Kick extends SubCommand { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Leave.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Leave.java index cbc227bd3..b51993326 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Leave.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Leave.java @@ -16,7 +16,7 @@ import java.util.concurrent.CompletableFuture; @CommandDeclaration(command = "leave", description = "Removes self from being trusted or a member of the plot", permission = "plots.leave", category = CommandCategory.CLAIMING, - requiredType = RequiredType.NONE) public class Leave extends Command { + requiredType = RequiredType.PLAYER) public class Leave extends Command { public Leave() { super(MainCommand.getInstance(), true); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Load.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Load.java index d18332798..4b0305969 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Load.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Load.java @@ -19,7 +19,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.List; -@CommandDeclaration(command = "load", aliases = {"restore"}, category = CommandCategory.SCHEMATIC, +@CommandDeclaration(command = "load", aliases = "restore", category = CommandCategory.SCHEMATIC, requiredType = RequiredType.NONE, description = "Load your plot", permission = "plots.load", usage = "/plot load") public class Load extends SubCommand { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/MainCommand.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/MainCommand.java index 31095cd75..31e599976 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/MainCommand.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/MainCommand.java @@ -193,19 +193,19 @@ public class MainCommand extends Command { // Clear perm caching // player.deleteMeta("perm"); // Optional command scope // - Location location = null; + Location loc = null; Plot plot = null; boolean tp = false; if (args.length >= 2) { PlotArea area = player.getApplicablePlotArea(); Plot newPlot = Plot.fromString(area, args[0]); if (newPlot != null && (player instanceof ConsolePlayer || newPlot.getArea() - .equals(area) || Permissions.hasPermission(player, Captions.PERMISSION_ADMIN) || Permissions.hasPermission(player, Captions.PERMISSION_ADMIN_SUDO_AREA)) + .equals(area) || Permissions.hasPermission(player, Captions.PERMISSION_ADMIN)) && !newPlot.isDenied(player.getUUID())) { Location newLoc = newPlot.getCenter(); if (player.canTeleport(newLoc)) { // Save meta - location = player.getMeta(PlotPlayer.META_LOCATION); + loc = player.getMeta(PlotPlayer.META_LOCATION); plot = player.getMeta(PlotPlayer.META_LAST_PLOT); tp = true; // Set loc @@ -262,10 +262,10 @@ public class MainCommand extends Command { } // Reset command scope // if (tp && !(player instanceof ConsolePlayer)) { - if (location == null) { + if (loc == null) { player.deleteMeta(PlotPlayer.META_LOCATION); } else { - player.setMeta(PlotPlayer.META_LOCATION, location); + player.setMeta(PlotPlayer.META_LOCATION, loc); } if (plot == null) { player.deleteMeta(PlotPlayer.META_LAST_PLOT); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Merge.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Merge.java index dc70cefe0..179761f94 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Merge.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Merge.java @@ -3,7 +3,6 @@ package com.github.intellectualsites.plotsquared.plot.commands; import com.github.intellectualsites.plotsquared.commands.CommandDeclaration; import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.config.Settings; -import com.github.intellectualsites.plotsquared.plot.object.Direction; import com.github.intellectualsites.plotsquared.plot.object.Expression; import com.github.intellectualsites.plotsquared.plot.object.Location; import com.github.intellectualsites.plotsquared.plot.object.Plot; @@ -18,10 +17,8 @@ import com.github.intellectualsites.plotsquared.plot.util.UUIDHandler; import java.util.UUID; -import static com.github.intellectualsites.plotsquared.plot.object.Direction.getFromIndex; - @CommandDeclaration(command = "merge", aliases = "m", - description = "Merge the plot you are standing on, with another plot", + description = "Merge the plot you are standing on with another plot", permission = "plots.merge", usage = "/plot merge [removeroads]", category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, confirmation = true) public class Merge extends SubCommand { @@ -52,8 +49,8 @@ public class Merge extends SubCommand { } @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocationFull(); - final Plot plot = location.getPlotAbs(); + Location loc = player.getLocationFull(); + final Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } @@ -85,20 +82,20 @@ public class Merge extends SubCommand { MainUtil.sendMessage(player, Captions.NO_PERMISSION, "plots.merge." + (size + 1)); return false; } - Direction direction = Direction.ALL; + int direction = -1; if (args.length == 0) { switch (direction(player.getLocationFull().getYaw())) { case "NORTH": - direction = Direction.NORTH; + direction = 0; break; case "EAST": - direction = Direction.EAST; + direction = 1; break; case "SOUTH": - direction = Direction.SOUTH; + direction = 2; break; case "WEST": - direction = Direction.WEST; + direction = 3; break; } } else { @@ -113,7 +110,7 @@ public class Merge extends SubCommand { Captions.PERMISSION_MERGE_KEEP_ROAD.getTranslated()); return true; } - if (plot.autoMerge(Direction.ALL, maxSize, uuid, terrain)) { + if (plot.autoMerge(-1, maxSize, uuid, terrain)) { if (EconHandler.manager != null && plotArea.USE_ECONOMY && price > 0d) { EconHandler.manager.withdrawMoney(player, price); sendMessage(player, Captions.REMOVED_BALANCE, String.valueOf(price)); @@ -127,16 +124,16 @@ public class Merge extends SubCommand { } for (int i = 0; i < values.length; i++) { if (args[0].equalsIgnoreCase(values[i]) || args[0].equalsIgnoreCase(aliases[i])) { - direction = getFromIndex(i); + direction = i; break; } } } - if (direction == Direction.ALL) { + if (direction == -1) { MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, "/plot merge <" + StringMan.join(values, "|") + "> [removeroads]"); - MainUtil.sendMessage(player, Captions.DIRECTION.getTranslated() - .replaceAll("%dir%", direction(location.getYaw()))); + MainUtil.sendMessage(player, + Captions.DIRECTION.getTranslated().replaceAll("%dir%", direction(loc.getYaw()))); return false; } final boolean terrain; @@ -159,8 +156,7 @@ public class Merge extends SubCommand { return true; } Plot adjacent = plot.getRelative(direction); - if (adjacent == null || !adjacent.hasOwner() || adjacent - .getMerged((direction.getIndex() + 2) % 4) + if (adjacent == null || !adjacent.hasOwner() || adjacent.getMerged((direction + 2) % 4) || adjacent.isOwner(uuid)) { MainUtil.sendMessage(player, Captions.NO_AVAILABLE_AUTOMERGE); return false; @@ -177,7 +173,7 @@ public class Merge extends SubCommand { continue; } isOnline = true; - final Direction dir = direction; + final int dir = direction; Runnable run = () -> { MainUtil.sendMessage(accepter, Captions.MERGE_ACCEPTED); plot.autoMerge(dir, maxSize - size, owner, terrain); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Middle.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Middle.java index 8fbec1ecb..f3acaf5a0 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Middle.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Middle.java @@ -11,7 +11,7 @@ import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; */ @CommandDeclaration(command = "middle", aliases = {"center", "centre"}, description = "Teleports you to the center of the plot", usage = "/plot middle", - category = CommandCategory.TELEPORT, requiredType = RequiredType.NONE) public class Middle + category = CommandCategory.TELEPORT, requiredType = RequiredType.PLAYER) public class Middle extends SubCommand { @Override public boolean onCommand(PlotPlayer player, String[] arguments) { @@ -20,9 +20,6 @@ import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; if (plot == null) { return sendMessage(player, Captions.NOT_IN_PLOT); } - if (!plot.hasOwner()) { - return sendMessage(player, Captions.PLOT_UNOWNED); - } player.teleport(plot.getCenter()); return true; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Move.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Move.java index 5840d51c0..fb8464aea 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Move.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Move.java @@ -11,12 +11,12 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil; import com.github.intellectualsites.plotsquared.plot.util.Permissions; @CommandDeclaration(usage = "/plot move ", command = "move", description = "Move a plot", - aliases = {"debugmove"}, permission = "plots.move", category = CommandCategory.CLAIMING, + permission = "plots.move", category = CommandCategory.CLAIMING, requiredType = RequiredType.PLAYER) public class Move extends SubCommand { @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - Plot plot1 = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot1 = loc.getPlotAbs(); if (plot1 == null) { return !MainUtil.sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Music.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Music.java index a763a3c51..e773879ae 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Music.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Music.java @@ -3,11 +3,7 @@ package com.github.intellectualsites.plotsquared.plot.commands; import com.github.intellectualsites.plotsquared.commands.CommandDeclaration; import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.flag.Flags; -import com.github.intellectualsites.plotsquared.plot.object.Location; -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.github.intellectualsites.plotsquared.plot.object.PlotInventory; -import com.github.intellectualsites.plotsquared.plot.object.PlotItemStack; -import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; +import com.github.intellectualsites.plotsquared.plot.object.*; import java.util.Arrays; import java.util.Collection; @@ -24,8 +20,8 @@ import java.util.Locale; "music_disc_strad", "music_disc_ward", "music_disc_11", "music_disc_wait"); @Override public boolean onCommand(PlotPlayer player, String[] args) { - Location location = player.getLocation(); - final Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + final Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Owner.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Owner.java index 55dbdbda4..98e32dcd6 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Owner.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Owner.java @@ -17,7 +17,7 @@ import java.util.UUID; @CommandDeclaration(command = "setowner", permission = "plots.set.owner", description = "Set the plot owner", usage = "/plot setowner ", aliases = {"owner", "so", "seto"}, category = CommandCategory.CLAIMING, - requiredType = RequiredType.NONE, confirmation = true) public class Owner extends SetCommand { + requiredType = RequiredType.PLAYER, confirmation = true) public class Owner extends SetCommand { @Override public boolean set(final PlotPlayer player, final Plot plot, String value) { Set plots = plot.getConnectedPlots(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/PluginCmd.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/PluginCmd.java index 8e31051fb..d284ce708 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/PluginCmd.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/PluginCmd.java @@ -22,8 +22,8 @@ import com.github.intellectualsites.plotsquared.plot.util.TaskManager; "$2>> $1&lAuthors$2: $1Citymonstret $2& $1Empire92 $2& $1MattBDev $2& $1dordsor21"); MainUtil.sendMessage(player, "$2>> $1&lWiki$2: $1https://github.com/IntellectualSites/PlotSquared/wiki"); - // MainUtil.sendMessage(player, - // "$2>> $1&lNewest Version$2: $1" + getNewestVersionString()); + MainUtil.sendMessage(player, + "$2>> $1&lNewest Version$2: $1" + getNewestVersionString()); } }); return true; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Relight.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Relight.java index 321f91d24..5af706df3 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Relight.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Relight.java @@ -10,7 +10,7 @@ import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import java.util.concurrent.CompletableFuture; @CommandDeclaration(command = "relight", description = "Relight your plot", usage = "/plot relight", - category = CommandCategory.DEBUG) public class Relight extends Command { + category = CommandCategory.DEBUG, requiredType = RequiredType.PLAYER) public class Relight extends Command { public Relight() { super(MainCommand.getInstance(), true); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Remove.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Remove.java index 875eb6e4c..af1c0024d 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Remove.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Remove.java @@ -19,7 +19,7 @@ import java.util.UUID; @CommandDeclaration(command = "remove", aliases = {"r", "untrust", "ut", "undeny", "unban", "ud"}, description = "Remove a player from a plot", usage = "/plot remove ", - category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE, + category = CommandCategory.SETTINGS, requiredType = RequiredType.PLAYER, permission = "plots.remove") public class Remove extends SubCommand { public Remove() { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SchematicCmd.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SchematicCmd.java index 24ccbe016..deef2081c 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SchematicCmd.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SchematicCmd.java @@ -25,7 +25,7 @@ import java.util.UUID; @CommandDeclaration(command = "schematic", permission = "plots.schematic", description = "Schematic command", aliases = {"sch", "schem"}, - category = CommandCategory.SCHEMATIC, usage = "/plot schematic ") + category = CommandCategory.SCHEMATIC, usage = "/plot schematic ") public class SchematicCmd extends SubCommand { private boolean running = false; @@ -62,7 +62,7 @@ public class SchematicCmd extends SubCommand { return false; } if (this.running) { - MainUtil.sendMessage(player, "&cTask is already running."); + MainUtil.sendMessage(player, Captions.TASK_IN_PROCESS); return false; } final String location = args[1]; @@ -148,8 +148,7 @@ public class SchematicCmd extends SubCommand { return false; } if (args.length != 2) { - MainUtil.sendMessage(player, - "&cNeed world argument. Use &7/plot sch exportall "); + MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_WORLD_ARGS); return false; } PlotArea area = PlotSquared.get().getPlotAreaByString(args[1]); @@ -160,19 +159,17 @@ public class SchematicCmd extends SubCommand { Collection plots = area.getPlots(); if (plots.isEmpty()) { MainUtil - .sendMessage(player, "&cInvalid world. Use &7/plot sch exportall "); + .sendMessage(player, Captions.SCHEMATIC_EXPORTALL_WORLD); return false; } boolean result = SchematicHandler.manager.exportAll(plots, null, null, - () -> MainUtil.sendMessage(player, "&aFinished mass export")); + () -> MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_FINISHED)); if (!result) { - MainUtil.sendMessage(player, "&cTask is already running."); + MainUtil.sendMessage(player, Captions.TASK_IN_PROCESS); return false; } else { - MainUtil.sendMessage(player, - "&3Plot&8->&3Schematic&8: &7Mass export has started. This may take a while."); - MainUtil.sendMessage(player, - "&3Plot&8->&3Schematic&8: &7Found &c" + plots.size() + "&7 plots..."); + MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_STARTED); + MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_COUNT, plots.size()); } break; } @@ -184,7 +181,7 @@ public class SchematicCmd extends SubCommand { return false; } if (this.running) { - MainUtil.sendMessage(player, "&cTask is already running."); + MainUtil.sendMessage(player, Captions.TASK_IN_PROCESS); return false; } Location location = player.getLocation(); @@ -203,14 +200,14 @@ public class SchematicCmd extends SubCommand { } ArrayList plots = Lists.newArrayList(plot); boolean result = SchematicHandler.manager.exportAll(plots, null, null, () -> { - MainUtil.sendMessage(player, "&aFinished export"); + MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_SINGLE_FINISHED); SchematicCmd.this.running = false; }); if (!result) { - MainUtil.sendMessage(player, "&cTask is already running."); + MainUtil.sendMessage(player, Captions.TASK_IN_PROCESS); return false; } else { - MainUtil.sendMessage(player, "&7Starting export..."); + MainUtil.sendMessage(player, Captions.SCHEMATIC_EXPORTALL_STARTED); } break; case "list": { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Set.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Set.java index 082e80582..1f2d1c2a0 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Set.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Set.java @@ -10,6 +10,7 @@ import com.github.intellectualsites.plotsquared.plot.flag.FlagManager; import com.github.intellectualsites.plotsquared.plot.flag.Flags; import com.github.intellectualsites.plotsquared.plot.object.BlockBucket; import com.github.intellectualsites.plotsquared.plot.object.Plot; +import com.github.intellectualsites.plotsquared.plot.object.PlotArea; import com.github.intellectualsites.plotsquared.plot.object.PlotBlock; import com.github.intellectualsites.plotsquared.plot.object.PlotManager; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; @@ -44,6 +45,7 @@ import java.util.stream.IntStream; } @Override public boolean set(PlotPlayer player, final Plot plot, String value) { + PlotArea plotArea = player.getLocation().getPlotArea(); PlotManager manager = player.getLocation().getPlotManager(); String[] components = manager.getPlotComponents(plot.getId()); boolean allowUnsafe = DebugAllowUnsafe.unsafeAllowed.contains(player.getUUID()); @@ -126,7 +128,7 @@ import java.util.stream.IntStream; } MainUtil .sendMessage(player, Captions.SUBCOMMAND_SET_OPTIONS_HEADER.getTranslated() + StringMan - .join(newValues, Captions.BLOCK_LIST_SEPARATER.formatted())); + .join(newValues, Captions.BLOCK_LIST_SEPARATOR.formatted())); return false; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetCommand.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetCommand.java index 8b746c624..bc64f0244 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetCommand.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetCommand.java @@ -11,8 +11,8 @@ import com.github.intellectualsites.plotsquared.plot.util.StringMan; public abstract class SetCommand extends SubCommand { @Override public boolean onCommand(PlotPlayer player, String[] args) { - Location location = player.getLocation(); - Plot plot = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetHome.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetHome.java index fa828303f..7a208ebd5 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetHome.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/SetHome.java @@ -10,7 +10,7 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil; @CommandDeclaration(command = "sethome", permission = "plots.set.home", description = "Set the plot home to your current position", usage = "/plot sethome [none]", - aliases = {"sh", "seth"}, category = CommandCategory.SETTINGS, requiredType = RequiredType.NONE) + aliases = {"sh", "seth"}, category = CommandCategory.SETTINGS, requiredType = RequiredType.PLAYER) public class SetHome extends SetCommand { @Override public boolean set(PlotPlayer player, Plot plot, String value) { @@ -25,10 +25,11 @@ public class SetHome extends SetCommand { } case "": Plot base = plot.getBasePlot(false); - Location bottom = base.getBottomAbs(); - Location location = player.getLocationFull(); - BlockLoc rel = new BlockLoc(location.getX() - bottom.getX(), location.getY(), - location.getZ() - bottom.getZ(), location.getYaw(), location.getPitch()); + Location bot = base.getBottomAbs(); + Location loc = player.getLocationFull(); + BlockLoc rel = + new BlockLoc(loc.getX() - bot.getX(), loc.getY(), loc.getZ() - bot.getZ(), + loc.getYaw(), loc.getPitch()); base.setHome(rel); return MainUtil.sendMessage(player, Captions.POSITION_SET); default: diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Setup.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Setup.java index 7b21352e2..2b7e5ab7f 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Setup.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Setup.java @@ -16,8 +16,8 @@ import com.github.intellectualsites.plotsquared.plot.util.SetupUtils; import com.github.intellectualsites.plotsquared.plot.util.StringMan; import com.github.intellectualsites.plotsquared.plot.util.WorldUtil; import lombok.*; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.*; import java.util.Map.Entry; @@ -288,11 +288,6 @@ import java.util.Map.Entry; MainUtil.sendMessage(player, "&cYou need to choose a world name!"); return false; } - if (!d(args[0])) { - MainUtil.sendMessage(player, - "Non [a-z0-9_.-] character in the world name: " + args[0]); - return false; - } if (WorldUtil.IMP.isWorld(args[0])) { if (PlotSquared.get().hasPlotArea(args[0])) { MainUtil.sendMessage(player, "&cThat world name is already taken!"); @@ -322,11 +317,6 @@ import java.util.Map.Entry; return false; } - private static boolean d(String s) { - return s.chars().allMatch((i) -> { - return i == 95 || i == 45 || i >= 97 && i <= 122 || i >= 48 && i <= 57 || i == 46; - }); - } private static final class StepPickGenerator extends SetupStep { @Getter private String generator; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Swap.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Swap.java index b3ec2ff05..9f7f0b145 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Swap.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Swap.java @@ -13,8 +13,8 @@ import com.github.intellectualsites.plotsquared.plot.util.Permissions; public class Swap extends SubCommand { @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - Plot plot1 = location.getPlotAbs(); + Location loc = player.getLocation(); + Plot plot1 = loc.getPlotAbs(); if (plot1 == null) { return !MainUtil.sendMessage(player, Captions.NOT_IN_PLOT); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Template.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Template.java index eb96f78cc..563956c46 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Template.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Template.java @@ -113,8 +113,7 @@ import java.util.zip.ZipOutputStream; return true; } } - MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, - "/plot template [template]"); + MainUtil.sendMessage(player, Captions.COMMAND_SYNTAX, getUsage()); return true; } final String world = args[1]; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Toggle.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Toggle.java index 11715fcbf..efe54f3d8 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Toggle.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Toggle.java @@ -9,14 +9,16 @@ import com.github.intellectualsites.plotsquared.plot.object.RunnableVal3; import com.github.intellectualsites.plotsquared.plot.util.MainUtil; @CommandDeclaration(command = "toggle", aliases = {"attribute"}, permission = "plots.use", + usage = "/plot toggle ", description = "Toggle per user settings", requiredType = RequiredType.NONE, category = CommandCategory.SETTINGS) public class Toggle extends Command { + public Toggle() { super(MainCommand.getInstance(), true); } @CommandDeclaration(command = "chatspy", aliases = {"spy"}, - permission = "plots.admin.command.chat", description = "Toggle admin chat spying") + permission = "plots.admin.command.chat", description = "Toggle plot chat spy") public void chatspy(Command command, PlotPlayer player, String[] args, RunnableVal3 confirm, RunnableVal2 whenDone) { @@ -75,18 +77,6 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil; } } - @CommandDeclaration(command = "time", permission = "plots.toggle.time", - description = "Toggle plot time settings") - public void time(Command command, PlotPlayer player, String[] args, - RunnableVal3 confirm, - RunnableVal2 whenDone) { - if (toggle(player, "disabletime")) { - MainUtil.sendMessage(player, Captions.TOGGLE_ENABLED, command.toString()); - } else { - MainUtil.sendMessage(player, Captions.TOGGLE_DISABLED, command.toString()); - } - } - public boolean toggle(PlotPlayer player, String key) { if (player.getAttribute(key)) { player.removeAttribute(key); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trust.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trust.java index 630e636d6..c0cd3309e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trust.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Trust.java @@ -19,7 +19,7 @@ import java.util.concurrent.CompletableFuture; @CommandDeclaration(command = "trust", aliases = {"t"}, requiredType = RequiredType.PLAYER, usage = "/plot trust ", - description = "Allow a user to build in a plot while you are offline", + description = "Allow a user to build in a plot and use WorldEdit while you are offline", category = CommandCategory.SETTINGS) public class Trust extends Command { public Trust() { @@ -52,7 +52,7 @@ import java.util.concurrent.CompletableFuture; continue; } if (currentPlot.isOwner(uuid)) { - MainUtil.sendMessage(player, Captions.ALREADY_OWNER, MainUtil.getName(uuid)); + MainUtil.sendMessage(player, Captions.ALREADY_ADDED, MainUtil.getName(uuid)); iterator.remove(); continue; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Unlink.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Unlink.java index 0ac65184a..7e84ef3aa 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Unlink.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Unlink.java @@ -5,11 +5,7 @@ import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.object.Location; import com.github.intellectualsites.plotsquared.plot.object.Plot; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; -import com.github.intellectualsites.plotsquared.plot.util.CmdConfirm; -import com.github.intellectualsites.plotsquared.plot.util.MainUtil; -import com.github.intellectualsites.plotsquared.plot.util.Permissions; -import com.github.intellectualsites.plotsquared.plot.util.StringMan; -import com.github.intellectualsites.plotsquared.plot.util.TaskManager; +import com.github.intellectualsites.plotsquared.plot.util.*; @CommandDeclaration(command = "unlink", aliases = {"u", "unmerge"}, description = "Unlink a mega-plot", usage = "/plot unlink [createroads]", @@ -17,8 +13,9 @@ import com.github.intellectualsites.plotsquared.plot.util.TaskManager; public class Unlink extends SubCommand { @Override public boolean onCommand(final PlotPlayer player, String[] args) { - Location location = player.getLocation(); - final Plot plot = location.getPlotAbs(); + + Location loc = player.getLocation(); + final Plot plot = loc.getPlotAbs(); if (plot == null) { return !sendMessage(player, Captions.NOT_IN_PLOT); } @@ -44,7 +41,7 @@ public class Unlink extends SubCommand { } Runnable runnable = () -> { if (!plot.unlinkPlot(createRoad, createRoad)) { - MainUtil.sendMessage(player, "&cUnlink has been cancelled"); + MainUtil.sendMessage(player, Captions.UNMERGE_CANCELLED); return; } MainUtil.sendMessage(player, Captions.UNLINK_SUCCESS); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Visit.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Visit.java index c9e7ed8e8..ea5647b66 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Visit.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/Visit.java @@ -16,7 +16,7 @@ import java.util.concurrent.CompletableFuture; @CommandDeclaration(command = "visit", permission = "plots.visit", description = "Visit someones plot", usage = "/plot visit [|||] [#]", - aliases = {"v", "tp", "teleport", "goto", "home", "h"}, requiredType = RequiredType.PLAYER, + aliases = {"v", "tp", "teleport", "goto", "home", "h", "warp"}, requiredType = RequiredType.PLAYER, category = CommandCategory.TELEPORT) public class Visit extends Command { public Visit() { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/WE_Anywhere.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/WE_Anywhere.java index bd18e3886..3a4e1d71c 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/WE_Anywhere.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/commands/WE_Anywhere.java @@ -4,7 +4,7 @@ import com.github.intellectualsites.plotsquared.commands.CommandDeclaration; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; @CommandDeclaration(command = "weanywhere", permission = "plots.worldedit.bypass", - description = "Force bypass of WorldEdit", aliases = {"wea"}, usage = "/plot weanywhere", + description = "Force bypass of WorldEdit restrictions", aliases = {"wea"}, usage = "/plot weanywhere", requiredType = RequiredType.NONE, category = CommandCategory.ADMINISTRATION) @Deprecated public class WE_Anywhere extends SubCommand { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Captions.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Captions.java index b53aa42a2..52d56f364 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Captions.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Captions.java @@ -59,8 +59,8 @@ public enum Captions { PERMISSION_ADMIN_ENTRY_DENIED("plots.admin.entry.denied", "static.permissions"), PERMISSION_ADMIN_ENTRY_FORCEFIELD("plots.admin.entry.forcefield", "static.permissions"), PERMISSION_COMMANDS_CHAT("plots.admin.command.chat", "static.permissions"), - PERMISSION_MERGE_OTHER("plots.merge.other", "static.permissions"), PERMISSION_MERGE_KEEP_ROAD( - "plots.merge.keeproad", "static.permissions"), + PERMISSION_MERGE_OTHER("plots.merge.other", "static.permissions"), + PERMISSION_MERGE_KEEP_ROAD("plots.merge.keeproad", "static.permissions"), PERMISSION_ADMIN_DESTROY_UNOWNED("plots.admin.destroy.unowned", "static.permissions"), PERMISSION_ADMIN_DESTROY_GROUNDLEVEL("plots.admin.destroy.groundlevel", "static.permissions"), PERMISSION_ADMIN_DESTROY_OTHER("plots.admin.destroy.other", "static.permissions"), @@ -70,8 +70,8 @@ public enum Captions { PERMISSION_ADMIN_BUILD_OTHER("plots.admin.build.other", "static.permissions"), PERMISSION_ADMIN_INTERACT_ROAD("plots.admin.interact.road", "static.permissions"), PERMISSION_ADMIN_INTERACT_UNOWNED("plots.admin.interact.unowned", "static.permissions"), - PERMISSION_ADMIN_INTERACT_OTHER("plots.admin.interact.other", "static.permissions"), PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT( - "plots.admin.build.heightlimit", "static.permissions"), + PERMISSION_ADMIN_INTERACT_OTHER("plots.admin.interact.other", "static.permissions"), + PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT("plots.admin.build.heightlimit", "static.permissions"), PERMISSION_ADMIN_UPDATE("plots.admin.command.update", "static.permissions"), PERMISSION_ADMIN_COMMAND_RATE("plots.admin.command.rate", "static.permissions"), PERMISSION_ADMIN_COMMAND_TRUST("plots.admin.command.trust", "static.permissions"), @@ -124,8 +124,8 @@ public enum Captions { PERMISSION_FLAG_ADD("plots.flag.add", "static.permissions"), PERMISSION_FLAG_LIST("plots.flag.list", "static.permissions"), PERMISSION_ADMIN_COMMAND_KICK("plots.admin.command.kick", "static.permissions"), - PERMISSION_GRANT("plots.grant.%s0", "static.permissions"), PERMISSION_LIST_FOR_SALE( - "plots.list.forsale", "static.permissions"), + PERMISSION_GRANT("plots.grant.%s0", "static.permissions"), + PERMISSION_LIST_FOR_SALE("plots.list.forsale", "static.permissions"), PERMISSION_LIST_MINE("plots.list.mine", "static.permissions"), PERMISSION_LIST_SHARED("plots.list.shared", "static.permissions"), PERMISSION_LIST_WORLD("plots.list.world", "static.permissions"), @@ -140,8 +140,8 @@ public enum Captions { PERMISSION_LIST_FUZZY("plots.list.fuzzy", "static.permissions"), PERMISSION_LIST_AREA("plots.list.area", "static.permissions"), PERMISSION_ADMIN_COMMAND_LOAD("plots.admin.command.load", "static.permissions"), - PERMISSION_ADMIN_COMMAND_MERGE("plots.admin.command.merge", "static.permissions"), PERMISSION_ADMIN_COMMAND_SET_OWNER( - "plots.admin.command.setowner", "static.permissions"), + PERMISSION_ADMIN_COMMAND_MERGE("plots.admin.command.merge", "static.permissions"), + PERMISSION_ADMIN_COMMAND_SET_OWNER("plots.admin.command.setowner", "static.permissions"), PERMISSION_COMMENT("plots.comment", "static.permissions"), PERMISSION_ADMIN_COMMAND_REMOVE("plots.admin.command.remove", "static.permissions"), PERMISSION_ADMIN_COMMAND_SAVE("plots.admin.command.save", "static.permissions"), @@ -166,20 +166,19 @@ public enum Captions { CONSOLE_JAVA_OUTDATED( "&cYour version of java is outdated. It is highly recommended that you update to Java 8 as it increases performance " + "and security. %s0 will require Java 8 in a future update.", - "static.console"), CONSOLE_PLEASE_ENABLE_METRICS( + "static.console"), + CONSOLE_PLEASE_ENABLE_METRICS( "&dPlease enable metrics for %s0. Using metrics improves plugin stability, performance, and features. " + "Bug fixes and new features are influenced on metrics.", "static.console"), // // EXPIRED_CONFIRM("$2Confirmation has expired, please run the command again!", "Confirm"), FAILED_CONFIRM("$2You have no pending actions to confirm!", "Confirm"), - REQUIRES_CONFIRM( - "$2Are you sure you wish to execute: $1%s$2?&-$2This cannot be undone! If you are sure: $1/plot confirm", - "Confirm"), + REQUIRES_CONFIRM("$2Are you sure you wish to execute: $1%s$2?&-$2This cannot be undone! If you are sure: $1/plot confirm", "Confirm"), // // - MOVE_SUCCESS("$4Successfully moved plot.", "Move"), COPY_SUCCESS("$4Successfully copied plot.", - "Move"), + MOVE_SUCCESS("$4Successfully moved plot.", "Move"), + COPY_SUCCESS("$4Successfully copied plot.", "Move"), REQUIRES_UNOWNED("$2The location specified is already occupied.", "Move"), // // @@ -188,8 +187,7 @@ public enum Captions { // // GENERATING_LINK("$1Processing plot...", "Web"), - GENERATING_LINK_FAILED( - "$2Failed to generate download link!", "Web"), + GENERATING_LINK_FAILED("$2Failed to generate download link!", "Web"), SAVE_FAILED("$2Failed to save", "Web"), LOAD_NULL("$2Please use $4/plot load $2to get a list of schematics", "Web"), LOAD_FAILED("$2Failed to load schematic", "Web"), @@ -202,205 +200,148 @@ public enum Captions { // CLUSTER_AVAILABLE_ARGS( "$1The following sub commands are available: $4list$2, $4create$2, $4delete$2, $4resize$2, $4invite$2, $4kick$2, $4leave$2, " - + "$4members$2, $4info$2, $4tp$2, $4sethome", "Cluster"), CLUSTER_LIST_HEADING( - "$2There are $1%s$2 clusters in this world", "Cluster"), CLUSTER_LIST_ELEMENT("$2 - $1%s&-", - "Cluster"), CLUSTER_INTERSECTION( - "$2The proposed area overlaps with: %s0", "Cluster"), CLUSTER_OUTSIDE( - "$2The proposed area is outside the plot area: %s0", "Cluster"), CLUSTER_ADDED( - "$4Successfully created the cluster.", "Cluster"), CLUSTER_DELETED( - "$4Successfully deleted the cluster.", "Cluster"), CLUSTER_RESIZED( - "$4Successfully resized the cluster.", "Cluster"), CLUSTER_ADDED_USER( - "$4Successfully added user to the cluster.", "Cluster"), CANNOT_KICK_PLAYER( - "$2You cannot kick that player", "Cluster"), CLUSTER_INVITED( - "$1You have been invited to the following cluster: $2%s", "Cluster"), CLUSTER_REMOVED( - "$1You have been removed from cluster: $2%s", "Cluster"), CLUSTER_KICKED_USER( - "$4Successfully kicked the user", "Cluster"), INVALID_CLUSTER( - "$1Invalid cluster name: $2%s", "Cluster"), CLUSTER_NOT_ADDED( - "$2That player was not added to the plot cluster", "Cluster"), CLUSTER_CANNOT_LEAVE( - "$1You must delete or transfer ownership before leaving", - "Cluster"), CLUSTER_ADDED_HELPER("$4Successfully added a helper to the cluster", - "Cluster"), CLUSTER_REMOVED_HELPER("$4Successfully removed a helper from the cluster", - "Cluster"), CLUSTER_REGENERATED("$4Successfully started cluster regeneration", - "Cluster"), CLUSTER_TELEPORTING("$4Teleporting...", "Cluster"), - CLUSTER_INFO( - "$1Current cluster: $2%id%&-$1Name: $2%name%&-$1Owner: $2%owner%&-$1Size: $2%size%&-$1Rights: $2%rights%", - "Cluster"), + + "$4members$2, $4info$2, $4tp$2, $4sethome", "Cluster"), + CLUSTER_LIST_HEADING("$2There are $1%s$2 clusters in this world", "Cluster"), + CLUSTER_LIST_ELEMENT("$2 - $1%s&-", "Cluster"), + CLUSTER_INTERSECTION("$2The proposed area overlaps with: %s0", "Cluster"), + CLUSTER_OUTSIDE("$2The proposed area is outside the plot area: %s0", "Cluster"), + CLUSTER_ADDED("$4Successfully created the cluster.", "Cluster"), + CLUSTER_DELETED("$4Successfully deleted the cluster.", "Cluster"), + CLUSTER_RESIZED("$4Successfully resized the cluster.", "Cluster"), + CLUSTER_ADDED_USER("$4Successfully added user to the cluster.", "Cluster"), + CANNOT_KICK_PLAYER("$2You cannot kick that player", "Cluster"), + CLUSTER_INVITED("$1You have been invited to the following cluster: $2%s", "Cluster"), + CLUSTER_REMOVED("$1You have been removed from cluster: $2%s", "Cluster"), + CLUSTER_KICKED_USER("$4Successfully kicked the user", "Cluster"), + INVALID_CLUSTER("$1Invalid cluster name: $2%s", "Cluster"), + CLUSTER_NOT_ADDED("$2That player was not added to the plot cluster", "Cluster"), + CLUSTER_CANNOT_LEAVE("$1You must delete or transfer ownership before leaving", "Cluster"), + CLUSTER_ADDED_HELPER("$4Successfully added a helper to the cluster", "Cluster"), + CLUSTER_REMOVED_HELPER("$4Successfully removed a helper from the cluster", "Cluster"), + CLUSTER_REGENERATED("$4Successfully started cluster regeneration", "Cluster"), + CLUSTER_TELEPORTING("$4Teleporting...", "Cluster"), + CLUSTER_INFO("$1Current cluster: $2%id%&-$1Name: $2%name%&-$1Owner: $2%owner%&-$1Size: $2%size%&-$1Rights: $2%rights%", "Cluster"), // // BORDER("$2You are outside the current map border", "Border"), // - // - UNCLAIM_SUCCESS("$4You successfully unclaimed the plot.", "Unclaim"), UNCLAIM_FAILED( - "$2Could not unclaim the plot", "Unclaim"), - // // - WORLDEDIT_DELAYED("$2Please wait while we process your WorldEdit action...", - "WorldEdit Masks"), WORLDEDIT_RUN("$2Apologies for the delay. Now executing: %s", - "WorldEdit Masks"), - REQUIRE_SELECTION_IN_MASK( - "$2%s of your selection is not within your plot mask. You can only make edits within your plot.", - "WorldEdit Masks"), WORLDEDIT_VOLUME( - "$2You cannot select a volume of %current%. The maximum volume you can modify is %max%.", - "WorldEdit Masks"), - - WORLDEDIT_ITERATIONS( - "$2You cannot iterate %current% times. The maximum number of iterations allowed is %max%.", - "WorldEdit Masks"), WORLDEDIT_UNSAFE("$2Access to that command has been blocked", - "WorldEdit Masks"), - - WORLDEDIT_BYPASS("$2&oTo bypass your restrictions use $4/plot wea", - "WorldEdit Masks"), WORLDEDIT_BYPASSED("$2Currently bypassing WorldEdit restriction.", - "WorldEdit Masks"), - - WORLDEDIT_UNMASKED("$1Your WorldEdit is now unrestricted.", - "WorldEdit Masks"), WORLDEDIT_RESTRICTED("$1Your WorldEdit is now restricted.", - "WorldEdit Masks"), - - GAMEMODE_WAS_BYPASSED("$1You bypassed the GameMode ($2{gamemode}$1) $1set for $2{plot}", - "GameMode"), HEIGHT_LIMIT("$1This plot area has a height limit of $2{limit}", - "Height Limit"), + WORLDEDIT_BYPASS("$2&oTo bypass your restrictions use $4/plot wea", "WorldEdit Masks"), + WORLDEDIT_BYPASSED("$2Currently bypassing WorldEdit restriction.", "WorldEdit Masks"), + // + // + GAMEMODE_WAS_BYPASSED("$1You bypassed the gamemode ($2{gamemode}$1) $1set for $2{plot}", "GameMode"), + // + // + HEIGHT_LIMIT("$1This plot area has a height limit of $2{limit}", "Height Limit"), // // NOTIFY_ENTER("$2%player $2entered your plot ($1%plot$2)", "Records"), NOTIFY_LEAVE("$2%player $2left your plot ($1%plot$2)", "Records"), // // - SWAP_OVERLAP("$2The proposed areas are not allowed to overlap", "Swap"), SWAP_DIMENSIONS( - "$2The proposed areas must have comparable dimensions", "Swap"), - - SWAP_SYNTAX("$2/plot swap ", "Swap"), SWAP_SUCCESS("$4Successfully swapped plots", "Swap"), - + SWAP_OVERLAP("$2The proposed areas are not allowed to overlap", "Swap"), + SWAP_DIMENSIONS("$2The proposed areas must have comparable dimensions", "Swap"), + SWAP_SYNTAX("$2/plot swap ", "Swap"), + SWAP_SUCCESS("$4Successfully swapped plots", "Swap"), STARTED_SWAP("$2Started plot swap task. You will be notified when it finishes", "Swap"), // - // - INBOX_NOTIFICATION("%s unread messages. Use /plot inbox", "Comment"), NOT_VALID_INBOX_INDEX( - "$2No comment at index %s", "Comment"), - - INBOX_ITEM("$2 - $4%s", "Comment"), COMMENT_SYNTAX("$2Use /plot comment [X;Z] <%s> ", - "Comment"), - - INVALID_INBOX("$2That is not a valid inbox.&-$1Accepted values: %s", "Comment"), NO_PERM_INBOX( - "$2You do not have permission for that inbox", "Comment"), NO_PERM_INBOX_MODIFY( - "$2You do not have permission to modify that inbox", "Comment"), NO_PLOT_INBOX( - "$2You must stand in or supply a plot argument", "Comment"), COMMENT_REMOVED_SUCCESS( - "$4Successfully deleted comment/s:n$2 - '$3%s$2'", "Comment"), COMMENT_REMOVED_FAILURE( - "$4Failed to delete comment!", "Comment"), COMMENT_ADDED("$4A comment has been left", - "Comment"), - - COMMENT_HEADER("$2&m---------&r $1Comments $2&m---------&r", "Comment"), INBOX_EMPTY( - "$2No comments", "Comment"), + // + INBOX_NOTIFICATION("%s unread messages. Use /plot inbox", "Comment"), + NOT_VALID_INBOX_INDEX("$2No comment at index %s", "Comment"), + INBOX_ITEM("$2 - $4%s", "Comment"), + COMMENT_SYNTAX("$2Use /plot comment [X;Z] <%s> ", "Comment"), + INVALID_INBOX("$2That is not a valid inbox.&-$1Accepted values: %s", "Comment"), + NO_PERM_INBOX("$2You do not have permission for that inbox", "Comment"), + NO_PERM_INBOX_MODIFY("$2You do not have permission to modify that inbox", "Comment"), + NO_PLOT_INBOX("$2You must stand in or supply a plot argument", "Comment"), + COMMENT_REMOVED_SUCCESS("$4Successfully deleted comment/s:n$2 - '$3%s$2'", "Comment"), + COMMENT_REMOVED_FAILURE("$4Failed to delete comment!", "Comment"), + COMMENT_ADDED("$4A comment has been left", "Comment"), + COMMENT_HEADER("$2&m---------&r $1Comments $2&m---------&r", "Comment"), + INBOX_EMPTY("$2No comments", "Comment"), // // - NOT_CONSOLE("$2For safety reasons, this command can only be executed by console.", - "Console"), IS_CONSOLE("$2This command can only be executed by a player.", "Console"), - // - // - INVENTORY_USAGE("&cUsage: &6{usage}", "Inventory"), INVENTORY_DESC("&cDescription: &6{desc}", - "Inventory"), - - INVENTORY_CATEGORY("&cCategory: &6{category}", "Inventory"), + NOT_CONSOLE("$2For safety reasons, this command can only be executed by console.", "Console"), + IS_CONSOLE("$2This command can only be executed by a player.", "Console"), // // - CLIPBOARD_SET( - "$2The current plot is now copied to your clipboard, use $1/plot paste$2 to paste it", - "Clipboard"), PASTED( - "$4The plot selection was successfully pasted. It has been cleared from your clipboard.", - "Clipboard"), - - PASTE_FAILED("$2Failed to paste the selection. Reason: $2%s", "Clipboard"), NO_CLIPBOARD( - "$2You don't have a selection in your clipboard", "Clipboard"), - - CLIPBOARD_INFO( - "$2Current Selection - Plot ID: $1%id$2, Width: $1%width$2, Total Blocks: $1%total$2", - "Clipboard"), + PASTE_FAILED("$2Failed to paste the selection. Reason: $2%s", "Clipboard"), // // - TOGGLE_ENABLED("$2Enabled setting: %s", "Toggle"), TOGGLE_DISABLED("$2Disabled setting: %s", - "Toggle"), - + TOGGLE_ENABLED("$2Enabled setting: %s", "Toggle"), + TOGGLE_DISABLED("$2Disabled setting: %s", "Toggle"), + // + // COMMAND_BLOCKED("$2That command is not allowed in this plot", "Blocked Command"), // // - - DONE_ALREADY_DONE("$2This plot is already marked as done", "Done"), DONE_NOT_DONE( - "$2This plot is not marked as done.", "Done"), - - DONE_INSUFFICIENT_COMPLEXITY( - "$2This plot is too simple. Please add more detail before using this command.", - "Done"), DONE_SUCCESS("$1Successfully marked this plot as done.", "Done"), - + DONE_ALREADY_DONE("$2This plot is already marked as done", "Done"), + DONE_NOT_DONE("$2This plot is not marked as done.", "Done"), + DONE_INSUFFICIENT_COMPLEXITY("$2This plot is too simple. Please add more detail before using this command.", "Done"), + DONE_SUCCESS("$1Successfully marked this plot as done.", "Done"), DONE_REMOVED("$1You may now continue building in this plot.", "Done"), // // - RATINGS_PURGED("$2Purged ratings for this plot", "Ratings"), RATING_NOT_VALID( - "$2You need to specify a number between 1 and 10", "Ratings"), - - RATING_ALREADY_EXISTS("$2You have already rated plot $2%s", "Ratings"), RATING_APPLIED( - "$4You successfully rated plot $2%s", "Ratings"), - - RATING_DISLIKED("$4You successfully disliked plot $2%s", "Ratings"), RATING_LIKED( - "$4You successfully liked plot $2%s", "Ratings"), - - RATING_NOT_YOUR_OWN("$2You cannot rate your own plot", "Ratings"), RATING_NOT_DONE( - "$2You can only rate finished plots.", "Ratings"), - + RATINGS_PURGED("$2Purged ratings for this plot", "Ratings"), + RATING_NOT_VALID("$2You need to specify a number between 1 and 10", "Ratings"), + RATING_ALREADY_EXISTS("$2You have already rated plot $2%s", "Ratings"), + RATING_APPLIED("$4You successfully rated plot $2%s", "Ratings"), + RATING_DISLIKED("$4You successfully disliked plot $2%s", "Ratings"), + RATING_LIKED("$4You successfully liked plot $2%s", "Ratings"), + RATING_NOT_YOUR_OWN("$2You cannot rate your own plot", "Ratings"), + RATING_NOT_DONE("$2You can only rate finished plots.", "Ratings"), RATING_NOT_OWNED("$2You cannot rate a plot that is not claimed by anyone", "Ratings"), // // - RATE_THIS("$2Rate this plot!", "Tutorial"), COMMENT_THIS( - "$2Leave some feedback on this plot: %s", "Tutorial"), + RATE_THIS("$2Rate this plot!", "Tutorial"), + COMMENT_THIS("$2Leave some feedback on this plot: %s", "Tutorial"), // // - ECON_DISABLED("$2Economy is not enabled", "Economy"), CANNOT_AFFORD_PLOT( - "$2You cannot afford to buy this plot. It costs $1%s", "Economy"), - - NOT_FOR_SALE("$2This plot is not for sale", "Economy"), CANNOT_BUY_OWN( - "$2You cannot buy your own plot", "Economy"), - - PLOT_SOLD("$4Your plot; $1%s0$4, has been sold to $1%s1$4 for $1$%s2", - "Economy"), CANNOT_AFFORD_MERGE("$2You cannot afford to merge the plots. It costs $1%s", - "Economy"), - - ADDED_BALANCE("$1%s $2has been added to your balance", "Economy"), REMOVED_BALANCE( - "$1%s $2has been taken from your balance", "Economy"), - + ECON_DISABLED("$2Economy is not enabled", "Economy"), + CANNOT_AFFORD_PLOT("$2You cannot afford to buy this plot. It costs $1%s", "Economy"), + NOT_FOR_SALE("$2This plot is not for sale", "Economy"), + CANNOT_BUY_OWN("$2You cannot buy your own plot", "Economy"), + PLOT_SOLD("$4Your plot; $1%s0$4, has been sold to $1%s1$4 for $1$%s2", "Economy"), + CANNOT_AFFORD_MERGE("$2You cannot afford to merge the plots. It costs $1%s", "Economy"), + ADDED_BALANCE("$1%s $2has been added to your balance", "Economy"), + REMOVED_BALANCE("$1%s $2has been taken from your balance", "Economy"), REMOVED_GRANTED_PLOT("$2You used %s plot grant(s), you've got $1%s $2left", "Economy"), // // - SETUP_INIT("$1Usage: $2/plot setup ", "Setup"), SETUP_STEP( - "$3[$1Step %s0$3] $1%s1 $2- $1Expecting: $2%s2 $1Default: $2%s3", "Setup"), - - SETUP_INVALID_ARG( - "$2%s0 is not a valid argument for step %s1. To cancel setup use: $1/plot setup cancel", - "Setup"), SETUP_VALID_ARG("$2Value $1%s0 $2set to %s1", "Setup"), - + SETUP_INIT("$1Usage: $2/plot setup ", "Setup"), + SETUP_STEP("$3[$1Step %s0$3] $1%s1 $2- $1Expecting: $2%s2 $1Default: $2%s3", "Setup"), + SETUP_INVALID_ARG("$2%s0 is not a valid argument for step %s1. To cancel setup use: $1/plot setup cancel", "Setup"), + SETUP_VALID_ARG("$2Value $1%s0 $2set to %s1", "Setup"), SETUP_FINISHED( "$4You should have been teleported to the created world. Otherwise you will need to set the generator manually using the bukkit.yml or " - + "your chosen world management plugin.", "Setup"), SETUP_WORLD_TAKEN( - "$2%s is already a world", "Setup"), - + + "your chosen world management plugin.", "Setup"), + SETUP_WORLD_TAKEN("$2%s is already a world", "Setup"), SETUP_MISSING_WORLD( "$2You need to specify a world name ($1/plot setup &l$1 $2)&-$1Additional commands:&-$2 - $1/plot setup &-$2 -" - + " $1/plot setup back&-$2 - $1/plot setup cancel", "Setup"), SETUP_MISSING_GENERATOR( + + " $1/plot setup back&-$2 - $1/plot setup cancel", "Setup"), + SETUP_MISSING_GENERATOR( "$2You need to specify a generator ($1/plot setup &l&r$2)&-$1Additional commands:&-$2 - $1/plot setup &-$2 - " + "$1/plot setup back&-$2 - $1/plot setup cancel", "Setup"), - SETUP_INVALID_GENERATOR("$2Invalid generator. Possible options: %s", "Setup"), // - // - - SCHEMATIC_TOO_LARGE("$2The plot is too large for this action!", - "Schematics"), SCHEMATIC_MISSING_ARG( - "$2You need to specify an argument. Possible values: $1test $2 , $1save$2 , $1paste $2, $1exportall$2, $1list", - "Schematics"), - - SCHEMATIC_INVALID("$2That is not a valid schematic. Reason: $2%s", - "Schematics"), SCHEMATIC_VALID("$2That is a valid schematic", "Schematics"), - - SCHEMATIC_PASTE_FAILED("$2Failed to paste the schematic", - "Schematics"), SCHEMATIC_PASTE_SUCCESS("$4The schematic pasted successfully", "Schematics"), - + // + SCHEMATIC_TOO_LARGE("$2The plot is too large for this action!", "Schematics"), + SCHEMATIC_MISSING_ARG("$2You need to specify an argument. Possible values: $1test $2 , $1save$2 , $1paste $2, $1exportall$2, $1list", "Schematics"), + SCHEMATIC_INVALID("$2That is not a valid schematic. Reason: $2%s", "Schematics"), + SCHEMATIC_VALID("$2That is a valid schematic", "Schematics"), + SCHEMATIC_PASTE_FAILED("$2Failed to paste the schematic", "Schematics"), + SCHEMATIC_PASTE_SUCCESS("$4The schematic pasted successfully", "Schematics"), SCHEMATIC_LIST("$4Saved Schematics: $1%s", "Schematics"), + SCHEMATIC_ROAD_CREATED("$1Saved new road schematic. To test the schematic, fly to a few other plots and run /plot debugroadregen", "Schematics"), + MCA_FILE_SIZE("$1Note: The `.mca` files are 512x512", "Schematics"), + SCHEMATIC_EXPORTALL_STARTED("$1Starting export...", "Schematics"), + SCHEMATIC_EXPORTALL_WORLD_ARGS("$1Need world argument. Use $3/plot schem exportall ", "Schematics"), + SCHEMATIC_EXPORTALL_WORLD("$1Invalid world. Use &3/plot sch exportall ", "Schematics"), + SCHEMATIC_EXPORTALL_MASS_STARTED("$1Schematic mass export has been started. This may take a while", "Schematicss"), + SCHEMATIC_EXPORTALL_COUNT("$1Found $3%s $1plots...", "Schematics"), + SCHEMATIC_EXPORTALL_FINISHED("$1Finished mass export", "Schematics"), + SCHEMATIC_EXPORTALL_SINGLE_FINISHED("$1Finished export", "Schematics"), // // TITLE_ENTERED_PLOT("$1Plot: %world%;%x%;%z%", "Titles"), @@ -409,7 +350,6 @@ public enum Captions { PREFIX_FAREWELL("$1%id%$2> ", "Titles"), // // - TASK_START("Starting task...", "Core"), PREFIX("$3[$1P2$3] $2", "Core"), ENABLED("$1%s0 is now enabled", "Core"), // @@ -417,77 +357,50 @@ public enum Captions { RELOADED_CONFIGS("$1Translations and world settings have been reloaded", "Reload"), RELOAD_FAILED("$2Failed to reload file configurations", "Reload"), // - // + // DESC_SET("$2Plot description set", "Desc"), DESC_UNSET("$2Plot description unset", "Desc"), - MISSING_DESC("$2You need to specify a description", "Desc"), // // - - ALIAS_SET_TO("$2Plot alias set to $1%alias%", "Alias"), ALIAS_REMOVED("$2Plot alias removed", - "Alias"), - - MISSING_ALIAS("$2You need to specify an alias", "Alias"), ALIAS_TOO_LONG( - "$2The alias must be < 50 characters in length", "Alias"), - + ALIAS_SET_TO("$2Plot alias set to $1%alias%", "Alias"), + ALIAS_REMOVED("$2Plot alias removed", "Alias"), + ALIAS_TOO_LONG("$2The alias must be < 50 characters in length", "Alias"), ALIAS_IS_TAKEN("$2That alias is already taken", "Alias"), // // - - MISSING_POSITION("$2You need to specify a position. Possible values: $1none", - "Position"), POSITION_SET("$1Home position set to your current location", "Position"), - - POSITION_UNSET("$1Home position reset to the default location", "Position"), HOME_ARGUMENT( - "$2Use /plot set home [none]", "Position"), - - INVALID_POSITION("$2That is not a valid position value", "Position"), - // - // - ENTITY_CAP("$2You are not allowed to spawn more mobs", "cap"), + POSITION_SET("$1Home position set to your current location", "Position"), + POSITION_UNSET("$1Home position reset to the default location", "Position"), + HOME_ARGUMENT("$2Use /plot set home [none]", "Position"), // // - NO_SCHEMATIC_PERMISSION("$2You don't have the permission required to use schematic $1%s", - "Permission"), + NO_SCHEMATIC_PERMISSION("$2You don't have the permission required to use schematic $1%s", "Permission"), NO_PERMISSION("$2You are lacking the permission node: $1%s", "Permission"), NO_PERMISSION_EVENT("$2You are lacking the permission node: $1%s", "Permission"), NO_PLOT_PERMS("$2You must be the plot owner to perform this action", "Permission"), CANT_CLAIM_MORE_PLOTS("$2You can't claim more plots.", "Permission"), CANT_CLAIM_MORE_CLUSTERS("$2You can't claim more clusters.", "Permission"), - - CANT_TRANSFER_MORE_PLOTS("$2You can't send more plots to that user", - "Permission"), CANT_CLAIM_MORE_PLOTS_NUM("$2You can't claim more than $1%s $2plots at once", - "Permission"), - + CANT_TRANSFER_MORE_PLOTS("$2You can't send more plots to that user", "Permission"), + CANT_CLAIM_MORE_PLOTS_NUM("$2You can't claim more than $1%s $2plots at once", "Permission"), // // - MERGE_NOT_VALID("$2This merge request is no longer valid.", "Merge"), MERGE_ACCEPTED( - "$2The merge request has been accepted", "Merge"), - - SUCCESS_MERGE("$2Plots have been merged!", "Merge"), MERGE_REQUESTED( - "$2Successfully sent a merge request", "Merge"), - - MERGE_REQUEST_CONFIRM("Merge request from %s", "Permission"), NO_PERM_MERGE( - "$2You are not the owner of the plot: $1%plot%", "Merge"), - - NO_AVAILABLE_AUTOMERGE( - "$2You do not own any adjacent plots in the specified direction or are not allowed to merge to the required size.", - "Merge"), UNLINK_REQUIRED("$2An unlink is required to do this.", "Merge"), - - UNLINK_IMPOSSIBLE("$2You can only unlink a mega-plot", "Merge"), UNLINK_SUCCESS( - "$2Successfully unlinked plots.", "Merge"), + MERGE_NOT_VALID("$2This merge request is no longer valid.", "Merge"), + MERGE_ACCEPTED("$2The merge request has been accepted", "Merge"), + SUCCESS_MERGE("$2Plots have been merged!", "Merge"), + MERGE_REQUESTED("$2Successfully sent a merge request", "Merge"), + MERGE_REQUEST_CONFIRM("Merge request from %s", "Permission"), + NO_PERM_MERGE("$2You are not the owner of the plot: $1%plot%", "Merge"), + NO_AVAILABLE_AUTOMERGE("$2You do not own any adjacent plots in the specified direction or are not allowed to merge to the required size.", "Merge"), + UNMERGE_CANCELLED("$1Unlink has been cancelled", "Merge"), + UNLINK_IMPOSSIBLE("$2You can only unlink a mega-plot", "Merge"), + UNLINK_SUCCESS("$2Successfully unlinked plots.", "Merge"), // // - NOT_VALID_SUBCOMMAND("$2That is not a valid subcommand", "CommandConfig"), DID_YOU_MEAN( - "$2Did you mean: $1%s", "CommandConfig"), - - NAME_LITTLE("$2%s0 name is too short, $1%s1$2<$1%s3", "CommandConfig"), NO_COMMANDS( - "$2I'm sorry, but you're not permitted to use any subcommands.", "CommandConfig"), - - SUBCOMMAND_SET_OPTIONS_HEADER("$2Possible Values: ", "CommandConfig"), COMMAND_SYNTAX( - "$1Usage: $2%s", "CommandConfig"), + NOT_VALID_SUBCOMMAND("$2That is not a valid subcommand", "CommandConfig"), + DID_YOU_MEAN("$2Did you mean: $1%s", "CommandConfig"), + SUBCOMMAND_SET_OPTIONS_HEADER("$2Possible Values: ", "CommandConfig"), + COMMAND_SYNTAX("$1Usage: $2%s", "CommandConfig"), // // - INVALID_PLAYER_WAIT("$2Player not found: $1%s$2, fetching it. Try again soon.", "Errors"), INVALID_PLAYER("$2Player not found: $1%s$2.", "Errors"), INVALID_PLAYER_OFFLINE("$2The player must be online: $1%s.", "Errors"), INVALID_COMMAND_FLAG("$2Invalid command flag: %s0", "Errors"), @@ -496,129 +409,96 @@ public enum Captions { NO_FREE_PLOTS("$2There are no free plots available", "Errors"), NOT_IN_PLOT("$2You're not in a plot", "Errors"), NOT_LOADED("$2The plot could not be loaded", "Errors"), - NOT_IN_CLUSTER( - "$2You must be within a plot cluster to perform that action", "Errors"), + NOT_IN_CLUSTER("$2You must be within a plot cluster to perform that action", "Errors"), NOT_IN_PLOT_WORLD("$2You're not in a plot area", "Errors"), PLOTWORLD_INCOMPATIBLE("$2The two worlds must be compatible", "Errors"), NOT_VALID_WORLD("$2That is not a valid world (case sensitive)", "Errors"), NOT_VALID_PLOT_WORLD("$2That is not a valid plot area (case sensitive)", "Errors"), NO_PLOTS("$2You don't have any plots", "Errors"), - WAIT_FOR_TIMER( - "$2A set block timer is bound to either the current plot or you. Please wait for it to finish", - "Errors"), + WAIT_FOR_TIMER("$2A set block timer is bound to either the current plot or you. Please wait for it to finish", "Errors"), + TASK_IN_PROCESS("$1Task is already running.", "Error"), // + // DEBUG_REPORT_CREATED("$1Uploaded a full debug to: $1%url%", "Paste"), - + // + // PURGE_SUCCESS("$4Successfully purged %s plots", "Purge"), - + // // TRIM_IN_PROGRESS("A world trim task is already in progress!", "Trim"), - NOT_VALID_HYBRID_PLOT_WORLD("The hybrid plot manager is required to perform this action", "Trim"), // // - - BLOCK_LIST_SEPARATER("$1,$2 ", "Block List"), + BLOCK_LIST_SEPARATOR("$1,$2 ", "Block List"), // // - - NEED_BIOME("$2You need to specify a valid biome.", "Biome"), BIOME_SET_TO( - "$2Plot biome set to $2", "Biome"), + NEED_BIOME("$2You need to specify a valid biome.", "Biome"), + BIOME_SET_TO("$2Plot biome set to $2", "Biome"), // // - - TELEPORTED_TO_PLOT("$1You have been teleported", "Teleport"), TELEPORTED_TO_ROAD( - "$2You got teleported to the road", "Teleport"), - - TELEPORT_IN_SECONDS("$1Teleporting in %s seconds. Do not move...", "Teleport"), TELEPORT_FAILED( - "$2Teleportation cancelled due to movement or damage", "Teleport"), + TELEPORTED_TO_PLOT("$1You have been teleported", "Teleport"), + TELEPORTED_TO_ROAD("$2You got teleported to the road", "Teleport"), + TELEPORT_IN_SECONDS("$1Teleporting in %s seconds. Do not move...", "Teleport"), + TELEPORT_FAILED("$2Teleportation cancelled due to movement or damage", "Teleport"), // // - SET_BLOCK_ACTION_FINISHED("$1The last setblock action is now finished.", "Set Block"), // - // - - DEBUGALLOWUNSAFE_ON("$2Unsafe actions allowed", "unsafe"), DEBUGALLOWUNSAFE_OFF( - "$2Unsafe actions disabled", "unsafe"), + // + DEBUGALLOWUNSAFE_ON("$2Unsafe actions allowed", "unsafe"), + DEBUGALLOWUNSAFE_OFF("$2Unsafe actions disabled", "unsafe"), // // - - DEBUG_HEADER("$1Debug Information&-", "Debug"), DEBUG_SECTION("$2>> $1&l%val%", "Debug"), - + DEBUG_HEADER("$1Debug Information&-", "Debug"), + DEBUG_SECTION("$2>> $1&l%val%", "Debug"), DEBUG_LINE("$2>> $1%var%$2:$1 %val%&-", "Debug"), // // - - NOT_VALID_DATA("$2That's not a valid data id.", "Invalid"), NOT_VALID_BLOCK( - "$2That's not a valid block: %s", "Invalid"), - - NOT_ALLOWED_BLOCK("$2That block is not allowed: %s", "Invalid"), NOT_VALID_NUMBER( - "$2That's not a valid number within the range: %s", "Invalid"), - - NOT_VALID_PLOT_ID("$2That's not a valid plot id.", "Invalid"), PLOT_ID_FORM( - "$2The plot id must be in the form: $1X;Y $2e.g. $1-5;7", "Invalid"), - - NOT_YOUR_PLOT("$2That is not your plot.", "Invalid"), NO_SUCH_PLOT("$2There is no such plot", - "Invalid"), - - PLAYER_HAS_NOT_BEEN_ON("$2That player hasn't been in the plotworld", "Invalid"), FOUND_NO_PLOTS( - "$2Found no plots with your search query", "Invalid"), - - FOUND_NO_PLOTS_FOR_PLAYER("$2No plots found for player: %s", "Invalid"), + NOT_VALID_BLOCK("$2That's not a valid block: %s", "Invalid"), + NOT_ALLOWED_BLOCK("$2That block is not allowed: %s", "Invalid"), + NOT_VALID_NUMBER("$2That's not a valid number within the range: %s", "Invalid"), + NOT_VALID_PLOT_ID("$2That's not a valid plot id.", "Invalid"), + FOUND_NO_PLOTS("$2Found no plots with your search query", "Invalid"), // // - NEED_PLOT_NUMBER("$2You've got to specify a plot number or alias", "Need"), NEED_BLOCK("$2You've got to specify a block", "Need"), - NEED_PLOT_ID("$2You've got to specify a plot id.", "Need"), - NEED_PLOT_WORLD("$2You've got to specify a plot area.", "Need"), - NEED_USER("$2You need to specify a username", "Need"), // // PLOT_NEAR("$1Players: %s0", "Near"), // // - NONE("None", "Info"), NOW("Now", "Info"), - - NEVER("Never", "Info"), UNKNOWN("Unknown", "Info"), - + NONE("None", "Info"), + NOW("Now", "Info"), + NEVER("Never", "Info"), + UNKNOWN("Unknown", "Info"), SERVER("Server", "Info"), - EVERYONE("Everyone", "Info"), - PLOT_UNOWNED( - "$2The current plot must have an owner to perform this action", "Info"), - - PLOT_INFO_UNCLAIMED("$2Plot $1%s$2 is not yet claimed", "Info"), PLOT_INFO_HEADER( - "$3&m---------&r $1INFO $3&m---------", false, "Info"), - + PLOT_UNOWNED("$2The current plot must have an owner to perform this action", "Info"), + PLOT_INFO_UNCLAIMED("$2Plot $1%s$2 is not yet claimed", "Info"), + PLOT_INFO_HEADER("$3&m---------&r $1INFO $3&m---------", false, "Info"), PLOT_INFO_HIDDEN("$2You cannot view the information about this plot", "Info"), - PLOT_INFO("$1ID: $2%id%$1&-" + "$1Alias: $2%alias%$1&-" + "$1Owner: $2%owner%$1&-" + "$1Biome: $2%biome%$1&-" + "$1Can Build: $2%build%$1&-" + "$1Rating: $2%rating%&-" + "$1Seen: $2%seen%&-" + "$1Trusted: $2%trusted%$1&-" + "$1Members: $2%members%$1&-" + "$1Denied: $2%denied%$1&-" + "$1Flags: $2%flags%", "Info"), - PLOT_INFO_FOOTER( - "$3&m---------&r $1INFO $3&m---------", false, "Info"), - + PLOT_INFO_FOOTER("$3&m---------&r $1INFO $3&m---------", false, "Info"), PLOT_INFO_TRUSTED("$1Trusted:$2 %trusted%", "Info"), PLOT_INFO_MEMBERS("$1Members:$2 %members%", "Info"), - - PLOT_INFO_DENIED("$1Denied:$2 %denied%", "Info"), PLOT_INFO_FLAGS("$1Flags:$2 %flags%", "Info"), - - PLOT_INFO_BIOME("$1Biome:$2 %biome%", "Info"), PLOT_INFO_RATING("$1Rating:$2 %rating%", "Info"), - + PLOT_INFO_DENIED("$1Denied:$2 %denied%", "Info"), + PLOT_INFO_FLAGS("$1Flags:$2 %flags%", "Info"), + PLOT_INFO_BIOME("$1Biome:$2 %biome%", "Info"), + PLOT_INFO_RATING("$1Rating:$2 %rating%", "Info"), PLOT_INFO_LIKES("$1Like Ratio:$2 %likes%%", "Info"), - - PLOT_INFO_OWNER("$1Owner:$2 %owner%", "Info"), PLOT_INFO_ID("$1ID:$2 %id%", "Info"), - - PLOT_INFO_ALIAS("$1Alias:$2 %alias%", "Info"), PLOT_INFO_SIZE("$1Size:$2 %size%", "Info"), - - PLOT_INFO_SEEN("$1Seen:$2 %seen%", "Info"), PLOT_USER_LIST(" $1%user%$2,", "Info"), - - PLOT_FLAG_LIST("$1%s0:%s1$2", "Info"), INFO_SYNTAX_CONSOLE("$2/plot info X;Y", "Info"), + PLOT_INFO_OWNER("$1Owner:$2 %owner%", "Info"), + PLOT_INFO_ID("$1ID:$2 %id%", "Info"), + PLOT_INFO_ALIAS("$1Alias:$2 %alias%", "Info"), + PLOT_INFO_SIZE("$1Size:$2 %size%", "Info"), + PLOT_INFO_SEEN("$1Seen:$2 %seen%", "Info"), + PLOT_USER_LIST(" $1%user%$2,", "Info"), + PLOT_FLAG_LIST("$1%s0:%s1$2", "Info"), + INFO_SYNTAX_CONSOLE("$2/plot info X;Z", "Info"), // // GENERATING_COMPONENT("$1Started generating component from your settings", "Working"), - CLEARING_PLOT("$2Clearing plot async.", "Working"), CLEARING_DONE("$4Clear completed! Took %sms.", "Working"), DELETING_DONE("$4Delete completed! Took %sms.", "Working"), PLOT_NOT_CLAIMED("$2Plot not claimed", "Working"), @@ -643,13 +523,15 @@ public enum Captions { PLOT_CHAT_OFF("$4Plot chat disabled.", "Chat"), // // - DENIED_REMOVED("$4You successfully undenied the player from this plot", "Deny"), DENIED_ADDED("$4You successfully denied the player from this plot", "Deny"), DENIED_NEED_ARGUMENT("$2Arguments are missing. $1/plot denied add $2or $1/plot denied remove ", "Deny"), WAS_NOT_DENIED("$2That player was not denied on this plot", "Deny"), YOU_GOT_DENIED("$4You are denied from the plot you were previously on, and got teleported to spawn", "Deny"), + CANT_REMOVE_OWNER("$2You can't remove the plot owner", "Deny"), // + // YOU_GOT_KICKED("$4You got kicked!", "Kick"), + // // FLAG_KEY("$2Key: %s", "Flag"), FLAG_TYPE("$2Type: %s", "Flag"), @@ -657,7 +539,6 @@ public enum Captions { NOT_VALID_FLAG("$2That is not a valid flag", "Flag"), NOT_VALID_FLAG_SUGGESTED("$2That is not a valid flag. Did you mean: $1%s", "Flag"), NOT_VALID_VALUE("$2Flag values must be alphanumerical", "Flag"), - FLAG_NOT_IN_PLOT("$2The plot does not have that flag", "Flag"), FLAG_NOT_REMOVED("$2The flag could not be removed", "Flag"), FLAG_NOT_ADDED("$2The flag could not be added", "Flag"), FLAG_REMOVED("$4Successfully removed flag", "Flag"), @@ -666,22 +547,17 @@ public enum Captions { // // TRUSTED_ADDED("$4You successfully trusted a user to the plot", "Trusted"), - TRUSTED_REMOVED("$4You successfully removed a trusted user from the plot", "Trusted"), - WAS_NOT_ADDED("$2That player was not trusted on this plot", "Trusted"), PLOT_REMOVED_USER("$1Plot %s of which you were added to has been deleted due to owner inactivity", "Trusted"), // // REMOVED_PLAYERS("$2Removed %s players from this plot.", "Member"), ALREADY_OWNER("$2That user is already the plot owner: %s0", "Member"), - ALREADY_ADDED("$2That user is already added to that category: %s0", "Member"), MEMBER_ADDED("$4That user can now build while the plot owner is online", "Member"), - - MEMBER_REMOVED("$1You successfully removed a user from the plot", "Member"), MEMBER_WAS_NOT_ADDED("$2That player was not added as a user on this plot", "Member"), PLOT_MAX_MEMBERS("$2You are not allowed to add any more players to this plot", "Member"), // - // + // SET_OWNER("$4You successfully set the plot owner", "Owner"), SET_OWNER_CANCELLED("$2The set owner action was cancelled", "Owner"), NOW_OWNER("$4You are now owner of plot %s", "Owner"), @@ -701,10 +577,8 @@ public enum Captions { HELP_DISPLAY_ALL_COMMANDS("Display all commands", "Help"), DIRECTION("$1Current direction: %dir%", "Help"), // - - BUCKET_ENTRIES_IGNORED( - "$2Total bucket values add up to 1 or more. Blocks without a spcified chance will be ignored", - "Generator_Bucket"), + // + BUCKET_ENTRIES_IGNORED("$2Total bucket values add up to 1 or more. Blocks without a specified chance will be ignored", "Generator_Bucket"), /** * Command Categories @@ -719,7 +593,6 @@ public enum Captions { COMMAND_CATEGORY_DEBUG("Debug", "Category"), COMMAND_CATEGORY_ADMINISTRATION("Admin", "Category"), - // GRANTED_PLOTS("$1Result: $2%s $1grants left", "Grants"), GRANTED_PLOT("$1You granted %s0 plot to $2%s1", "Grants"), @@ -729,18 +602,16 @@ public enum Captions { /** * Legacy Configuration Conversion */ - LEGACY_CONFIG_FOUND("A legacy configuration file was detected. Conversion will be attempted.", - "LegacyConfig"), LEGACY_CONFIG_BACKUP( - "A copy of worlds.yml $1have been saved in the file worlds.yml.old$1.", - "LegacyConfig"), LEGACY_CONFIG_REPLACED("> %s has been replaced with %s", - "LegacyConfig"), LEGACY_CONFIG_DONE( + LEGACY_CONFIG_FOUND("A legacy configuration file was detected. Conversion will be attempted.", "LegacyConfig"), + LEGACY_CONFIG_BACKUP("A copy of worlds.yml $1have been saved in the file worlds.yml.old$1.", "LegacyConfig"), + LEGACY_CONFIG_REPLACED("> %s has been replaced with %s", "LegacyConfig"), + LEGACY_CONFIG_DONE( "The conversion has finished. PlotSquared will now be disabled and the new configuration file will" + " be used at next startup. Please review the new worlds.yml file. " + "Please note that schematics will not be converted, as we are now using WorldEdit to handle schematics. " + "You need to re-generate the schematics.", - "LegacyConfig"), LEGACY_CONFIG_CONVERSION_FAILED( - "Failed to convert the legacy configuration file. See stack trace for information.", "LegacyConfig"), + LEGACY_CONFIG_CONVERSION_FAILED("Failed to convert the legacy configuration file. See stack trace for information.", "LegacyConfig"), CUSTOM_STRING("-", "-"); //@formatter:on diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDB.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDB.java index 5beef2aab..d812413ea 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDB.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDB.java @@ -1,19 +1,11 @@ package com.github.intellectualsites.plotsquared.plot.database; import com.github.intellectualsites.plotsquared.plot.flag.Flag; -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.github.intellectualsites.plotsquared.plot.object.PlotArea; -import com.github.intellectualsites.plotsquared.plot.object.PlotCluster; -import com.github.intellectualsites.plotsquared.plot.object.PlotId; -import com.github.intellectualsites.plotsquared.plot.object.RunnableVal; +import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.object.comment.PlotComment; -import org.jetbrains.annotations.NotNull; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import javax.annotation.Nonnull; +import java.util.*; public interface AbstractDB { @@ -231,7 +223,7 @@ public interface AbstractDB { /** * @param cluster PlotCluster Object - * @param uuid Player that should be removed + * @param uuid Player that should be removed */ void setHelper(PlotCluster cluster, UUID uuid); @@ -283,7 +275,7 @@ public interface AbstractDB { /** * Removes the specified comment from the given plot. * - * @param plot the plot + * @param plot the plot * @param comment the comment to remove */ void removeComment(Plot plot, PlotComment comment); @@ -291,7 +283,7 @@ public interface AbstractDB { /** * Clears the specified inbox on the given plot. * - * @param plot the plot + * @param plot the plot * @param inbox the inbox to clear */ void clearInbox(Plot plot, String inbox); @@ -299,17 +291,17 @@ public interface AbstractDB { /** * Adds the specified comment to the given plot. * - * @param plot the plot + * @param plot the plot * @param comment the comment to add */ void setComment(Plot plot, PlotComment comment); /** - * Gets Plot comments. + * Gets Plot Comments. * * @param plot The Plot to get comments from */ - void getComments(@NotNull Plot plot, String inbox, RunnableVal> whenDone); + void getComments(@Nonnull Plot plot, String inbox, RunnableVal> whenDone); void createPlotAndSettings(Plot plot, Runnable whenDone); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/DBFunc.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/DBFunc.java index 47a03cf60..abb4dad24 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/DBFunc.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/DBFunc.java @@ -1,21 +1,13 @@ package com.github.intellectualsites.plotsquared.plot.database; import com.github.intellectualsites.plotsquared.plot.flag.Flag; -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.github.intellectualsites.plotsquared.plot.object.PlotArea; -import com.github.intellectualsites.plotsquared.plot.object.PlotCluster; -import com.github.intellectualsites.plotsquared.plot.object.PlotId; -import com.github.intellectualsites.plotsquared.plot.object.RunnableVal; +import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.object.comment.PlotComment; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import java.util.*; /** * Database Functions @@ -82,8 +74,6 @@ public class DBFunc { DBFunc.dbManager.validateAllPlots(plots); } - - //TODO Consider Removal /** * Check if a {@link ResultSet} contains a column. * @@ -91,7 +81,7 @@ public class DBFunc { * @param name * @return */ - @Deprecated public static boolean hasColumn(ResultSet resultSet, String name) { + public static boolean hasColumn(ResultSet resultSet, String name) { try { ResultSetMetaData meta = resultSet.getMetaData(); int count = meta.getColumnCount(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/SQLManager.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/SQLManager.java index 2f041cc57..49fbc0bc9 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/SQLManager.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/database/SQLManager.java @@ -12,8 +12,8 @@ import com.github.intellectualsites.plotsquared.plot.util.MainUtil; import com.github.intellectualsites.plotsquared.plot.util.StringMan; import com.github.intellectualsites.plotsquared.plot.util.TaskManager; import com.google.common.base.Charsets; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.sql.*; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -2170,7 +2170,7 @@ import java.util.concurrent.atomic.AtomicInteger; }); } - @Override public void getComments(@NotNull Plot plot, final String inbox, + @Override public void getComments(@Nonnull Plot plot, final String inbox, final RunnableVal> whenDone) { addPlotTask(plot, new UniqueStatement("getComments_" + plot) { @Override public void set(PreparedStatement statement) throws SQLException { @@ -2942,7 +2942,7 @@ import java.util.concurrent.atomic.AtomicInteger; boolean[] pm = plot.getMerged(); boolean[] dm = dataPlot.getMerged(); if (pm[0] != dm[0] || pm[1] != dm[1]) { - PlotSquared.debug(" - Correcting merge for: " + plot); + PlotSquared.debug("&8 - &7Correcting merge for: " + plot); setMerged(dataPlot, plot.getMerged()); } HashMap, Object> pf = plot.getFlags(); @@ -2951,7 +2951,7 @@ import java.util.concurrent.atomic.AtomicInteger; if (pf.size() != df.size() || !StringMan .isEqual(StringMan.joinOrdered(pf.values(), ","), StringMan.joinOrdered(df.values(), ","))) { - PlotSquared.debug(" - Correcting flags for: " + plot); + PlotSquared.debug("&8 - &7Correcting flags for: " + plot); setFlags(plot, pf); } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/GameModeFlag.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/GameModeFlag.java index 3467171f2..80225c2aa 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/GameModeFlag.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/flag/GameModeFlag.java @@ -27,6 +27,7 @@ public class GameModeFlag extends Flag { case "2": return PlotGameMode.ADVENTURE; case "spectator": + case "sp": case "3": return PlotGameMode.SPECTATOR; default: diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/AugmentedUtils.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/AugmentedUtils.java index 2a85581ad..fe0a614a2 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/AugmentedUtils.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/AugmentedUtils.java @@ -47,6 +47,9 @@ public class AugmentedUtils { continue; } IndependentPlotGenerator generator = area.getGenerator(); + if (generator == null) { + continue; + } // Mask if (queue == null) { queue = GlobalBlockQueue.IMP.getNewQueue(world, false); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotManager.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotManager.java index 320953963..118733f36 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotManager.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotManager.java @@ -24,21 +24,29 @@ public class ClassicPlotManager extends SquarePlotManager { BlockBucket blocks) { switch (component) { case "floor": - return setFloor(plotId, blocks); + setFloor(plotId, blocks); + return true; case "wall": - return setWallFilling(plotId, blocks); + setWallFilling(plotId, blocks); + return true; case "all": - return setAll(plotId, blocks); + setAll(plotId, blocks); + return true; case "air": - return setAir(plotId, blocks); + setAir(plotId, blocks); + return true; case "main": - return setMain(plotId, blocks); + setMain(plotId, blocks); + return true; case "middle": - return setMiddle(plotId, blocks); + setMiddle(plotId, blocks); + return true; case "outline": - return setOutline(plotId, blocks); + setOutline(plotId, blocks); + return true; case "border": - return setWall(plotId, blocks); + setWall(plotId, blocks); + return true; } return false; } @@ -46,7 +54,8 @@ public class ClassicPlotManager extends SquarePlotManager { @Override public boolean unClaimPlot(Plot plot, Runnable whenDone) { setWallFilling(plot.getId(), classicPlotWorld.WALL_FILLING); setWall(plot.getId(), classicPlotWorld.WALL_BLOCK); - return GlobalBlockQueue.IMP.addTask(whenDone); + GlobalBlockQueue.IMP.addTask(whenDone); + return true; } public boolean setFloor(PlotId plotId, BlockBucket blocks) { @@ -61,7 +70,8 @@ public class ClassicPlotManager extends SquarePlotManager { queue.setCuboid(pos1, pos2, blocks); } } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setAll(PlotId plotId, BlockBucket blocks) { @@ -76,7 +86,8 @@ public class ClassicPlotManager extends SquarePlotManager { Location pos2 = new Location(classicPlotWorld.worldname, region.maxX, maxY, region.maxZ); queue.setCuboid(pos1, pos2, blocks); } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setAir(PlotId plotId, BlockBucket blocks) { @@ -92,7 +103,8 @@ public class ClassicPlotManager extends SquarePlotManager { Location pos2 = new Location(classicPlotWorld.worldname, region.maxX, maxY, region.maxZ); queue.setCuboid(pos1, pos2, blocks); } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setMain(PlotId plotId, BlockBucket blocks) { @@ -107,7 +119,8 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, region.maxX, classicPlotWorld.PLOT_HEIGHT - 1, region.maxZ); queue.setCuboid(pos1, pos2, blocks); } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setMiddle(PlotId plotId, BlockBucket blocks) { @@ -121,7 +134,8 @@ public class ClassicPlotManager extends SquarePlotManager { int x = MathMan.average(corners[0].getX(), corners[1].getX()); int z = MathMan.average(corners[0].getZ(), corners[1].getZ()); queue.setBlock(x, classicPlotWorld.PLOT_HEIGHT, z, blocks.getBlock()); - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setOutline(PlotId plotId, BlockBucket blocks) { @@ -173,7 +187,8 @@ public class ClassicPlotManager extends SquarePlotManager { queue.setCuboid(pos1, pos2, blocks); } } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setWallFilling(PlotId plotId, BlockBucket blocks) { @@ -220,7 +235,8 @@ public class ClassicPlotManager extends SquarePlotManager { } } } - return queue.enqueue(); + queue.enqueue(); + return true; } public boolean setWall(PlotId plotId, BlockBucket blocks) { @@ -260,7 +276,8 @@ public class ClassicPlotManager extends SquarePlotManager { queue.setBlock(x, y, z, blocks.getBlock()); } } - return queue.enqueue(); + queue.enqueue(); + return true; } /** @@ -291,7 +308,8 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, ex, classicPlotWorld.WALL_HEIGHT + 1, ez - 1), classicPlotWorld.WALL_BLOCK); queue.setCuboid(new Location(classicPlotWorld.worldname, sx + 1, 1, sz + 1), new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1), classicPlotWorld.ROAD_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } @Override public boolean createRoadSouth(Plot plot) { @@ -319,7 +337,8 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.WALL_HEIGHT + 1, ez), classicPlotWorld.WALL_BLOCK); queue.setCuboid(new Location(classicPlotWorld.worldname, sx + 1, 1, sz + 1), new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1), classicPlotWorld.ROAD_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } @Override public boolean createRoadSouthEast(Plot plot) { @@ -337,7 +356,8 @@ public class ClassicPlotManager extends SquarePlotManager { PlotBlock.get((short) 7, (byte) 0)); queue.setCuboid(new Location(classicPlotWorld.worldname, sx + 1, 1, sz + 1), new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.ROAD_HEIGHT, ez - 1), classicPlotWorld.ROAD_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } @Override public boolean removeRoadEast(Plot plot) { @@ -357,7 +377,8 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, ex, classicPlotWorld.PLOT_HEIGHT - 1, ez - 1), classicPlotWorld.MAIN_BLOCK); queue.setCuboid(new Location(classicPlotWorld.worldname, sx, classicPlotWorld.PLOT_HEIGHT, sz + 1), new Location(classicPlotWorld.worldname, ex, classicPlotWorld.PLOT_HEIGHT, ez - 1), classicPlotWorld.TOP_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } @Override public boolean removeRoadSouth(Plot plot) { @@ -377,7 +398,8 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.PLOT_HEIGHT - 1, ez), classicPlotWorld.MAIN_BLOCK); queue.setCuboid(new Location(classicPlotWorld.worldname, sx + 1, classicPlotWorld.PLOT_HEIGHT, sz), new Location(classicPlotWorld.worldname, ex - 1, classicPlotWorld.PLOT_HEIGHT, ez), classicPlotWorld.TOP_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } @Override public boolean removeRoadSouthEast(Plot plot) { @@ -394,53 +416,38 @@ public class ClassicPlotManager extends SquarePlotManager { new Location(classicPlotWorld.worldname, ex, classicPlotWorld.ROAD_HEIGHT - 1, ez), classicPlotWorld.MAIN_BLOCK); queue.setCuboid(new Location(classicPlotWorld.worldname, sx, classicPlotWorld.ROAD_HEIGHT, sz), new Location(classicPlotWorld.worldname, ex, classicPlotWorld.ROAD_HEIGHT, ez), classicPlotWorld.TOP_BLOCK); - return queue.enqueue(); + queue.enqueue(); + return true; } /** * Finishing off plot merging by adding in the walls surrounding the plot (OPTIONAL)(UNFINISHED). - * - * @return false if part of the merge failed, otherwise true if successful. */ @Override public boolean finishPlotMerge(List plotIds) { final BlockBucket block = classicPlotWorld.CLAIMED_WALL_BLOCK; - boolean success = true; - for (PlotId plotId : plotIds) { - success &= setWall(plotId, block); - } + plotIds.forEach(id -> setWall(id, block)); if (Settings.General.MERGE_REPLACE_WALL) { final BlockBucket wallBlock = classicPlotWorld.WALL_FILLING; - for (PlotId id : plotIds) { - success &= setWallFilling(id, wallBlock); - } + plotIds.forEach(id -> setWallFilling(id, wallBlock)); } - return success; + return true; } @Override public boolean finishPlotUnlink(List plotIds) { final BlockBucket block = classicPlotWorld.CLAIMED_WALL_BLOCK; - boolean success = true; - for (PlotId id : plotIds) { - success &= setWall(id, block); - } - return success; + plotIds.forEach(id -> setWall(id, block)); + return true; } - /** - * Sets all the blocks along all the plot walls to their correct state (claimed or unclaimed). - * - * @return true if the wall blocks were successfully set - */ @Override public boolean regenerateAllPlotWalls() { - boolean success = true; for (Plot plot : classicPlotWorld.getPlots()) { if (plot.hasOwner()) { - success &= setWall(plot.getId(), classicPlotWorld.CLAIMED_WALL_BLOCK); + setWall(plot.getId(), classicPlotWorld.CLAIMED_WALL_BLOCK); } else { - success &= setWall(plot.getId(), classicPlotWorld.WALL_BLOCK); + setWall(plot.getId(), classicPlotWorld.WALL_BLOCK); } } - return success; + return true; } @Override public boolean startPlotMerge(List plotIds) { @@ -453,7 +460,8 @@ public class ClassicPlotManager extends SquarePlotManager { @Override public boolean claimPlot(Plot plot) { final BlockBucket claim = classicPlotWorld.CLAIMED_WALL_BLOCK; - return setWall(plot.getId(), claim); + setWall(plot.getId(), claim); + return true; } @Override public String[] getPlotComponents(PlotId plotId) { @@ -461,9 +469,7 @@ public class ClassicPlotManager extends SquarePlotManager { } /** - * Retrieves the location of where a sign should be for a plot. - * @param plot The plot - * @return The location where a sign should be + * Remove sign for a plot. */ @Override public Location getSignLoc(Plot plot) { plot = plot.getBasePlot(false); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java index 143879680..6bf38d22c 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/ClassicPlotWorld.java @@ -46,7 +46,7 @@ import java.util.Locale; * command - this may be useful if a config value can be changed at a later date, and has no impact on the actual * world generation

*/ - @NotNull @Override public ConfigurationNode[] getSettingNodes() { + @Nonnull @Override public ConfigurationNode[] getSettingNodes() { return new ConfigurationNode[] { new ConfigurationNode("plot.height", this.PLOT_HEIGHT, "Plot height", Configuration.INTEGER), diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotManager.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotManager.java index 0a3fc4de6..773b427c9 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotManager.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotManager.java @@ -12,7 +12,6 @@ import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import com.google.common.collect.Sets; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockTypes; - import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -35,13 +34,13 @@ public class HybridPlotManager extends ClassicPlotManager { String dir = "schematics" + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + hybridPlotWorld.worldname + File.separator; try { - File sideRoad = + File sideroad = MainUtil.getFile(PlotSquared.get().IMP.getDirectory(), dir + "sideroad.schem"); String newDir = "schematics" + File.separator + "GEN_ROAD_SCHEMATIC" + File.separator + "__TEMP_DIR__" + File.separator; - if (sideRoad.exists()) { + if (sideroad.exists()) { files.add(new FileBytes(newDir + "sideroad.schem", - Files.readAllBytes(sideRoad.toPath()))); + Files.readAllBytes(sideroad.toPath()))); } File intersection = MainUtil.getFile(PlotSquared.get().IMP.getDirectory(), dir + "intersection.schem"); @@ -147,7 +146,8 @@ public class HybridPlotManager extends ClassicPlotManager { if (hybridPlotWorld.ROAD_SCHEMATIC_ENABLED) { createSchemAbs(queue, pos1, pos2); } - return queue.enqueue(); + queue.enqueue(); + return true; } /** @@ -221,9 +221,7 @@ public class HybridPlotManager extends ClassicPlotManager { } /** - * Retrieves the location of where a sign should be for a plot. - * @param plot The plot - * @return The location where a sign should be + * Remove sign for a plot. */ @Override public Location getSignLoc(Plot plot) { return hybridPlotWorld.getSignLocation(plot); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java index 2f8c7c823..101b6fcb3 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridPlotWorld.java @@ -44,7 +44,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { super(worldName, id, generator, min, max); } - @NotNull @Override + @Override protected PlotManager createManager() { return new HybridPlotManager(this); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridUtils.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridUtils.java index 46f02d6fb..84c487bdb 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridUtils.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/generator/HybridUtils.java @@ -140,7 +140,7 @@ public abstract class HybridUtils { } HybridUtils.UPDATE = true; Set regions = new HashSet<>(); - regions.add(ChunkManager.getChunkChunk(plot.getCenter())); + regions.add(ChunkManager.manager.getChunkChunk(plot.getCenter())); return scheduleRoadUpdate(plot.getArea(), regions, extend); } @@ -183,7 +183,7 @@ public abstract class HybridUtils { ChunkLoc loc = iterator.next(); iterator.remove(); PlotSquared.debug("&3Updating .mcr: " + loc.x + ", " + loc.z - + " (aprrox 1024 chunks)"); + + " (approx 1024 chunks)"); PlotSquared.debug(" - Remaining: " + regions.size()); chunks.addAll(getChunks(loc)); System.gc(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/PlotListener.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/PlotListener.java index 4911f9f47..c26c4231e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/PlotListener.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/PlotListener.java @@ -122,7 +122,7 @@ public class PlotListener { } } Optional timeFlag = plot.getFlag(Flags.TIME); - if (timeFlag.isPresent() && !player.getAttribute("disabletime")) { + if (timeFlag.isPresent()) { try { long time = timeFlag.get(); player.setTime(time); @@ -138,18 +138,18 @@ public class PlotListener { final PlotBlock block = PlotBlock.get(id); final String rawId = block.getRawId().toString(); if (rawId.contains("disc") || PlotBlock.isEverything(block) || block.isAir()) { - Location location = player.getLocation(); - Location lastLocation = player.getMeta("music"); - if (lastLocation != null) { - player.playMusic(lastLocation, PlotBlock.get("air")); + Location loc = player.getLocation(); + Location lastLoc = player.getMeta("music"); + if (lastLoc != null) { + player.playMusic(lastLoc, PlotBlock.get("air")); if (PlotBlock.isEverything(block) || block.isAir()) { player.deleteMeta("music"); } } if (!(PlotBlock.isEverything(block) || block.isAir())) { try { - player.setMeta("music", location); - player.playMusic(location, block); + player.setMeta("music", loc); + player.playMusic(loc, block); } catch (Exception ignored) { } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/ProcessedWEExtent.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/ProcessedWEExtent.java index 21014db70..7d2d824b4 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/ProcessedWEExtent.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/listener/ProcessedWEExtent.java @@ -107,7 +107,7 @@ public class ProcessedWEExtent extends AbstractDelegateExtent { if (this.BScount > Settings.Chunk_Processor.MAX_TILES) { this.BSblocked = true; PlotSquared.debug( - Captions.PREFIX + "&cdetected unsafe WorldEdit: " + location.getX() + "," + Captions.PREFIX + "&cDetected unsafe WorldEdit: " + location.getX() + "," + location.getZ()); } if (WEManager @@ -162,7 +162,7 @@ public class ProcessedWEExtent extends AbstractDelegateExtent { if (this.Ecount > Settings.Chunk_Processor.MAX_ENTITIES) { this.Eblocked = true; PlotSquared.debug( - Captions.PREFIX + "&cdetected unsafe WorldEdit: " + location.getBlockX() + "," + Captions.PREFIX + "&cDetected unsafe WorldEdit: " + location.getBlockX() + "," + location.getBlockZ()); } if (WEManager.maskContains(this.mask, location.getBlockX(), location.getBlockY(), diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/ConsolePlayer.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/ConsolePlayer.java index 490a6e211..9f4677f4f 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/ConsolePlayer.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/ConsolePlayer.java @@ -5,8 +5,8 @@ import com.github.intellectualsites.plotsquared.plot.commands.RequiredType; import com.github.intellectualsites.plotsquared.plot.database.DBFunc; import com.github.intellectualsites.plotsquared.plot.util.PlotGameMode; import com.github.intellectualsites.plotsquared.plot.util.PlotWeather; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.util.UUID; public class ConsolePlayer extends PlotPlayer { @@ -15,15 +15,15 @@ public class ConsolePlayer extends PlotPlayer { private ConsolePlayer() { PlotArea area = PlotSquared.get().getFirstPlotArea(); - Location location; + Location loc; if (area != null) { RegionWrapper region = area.getRegion(); - location = new Location(area.worldname, region.minX + region.maxX / 2, 0, + loc = new Location(area.worldname, region.minX + region.maxX / 2, 0, region.minZ + region.maxZ / 2); } else { - location = new Location("world", 0, 0, 0); + loc = new Location("world", 0, 0, 0); } - setMeta("location", location); + setMeta("location", loc); } public static ConsolePlayer getConsole() { @@ -34,7 +34,7 @@ public class ConsolePlayer extends PlotPlayer { return instance; } - @Override public boolean canTeleport(@NotNull Location location) { + @Override public boolean canTeleport(@Nonnull Location loc) { return true; } @@ -42,7 +42,7 @@ public class ConsolePlayer extends PlotPlayer { public void sendTitle(String title, String subtitle, int fadeIn, int stay, int fadeOut) { } - @NotNull @Override public Location getLocation() { + @Override public Location getLocation() { return this.getMeta("location"); } @@ -50,7 +50,7 @@ public class ConsolePlayer extends PlotPlayer { return getLocation(); } - @NotNull @Override public UUID getUUID() { + @Nonnull @Override public UUID getUUID() { return DBFunc.EVERYONE; } @@ -100,14 +100,14 @@ public class ConsolePlayer extends PlotPlayer { return RequiredType.CONSOLE; } - @Override public void setWeather(@NotNull PlotWeather weather) { + @Override public void setWeather(@Nonnull PlotWeather weather) { } - @NotNull @Override public PlotGameMode getGameMode() { + @Nonnull @Override public PlotGameMode getGameMode() { return PlotGameMode.NOT_SET; } - @Override public void setGameMode(@NotNull PlotGameMode gameMode) { + @Override public void setGameMode(@Nonnull PlotGameMode gameMode) { } @Override public void setTime(long time) { @@ -120,7 +120,7 @@ public class ConsolePlayer extends PlotPlayer { @Override public void setFlight(boolean fly) { } - @Override public void playMusic(@NotNull Location location, @NotNull PlotBlock id) { + @Override public void playMusic(@Nonnull Location location, @Nonnull PlotBlock id) { } @Override public void kick(String message) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Direction.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Direction.java index 3c3900dc1..0c7de4905 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Direction.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Direction.java @@ -1,9 +1,9 @@ package com.github.intellectualsites.plotsquared.plot.object; public enum Direction { - ALL(-1, "all"), NORTH(0, "north"), EAST(1, "east"), SOUTH(2, "south"), WEST(3, - "west"), NORTHEAST(4, "northeast"), SOUTHEAST(5, "southeast"), SOUTHWEST(6, - "southwest"), NORTHWEST(7, "northwest"), + NORTH(0, "north"), EAST(1, "east"), SOUTH(2, "south"), WEST(3, "west"), NORTHEAST(4, + "northeast"), SOUTHEAST(5, "southeast"), SOUTHWEST(6, "southwest"), NORTHWEST(7, + "northwest"), ; @@ -16,15 +16,6 @@ public enum Direction { this.name = name; } - public static Direction getFromIndex(int index) { - for (Direction value : values()) { - if (value.getIndex() == index) { - return value; - } - } - return NORTH; - } - public int getIndex() { return index; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java index 30c5034a8..b1098e6f3 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/Plot.java @@ -21,9 +21,9 @@ import com.google.common.collect.BiMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.sk89q.jnbt.CompoundTag; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.awt.geom.Area; import java.awt.geom.PathIterator; import java.awt.geom.Rectangle2D; @@ -46,14 +46,13 @@ import java.util.stream.Collectors; public class Plot { private static final int MAX_HEIGHT = 256; - /** * @deprecated raw access is deprecated */ @Deprecated private static HashSet connected_cache; private static HashSet regions_cache; - @NotNull private final PlotId id; + private final PlotId id; /** * plot owner @@ -63,12 +62,10 @@ public class Plot { * @deprecated */ @Deprecated public UUID owner; - /** * Has the plot changed since the last save cycle? */ public boolean countsTowardsMax = true; - /** * Represents whatever the database manager needs it to:
* - A value of -1 usually indicates the plot will not be stored in the DB
@@ -77,28 +74,23 @@ public class Plot { * @deprecated magical */ @Deprecated public int temp; - /** * Plot creation timestamp (not accurate if the plot was created before this was implemented)
* - Milliseconds since the epoch
*/ private long timestamp; - /** * List of trusted (with plot permissions). */ private HashSet trusted; - /** * List of members users (with plot permissions). */ private HashSet members; - /** * List of denied players. */ private HashSet denied; - /** * External settings class. * - Please favor the methods over direct access to this class
@@ -107,7 +99,6 @@ public class Plot { private PlotSettings settings; private PlotArea area; - /** * Session only plot metadata (session is until the server stops)
*
@@ -116,7 +107,6 @@ public class Plot { * @see FlagManager */ private ConcurrentHashMap meta; - /** * The cached origin plot. * - The origin plot is used for plot grouping and relational data @@ -127,12 +117,12 @@ public class Plot { * Constructor for a new plot. * (Only changes after plot.create() will be properly set in the database) * - * @param area the PlotArea where the plot is located - * @param id the plot id + * @param area the PlotArea where the plot is located + * @param id the plot id * @param owner the plot owner * @see Plot#getPlot(Location) for existing plots */ - public Plot(PlotArea area, @NotNull PlotId id, UUID owner) { + public Plot(PlotArea area, PlotId id, UUID owner) { this.area = area; this.id = id; this.owner = owner; @@ -143,10 +133,10 @@ public class Plot { * (Only changes after plot.create() will be properly set in the database) * * @param area the PlotArea where the plot is located - * @param id the plot id + * @param id the plot id * @see Plot#getPlot(Location) for existing plots */ - public Plot(PlotArea area, @NotNull PlotId id) { + public Plot(PlotArea area, PlotId id) { this.area = area; this.id = id; } @@ -156,13 +146,13 @@ public class Plot { * The database will ignore any queries regarding temporary plots. * Please note that some bulk plot management functions may still affect temporary plots (TODO: fix this) * - * @param area the PlotArea where the plot is located - * @param id the plot id + * @param area the PlotArea where the plot is located + * @param id the plot id * @param owner the owner of the plot - * @param temp Represents whatever the database manager needs it to + * @param temp Represents whatever the database manager needs it to * @see Plot#getPlot(Location) for existing plots */ - public Plot(PlotArea area, @NotNull PlotId id, UUID owner, int temp) { + public Plot(PlotArea area, PlotId id, UUID owner, int temp) { this.area = area; this.id = id; this.owner = owner; @@ -172,14 +162,14 @@ public class Plot { /** * Constructor for a saved plots (Used by the database manager when plots are fetched) * - * @param id the plot id - * @param owner the plot owner + * @param id the plot id + * @param owner the plot owner * @param trusted the plot trusted players - * @param denied the plot denied players - * @param merged an array giving merged plots + * @param denied the plot denied players + * @param merged array giving merged plots * @see Plot#getPlot(Location) for existing plots */ - public Plot(@NotNull PlotId id, UUID owner, HashSet trusted, HashSet members, + public Plot(PlotId id, UUID owner, HashSet trusted, HashSet members, HashSet denied, String alias, BlockLoc position, Collection flags, PlotArea area, boolean[] merged, long timestamp, int temp) { this.id = id; @@ -204,8 +194,8 @@ public class Plot { /** * Gets a plot from a string e.g. [area];[id] * - * @param defaultArea if no area is specified - * @param string plot id/area + id + * @param defaultArea If no area is specified + * @param string plot id/area + id * @return New or existing plot object */ public static Plot fromString(PlotArea defaultArea, String string) { @@ -336,7 +326,7 @@ public class Plot { * @param uuid the player uuid * @return if the provided uuid is the owner of the plot */ - public boolean isOwner(@NotNull UUID uuid) { + public boolean isOwner(@Nonnull UUID uuid) { if (uuid.equals(this.getOwner())) { return true; } @@ -462,7 +452,7 @@ public class Plot { * * @return the PlotId for this plot */ - @NotNull public PlotId getId() { + public PlotId getId() { return this.id; } @@ -789,7 +779,7 @@ public class Plot { /** * Sets the plot owner (and update the database) * - * @param owner uuid to set as owner + * @param owner uuid to set as owner * @param initiator player initiating set owner * @return boolean */ @@ -874,15 +864,8 @@ public class Plot { } Plot current = queue.poll(); if (Plot.this.area.TERRAIN != 0) { - try { - ChunkManager.manager - .regenerateRegion(current.getBottomAbs(), current.getTopAbs(), false, - this); - } catch (UnsupportedOperationException exception) { - MainUtil.sendMessage(null, - "Please ask md_5 to fix regenerateChunk() because it breaks plugins. We apologize for the inconvenience"); - return; - } + ChunkManager.manager + .regenerateRegion(current.getBottomAbs(), current.getTopAbs(), false, this); return; } manager.clearPlot(current, this); @@ -936,8 +919,8 @@ public class Plot { /** * Unlink the plot and all connected plots. * - * @param createRoad whether to recreate road * @param createSign whether to recreate signs + * @param createRoad whether to recreate road * @return success/!cancelled */ public boolean unlinkPlot(boolean createRoad, boolean createSign) { @@ -999,7 +982,7 @@ public class Plot { * * @param name name */ - public void setSign(@NotNull String name) { + public void setSign(@Nonnull String name) { if (!isLoaded()) { return; } @@ -1009,7 +992,7 @@ public class Plot { } PlotManager manager = this.area.getPlotManager(); if (this.area.ALLOW_SIGNS) { - Location location = manager.getSignLoc(this); + Location loc = manager.getSignLoc(this); String id = this.id.x + ";" + this.id.y; String[] lines = new String[] {Captions.OWNER_SIGN_LINE_1.formatted().replaceAll("%id%", id), @@ -1019,9 +1002,7 @@ public class Plot { "%plr%", name), Captions.OWNER_SIGN_LINE_4.formatted().replaceAll("%id%", id).replaceAll( "%plr%", name)}; - WorldUtil.IMP - .setSign(this.getWorldName(), location.getX(), location.getY(), location.getZ(), - lines); + WorldUtil.IMP.setSign(this.getWorldName(), loc.getX(), loc.getY(), loc.getZ(), lines); } } @@ -1218,18 +1199,18 @@ public class Plot { Location[] corners = getCorners(); Location top = corners[0]; Location bot = corners[1]; - Location location = - new Location(this.getWorldName(), MathMan.average(bot.getX(), top.getX()), + Location loc = new Location(this.getWorldName(), MathMan.average(bot.getX(), top.getX()), MathMan.average(bot.getY(), top.getY()), MathMan.average(bot.getZ(), top.getZ())); if (!isLoaded()) { - return location; + return loc; } - int y = WorldUtil.IMP.getHighestBlock(getWorldName(), location.getX(), location.getZ()); + int y = + isLoaded() ? WorldUtil.IMP.getHighestBlock(getWorldName(), loc.getX(), loc.getZ()) : 62; if (area.ALLOW_SIGNS) { y = Math.max(y, getManager().getSignLoc(this).getY()); } - location.setY(1 + y); - return location; + loc.setY(1 + y); + return loc; } public Location getSide() { @@ -1254,19 +1235,18 @@ public class Plot { if (home == null || home.x == 0 && home.z == 0) { return this.getDefaultHome(true); } else { - Location bottom = this.getBottomAbs(); - Location location = - new Location(bottom.getWorld(), bottom.getX() + home.x, bottom.getY() + home.y, - bottom.getZ() + home.z, home.yaw, home.pitch); + Location bot = this.getBottomAbs(); + Location loc = new Location(bot.getWorld(), bot.getX() + home.x, bot.getY() + home.y, + bot.getZ() + home.z, home.yaw, home.pitch); if (!isLoaded()) { - return location; + return loc; } - if (!WorldUtil.IMP.getBlock(location).isAir()) { - location.setY(Math.max(1 + WorldUtil.IMP - .getHighestBlock(this.getWorldName(), location.getX(), location.getZ()), - bottom.getY())); + if (!WorldUtil.IMP.getBlock(loc).isAir()) { + loc.setY(Math.max( + 1 + WorldUtil.IMP.getHighestBlock(this.getWorldName(), loc.getX(), loc.getZ()), + bot.getY())); } - return location; + return loc; } } @@ -1433,9 +1413,9 @@ public class Plot { if (!this.area.ALLOW_SIGNS) { return; } - Location location = manager.getSignLoc(this); + Location loc = manager.getSignLoc(this); LocalBlockQueue queue = GlobalBlockQueue.IMP.getNewQueue(getWorldName(), false); - queue.setBlock(location.getX(), location.getY(), location.getZ(), PlotBlock.get("air")); + queue.setBlock(loc.getX(), loc.getY(), loc.getZ(), PlotBlock.get("air")); queue.flush(); } @@ -1530,7 +1510,7 @@ public class Plot { * @param notify notify * @return true if plot was created successfully */ - public boolean create(@NotNull UUID uuid, final boolean notify) { + public boolean create(@Nonnull UUID uuid, final boolean notify) { this.owner = uuid; Plot existing = this.area.getOwnedPlotAbs(this.id); if (existing != null) { @@ -1552,7 +1532,7 @@ public class Plot { DBFunc.createPlotAndSettings(this, () -> { PlotArea plotworld = Plot.this.area; if (notify && plotworld.AUTO_MERGE) { - Plot.this.autoMerge(Direction.ALL, Integer.MAX_VALUE, uuid, true); + Plot.this.autoMerge(-1, Integer.MAX_VALUE, uuid, true); } }); return true; @@ -1575,8 +1555,8 @@ public class Plot { * @return the name of the biome */ public String getBiome() { - Location location = this.getCenter(); - return WorldUtil.IMP.getBiome(location.getWorld(), location.getX(), location.getZ()); + Location loc = this.getCenter(); + return WorldUtil.IMP.getBiome(loc.getWorld(), loc.getX(), loc.getZ()); } //TODO Better documentation needed. @@ -1596,9 +1576,9 @@ public class Plot { * Returns the bottom location for the plot. */ public Location getBottomAbs() { - Location location = getManager().getPlotBottomLocAbs(this.id); - location.setWorld(getWorldName()); - return location; + Location loc = getManager().getPlotBottomLocAbs(this.id); + loc.setWorld(getWorldName()); + return loc; } /** @@ -1647,7 +1627,7 @@ public class Plot { /** * Moves the settings for a plot. * - * @param plot the plot to move + * @param plot the plot to move * @param whenDone * @return */ @@ -2029,11 +2009,17 @@ public class Plot { * Sets the raw merge data
* - Updates DB
* - Does not modify terrain
+ * ----------
+ * 0 = north
+ * 1 = east
+ * 2 = south
+ * 3 = west
+ * ----------
* * @param direction * @param value */ - public void setMerged(Direction direction, boolean value) { + public void setMerged(int direction, boolean value) { if (this.getSettings().setMerged(direction, value)) { if (value) { Plot other = this.getRelative(direction).getBasePlot(false); @@ -2138,12 +2124,11 @@ public class Plot { return null; } try { - final Location location = this.getManager().getSignLoc(this); + final Location loc = this.getManager().getSignLoc(this); String[] lines = TaskManager.IMP.sync(new RunnableVal() { @Override public void run(String[] value) { - ChunkManager.manager - .loadChunk(location.getWorld(), location.getChunkLoc(), false); - this.value = WorldUtil.IMP.getSign(location); + ChunkManager.manager.loadChunk(loc.getWorld(), loc.getChunkLoc(), false); + this.value = WorldUtil.IMP.getSign(loc); } }); if (lines == null) { @@ -2213,21 +2198,24 @@ public class Plot { } /** - * Auto merge a plot in a specific direction. + * Auto merge a plot in a specific direction
* - * @param dir the direction to merge - * @param max the max number of merges to do - * @param uuid the UUID it is allowed to merge with - * @param removeRoads whether to remove roads + * @param dir The direction to merge
+ * -1 = All directions
+ * 0 = north
+ * 1 = east
+ * 2 = south
+ * 3 = west
+ * @param max The max number of merges to do + * @param uuid The UUID it is allowed to merge with + * @param removeRoads Whether to remove roads * @return true if a merge takes place */ - public boolean autoMerge(Direction dir, int max, UUID uuid, boolean removeRoads) { - //Ignore merging if there is no owner for the plot + public boolean autoMerge(int dir, int max, UUID uuid, boolean removeRoads) { if (this.owner == null) { return false; } - //Call the merge event - if (!EventUtil.manager.callMerge(this, dir.getIndex(), max)) { + if (!EventUtil.manager.callMerge(this, dir, max)) { return false; } Set connected = this.getConnectedPlots(); @@ -2243,7 +2231,7 @@ public class Plot { } visited.add(current); Set plots; - if ((dir == Direction.ALL || dir == Direction.NORTH) && !getMerged(Direction.NORTH)) { + if ((dir == -1 || dir == 0) && !getMerged(Direction.NORTH)) { Plot other = current.getRelative(Direction.NORTH); if (other != null && other.isOwner(uuid) && ( other.getBasePlot(false).equals(current.getBasePlot(false)) @@ -2262,8 +2250,7 @@ public class Plot { } } } - if (max >= 0 && (dir == Direction.ALL || dir == Direction.EAST) && !current - .getMerged(Direction.EAST)) { + if (max >= 0 && (dir == -1 || dir == 1) && !current.getMerged(Direction.EAST)) { Plot other = current.getRelative(Direction.EAST); if (other != null && other.isOwner(uuid) && ( other.getBasePlot(false).equals(current.getBasePlot(false)) @@ -2282,8 +2269,7 @@ public class Plot { } } } - if (max >= 0 && (dir == Direction.ALL || dir == Direction.SOUTH) && !getMerged( - Direction.SOUTH)) { + if (max >= 0 && (dir == -1 || dir == 2) && !getMerged(Direction.SOUTH)) { Plot other = current.getRelative(Direction.SOUTH); if (other != null && other.isOwner(uuid) && ( other.getBasePlot(false).equals(current.getBasePlot(false)) @@ -2302,8 +2288,7 @@ public class Plot { } } } - if (max >= 0 && (dir == Direction.ALL || dir == Direction.WEST) && !getMerged( - Direction.WEST)) { + if (max >= 0 && (dir == -1 || dir == 3) && !getMerged(Direction.WEST)) { Plot other = current.getRelative(Direction.WEST); if (other != null && other.isOwner(uuid) && ( other.getBasePlot(false).equals(current.getBasePlot(false)) @@ -2418,16 +2403,20 @@ public class Plot { * @param direction * @return */ - @Deprecated public Plot getRelative(int direction) { + public Plot getRelative(int direction) { return this.area.getPlotAbs(this.id.getRelative(direction)); } /** - * Gets the plot in a relative direction + * Gets the plot in a relative direction
+ * 0 = north
+ * 1 = east
+ * 2 = south
+ * 3 = west
* Note: May be null if the partial plot area does not include the relative location * * @param direction - * @return the plot relative to this one + * @return */ public Plot getRelative(Direction direction) { return this.area.getPlotAbs(this.id.getRelative(direction)); @@ -2437,7 +2426,7 @@ public class Plot { * Gets a set of plots connected (and including) this plot
* - This result is cached globally * - * @return a Set of Plots connected to this Plot + * @return */ public Set getConnectedPlots() { if (this.settings == null) { @@ -2462,10 +2451,10 @@ public class Plot { // invalid merge PlotSquared.debug("Fixing invalid merge: " + this); if (tmp.isOwnerAbs(this.owner)) { - tmp.getSettings().setMerged(Direction.SOUTH, true); + tmp.getSettings().setMerged(2, true); DBFunc.setMerged(tmp, tmp.getSettings().getMerged()); } else { - this.getSettings().setMerged(Direction.NORTH, false); + this.getSettings().setMerged(0, false); DBFunc.setMerged(this, this.getSettings().getMerged()); } } @@ -2478,10 +2467,10 @@ public class Plot { // invalid merge PlotSquared.debug("Fixing invalid merge: " + this); if (tmp.isOwnerAbs(this.owner)) { - tmp.getSettings().setMerged(Direction.WEST, true); + tmp.getSettings().setMerged(3, true); DBFunc.setMerged(tmp, tmp.getSettings().getMerged()); } else { - this.getSettings().setMerged(Direction.EAST, false); + this.getSettings().setMerged(1, false); DBFunc.setMerged(this, this.getSettings().getMerged()); } } @@ -2494,10 +2483,10 @@ public class Plot { // invalid merge PlotSquared.debug("Fixing invalid merge: " + this); if (tmp.isOwnerAbs(this.owner)) { - tmp.getSettings().setMerged(Direction.NORTH, true); + tmp.getSettings().setMerged(0, true); DBFunc.setMerged(tmp, tmp.getSettings().getMerged()); } else { - this.getSettings().setMerged(Direction.SOUTH, false); + this.getSettings().setMerged(2, false); DBFunc.setMerged(this, this.getSettings().getMerged()); } } @@ -2510,10 +2499,10 @@ public class Plot { // invalid merge PlotSquared.debug("Fixing invalid merge: " + this); if (tmp.isOwnerAbs(this.owner)) { - tmp.getSettings().setMerged(Direction.EAST, true); + tmp.getSettings().setMerged(1, true); DBFunc.setMerged(tmp, tmp.getSettings().getMerged()); } else { - this.getSettings().setMerged(Direction.WEST, false); + this.getSettings().setMerged(3, false); DBFunc.setMerged(this, this.getSettings().getMerged()); } } @@ -2571,7 +2560,7 @@ public class Plot { * * @return */ - @NotNull public HashSet getRegions() { + @Nonnull public HashSet getRegions() { if (regions_cache != null && connected_cache != null && connected_cache.contains(this)) { return regions_cache; } @@ -2798,11 +2787,6 @@ public class Plot { return false; } - /** - * Checks if the owner of this Plot is online. - * - * @return true if the owner of the Plot is online - */ public boolean isOnline() { if (this.owner == null) { return false; @@ -2857,14 +2841,13 @@ public class Plot { } /** - * Merges two plots.
- Assumes plots are directly next to each other
- saves to DB + * Merges 2 plots Removes the road in-between
- Assumes plots are directly next to each other
- saves to DB * * @param lesserPlot * @param removeRoads */ public void mergePlot(Plot lesserPlot, boolean removeRoads) { Plot greaterPlot = this; - lesserPlot.removeSign(); if (lesserPlot.getId().x == greaterPlot.getId().x) { if (lesserPlot.getId().y > greaterPlot.getId().y) { Plot tmp = lesserPlot; @@ -2874,11 +2857,10 @@ public class Plot { if (!lesserPlot.getMerged(Direction.SOUTH)) { lesserPlot.clearRatings(); greaterPlot.clearRatings(); - lesserPlot.setMerged(Direction.SOUTH, true); - greaterPlot.setMerged(Direction.NORTH, true); + lesserPlot.setMerged(2, true); + greaterPlot.setMerged(0, true); lesserPlot.mergeData(greaterPlot); if (removeRoads) { - //lesserPlot.removeSign(); lesserPlot.removeRoadSouth(); Plot diagonal = greaterPlot.getRelative(Direction.EAST); if (diagonal.getMerged(Direction.NORTHWEST)) { @@ -2899,11 +2881,10 @@ public class Plot { if (!lesserPlot.getMerged(Direction.EAST)) { lesserPlot.clearRatings(); greaterPlot.clearRatings(); - lesserPlot.setMerged(Direction.EAST, true); - greaterPlot.setMerged(Direction.WEST, true); + lesserPlot.setMerged(1, true); + greaterPlot.setMerged(3, true); lesserPlot.mergeData(greaterPlot); if (removeRoads) { - //lesserPlot.removeSign(); Plot diagonal = greaterPlot.getRelative(Direction.SOUTH); if (diagonal.getMerged(Direction.NORTHWEST)) { lesserPlot.removeRoadSouthEast(); @@ -2916,7 +2897,6 @@ public class Plot { } } } - } /** @@ -3099,23 +3079,23 @@ public class Plot { return getFlags().containsKey(flag); } - public boolean removeComment(PlotComment comment) { + @SuppressWarnings("deprecation") public boolean removeComment(PlotComment comment) { return getSettings().removeComment(comment); } - public void removeComments(List comments) { + @SuppressWarnings("deprecation") public void removeComments(List comments) { getSettings().removeComments(comments); } - public List getComments(String inbox) { + @SuppressWarnings("deprecation") public List getComments(String inbox) { return getSettings().getComments(inbox); } - public void addComment(PlotComment comment) { + @SuppressWarnings("deprecation") public void addComment(PlotComment comment) { getSettings().addComment(comment); } - public void setComments(List list) { + @SuppressWarnings("deprecation") public void setComments(List list) { getSettings().setComments(list); } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java index ff6668ea4..3ed1e2c95 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotArea.java @@ -22,8 +22,9 @@ import com.github.intellectualsites.plotsquared.plot.util.block.LocalBlockQueue; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.util.*; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; @@ -36,12 +37,12 @@ public abstract class PlotArea { public final String worldname; public final String id; - @NotNull public final PlotManager manager; + public final PlotManager manager; public final int worldhash; protected final ConcurrentHashMap plots = new ConcurrentHashMap<>(); private final PlotId min; private final PlotId max; - @NotNull private final IndependentPlotGenerator generator; + private final IndependentPlotGenerator generator; private final BlockBucket[][] blockBucketChunk; public int MAX_PLOT_MEMBERS = 128; public boolean AUTO_MERGE = false; @@ -75,7 +76,7 @@ public abstract class PlotArea { private ConcurrentHashMap meta; private QuadMap clusters; - public PlotArea(@NotNull final String worldName, @Nullable final String id, + public PlotArea(@Nonnull final String worldName, @Nullable final String id, @NotNull IndependentPlotGenerator generator, @Nullable final PlotId min, @Nullable final PlotId max) { this.worldname = worldName; @@ -101,7 +102,7 @@ public abstract class PlotArea { } } - @NotNull protected abstract PlotManager createManager(); + protected abstract PlotManager createManager(); public LocalBlockQueue getQueue(final boolean autoQueue) { return GlobalBlockQueue.IMP.getNewQueue(worldname, autoQueue); @@ -116,7 +117,10 @@ public abstract class PlotArea { if (blockBucketChunk != null) { return blockBucketChunk; } - return generator.generateBlockBucketChunk(this); + if (generator != null) { + return generator.generateBlockBucketChunk(this); + } + return null; } /** @@ -174,7 +178,7 @@ public abstract class PlotArea { * * @return the {@link IndependentPlotGenerator} */ - @NotNull public IndependentPlotGenerator getGenerator() { + public IndependentPlotGenerator getGenerator() { return this.generator; } @@ -390,7 +394,7 @@ public abstract class PlotArea { } } - @NotNull @Override public String toString() { + @Nonnull @Override public String toString() { if (this.id == null) { return this.worldname; } else { @@ -418,7 +422,7 @@ public abstract class PlotArea { * @param location the location * @return the {@code Plot} or null if none exists */ - @Nullable public Plot getPlotAbs(@NotNull final Location location) { + @Nullable public Plot getPlotAbs(@Nonnull final Location location) { final PlotId pid = this.manager.getPlotId(location.getX(), location.getY(), location.getZ()); if (pid == null) { @@ -433,7 +437,7 @@ public abstract class PlotArea { * @param location the location * @return base Plot */ - @Nullable public Plot getPlot(@NotNull final Location location) { + @Nullable public Plot getPlot(@Nonnull final Location location) { final PlotId pid = this.manager.getPlotId(location.getX(), location.getY(), location.getZ()); if (pid == null) { @@ -448,7 +452,7 @@ public abstract class PlotArea { * @param location the location * @return the base plot or null */ - @Nullable public Plot getOwnedPlot(@NotNull final Location location) { + @Nullable public Plot getOwnedPlot(@Nonnull final Location location) { final PlotId pid = this.manager.getPlotId(location.getX(), location.getY(), location.getZ()); if (pid == null) { @@ -464,7 +468,7 @@ public abstract class PlotArea { * @param location the location * @return Plot or null */ - @Nullable public Plot getOwnedPlotAbs(@NotNull final Location location) { + @Nullable public Plot getOwnedPlotAbs(@Nonnull final Location location) { final PlotId pid = this.manager.getPlotId(location.getX(), location.getY(), location.getZ()); if (pid == null) { @@ -479,11 +483,11 @@ public abstract class PlotArea { * @param id the {@code PlotId} * @return the plot or null */ - @Nullable public Plot getOwnedPlotAbs(@NotNull final PlotId id) { + @Nullable public Plot getOwnedPlotAbs(@Nonnull final PlotId id) { return this.plots.get(id); } - @Nullable public Plot getOwnedPlot(@NotNull final PlotId id) { + @Nullable public Plot getOwnedPlot(@Nonnull final PlotId id) { Plot plot = this.plots.get(id); return plot == null ? null : plot.getBasePlot(false); } @@ -492,17 +496,17 @@ public abstract class PlotArea { return this.TYPE != 2 || getRegionAbs().isIn(x, z); } - public boolean contains(@NotNull final PlotId id) { + public boolean contains(@Nonnull final PlotId id) { return this.min == null || (id.x >= this.min.x && id.x <= this.max.x && id.y >= this.min.y && id.y <= this.max.y); } - public boolean contains(@NotNull final Location location) { + public boolean contains(@Nonnull final Location location) { return StringMan.isEqual(location.getWorld(), this.worldname) && (getRegionAbs() == null || this.region.isIn(location.getX(), location.getZ())); } - @NotNull Set getPlotsAbs(final UUID uuid) { + @Nonnull Set getPlotsAbs(final UUID uuid) { if (uuid == null) { return Collections.emptySet(); } @@ -515,7 +519,7 @@ public abstract class PlotArea { return myPlots; } - @NotNull public Set getPlots(@NotNull final UUID uuid) { + @Nonnull public Set getPlots(@Nonnull final UUID uuid) { return getPlots().stream().filter(plot -> plot.isBasePlot() && plot.isOwner(uuid)) .collect(ImmutableSet.toImmutableSet()); } @@ -529,7 +533,7 @@ public abstract class PlotArea { return this.plots.values(); } - public int getPlotCount(@NotNull final UUID uuid) { + public int getPlotCount(@Nonnull final UUID uuid) { if (!Settings.Done.COUNTS_TOWARDS_LIMIT) { return (int) getPlotsAbs(uuid).stream().filter(plot -> !plot.hasFlag(Flags.DONE)) .count(); @@ -542,11 +546,11 @@ public abstract class PlotArea { * * @deprecated Use {@link #getPlots(UUID)} */ - @Deprecated public Set getPlots(@NotNull final PlotPlayer player) { + @Deprecated public Set getPlots(@Nonnull final PlotPlayer player) { return getPlots(player.getUUID()); } - public boolean hasPlot(@NotNull final UUID uuid) { + public boolean hasPlot(@Nonnull final UUID uuid) { return this.plots.entrySet().stream().anyMatch(entry -> entry.getValue().isOwner(uuid)); } @@ -555,7 +559,7 @@ public abstract class PlotArea { return player != null ? getPlotCount(player.getUUID()) : 0; } - @Nullable public Plot getPlotAbs(@NotNull final PlotId id) { + @Nullable public Plot getPlotAbs(@Nonnull final PlotId id) { Plot plot = getOwnedPlotAbs(id); if (plot == null) { if (this.min != null && (id.x < this.min.x || id.x > this.max.x || id.y < this.min.y @@ -567,7 +571,7 @@ public abstract class PlotArea { return plot; } - @Nullable public Plot getPlot(@NotNull final PlotId id) { + @Nullable public Plot getPlot(@Nonnull final PlotId id) { final Plot plot = getOwnedPlotAbs(id); if (plot == null) { if (this.min != null && (id.x < this.min.x || id.x > this.max.x || id.y < this.min.y @@ -588,7 +592,7 @@ public abstract class PlotArea { return this.plots.size(); } - @Nullable public PlotCluster getCluster(@NotNull final Location location) { + @Nullable public PlotCluster getCluster(@Nonnull final Location location) { final Plot plot = getPlot(location); if (plot == null) { return null; @@ -596,8 +600,8 @@ public abstract class PlotArea { return this.clusters != null ? this.clusters.get(plot.getId().x, plot.getId().y) : null; } - @Nullable public PlotCluster getFirstIntersectingCluster(@NotNull final PlotId pos1, - @NotNull final PlotId pos2) { + @Nullable public PlotCluster getFirstIntersectingCluster(@Nonnull final PlotId pos1, + @Nonnull final PlotId pos2) { if (this.clusters == null) { return null; } @@ -609,11 +613,11 @@ public abstract class PlotArea { return null; } - @Nullable PlotCluster getCluster(@NotNull final PlotId id) { + @Nullable PlotCluster getCluster(@Nonnull final PlotId id) { return this.clusters != null ? this.clusters.get(id.x, id.y) : null; } - @NotNull public PlotManager getPlotManager() { + public PlotManager getPlotManager() { return this.manager; } @@ -624,14 +628,14 @@ public abstract class PlotArea { * * @see FlagManager */ - public void setMeta(@NotNull final String key, @Nullable final Object value) { + public void setMeta(@Nonnull final String key, @Nullable final Object value) { if (this.meta == null) { this.meta = new ConcurrentHashMap<>(); } this.meta.put(key, value); } - @NotNull public T getMeta(@Nullable final String key, @NotNull final T def) { + @Nullable public T getMeta(@Nullable final String key, @Nullable final T def) { final Object v = getMeta(key); return v == null ? def : (T) v; } @@ -641,14 +645,14 @@ public abstract class PlotArea { *
* For persistent metadata use the flag system */ - @Nullable public Object getMeta(@NotNull final String key) { + @Nullable public Object getMeta(@Nonnull final String key) { if (this.meta != null) { return this.meta.get(key); } return null; } - @SuppressWarnings("unused") @NotNull public Set getBasePlots() { + @SuppressWarnings("unused") @Nonnull public Set getBasePlots() { final HashSet myPlots = new HashSet<>(getPlots()); myPlots.removeIf(plot -> !plot.isBasePlot()); return myPlots; @@ -681,15 +685,15 @@ public abstract class PlotArea { * @deprecated Use {@link #getPlotsMap()} */ //todo eventually remove - @Deprecated @NotNull public Map getPlotsRaw() { + @Deprecated @Nonnull public Map getPlotsRaw() { return ImmutableMap.copyOf(plots); } - @NotNull public Set> getPlotEntries() { + @Nonnull public Set> getPlotEntries() { return this.plots.entrySet(); } - public boolean addPlot(@NotNull final Plot plot) { + public boolean addPlot(@Nonnull final Plot plot) { for (PlotPlayer pp : plot.getPlayersInPlot()) { pp.setMeta(PlotPlayer.META_LAST_PLOT, plot); } @@ -727,7 +731,7 @@ public abstract class PlotArea { return null; } - public boolean addPlotIfAbsent(@NotNull final Plot plot) { + public boolean addPlotIfAbsent(@Nonnull final Plot plot) { if (this.plots.putIfAbsent(plot.getId(), plot) == null) { for (PlotPlayer pp : plot.getPlayersInPlot()) { pp.setMeta(PlotPlayer.META_LAST_PLOT, plot); @@ -737,7 +741,7 @@ public abstract class PlotArea { return false; } - public boolean addPlotAbs(@NotNull final Plot plot) { + public boolean addPlotAbs(@Nonnull final Plot plot) { return this.plots.put(plot.getId(), plot) == null; } @@ -782,14 +786,14 @@ public abstract class PlotArea { * * @param key Meta data key */ - public void deleteMeta(@NotNull final String key) { + public void deleteMeta(@Nonnull final String key) { if (this.meta != null) { this.meta.remove(key); } } - public boolean canClaim(@Nullable final PlotPlayer player, @NotNull final PlotId pos1, - @NotNull final PlotId pos2) { + public boolean canClaim(@Nullable final PlotPlayer player, @Nonnull final PlotId pos1, + @Nonnull final PlotId pos2) { if (pos1.x == pos2.x && pos1.y == pos2.y) { if (getOwnedPlot(pos1) != null) { return false; @@ -815,11 +819,11 @@ public abstract class PlotArea { return true; } - public boolean removePlot(@NotNull final PlotId id) { + public boolean removePlot(@Nonnull final PlotId id) { return this.plots.remove(id) != null; } - public boolean mergePlots(@NotNull final List plotIds, final boolean removeRoads) { + public boolean mergePlots(@Nonnull final List plotIds, final boolean removeRoads) { if (plotIds.size() < 2) { return false; } @@ -897,7 +901,7 @@ public abstract class PlotArea { * @param pos2 second corner of selection * @return the plots in the selection which are owned */ - public Set getPlotSelectionOwned(@NotNull final PlotId pos1, @NotNull final PlotId pos2) { + public Set getPlotSelectionOwned(@Nonnull final PlotId pos1, @Nonnull final PlotId pos2) { final int size = (1 + pos2.x - pos1.x) * (1 + pos2.y - pos1.y); final Set result = new HashSet<>(); if (size < 16 || size < getPlotCount()) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java index feaf64ddb..0b9427839 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotCluster.java @@ -132,8 +132,8 @@ public class PlotCluster { toReturn = center.getHome(); if (toReturn.getY() == 0) { PlotManager manager = this.area.getPlotManager(); - Location location = manager.getSignLoc(center); - toReturn.setY(location.getY()); + Location loc = manager.getSignLoc(center); + toReturn.setY(loc.getY()); } } else { toReturn = getClusterBottom().add(home.x, home.y, home.z); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotId.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotId.java index 21e7dc777..10b9e4c71 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotId.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotId.java @@ -1,7 +1,7 @@ package com.github.intellectualsites.plotsquared.plot.object; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; public class PlotId { /** @@ -32,14 +32,14 @@ public class PlotId { * @return the PlotId representation of the arguement * @throws IllegalArgumentException if the string does not contain a valid PlotId */ - @NotNull public static PlotId fromString(@NotNull String string) { + @Nonnull public static PlotId fromString(@Nonnull String string) { PlotId plot = fromStringOrNull(string); if (plot == null) throw new IllegalArgumentException("Cannot create PlotID. String invalid."); return plot; } - @Nullable public static PlotId fromStringOrNull(@NotNull String string) { + @Nullable public static PlotId fromStringOrNull(@Nonnull String string) { String[] parts = string.split("[;|,]"); if (parts.length < 2) { return null; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotManager.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotManager.java index 0b39b2b7d..74f0eddb7 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotManager.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotManager.java @@ -39,12 +39,6 @@ public abstract class PlotManager { public abstract boolean unClaimPlot(Plot plot, Runnable whenDone); - /** - * Retrieves the location of where a sign should be for a plot. - * - * @param plot The plot - * @return The location where a sign should be - */ public abstract Location getSignLoc(Plot plot); /* @@ -53,7 +47,8 @@ public abstract class PlotManager { */ public abstract String[] getPlotComponents(PlotId plotId); - public abstract boolean setComponent(PlotId plotId, String component, BlockBucket blocks); + public abstract boolean setComponent(PlotId plotId, String component, + BlockBucket blocks); /* * PLOT MERGING (return false if your generator does not support plot diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java index f8e21255b..8981b2923 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotPlayer.java @@ -14,8 +14,8 @@ import com.github.intellectualsites.plotsquared.plot.util.*; import com.github.intellectualsites.plotsquared.plot.util.expiry.ExpireManager; import com.google.common.base.Preconditions; import lombok.NonNull; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.nio.ByteBuffer; import java.util.HashMap; import java.util.HashSet; @@ -306,7 +306,7 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { * * @return The location */ - @NotNull public Location getLocation() { + public Location getLocation() { Location location = getMeta("location"); if (location != null) { return location; @@ -335,14 +335,14 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { * * @return UUID */ - @Override @NotNull public abstract UUID getUUID(); + @Override @Nonnull public abstract UUID getUUID(); - public boolean canTeleport(@NotNull final Location location) { - Preconditions.checkNotNull(location, "Specified location cannot be null"); + public boolean canTeleport(@Nonnull final Location loc) { + Preconditions.checkNotNull(loc, "Specified location cannot be null"); final Location current = getLocationFull(); - teleport(location); + teleport(loc); boolean result = true; - if (!getLocation().equals(location)) { + if (!getLocation().equals(loc)) { result = false; } teleport(current); @@ -421,21 +421,21 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { * * @param weather the weather visible to the player */ - public abstract void setWeather(@NotNull PlotWeather weather); + public abstract void setWeather(@Nonnull PlotWeather weather); /** * Get this player's gamemode. * * @return the gamemode of the player. */ - @NotNull public abstract PlotGameMode getGameMode(); + @Nonnull public abstract PlotGameMode getGameMode(); /** * Set this player's gameMode. * * @param gameMode the gamemode to set */ - public abstract void setGameMode(@NotNull PlotGameMode gameMode); + public abstract void setGameMode(@Nonnull PlotGameMode gameMode); /** * Set this player's local time (ticks). @@ -464,7 +464,7 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { * @param location where to play the music * @param id the record item id */ - public abstract void playMusic(@NotNull Location location, @NotNull PlotBlock id); + public abstract void playMusic(@Nonnull Location location, @Nonnull PlotBlock id); /** * Check if this player is banned. @@ -493,10 +493,10 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { ByteBuffer buffer = ByteBuffer.allocate(13); buffer.putShort((short) x); buffer.putShort((short) z); - Location location = getLocation(); - buffer.putInt(location.getX()); - buffer.put((byte) location.getY()); - buffer.putInt(location.getZ()); + Location loc = getLocation(); + buffer.putInt(loc.getX()); + buffer.put((byte) loc.getY()); + buffer.putInt(loc.getZ()); setPersistentMeta("quitLoc", buffer.array()); } else if (hasPersistentMeta("quitLoc")) { removePersistentMeta("quitLoc"); @@ -596,11 +596,11 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { return; } - final Location location = new Location(plot.getWorldName(), x, y, z); + final Location loc = new Location(plot.getWorldName(), x, y, z); if (plot.isLoaded()) { TaskManager.runTask(() -> { if (getMeta("teleportOnLogin", true)) { - teleport(location); + teleport(loc); sendMessage( Captions.TELEPORTED_TO_PLOT.f() + " (quitLoc) (" + plotX + "," + plotZ + ")"); @@ -612,7 +612,7 @@ public abstract class PlotPlayer implements CommandCaller, OfflinePlotPlayer { TaskManager.runTask(() -> { if (getMeta("teleportOnLogin", true)) { if (plot.isLoaded()) { - teleport(location); + teleport(loc); sendMessage(Captions.TELEPORTED_TO_PLOT.f() + " (quitLoc-unloaded) (" + plotX + "," + plotZ + ")"); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotSettings.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotSettings.java index ce51fea33..829e42dbd 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotSettings.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/PlotSettings.java @@ -5,12 +5,7 @@ import com.github.intellectualsites.plotsquared.plot.flag.Flags; import com.github.intellectualsites.plotsquared.plot.object.comment.PlotComment; import com.google.common.collect.ImmutableList; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; /** * Generic settings class. @@ -85,17 +80,6 @@ public class PlotSettings { return false; } - public boolean setMerged(Direction direction, boolean merged) { - if (Direction.ALL == direction) { - throw new IllegalArgumentException("You cannot use Direction.ALL in this method!"); - } - if (this.merged[direction.getIndex()] != merged) { - this.merged[direction.getIndex()] = merged; - return true; - } - return false; - } - public BlockLoc getPosition() { if (this.position == null) { return new BlockLoc(0, 0, 0); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/schematic/Schematic.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/schematic/Schematic.java index e2c222df5..b67b16b58 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/schematic/Schematic.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/schematic/Schematic.java @@ -30,8 +30,8 @@ public class Schematic { public boolean setBlock(BlockVector3 position, BaseBlock block) throws WorldEditException { if (clipboard.getRegion().contains(position)) { - BlockVector3 vector3 = position.subtract(clipboard.getRegion().getMinimumPoint()); - clipboard.setBlock(vector3, block); + BlockVector3 v = position.subtract(clipboard.getRegion().getMinimumPoint()); + clipboard.setBlock(v, block); return true; } else { return false; @@ -39,9 +39,9 @@ public class Schematic { } public void save(File file) throws IOException { - try (SpongeSchematicWriter schematicWriter = new SpongeSchematicWriter( + try (SpongeSchematicWriter ssw = new SpongeSchematicWriter( new NBTOutputStream(new FileOutputStream(file)))) { - schematicWriter.write(clipboard); + ssw.write(clipboard); } } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlot.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlot.java index 8c80e46a7..36d23c8f6 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlot.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlot.java @@ -4,8 +4,8 @@ import com.github.intellectualsites.plotsquared.plot.config.Captions; import com.github.intellectualsites.plotsquared.plot.flag.Flag; import com.github.intellectualsites.plotsquared.plot.object.*; import com.google.common.collect.Sets; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.util.Collection; import java.util.HashSet; import java.util.UUID; @@ -60,7 +60,7 @@ public class SinglePlot extends Plot { return super.isLoaded(); } - @NotNull @Override public HashSet getRegions() { + @Nonnull @Override public HashSet getRegions() { return regions; } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlotArea.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlotArea.java index 8f8ac96b1..41801c087 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlotArea.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/object/worlds/SinglePlotArea.java @@ -9,9 +9,9 @@ import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.util.SetupUtils; import com.github.intellectualsites.plotsquared.plot.util.TaskManager; import com.github.intellectualsites.plotsquared.plot.util.WorldUtil; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -26,7 +26,7 @@ public class SinglePlotArea extends GridPlotWorld { this.DEFAULT_HOME = new PlotLoc(Integer.MAX_VALUE, Integer.MAX_VALUE); } - @NotNull @Override + @Override protected PlotManager createManager() { return new SinglePlotManager(this); } @@ -76,8 +76,8 @@ public class SinglePlotArea extends GridPlotWorld { new File(dataDest, file.getName()).toPath()); } } - } catch (IOException exception) { - exception.printStackTrace(); + } catch (IOException ignore) { + ignore.printStackTrace(); } } } @@ -113,38 +113,38 @@ public class SinglePlotArea extends GridPlotWorld { new ConfigurationNode("void", this.VOID, "Void world", Configuration.BOOLEAN)}; } - @Nullable @Override public Plot getOwnedPlot(@NotNull final Location location) { + @Nullable @Override public Plot getOwnedPlot(@Nonnull final Location location) { PlotId pid = PlotId.fromStringOrNull(location.getWorld()); Plot plot = pid == null ? null : this.plots.get(pid); return plot == null ? null : plot.getBasePlot(false); } - @Nullable @Override public Plot getOwnedPlotAbs(@NotNull Location location) { + @Nullable @Override public Plot getOwnedPlotAbs(@Nonnull Location location) { PlotId pid = PlotId.fromStringOrNull(location.getWorld()); return pid == null ? null : plots.get(pid); } - @Nullable @Override public Plot getPlot(@NotNull final Location location) { + @Nullable @Override public Plot getPlot(@Nonnull final Location location) { PlotId pid = PlotId.fromStringOrNull(location.getWorld()); return pid == null ? null : getPlot(pid); } - @Nullable @Override public Plot getPlotAbs(@NotNull final Location location) { + @Nullable @Override public Plot getPlotAbs(@Nonnull final Location location) { final PlotId pid = PlotId.fromStringOrNull(location.getWorld()); return pid == null ? null : getPlotAbs(pid); } - public boolean addPlot(@NotNull Plot plot) { + public boolean addPlot(@Nonnull Plot plot) { plot = adapt(plot); return super.addPlot(plot); } - @Override public boolean addPlotAbs(@NotNull Plot plot) { + @Override public boolean addPlotAbs(@Nonnull Plot plot) { plot = adapt(plot); return super.addPlotAbs(plot); } - @Override public boolean addPlotIfAbsent(@NotNull Plot plot) { + @Override public boolean addPlotIfAbsent(@Nonnull Plot plot) { plot = adapt(plot); return super.addPlotIfAbsent(plot); } @@ -160,7 +160,7 @@ public class SinglePlotArea extends GridPlotWorld { return p; } - @Nullable public Plot getPlotAbs(@NotNull final PlotId id) { + @Nullable public Plot getPlotAbs(@Nonnull final PlotId id) { Plot plot = getOwnedPlotAbs(id); if (plot == null) { return new SinglePlot(this, id); @@ -168,7 +168,7 @@ public class SinglePlotArea extends GridPlotWorld { return plot; } - @Nullable public Plot getPlot(@NotNull PlotId id) { + @Nullable public Plot getPlot(@Nonnull PlotId id) { // TODO Plot plot = getOwnedPlotAbs(id); if (plot == null) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/EventUtil.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/EventUtil.java index b2b88d342..0a5b77515 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/EventUtil.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/EventUtil.java @@ -10,7 +10,7 @@ import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.object.worlds.SinglePlotArea; import com.github.intellectualsites.plotsquared.plot.util.expiry.ExpireManager; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.HashSet; import java.util.List; import java.util.Optional; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/HastebinUtility.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/HastebinUtility.java deleted file mode 100644 index 3b0563a3d..000000000 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/HastebinUtility.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.github.intellectualsites.plotsquared.plot.util; - -import java.io.BufferedReader; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class HastebinUtility { - - public static final String BIN_URL = "https://hastebin.com/documents", USER_AGENT = - "Mozilla/5.0"; - public static final Pattern PATTERN = Pattern.compile("\\{\"key\":\"([\\S\\s]*)\"\\}"); - - public static String upload(final String string) throws IOException { - final URL url = new URL(BIN_URL); - final HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - - connection.setRequestMethod("POST"); - connection.setRequestProperty("User-Agent", USER_AGENT); - connection.setDoOutput(true); - - try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) { - outputStream.write(string.getBytes()); - outputStream.flush(); - } - - StringBuilder response; - try (BufferedReader in = new BufferedReader( - new InputStreamReader(connection.getInputStream()))) { - response = new StringBuilder(); - - String inputLine; - while ((inputLine = in.readLine()) != null) { - response.append(inputLine); - } - } - - Matcher matcher = PATTERN.matcher(response.toString()); - if (matcher.matches()) { - return "https://hastebin.com/" + matcher.group(1); - } else { - throw new RuntimeException("Couldn't read response!"); - } - } - - public static String upload(final File file) throws IOException { - List lines = new ArrayList<>(); - try (BufferedReader reader = new BufferedReader(new FileReader(file))) { - String line; - int i = 0; - while ((line = reader.readLine()) != null) { - lines.add(line); - } - } - final StringBuilder content = new StringBuilder(); - for (int i = Math.max(0, lines.size() - 1000); i < lines.size(); i++) { - content.append(lines.get(i)).append("\n"); - } - return upload(content.toString()); - } - -} diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java index 1f42d6772..e45d70caf 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/MainUtil.java @@ -13,8 +13,8 @@ import com.github.intellectualsites.plotsquared.plot.flag.Flags; import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.object.stream.AbstractDelegateOutputStream; import com.github.intellectualsites.plotsquared.plot.util.expiry.ExpireManager; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; @@ -329,7 +329,7 @@ public class MainUtil { * @param owner * @return The player's name, None, Everyone or Unknown */ - @NotNull public static String getName(UUID owner) { + @Nonnull public static String getName(UUID owner) { if (owner == null) { return Captions.NONE.getTranslated(); } @@ -358,7 +358,7 @@ public class MainUtil { * @return * @see Plot#getCorners() */ - @NotNull public static Location[] getCorners(String world, Collection regions) { + @Nonnull public static Location[] getCorners(String world, Collection regions) { Location min = null; Location max = null; for (RegionWrapper region : regions) { @@ -560,11 +560,11 @@ public class MainUtil { * Send a message to the player. * * @param player Player to receive message - * @param message Message to send + * @param msg Message to send * @return true Can be used in things such as commands (return PlayerFunctions.sendMessage(...)) */ - public static boolean sendMessage(PlotPlayer player, String message) { - return sendMessage(player, message, true); + public static boolean sendMessage(PlotPlayer player, String msg) { + return sendMessage(player, msg, true); } /** @@ -585,7 +585,7 @@ public class MainUtil { * @param prefix If the message should be prefixed with the configured prefix * @return */ - public static boolean sendMessage(CommandCaller player, @NotNull String msg, boolean prefix) { + public static boolean sendMessage(CommandCaller player, String msg, boolean prefix) { if (!msg.isEmpty()) { if (player == null) { String message = (prefix ? Captions.PREFIX.getTranslated() : "") + msg; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java index 9742ffb98..6ce59fe6c 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/SchematicHandler.java @@ -327,9 +327,9 @@ public abstract class SchematicHandler { public Schematic getSchematic(@NotNull URL url) { try { - ReadableByteChannel readableByteChannel = Channels.newChannel(url.openStream()); - InputStream inputStream = Channels.newInputStream(readableByteChannel); - return getSchematic(inputStream); + ReadableByteChannel rbc = Channels.newChannel(url.openStream()); + InputStream is = Channels.newInputStream(rbc); + return getSchematic(is); } catch (IOException e) { e.printStackTrace(); } @@ -338,15 +338,15 @@ public abstract class SchematicHandler { public Schematic getSchematic(@NotNull InputStream is) { try { - SpongeSchematicReader schematicReader = + SpongeSchematicReader ssr = new SpongeSchematicReader(new NBTInputStream(new GZIPInputStream(is))); - BlockArrayClipboard clip = (BlockArrayClipboard) schematicReader.read(); + BlockArrayClipboard clip = (BlockArrayClipboard) ssr.read(); return new Schematic(clip); } catch (IOException ignored) { try { - MCEditSchematicReader schematicReader = + MCEditSchematicReader msr = new MCEditSchematicReader(new NBTInputStream(new GZIPInputStream(is))); - BlockArrayClipboard clip = (BlockArrayClipboard) schematicReader.read(); + BlockArrayClipboard clip = (BlockArrayClipboard) msr.read(); return new Schematic(clip); } catch (IOException e) { e.printStackTrace(); diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java index 60a0d778b..315687463 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandler.java @@ -11,7 +11,7 @@ import com.github.intellectualsites.plotsquared.plot.uuid.UUIDWrapper; import com.google.common.collect.BiMap; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.HashMap; import java.util.HashSet; import java.util.Map; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandlerImplementation.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandlerImplementation.java index 17ab6b5ce..55ff35c95 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandlerImplementation.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/UUIDHandlerImplementation.java @@ -15,7 +15,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; import java.util.HashMap; import java.util.HashSet; import java.util.Map; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java index 7f44d2931..6993c3208 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/BasicLocalBlockQueue.java @@ -102,7 +102,8 @@ public abstract class BasicLocalBlockQueue extends LocalBlockQueue { lastWrappedChunk.setBlock(x & 15, y, z & 15, id); LocalChunk previous = this.blockChunks.put(pair, lastWrappedChunk); if (previous == null) { - return chunks.add(lastWrappedChunk); + chunks.add(lastWrappedChunk); + return true; } this.blockChunks.put(pair, previous); lastWrappedChunk = previous; diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/DelegateLocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/DelegateLocalBlockQueue.java index c5c17b4a4..0c797c706 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/DelegateLocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/DelegateLocalBlockQueue.java @@ -102,10 +102,9 @@ public class DelegateLocalBlockQueue extends LocalBlockQueue { } } - @Override public boolean enqueue() { + @Override public void enqueue() { if (parent != null) { - return parent.enqueue(); + parent.enqueue(); } - return false; } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/GlobalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/GlobalBlockQueue.java index 3373f8e57..6d75b6bfb 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/GlobalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/GlobalBlockQueue.java @@ -45,10 +45,10 @@ public class GlobalBlockQueue { public GlobalBlockQueue(QueueProvider provider, int threads) { this.provider = provider; - this.activeQueues = new ConcurrentLinkedDeque<>(); - this.inactiveQueues = new ConcurrentLinkedDeque<>(); - this.runnables = new ConcurrentLinkedDeque<>(); - this.running = new AtomicBoolean(); + activeQueues = new ConcurrentLinkedDeque<>(); + inactiveQueues = new ConcurrentLinkedDeque<>(); + runnables = new ConcurrentLinkedDeque<>(); + running = new AtomicBoolean(); this.PARALLEL_THREADS = threads; } @@ -151,20 +151,12 @@ public class GlobalBlockQueue { return false; } - /** - * TODO Documentation needed. - * - * @param queue todo - * @return true if added to queue, false otherwise - */ - public boolean enqueue(LocalBlockQueue queue) { - boolean success = false; - success = inactiveQueues.remove(queue); + public void enqueue(LocalBlockQueue queue) { + inactiveQueues.remove(queue); if (queue.size() > 0 && !activeQueues.contains(queue)) { queue.optimize(); - success = activeQueues.add(queue); + activeQueues.add(queue); } - return success; } public void dequeue(LocalBlockQueue queue) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/LocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/LocalBlockQueue.java index 04a9e2f0c..53196966e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/LocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/LocalBlockQueue.java @@ -16,12 +16,8 @@ import java.util.Map; public abstract class LocalBlockQueue { - /** - * Needed for compatibility with FAWE. - * - * @param world unused - */ - @Deprecated public LocalBlockQueue(String world) { + public LocalBlockQueue(String world) { + // Implement this elsewhere } public ScopedLocalBlockQueue getForChunk(int x, int z) { @@ -96,8 +92,8 @@ public abstract class LocalBlockQueue { } } - public boolean enqueue() { - return GlobalBlockQueue.IMP.enqueue(this); + public void enqueue() { + GlobalBlockQueue.IMP.enqueue(this); } public void setCuboid(Location pos1, Location pos2, PlotBlock block) { diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java index 7e41887ed..c9065f65e 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/util/block/ScopedLocalBlockQueue.java @@ -80,22 +80,22 @@ public class ScopedLocalBlockQueue extends DelegateLocalBlockQueue { int bx = minX; int bz = minZ; PlotArea area = PlotSquared.get().getPlotArea(getWorld(), null); - Location location = new Location(getWorld(), bx, 0, bz); + Location loc = new Location(getWorld(), bx, 0, bz); if (area != null) { PlotManager manager = area.getPlotManager(); for (int x = 0; x < 16; x++) { - location.setX(bx + x); + loc.setX(bx + x); for (int z = 0; z < 16; z++) { - location.setZ(bz + z); - task.run(area.getPlotAbs(location), x, z); + loc.setZ(bz + z); + task.run(area.getPlotAbs(loc), x, z); } } } else { for (int x = 0; x < 16; x++) { - location.setX(bx + x); + loc.setX(bx + x); for (int z = 0; z < 16; z++) { - location.setZ(bz + z); - task.run(location.getPlotAbs(), x, z); + loc.setZ(bz + z); + task.run(loc.getPlotAbs(), x, z); } } } diff --git a/Core/src/test/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDBTest.java b/Core/src/test/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDBTest.java index a2cc07d1b..1ef5c92ec 100644 --- a/Core/src/test/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDBTest.java +++ b/Core/src/test/java/com/github/intellectualsites/plotsquared/plot/database/AbstractDBTest.java @@ -1,19 +1,11 @@ package com.github.intellectualsites.plotsquared.plot.database; import com.github.intellectualsites.plotsquared.plot.flag.Flag; -import com.github.intellectualsites.plotsquared.plot.object.Plot; -import com.github.intellectualsites.plotsquared.plot.object.PlotArea; -import com.github.intellectualsites.plotsquared.plot.object.PlotCluster; -import com.github.intellectualsites.plotsquared.plot.object.PlotId; -import com.github.intellectualsites.plotsquared.plot.object.RunnableVal; +import com.github.intellectualsites.plotsquared.plot.object.*; import com.github.intellectualsites.plotsquared.plot.object.comment.PlotComment; -import org.jetbrains.annotations.NotNull; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; +import javax.annotation.Nonnull; +import java.util.*; public class AbstractDBTest implements AbstractDB { @@ -157,7 +149,7 @@ public class AbstractDBTest implements AbstractDB { @Override public void setComment(Plot plot, PlotComment comment) { } - @Override public void getComments(@NotNull Plot plot, String inbox, + @Override public void getComments(@Nonnull Plot plot, String inbox, RunnableVal> whenDone) { } diff --git a/Nukkit/src/main/resources/plugin.yml b/Nukkit/src/main/resources/plugin.yml index d17737c50..a25e26cf9 100644 --- a/Nukkit/src/main/resources/plugin.yml +++ b/Nukkit/src/main/resources/plugin.yml @@ -119,7 +119,6 @@ permissions: plots.toggle: true plots.toggle.titles: true plots.toggle.chat: true - plots.toggle.time: true plots.set.biome: true plots.set.home: true plots.set.alias: true diff --git a/README.md b/README.md index 85ceaea93..5ff94de6d 100644 --- a/README.md +++ b/README.md @@ -65,3 +65,9 @@ Suggestions are welcome! We have a separate issue tracker for suggestions, that * [PlotSquaredMG](https://www.spigotmc.org/resources/plotsquaredmg.8025/) * [BasicPlots](https://www.spigotmc.org/resources/basicplots.6901/) * [HoloPlots](https://www.spigotmc.org/resources/holoplots.4880/) + +# Sponsors +

+

+

+

diff --git a/build.gradle b/build.gradle index 64a344f80..f2afef586 100644 --- a/build.gradle +++ b/build.gradle @@ -32,11 +32,11 @@ ext { git = Grgit.open(dir: new File(rootDir.toString() + "/.git")) date = git.head().getDate().format("yy.MM.dd") revision = "-${git.head().abbreviatedId}" - parents = git.head().parentIds; + parents = git.head().parentIds if (project.hasProperty("buildnumber")) { buildNumber = "$buildnumber" } else { - index = -2042; // Offset to match CI + index = -2042 // Offset to match CI for (; parents != null && !parents.isEmpty(); index++) { parents = git.getResolve().toCommit(parents.get(0)).getParentIds() } @@ -67,10 +67,10 @@ subprojects { exclude(module: "mockito-core") exclude(module: "dummypermscompat") } - implementation ("net.kyori:text-api:3.0.2") - implementation ("net.kyori:text-serializer-gson:3.0.2") - implementation ("net.kyori:text-serializer-legacy:3.0.2") - implementation ("net.kyori:text-serializer-plain:3.0.2") + implementation("net.kyori:text-api:3.0.2") + implementation("net.kyori:text-serializer-gson:3.0.2") + implementation("net.kyori:text-serializer-legacy:3.0.2") + implementation("net.kyori:text-serializer-plain:3.0.2") implementation("com.google.guava:guava:21.0") { because("Minecraft uses Guava 21 as of 1.13") }