mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 21:26:45 +01:00
condense info
This commit is contained in:
parent
42a710d885
commit
8585727acb
@ -8,7 +8,7 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
<artifactId>PlotSquared</artifactId>
|
<artifactId>PlotSquared</artifactId>
|
||||||
<version>2.7.3</version>
|
<version>2.7.4</version>
|
||||||
<name>PlotSquared</name>
|
<name>PlotSquared</name>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<build>
|
<build>
|
||||||
|
@ -27,9 +27,11 @@ import java.nio.file.Path;
|
|||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.nio.file.attribute.BasicFileAttributes;
|
import java.nio.file.attribute.BasicFileAttributes;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
@ -57,20 +59,73 @@ public class Condense extends SubCommand {
|
|||||||
super("condense", "plots.admin", "Condense a plotworld", "condense", "", CommandCategory.DEBUG, false);
|
super("condense", "plots.admin", "Condense a plotworld", "condense", "", CommandCategory.DEBUG, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlotId getId(String id) {
|
|
||||||
try {
|
|
||||||
String[] split = id.split(";");
|
|
||||||
return new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
|
||||||
}
|
|
||||||
catch (Exception e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(final Player plr, final String... args) {
|
public boolean execute(final Player plr, final String... args) {
|
||||||
|
if (plr != null) {
|
||||||
|
PlayerFunctions.sendMessage(plr, (C.NOT_CONSOLE));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (args.length != 2 && args.length != 3) {
|
||||||
|
PlayerFunctions.sendMessage(plr, "/plot condense <world> <start|stop|info> [radius]");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String worldname = args[0];
|
||||||
|
World world = Bukkit.getWorld(worldname);
|
||||||
|
if (world == null || !PlotMain.isPlotWorld(worldname)) {
|
||||||
|
PlayerFunctions.sendMessage(plr, "INVALID WORLD");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
switch (args[1].toLowerCase()) {
|
||||||
|
case "start": {
|
||||||
|
if (args.length == 2) {
|
||||||
|
PlayerFunctions.sendMessage(plr, "/plot condense " + worldname + " start <radius>");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
PlayerFunctions.sendMessage(plr, "NOT IMPLEMENTED");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
case "stop": {
|
||||||
|
PlayerFunctions.sendMessage(plr, "NOT IMPLEMENTED");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
case "info": {
|
||||||
|
if (args.length == 2) {
|
||||||
|
PlayerFunctions.sendMessage(plr, "/plot condense " + worldname + " info <radius>");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!StringUtils.isNumeric(args[2])) {
|
||||||
|
PlayerFunctions.sendMessage(plr, "INVALID RADIUS");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int radius = Integer.parseInt(args[2]);
|
||||||
|
Collection<Plot> plots = PlotMain.getPlots(worldname).values();
|
||||||
|
int size = plots.size();
|
||||||
|
int minimum_radius = (int) Math.ceil((Math.sqrt(size)/2) + 1);
|
||||||
|
int max_move = getPlots(plots, minimum_radius).size();
|
||||||
|
int user_move = getPlots(plots, radius).size();
|
||||||
|
PlayerFunctions.sendMessage(plr, "=== DEFAULT EVAL ===");
|
||||||
|
PlayerFunctions.sendMessage(plr, "MINIMUM RADIUS: " + minimum_radius);
|
||||||
|
PlayerFunctions.sendMessage(plr, "MAXIMUM MOVES: " + max_move);
|
||||||
|
PlayerFunctions.sendMessage(plr, "=== INPUT EVAL ===");
|
||||||
|
PlayerFunctions.sendMessage(plr, "INPUT RADIUS: " + radius);
|
||||||
|
PlayerFunctions.sendMessage(plr, "ESTIMATED MOVES: " + user_move);
|
||||||
|
PlayerFunctions.sendMessage(plr, "&e - Radius is measured in plot width");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PlayerFunctions.sendMessage(plr, "/plot condense " + worldname + " start <radius>");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<Plot> getPlots(Collection<Plot> plots, int radius) {
|
||||||
|
HashSet<Plot> outside = new HashSet<>();
|
||||||
|
for (Plot plot : plots) {
|
||||||
|
if (plot.id.x > radius || plot.id.x < -radius || plot.id.y > radius || plot.id.y < -radius) {
|
||||||
|
outside.add(plot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return outside;
|
||||||
|
}
|
||||||
|
|
||||||
public static void sendMessage(final String message) {
|
public static void sendMessage(final String message) {
|
||||||
PlotMain.sendConsoleSenderMessage("&3PlotSquared -> Plot condense&8: &7" + message);
|
PlotMain.sendConsoleSenderMessage("&3PlotSquared -> Plot condense&8: &7" + message);
|
||||||
|
@ -49,7 +49,7 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
|||||||
*/
|
*/
|
||||||
public static final String MAIN_PERMISSION = "plots.use";
|
public static final String MAIN_PERMISSION = "plots.use";
|
||||||
|
|
||||||
private final static SubCommand[] _subCommands = new SubCommand[]{new Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Ban(), new Unban(), new OP(), new DEOP(), new Claim(), new Paste(), new Copy(), new Clipboard(), new Auto(), new Home(), new Visit(), new TP(), new Set(), new Clear(), new Delete(), new SetOwner(), new Denied(), new Helpers(), new Trusted(), new Info(), new list(), new Help(), new Debug(), new Schematic(), new plugin(), new Inventory(), new Purge(), new Reload(), new Merge(), new Unlink(), new Kick(), new Rate(), new DebugClaimTest(), new Inbox(), new Comment(), new Database(), new Unclaim(), new Swap(), new MusicSubcommand(), new DebugRoadRegen(), new Trim(), new DebugExec(), new FlagCmd(), new Target(), new DebugFixFlags(), new Move() };
|
private final static SubCommand[] _subCommands = new SubCommand[]{new Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Ban(), new Unban(), new OP(), new DEOP(), new Claim(), new Paste(), new Copy(), new Clipboard(), new Auto(), new Home(), new Visit(), new TP(), new Set(), new Clear(), new Delete(), new SetOwner(), new Denied(), new Helpers(), new Trusted(), new Info(), new list(), new Help(), new Debug(), new Schematic(), new plugin(), new Inventory(), new Purge(), new Reload(), new Merge(), new Unlink(), new Kick(), new Rate(), new DebugClaimTest(), new Inbox(), new Comment(), new Database(), new Unclaim(), new Swap(), new MusicSubcommand(), new DebugRoadRegen(), new Trim(), new DebugExec(), new FlagCmd(), new Target(), new DebugFixFlags(), new Move(), new Condense() };
|
||||||
|
|
||||||
public final static ArrayList<SubCommand> subCommands = new ArrayList<SubCommand>() {
|
public final static ArrayList<SubCommand> subCommands = new ArrayList<SubCommand>() {
|
||||||
{
|
{
|
||||||
|
@ -45,7 +45,7 @@ import com.intellectualcrafters.plot.util.TaskManager;
|
|||||||
public class Move extends SubCommand {
|
public class Move extends SubCommand {
|
||||||
|
|
||||||
public Move() {
|
public Move() {
|
||||||
super("move", "plots.admin", "plot moving debug test", "move", "condense", CommandCategory.DEBUG, true);
|
super("debugmove", "plots.admin", "plot moving debug test", "debugmove", "move", CommandCategory.DEBUG, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -161,6 +161,7 @@ public class SQLManager implements AbstractDB {
|
|||||||
}
|
}
|
||||||
stored.get(world).put(new PlotId(idx, idz), id);
|
stored.get(world).put(new PlotId(idx, idz), id);
|
||||||
}
|
}
|
||||||
|
stmt.close();
|
||||||
} catch (final SQLException e) {
|
} catch (final SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user