Search in sources :

Example 1 with PermissionData

use of com.palmergames.bukkit.towny.object.PermissionData in project Towny by TownyAdvanced.

the class TownyFlatFileSource method loadTownBlocks.

@Override
public boolean loadTownBlocks() {
    String line = "";
    String path;
    for (TownBlock townBlock : universe.getTownBlocks().values()) {
        path = getTownBlockFilename(townBlock);
        File fileTownBlock = new File(path);
        if (fileTownBlock.exists() && fileTownBlock.isFile()) {
            try {
                HashMap<String, String> keys = FileMgmt.loadFileIntoHashMap(fileTownBlock);
                line = keys.get("town");
                if (line != null) {
                    if (line.isEmpty()) {
                        TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_townblock_file_missing_town_delete", path));
                        universe.removeTownBlock(townBlock);
                        deleteTownBlock(townBlock);
                        continue;
                    }
                    Town town = null;
                    if (universe.hasTown(line.trim()))
                        town = universe.getTown(line.trim());
                    else if (universe.getReplacementNameMap().containsKey(line.trim()))
                        town = universe.getTown(universe.getReplacementNameMap().get(line).trim());
                    if (town == null) {
                        TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_townblock_file_contains_unregistered_town_delete", line, path));
                        universe.removeTownBlock(townBlock);
                        deleteTownBlock(townBlock);
                        continue;
                    }
                    townBlock.setTown(town, false);
                    try {
                        town.addTownBlock(townBlock);
                        TownyWorld townyWorld = townBlock.getWorld();
                        if (townyWorld != null && !townyWorld.hasTown(town))
                            townyWorld.addTown(town);
                    } catch (AlreadyRegisteredException ignored) {
                    }
                } else {
                    // Town line is null, townblock is invalid.
                    TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_townblock_file_missing_town_delete", path));
                    universe.removeTownBlock(townBlock);
                    deleteTownBlock(townBlock);
                    continue;
                }
                line = keys.get("name");
                if (line != null)
                    try {
                        townBlock.setName(line.trim());
                    } catch (Exception ignored) {
                    }
                line = keys.get("type");
                if (line != null)
                    townBlock.setType(TownBlockTypeHandler.getTypeInternal(line));
                line = keys.get("resident");
                if (line != null && !line.isEmpty()) {
                    Resident res = universe.getResident(line.trim());
                    if (res != null) {
                        townBlock.setResident(res, false);
                    } else {
                        TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_invalid_townblock_resident", townBlock.toString()));
                    }
                }
                line = keys.get("price");
                if (line != null)
                    try {
                        townBlock.setPlotPrice(Double.parseDouble(line.trim()));
                    } catch (Exception ignored) {
                    }
                line = keys.get("outpost");
                if (line != null)
                    try {
                        townBlock.setOutpost(Boolean.parseBoolean(line));
                    } catch (Exception ignored) {
                    }
                line = keys.get("permissions");
                if ((line != null) && !line.isEmpty())
                    try {
                        townBlock.setPermissions(line.trim());
                    } catch (Exception ignored) {
                    }
                line = keys.get("changed");
                if (line != null)
                    try {
                        townBlock.setChanged(Boolean.parseBoolean(line.trim()));
                    } catch (Exception ignored) {
                    }
                line = keys.get("locked");
                if (line != null)
                    try {
                        townBlock.setLocked(Boolean.parseBoolean(line.trim()));
                    } catch (Exception ignored) {
                    }
                line = keys.get("claimedAt");
                if (line != null)
                    try {
                        townBlock.setClaimedAt(Long.parseLong(line));
                    } catch (Exception ignored) {
                    }
                line = keys.get("metadata");
                if (line != null && !line.isEmpty())
                    MetadataLoader.getInstance().deserializeMetadata(townBlock, line.trim());
                line = keys.get("groupID");
                UUID groupID = null;
                if (line != null && !line.isEmpty()) {
                    groupID = UUID.fromString(line.trim());
                }
                if (groupID != null) {
                    PlotGroup group = universe.getGroup(groupID);
                    if (group != null) {
                        townBlock.setPlotObjectGroup(group);
                        if (group.getPermissions() == null && townBlock.getPermissions() != null)
                            group.setPermissions(townBlock.getPermissions());
                        if (townBlock.hasResident())
                            group.setResident(townBlock.getResidentOrNull());
                    } else {
                        townBlock.removePlotObjectGroup();
                    }
                }
                line = keys.get("trustedResidents");
                if (line != null && !line.isEmpty() && townBlock.getTrustedResidents().isEmpty()) {
                    for (Resident resident : TownyAPI.getInstance().getResidents(toUUIDArray(line.split(",")))) townBlock.addTrustedResident(resident);
                    if (townBlock.hasPlotObjectGroup() && townBlock.getPlotObjectGroup().getTrustedResidents().isEmpty() && townBlock.getTrustedResidents().size() > 0)
                        townBlock.getPlotObjectGroup().setTrustedResidents(townBlock.getTrustedResidents());
                }
                line = keys.get("customPermissionData");
                if (line != null && !line.isEmpty() && townBlock.getPermissionOverrides().isEmpty()) {
                    Map<String, String> map = new Gson().fromJson(line, Map.class);
                    for (Map.Entry<String, String> entry : map.entrySet()) {
                        Resident resident;
                        try {
                            resident = TownyAPI.getInstance().getResident(UUID.fromString(entry.getKey()));
                        } catch (IllegalArgumentException e) {
                            continue;
                        }
                        if (resident == null)
                            continue;
                        townBlock.getPermissionOverrides().put(resident, new PermissionData(entry.getValue()));
                    }
                    if (townBlock.hasPlotObjectGroup() && townBlock.getPlotObjectGroup().getPermissionOverrides().isEmpty() && townBlock.getPermissionOverrides().size() > 0)
                        townBlock.getPlotObjectGroup().setPermissionOverrides(townBlock.getPermissionOverrides());
                }
            } catch (Exception e) {
                TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_exception_reading_townblock_file_at_line", path, line));
                return false;
            }
        } else {
            TownyMessaging.sendErrorMsg(Translation.of("flatfile_err_townblock_file_unknown_err", path));
            universe.removeTownBlock(townBlock);
            deleteTownBlock(townBlock);
        }
    }
    return true;
}
Also used : AlreadyRegisteredException(com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException) Gson(com.google.gson.Gson) NotRegisteredException(com.palmergames.bukkit.towny.exceptions.NotRegisteredException) EmptyNationException(com.palmergames.bukkit.towny.exceptions.EmptyNationException) InvalidNameException(com.palmergames.bukkit.towny.exceptions.InvalidNameException) AlreadyRegisteredException(com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException) TownyException(com.palmergames.bukkit.towny.exceptions.TownyException) Town(com.palmergames.bukkit.towny.object.Town) Resident(com.palmergames.bukkit.towny.object.Resident) PlotGroup(com.palmergames.bukkit.towny.object.PlotGroup) TownyWorld(com.palmergames.bukkit.towny.object.TownyWorld) UUID(java.util.UUID) TownBlock(com.palmergames.bukkit.towny.object.TownBlock) File(java.io.File) HashMap(java.util.HashMap) Map(java.util.Map) PermissionData(com.palmergames.bukkit.towny.object.PermissionData)

Example 2 with PermissionData

use of com.palmergames.bukkit.towny.object.PermissionData in project Towny by TownyAdvanced.

the class TownyFlatFileSource method saveTownBlock.

@Override
public boolean saveTownBlock(TownBlock townBlock) {
    FileMgmt.checkOrCreateFolder(dataFolderPath + File.separator + "townblocks" + File.separator + townBlock.getWorld().getName());
    List<String> list = new ArrayList<>();
    // name
    list.add("name=" + townBlock.getName());
    // price
    list.add("price=" + townBlock.getPlotPrice());
    // town
    try {
        list.add("town=" + townBlock.getTown().getName());
    } catch (NotRegisteredException ignored) {
    }
    // resident
    if (townBlock.hasResident())
        list.add("resident=" + townBlock.getResidentOrNull().getName());
    // type
    list.add("type=" + townBlock.getTypeName());
    // outpost
    list.add("outpost=" + townBlock.isOutpost());
    /*
		 * Only include a permissions line IF the plot perms are custom.
		 */
    if (townBlock.isChanged()) {
        // permissions
        list.add("permissions=" + townBlock.getPermissions().toString());
    }
    // Have permissions been manually changed
    list.add("changed=" + townBlock.isChanged());
    list.add("locked=" + townBlock.isLocked());
    list.add("claimedAt=" + townBlock.getClaimedAt());
    // Metadata
    list.add("metadata=" + serializeMetadata(townBlock));
    // Group ID
    StringBuilder groupID = new StringBuilder();
    if (townBlock.hasPlotObjectGroup()) {
        groupID.append(townBlock.getPlotObjectGroup().getID());
    }
    list.add("groupID=" + groupID);
    list.add("trustedResidents=" + StringMgmt.join(toUUIDList(townBlock.getTrustedResidents()), ","));
    Map<String, String> stringMap = new HashMap<>();
    for (Map.Entry<Resident, PermissionData> entry : townBlock.getPermissionOverrides().entrySet()) {
        stringMap.put(entry.getKey().getUUID().toString(), entry.getValue().toString());
    }
    list.add("customPermissionData=" + new Gson().toJson(stringMap));
    /*
		 *  Make sure we only save in async
		 */
    this.queryQueue.add(new FlatFileSaveTask(list, getTownBlockFilename(townBlock)));
    return true;
}
Also used : NotRegisteredException(com.palmergames.bukkit.towny.exceptions.NotRegisteredException) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Gson(com.google.gson.Gson) Resident(com.palmergames.bukkit.towny.object.Resident) HashMap(java.util.HashMap) Map(java.util.Map) PermissionData(com.palmergames.bukkit.towny.object.PermissionData)

Example 3 with PermissionData

use of com.palmergames.bukkit.towny.object.PermissionData in project Towny by TownyAdvanced.

the class TownySQLSource method loadTownBlocks.

@Override
public boolean loadTownBlocks() {
    String line = "";
    boolean result;
    TownyMessaging.sendDebugMsg("Loading Town Blocks.");
    // Load town blocks
    if (!getContext())
        return false;
    TownBlock townBlock = null;
    try (Statement s = cntx.createStatement();
        ResultSet rs = s.executeQuery("SELECT * FROM " + tb_prefix + "TOWNBLOCKS")) {
        while (rs.next()) {
            String worldName = rs.getString("world");
            int x = rs.getInt("x");
            int z = rs.getInt("z");
            try {
                townBlock = universe.getTownBlock(new WorldCoord(worldName, x, z));
            } catch (NotRegisteredException ex) {
                TownyMessaging.sendErrorMsg("Loading Error: Exception while fetching townblock: " + worldName + " " + x + " " + z + " from memory!");
                return false;
            }
            line = rs.getString("name");
            if (line != null)
                try {
                    townBlock.setName(line.trim());
                } catch (Exception ignored) {
                }
            line = rs.getString("town");
            if (line != null) {
                Town town = universe.getTown(line.trim());
                if (town == null) {
                    TownyMessaging.sendErrorMsg("TownBlock file contains unregistered Town: " + line + " , deleting " + townBlock.getWorld().getName() + "," + townBlock.getX() + "," + townBlock.getZ());
                    universe.removeTownBlock(townBlock);
                    deleteTownBlock(townBlock);
                    continue;
                }
                townBlock.setTown(town, false);
                try {
                    town.addTownBlock(townBlock);
                    TownyWorld townyWorld = townBlock.getWorld();
                    if (townyWorld != null && !townyWorld.hasTown(town))
                        townyWorld.addTown(town);
                } catch (AlreadyRegisteredException ignored) {
                }
            }
            line = rs.getString("type");
            if (line != null)
                townBlock.setType(TownBlockTypeHandler.getTypeInternal(line));
            line = rs.getString("resident");
            if (line != null && !line.isEmpty()) {
                Resident res = universe.getResident(line.trim());
                if (res != null)
                    townBlock.setResident(res, false);
                else {
                    TownyMessaging.sendErrorMsg(String.format("Error fetching resident '%s' for townblock '%s'!", line.trim(), townBlock.toString()));
                }
            }
            line = rs.getString("price");
            if (line != null)
                try {
                    townBlock.setPlotPrice(Float.parseFloat(line.trim()));
                } catch (Exception ignored) {
                }
            line = rs.getString("typeName");
            if (line != null)
                townBlock.setType(TownBlockTypeHandler.getTypeInternal(line));
            boolean outpost = rs.getBoolean("outpost");
            try {
                townBlock.setOutpost(outpost);
            } catch (Exception ignored) {
            }
            line = rs.getString("permissions");
            if ((line != null) && !line.isEmpty())
                try {
                    townBlock.setPermissions(line.trim().replaceAll("#", ","));
                // set = true;
                } catch (Exception ignored) {
                }
            result = rs.getBoolean("changed");
            try {
                townBlock.setChanged(result);
            } catch (Exception ignored) {
            }
            result = rs.getBoolean("locked");
            try {
                townBlock.setLocked(result);
            } catch (Exception ignored) {
            }
            townBlock.setClaimedAt(rs.getLong("claimedAt"));
            try {
                line = rs.getString("metadata");
                if (line != null && !line.isEmpty()) {
                    MetadataLoader.getInstance().deserializeMetadata(townBlock, line);
                }
            } catch (SQLException ignored) {
            }
            try {
                line = rs.getString("groupID");
                if (line != null && !line.isEmpty()) {
                    try {
                        UUID groupID = UUID.fromString(line.trim());
                        PlotGroup group = universe.getGroup(groupID);
                        if (group != null) {
                            townBlock.setPlotObjectGroup(group);
                            if (group.getPermissions() == null && townBlock.getPermissions() != null)
                                group.setPermissions(townBlock.getPermissions());
                            if (townBlock.hasResident())
                                group.setResident(townBlock.getResidentOrNull());
                        }
                    } catch (Exception ignored) {
                    }
                }
            } catch (SQLException ignored) {
            }
            line = rs.getString("trustedResidents");
            if (line != null && !line.isEmpty() && townBlock.getTrustedResidents().isEmpty()) {
                String search = (line.contains("#")) ? "#" : ",";
                for (Resident resident : TownyAPI.getInstance().getResidents(toUUIDArray(line.split(search)))) townBlock.addTrustedResident(resident);
                if (townBlock.hasPlotObjectGroup() && townBlock.getPlotObjectGroup().getTrustedResidents().isEmpty() && townBlock.getTrustedResidents().size() > 0)
                    townBlock.getPlotObjectGroup().setTrustedResidents(townBlock.getTrustedResidents());
            }
            line = rs.getString("customPermissionData");
            if (line != null && !line.isEmpty() && townBlock.getPermissionOverrides().isEmpty()) {
                Map<String, String> map = new Gson().fromJson(line, Map.class);
                for (Map.Entry<String, String> entry : map.entrySet()) {
                    Resident resident;
                    try {
                        resident = TownyAPI.getInstance().getResident(UUID.fromString(entry.getKey()));
                    } catch (IllegalArgumentException e) {
                        continue;
                    }
                    if (resident == null)
                        continue;
                    townBlock.getPermissionOverrides().put(resident, new PermissionData(entry.getValue()));
                }
                if (townBlock.hasPlotObjectGroup() && townBlock.getPlotObjectGroup().getPermissionOverrides().isEmpty() && townBlock.getPermissionOverrides().size() > 0)
                    townBlock.getPlotObjectGroup().setPermissionOverrides(townBlock.getPermissionOverrides());
            }
        }
    } catch (SQLException ex) {
        TownyMessaging.sendErrorMsg("Loading Error: Exception while reading TownBlock: " + (townBlock != null ? townBlock : "NULL") + " at line: " + line + " in the sql database");
        ex.printStackTrace();
        return false;
    }
    return true;
}
Also used : NotRegisteredException(com.palmergames.bukkit.towny.exceptions.NotRegisteredException) SQLException(java.sql.SQLException) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) AlreadyRegisteredException(com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException) Gson(com.google.gson.Gson) NotRegisteredException(com.palmergames.bukkit.towny.exceptions.NotRegisteredException) EmptyNationException(com.palmergames.bukkit.towny.exceptions.EmptyNationException) SQLException(java.sql.SQLException) AlreadyRegisteredException(com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException) TownyException(com.palmergames.bukkit.towny.exceptions.TownyException) WorldCoord(com.palmergames.bukkit.towny.object.WorldCoord) Town(com.palmergames.bukkit.towny.object.Town) ResultSet(java.sql.ResultSet) Resident(com.palmergames.bukkit.towny.object.Resident) PlotGroup(com.palmergames.bukkit.towny.object.PlotGroup) TownyWorld(com.palmergames.bukkit.towny.object.TownyWorld) UUID(java.util.UUID) TownBlock(com.palmergames.bukkit.towny.object.TownBlock) Map(java.util.Map) HashMap(java.util.HashMap) PermissionData(com.palmergames.bukkit.towny.object.PermissionData)

Example 4 with PermissionData

use of com.palmergames.bukkit.towny.object.PermissionData in project Towny by TownyAdvanced.

the class PlotCommand method parsePlotPermCommand.

public void parsePlotPermCommand(Player player, String[] args) throws TownyException {
    if (args.length == 0) {
        if (!TownyUniverse.getInstance().getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_PLOT_PERM_INFO.getNode()))
            throw new TownyException(Translatable.of("msg_err_command_disable"));
        sendPlotInfo(player, args);
        return;
    }
    if (!TownyUniverse.getInstance().getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_PLOT_PERM.getNode(args[0].toLowerCase())))
        throw new TownyException(Translatable.of("msg_err_command_disable"));
    if (args[0].equalsIgnoreCase("hud")) {
        HUDManager.togglePermHUD(player);
    } else {
        // All other subcommands require the player to be in a claimed area
        TownBlock townBlock = TownyAPI.getInstance().getTownBlock(player);
        if (townBlock == null) {
            TownyMessaging.sendErrorMsg(player, Translatable.of("msg_not_claimed_1"));
            return;
        }
        if (args[0].equalsIgnoreCase("gui")) {
            Resident resident = TownyAPI.getInstance().getResident(player.getName());
            if (resident == null) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_not_registered"));
                return;
            }
            PermissionGUIUtil.openPermissionGUI(resident, townBlock);
        } else if (args[0].equalsIgnoreCase("remove")) {
            if (args.length < 2) {
                HelpMenu.PLOT_PERM_HELP.send(player);
                return;
            }
            try {
                plotTestOwner(getResidentOrThrow(player.getUniqueId()), townBlock);
            } catch (TownyException e) {
                TownyMessaging.sendErrorMsg(player, e.getMessage(player));
                return;
            }
            if (townBlock.hasPlotObjectGroup()) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_plot_belongs_to_group", "/plot group perm remove"));
                return;
            }
            Resident resident = TownyAPI.getInstance().getResident(args[1]);
            if (resident == null) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_not_registered_1", args[1]));
                return;
            }
            if (!townBlock.getPermissionOverrides().containsKey(resident)) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_no_overrides_set", resident.getName(), Translatable.of("townblock")));
                return;
            }
            townBlock.getPermissionOverrides().remove(resident);
            townBlock.save();
            TownyMessaging.sendMsg(player, Translatable.of("msg_overrides_removed", resident.getName()));
        } else if (args[0].equalsIgnoreCase("add")) {
            if (args.length < 2) {
                HelpMenu.PLOT_PERM_HELP.send(player);
                return;
            }
            try {
                plotTestOwner(getResidentOrThrow(player.getUniqueId()), townBlock);
            } catch (TownyException e) {
                TownyMessaging.sendErrorMsg(player, e.getMessage(player));
                return;
            }
            if (townBlock.hasPlotObjectGroup()) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_plot_belongs_to_group", "/plot group perm add"));
                return;
            }
            Resident resident = TownyAPI.getInstance().getResident(args[1]);
            if (resident == null || resident.isNPC()) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_not_registered_1", args[1]));
                return;
            }
            if (townBlock.getPermissionOverrides().containsKey(resident)) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_overrides_already_set", resident.getName(), Translatable.of("townblock")));
                return;
            }
            townBlock.getPermissionOverrides().put(resident, new PermissionData(PermissionGUIUtil.getDefaultTypes(), player.getName()));
            townBlock.save();
            TownyMessaging.sendMsg(player, Translatable.of("msg_overrides_added", resident.getName()));
        }
    }
}
Also used : Resident(com.palmergames.bukkit.towny.object.Resident) TownBlock(com.palmergames.bukkit.towny.object.TownBlock) PermissionData(com.palmergames.bukkit.towny.object.PermissionData) TownyException(com.palmergames.bukkit.towny.exceptions.TownyException)

Example 5 with PermissionData

use of com.palmergames.bukkit.towny.object.PermissionData in project Towny by TownyAdvanced.

the class PermissionGUIUtil method handleConversation.

public static void handleConversation(Player player) {
    TownBlock startingTownBlock = WorldCoord.parseWorldCoord(player).getTownBlockOrNull();
    if (startingTownBlock == null) {
        TownyMessaging.sendErrorMsg(player, Translatable.of("msg_not_claimed_1"));
        return;
    }
    new ResidentConversation(player).runOnResponse((res) -> {
        if (!TownyUniverse.getInstance().getPermissionSource().testPermission(player, PermissionNodes.TOWNY_COMMAND_PLOT_PERM_ADD.getNode())) {
            TownyMessaging.sendErrorMsg(player, Translatable.of("msg_err_command_disable"));
            return;
        }
        Resident resident = (Resident) res;
        if (startingTownBlock.hasPlotObjectGroup()) {
            PlotGroup group = startingTownBlock.getPlotObjectGroup();
            if (group.getPermissionOverrides().containsKey(resident)) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_overrides_already_set", resident.getName(), Translatable.of("plotgroup_sing")));
                return;
            }
            group.putPermissionOverride(resident, new PermissionData(PermissionGUIUtil.getDefaultTypes(), player.getName()));
        } else {
            if (startingTownBlock.getPermissionOverrides().containsKey(resident)) {
                TownyMessaging.sendErrorMsg(player, Translatable.of("msg_overrides_already_set", resident.getName(), Translatable.of("townblock")));
                return;
            }
            startingTownBlock.getPermissionOverrides().put(resident, new PermissionData(PermissionGUIUtil.getDefaultTypes(), player.getName()));
            startingTownBlock.save();
        }
        TownyMessaging.sendMsg(player, Translatable.of("msg_overrides_added", resident.getName()));
        PermissionGUIUtil.openPermissionGUI(TownyAPI.getInstance().getResident(player), startingTownBlock);
    });
}
Also used : ResidentConversation(com.palmergames.bukkit.towny.conversation.ResidentConversation) Resident(com.palmergames.bukkit.towny.object.Resident) PlotGroup(com.palmergames.bukkit.towny.object.PlotGroup) TownBlock(com.palmergames.bukkit.towny.object.TownBlock) PermissionData(com.palmergames.bukkit.towny.object.PermissionData)

Aggregations

PermissionData (com.palmergames.bukkit.towny.object.PermissionData)7 Resident (com.palmergames.bukkit.towny.object.Resident)7 TownyException (com.palmergames.bukkit.towny.exceptions.TownyException)5 TownBlock (com.palmergames.bukkit.towny.object.TownBlock)5 PlotGroup (com.palmergames.bukkit.towny.object.PlotGroup)4 Gson (com.google.gson.Gson)3 NotRegisteredException (com.palmergames.bukkit.towny.exceptions.NotRegisteredException)3 Town (com.palmergames.bukkit.towny.object.Town)3 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 Map (java.util.Map)3 AlreadyRegisteredException (com.palmergames.bukkit.towny.exceptions.AlreadyRegisteredException)2 EmptyNationException (com.palmergames.bukkit.towny.exceptions.EmptyNationException)2 TownyWorld (com.palmergames.bukkit.towny.object.TownyWorld)2 UUID (java.util.UUID)2 ResidentConversation (com.palmergames.bukkit.towny.conversation.ResidentConversation)1 PlotPreChangeTypeEvent (com.palmergames.bukkit.towny.event.PlotPreChangeTypeEvent)1 TownBlockSettingsChangedEvent (com.palmergames.bukkit.towny.event.TownBlockSettingsChangedEvent)1 PlotTrustAddEvent (com.palmergames.bukkit.towny.event.plot.PlotTrustAddEvent)1 PlotTrustRemoveEvent (com.palmergames.bukkit.towny.event.plot.PlotTrustRemoveEvent)1