- Баллы
- 123
.
Последнее редактирование:
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
int i = Integer.parseInt("&e&lStatTrack: число".split(": ")[1]);
А можете еще рассказать как это работает?)Как-то так
Java:int i = Integer.parseInt("&e&lStatTrack: число".split(": ")[1]);
Сначала разбивает на 2 части, границами которых является ": ", потом из второй строки(которая является числом) извлекает само число.А можете еще рассказать как это работает?)
Извлекаешь обе части. Вторую превращаешь в число и прибавляешь 1, потом соеденяешь 2 части обратно и присваиваешь лоруА как изменить это число? Ну вернее увеличить его на 1 и поставить на то же место!
Не пашет... Ругается IDE.. "Array type expected; found ""java.lang.String";Как-то так
Java:int i = Integer.parseInt("&e&lStatTrack: число".split(": ")[1]);
Тот код, который я дал, работает. Ну IDE, по крайней мере, не ругается.Не пашет... Ругается IDE.. "Array type expected; found ""java.lang.String";
Тот код, который я дал, работает. Ну IDE, по крайней мере, не ругается.
Скинь свой код
@EventHandler
public void addST(EntityDamageByEntityEvent event)
{
if (event.getDamager() instanceof Player && event.getEntity() instanceof Player)
{
Player agree = (Player) event.getDamager();
Player disagree = (Player) event.getEntity();
if (disagree.isDead()) {
if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains(ChatColor.translateAlternateColorCodes('&', "&e&lStatTrack: ")))
{
String lore = agree.getInventory().getItemInHand().getItemMeta().getLore().get(1);
int ST = Integer.parseInt(lore.split(": "[1]));
}
}
}
}
JavaScript:int ST = Integer.parseInt(lore.split(": "[1]));
int ST = Integer.parseInt(lore[0].split(": ")[1]);
lore это строка а не массив..Java:int ST = Integer.parseInt(lore[0].split(": ")[1]);
(": ")

Рулить то рулит, но IDE все равно ругается на текст.Зачем split(": ")? Оптимизация рулит: split(" ")![]()
Дай текст ошибки, или вообще скрин скинь.Рулить то рулит, но IDE все равно ругается на текст.
Ошибок не бьет, Lore не изменяется...При помощи getLore() выводишь содержимое Лора в ArrayList, получаешь 2-й его элемент как строку, сплитишь ее, получаешь нужный элемент
List<String> lore = ItemStack.getLore();
int number = Integer.valueOf(lore.get(1).split(" ")[1]);
А, ну number - то, что и требовалось
@EventHandler
public void addST(EntityDamageByEntityEvent event)
{
if (event.getDamager() instanceof Player && event.getEntity() instanceof Player)
{
Player agree = (Player) event.getDamager();
Player disagree = (Player) event.getEntity();
if (disagree.isDead()) {
if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: ")))
{
int number = Integer.valueOf(agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).split(" ")[1]);
number++;
ItemMeta meta = agree.getInventory().getItemInHand().getItemMeta();
ArrayList<String> lore = new ArrayList<String>();
lore.add(meta.getLore().get(0));
lore.add(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: " + number));
meta.setLore(lore);
agree.getInventory().getItemInHand().setItemMeta(meta);
}
}
}
}
Ошибок не бьет, Lore не изменяется...
JavaScript:@EventHandler public void addST(EntityDamageByEntityEvent event) { if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) { Player agree = (Player) event.getDamager(); Player disagree = (Player) event.getEntity(); if (disagree.isDead()) { if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: "))) { int number = Integer.valueOf(agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).split(" ")[1]); number++; ItemMeta meta = agree.getInventory().getItemInHand().getItemMeta(); ArrayList<String> lore = new ArrayList<String>(); lore.add(meta.getLore().get(0)); lore.add(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: " + number)); meta.setLore(lore); agree.getInventory().getItemInHand().setItemMeta(meta); } } } }
Ни пашит(9((99(9((((((Раз не передаются исключения и лор не меняется - проверь, выполняется ли вообще условие
if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: "))
- Я бы вообще сделал так:
if (agree.getItemInHand().getItemMeta().getLore().get(1).contains("СтатТрек"))) {
Ну и на всякий - agree.updateInventory()
@EventHandler
public void addST(EntityDamageByEntityEvent event)
{
if (event.getDamager() instanceof Player && event.getEntity() instanceof Player)
{
Player agree = (Player) event.getDamager();
Player disagree = (Player) event.getEntity();
if (disagree.isDead()) {
if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains("&e&lСтатТрек: "))
{
int number = Integer.valueOf(agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).split(" ")[1]);
number++;
ItemMeta meta = agree.getInventory().getItemInHand().getItemMeta();
ArrayList<String> lore = new ArrayList<String>();
lore.add(meta.getLore().get(0));
lore.add(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: " + number));
meta.setLore(lore);
agree.getInventory().getItemInHand().setItemMeta(meta);
agree.updateInventory();
}
}
}
}
Почему бы не воспользоваться, например, евентом смерти ентити?Ни пашит(9((99(9((((((
PHP:@EventHandler public void addST(EntityDamageByEntityEvent event) { if (event.getDamager() instanceof Player && event.getEntity() instanceof Player) { Player agree = (Player) event.getDamager(); Player disagree = (Player) event.getEntity(); if (disagree.isDead()) { if (agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).contains("&e&lСтатТрек: ")) { int number = Integer.valueOf(agree.getInventory().getItemInHand().getItemMeta().getLore().get(1).split(" ")[1]); number++; ItemMeta meta = agree.getInventory().getItemInHand().getItemMeta(); ArrayList<String> lore = new ArrayList<String>(); lore.add(meta.getLore().get(0)); lore.add(ChatColor.translateAlternateColorCodes('&', "&e&lСтатТрек: " + number)); meta.setLore(lore); agree.getInventory().getItemInHand().setItemMeta(meta); agree.updateInventory(); } } } }
Поставив "отладку" выявил что не работает проверка на "смерть"... Как правильно проверить умрет ли игрок после нанесения урона в этом евенте?
Вообще-то не подумал...Почему бы не воспользоваться, например, евентом смерти ентити?
EntityDeathEvent
В EDE можно получить только одного игрока... Не подскажете, это кто убийца или убитый?Вообще-то не подумал...
Щя попробую.

Вообще-то не подумал...
Щя попробую.
В EDE можно получить только одного игрока... Не подскажете, это кто убийца или убитый?
Зароботало, всем спасибо![]()