From 95ad199f52d8bb3bd760d2dc624f3cf838eff3bd Mon Sep 17 00:00:00 2001 From: boy0001 Date: Wed, 22 Jul 2015 04:31:12 +1000 Subject: [PATCH] Lazy initialization --- .../plot/commands/Add.java | 6 +- .../plot/commands/Auto.java | 2 +- .../plot/commands/Claim.java | 2 +- .../plot/commands/DebugFixFlags.java | 4 +- .../plot/commands/DebugUUID.java | 6 +- .../plot/commands/Deny.java | 2 +- .../plot/commands/FlagCmd.java | 4 +- .../plot/commands/Home.java | 2 +- .../plot/commands/Inbox.java | 6 +- .../plot/commands/Info.java | 14 +-- .../plot/commands/Rate.java | 22 ++-- .../plot/commands/Remove.java | 18 +-- .../plot/commands/SchematicCmd.java | 5 +- .../plot/commands/Set.java | 2 +- .../plot/commands/TP.java | 2 +- .../plot/commands/Trust.java | 6 +- .../plot/commands/Undeny.java | 4 +- .../plot/commands/Untrust.java | 4 +- .../plot/commands/list.java | 18 +-- .../plot/database/SQLManager.java | 38 +++---- .../plotme/ClassicPlotMeConnector.java | 6 +- .../database/plotme/PlotMeConnector_017.java | 6 +- .../plot/flag/FlagManager.java | 36 +++--- .../plot/generator/HybridUtils.java | 4 +- .../plot/generator/SquarePlotManager.java | 6 +- .../plot/listeners/PlayerEvents.java | 4 +- .../plot/listeners/PlotPlusListener.java | 3 + .../plot/listeners/worldedit/WEManager.java | 4 +- .../plot/object/InfoInventory.java | 10 +- .../plot/object/Plot.java | 103 ++++++++++++++---- .../plot/object/PlotAnalysis.java | 4 +- .../plot/object/PlotHandler.java | 12 +- .../plot/object/comment/InboxOwner.java | 6 +- .../plot/object/comment/InboxPublic.java | 6 +- .../plot/util/ExpireManager.java | 6 +- .../plot/util/MainUtil.java | 75 +++++++------ .../plot/util/bukkit/UUIDHandler.java | 12 +- 37 files changed, 263 insertions(+), 207 deletions(-) diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Add.java b/src/main/java/com/intellectualcrafters/plot/commands/Add.java index 1c0a6a45a..3cca1b9f2 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Add.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Add.java @@ -72,7 +72,7 @@ public class Add extends SubCommand { return false; } - if (plot.members.contains(uuid)) { + if (plot.getMembers().contains(uuid)) { MainUtil.sendMessage(plr, C.ALREADY_ADDED); return false; } @@ -80,11 +80,11 @@ public class Add extends SubCommand { plot.addMember(uuid); } else { - if (plot.members.size() + plot.trusted.size() >= PS.get().getPlotWorld(plot.world).MAX_PLOT_MEMBERS) { + if (plot.getMembers().size() + plot.getTrusted().size() >= PS.get().getPlotWorld(plot.world).MAX_PLOT_MEMBERS) { MainUtil.sendMessage(plr, C.PLOT_MAX_MEMBERS); return false; } - if (plot.denied.contains(uuid)) { + if (plot.getDenied().contains(uuid)) { plot.removeDenied(uuid); } plot.addMember(uuid); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Auto.java b/src/main/java/com/intellectualcrafters/plot/commands/Auto.java index 0c98eebb4..651fb99b8 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Auto.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Auto.java @@ -176,7 +176,7 @@ public class Auto extends SubCommand { for (int i = 0; i <= max; i++) { final PlotId currentId = new PlotId(origin.x + id.x, origin.y + id.y); final Plot current = MainUtil.getPlot(worldname, currentId); - if (MainUtil.canClaim(plr, current) && (current.settings.isMerged() == false) && cluster.equals(ClusterManager.getCluster(current))) { + if (MainUtil.canClaim(plr, current) && (current.getSettings().isMerged() == false) && cluster.equals(ClusterManager.getCluster(current))) { Claim.claimPlot(plr, current, true, true); return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Claim.java b/src/main/java/com/intellectualcrafters/plot/commands/Claim.java index 1fae73967..a59d6f10d 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Claim.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Claim.java @@ -47,7 +47,7 @@ public class Claim extends SubCommand { } public static boolean claimPlot(final PlotPlayer player, final Plot plot, final boolean teleport, final String schematic, final boolean auto) { - if (plot.hasOwner() || plot.settings.isMerged()) { + if (plot.hasOwner() || plot.getSettings().isMerged()) { return false; } final boolean result = EventUtil.manager.callClaim(player, plot, false); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java b/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java index 016046b4d..a9701d006 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java @@ -56,7 +56,7 @@ public class DebugFixFlags extends SubCommand { } MainUtil.sendMessage(plr, "&8--- &6Starting task &8 ---"); for (final Plot plot : PS.get().getPlots(world).values()) { - final HashMap flags = plot.settings.flags; + final HashMap flags = plot.getSettings().flags; Iterator> i = flags.entrySet().iterator(); boolean changed = false; while (i.hasNext()) { @@ -66,7 +66,7 @@ public class DebugFixFlags extends SubCommand { } } if (changed) { - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); } } MainUtil.sendMessage(plr, "&aDone!"); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/DebugUUID.java b/src/main/java/com/intellectualcrafters/plot/commands/DebugUUID.java index 83e17426f..be7faa4a1 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/DebugUUID.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/DebugUUID.java @@ -221,9 +221,9 @@ public class DebugUUID extends SubCommand { if (value != null) { plot.owner = value; } - plot.trusted = new HashSet<>(); - plot.members = new HashSet<>(); - plot.denied = new HashSet<>(); + plot.getTrusted().clear(); + plot.getMembers().clear(); + plot.getDenied().clear(); } MainUtil.sendConsoleMessage("&7 - Deleting database"); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Deny.java b/src/main/java/com/intellectualcrafters/plot/commands/Deny.java index b0b3ebd79..4d0433362 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Deny.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Deny.java @@ -75,7 +75,7 @@ public class Deny extends SubCommand { return false; } - if (plot.denied.contains(uuid)) { + if (plot.getDenied().contains(uuid)) { MainUtil.sendMessage(plr, C.ALREADY_ADDED); return false; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java b/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java index 9e35bb161..22750abb1 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java @@ -158,7 +158,7 @@ public class FlagCmd extends SubCommand { if ((args.length == 3) && flag.getAbstractFlag().isList()) { final String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " "); ((FlagValue.ListValue) flag.getAbstractFlag().value).remove(flag.getValue(), value); - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); } else { final boolean result = FlagManager.removePlotFlag(plot, flag.getKey()); if (!result) { @@ -204,7 +204,7 @@ public class FlagCmd extends SubCommand { MainUtil.sendMessage(player, C.FLAG_NOT_ADDED); return false; } - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); MainUtil.sendMessage(player, C.FLAG_ADDED); return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Home.java b/src/main/java/com/intellectualcrafters/plot/commands/Home.java index 5389e475a..d5be8bf16 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Home.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Home.java @@ -38,7 +38,7 @@ public class Home extends SubCommand { private Plot isAlias(final String a) { for (final Plot p : PS.get().getPlots()) { - if ((p.settings.getAlias().length() > 0) && p.settings.getAlias().equalsIgnoreCase(a)) { + if ((p.getSettings().getAlias().length() > 0) && p.getSettings().getAlias().equalsIgnoreCase(a)) { return p; } } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java b/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java index 205cd2d4f..dd9426e1b 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java @@ -156,7 +156,7 @@ public class Inbox extends SubCommand { } PlotComment comment = comments.get(index - 1); inbox.removeComment(plot, comment); - plot.settings.removeComment(comment); + plot.getSettings().removeComment(comment); MainUtil.sendMessage(player, C.COMMENT_REMOVED, comment.comment); } })) { @@ -170,9 +170,9 @@ public class Inbox extends SubCommand { sendMessage(player, C.NO_PERM_INBOX_MODIFY); } inbox.clearInbox(plot); - ArrayList comments = plot.settings.getComments(inbox.toString()); + ArrayList comments = plot.getSettings().getComments(inbox.toString()); if (comments != null) { - plot.settings.removeComments(comments); + plot.getSettings().removeComments(comments); } MainUtil.sendMessage(player, C.COMMENT_REMOVED, "*"); return true; diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Info.java b/src/main/java/com/intellectualcrafters/plot/commands/Info.java index aab7524f1..b2786e9d6 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Info.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Info.java @@ -144,8 +144,8 @@ public class Info extends SubCommand { boolean trustedEveryone; // Wildcard player {added} { - containsEveryone = (plot.trusted != null) && plot.trusted.contains(DBFunc.everyone); - trustedEveryone = (plot.members != null) && plot.members.contains(DBFunc.everyone); + containsEveryone = (plot.getTrusted() != null) && plot.getTrusted().contains(DBFunc.everyone); + trustedEveryone = (plot.getMembers() != null) && plot.getMembers().contains(DBFunc.everyone); } // Unclaimed? if (!hasOwner && !containsEveryone && !trustedEveryone) { @@ -198,18 +198,18 @@ public class Info extends SubCommand { final PlotId id = plot.id; final PlotId id2 = MainUtil.getTopPlot(plot).id; final int num = MainUtil.getPlotSelectionIds(id, id2).size(); - final String alias = plot.settings.getAlias().length() > 0 ? plot.settings.getAlias() : C.NONE.s(); + final String alias = plot.getSettings().getAlias().length() > 0 ? plot.getSettings().getAlias() : C.NONE.s(); Location top = MainUtil.getPlotTopLoc(world, plot.id); Location bot = MainUtil.getPlotBottomLoc(world, plot.id).add(1, 0, 1); final String biome = BlockManager.manager.getBiome(bot.add((top.getX() - bot.getX()) / 2, 0, (top.getX() - bot.getX()) / 2)); - final String trusted = getPlayerList(plot.trusted); - final String members = getPlayerList(plot.members); - final String denied = getPlayerList(plot.denied); + final String trusted = getPlayerList(plot.getTrusted()); + final String members = getPlayerList(plot.getMembers()); + final String denied = getPlayerList(plot.getDenied()); Flag descriptionFlag = FlagManager.getPlotFlag(plot, "description"); final String description = descriptionFlag == null ? C.NONE.s() : descriptionFlag.getValueString(); - final String flags = StringMan.replaceFromMap("$2" + (StringUtils.join(FlagManager.getPlotFlags(plot.world, plot.settings, true).values(), "").length() > 0 ? StringUtils.join(FlagManager.getPlotFlags(plot.world, plot.settings, true).values(), "$1, $2") : C.NONE.s()), C.replacements); + final String flags = StringMan.replaceFromMap("$2" + (StringUtils.join(FlagManager.getPlotFlags(plot.world, plot.getSettings(), true).values(), "").length() > 0 ? StringUtils.join(FlagManager.getPlotFlags(plot.world, plot.getSettings(), true).values(), "$1, $2") : C.NONE.s()), C.replacements); final boolean build = (player == null) || plot.isAdded(player.getUUID()); String owner = plot.owner == null ? "unowned" : getPlayerList(plot.getOwners()); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Rate.java b/src/main/java/com/intellectualcrafters/plot/commands/Rate.java index 5926ec8af..2636b7ba8 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Rate.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Rate.java @@ -63,12 +63,12 @@ public class Rate extends SubCommand { public int compare(Plot p1, Plot p2) { double v1 = 0; double v2 = 0; - if (p1.settings.ratings != null) { + if (p1.getSettings().ratings != null) { for (Entry entry : p1.getRatings().entrySet()) { v1 -= 11 - entry.getValue().getAverageRating(); } } - if (p2.settings.ratings != null) { + if (p2.getSettings().ratings != null) { for (Entry entry : p2.getRatings().entrySet()) { v2 -= 11 - entry.getValue().getAverageRating(); } @@ -78,7 +78,7 @@ public class Rate extends SubCommand { }); UUID uuid = player.getUUID(); for (Plot p : plots) { - if ((p.settings.ratings == null || !p.settings.ratings.containsKey(uuid)) && !p.isAdded(uuid)) { + if ((p.getSettings().ratings == null || !p.getSettings().ratings.containsKey(uuid)) && !p.isAdded(uuid)) { MainUtil.teleportPlayer(player, player.getLocation(), p); MainUtil.sendMessage(player, C.RATE_THIS); return true; @@ -105,7 +105,7 @@ public class Rate extends SubCommand { final Runnable run = new Runnable() { @Override public void run() { - if (plot.settings.ratings.containsKey(player.getUUID())) { + if (plot.getSettings().ratings.containsKey(player.getUUID())) { sendMessage(player, C.RATING_ALREADY_EXISTS, plot.getId().toString()); return; } @@ -127,7 +127,7 @@ public class Rate extends SubCommand { // get new rating rV = rateEvent.getRating(); // set rating - plot.settings.ratings.put(player.getUUID(), rV); + plot.getSettings().ratings.put(player.getUUID(), rV); DBFunc.setRating(plot, player.getUUID(), rV); sendMessage(player, C.RATING_APPLIED, plot.getId().toString()); sendMessage(player, C.RATING_APPLIED, plot.getId().toString()); @@ -149,11 +149,11 @@ public class Rate extends SubCommand { inventory.openInventory(); } }; - if (plot.settings.ratings == null) { + if (plot.getSettings().ratings == null) { TaskManager.runTaskAsync(new Runnable() { @Override public void run() { - plot.settings.ratings = DBFunc.getRatings(plot); + plot.getSettings().ratings = DBFunc.getRatings(plot); run.run(); } }); @@ -187,20 +187,20 @@ public class Rate extends SubCommand { final Runnable run = new Runnable() { @Override public void run() { - if (plot.settings.ratings.containsKey(uuid)) { + if (plot.getSettings().ratings.containsKey(uuid)) { sendMessage(player, C.RATING_ALREADY_EXISTS, plot.getId().toString()); return; } - plot.settings.ratings.put(uuid, rating); + plot.getSettings().ratings.put(uuid, rating); DBFunc.setRating(plot, uuid, rating); sendMessage(player, C.RATING_APPLIED, plot.getId().toString()); } }; - if (plot.settings.ratings == null) { + if (plot.getSettings().ratings == null) { TaskManager.runTaskAsync(new Runnable() { @Override public void run() { - plot.settings.ratings = DBFunc.getRatings(plot); + plot.getSettings().ratings = DBFunc.getRatings(plot); run.run(); } }); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Remove.java b/src/main/java/com/intellectualcrafters/plot/commands/Remove.java index bbf8809fc..6b04b23b6 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Remove.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Remove.java @@ -60,9 +60,9 @@ public class Remove extends SubCommand { if (args[0].equals("unknown")) { ArrayList toRemove = new ArrayList<>(); HashSet all = new HashSet<>(); - all.addAll(plot.members); - all.addAll(plot.trusted); - all.addAll(plot.denied); + all.addAll(plot.getMembers()); + all.addAll(plot.getTrusted()); + all.addAll(plot.getDenied()); for (UUID uuid : all) { if (UUIDHandler.getName(uuid) == null) { toRemove.add(uuid); @@ -78,9 +78,9 @@ public class Remove extends SubCommand { else if (args[0].equals("*")){ ArrayList toRemove = new ArrayList<>(); HashSet all = new HashSet<>(); - all.addAll(plot.members); - all.addAll(plot.trusted); - all.addAll(plot.denied); + all.addAll(plot.getMembers()); + all.addAll(plot.getTrusted()); + all.addAll(plot.getDenied()); for (UUID uuid : all) { toRemove.add(uuid); count++; @@ -94,17 +94,17 @@ public class Remove extends SubCommand { else { UUID uuid = UUIDHandler.getUUID(args[0]); if (uuid != null) { - if (plot.trusted.contains(uuid)) { + if (plot.getTrusted().contains(uuid)) { if (plot.removeTrusted(uuid)) { count++; } } - else if (plot.members.contains(uuid)) { + else if (plot.getMembers().contains(uuid)) { if (plot.removeMember(uuid)) { count++; } } - else if (plot.denied.contains(uuid)) { + else if (plot.getDenied().contains(uuid)) { if (plot.removeDenied(uuid)) { count++; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java b/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java index 0a01443bf..c9f55f82d 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java @@ -123,10 +123,9 @@ public class SchematicCmd extends SubCommand { if (!(schematic.getSchematicDimension().getY() == BukkitUtil.getMaxHeight(loc.getWorld()))) { l1 = bot.add(0, sy - 1, 0); } - else { + else { l1 = bot; - } - + } final int blen = b.length - 1; SchematicCmd.this.task = TaskManager.runTaskRepeat(new Runnable() { @Override diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Set.java b/src/main/java/com/intellectualcrafters/plot/commands/Set.java index 87e0b7f62..f0d9cb7f1 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Set.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Set.java @@ -207,7 +207,7 @@ public class Set extends SubCommand { return false; } for (final Plot p : PS.get().getPlots(plr.getLocation().getWorld()).values()) { - if (p.settings.getAlias().equalsIgnoreCase(alias)) { + if (p.getSettings().getAlias().equalsIgnoreCase(alias)) { MainUtil.sendMessage(plr, C.ALIAS_IS_TAKEN); return false; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/TP.java b/src/main/java/com/intellectualcrafters/plot/commands/TP.java index 67fde8b9b..46bce5063 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/TP.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/TP.java @@ -94,7 +94,7 @@ public class TP extends SubCommand { return null; } for (final Plot p : PS.get().getPlots(world).values()) { - if ((p.settings.getAlias().length() > 0) && p.settings.getAlias().equalsIgnoreCase(a)) { + if ((p.getSettings().getAlias().length() > 0) && p.getSettings().getAlias().equalsIgnoreCase(a)) { return p; } } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Trust.java b/src/main/java/com/intellectualcrafters/plot/commands/Trust.java index ad49322cd..725e804bf 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Trust.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Trust.java @@ -72,7 +72,7 @@ public class Trust extends SubCommand { return false; } - if (plot.trusted.contains(uuid)) { + if (plot.getTrusted().contains(uuid)) { MainUtil.sendMessage(plr, C.ALREADY_ADDED); return false; } @@ -80,11 +80,11 @@ public class Trust extends SubCommand { plot.addTrusted(uuid); } else { - if (plot.members.size() + plot.trusted.size() >= PS.get().getPlotWorld(plot.world).MAX_PLOT_MEMBERS) { + if (plot.getMembers().size() + plot.getTrusted().size() >= PS.get().getPlotWorld(plot.world).MAX_PLOT_MEMBERS) { MainUtil.sendMessage(plr, C.PLOT_MAX_MEMBERS); return false; } - if (plot.denied.contains(uuid)) { + if (plot.getDenied().contains(uuid)) { plot.removeDenied(uuid); } plot.addTrusted(uuid); diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Undeny.java b/src/main/java/com/intellectualcrafters/plot/commands/Undeny.java index 687ce7e53..bfa1080c2 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Undeny.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Undeny.java @@ -58,7 +58,7 @@ public class Undeny extends SubCommand { int count = 0; if (args[0].equals("unknown")) { ArrayList toRemove = new ArrayList<>(); - for (UUID uuid : plot.denied) { + for (UUID uuid : plot.getDenied()) { if (UUIDHandler.getName(uuid) == null) { toRemove.add(uuid); } @@ -69,7 +69,7 @@ public class Undeny extends SubCommand { } } else if (args[0].equals("*")){ - for (UUID uuid : new ArrayList<>(plot.denied)) { + for (UUID uuid : new ArrayList<>(plot.getDenied())) { plot.removeDenied(uuid); count++; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/Untrust.java b/src/main/java/com/intellectualcrafters/plot/commands/Untrust.java index ffbf7d084..73659c4c5 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/Untrust.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/Untrust.java @@ -58,7 +58,7 @@ public class Untrust extends SubCommand { int count = 0; if (args[0].equals("unknown")) { ArrayList toRemove = new ArrayList<>(); - for (UUID uuid : plot.trusted) { + for (UUID uuid : plot.getTrusted()) { if (UUIDHandler.getName(uuid) == null) { toRemove.add(uuid); } @@ -69,7 +69,7 @@ public class Untrust extends SubCommand { } } else if (args[0].equals("*")){ - for (UUID uuid : new ArrayList<>(plot.trusted)) { + for (UUID uuid : new ArrayList<>(plot.getTrusted())) { plot.removeTrusted(uuid); count++; } diff --git a/src/main/java/com/intellectualcrafters/plot/commands/list.java b/src/main/java/com/intellectualcrafters/plot/commands/list.java index e72060d33..05e26667a 100644 --- a/src/main/java/com/intellectualcrafters/plot/commands/list.java +++ b/src/main/java/com/intellectualcrafters/plot/commands/list.java @@ -171,7 +171,7 @@ public class list extends SubCommand { } plots = new ArrayList(); for (Plot plot : PS.get().getPlots()) { - if (plot.trusted.contains(plr.getUUID()) || plot.members.contains(plr.getUUID())) { + if (plot.getTrusted().contains(plr.getUUID()) || plot.getMembers().contains(plr.getUUID())) { plots.add(plot); } } @@ -208,9 +208,9 @@ public class list extends SubCommand { public int compare(Plot p1, Plot p2) { double v1 = 0; double v2 = 0; - int p1s = p1.settings.ratings != null ? p1.settings.ratings.size() : 0; - int p2s = p2.settings.ratings != null ? p2.settings.ratings.size() : 0; - if (p1.settings.ratings != null && p1s > 0) { + int p1s = p1.getSettings().ratings != null ? p1.getSettings().ratings.size() : 0; + int p2s = p2.getSettings().ratings != null ? p2.getSettings().ratings.size() : 0; + if (p1.getSettings().ratings != null && p1s > 0) { for (Entry entry : p1.getRatings().entrySet()) { double av = entry.getValue().getAverageRating(); v1 += av * av; @@ -218,7 +218,7 @@ public class list extends SubCommand { v1 /= p1s; v1 += p1s; } - if (p2.settings.ratings != null && p2s > 0) { + if (p2.getSettings().ratings != null && p2s > 0) { for (Entry entry : p2.getRatings().entrySet()) { double av = entry.getValue().getAverageRating(); v2 += av * av; @@ -353,7 +353,7 @@ public class list extends SubCommand { int i = page * pageSize; for (Plot plot : subList) { - if (plot.settings.isMerged()) { + if (plot.getSettings().isMerged()) { if (!MainUtil.getBottomPlot(plot).equals(plot)) { continue; } @@ -380,16 +380,16 @@ public class list extends SubCommand { new FancyMessage( ChatColor.stripColor( ChatColor.translateAlternateColorCodes('&', - C.PLOT_INFO_TRUSTED.s().replaceAll("%trusted%", Info.getPlayerList(plot.trusted))))) + C.PLOT_INFO_TRUSTED.s().replaceAll("%trusted%", Info.getPlayerList(plot.getTrusted()))))) .color(ChatColor.GOLD); FancyMessage members = new FancyMessage( ChatColor.stripColor( ChatColor.translateAlternateColorCodes('&', - C.PLOT_INFO_MEMBERS.s().replaceAll("%members%", Info.getPlayerList(plot.members))))) + C.PLOT_INFO_MEMBERS.s().replaceAll("%members%", Info.getPlayerList(plot.getMembers()))))) .color(ChatColor.GOLD); - String strFlags = StringUtils.join(plot.settings.flags.values(), ","); + String strFlags = StringUtils.join(plot.getSettings().flags.values(), ","); if (strFlags.length() == 0) { strFlags = C.NONE.s(); } diff --git a/src/main/java/com/intellectualcrafters/plot/database/SQLManager.java b/src/main/java/com/intellectualcrafters/plot/database/SQLManager.java index d3764a754..6aa0868fe 100644 --- a/src/main/java/com/intellectualcrafters/plot/database/SQLManager.java +++ b/src/main/java/com/intellectualcrafters/plot/database/SQLManager.java @@ -173,19 +173,19 @@ public class SQLManager implements AbstractDB { PlotId plotId = new PlotId(x, y); Plot plot = plotMap.get(plotId); if (plot != null) { - settings.add(new SettingsPair(id, plot.settings)); - if (plot.denied != null) { - for (UUID uuid : plot.denied) { + settings.add(new SettingsPair(id, plot.getSettings())); + if (plot.getDenied() != null) { + for (UUID uuid : plot.getDenied()) { denied.add(new UUIDPair(id, uuid)); } } - if (plot.members != null) { - for (UUID uuid : plot.members) { + if (plot.getMembers() != null) { + for (UUID uuid : plot.getMembers()) { trusted.add(new UUIDPair(id, uuid)); } } - if (plot.trusted != null) { - for (UUID uuid : plot.trusted) { + if (plot.getTrusted() != null) { + for (UUID uuid : plot.getTrusted()) { helpers.add(new UUIDPair(id, uuid)); } } @@ -950,10 +950,10 @@ public class SQLManager implements AbstractDB { } final Plot plot = plots.get(id); if (plot != null) { - if (plot.settings.ratings == null) { - plot.settings.ratings = new HashMap(); + if (plot.getSettings().ratings == null) { + plot.getSettings().ratings = new HashMap(); } - plot.settings.ratings.put(user, r.getInt("rating")); + plot.getSettings().ratings.put(user, r.getInt("rating")); } else { PS.log("&cPLOT " + id + " in plot_helpers does not exist. Please create the plot or remove this entry."); } @@ -974,7 +974,7 @@ public class SQLManager implements AbstractDB { } final Plot plot = plots.get(id); if (plot != null) { - plot.trusted.add(user); + plot.getTrusted().add(user); } else { PS.log("&cPLOT " + id + " in plot_helpers does not exist. Please create the plot or remove this entry."); } @@ -994,7 +994,7 @@ public class SQLManager implements AbstractDB { } final Plot plot = plots.get(id); if (plot != null) { - plot.members.add(user); + plot.getMembers().add(user); } else { PS.log("&cPLOT " + id + " in plot_trusted does not exist. Please create the plot or remove this entry."); } @@ -1014,7 +1014,7 @@ public class SQLManager implements AbstractDB { } final Plot plot = plots.get(id); if (plot != null) { - plot.denied.add(user); + plot.getDenied().add(user); } else { PS.log("&cPLOT " + id + " in plot_denied does not exist. Please create the plot or remove this entry."); } @@ -1040,7 +1040,7 @@ public class SQLManager implements AbstractDB { } final String alias = r.getString("alias"); if (alias != null) { - plot.settings.setAlias(alias); + plot.getSettings().setAlias(alias); } final String pos = r.getString("position"); switch (pos.toLowerCase()) { @@ -1051,7 +1051,7 @@ public class SQLManager implements AbstractDB { break; default: try { - plot.settings.setPosition(BlockLoc.fromString(pos)); + plot.getSettings().setPosition(BlockLoc.fromString(pos)); } catch (final Exception e) { } } @@ -1061,9 +1061,9 @@ public class SQLManager implements AbstractDB { for (int i = 0; i < 4; i++) { merged[3 - i] = ((m) & (1 << i)) != 0; } - plot.settings.setMerged(merged); + plot.getSettings().setMerged(merged); } else { - plot.settings.setMerged(new boolean[]{false, false, false, false}); + plot.getSettings().setMerged(new boolean[]{false, false, false, false}); } String[] flags_string; final String myflags = r.getString("flags"); @@ -1104,7 +1104,7 @@ public class SQLManager implements AbstractDB { PS.log("&c" + myflags); setFlags(id, flags.values()); } - plot.settings.flags = flags; + plot.getSettings().flags = flags; } else { PS.log("&cPLOT " + id + " in plot_settings does not exist. Please create the plot or remove this entry."); } @@ -1132,7 +1132,7 @@ public class SQLManager implements AbstractDB { @Override public void setMerged(final Plot plot, final boolean[] merged) { - plot.settings.setMerged(merged); + plot.getSettings().setMerged(merged); TaskManager.runTaskAsync(new Runnable() { @Override public void run() { diff --git a/src/main/java/com/intellectualcrafters/plot/database/plotme/ClassicPlotMeConnector.java b/src/main/java/com/intellectualcrafters/plot/database/plotme/ClassicPlotMeConnector.java index 33d646c7d..e28a9493b 100644 --- a/src/main/java/com/intellectualcrafters/plot/database/plotme/ClassicPlotMeConnector.java +++ b/src/main/java/com/intellectualcrafters/plot/database/plotme/ClassicPlotMeConnector.java @@ -131,7 +131,7 @@ public class ClassicPlotMeConnector extends APlotMeConnector { HashMap newplots = plots.get(world); Plot plot = newplots.get(entry2.getKey()); if (plot != null) { - plot.settings.setMerged(entry2.getValue()); + plot.getSettings().setMerged(entry2.getValue()); } } } @@ -159,7 +159,7 @@ public class ClassicPlotMeConnector extends APlotMeConnector { } } if (plots.get(world).containsKey(id)) { - plots.get(world).get(id).denied.add(denied); + plots.get(world).get(id).getDenied().add(denied); } } @@ -180,7 +180,7 @@ public class ClassicPlotMeConnector extends APlotMeConnector { } } if (plots.get(world).containsKey(id)) { - plots.get(world).get(id).trusted.add(helper); + plots.get(world).get(id).getTrusted().add(helper); } } diff --git a/src/main/java/com/intellectualcrafters/plot/database/plotme/PlotMeConnector_017.java b/src/main/java/com/intellectualcrafters/plot/database/plotme/PlotMeConnector_017.java index 3f66f07a7..cc131d254 100644 --- a/src/main/java/com/intellectualcrafters/plot/database/plotme/PlotMeConnector_017.java +++ b/src/main/java/com/intellectualcrafters/plot/database/plotme/PlotMeConnector_017.java @@ -131,7 +131,7 @@ public class PlotMeConnector_017 extends APlotMeConnector { HashMap mergeMap = merges.get(plot.world); if (mergeMap != null) { if (mergeMap.containsKey(plot.id)) { - plot.settings.setMerged(mergeMap.get(plot.id)); + plot.getSettings().setMerged(mergeMap.get(plot.id)); } } } @@ -150,7 +150,7 @@ public class PlotMeConnector_017 extends APlotMeConnector { continue; } UUID denied = UUID.fromString(r.getString("player")); - plot.denied.add(denied); + plot.getDenied().add(denied); } MainUtil.sendConsoleMessage(" - " + plugin + "core_allowed"); @@ -165,7 +165,7 @@ public class PlotMeConnector_017 extends APlotMeConnector { continue; } UUID allowed = UUID.fromString(r.getString("player")); - plot.trusted.add(allowed); + plot.getTrusted().add(allowed); } r.close(); stmt.close(); diff --git a/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java b/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java index e8b53b78e..daa6109a4 100644 --- a/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java +++ b/src/main/java/com/intellectualcrafters/plot/flag/FlagManager.java @@ -104,7 +104,7 @@ public class FlagManager { } if (PS.get().getAllPlotsRaw() != null) { for (final Plot plot : PS.get().getPlotsRaw()) { - Flag flag = plot.settings.flags.get(af.getKey()); + Flag flag = plot.getSettings().flags.get(af.getKey()); if (flag != null) { flag.setKey(af); } @@ -151,7 +151,10 @@ public class FlagManager { * @return Flag */ public static Flag getPlotFlag(final Plot plot, final String flag) { - return getSettingFlag(plot.world, plot.settings, flag); + if (!plot.hasOwner()) { + return null; + } + return getSettingFlag(plot.world, plot.getSettings(), flag); } public static boolean isPlotFlagTrue(final Plot plot, final String strFlag) { @@ -183,7 +186,7 @@ public class FlagManager { * @return Flag */ public static Flag getPlotFlagAbs(final Plot plot, final String flag) { - return getSettingFlagAbs(plot.settings, flag); + return getSettingFlagAbs(plot.getSettings(), flag); } public static Flag getSettingFlagAbs(final PlotSettings settings, final String flag) { @@ -203,9 +206,9 @@ public class FlagManager { if (!result) { return false; } - plot.settings.flags.put(flag.getKey(), flag); + plot.getSettings().flags.put(flag.getKey(), flag); MainUtil.reEnterPlot(plot); - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); return true; } @@ -214,7 +217,7 @@ public class FlagManager { if (!result) { return false; } - plot.settings.flags.put(flag.getKey(), flag); + plot.getSettings().flags.put(flag.getKey(), flag); return true; } @@ -232,7 +235,10 @@ public class FlagManager { * @return set of flags */ public static HashMap getPlotFlags(final Plot plot) { - return getSettingFlags(plot.world, plot.settings); + if (!plot.hasOwner()) { + return null; + } + return getSettingFlags(plot.world, plot.getSettings()); } public static HashMap getPlotFlags(final String world, final PlotSettings settings, final boolean ignorePluginflags) { @@ -260,17 +266,17 @@ public class FlagManager { } public static boolean removePlotFlag(final Plot plot, final String id) { - Flag flag = plot.settings.flags.remove(id); + Flag flag = plot.getSettings().flags.remove(id); if (flag == null) { return false; } final boolean result = EventUtil.manager.callFlagRemove(flag, plot); if (!result) { - plot.settings.flags.put(id, flag); + plot.getSettings().flags.put(id, flag); return false; } MainUtil.reEnterPlot(plot); - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); return true; } @@ -290,19 +296,19 @@ public class FlagManager { public static void setPlotFlags(final Plot plot, final Set flags) { if (flags != null && flags.size() != 0) { - plot.settings.flags.clear(); + plot.getSettings().flags.clear(); for (Flag flag : flags) { - plot.settings.flags.put(flag.getKey(), flag); + plot.getSettings().flags.put(flag.getKey(), flag); } } - else if (plot.settings.flags.size() == 0) { + else if (plot.getSettings().flags.size() == 0) { return; } else { - plot.settings.flags.clear(); + plot.getSettings().flags.clear(); } MainUtil.reEnterPlot(plot); - DBFunc.setFlags(plot, plot.settings.flags.values()); + DBFunc.setFlags(plot, plot.getSettings().flags.values()); } public static void setClusterFlags(final PlotCluster cluster, final Set flags) { diff --git a/src/main/java/com/intellectualcrafters/plot/generator/HybridUtils.java b/src/main/java/com/intellectualcrafters/plot/generator/HybridUtils.java index 31c61f33a..912f74cb3 100644 --- a/src/main/java/com/intellectualcrafters/plot/generator/HybridUtils.java +++ b/src/main/java/com/intellectualcrafters/plot/generator/HybridUtils.java @@ -101,13 +101,13 @@ public abstract class HybridUtils { if (result) { if (id1 != null) { final Plot p1 = MainUtil.getPlot(world, id1); - if ((p1 != null) && p1.hasOwner() && p1.settings.isMerged()) { + if ((p1 != null) && p1.hasOwner() && p1.getSettings().isMerged()) { toCheck = true; } } if ((id2 != null) && !toCheck) { final Plot p2 = MainUtil.getPlot(world, id2); - if ((p2 != null) && p2.hasOwner() && p2.settings.isMerged()) { + if ((p2 != null) && p2.hasOwner() && p2.getSettings().isMerged()) { toCheck = true; } } diff --git a/src/main/java/com/intellectualcrafters/plot/generator/SquarePlotManager.java b/src/main/java/com/intellectualcrafters/plot/generator/SquarePlotManager.java index f25240e67..1c39abd0c 100644 --- a/src/main/java/com/intellectualcrafters/plot/generator/SquarePlotManager.java +++ b/src/main/java/com/intellectualcrafters/plot/generator/SquarePlotManager.java @@ -130,7 +130,7 @@ public abstract class SquarePlotManager extends GridPlotManager { if (plot == null) { return null; } - if ((plot.settings.getMerged(0) && plot.settings.getMerged(3))) { + if ((plot.getMerged(0) && plot.getMerged(3))) { return MainUtil.getBottomPlot(plot).id; } return null; @@ -143,7 +143,7 @@ public abstract class SquarePlotManager extends GridPlotManager { if (plot == null) { return null; } - if (plot.settings.getMerged(0)) { + if (plot.getMerged(0)) { return MainUtil.getBottomPlot(plot).id; } return null; @@ -156,7 +156,7 @@ public abstract class SquarePlotManager extends GridPlotManager { if (plot == null) { return null; } - if (plot.settings.getMerged(3)) { + if (plot.getMerged(3)) { return MainUtil.getBottomPlot(plot).id; } return null; diff --git a/src/main/java/com/intellectualcrafters/plot/listeners/PlayerEvents.java b/src/main/java/com/intellectualcrafters/plot/listeners/PlayerEvents.java index 6f35c2e48..f8802de3a 100644 --- a/src/main/java/com/intellectualcrafters/plot/listeners/PlayerEvents.java +++ b/src/main/java/com/intellectualcrafters/plot/listeners/PlayerEvents.java @@ -160,13 +160,13 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi return; } Plot plot = MainUtil.getPlot(loc); - if (plot == null) { + if (plot == null || !plot.hasOwner()) { return; } if (Settings.REDSTONE_DISABLER) { if (UUIDHandler.getPlayer(plot.owner) == null) { boolean disable = true; - for (UUID trusted : plot.trusted) { + for (UUID trusted : plot.getTrusted()) { if (UUIDHandler.getPlayer(trusted) != null) { disable = false; break; diff --git a/src/main/java/com/intellectualcrafters/plot/listeners/PlotPlusListener.java b/src/main/java/com/intellectualcrafters/plot/listeners/PlotPlusListener.java index c29de3453..9b7903a80 100644 --- a/src/main/java/com/intellectualcrafters/plot/listeners/PlotPlusListener.java +++ b/src/main/java/com/intellectualcrafters/plot/listeners/PlotPlusListener.java @@ -207,6 +207,9 @@ public class PlotPlusListener extends PlotListener implements Listener { public void onPlotLeave(final PlayerLeavePlotEvent event) { final Player leaver = event.getPlayer(); final Plot plot = event.getPlot(); + if (!plot.hasOwner()) { + return; + } if (FlagManager.getPlotFlag(plot, "farewell") != null) { event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', C.PREFIX_FAREWELL.s().replaceAll("%id%", plot.id + "") + FlagManager.getPlotFlag(plot, "farewell").getValueString())); } diff --git a/src/main/java/com/intellectualcrafters/plot/listeners/worldedit/WEManager.java b/src/main/java/com/intellectualcrafters/plot/listeners/worldedit/WEManager.java index 2c4527157..dc166fe2e 100644 --- a/src/main/java/com/intellectualcrafters/plot/listeners/worldedit/WEManager.java +++ b/src/main/java/com/intellectualcrafters/plot/listeners/worldedit/WEManager.java @@ -27,8 +27,8 @@ public class WEManager { HashSet regions = new HashSet<>(); UUID uuid = player.getUUID(); for (Plot plot : PS.get().getPlots(player.getLocation().getWorld()).values()) { - if (!plot.settings.getMerged(0) && !plot.settings.getMerged(3)) { - if (Settings.WE_ALLOW_HELPER ? plot.isAdded(uuid) : (plot.isOwner(uuid) || plot.trusted.contains(uuid))) { + if (!plot.getMerged(0) && !plot.getMerged(3)) { + if (Settings.WE_ALLOW_HELPER ? plot.isAdded(uuid) : (plot.isOwner(uuid) || plot.getTrusted().contains(uuid))) { Location pos1 = MainUtil.getPlotBottomLoc(plot.world, plot.id).add(1, 0, 1); Location pos2 = MainUtil.getPlotTopLoc(plot.world, plot.id); regions.add(new RegionWrapper(pos1.getX(), pos2.getX(), pos1.getZ(), pos2.getZ())); diff --git a/src/main/java/com/intellectualcrafters/plot/object/InfoInventory.java b/src/main/java/com/intellectualcrafters/plot/object/InfoInventory.java index e664f12aa..3e3677ba1 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/InfoInventory.java +++ b/src/main/java/com/intellectualcrafters/plot/object/InfoInventory.java @@ -52,11 +52,11 @@ public class InfoInventory implements InventoryHolder { public InfoInventory build() { final UUID uuid = UUIDHandler.getUUID(BukkitUtil.getPlayer(this.player)); - final ItemStack generalInfo = getItem(Material.EMERALD, "&cPlot Info", "&cID: &6" + this.plot.getId().toString(), "&cOwner: &6" + getName(this.plot.owner), "&cAlias: &6" + this.plot.settings.getAlias(), "&cBiome: &6" + this.plot.settings.getBiome().toString().replaceAll("_", "").toLowerCase(), "&cCan Build: &6" + this.plot.isAdded(uuid), "&cIs Denied: &6" + this.plot.isDenied(uuid)); - final ItemStack trusted = getItem(Material.EMERALD, "&cTrusted", "&cAmount: &6" + this.plot.trusted.size(), "&8Click to view a list of the trusted users"); - final ItemStack members = getItem(Material.EMERALD, "&cMembers", "&cAmount: &6" + this.plot.members.size(), "&8Click to view a list of plot members"); - final ItemStack denied = getItem(Material.EMERALD, "&cDenied", "&cAmount: &6" + this.plot.denied.size(), "&8Click to view a list of denied players"); - final ItemStack flags = getItem(Material.EMERALD, "&cFlags", "&cAmount: &6" + this.plot.settings.flags.size(), "&8Click to view a list of plot flags"); + final ItemStack generalInfo = getItem(Material.EMERALD, "&cPlot Info", "&cID: &6" + this.plot.getId().toString(), "&cOwner: &6" + getName(this.plot.owner), "&cAlias: &6" + this.plot.getSettings().getAlias(), "&cBiome: &6" + this.plot.getSettings().getBiome().toString().replaceAll("_", "").toLowerCase(), "&cCan Build: &6" + this.plot.isAdded(uuid), "&cIs Denied: &6" + this.plot.isDenied(uuid)); + final ItemStack trusted = getItem(Material.EMERALD, "&cTrusted", "&cAmount: &6" + this.plot.getTrusted().size(), "&8Click to view a list of the trusted users"); + final ItemStack members = getItem(Material.EMERALD, "&cMembers", "&cAmount: &6" + this.plot.getMembers().size(), "&8Click to view a list of plot members"); + final ItemStack denied = getItem(Material.EMERALD, "&cDenied", "&cAmount: &6" + this.plot.getDenied().size(), "&8Click to view a list of denied players"); + final ItemStack flags = getItem(Material.EMERALD, "&cFlags", "&cAmount: &6" + this.plot.getSettings().flags.size(), "&8Click to view a list of plot flags"); this.inventory.setItem(2, generalInfo); this.inventory.setItem(3, trusted); this.inventory.setItem(4, members); diff --git a/src/main/java/com/intellectualcrafters/plot/object/Plot.java b/src/main/java/com/intellectualcrafters/plot/object/Plot.java index d3bd831bc..6cc22f14c 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/Plot.java +++ b/src/main/java/com/intellectualcrafters/plot/object/Plot.java @@ -92,10 +92,6 @@ public class Plot implements Cloneable { this.world = world; this.id = id; this.owner = owner; - this.settings = new PlotSettings(this); - this.trusted = new HashSet<>(); - this.members = new HashSet<>(); - this.denied = new HashSet<>(); this.temp = false; } @@ -111,10 +107,6 @@ public class Plot implements Cloneable { this.world = world; this.id = id; this.owner = owner; - this.settings = new PlotSettings(this); - this.trusted = new HashSet<>(); - this.members = new HashSet<>(); - this.denied = new HashSet<>(); this.temp = temp; } @@ -186,7 +178,7 @@ public class Plot implements Cloneable { * @return boolean false if the player is allowed to enter */ public boolean isDenied(final UUID uuid) { - return (this.denied != null) && ((this.denied.contains(DBFunc.everyone) && !this.isAdded(uuid)) || (!this.isAdded(uuid) && this.denied.contains(uuid))); + return (this.getDenied() != null) && ((this.denied.contains(DBFunc.everyone) && !this.isAdded(uuid)) || (!this.isAdded(uuid) && this.denied.contains(uuid))); } /** @@ -195,6 +187,69 @@ public class Plot implements Cloneable { public PlotId getId() { return this.id; } + + /** + * Get or create plot settings + * @return PlotSettings + */ + public PlotSettings getSettings() { + if (settings == null) { + settings = new PlotSettings(this); + } + return settings; + } + + public boolean isMerged() { + if (settings == null) { + return false; + } + return settings.getMerged(0) || settings.getMerged(2) || settings.getMerged(1) || settings.getMerged(3); + } + + /** + * Get if the plot is merged in a direction + * @param direction + * @return + */ + public boolean getMerged(int direction) { + if (settings == null) { + return false; + } + return settings.getMerged(direction); + } + + /** + * Get the denied users + * @return + */ + public HashSet getDenied() { + if (this.denied == null) { + this.denied = new HashSet<>(); + } + return this.denied; + } + + /** + * Get the trusted users + * @return + */ + public HashSet getTrusted() { + if (this.trusted == null) { + this.trusted = new HashSet<>(); + } + return this.trusted; + } + + /** + * Get the members + * @return + */ + public HashSet getMembers() { + if (this.members == null) { + this.members = new HashSet<>(); + } + return this.members; + } /** * Get a clone of the plot @@ -216,7 +271,7 @@ public class Plot implements Cloneable { * @param uuid */ public void addDenied(final UUID uuid) { - if (this.denied.add(uuid)) DBFunc.setDenied(this, uuid); + if (this.getDenied().add(uuid)) DBFunc.setDenied(this, uuid); } /** @@ -225,7 +280,7 @@ public class Plot implements Cloneable { * @param uuid */ public void addTrusted(final UUID uuid) { - if (this.trusted.add(uuid)) DBFunc.setTrusted(this, uuid); + if (this.getTrusted().add(uuid)) DBFunc.setTrusted(this, uuid); } /** @@ -234,7 +289,7 @@ public class Plot implements Cloneable { * @param uuid */ public void addMember(final UUID uuid) { - if (this.members.add(uuid)) DBFunc.setMember(this, uuid); + if (this.getMembers().add(uuid)) DBFunc.setMember(this, uuid); } /** @@ -332,10 +387,10 @@ public class Plot implements Cloneable { */ public HashMap getRatings() { HashMap map = new HashMap(); - if (settings.ratings == null) { + if (getSettings().ratings == null) { return map; } - for (Entry entry : settings.ratings.entrySet()) { + for (Entry entry : getSettings().ratings.entrySet()) { map.put(entry.getKey(), new Rating(entry.getValue())); } return map; @@ -346,16 +401,16 @@ public class Plot implements Cloneable { * @param loc */ public void setHome(BlockLoc loc) { - BlockLoc pos = this.settings.getPosition(); + BlockLoc pos = this.getSettings().getPosition(); if ((pos == null && loc == null) || (pos != null && pos.equals(loc))) { return; } - this.settings.setPosition(loc); - if (this.settings.getPosition() == null) { + this.getSettings().setPosition(loc); + if (this.getSettings().getPosition() == null) { DBFunc.setPosition(this, ""); } else { - DBFunc.setPosition(this, this.settings.getPosition().toString()); + DBFunc.setPosition(this, this.getSettings().getPosition().toString()); } } @@ -364,14 +419,14 @@ public class Plot implements Cloneable { * @param alias */ public void setAlias(String alias) { - String name = this.settings.getAlias(); + String name = this.getSettings().getAlias(); if (alias == null) { alias = ""; } if (name.equals(alias)) { return; } - this.settings.setAlias(alias); + this.getSettings().setAlias(alias); DBFunc.setAlias(this, alias); } @@ -499,7 +554,7 @@ public class Plot implements Cloneable { */ @Override public String toString() { - if (this.settings.getAlias().length() > 1) { + if (this.settings != null && this.settings.getAlias().length() > 1) { return this.settings.getAlias(); } return this.world + ";" + this.getId().x + ";" + this.getId().y; @@ -511,7 +566,7 @@ public class Plot implements Cloneable { * @param uuid */ public boolean removeDenied(final UUID uuid) { - if (this.denied.remove(uuid)) { + if (this.getDenied().remove(uuid)) { DBFunc.removeDenied(this, uuid); return true; } @@ -524,7 +579,7 @@ public class Plot implements Cloneable { * @param uuid */ public boolean removeTrusted(final UUID uuid) { - if (this.trusted.remove(uuid)) { + if (this.getTrusted().remove(uuid)) { DBFunc.removeTrusted(this, uuid); return true; } @@ -537,7 +592,7 @@ public class Plot implements Cloneable { * @param uuid */ public boolean removeMember(final UUID uuid) { - if (this.members.remove(uuid)) { + if (this.getMembers().remove(uuid)) { DBFunc.removeMember(this, uuid); return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/object/PlotAnalysis.java b/src/main/java/com/intellectualcrafters/plot/object/PlotAnalysis.java index a59867a98..3b4b32d2c 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/PlotAnalysis.java +++ b/src/main/java/com/intellectualcrafters/plot/object/PlotAnalysis.java @@ -105,7 +105,7 @@ public class PlotAnalysis { PS.log(" - $1Reducing " + plots.size() + " plots to those with sufficient data"); while (iter.hasNext()) { Plot plot = iter.next(); - if (plot.settings.ratings == null || plot.settings.ratings.size() == 0) { + if (plot.getSettings().ratings == null || plot.getSettings().ratings.size() == 0) { iter.remove(); } else { @@ -147,7 +147,7 @@ public class PlotAnalysis { for (;mi.intValue() < plots.size(); mi.increment()) { int i = mi.intValue(); Plot plot = plots.get(i); - ratings[i] = (int) ((plot.getAverageRating() + plot.settings.ratings.size()) * 100); + ratings[i] = (int) ((plot.getAverageRating() + plot.getSettings().ratings.size()) * 100); PS.log(" | " + plot + " (rating) " + (ratings[i])); } } diff --git a/src/main/java/com/intellectualcrafters/plot/object/PlotHandler.java b/src/main/java/com/intellectualcrafters/plot/object/PlotHandler.java index c14f3b407..044330086 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/PlotHandler.java +++ b/src/main/java/com/intellectualcrafters/plot/object/PlotHandler.java @@ -14,7 +14,7 @@ public class PlotHandler { if (plot.owner == null) { return new HashSet(); } - if (plot.settings.isMerged()) { + if (plot.isMerged()) { HashSet owners = new HashSet(); Plot top = MainUtil.getTopPlot(plot); ArrayList ids = MainUtil.getPlotSelectionIds(plot.id, top.id); @@ -33,7 +33,7 @@ public class PlotHandler { if (plot.owner == null) { return false; } - if (plot.settings.isMerged()) { + if (plot.isMerged()) { Plot top = MainUtil.getTopPlot(plot); ArrayList ids = MainUtil.getPlotSelectionIds(plot.id, top.id); for (PlotId id : ids) { @@ -50,7 +50,7 @@ public class PlotHandler { if (plot.owner == null) { return false; } - if (plot.settings.isMerged()) { + if (plot.isMerged()) { Plot top = MainUtil.getTopPlot(plot); ArrayList ids = MainUtil.getPlotSelectionIds(plot.id, top.id); for (PlotId id : ids) { @@ -82,13 +82,13 @@ public class PlotHandler { if (isOwner(plot, uuid)) { return true; } - if (plot.denied.contains(uuid)) { + if (plot.getDenied().contains(uuid)) { return false; } - if (plot.trusted.contains(uuid) || plot.trusted.contains(DBFunc.everyone)) { + if (plot.getTrusted().contains(uuid) || plot.getTrusted().contains(DBFunc.everyone)) { return true; } - if (plot.members.contains(uuid) || plot.members.contains(DBFunc.everyone)) { + if (plot.getMembers().contains(uuid) || plot.getMembers().contains(DBFunc.everyone)) { if (PlotHandler.isOnline(plot)) { return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/object/comment/InboxOwner.java b/src/main/java/com/intellectualcrafters/plot/object/comment/InboxOwner.java index 34ebf02a7..2a622d5fe 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/comment/InboxOwner.java +++ b/src/main/java/com/intellectualcrafters/plot/object/comment/InboxOwner.java @@ -41,7 +41,7 @@ public class InboxOwner extends CommentInbox { if (plot == null || plot.owner == null) { return false; } - ArrayList comments = plot.settings.getComments(toString()); + ArrayList comments = plot.getSettings().getComments(toString()); if (comments != null) { whenDone.value = comments; TaskManager.runTask(whenDone); @@ -53,7 +53,7 @@ public class InboxOwner extends CommentInbox { whenDone.value = value; if (value != null) { for (PlotComment comment : (ArrayList) value) { - plot.settings.addComment(comment); + plot.getSettings().addComment(comment); } } TaskManager.runTask(whenDone); @@ -67,7 +67,7 @@ public class InboxOwner extends CommentInbox { if (plot == null || plot.owner == null) { return false; } - plot.settings.addComment(comment); + plot.getSettings().addComment(comment); DBFunc.setComment(plot, comment); return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/object/comment/InboxPublic.java b/src/main/java/com/intellectualcrafters/plot/object/comment/InboxPublic.java index 77c924ab1..62890fb89 100644 --- a/src/main/java/com/intellectualcrafters/plot/object/comment/InboxPublic.java +++ b/src/main/java/com/intellectualcrafters/plot/object/comment/InboxPublic.java @@ -41,7 +41,7 @@ public class InboxPublic extends CommentInbox { if (plot == null || plot.owner == null) { return false; } - ArrayList comments = plot.settings.getComments(toString()); + ArrayList comments = plot.getSettings().getComments(toString()); if (comments != null) { whenDone.value = comments; TaskManager.runTask(whenDone); @@ -53,7 +53,7 @@ public class InboxPublic extends CommentInbox { whenDone.value = value; if (value != null) { for (PlotComment comment : (ArrayList) value) { - plot.settings.addComment(comment); + plot.getSettings().addComment(comment); } } TaskManager.runTask(whenDone); @@ -67,7 +67,7 @@ public class InboxPublic extends CommentInbox { if (plot == null || plot.owner == null) { return false; } - plot.settings.addComment(comment); + plot.getSettings().addComment(comment); DBFunc.setComment(plot, comment); return true; } diff --git a/src/main/java/com/intellectualcrafters/plot/util/ExpireManager.java b/src/main/java/com/intellectualcrafters/plot/util/ExpireManager.java index 7b4f6fc07..d8f7ba65c 100644 --- a/src/main/java/com/intellectualcrafters/plot/util/ExpireManager.java +++ b/src/main/java/com/intellectualcrafters/plot/util/ExpireManager.java @@ -99,13 +99,13 @@ public class ExpireManager { PS.log("$2[&5Expire&dManager$2] &bSkipping no longer expired: " + plot); return; } - for (final UUID helper : plot.trusted) { + for (final UUID helper : plot.getTrusted()) { final PlotPlayer player = UUIDHandler.getPlayer(helper); if (player != null) { MainUtil.sendMessage(player, C.PLOT_REMOVED_USER, plot.id.toString()); } } - for (final UUID helper : plot.members) { + for (final UUID helper : plot.getMembers()) { final PlotPlayer player = UUIDHandler.getPlayer(helper); if (player != null) { MainUtil.sendMessage(player, C.PLOT_REMOVED_USER, plot.id.toString()); @@ -130,7 +130,7 @@ public class ExpireManager { return; } } - if (plot.settings.isMerged()) { + if (plot.isMerged()) { MainUtil.unlinkPlot(plot); } plot.delete(); diff --git a/src/main/java/com/intellectualcrafters/plot/util/MainUtil.java b/src/main/java/com/intellectualcrafters/plot/util/MainUtil.java index 6975398e4..f758ae334 100644 --- a/src/main/java/com/intellectualcrafters/plot/util/MainUtil.java +++ b/src/main/java/com/intellectualcrafters/plot/util/MainUtil.java @@ -160,7 +160,7 @@ public class MainUtil { if (world != null && plot.world.equals(world)) { count++; } - if (alias != null && alias.equals(plot.settings.getAlias())) { + if (alias != null && alias.equals(plot.getSettings().getAlias())) { count+=2; } if (count != 0) { @@ -207,7 +207,7 @@ public class MainUtil { worldname = PS.get().getPlotWorlds().iterator().next(); } for (Plot p : PS.get().getPlots(worldname).values()) { - String name = p.settings.getAlias(); + String name = p.getSettings().getAlias(); if (name.length() != 0 && name.equalsIgnoreCase(arg)) { return p; } @@ -215,7 +215,7 @@ public class MainUtil { for (String world : PS.get().getPlotWorlds()) { if (!world.endsWith(worldname)) { for (Plot p : PS.get().getPlots(world).values()) { - String name = p.settings.getAlias(); + String name = p.getSettings().getAlias(); if (name.length() != 0 && name.equalsIgnoreCase(arg)) { return p; } @@ -281,8 +281,8 @@ public class MainUtil { if (plot.denied != null) { myplot.denied = plot.denied; } - myplot.settings.setMerged(new boolean[] { false, false, false, false }); - DBFunc.setMerged(myplot, myplot.settings.getMerged()); + myplot.getSettings().setMerged(new boolean[] { false, false, false, false }); + DBFunc.setMerged(myplot, myplot.getSettings().getMerged()); } if (plotworld.TERRAIN != 3) { for (int x = pos1.x; x <= pos2.x; x++) { @@ -610,25 +610,25 @@ public class MainUtil { } if (lx) { if (ly) { - if (!plot.settings.getMerged(1) || !plot.settings.getMerged(2)) { + if (!plot.getSettings().getMerged(1) || !plot.getSettings().getMerged(2)) { if (removeRoads) { MainUtil.removeRoadSouthEast(plotworld, plot); } } } - if (!plot.settings.getMerged(1)) { + if (!plot.getSettings().getMerged(1)) { plot2 = PS.get().getPlots(world).get(new PlotId(x + 1, y)); mergePlot(world, plot, plot2, removeRoads); - plot.settings.setMerged(1, true); - plot2.settings.setMerged(3, true); + plot.getSettings().setMerged(1, true); + plot2.getSettings().setMerged(3, true); } } if (ly) { - if (!plot.settings.getMerged(2)) { + if (!plot.getSettings().getMerged(2)) { plot2 = PS.get().getPlots(world).get(new PlotId(x, y + 1)); mergePlot(world, plot, plot2, removeRoads); - plot.settings.setMerged(2, true); - plot2.settings.setMerged(0, true); + plot.getSettings().setMerged(2, true); + plot2.getSettings().setMerged(0, true); } } } @@ -637,7 +637,7 @@ public class MainUtil { for (int y = pos1.y; y <= pos2.y; y++) { final PlotId id = new PlotId(x, y); final Plot plot = PS.get().getPlots(world).get(id); - DBFunc.setMerged(plot, plot.settings.getMerged()); + DBFunc.setMerged(plot, plot.getSettings().getMerged()); } } manager.finishPlotMerge(plotworld, plotIds); @@ -710,17 +710,17 @@ public class MainUtil { public static void mergePlot(final String world, final Plot lesserPlot, final Plot greaterPlot, final boolean removeRoads) { final PlotWorld plotworld = PS.get().getPlotWorld(world); if (lesserPlot.id.x.equals(greaterPlot.id.x)) { - if (!lesserPlot.settings.getMerged(2)) { - lesserPlot.settings.setMerged(2, true); - greaterPlot.settings.setMerged(0, true); + if (!lesserPlot.getSettings().getMerged(2)) { + lesserPlot.getSettings().setMerged(2, true); + greaterPlot.getSettings().setMerged(0, true); if (removeRoads) { MainUtil.removeRoadSouth(plotworld, lesserPlot); } } } else { - if (!lesserPlot.settings.getMerged(1)) { - lesserPlot.settings.setMerged(1, true); - greaterPlot.settings.setMerged(3, true); + if (!lesserPlot.getSettings().getMerged(1)) { + lesserPlot.getSettings().setMerged(1, true); + greaterPlot.getSettings().setMerged(3, true); if (removeRoads) { MainUtil.removeRoadEast(plotworld, lesserPlot); } @@ -1070,7 +1070,7 @@ public class MainUtil { */ public static Location getPlotHome(final String w, final PlotId plotid) { final Plot plot = getPlot(w, plotid); - final BlockLoc home = plot.settings.getPosition(); + final BlockLoc home = plot.getSettings().getPosition(); final Location bot = getPlotBottomLoc(w, plotid); final PlotManager manager = PS.get().getPlotManager(w); if ((home == null) || ((home.x == 0) && (home.z == 0))) { @@ -1368,13 +1368,13 @@ public class MainUtil { int x = id.x + offset_x; int y = id.y + offset_y; Plot plot = createPlotAbs(currentPlot.owner, getPlot(world, new PlotId(x, y))); - if (currentPlot.settings.flags != null && currentPlot.settings.flags.size() > 0) { - plot.settings.flags = currentPlot.settings.flags; - DBFunc.setFlags(plot, currentPlot.settings.flags.values()); + if (currentPlot.getSettings().flags != null && currentPlot.getSettings().flags.size() > 0) { + plot.getSettings().flags = currentPlot.getSettings().flags; + DBFunc.setFlags(plot, currentPlot.getSettings().flags.values()); } - if (currentPlot.settings.isMerged()) { - plot.settings.setMerged(currentPlot.settings.getMerged()); - DBFunc.setMerged(plot, currentPlot.settings.getMerged()); + if (currentPlot.isMerged()) { + plot.getSettings().setMerged(currentPlot.getSettings().getMerged()); + DBFunc.setMerged(plot, currentPlot.getSettings().getMerged()); } if (currentPlot.members != null && currentPlot.members.size() > 0) { plot.members = currentPlot.members; @@ -1383,13 +1383,13 @@ public class MainUtil { } } if (currentPlot.trusted != null && currentPlot.trusted.size() > 0) { - plot.members = currentPlot.trusted; + plot.trusted = currentPlot.trusted; for (UUID trusted : plot.trusted) { DBFunc.setTrusted(plot, trusted); } } if (currentPlot.denied != null && currentPlot.denied.size() > 0) { - plot.members = currentPlot.denied; + plot.denied = currentPlot.denied; for (UUID denied : plot.denied) { DBFunc.setDenied(plot, denied); } @@ -1522,14 +1522,14 @@ public class MainUtil { } public static Plot getBottomPlot(final Plot plot) { - if (plot.settings.getMerged(0)) { + if (plot.getSettings().getMerged(0)) { final Plot p = PS.get().getPlots(plot.world).get(new PlotId(plot.id.x, plot.id.y - 1)); if (p == null) { return plot; } return getBottomPlot(p); } - if (plot.settings.getMerged(3)) { + if (plot.getSettings().getMerged(3)) { final Plot p = PS.get().getPlots(plot.world).get(new PlotId(plot.id.x - 1, plot.id.y)); if (p == null) { return plot; @@ -1540,14 +1540,14 @@ public class MainUtil { } public static Plot getTopPlot(final Plot plot) { - if (plot.settings.getMerged(2)) { + if (plot.getSettings().getMerged(2)) { final Plot p = PS.get().getPlots(plot.world).get(new PlotId(plot.id.x, plot.id.y + 1)); if (p == null) { return plot; } return getTopPlot(p); } - if (plot.settings.getMerged(1)) { + if (plot.getSettings().getMerged(1)) { final Plot p = PS.get().getPlots(plot.world).get(new PlotId(plot.id.x + 1, plot.id.y)); if (p == null) { return plot; @@ -1559,8 +1559,7 @@ public class MainUtil { } public static PlotId getSize(final Plot plot) { - final PlotSettings settings = plot.settings; - if (!settings.isMerged()) { + if (!plot.isMerged()) { return new PlotId(1, 1); } final Plot top = getTopPlot(plot); @@ -1637,8 +1636,8 @@ public class MainUtil { public static double getAverageRating(Plot plot) { HashMap rating; - if (plot.settings.ratings != null) { - rating = plot.settings.ratings; + if (plot.getSettings().ratings != null) { + rating = plot.getSettings().ratings; } else { rating = DBFunc.getRatings(plot); @@ -1667,8 +1666,8 @@ public class MainUtil { public static double[] getAverageRatings(Plot plot) { HashMap rating; - if (plot.settings.ratings != null) { - rating = plot.settings.ratings; + if (plot.getSettings().ratings != null) { + rating = plot.getSettings().ratings; } else { rating = DBFunc.getRatings(plot); diff --git a/src/main/java/com/intellectualcrafters/plot/util/bukkit/UUIDHandler.java b/src/main/java/com/intellectualcrafters/plot/util/bukkit/UUIDHandler.java index 119bd7343..62ded816f 100644 --- a/src/main/java/com/intellectualcrafters/plot/util/bukkit/UUIDHandler.java +++ b/src/main/java/com/intellectualcrafters/plot/util/bukkit/UUIDHandler.java @@ -96,17 +96,11 @@ public class UUIDHandler { public static HashSet getAllUUIDS() { HashSet uuids = new HashSet(); for (Plot plot : PS.get().getPlotsRaw()) { - for (UUID uuid : plot.trusted) { - uuids.add(uuid); - } - for (UUID uuid : plot.members) { - uuids.add(uuid); - } - for (UUID uuid : plot.denied) { - uuids.add(uuid); - } if (plot.owner != null) { uuids.add(plot.owner); + uuids.addAll(plot.getTrusted()); + uuids.addAll(plot.getMembers()); + uuids.addAll(plot.getDenied()); } } return uuids;