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