public boolean isEnemy(String a, String b) { try { Resident residentA = getDataSource().getResident(a); Resident residentB = getDataSource().getResident(b); if (residentA.getTown() == residentB.getTown()) return false; if (residentA.getTown().getNation() == residentB.getTown().getNation()) return false; if (residentA.getTown().getNation().hasEnemy(residentB.getTown().getNation())) return true; } catch (NotRegisteredException e) { return false; } return false; }
public boolean canAttackEnemy(String a, String b) { try { Resident residentA = getDataSource().getResident(a); Resident residentB = getDataSource().getResident(b); if (residentA.getTown() == residentB.getTown()) return false; if (residentA.getTown().getNation() == residentB.getTown().getNation()) return false; Nation nationA = residentA.getTown().getNation(); Nation nationB = residentB.getTown().getNation(); if (nationA.isNeutral() || nationB.isNeutral()) return false; if (nationA.hasEnemy(nationB)) return true; } catch (NotRegisteredException e) { return false; } return false; }
public Location getTownSpawnLocation(Player player) throws TownyException { try { Resident resident = getDataSource().getResident(player.getName()); Town town = resident.getTown(); return town.getSpawn(); } catch (TownyException x) { throw new TownyException("Unable to get spawn location"); } }
public void onLogin(Player player) throws AlreadyRegisteredException, NotRegisteredException { if (!player.isOnline()) return; // Test and kick any players with invalid names. if ((player.getName().trim() == null) || (player.getName().contains(" "))) { player.kickPlayer("Invalid name!"); return; } Resident resident; if (!getDataSource().hasResident(player.getName())) { getDataSource().newResident(player.getName()); resident = getDataSource().getResident(player.getName()); TownyMessaging.sendMessage(player, TownySettings.getRegistrationMsg(player.getName())); resident.setRegistered(System.currentTimeMillis()); if (!TownySettings.getDefaultTownName().equals("")) try { Town town = getDataSource().getTown(TownySettings.getDefaultTownName()); town.addResident(resident); getDataSource().saveTown(town); } catch (NotRegisteredException e) { } catch (AlreadyRegisteredException e) { } getDataSource().saveResident(resident); getDataSource().saveResidentList(); } else { resident = getDataSource().getResident(player.getName()); resident.setLastOnline(System.currentTimeMillis()); getDataSource().saveResident(resident); } try { TownyMessaging.sendTownBoard(player, resident.getTown()); } catch (NotRegisteredException e) { } if (isWarTime()) getWarEvent().sendScores(player, 3); // Schedule to setup default modes when the player has finished loading if (getPlugin() .getServer() .getScheduler() .scheduleSyncDelayedTask(getPlugin(), new SetDefaultModes(this, player, false), 1) == -1) TownyMessaging.sendErrorMsg("Could not set default modes for " + player.getName() + "."); setChangedNotify(PLAYER_LOGIN); }