- Баллы
- 66
- Имя в Minecraft
- gianluca91
Такая ситуация возникла,при отправке запроса на войну( /c war [Nick]),можно принять(/c accept),но возникает ошибка.
Accept.java
[
War.Java
Подскажите,что сделал не так.Убедительная просьба не писать вот такого рода сообщения: "Мдаа,Ты сам подумать не можешь,Ору".
Accept.java
[
Код:
public class Accept extends MCCommand
{
public Accept() {}
public int getAccessLevel()
{
return -1;
}
public void showSyntax(CommandSender cs)
{
cs.sendMessage("§6/clan accept §f- §eКоманда для принятия запросов");
}
public static void claim(String player, String claim, int time)
{
claims.add(new Claim(player, claim, time));
}
public static Claim getClaim(String player) {
for (Claim c : claims) {
if (player.equalsIgnoreCase(player)) {
return c;
}
}
return null;
}
public void Claim1(String player, String claim, int time) {
this.player = player;
this.claim = claim;
this.time = time;
taskid = Bukkit.getScheduler().scheduleSyncDelayedTask(MishaClansPlugin.getInstance(), new Runnable()
{
public void run() { cancel(); } }, time * 20L);
}
public void cancel()
{
claims.remove(this);
Bukkit.getScheduler().cancelTask(taskid);
}
private static List<Claim> claims = new ArrayList();
public String player;
public String claim;
public int time;
public int taskid;
public void handleCommand(CommandSender cs, String[] args)
{
Player p = (Player)cs;
Claim claimAccept = Claim.getClaim(p.getName());
if ((claimAccept != null) && (claim.startsWith("war.")))
{
#Вот в этой строке ошибка
Clan clanAccept = ClanManager.getPlayerClan(claim.replace("war.", ""));
if (clanAccept == null)
{
p.sendMessage("§f[§c§lClans§f]: §7Этого клана не существует!");
return;
}
Clan yourClanAccept = ClanManager.getPlayerClan(p);
if (yourClanAccept == null)
{
p.sendMessage("§f[§c§lClans§f]: §7У вас нет клана!");
return;
}
if (yourClanAccept.getOnlineMembers().size() < 1)
{
p.sendMessage("§f[§c§lClans§f]: §7В вашем клане нет на сервере 2 участников!");
return;
}
if (clanAccept.getOnlineMembers().size() < 1)
{
p.sendMessage("§f[§c§lClans§f]: §7В клане противника на сервере нет 2 участников!");
return;
}
Arena arenaAccept = Arena.getEmptyArena();
if (arenaAccept == null)
{
p.sendMessage("§f[§c§lClans§f]: §7Нет свободных арен для войны!");
if (Bukkit.getOfflinePlayer(clanAccept.getOwner()).isOnline()) {
Bukkit.getPlayer(clanAccept.getOwner()).sendMessage("§f[§c§lClans§f]: §7Нет свободных арен для войны!");
}
return;
}
arenaAccept.start(clanAccept, yourClanAccept);
clanAccept.sendMessage("Клан §e" + yourClanAccept.getName() + " §7объявил вам войну!");
yourClanAccept.sendMessage("Клан §e" + clanAccept.getName() + " §7объявил вам войну!");
claimAccept.cancel();
return;
}
if ((!p.hasMetadata("clan-invite-time")) || (p.getMetadata("clan-invite-time").isEmpty()) ||
(((MetadataValue)p.getMetadata("clan-invite-time").get(0)).asLong() + 30000L < System.currentTimeMillis()))
{
funreas(cs, Messages.getMessage("вас никто не приглашал", new Messages.Pair[0]));
return;
}
String ic = ((MetadataValue)p.getMetadata("clan-invited").get(0)).asString();
p.removeMetadata("clan-invite-time", MishaClansPlugin.getInstance());
p.removeMetadata("clan-invited", MishaClansPlugin.getInstance());
Clan c = ClanManager.getClan(ic);
if (c == null)
{
funreas(p, Messages.getMessage("клан не найден", new Messages.Pair[0]));
return;
}
if (c.getSlots() <= c.getPlayers().size())
{
funreas(cs, Messages.getMessage("нет мест", new Messages.Pair[0]));
return;
}
funreas(cs, Messages.getMessage("ты вступил в клан", new Messages.Pair[] { new Messages.Pair("clan", c.getName()) }));
c.sendMessage(Messages.getMessage("игрок вступил в клан", new Messages.Pair[] { new Messages.Pair("player", p.getName()) }));
c.getPlayers().put(p.getName().toLowerCase(), Integer.valueOf(1));
c.save();
Bukkit.getPluginManager().callEvent(new ua.lekting.mishaclans.event.PlayerJoinedClanEvent(c, p));
}
}
War.Java
Код:
public class War extends MCCommand
{
public War() {}
public int getAccessLevel()
{
return 8;
}
public void showSyntax(CommandSender cs)
{
cs.sendMessage("§6/clan war [Игрок] §f- §eКинуть войну клану");
}
public void handleCommand(CommandSender cs, String[] args)
{
if (args.length < 1)
{
showSyntax(cs);
return;
}
Clan c = ua.lekting.mishaclans.clan.ClanManager.getPlayerClan(cs);
Clan c2 = ua.lekting.mishaclans.clan.ClanManager.getPlayerClan(args[0]);
if (c2 == null) {
cs.sendMessage("§f[§c§lClans§f]: §7Этот игрок не состоит в клане!");
return;
}
if (c == null) {
cs.sendMessage("§f[§c§lClans§f]: §7Вы не состоите в клане");
return;
}
if (c.getRank(cs.getName().toLowerCase()) < 8) {
cs.sendMessage("§f[§c§lClans§f]: §7Вам не доступна данная команда");
return;
}
Player p = (Player)cs;
if (c == c2)
{
p.sendMessage("§f[§c§lClans§f]: §7Нельзя объявлять своему клану войну!");
return;
}
if (!Bukkit.getOfflinePlayer(c2.getOwner()).isOnline())
{
p.sendMessage("§f[§c§lClans§f]: §7Главы клана §e" + c2.getOwner() + " §7нет на сервере!");
return;
}
if (c.getOnlineMembers().size() < 1)
{
p.sendMessage("§f[§c§lClans§f]: §7В вашем клане нет на сервере 2 участников!");
return;
}
if (c2.getOnlineMembers().size() < 1)
{
p.sendMessage("§f[§c§lClans§f]: §7В клане противника на сервере нет 2 участников!");
return;
}
if (ua.lekting.mishaclans.Arena.getEmptyArena() == null)
{
p.sendMessage("§f[§c§lClans§f]: §7Нет свободных арен для войны!");
return;
}
Claim claim = Claim.getClaim(c2.getOwner());
if ((claim != null) && (claim.startsWith("war."))) {
p.sendMessage("§f[§c§lClans§f]: §7Лидер клана уже имеет предложение на войну!");
return;
}
Claim.claim(Bukkit.getOfflinePlayer(c2.getOwner()).getName(), "war." + c.getOwner(), 60);
Bukkit.getPlayer(c2.getOwner()).sendMessage("§f[§c§lClans§f]: §7Вам объявил войну клан §e" + c.getName());
Bukkit.getPlayer(c2.getOwner()).sendMessage("§f[§c§lClans§f]: §7Чтобы принять введите: §e/c accept§7, а чтобы отказаться: §e/c decline");
p.sendMessage("§f[§c§lClans§f]: §7Вы объявили войну клану §e" + c2.getName());
}
}
Подскажите,что сделал не так.Убедительная просьба не писать вот такого рода сообщения: "Мдаа,Ты сам подумать не можешь,Ору".