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

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 + "теперь вы в клане");


}
}
как я понял то ник игрока не будет равен нику в конфиге,не могли бы вы подсказать функцию для этого или другую идею по созданию кланов??
 
А мои глаза! :cry: юзай кнопку вставки кода!!!!
 
Изучай sqlite или mysql. Для таких вещей конфиг не вариает.
 
разве адрес не есть ссылка на объект?

в обоих случаях это указатель на то, где лежит объект. а как ты будешь называть - дело последнее
String s = event.getPlayer().getDisplayName();
String s1 = this.getConfig().getString("stroka");
Не = 1 объект. Это 2 объекта.
 
String s = event.getPlayer().getDisplayName();
String s1 = this.getConfig().getString("stroka");
Не = 1 объект. Это 2 объекта.
Это тут при чем?

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

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

А ты слышишь звон, но не вкуриваешь где он
 
Это тут при чем?

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

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

А ты слышишь звон, но не вкуриваешь где он
Еслиб ты вкуривал, то понял бы, о чем речь ведут.
 
Последнее редактирование:
String s = event.getPlayer().getDisplayName();
String s1 = this.getConfig().getString("stroka");
Не = 1 объект. Это 2 объекта.
нах getDisplayName? Оно будет возвращать вместе с цветовым кодом, надо юзать .getName для таких вещей
 
вот проверка при входе
@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 + "теперь вы в клане");


}
}
как я понял то ник игрока не будет равен нику в конфиге,не могли бы вы подсказать функцию для этого или другую идею по созданию кланов??
1. ЮЗАЙ КОД!!! 2. Используй Player.getName() чтобы получить имя игрока 3. Для сравнивания используй equals или equalsIgnoreCase (лень мне читать чем они отличаются)
 
1. ЮЗАЙ КОД!!! 2. Используй Player.getName() чтобы получить имя игрока 3. Для сравнивания используй equals или equalsIgnoreCase (лень мне читать чем они отличаются)
Серьёзно? equalsIgnoreCase - игнорирую регистр, что не есть хорошо в сравнении имён. Просто equals.
 
Серьёзно? equalsIgnoreCase - игнорирую регистр, что не есть хорошо в сравнении имён. Просто equals.
Всем насрать, даже у можангов низя иметь ники User и useR. И кода юзаешь можанг апи, там тоже срать на регистр, все равно вернет твой uuid.
 
Назад
Верх