Помогите Помогите достать игрока в onCommand

Статус
Закрыто для дальнейших ответов.

LilClick

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Lil_Click
Короче, суть вот в чем, пытаюсь достать игрока (target) которому я кидаю "пати" и нужно его использовать в других командах, но т.к. я сделал это через for, у меня все это воспроизводится несколько раз, но все работает отлично, так вот, подскажите как правильнее сделать. СПАСИБО


Код:
package ru.swell.party;

import java.util.ArrayList;
import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;

import ru.tehkode.permissions.bukkit.PermissionsEx;

public class Party implements Listener, CommandExecutor {
    HashMap<String, ArrayList<String>> partyplayer = new HashMap<>();
    HashMap<String, String> playeraccept = new HashMap<>();

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (sender instanceof Player) {
            Player p = (Player) sender;
            if (label.equalsIgnoreCase("party")) {
                if (args.length <= 0) {
                    p.sendMessage("§7[§4!§7] §4Введите имя игрока");
                } else if (args.length >= 1) {
                    for (Player ponline : Bukkit.getOnlinePlayers()) {
                        ArrayList<String> players = new ArrayList<>();
                        if (args[0].equalsIgnoreCase("invite")) {
                            if (ponline.getName().equalsIgnoreCase(args[1])) {
                                if (ponline == p || !ponline.getName().contains(args[1])) {
                                    p.sendMessage("1");
                                    return true;
                                }
                                if (partyplayer.get(p.getName()) == null) {
                                    partyplayer.put(p.getName(), players);
                                    p.sendMessage("§7[§4!§7] §2Вы создали пати!");
                                }
                                ponline.sendMessage("§7[§4!§7] §2Вы были приглашены в пати игроком "
                                        + PermissionsEx.getUser(p.getName()).getPrefix() + p.getName());
                                p.sendMessage("§7[§4!§7] §2Вы пригласили игрока "
                                        + PermissionsEx.getUser(ponline).getPrefix() + ponline.getName() + " §2в пати");
                                playeraccept.put(p.getName(), ponline.getName());

                                ponline.sendMessage("§7[§4!§7] §2Чтобы принять введи /party accept");
                            } else {
                                p.sendMessage("§7[§4!§7] §4Игрок не найден!");
                            }
                        }

                        else if (args[0].equalsIgnoreCase("accept")) {
                            if (playeraccept.containsValue(p.getName())
                                    && playeraccept.containsKey(ponline.getName())) {
                                partyplayer.get(ponline.getName()).add(p.getName());
                                partyplayer.put(ponline.getName(), partyplayer.get(ponline.getName()));
                                p.sendMessage("Вы вступили в пати к " + ponline.getName());
                                ponline.sendMessage(p.getName() + " Вступил в пати " + "Теперь "
                                        + partyplayer.get(ponline.getName()));
                            }
                        }

                        else if (args[0].equalsIgnoreCase("info")) {
                            if (partyplayer.containsKey(p.getName()) || partyplayer.containsValue(p.getName())) {
                                p.sendMessage("§7[§2Party§7] Члены пати: " + partyplayer.get(p.getName()));
                                if (partyplayer.containsValue(ponline.getName())) {
                                    ponline.teleport(p.getLocation());
                                }
                            }
                        }
                    }
                }
            } else {
                p.sendMessage("§7[§4!§7] Введите имя игрока");
            }
        } else {
            Bukkit.getConsoleSender().sendMessage("Эту команду может использовать только игрок!");
        }
        return false;
    }

}

/*
 * p.sendMessage("Вы пригласили игрока " + ponline.getName() + " в пати");
 * ponline.sendMessage("Вас пригласил игрок " + p.getName() + " в пати");
 * partyplayer.get(p.getName()).add(ponline.getName());
 * partyplayer.put(p.getName(), partyplayer.get(p.getName())); if
 * (partyplayer.containsValue(partyplayer.get(p.getName())) &&
 * partyplayer.containsKey(p.getName())) { ponline.teleport(p);
 * p.sendMessage("Пати из: " + partyplayer.get(p.getName())); }
 */
 
Bukkit.getPlayerExact("Notch"); // Получает игрока по полному нику
Bukkit.getPlayer("Not"); // Получает игрока по целому нику или его началу
 
Последнее редактирование:
Bukkit.getPlayerExact("Notch"); // Получает игрока по полному нику
Bukkit.getPlayer("Not"); // Получает игрока по целому нику или его началу
Дак а игрока откуда брать? Мне же нужно брать того, кто находится в HashMap
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх