1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите сравнение ника игрока с ником в конфиге

Тема в разделе "Разработка плагинов для новичков", создана пользователем wildbober, 30 янв 2017.

  1. Автор темы
    wildbober

    wildbober Участник Пользователь

    Баллы:
    31
    вот проверка при входе
    @EventHandler
    public void onJoin(PlayerJoinEvent event){
    String s = event.getPlayer().getDisplayName();
    String s1 = this.getConfig().getString("stroka");
    event.getPlayer().sendMessage(getConfig().getString("s1"));
    if (s == s1){
    event.getPlayer().setDisplayName(ChatColor.GOLD + event.getPlayer().getName() );
    }
    event.getPlayer().sendMessage(ChatColor.GREEN + "Добро пожаловать на сервер, " + ChatColor.GOLD + event.getPlayer().getName());
    event.setJoinMessage(ChatColor.GRAY + "Игрок " + ChatColor.GOLD + event.getPlayer().getName() + " зашел на сервер");
    // String s = this.getConfig().getString("messages.join");
    // s = s.replace(a, b);
    // event.getPlayer().sendMessage(s);
    }

    а вот сам вход в клан
    @EventHandler
    public void interact(PlayerInteractEvent e){

    Action a = e.getAction();

    Player p = e.getPlayer();
    ItemStack item = p.getItemInHand();

    if(item.getType() == Material.NETHER_STAR){
    if(a != Action.RIGHT_CLICK_AIR && a!= Action.RIGHT_CLICK_BLOCK) return;
    item.setType(Material.STONE);
    p.setDisplayName(ChatColor.GOLD + p.getName() + anarx );
    getConfig().set("stroka" , p.getName());
    this.getConfig().options().copyDefaults(true);
    this.saveConfig();
    p.sendMessage(ChatColor.ITALIC + "теперь вы в клане");


    }
    }
    как я понял то ник игрока не будет равен нику в конфиге,не могли бы вы подсказать функцию для этого или другую идею по созданию кланов??
     
  2. Mabus

    Mabus Активный участник Пользователь

    Баллы:
    76
    Skype:
    chervanenko
    Имя в Minecraft:
    Chervanenko
    А мои глаза! :cry: юзай кнопку вставки кода!!!!
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Изучай sqlite или mysql. Для таких вещей конфиг не вариает.
     
  4. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    == сравнивает ссылки на объекты, поэтому if (s1.equals(s2)){
    это вообще надо удалить
     
  5. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Сравнивает адреса в памяти.

    +1
     
  6. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    разве адрес не есть ссылка на объект?

    в обоих случаях это указатель на то, где лежит объект. а как ты будешь называть - дело последнее
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    String s = event.getPlayer().getDisplayName();
    String s1 = this.getConfig().getString("stroka");
    Не = 1 объект. Это 2 объекта.
     
  8. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Это тут при чем?

    я сказал что == сравнивает ссылки на объекты, меня исправили, сказали что сравнивает адреса.

    Я пытаюсь уточнить в чем разница.

    А ты слышишь звон, но не вкуриваешь где он
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Еслиб ты вкуривал, то понял бы, о чем речь ведут.
     
    Последнее редактирование: 31 янв 2017
  10. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    мм, топ. Пруфы?
     
  11. XjCyan1de

    XjCyan1de Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    XjCyan1de
    нах getDisplayName? Оно будет возвращать вместе с цветовым кодом, надо юзать .getName для таких вещей
     
  12. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    96
    Господи, где ты раньше был?!
     
  13. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    1. ЮЗАЙ КОД!!! 2. Используй Player.getName() чтобы получить имя игрока 3. Для сравнивания используй equals или equalsIgnoreCase (лень мне читать чем они отличаются)
     
  14. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    96
    Серьёзно? equalsIgnoreCase - игнорирую регистр, что не есть хорошо в сравнении имён. Просто equals.
     
  15. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Всем насрать, даже у можангов низя иметь ники User и useR. И кода юзаешь можанг апи, там тоже срать на регистр, все равно вернет твой uuid.
     

Поделиться этой страницей