Проверка и поломка брони со временем!

Версия Minecraft
1.7.10
269
8
19
Всем привет! Помогите пожалуста кодом.Как сделать чтобы если владелец не ты то Ломалась броня со временем. Если что String owner
 
1,057
50
234
Записанный NBT с владельцем и в onArmorTick проверка if(player.getDisplayName() == NBT && player.inventory.armorInventory[1] == itemStack) itemStack.setItemDamage(itemStack.getItemDamage() + 5)
 
269
8
19
344
1
47
Проверять есть ли таг нбт, к примеру у меня лапки Owner...

Если есть, то проверять равен ли он minecraft.getMinecraft().thePlayer.username
Если равен, то отменяй поломку, или что ты там хотел сделать.

Ну а далее лапками руками делай)
 
7,099
324
1,510
344
1
47
о_О
Окееей... не знал, спасибо хд
Хотя == всегда срабатывал...
Я недавно узнал отличие == от equals...

Рассмотрим небольшой пример:
Java:
public static void main(String[] args) {
        String str1 = new String("m25");
        String str2 = new String("m25");
        System.out.println(str1 == str2);
        System.out.println(str1.equals(str2));
}
Получаем вот это:
Снимок1.PNG
Но почему раньше я сравнивал строки через ==, и никаких проблем не было?
Дело в том, что можно немного видоизменить код:
Java:
public static void main(String[] args) {
        String str1 = "m25";
        String str2 = "m25";
        System.out.println(str1 == str2);
        System.out.println(str1.equals(str2));
}
И только тогда строки будут нормально сравниваться через ==
Снимок.PNG
Непонятно, почему так происходит.
В конструкторе String говорится:
Initializes a newly created String object so that it represents the same sequence of characters as the argument; in other words, the newly created string is a copy of the argument string. Unless an explicit copy of original is needed, use of this constructor is unnecessary since Strings are immutable.
Как я понял, этот конструктор что-то вроде заменителя метода clone для строки.
А если присваивать строке значение обычным способом, то получаем некую стандартную ссылку...
 
1,470
19
189
7,099
324
1,510
Сверху