Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Стартап ///

Статус
Закрыто для дальнейших ответов.
Здравствуйте, у меня появилась проблемма -> я создал две команды, в конфиг которого внес ник игрока и uuid.
Код:
Player: aeb9e428-b710-341a-b8e9-95b73bc9a087
Player1: aeb9e428-b710-341a-b8e9-95b73bc9a087
Я хочу сделать возможность - отклонять урон если два игрока содержат одинаковый uuid
Код:
@EventHandler
public void onEntityDamageByEntity(final EntityDamageByEntityEvent e) {
          Object damag = e.getDamager();
            final Player target = (Player)e.getEntity();
            final Player damager = (Player)damag;
             if(cfg.getString(damager.getName()) == cfg.getString(target.getName())) {
                 e.setCancelled(true);
             }
// Проверял получение uuid из конфига дебагом, все выводится
// Target и damager являются игроками
}
Проблема заключается в том что uuid по сути одинаковые, но условие : cfg.getString(damager.getName()) == cfg.getString(target.getName()) не проходит когда я пытаюсь ударить игрока при условии что я и игрок находятся в конфиге и идентичной информацией. Как исправить условие, чем вызвана данная проблема?
Ну так == сравнивает ссылки двух объектов в памяти. Если ты хочешь сравнить значения, то используй String#equals или String#equalsIgnoreCase.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх