Fixes + options

- Fixed plot deletion not removing denied from DB
- Fixed help not displaying all pages correctly
- Added option for plot expiry clear interval
This commit is contained in:
boy0001 2015-05-15 13:29:23 +10:00
parent e7a1e4ecf7
commit 2bbf5dba5d
7 changed files with 23 additions and 7 deletions

View File

@ -8,7 +8,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<artifactId>PlotSquared</artifactId>
<version>2.11.0</version>
<version>2.11.3</version>
<name>PlotSquared</name>
<packaging>jar</packaging>
<build>

View File

@ -848,6 +848,7 @@ public class PlotSquared {
options.put("clear.check-disk", Settings.AUTO_CLEAR_CHECK_DISK);
options.put("clear.on.ban", false);
options.put("clear.fastmode", Settings.ENABLE_CLUSTERS);
options.put("clear.auto.clear-interval-seconds", Settings.CLEAR_INTERVAL);
// Schematics
options.put("schematics.save_path", Settings.SCHEMATIC_SAVE_PATH);
@ -925,6 +926,8 @@ public class PlotSquared {
Settings.AUTO_CLEAR_CHECK_DISK = config.getBoolean("clear.check-disk");
Settings.AUTO_CLEAR = config.getBoolean("clear.auto.enabled");
Settings.CLEAR_INTERVAL = config.getInt("clear.auto.clear-interval-seconds");
// Schematics
Settings.SCHEMATIC_SAVE_PATH = config.getString("schematics.save_path");

View File

@ -74,7 +74,7 @@ public class MainCommand {
// final int totalPages = ((int) Math.ceil(12 * (commands.size()) /
// 100));
final int perPage = 5;
final int totalPages = (int) Math.ceil(commands.size() / perPage);
final int totalPages = (commands.size() / perPage) + (commands.size() % perPage == 0 ? 0 : 1);
if (page > totalPages) {
page = totalPages;
}
@ -85,13 +85,19 @@ public class MainCommand {
final List<String> help = new ArrayList<>();
help.add(C.HELP_HEADER.s());
// HELP_CATEGORY("&cCategory: &6%category%&c, Page: %current%&c/&6%max%&c, Displaying: &6%dis%&c/&6%total%"),
help.add(C.HELP_CATEGORY.s().replace("%category%", category == null ? "All" : category.toString()).replace("%current%", "" + (page + 1)).replace("%max%", "" + (totalPages + 1)).replace("%dis%", "" + (commands.size() % perPage)).replace("%total%", "" + commands.size()));
help.add(C.HELP_CATEGORY.s().replace("%category%", category == null ? "All" : category.toString()).replace("%current%", "" + (page + 1)).replace("%max%", "" + (totalPages)).replace("%dis%", "" + (commands.size() % perPage)).replace("%total%", "" + commands.size()));
SubCommand cmd;
final int start = page * perPage;
for (int x = start; x < max; x++) {
cmd = commands.get(x);
String s = t(C.HELP_ITEM.s());
s = s.replace("%alias%", cmd.alias.get(0)).replace("%usage%", cmd.usage.contains("plot") ? cmd.usage : "/plot " + cmd.usage).replace("%cmd%", cmd.cmd).replace("%desc%", cmd.description);
if (cmd.alias.size() > 0) {
s = s.replace("%alias%", cmd.alias.get(0));
}
else {
s = s.replace("%alias%", "");
}
s = s.replace("%usage%", cmd.usage.contains("plot") ? cmd.usage : "/plot " + cmd.usage).replace("%cmd%", cmd.cmd).replace("%desc%", cmd.description).replace("[]", "");
help.add(s);
}
if (help.size() < 2) {

View File

@ -142,6 +142,7 @@ public class Settings {
public static int AUTO_CLEAR_DAYS = 360;
public static boolean AUTO_CLEAR_CHECK_DISK = false;
public static int MIN_BLOCKS_CHANGED = -1;
public static int CLEAR_INTERVAL = 120;
/**
* API Location
*/

View File

@ -676,6 +676,10 @@ public class SQLManager implements AbstractDB {
stmt.setInt(1, id);
stmt.executeUpdate();
stmt.close();
stmt = SQLManager.this.connection.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_denied` WHERE `plot_plot_id` = ?");
stmt.setInt(1, id);
stmt.executeUpdate();
stmt.close();
stmt = SQLManager.this.connection.prepareStatement("DELETE FROM `" + SQLManager.this.prefix + "plot_comments` WHERE `world` = ? AND `hashcode` = ?");
stmt.setString(1, world);
stmt.setInt(2, plot.hashCode());

View File

@ -75,6 +75,7 @@ public abstract class HybridUtils {
boolean c1 = MainUtil.isPlotArea(new Location(plotworld.worldname, x, 1, z));
boolean c2 = MainUtil.isPlotArea(new Location(plotworld.worldname, ex, 1, ez));
if (!c1 && !c2) {
System.out.print("FALSE!");
return false;
}
else {
@ -112,7 +113,8 @@ public abstract class HybridUtils {
}
boolean condition;
if (toCheck) {
condition = MainUtil.isPlotRoad(new Location(plotworld.worldname, x + X, 1, z + Z));
condition = manager.getPlotId(plotworld, x + X, 1, z + Z) == null;
// condition = MainUtil.isPlotRoad(new Location(plotworld.worldname, x + X, 1, z + Z));
} else {
final boolean gx = absX > plotworld.PATH_WIDTH_LOWER;
final boolean gz = absZ > plotworld.PATH_WIDTH_LOWER;

View File

@ -65,7 +65,7 @@ public class ExpireManager {
}
public static void runTask() {
ExpireManager.task = Bukkit.getScheduler().scheduleSyncRepeatingTask(BukkitMain.THIS, new Runnable() {
ExpireManager.task = TaskManager.runTaskRepeat(new Runnable() {
@Override
public void run() {
for (final String world : PlotSquared.getPlotWorldsString()) {
@ -131,7 +131,7 @@ public class ExpireManager {
return;
}
}
}, 2400, 2400);
}, Settings.CLEAR_INTERVAL * 20);
}
public static boolean isExpired(final UUID uuid) {