Package com.palmergames.bukkit.towny.object

Examples of com.palmergames.bukkit.towny.object.Resident


       
        private void parseTownCommand(Player player, String[] split) {
               
                if (split.length == 0)
                        try {
                                Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
                                Town town = resident.getTown();
                                TownyMessaging.sendMessage(player, TownyFormatter.getStatus(town));
                        } catch (NotRegisteredException x) {
                                TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_err_dont_belong_town"));
                        }
                else if (split[0].equalsIgnoreCase("?") || split[0].equalsIgnoreCase("help"))
                        for (String line : output)
                                player.sendMessage(line);
                else if (split[0].equalsIgnoreCase("here"))
                        showTownStatusHere(player);
                else if (split[0].equalsIgnoreCase("list"))
                        listTowns(player);
                else if (split[0].equalsIgnoreCase("new")) {
                        if (split.length == 1)
                                TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_specify_name"));
                        else if (split.length == 2)
                                newTown(player, split[1], player.getName());
                        else
                                // TODO: Check if player is an admin
                                newTown(player, split[1], split[2]);
                } else if (split[0].equalsIgnoreCase("leave")) {
                    townLeave(player);
            } else if (split[0].equalsIgnoreCase("withdraw")) {
                        if (split.length == 2)
                                try {
                                        townWithdraw(player, Integer.parseInt(split[1].trim()));
                                } catch (NumberFormatException e) {
                                        TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_error_must_be_int"));
                                }
                        else
                                TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_must_specify_amnt"), "/town withdraw"));
                } else if (split[0].equalsIgnoreCase("deposit")) {
                        if (split.length == 2)
                                try {
                                        townDeposit(player, Integer.parseInt(split[1].trim()));
                                } catch (NumberFormatException e) {
                                        TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_error_must_be_int"));
                                }
                        else
                                TownyMessaging.sendErrorMsg(player, String.format(TownySettings.getLangString("msg_must_specify_amnt"), "/town deposit"));
                } else {
                        String[] newSplit = StringMgmt.remFirstArg(split);
                       
                        if (split[0].equalsIgnoreCase("set"))
                                townSet(player, newSplit);
                        else if (split[0].equalsIgnoreCase("buy"))
                              townBuy(player, newSplit);
                        else if (split[0].equalsIgnoreCase("toggle"))
                              townToggle(player, newSplit);
                        else  if (split[0].equalsIgnoreCase("mayor"))
                                townMayor(player, newSplit);
                        else if (split[0].equalsIgnoreCase("assistant"))
                                townAssistant(player, newSplit);
                        else if (split[0].equalsIgnoreCase("spawn"))
                           townSpawn(player, newSplit);
                        else if (split[0].equalsIgnoreCase("delete"))
                                townDelete(player, newSplit);
                        else if (split[0].equalsIgnoreCase("join"))
                              parseTownJoin(player, newSplit);
                        else if (split[0].equalsIgnoreCase("add"))
                                townAdd(player, null, newSplit);
                        else if (split[0].equalsIgnoreCase("kick"))
                                townKick(player, newSplit);
                        else if (split[0].equalsIgnoreCase("claim"))
                                parseTownClaimCommand(player, newSplit);
                        else if (split[0].equalsIgnoreCase("unclaim"))
                                parseTownUnclaimCommand(player, newSplit);
                        else if (split[0].equalsIgnoreCase("online")) {
                  try {
                    Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
                    Town town = resident.getTown();
                    TownyMessaging.sendMessage(player, TownyFormatter.getFormattedOnlineResidents(plugin, TownySettings.getLangString("msg_town_online"), town));
                  } catch (NotRegisteredException x) {
                    TownyMessaging.sendErrorMsg(player, TownySettings.getLangString("msg_err_dont_belong_town"));
                  }
                        } else
View Full Code Here


                player.sendMessage(ChatTools.formatCommand("", "/town toggle", "fire", ""));
                player.sendMessage(ChatTools.formatCommand("", "/town toggle", "mobs", ""));
                player.sendMessage(ChatTools.formatCommand("", "/town toggle", "taxpercent", ""));
                player.sendMessage(ChatTools.formatCommand("", "/town toggle", "open", ""));
            } else {
              Resident resident;
                Town town;
                try {
                  resident = TownyUniverse.getDataSource().getResident(player.getName());
                  town = resident.getTown();
                  if (!resident.isMayor())
                    if (!town.hasAssistant(resident))
                      throw new TownyException(TownySettings.getLangString("msg_not_mayor_ass"));
                } catch (TownyException x) {
                  TownyMessaging.sendErrorMsg(player, x.getMessage());
                  return;
View Full Code Here

                        player.sendMessage(ChatTools.formatCommand("", "/town set", "tag [upto 4 letters] or clear", ""));
                        //player.sendMessage(ChatTools.formatCommand("", "/town set", "public [on/off]", ""));
                        //player.sendMessage(ChatTools.formatCommand("", "/town set", "explosion [on/off]", ""));
                        //player.sendMessage(ChatTools.formatCommand("", "/town set", "fire [on/off]", ""));
                } else {
                        Resident resident;
                        Town town;
                        TownyWorld oldWorld = null;
                       
                        try {
                                resident = TownyUniverse.getDataSource().getResident(player.getName());
                                town = resident.getTown();
                                if (!resident.isMayor())
                                        if (!town.hasAssistant(resident))
                                                throw new TownyException(TownySettings.getLangString("msg_not_mayor_ass"));
                        } catch (TownyException x) {
                                TownyMessaging.sendErrorMsg(player, x.getMessage());
                                return;
                        }

                        // TODO: Let admin's call a subfunction of this.
                        if (split[0].equalsIgnoreCase("board")) {
                                if (split.length < 2) {
                                        TownyMessaging.sendErrorMsg(player, "Eg: /town set board " + TownySettings.getLangString("town_help_9"));
                                        return;
                                } else {
                                        String line = split[1];
                                        for (int i = 2; i < split.length; i++)
                                                line += " " + split[i];
                                        town.setTownBoard(line);
                                        TownyMessaging.sendTownBoard(player, town);
                                }
                        } else if (split[0].equalsIgnoreCase("mayor")) {
                                if (split.length < 2) {
                                        TownyMessaging.sendErrorMsg(player, "Eg: /town set mayor Dumbo");
                                        return;
                                } else
                                        try {
                                                if (!resident.isMayor())
                                                        throw new TownyException(TownySettings.getLangString("msg_not_mayor"));
                                               
                                                String oldMayor = town.getMayor().getName();
                                                Resident newMayor = TownyUniverse.getDataSource().getResident(split[1]);
                                                town.setMayor(newMayor);
                                                plugin.deleteCache(oldMayor);
                                                plugin.deleteCache(newMayor.getName());
                                                TownyMessaging.sendTownMessage(town, TownySettings.getNewMayorMsg(newMayor.getName()));
                                        } catch (TownyException e) {
                                                TownyMessaging.sendErrorMsg(player, e.getMessage());
                                                return;
                                        }
                        } else if (split[0].equalsIgnoreCase("taxes")) {
View Full Code Here

                } else {
                  // Temp placeholder.
                  player.sendMessage("Nothing for sale right now.");
                }
            } else {
                Resident resident;
                Town town;
                try {
                    resident = TownyUniverse.getDataSource().getResident(player.getName());
                    town = resident.getTown();
                    if (!resident.isMayor())
                        if (!town.hasAssistant(resident))
                            throw new TownyException(TownySettings.getLangString("msg_not_mayor_ass"));
                } catch (TownyException x) {
                    TownyMessaging.sendErrorMsg(player, x.getMessage());
                    return;
View Full Code Here

                                throw new TownyException(TownySettings.getLangString("msg_err_universe_limit"));
                       
                        if (!TownySettings.isValidRegionName(name))
                                throw new TownyException(String.format(TownySettings.getLangString("msg_err_invalid_name"), name));
                       
                        Resident resident = TownyUniverse.getDataSource().getResident(mayorName);
                        if (resident.hasTown())
                                throw new TownyException(String.format(TownySettings.getLangString("msg_err_already_res"), resident.getName()));

                        TownyWorld world = TownyUniverse.getDataSource().getWorld(player.getWorld().getName());
                       
                        if (!world.isUsingTowny())
                                throw new TownyException(TownySettings.getLangString("msg_set_use_towny_off"));
                       
                        Coord key = Coord.parseCoord(player);
                        if (world.hasTownBlock(key))
                                throw new TownyException(String.format(TownySettings.getLangString("msg_already_claimed_1"), key));
                       
                        if (world.getMinDistanceFromOtherTowns(key) < TownySettings.getMinDistanceFromTownHomeblocks())
                                throw new TownyException(TownySettings.getLangString("msg_too_close"));
                       
                        if (TownySettings.getMaxDistanceBetweenHomeblocks() > 0)
                                if ((world.getMinDistanceFromOtherTowns(key) > TownySettings.getMaxDistanceBetweenHomeblocks()) && world.hasTowns())
                                        throw new TownyException(TownySettings.getLangString("msg_too_far"));

                        if (TownySettings.isUsingEconomy() && !resident.pay(TownySettings.getNewTownPrice(), "New Town Cost"))
                                throw new TownyException(String.format(TownySettings.getLangString("msg_no_funds_new_town"), (resident.getName().equals(player.getName()) ? "You" : resident.getName())));

                        newTown(universe, world, name, resident, key, player.getLocation());                   
                        TownyMessaging.sendGlobalMessage(TownySettings.getNewTownMsg(player.getName(), name));
                } catch (TownyException x) {
                        TownyMessaging.sendErrorMsg(player, x.getMessage());
View Full Code Here

                        TownyMessaging.sendErrorMsg(player, e.getMessage());
                }
        }
       
        public void townLeave(Player player) {
                Resident resident;
                Town town;
                try {
                        //TODO: Allow leaving town during war.
                        if (plugin.getTownyUniverse().isWarTime())
                                throw new TownyException(TownySettings.getLangString("msg_war_cannot_do"));
                       
                        resident = TownyUniverse.getDataSource().getResident(player.getName());
                        town = resident.getTown();
                        plugin.deleteCache(resident.getName());
                       
                       
                } catch (TownyException x) {
                        TownyMessaging.sendErrorMsg(player, x.getMessage());
                        return;
                }
               
                if (resident.isMayor()) {
                        TownyMessaging.sendErrorMsg(player, TownySettings.getMayorAbondonMsg());
                        return;
                }
               
                try {
                        town.removeResident(resident);
                } catch (EmptyTownException et) {
                  TownyUniverse.getDataSource().removeTown(et.getTown());

                } catch (NotRegisteredException x) {
                        TownyMessaging.sendErrorMsg(player, x.getMessage());
                        return;
                }
               
        TownyUniverse.getDataSource().saveResident(resident);
        TownyUniverse.getDataSource().saveTown(town);
               
                plugin.updateCache();
               
                TownyMessaging.sendTownMessage(town, String.format(TownySettings.getLangString("msg_left_town"), resident.getName()));
                TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("msg_left_town"), resident.getName()));
        }
View Full Code Here

        }
       
        public static void townSpawn(Player player, String[] split) {
          try {
                boolean isTownyAdmin = TownyUniverse.getPermissionSource().isTownyAdmin(player);
                Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
                Town town;
                String notAffordMSG;
                TownSpawnLevel townSpawnPermission;
               
                // Set target town and affiliated messages.
                if (split.length == 0) {
                  town = resident.getTown();
                    notAffordMSG = TownySettings.getLangString("msg_err_cant_afford_tp");
              } else {
                // split.length > 1
                town = TownyUniverse.getDataSource().getTown(split[0]);
                  notAffordMSG = String.format(TownySettings.getLangString("msg_err_cant_afford_tp_town"), town.getName());
              }
               
                // Determine conditions
                if (isTownyAdmin) {
                  townSpawnPermission = TownSpawnLevel.ADMIN;
                } else if (split.length == 0) {
                  townSpawnPermission = TownSpawnLevel.TOWN_RESIDENT;
                } else {
                  // split.length > 1
                  if (!resident.hasTown()) {
                    townSpawnPermission = TownSpawnLevel.UNAFFILIATED;
                  } else if (resident.getTown() == town) {
                    townSpawnPermission = TownSpawnLevel.TOWN_RESIDENT;
                  } else if (resident.hasNation() && town.hasNation()) {
                    Nation playerNation = resident.getTown().getNation();
                    Nation targetNation = town.getNation();
                   
                    if (playerNation == targetNation) {
                      townSpawnPermission = TownSpawnLevel.PART_OF_NATION;
                    } else if (targetNation.hasEnemy(playerNation)) {
                      // Prevent enemies from using spawn travel.
                            throw new TownyException(TownySettings.getLangString("msg_err_public_spawn_enemy"));
                    } else if (targetNation.hasAlly(playerNation)) {
                      townSpawnPermission = TownSpawnLevel.NATION_ALLY;
                    } else {
                        townSpawnPermission = TownSpawnLevel.UNAFFILIATED;
                      }
                  } else {
                    townSpawnPermission = TownSpawnLevel.UNAFFILIATED;
                  }
                }
               
                TownyMessaging.sendDebugMsg(townSpawnPermission.toString() + " " + townSpawnPermission.isAllowed());
                townSpawnPermission.checkIfAllowed(plugin, player);
               
                if (!(isTownyAdmin || townSpawnPermission == TownSpawnLevel.TOWN_RESIDENT) && !town.isPublic())
                  throw new TownyException(TownySettings.getLangString("msg_err_not_public"));
               
                if (!isTownyAdmin) {
                    // Prevent spawn travel while in disallowed zones (if configured)
                    List<String> disallowedZones = TownySettings.getDisallowedTownSpawnZones();
                   
                    if (!disallowedZones.isEmpty()) {
                        String inTown = null;
                        try {
                            Location loc = plugin.getCache(player).getLastLocation();
                            inTown = plugin.getTownyUniverse().getTownName(loc);
                        } catch (NullPointerException e) {
                            inTown = plugin.getTownyUniverse().getTownName(player.getLocation());
                        }
                       
                        if (inTown == null && disallowedZones.contains("unclaimed"))
                            throw new TownyException(String.format(TownySettings.getLangString("msg_err_town_spawn_disallowed_from"), "the Wilderness"));
                        if (inTown != null && resident.hasNation() && TownyUniverse.getDataSource().getTown(inTown).hasNation()) {
                            Nation inNation = TownyUniverse.getDataSource().getTown(inTown).getNation();
                            Nation playerNation = resident.getTown().getNation();
                            if (inNation.hasEnemy(playerNation) && disallowedZones.contains("enemy"))
                                throw new TownyException(String.format(TownySettings.getLangString("msg_err_town_spawn_disallowed_from"), "Enemy areas"));
                            if (!inNation.hasAlly(playerNation) && !inNation.hasEnemy(playerNation) && disallowedZones.contains("neutral"))
                                throw new TownyException(String.format(TownySettings.getLangString("msg_err_town_spawn_disallowed_from"), "Neutral towns"));
                        }
                    }
                }
               
                double travelCost = townSpawnPermission.getCost();
               
                // Check if need/can pay
                if (travelCost > 0 && TownySettings.isUsingEconomy() && (resident.getHoldingBalance() < travelCost))
                  throw new TownyException(notAffordMSG);
               
                // Used later to make sure the chunk we teleport to is loaded.
                Chunk chunk = town.getSpawn().getWorld().getChunkAt(town.getSpawn().getBlock());
               
                // Essentials tests
                boolean UsingESS = plugin.isEssentials();
               
                if (UsingESS && !isTownyAdmin) {
                        try {
                            User user = plugin.getEssentials().getUser(player);
                           
                            if (!user.isJailed()) {
                             
                                Teleport teleport = user.getTeleport();
                                if (!chunk.isLoaded()) chunk.load();
                                // Cause an essentials exception if in cooldown.
                                teleport.cooldown(true);
                                teleport.teleport(town.getSpawn(),null);
                            }
                        } catch (Exception e) {
                            TownyMessaging.sendErrorMsg(player, "Error: " + e.getMessage());
                            // cooldown?
                            return;
                        }
                }
               
                // Show message if we are using iConomy and are charging for spawn travel.
                if (travelCost > 0 && TownySettings.isUsingEconomy() && resident.payTo(travelCost, town, String.format("Town Spawn (%s)", townSpawnPermission))) {
                  TownyMessaging.sendMsg(player, String.format(TownySettings.getLangString("msg_cost_spawn"),
                        TownyEconomyObject.getFormattedBalance(travelCost))); // + TownyEconomyObject.getEconomyCurrency()));
                }
               
               
View Full Code Here

        }
       
        public void townDelete(Player player, String[] split) {
                if (split.length == 0)
                        try {
                                Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
                                Town town = resident.getTown();

                                if (!resident.isMayor())
                                    throw new TownyException(TownySettings.getLangString("msg_not_mayor"));
                                if (plugin.isPermissions() && (!TownyUniverse.getPermissionSource().hasPermission(player, PermissionNodes.TOWNY_TOWN_DELETE.getNode())))
                                  throw new TownyException(TownySettings.getLangString("msg_err_command_disable"));
                               
                                TownyUniverse.getDataSource().removeTown(town);
View Full Code Here

         * @param player
         * @param names
         */

        public static void townKick(Player player, String[] names) {
                Resident resident;
                Town town;
                try {
                        resident = TownyUniverse.getDataSource().getResident(player.getName());
                        town = resident.getTown();
                        if (!resident.isMayor())
                                if (!town.hasAssistant(resident))
                                        throw new TownyException(TownySettings.getLangString("msg_not_mayor_ass"));
                } catch (TownyException x) {
                        TownyMessaging.sendErrorMsg(player, x.getMessage());
                        return;
View Full Code Here

         * @param player
         * @param names
         */

        public void townAssistantsAdd(Player player, String[] names) {
                Resident resident;
                Town town;
                try {
                        resident = TownyUniverse.getDataSource().getResident(player.getName());
                        town = resident.getTown();
                        if (!resident.isMayor())
                                throw new TownyException(TownySettings.getLangString("msg_not_mayor"));
                } catch (TownyException x) {
                        TownyMessaging.sendErrorMsg(player, x.getMessage());
                        return;
                }
View Full Code Here

TOP

Related Classes of com.palmergames.bukkit.towny.object.Resident

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.