Я создаю систему размещения предметов Minecraft.По сути это похоже на цикл по 100 строк типа «Привет,% employee, добро пожаловать в% company».и я бы заменил эти% сотрудников их именем и% компании на названия компаний.
Но в моем случае я попытался заменить их, но после второго объекта это не очень хорошо работало.
Я имею в виду, что после первого элемента второй элемент не заменит строку.
Я попытался отладить, используя async, все, что я мог себе представить.Но не повезло.
public ItemStack getMailItem(Mail m) {
ItemStack item = null;
if (m.isRead()) {
item = items.get(ItemData.READ_MAIL);
}
else {
item = items.get(ItemData.MAIL);
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
item.addItemFlags(ItemFlag.HIDE_ENCHANTS);
}
ItemMeta meta = item.getItemMeta();
String name = meta.getDisplayName();
name = name.replaceAll("%a", m.getSender());
name = name.replaceAll("%b", m.getDate());
Utility.broadcast("Date: " + m.getDate());
meta.setDisplayName(Utility.TransColor(name));
ArrayList<String> msgs = new ArrayList<String>();
for (String str : m.getMessages()) {
msgs.add("&f" + str);
}
meta.setLore(Utility.TransColor(msgs));
item.setItemMeta(meta);
NBTItem nbt = new NBTItem(item);
nbt.setString("c2e", m.getUniqueID().toString());
return nbt.getItem();
}
В основном это работает первый раз, но во второй раз не работает.Он будет использовать имя первого отправителя и дату с первого письма.
Я ожидаю, что, например, у него есть такие данные: Джонни, 5 часов утра, Марк, 5 часов вечера, Альберт, 13 часов
Но когда это будет сделано:
Джонни, 5Джонни, 5 часов утра Джонни, 5 часов утра
Он заменен, но не использует правильную строку.
Я отладил и показывает правильную строку, но не заменяетправая строка.