diff --git a/.github/workflows/compile-on-push.yml b/.github/workflows/compile-on-push.yml new file mode 100644 index 0000000000..70e18a71b4 --- /dev/null +++ b/.github/workflows/compile-on-push.yml @@ -0,0 +1,18 @@ +name: Maven Compile +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Compile with Maven + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + echo "github-townyTownyAdvanced${GITHUB_TOKEN}" > ~/.m2/settings.xml + echo "github-tneTownyAdvanced${GITHUB_TOKEN}" >> ~/.m2/settings.xml + mvn compile diff --git a/src/com/palmergames/bukkit/towny/ChunkNotification.java b/src/com/palmergames/bukkit/towny/ChunkNotification.java index b5276aff5c..aab56a9174 100644 --- a/src/com/palmergames/bukkit/towny/ChunkNotification.java +++ b/src/com/palmergames/bukkit/towny/ChunkNotification.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.List; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -72,7 +72,7 @@ public static void loadFormatStrings() { Town fromTown = null, toTown = null; Resident fromResident = null, toResident = null; TownBlockType fromPlotType = null, toPlotType = null; - PlotObjectGroup fromPlotGroup = null, toPlotGroup = null; + PlotGroup fromPlotGroup = null, toPlotGroup = null; public ChunkNotification(WorldCoord from, WorldCoord to) { @@ -342,7 +342,7 @@ public String getForSaleNotification() { public String getGroupNotification() { if (toPlotGroupBlock && (fromPlotGroup != toPlotGroup)) - return String.format(groupNotificationFormat, toTownBlock.getPlotObjectGroup().getGroupName()); + return String.format(groupNotificationFormat, toTownBlock.getPlotObjectGroup().getName()); return null; } diff --git a/src/com/palmergames/bukkit/towny/TownyFormatter.java b/src/com/palmergames/bukkit/towny/TownyFormatter.java index bb6666a08e..b007901e6a 100644 --- a/src/com/palmergames/bukkit/towny/TownyFormatter.java +++ b/src/com/palmergames/bukkit/towny/TownyFormatter.java @@ -134,7 +134,7 @@ public static List getStatus(TownBlock townBlock) { TownySettings.getLangString("mobspawns") + ((town.hasMobs() || world.isForceTownMobs() || townBlock.getPermissions().mobs) ? TownySettings.getLangString("status_on"): TownySettings.getLangString("status_off"))); if (townBlock.hasPlotObjectGroup()) - out.add(String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getGroupName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); + out.add(String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); out.addAll(getExtraFields(townBlock)); } catch (NotRegisteredException e) { out.add("Error: " + e.getMessage()); diff --git a/src/com/palmergames/bukkit/towny/TownyUniverse.java b/src/com/palmergames/bukkit/towny/TownyUniverse.java index 0e1749cea7..347c45e75e 100644 --- a/src/com/palmergames/bukkit/towny/TownyUniverse.java +++ b/src/com/palmergames/bukkit/towny/TownyUniverse.java @@ -8,7 +8,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.object.Coord; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -390,8 +390,8 @@ public boolean hasGroup(String townName, String groupName) { * * @return collection of PlotObjectGroup */ - public Collection getGroups() { - List groups = new ArrayList<>(); + public Collection getGroups() { + List groups = new ArrayList<>(); for (Town town : towns.values()) { if (town.hasObjectGroups()) { @@ -410,7 +410,7 @@ public Collection getGroups() { * @param groupID UUID of the plot group * @return PlotGroup if found, null if none found. */ - public PlotObjectGroup getGroup(String townName, UUID groupID) { + public PlotGroup getGroup(String townName, UUID groupID) { Town t = null; try { t = TownyUniverse.getInstance().getDataSource().getTown(townName); @@ -431,7 +431,7 @@ public PlotObjectGroup getGroup(String townName, UUID groupID) { * @param groupName Plot Group Name * @return the plot group if found, otherwise null */ - public PlotObjectGroup getGroup(String townName, String groupName) { + public PlotGroup getGroup(String townName, String groupName) { Town t = towns.get(townName); if (t != null) { @@ -445,13 +445,13 @@ public HashMap getRegisteredMetadataMap() { return getRegisteredMetadata(); } - public PlotObjectGroup newGroup(Town town, String name, UUID id) throws AlreadyRegisteredException { + public PlotGroup newGroup(Town town, String name, UUID id) throws AlreadyRegisteredException { // Create new plot group. - PlotObjectGroup newGroup = new PlotObjectGroup(id, name, town); + PlotGroup newGroup = new PlotGroup(id, name, town); // Check if there is a duplicate - if (town.hasObjectGroupName(newGroup.getGroupName())) { + if (town.hasObjectGroupName(newGroup.getName())) { TownyMessaging.sendErrorMsg("group " + town.getName() + ":" + id + " already exists"); // FIXME Debug message throw new AlreadyRegisteredException(); } @@ -467,7 +467,7 @@ public UUID generatePlotGroupID() { } - public void removeGroup(PlotObjectGroup group) { + public void removeGroup(PlotGroup group) { group.getTown().removePlotGroup(group); } diff --git a/src/com/palmergames/bukkit/towny/command/PlotCommand.java b/src/com/palmergames/bukkit/towny/command/PlotCommand.java index 280fe51cd1..40977f276c 100644 --- a/src/com/palmergames/bukkit/towny/command/PlotCommand.java +++ b/src/com/palmergames/bukkit/towny/command/PlotCommand.java @@ -17,7 +17,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Coord; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -160,7 +160,7 @@ public boolean parsePlotCommand(Player player, String[] split) throws TownyExcep if (block.hasPlotObjectGroup()) { // This block is part of a group, special tasks need to be done. - PlotObjectGroup group = block.getPlotObjectGroup(); + PlotGroup group = block.getPlotObjectGroup(); // Add the confirmation for claiming a plot group. ConfirmationHandler.addConfirmation(resident, ConfirmationType.GROUP_CLAIM_ACTION, new GroupConfirmation(group, player)); @@ -245,7 +245,7 @@ public boolean parsePlotCommand(Player player, String[] split) throws TownyExcep townyUniverse.getDataSource().saveTownBlock(tb); } - player.sendMessage(String.format(TownySettings.getLangString("msg_plot_evict_group"), townBlock.getPlotObjectGroup().getGroupName())); + player.sendMessage(String.format(TownySettings.getLangString("msg_plot_evict_group"), townBlock.getPlotObjectGroup().getName())); return true; } @@ -880,7 +880,7 @@ public void setPlotForSale(Resident resident, WorldCoord worldCoord, double forS throw new TownyException(TownySettings.getLangString("msg_err_must_belong_town")); } - public void setGroupForSale(Resident resident, PlotObjectGroup group, double price) throws TownyException { + public void setGroupForSale(Resident resident, PlotGroup group, double price) throws TownyException { group.setPrice(price); if (resident.hasTown()) { @@ -894,9 +894,9 @@ public void setGroupForSale(Resident resident, PlotObjectGroup group, double pri } if (price != -1) { - TownyMessaging.sendPrefixedTownMessage(resident.getTown(), String.format(TownySettings.getLangString("msg_plot_group_set_for_sale"), group.getGroupName())); + TownyMessaging.sendPrefixedTownMessage(resident.getTown(), String.format(TownySettings.getLangString("msg_plot_group_set_for_sale"), group.getName())); if (group.getTown() != resident.getTown()) - TownyMessaging.sendMessage(resident, String.format(TownySettings.getLangString("msg_plot_group_set_for_sale"), group.getGroupName())); + TownyMessaging.sendMessage(resident, String.format(TownySettings.getLangString("msg_plot_group_set_for_sale"), group.getName())); } else { Player p = TownyAPI.getInstance().getPlayer(resident); if (p == null) { @@ -1003,7 +1003,7 @@ public void plotToggle(Player player, TownBlock townBlock, String[] split) { * @param plotGroup - PlotObjectGroup object. * @param split - Current command arguments. */ - public void plotGroupToggle(Player player, PlotObjectGroup plotGroup, String[] split) { + public void plotGroupToggle(Player player, PlotGroup plotGroup, String[] split) { TownyUniverse townyUniverse = TownyUniverse.getInstance(); if (split.length == 0 || split[0].equalsIgnoreCase("?")) { @@ -1237,7 +1237,7 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow player.sendMessage(ChatTools.formatCommand("/plot group", "notforsale | nfs", "", "Ex: /plot group notforsale")); if (townBlock.hasPlotObjectGroup()) - TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getGroupName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); + TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); return true; } @@ -1245,10 +1245,10 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow if (split[0].equalsIgnoreCase("add") || split[0].equalsIgnoreCase("new") || split[0].equalsIgnoreCase("create")) { // Add the group to the new plot. - PlotObjectGroup newGroup = null; + PlotGroup newGroup = null; if (townBlock.hasPlotObjectGroup()) { - TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_err_plot_already_belongs_to_a_group"), townBlock.getPlotObjectGroup().getGroupName())); + TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_err_plot_already_belongs_to_a_group"), townBlock.getPlotObjectGroup().getName())); return false; } @@ -1257,11 +1257,11 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow UUID plotGroupID = townyUniverse.generatePlotGroupID(); String plotGroupName = split[1]; - newGroup = new PlotObjectGroup(plotGroupID, plotGroupName, town); + newGroup = new PlotGroup(plotGroupID, plotGroupName, town); // Don't add the group to the town data if it's already there. - if (town.hasObjectGroupName(newGroup.getGroupName())) { - newGroup = town.getPlotObjectGroupFromName(newGroup.getGroupName()); + if (town.hasObjectGroupName(newGroup.getName())) { + newGroup = town.getPlotObjectGroupFromName(newGroup.getName()); } townBlock.setPlotObjectGroup(newGroup); @@ -1285,7 +1285,7 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow townyUniverse.getDataSource().saveTownBlock(townBlock); townyUniverse.getDataSource().saveTown(town); - TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("msg_plot_was_put_into_group_x"), townBlock.getX(), townBlock.getZ(), newGroup.getGroupName())); + TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("msg_plot_was_put_into_group_x"), townBlock.getX(), townBlock.getZ(), newGroup.getName())); } else if (split[0].equalsIgnoreCase("remove")) { @@ -1293,7 +1293,7 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_err_plot_not_associated_with_a_group")); return false; } - String name = townBlock.getPlotObjectGroup().getGroupName(); + String name = townBlock.getPlotObjectGroup().getName(); // Remove the plot from the group. townBlock.getPlotObjectGroup().removeTownBlock(townBlock); @@ -1313,14 +1313,14 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow return false; } - String oldName = townBlock.getPlotObjectGroup().getGroupName(); + String oldName = townBlock.getPlotObjectGroup().getName(); // Change name; TownyUniverse.getInstance().getDataSource().renameGroup(townBlock.getPlotObjectGroup(), newName); TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("msg_plot_renamed_from_x_to_y"), oldName, newName)); } else if (split[0].equalsIgnoreCase("forsale") || split[0].equalsIgnoreCase("fs")) { // This means the player wants to fs the plot group they are in. - PlotObjectGroup group = townBlock.getPlotObjectGroup(); + PlotGroup group = townBlock.getPlotObjectGroup(); if (group == null) { TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_err_plot_not_associated_with_a_group")); @@ -1340,11 +1340,11 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow TownyUniverse.getInstance().getDataSource().savePlotGroup(group); TownyUniverse.getInstance().getDataSource().savePlotGroupList(); - TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_put_group_up_for_sale"), player.getName(), group.getGroupName(), TownyEconomyHandler.getFormattedBalance(group.getPrice()))); + TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_put_group_up_for_sale"), player.getName(), group.getName(), TownyEconomyHandler.getFormattedBalance(group.getPrice()))); } else if (split[0].equalsIgnoreCase("notforsale") || split[0].equalsIgnoreCase("nfs")) { // This means the player wants to nfs the plot group they are in. - PlotObjectGroup group = townBlock.getPlotObjectGroup(); + PlotGroup group = townBlock.getPlotObjectGroup(); if (group == null) { TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_err_plot_not_associated_with_a_group")); @@ -1357,7 +1357,7 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow TownyUniverse.getInstance().getDataSource().savePlotGroup(group); TownyUniverse.getInstance().getDataSource().savePlotGroupList(); - TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_made_group_not_for_sale"), player.getName(), group.getGroupName())); + TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_made_group_not_for_sale"), player.getName(), group.getName())); } else if (split[0].equalsIgnoreCase("toggle")) { if (townBlock.getPlotObjectGroup() == null) { @@ -1442,7 +1442,7 @@ private boolean handlePlotGroupCommand(String[] split, Player player) throws Tow player.sendMessage(ChatTools.formatCommand("/plot group", "notforsale | nfs", "", "Ex: /plot group notforsale")); if (townBlock.hasPlotObjectGroup()) - TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getGroupName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); + TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("status_plot_group_name_and_size"), townBlock.getPlotObjectGroup().getName(), townBlock.getPlotObjectGroup().getTownBlocks().size())); return true; } diff --git a/src/com/palmergames/bukkit/towny/confirmations/ConfirmationHandler.java b/src/com/palmergames/bukkit/towny/confirmations/ConfirmationHandler.java index 6e41a99d6c..e5bbdfee26 100644 --- a/src/com/palmergames/bukkit/towny/confirmations/ConfirmationHandler.java +++ b/src/com/palmergames/bukkit/towny/confirmations/ConfirmationHandler.java @@ -9,7 +9,7 @@ import com.palmergames.bukkit.towny.event.TownBlockSettingsChangedEvent; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -372,11 +372,11 @@ public static void handleConfirmation(Resident r, ConfirmationType type) throws /** * A simple method to get coordinates from plot group plots. - * @param group The {@link PlotObjectGroup} to get the coords from. + * @param group The {@link PlotGroup} to get the coords from. * @return An {@link ArrayList} of {@link WorldCoord}'s. * @author Suneet Tipirneni (Siris) */ - private static ArrayList plotGroupBlocksToCoords(PlotObjectGroup group) { + private static ArrayList plotGroupBlocksToCoords(PlotGroup group) { ArrayList coords = new ArrayList<>(); for (TownBlock tb : group.getTownBlocks()) { diff --git a/src/com/palmergames/bukkit/towny/confirmations/GroupConfirmation.java b/src/com/palmergames/bukkit/towny/confirmations/GroupConfirmation.java index 63bc70ec81..d388fc97d7 100644 --- a/src/com/palmergames/bukkit/towny/confirmations/GroupConfirmation.java +++ b/src/com/palmergames/bukkit/towny/confirmations/GroupConfirmation.java @@ -1,6 +1,6 @@ package com.palmergames.bukkit.towny.confirmations; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.TownBlockOwner; import org.bukkit.entity.Player; @@ -8,18 +8,18 @@ import java.util.Objects; public class GroupConfirmation { - private PlotObjectGroup group; + private PlotGroup group; private Player player; private String[] args; private TownBlockOwner owner; - public GroupConfirmation(PlotObjectGroup group, Player player) { + public GroupConfirmation(PlotGroup group, Player player) { this.group = group; this.player = player; } - public PlotObjectGroup getGroup() { + public PlotGroup getGroup() { return group; } diff --git a/src/com/palmergames/bukkit/towny/db/TownyDataSource.java b/src/com/palmergames/bukkit/towny/db/TownyDataSource.java index 3d865d8dc2..f5692c1cac 100644 --- a/src/com/palmergames/bukkit/towny/db/TownyDataSource.java +++ b/src/com/palmergames/bukkit/towny/db/TownyDataSource.java @@ -6,7 +6,7 @@ import com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException; import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -124,7 +124,7 @@ public boolean saveQueues() { abstract public boolean saveTown(Town town); - abstract public boolean savePlotGroup(PlotObjectGroup group); + abstract public boolean savePlotGroup(PlotGroup group); abstract public boolean saveNation(Nation nation); @@ -154,7 +154,7 @@ public boolean saveQueues() { abstract public void deleteFile(String file); - abstract public void deletePlotGroup(PlotObjectGroup group); + abstract public void deletePlotGroup(PlotGroup group); public boolean cleanup() { @@ -233,7 +233,7 @@ public boolean saveResidents() { public boolean savePlotGroups() { TownyMessaging.sendDebugMsg("Saving PlotGroups"); - for (PlotObjectGroup plotGroup : getAllPlotGroups()) + for (PlotGroup plotGroup : getAllPlotGroups()) savePlotGroup(plotGroup); return true; } @@ -267,7 +267,7 @@ public boolean saveWorlds() { abstract public List getResidents(); - abstract public List getAllPlotGroups(); + abstract public List getAllPlotGroups(); abstract public List getResidents(String[] names); @@ -343,5 +343,5 @@ public boolean saveWorlds() { abstract public void renamePlayer(Resident resident, String newName) throws AlreadyRegisteredException, NotRegisteredException; - abstract public void renameGroup(PlotObjectGroup group, String newName) throws AlreadyRegisteredException; + abstract public void renameGroup(PlotGroup group, String newName) throws AlreadyRegisteredException; } diff --git a/src/com/palmergames/bukkit/towny/db/TownyDatabaseHandler.java b/src/com/palmergames/bukkit/towny/db/TownyDatabaseHandler.java index 69bdb54fce..62dd1528f7 100644 --- a/src/com/palmergames/bukkit/towny/db/TownyDatabaseHandler.java +++ b/src/com/palmergames/bukkit/towny/db/TownyDatabaseHandler.java @@ -22,7 +22,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -195,7 +195,7 @@ public Town getTown(UUID uuid) throws NotRegisteredException { return universe.getTownsMap().get(name); } - public PlotObjectGroup getPlotObjectGroup(String townName, UUID groupID) { + public PlotGroup getPlotObjectGroup(String townName, UUID groupID) { return universe.getGroup(townName, groupID); } @@ -432,21 +432,17 @@ public void removeManyTownBlocks(Town town) { @Override public List getAllTownBlocks() { - List townBlocks = new ArrayList<>(); for (TownyWorld world : getWorlds()) townBlocks.addAll(world.getTownBlocks()); return townBlocks; } - public List getAllPlotGroups() { - List groups = new ArrayList<>(); - groups.addAll(universe.getGroups()); - - return groups; + public List getAllPlotGroups() { + return new ArrayList<>(universe.getGroups()); } - public void newPlotGroup(PlotObjectGroup group) { + public void newPlotGroup(PlotGroup group) { universe.getGroups().add(group); } @@ -862,7 +858,7 @@ public void renameTown(Town town, String newName) throws AlreadyRegisteredExcept } if (town.hasObjectGroups()) - for (PlotObjectGroup pg : town.getPlotObjectGroups()) { + for (PlotGroup pg : town.getPlotObjectGroups()) { pg.setTown(town); savePlotGroup(pg); } @@ -986,9 +982,9 @@ public void renameNation(Nation nation, String newName) throws AlreadyRegistered } @Override - public void renameGroup(PlotObjectGroup group, String newName) throws AlreadyRegisteredException { + public void renameGroup(PlotGroup group, String newName) throws AlreadyRegisteredException { // Create new one - group.setGroupName(newName); + group.setName(newName); // Save savePlotGroup(group); diff --git a/src/com/palmergames/bukkit/towny/db/TownyFlatFileSource.java b/src/com/palmergames/bukkit/towny/db/TownyFlatFileSource.java index 238c30a7e5..2f4fa8ada9 100644 --- a/src/com/palmergames/bukkit/towny/db/TownyFlatFileSource.java +++ b/src/com/palmergames/bukkit/towny/db/TownyFlatFileSource.java @@ -8,7 +8,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -225,7 +225,7 @@ public String getTownBlockFilename(TownBlock townBlock) { return dataFolderPath + File.separator + "townblocks" + File.separator + townBlock.getWorld().getName() + File.separator + townBlock.getX() + "_" + townBlock.getZ() + "_" + TownySettings.getTownBlockSize() + ".data"; } - public String getPlotGroupFilename(PlotObjectGroup group) { + public String getPlotGroupFilename(PlotGroup group) { return dataFolderPath + File.separator + "plotgroups" + File.separator + group.getID() + ".data"; } @@ -1441,7 +1441,7 @@ public boolean loadPlotGroups() { String line = ""; String path; - for (PlotObjectGroup group : getAllPlotGroups()) { + for (PlotGroup group : getAllPlotGroups()) { path = getPlotGroupFilename(group); File groupFile = new File(path); @@ -1458,7 +1458,7 @@ public boolean loadPlotGroups() { line = keys.get("groupName"); if (line != null) - group.setGroupName(line.trim()); + group.setName(line.trim()); line = keys.get("groupID"); if (line != null) @@ -1609,7 +1609,7 @@ public boolean loadTownBlocks() { } if (groupID != null) { - PlotObjectGroup group = getPlotObjectGroup(townBlock.getTown().toString(), groupID); + PlotGroup group = getPlotObjectGroup(townBlock.getTown().toString(), groupID); townBlock.setPlotObjectGroup(group); } @@ -1664,8 +1664,8 @@ public boolean saveTownBlockList() { public boolean savePlotGroupList() { List list = new ArrayList<>(); - for (PlotObjectGroup group : getAllPlotGroups()) { - list.add(group.getTown().getName() + "," + group.getID() + "," + group.getGroupName()); + for (PlotGroup group : getAllPlotGroups()) { + list.add(group.getTown().getName() + "," + group.getID() + "," + group.getName()); } this.queryQueue.add(new FlatFile_Task(list, dataFolderPath + File.separator + "plotgroups.txt")); @@ -1945,7 +1945,7 @@ public boolean saveTown(Town town) { } @Override - public boolean savePlotGroup(PlotObjectGroup group) { + public boolean savePlotGroup(PlotGroup group) { List list = new ArrayList<>(); @@ -1953,7 +1953,7 @@ public boolean savePlotGroup(PlotObjectGroup group) { list.add("groupID=" + group.getID().toString()); // Group Name - list.add("groupName=" + group.getGroupName()); + list.add("groupName=" + group.getName()); // Group Price list.add("groupPrice=" + group.getPrice()); @@ -2246,7 +2246,7 @@ public boolean saveTownBlock(TownBlock townBlock) { StringBuilder groupName = new StringBuilder(); if (townBlock.hasPlotObjectGroup()) { groupID.append(townBlock.getPlotObjectGroup().getID()); - groupName.append(townBlock.getPlotObjectGroup().getGroupName()); + groupName.append(townBlock.getPlotObjectGroup().getName()); } list.add("groupID=" + groupID.toString()); @@ -2636,7 +2636,7 @@ public void deleteTownBlock(TownBlock townBlock) { } @Override - public void deletePlotGroup(PlotObjectGroup group) { + public void deletePlotGroup(PlotGroup group) { File file = new File(getPlotGroupFilename(group)); if (file.exists()) file.deleteOnExit(); diff --git a/src/com/palmergames/bukkit/towny/db/TownySQLSource.java b/src/com/palmergames/bukkit/towny/db/TownySQLSource.java index 5873848f5c..d2c4961cc4 100644 --- a/src/com/palmergames/bukkit/towny/db/TownySQLSource.java +++ b/src/com/palmergames/bukkit/towny/db/TownySQLSource.java @@ -15,7 +15,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Nation; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -1532,7 +1532,7 @@ public boolean loadTownBlocks() { if (line != null && !line.isEmpty()) { try { UUID groupID = UUID.fromString(line.trim()); - PlotObjectGroup group = getPlotObjectGroup(townBlock.getTown().toString(), groupID); + PlotGroup group = getPlotObjectGroup(townBlock.getTown().toString(), groupID); townBlock.setPlotObjectGroup(group); } catch (Exception ignored) {} @@ -1666,11 +1666,11 @@ public synchronized boolean saveTown(Town town) { } @Override - public synchronized boolean savePlotGroup(PlotObjectGroup group) { - TownyMessaging.sendDebugMsg("Saving group " + group.getGroupName()); + public synchronized boolean savePlotGroup(PlotGroup group) { + TownyMessaging.sendDebugMsg("Saving group " + group.getName()); try { HashMap nat_hm = new HashMap<>(); - nat_hm.put("groupName", group.getGroupName()); + nat_hm.put("groupName", group.getName()); nat_hm.put("groupID", group.getID()); nat_hm.put("groupPrice", group.getPrice()); nat_hm.put("town", group.getTown().toString()); @@ -2083,7 +2083,7 @@ public void deleteTownBlock(TownBlock townBlock) { } @Override - public void deletePlotGroup(PlotObjectGroup group) { + public void deletePlotGroup(PlotGroup group) { } @@ -2179,7 +2179,7 @@ public boolean loadPlotGroups() { ResultSet rs; - for (PlotObjectGroup plotGroup : getAllPlotGroups()) { + for (PlotGroup plotGroup : getAllPlotGroups()) { try { Statement s = cntx.createStatement(); rs = s.executeQuery("SELECT * FROM " + tb_prefix + "PLOTGROUPS" + " WHERE groupID='" + plotGroup.getID().toString() + "'"); @@ -2188,7 +2188,7 @@ public boolean loadPlotGroups() { line = rs.getString("groupName"); if (line != null) try { - plotGroup.setGroupName(line.trim()); + plotGroup.setName(line.trim()); } catch (Exception ignored) {} line = rs.getString("groupID"); @@ -2215,7 +2215,7 @@ public boolean loadPlotGroups() { s.close(); } catch (SQLException e) { - TownyMessaging.sendErrorMsg("Loading Error: Exception while reading plot group: " + plotGroup.getGroupName() + " at line: " + line + " in the sql database"); + TownyMessaging.sendErrorMsg("Loading Error: Exception while reading plot group: " + plotGroup.getName() + " at line: " + line + " in the sql database"); e.printStackTrace(); return false; } diff --git a/src/com/palmergames/bukkit/towny/invites/InviteHandler.java b/src/com/palmergames/bukkit/towny/invites/InviteHandler.java index 24e215ca1d..ef003d0930 100644 --- a/src/com/palmergames/bukkit/towny/invites/InviteHandler.java +++ b/src/com/palmergames/bukkit/towny/invites/InviteHandler.java @@ -79,14 +79,14 @@ public static int getSentInvitesAmount(TownyInviteSender sender) { return invites.size(); } - public static int getSentAllyRequestsAmount(TownyAllySender sender) { + public static int getSentAllyRequestsAmount(Nation sender) { List invites = sender.getSentAllyInvites(); return invites.size(); } - public static int getSentAllyRequestsMaxAmount(TownyAllySender sender) { + public static int getSentAllyRequestsMaxAmount(Nation sender) { int amount = 0; - if (sender instanceof Nation) { + if (sender != null) { if (TownySettings.getMaximumRequestsSentNation() == 0){ amount = 100; } else { diff --git a/src/com/palmergames/bukkit/towny/invites/TownyAllySender.java b/src/com/palmergames/bukkit/towny/invites/TownyAllySender.java deleted file mode 100644 index 7a1ad19e1a..0000000000 --- a/src/com/palmergames/bukkit/towny/invites/TownyAllySender.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.palmergames.bukkit.towny.invites; - -import com.palmergames.bukkit.towny.invites.exceptions.TooManyInvitesException; - -import java.util.List; - -public interface TownyAllySender { - String getName(); - - void newSentAllyInvite(Invite invite) throws TooManyInvitesException; - - void deleteSentAllyInvite(Invite invite); - - List getSentAllyInvites(); -} diff --git a/src/com/palmergames/bukkit/towny/invites/TownyInviteSender.java b/src/com/palmergames/bukkit/towny/invites/TownyInviteSender.java index cb5ac18b7c..4612e9c413 100644 --- a/src/com/palmergames/bukkit/towny/invites/TownyInviteSender.java +++ b/src/com/palmergames/bukkit/towny/invites/TownyInviteSender.java @@ -1,14 +1,14 @@ package com.palmergames.bukkit.towny.invites; import com.palmergames.bukkit.towny.invites.exceptions.TooManyInvitesException; +import com.palmergames.bukkit.towny.object.Nameable; import java.util.List; /** * @author Articdive */ -public interface TownyInviteSender { - String getName(); +public interface TownyInviteSender extends Nameable { List getSentInvites(); diff --git a/src/com/palmergames/bukkit/towny/object/Bank.java b/src/com/palmergames/bukkit/towny/object/Bank.java new file mode 100644 index 0000000000..4aca3fbcc6 --- /dev/null +++ b/src/com/palmergames/bukkit/towny/object/Bank.java @@ -0,0 +1,19 @@ +package com.palmergames.bukkit.towny.object; + +import com.palmergames.bukkit.towny.exceptions.EconomyException; +import com.palmergames.bukkit.towny.exceptions.TownyException; + +/** + * Allows objects to manage a self contained bank. + */ +public interface Bank extends EconomyHandler { + /** + * Takes money from object bank account and gives it to a resident. + * + * @param resident The resident to pay to. + * @param amount The amount to pay. + * @throws EconomyException Thrown if there is an economy error. + * @throws TownyException Thrown if their is a hierarchical error. + */ + void withdrawFromBank(Resident resident, int amount) throws EconomyException, TownyException; +} diff --git a/src/com/palmergames/bukkit/towny/object/Nameable.java b/src/com/palmergames/bukkit/towny/object/Nameable.java new file mode 100644 index 0000000000..648e3ca903 --- /dev/null +++ b/src/com/palmergames/bukkit/towny/object/Nameable.java @@ -0,0 +1,14 @@ +package com.palmergames.bukkit.towny.object; + +/** + * A simple interface to show that a class can be named, agnostic + * if its a {@link TownyObject} or not. + */ +public interface Nameable { + /** + * Get the name of the specified object + * + * @return A String representing the name of the object. + */ + String getName(); +} diff --git a/src/com/palmergames/bukkit/towny/object/Nation.java b/src/com/palmergames/bukkit/towny/object/Nation.java index 9028e797e5..aed6303211 100644 --- a/src/com/palmergames/bukkit/towny/object/Nation.java +++ b/src/com/palmergames/bukkit/towny/object/Nation.java @@ -14,7 +14,6 @@ import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.invites.Invite; import com.palmergames.bukkit.towny.invites.InviteHandler; -import com.palmergames.bukkit.towny.invites.TownyAllySender; import com.palmergames.bukkit.towny.invites.exceptions.TooManyInvitesException; import com.palmergames.bukkit.towny.object.metadata.CustomDataField; import com.palmergames.bukkit.towny.permissions.TownyPerms; @@ -31,7 +30,7 @@ import java.util.List; import java.util.UUID; -public class Nation extends TownyObject implements ResidentList, TownyInviter, TownyAllySender, EconomyHandler { +public class Nation extends TownyObject implements ResidentList, TownyInviter, Bank { private static final String ECONOMY_ACCOUNT_PREFIX = TownySettings.getNationAccountPrefix(); @@ -84,8 +83,7 @@ public void addAlly(Nation nation) throws AlreadyRegisteredException { else { try { removeEnemy(nation); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} getAllies().add(nation); } } @@ -104,8 +102,7 @@ public boolean removeAllAllies() { try { removeAlly(ally); ally.removeAlly(this); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} return getAllies().size() == 0; } @@ -126,8 +123,7 @@ public void addEnemy(Nation nation) throws AlreadyRegisteredException { else { try { removeAlly(nation); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} getEnemies().add(nation); } @@ -147,8 +143,7 @@ public boolean removeAllEnemies() { try { removeEnemy(enemy); enemy.removeEnemy(this); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} return getAllies().size() == 0; } @@ -239,7 +234,7 @@ public boolean hasNationSpawn(){ public void setNationSpawn(Location spawn) throws TownyException { Coord spawnBlock = Coord.parseCoord(spawn); - TownBlock townBlock = null; + TownBlock townBlock; TownyWorld world = TownyUniverse.getInstance().getDataSource().getWorld(spawn.getWorld().getName()); if (world.hasTownBlock(spawnBlock)) townBlock = world.getTownBlock(spawnBlock); @@ -412,11 +407,7 @@ private void removeAllTowns() { } public void setTaxes(double taxes) { - - if (taxes > TownySettings.getMaxTax()) - this.taxes = TownySettings.getMaxTax(); - else - this.taxes = taxes; + this.taxes = Math.min(taxes, TownySettings.getMaxTax()); } public double getTaxes() { @@ -444,7 +435,7 @@ public void recheckTownDistance() throws TownyException { final Coord capitalCoord = capital.getHomeBlock().getCoord(); Iterator it = towns.iterator(); while(it.hasNext()) { - Town town = (Town) it.next(); + Town town = it.next(); Coord townCoord = town.getHomeBlock().getCoord(); if (!capital.getHomeBlock().getWorld().getName().equals(town.getHomeBlock().getWorld().getName())) { it.remove(); @@ -513,6 +504,7 @@ public void collect(double amount) throws EconomyException { } + @Override public void withdrawFromBank(Resident resident, int amount) throws EconomyException, TownyException { //if (!isKing(resident))// && !hasAssistant(resident)) @@ -630,8 +622,7 @@ public void newSentInvite(Invite invite) throws TooManyInvitesException { public void deleteSentInvite(Invite invite) { sentinvites.remove(invite); } - - @Override + public void newSentAllyInvite(Invite invite) throws TooManyInvitesException { if (sentallyinvites.size() <= InviteHandler.getSentAllyRequestsMaxAmount(this) -1) { sentallyinvites.add(invite); @@ -639,13 +630,11 @@ public void newSentAllyInvite(Invite invite) throws TooManyInvitesException { throw new TooManyInvitesException(TownySettings.getLangString("msg_err_nation_sent_too_many_requests")); } } - - @Override + public void deleteSentAllyInvite(Invite invite) { sentallyinvites.remove(invite); } - - @Override + public List getSentAllyInvites() { return sentallyinvites; } @@ -724,7 +713,7 @@ public EconomyAccount getAccount() { if (hasCapital() && getCapital().hasWorld()) { world = BukkitTools.getWorld(getCapital().getWorld().getName()); } else { - world = BukkitTools.getWorlds().get(0);; + world = BukkitTools.getWorlds().get(0); } account = new EconomyAccount(accountName, world); diff --git a/src/com/palmergames/bukkit/towny/object/ObjectGroup.java b/src/com/palmergames/bukkit/towny/object/ObjectGroup.java index 0908d5f7e0..a0a9c0445d 100644 --- a/src/com/palmergames/bukkit/towny/object/ObjectGroup.java +++ b/src/com/palmergames/bukkit/towny/object/ObjectGroup.java @@ -4,9 +4,10 @@ /** * An abstract class which defines the mechanics of groups in towny. + * * @author Suneet Tipirneni (Siris) */ -public abstract class ObjectGroup { +public abstract class ObjectGroup implements Nameable { private UUID id; private String name; @@ -28,11 +29,12 @@ public void setID(UUID ID) { this.id = ID; } - public String getGroupName() { + @Override + public String getName() { return name; } - public void setGroupName(String name) { this.name = name; } + public void setName(String name) { this.name = name; } /** * Determines whether a group is equivalent or not. diff --git a/src/com/palmergames/bukkit/towny/object/ObjectGroupManageable.java b/src/com/palmergames/bukkit/towny/object/ObjectGroupManageable.java index d95c7be6b0..88a57daa4c 100644 --- a/src/com/palmergames/bukkit/towny/object/ObjectGroupManageable.java +++ b/src/com/palmergames/bukkit/towny/object/ObjectGroupManageable.java @@ -38,7 +38,7 @@ default boolean hasObjectGroup(T group) { default boolean hasObjectGroupName(String name) { if (hasObjectGroups()) { for (T group : getObjectGroups()) { - if (group.getGroupName().equalsIgnoreCase(name)) { + if (group.getName().equalsIgnoreCase(name)) { return true; } } diff --git a/src/com/palmergames/bukkit/towny/object/PlotObjectGroup.java b/src/com/palmergames/bukkit/towny/object/PlotGroup.java similarity index 82% rename from src/com/palmergames/bukkit/towny/object/PlotObjectGroup.java rename to src/com/palmergames/bukkit/towny/object/PlotGroup.java index 5211a7cae0..2072ce7d4a 100644 --- a/src/com/palmergames/bukkit/towny/object/PlotObjectGroup.java +++ b/src/com/palmergames/bukkit/towny/object/PlotGroup.java @@ -10,7 +10,7 @@ * @author Suneet Tipirneni (Siris) * A simple class which encapsulates the grouping of townblocks. */ -public class PlotObjectGroup extends ObjectGroup { +public class PlotGroup extends ObjectGroup implements TownBlockOwner { private Resident resident = null; private List townBlocks; private double price = -1; @@ -22,7 +22,7 @@ public class PlotObjectGroup extends ObjectGroup { * @param name An alias for the id used for player in-game interaction via commands. * @param town The town that this group is owned by. */ - public PlotObjectGroup(UUID id, String name, Town town) { + public PlotGroup(UUID id, String name, Town town) { super(id, name); this.town = town; } @@ -41,13 +41,13 @@ public String toString() { * @param name The name of the group. */ @Override - public void setGroupName(String name) { - if (getGroupName() == null) { - super.setGroupName(name); + public void setName(String name) { + if (getName() == null) { + super.setName(name); } else { - String oldName = getGroupName(); - super.setGroupName(name); + String oldName = getName(); + super.setName(name); town.renamePlotGroup(oldName, this); } } @@ -102,11 +102,21 @@ public void removeTownBlock(TownBlock townBlock) { if (townBlocks != null) townBlocks.remove(townBlock); } - + + @Override + public void setTownblocks(List townBlocks) { + this.townBlocks = townBlocks; + } + public List getTownBlocks() { return townBlocks; } - + + @Override + public boolean hasTownBlock(TownBlock townBlock) { + return townBlocks.contains(townBlock); + } + public void setPrice(double price) { this.price = price; } @@ -120,6 +130,11 @@ public void addPlotPrice(double pPrice) { this.price += pPrice; } + @Override + public void setPermissions(String line) { + this.permissions.load(line); + } + public TownyPermission getPermissions() { return permissions; } diff --git a/src/com/palmergames/bukkit/towny/object/Resident.java b/src/com/palmergames/bukkit/towny/object/Resident.java index 8c523a4ad8..013626857b 100644 --- a/src/com/palmergames/bukkit/towny/object/Resident.java +++ b/src/com/palmergames/bukkit/towny/object/Resident.java @@ -28,7 +28,7 @@ import java.util.Arrays; import java.util.List; -public class Resident extends TownyObject implements ResidentModes, TownyInviteReceiver, EconomyHandler, TownBlockOwner { +public class Resident extends TownyObject implements TownyInviteReceiver, EconomyHandler, TownBlockOwner { private List friends = new ArrayList<>(); // private List regenUndo = new ArrayList<>(); // Feature is disabled as of MC 1.13, maybe it'll come back. private Town town = null; @@ -349,8 +349,7 @@ public void removeAllFriends() { for (Resident resident : new ArrayList<>(friends)) try { removeFriend(resident); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} } public void clear() throws EmptyTownException { @@ -364,8 +363,7 @@ public void clear() throws EmptyTownException { setTitle(""); setSurname(""); updatePerms(); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} } public void updatePerms() { @@ -465,21 +463,18 @@ public double getTeleportCost() { // // } // } - - @Override + public List getModes() { return this.modes; } - - @Override + public boolean hasMode(String mode) { return this.modes.contains(mode.toLowerCase()); } - - @Override - public void toggleMode(String newModes[], boolean notify) { + + public void toggleMode(String[] newModes, boolean notify) { /* * Toggle any modes passed to us on/off. @@ -504,8 +499,7 @@ public void toggleMode(String newModes[], boolean notify) { if (notify) TownyMessaging.sendMsg(this, (TownySettings.getLangString("msg_modes_set") + StringMgmt.join(getModes(), ","))); } - - @Override + public void setModes(String[] modes, boolean notify) { this.modes.clear(); @@ -516,8 +510,7 @@ public void setModes(String[] modes, boolean notify) { } - - @Override + public void clearModes() { this.modes.clear(); @@ -695,7 +688,7 @@ public EconomyAccount getAccount() { if (player != null) { world = player.getWorld(); } else { - world = BukkitTools.getWorlds().get(0);; + world = BukkitTools.getWorlds().get(0); } account = new EconomyAccount(accountName, world); diff --git a/src/com/palmergames/bukkit/towny/object/ResidentModes.java b/src/com/palmergames/bukkit/towny/object/ResidentModes.java deleted file mode 100644 index ee721ff86b..0000000000 --- a/src/com/palmergames/bukkit/towny/object/ResidentModes.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.palmergames.bukkit.towny.object; - -import java.util.List; - -/** - * - * @author ElgarL - * - */ -public interface ResidentModes { - - List getModes(); - - boolean hasMode(String mode); - - void toggleMode(String newModes[], boolean notify); - - void setModes(String modes[], boolean notify); - - void clearModes(); - - -} diff --git a/src/com/palmergames/bukkit/towny/object/Town.java b/src/com/palmergames/bukkit/towny/object/Town.java index 593d2ba4a2..5c13d897e0 100644 --- a/src/com/palmergames/bukkit/towny/object/Town.java +++ b/src/com/palmergames/bukkit/towny/object/Town.java @@ -31,7 +31,7 @@ import java.util.List; import java.util.UUID; -public class Town extends TownyObject implements ResidentList, TownyInviter, ObjectGroupManageable, EconomyHandler, TownBlockOwner { +public class Town extends TownyObject implements ResidentList, TownyInviter, ObjectGroupManageable, Bank, TownBlockOwner { private static final String ECONOMY_ACCOUNT_PREFIX = TownySettings.getTownAccountPrefix(); @@ -39,7 +39,7 @@ public class Town extends TownyObject implements ResidentList, TownyInviter, Obj private List outlaws = new ArrayList<>(); private List outpostSpawns = new ArrayList<>(); private List jailSpawns = new ArrayList<>(); - private HashMap plotGroups = null; + private HashMap plotGroups = null; private Resident mayor; private int bonusBlocks = 0; @@ -102,8 +102,7 @@ public void addTownBlock(TownBlock townBlock) throws AlreadyRegisteredException if (townBlocks.size() == 1 && !hasHomeBlock()) try { setHomeBlock(townBlock); - } catch (TownyException e) { - } + } catch (TownyException ignored) {} } } @@ -134,15 +133,11 @@ public Resident getMayor() { public void setTaxes(double taxes) { - if (isTaxPercentage) - if (taxes > TownySettings.getMaxTaxPercent()) - this.taxes = TownySettings.getMaxTaxPercent(); - else - this.taxes = taxes; - else if (taxes > TownySettings.getMaxTax()) - this.taxes = TownySettings.getMaxTax(); - else - this.taxes = taxes; + if (isTaxPercentage) { + this.taxes = Math.min(taxes, TownySettings.getMaxTaxPercent()); + } else { + this.taxes = Math.min(taxes, TownySettings.getMaxTax()); + } } public double getTaxes() { @@ -379,13 +374,11 @@ public int getBonusBlocks() { } public double getBonusBlockCost() { - double nextprice = (Math.pow(TownySettings.getPurchasedBonusBlocksIncreaseValue() , getPurchasedBlocks()) * TownySettings.getPurchasedBonusBlocksCost()); - return nextprice; + return (Math.pow(TownySettings.getPurchasedBonusBlocksIncreaseValue() , getPurchasedBlocks()) * TownySettings.getPurchasedBonusBlocksCost()); } public double getTownBlockCost() { - double nextprice = (Math.pow(TownySettings.getClaimPriceIncreaseValue(), getTownBlocks().size()) * TownySettings.getClaimPrice()); - return nextprice; + return (Math.pow(TownySettings.getClaimPriceIncreaseValue(), getTownBlocks().size()) * TownySettings.getClaimPrice()); } public double getTownBlockCostN(int inputN) throws TownyException { @@ -393,14 +386,13 @@ public double getTownBlockCostN(int inputN) throws TownyException { if (inputN < 0) throw new TownyException(TownySettings.getLangString("msg_err_negative")); - int n = inputN; - if (n == 0) - return n; + if (inputN == 0) + return inputN; double nextprice = getTownBlockCost(); int i = 1; double cost = nextprice; - while (i < n){ + while (i < inputN){ nextprice = Math.round(Math.pow(TownySettings.getClaimPriceIncreaseValue() , getTownBlocks().size()+i) * TownySettings.getClaimPrice()); cost += nextprice; i++; @@ -785,8 +777,7 @@ public void removeTownBlock(TownBlock townBlock) throws NotRegisteredException { try { if (getHomeBlock() == townBlock) setHomeBlock(null); - } catch (TownyException e) { - } + } catch (TownyException ignored) {} townBlocks.remove(townBlock); TownyUniverse.getInstance().getDataSource().saveTown(this); } @@ -887,11 +878,7 @@ public void removeOutpostSpawn(Coord coord) { } public void setPlotPrice(double plotPrice) { - - if (plotPrice > TownySettings.getMaxPlotPrice()) - this.plotPrice = TownySettings.getMaxPlotPrice(); - else - this.plotPrice = plotPrice; + this.plotPrice = Math.min(plotPrice, TownySettings.getMaxPlotPrice()); } public double getPlotPrice() { @@ -901,12 +888,8 @@ public double getPlotPrice() { public double getPlotTypePrice(TownBlockType type) { - double plotPrice = 0; + double plotPrice; switch (type.ordinal()) { - - case 0: - plotPrice = getPlotPrice(); - break; case 1: plotPrice = getCommercialPlotPrice(); break; @@ -925,11 +908,7 @@ public double getPlotTypePrice(TownBlockType type) { } public void setCommercialPlotPrice(double commercialPlotPrice) { - - if (commercialPlotPrice > TownySettings.getMaxPlotPrice()) - this.commercialPlotPrice = TownySettings.getMaxPlotPrice(); - else - this.commercialPlotPrice = commercialPlotPrice; + this.commercialPlotPrice = Math.min(commercialPlotPrice, TownySettings.getMaxPlotPrice()); } public double getCommercialPlotPrice() { @@ -938,11 +917,7 @@ public double getCommercialPlotPrice() { } public void setEmbassyPlotPrice(double embassyPlotPrice) { - - if (embassyPlotPrice > TownySettings.getMaxPlotPrice()) - this.embassyPlotPrice = TownySettings.getMaxPlotPrice(); - else - this.embassyPlotPrice = embassyPlotPrice; + this.embassyPlotPrice = Math.min(embassyPlotPrice, TownySettings.getMaxPlotPrice()); } public double getEmbassyPlotPrice() { @@ -966,11 +941,7 @@ public boolean isHomeBlock(TownBlock townBlock) { } public void setPlotTax(double plotTax) { - - if (plotTax > TownySettings.getMaxTax()) - this.plotTax = TownySettings.getMaxTax(); - else - this.plotTax = plotTax; + this.plotTax = Math.min(plotTax, TownySettings.getMaxTax()); } public double getPlotTax() { @@ -979,11 +950,7 @@ public double getPlotTax() { } public void setCommercialPlotTax(double commercialTax) { - - if (commercialTax > TownySettings.getMaxTax()) - this.commercialPlotTax = TownySettings.getMaxTax(); - else - this.commercialPlotTax = commercialTax; + this.commercialPlotTax = Math.min(commercialTax, TownySettings.getMaxTax()); } public double getCommercialPlotTax() { @@ -992,11 +959,7 @@ public double getCommercialPlotTax() { } public void setEmbassyPlotTax(double embassyPlotTax) { - - if (embassyPlotTax > TownySettings.getMaxTax()) - this.embassyPlotTax = TownySettings.getMaxTax(); - else - this.embassyPlotTax = embassyPlotTax; + this.embassyPlotTax = Math.min(embassyPlotTax, TownySettings.getMaxTax()); } public double getEmbassyPlotTax() { @@ -1030,6 +993,7 @@ public void collect(double amount) throws EconomyException { } + @Override public void withdrawFromBank(Resident resident, int amount) throws EconomyException, TownyException { //if (!isMayor(resident))// && !hasAssistant(resident)) @@ -1215,11 +1179,7 @@ public void setUuid(UUID uuid) { } public boolean hasValidUUID() { - if (uuid != null) { - return true; - } else { - return false; - } + return uuid != null; } public void setRegistered(long registered) { @@ -1240,11 +1200,7 @@ public boolean isAlliedWith(Town othertown) { if (this.getNation().hasAlly(othertown.getNation())) { return true; } else { - if (this.getNation().equals(othertown.getNation())) { - return true; - } else { - return false; - } + return this.getNation().equals(othertown.getNation()); } } catch (NotRegisteredException e) { return false; @@ -1336,7 +1292,7 @@ public int getConqueredDays() { return this.conqueredDays; } - public List getTownBlocksForPlotGroup(PlotObjectGroup group) { + public List getTownBlocksForPlotGroup(PlotGroup group) { ArrayList retVal = new ArrayList<>(); @@ -1350,21 +1306,21 @@ public List getTownBlocksForPlotGroup(PlotObjectGroup group) { return retVal; } - public void renamePlotGroup(String oldName, PlotObjectGroup group) { + public void renamePlotGroup(String oldName, PlotGroup group) { plotGroups.remove(oldName); - plotGroups.put(group.getGroupName(), group); + plotGroups.put(group.getName(), group); } - public void addPlotGroup(PlotObjectGroup group) { + public void addPlotGroup(PlotGroup group) { if (!hasObjectGroups()) plotGroups = new HashMap<>(); - plotGroups.put(group.getGroupName(), group); + plotGroups.put(group.getName(), group); } - public void removePlotGroup(PlotObjectGroup plotGroup) { - if (hasObjectGroups() && plotGroups.remove(plotGroup.getGroupName()) != null) { + public void removePlotGroup(PlotGroup plotGroup) { + if (hasObjectGroups() && plotGroups.remove(plotGroup.getName()) != null) { for (TownBlock tb : getTownBlocks()) { if (tb.hasPlotObjectGroup() && tb.getPlotObjectGroup().equals(plotGroup)) { tb.getPlotObjectGroup().setID(null); @@ -1373,14 +1329,10 @@ public void removePlotGroup(PlotObjectGroup plotGroup) { } } } - - public int generatePlotGroupID() { - return (hasObjectGroups()) ? getObjectGroups().size() : 0; - } // Abstract to collection in case we want to change structure in the future @Override - public Collection getObjectGroups() { + public Collection getObjectGroups() { if (plotGroups == null) return null; @@ -1390,9 +1342,9 @@ public Collection getObjectGroups() { // Method is inefficient compared to getting the group from name. @Override - public PlotObjectGroup getObjectGroupFromID(UUID ID) { + public PlotGroup getObjectGroupFromID(UUID ID) { if (hasObjectGroups()) { - for (PlotObjectGroup pg : getObjectGroups()) { + for (PlotGroup pg : getObjectGroups()) { if (pg.getID().equals(ID)) return pg; } @@ -1412,7 +1364,7 @@ public boolean hasObjectGroupName(String name) { return hasObjectGroups() && plotGroups.containsKey(name); } - public PlotObjectGroup getPlotObjectGroupFromName(String name) { + public PlotGroup getPlotObjectGroupFromName(String name) { if (hasObjectGroups()) { return plotGroups.get(name); } @@ -1421,11 +1373,11 @@ public PlotObjectGroup getPlotObjectGroupFromName(String name) { } // Wraps other functions to provide a better naming scheme for the end developer. - public PlotObjectGroup getPlotObjectGroupFromID(UUID ID) { + public PlotGroup getPlotObjectGroupFromID(UUID ID) { return getObjectGroupFromID(ID); } - public Collection getPlotObjectGroups() { + public Collection getPlotObjectGroups() { return getObjectGroups(); } diff --git a/src/com/palmergames/bukkit/towny/object/TownBlock.java b/src/com/palmergames/bukkit/towny/object/TownBlock.java index 5df693932f..14299efd07 100644 --- a/src/com/palmergames/bukkit/towny/object/TownBlock.java +++ b/src/com/palmergames/bukkit/towny/object/TownBlock.java @@ -14,7 +14,7 @@ import org.bukkit.Bukkit; import java.util.HashSet; -public class TownBlock { +public class TownBlock extends TownyObject { // TODO: Admin only or possibly a group check // private List groups; @@ -22,19 +22,19 @@ public class TownBlock { private Town town; private Resident resident = null; private TownBlockType type = TownBlockType.RESIDENTIAL; - private String name = ""; private int x, z; private double plotPrice = -1; private boolean locked = false; private boolean outpost = false; private HashSet metadata = null; - private PlotObjectGroup plotGroup; + private PlotGroup plotGroup; //Plot level permissions protected TownyPermission permissions = new TownyPermission(); protected boolean isChanged = false; public TownBlock(int x, int z, TownyWorld world) { + super(""); this.x = x; this.z = z; this.setWorld(world); @@ -45,14 +45,11 @@ public void setTown(Town town) { try { if (hasTown()) this.town.removeTownBlock(this); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} this.town = town; try { town.addTownBlock(this); - } catch (AlreadyRegisteredException e) { - } catch (NullPointerException e) { - } + } catch (AlreadyRegisteredException | NullPointerException ignored) {} } public Town getTown() throws NotRegisteredException { @@ -72,8 +69,7 @@ public void setResident(Resident resident) { try { if (hasResident()) this.resident.removeTownBlock(this); - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} this.resident = resident; try { resident.addTownBlock(this); @@ -81,7 +77,7 @@ public void setResident(Resident resident) { } catch (AlreadyRegisteredException | NullPointerException e) { successful = false; } - if (successful && resident != null) { //Should not cause a NPE, is checkingg if resident is null and + if (successful) { //Should not cause a NPE, is checkingg if resident is null and // if "this.resident" returns null (Unclaimed / Wilderness) the PlotChangeOwnerEvent changes it to: "undefined" Bukkit.getPluginManager().callEvent(new PlotChangeOwnerEvent(this.resident, resident, this)); } @@ -105,14 +101,12 @@ public boolean isOwner(TownBlockOwner owner) { try { if (owner == getTown()) return true; - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} try { if (owner == getResident()) return true; - } catch (NotRegisteredException e) { - } + } catch (NotRegisteredException ignored) {} return false; } @@ -261,7 +255,7 @@ public void setType(String typeName, Resident resident) throws TownyException, E if (type == null) throw new TownyException(TownySettings.getLangString("msg_err_not_block_type")); - double cost = 0; + double cost; switch (type) { case COMMERCIAL: cost = TownySettings.getPlotSetCommercialCost(); @@ -313,14 +307,9 @@ public boolean isHomeBlock() { } } + @Override public void setName(String newName) { - - this.name = newName.replace("_", " "); - } - - public String getName() { - - return this.name; + super.setName(newName.replace("_", " ")); } public void setX(int x) { @@ -457,7 +446,7 @@ public void setMetadata(String str) { public boolean hasPlotObjectGroup() { return plotGroup != null; } - public PlotObjectGroup getPlotObjectGroup() { + public PlotGroup getPlotObjectGroup() { return plotGroup; } @@ -465,13 +454,13 @@ public void removePlotObjectGroup() { this.plotGroup = null; } - public void setPlotObjectGroup(PlotObjectGroup group) { + public void setPlotObjectGroup(PlotGroup group) { this.plotGroup = group; try { group.addTownBlock(this); } catch (NullPointerException e) { - TownyMessaging.sendErrorMsg("Townblock failed to setPlotObjectGroup(group), group is null. " + String.valueOf(group)); + TownyMessaging.sendErrorMsg("Townblock failed to setPlotObjectGroup(group), group is null. " + group); } } } \ No newline at end of file diff --git a/src/com/palmergames/bukkit/towny/object/TownyInviter.java b/src/com/palmergames/bukkit/towny/object/TownyInviter.java index b85023fd2f..7fb90f7176 100644 --- a/src/com/palmergames/bukkit/towny/object/TownyInviter.java +++ b/src/com/palmergames/bukkit/towny/object/TownyInviter.java @@ -3,4 +3,9 @@ import com.palmergames.bukkit.towny.invites.TownyInviteReceiver; import com.palmergames.bukkit.towny.invites.TownyInviteSender; +/** + * A class that only serves as a namespacing class. + * + * @author Suneet Tipirneni (Siris) + */ public interface TownyInviter extends TownyInviteSender, TownyInviteReceiver {} diff --git a/src/com/palmergames/bukkit/towny/object/TownyObject.java b/src/com/palmergames/bukkit/towny/object/TownyObject.java index 2ea79f5ebd..ab657d8439 100644 --- a/src/com/palmergames/bukkit/towny/object/TownyObject.java +++ b/src/com/palmergames/bukkit/towny/object/TownyObject.java @@ -8,7 +8,7 @@ import java.util.HashSet; import java.util.List; -public abstract class TownyObject { +public abstract class TownyObject implements Nameable { private String name; private HashSet metadata = null; @@ -20,7 +20,8 @@ protected TownyObject(String name) { public void setName(String name) { this.name = name; } - + + @Override public String getName() { return name; } @@ -86,8 +87,8 @@ public void setMetadata(String str) { metadata = new HashSet<>(); String[] objects = str.split(";"); - for (int i = 0; i < objects.length; i++) { - metadata.add(CustomDataField.load(objects[i])); + for (String object : objects) { + metadata.add(CustomDataField.load(object)); } } diff --git a/src/com/palmergames/bukkit/towny/tasks/PlotClaim.java b/src/com/palmergames/bukkit/towny/tasks/PlotClaim.java index abacc2dd0e..09bbc3c0f9 100644 --- a/src/com/palmergames/bukkit/towny/tasks/PlotClaim.java +++ b/src/com/palmergames/bukkit/towny/tasks/PlotClaim.java @@ -8,7 +8,7 @@ import com.palmergames.bukkit.towny.exceptions.EconomyException; import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -83,7 +83,7 @@ public void run() { worldCoord.getTownBlock().getPlotObjectGroup().setResident(resident); worldCoord.getTownBlock().getPlotObjectGroup().setPrice(-1); - TownyMessaging.sendPrefixedTownMessage(worldCoord.getTownBlock().getTown(), String.format(TownySettings.getLangString("msg_player_successfully_bought_group_x"), player.getName(), worldCoord.getTownBlock().getPlotObjectGroup().getGroupName())); + TownyMessaging.sendPrefixedTownMessage(worldCoord.getTownBlock().getTown(), String.format(TownySettings.getLangString("msg_player_successfully_bought_group_x"), player.getName(), worldCoord.getTownBlock().getPlotObjectGroup().getName())); TownyUniverse.getInstance().getDataSource().savePlotGroup(worldCoord.getTownBlock().getPlotObjectGroup()); @@ -169,7 +169,7 @@ private boolean residentGroupClaim(List worldCoords) throws TownyExc try { TownBlock townBlock = worldCoord.getTownBlock(); Town town = townBlock.getTown(); - PlotObjectGroup group = townBlock.getPlotObjectGroup(); + PlotGroup group = townBlock.getPlotObjectGroup(); if ((resident.hasTown() && (resident.getTown() != town) && (!townBlock.getType().equals(TownBlockType.EMBASSY))) || ((!resident.hasTown()) && (!townBlock.getType().equals(TownBlockType.EMBASSY)))) throw new TownyException(TownySettings.getLangString("msg_err_not_part_town")); @@ -207,7 +207,7 @@ private boolean residentGroupClaim(List worldCoords) throws TownyExc townyUniverse.getDataSource().saveTownBlock(townBlock); if (i >= worldCoords.size() - 2) { - TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_successfully_bought_group_x"),resident.getName(), group.getGroupName())); + TownyMessaging.sendPrefixedTownMessage(town, String.format(TownySettings.getLangString("msg_player_successfully_bought_group_x"),resident.getName(), group.getName())); } // Update any caches for this WorldCoord diff --git a/src/com/palmergames/bukkit/towny/utils/AreaSelectionUtil.java b/src/com/palmergames/bukkit/towny/utils/AreaSelectionUtil.java index 81a411020b..8f399b1b21 100644 --- a/src/com/palmergames/bukkit/towny/utils/AreaSelectionUtil.java +++ b/src/com/palmergames/bukkit/towny/utils/AreaSelectionUtil.java @@ -6,7 +6,7 @@ import com.palmergames.bukkit.towny.exceptions.NotRegisteredException; import com.palmergames.bukkit.towny.exceptions.TownyException; import com.palmergames.bukkit.towny.object.Coord; -import com.palmergames.bukkit.towny.object.PlotObjectGroup; +import com.palmergames.bukkit.towny.object.PlotGroup; import com.palmergames.bukkit.towny.object.Resident; import com.palmergames.bukkit.towny.object.Town; import com.palmergames.bukkit.towny.object.TownBlock; @@ -243,7 +243,7 @@ public static List filterOwnedBlocks(TownBlockOwner owner, List filterPlotsByGroup(PlotObjectGroup group, List selection) { + public static List filterPlotsByGroup(PlotGroup group, List selection) { List out = new ArrayList<>(); for (WorldCoord worldCoord : selection) { @@ -259,12 +259,12 @@ public static List filterPlotsByGroup(PlotObjectGroup group, List getPlotGroupsFromSelection(List selection) { - HashSet seenGroups = new HashSet<>(); + public static HashSet getPlotGroupsFromSelection(List selection) { + HashSet seenGroups = new HashSet<>(); for (WorldCoord coord : selection) { - PlotObjectGroup group = null; + PlotGroup group = null; try { group = coord.getTownBlock().getPlotObjectGroup(); } catch (NotRegisteredException ignored) {}