- Баллы
- 173
- Имя в Minecraft
- _Dereku
Если решил сам, то выкладывай в тред своё решение.Решил.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Если решил сам, то выкладывай в тред своё решение.Решил.
Кто-то из пользователей мне скидывал: if getPlayerExast(args[0]) == null, оказывается, что это нормально работает, проблема была вовсе в другой части кода.Если решил сам, то выкладывай в тред своё решение.
public class jink implements Listener {
@EventHandler
public void LevelUP(PlayerLevelChangeEvent e){
Player p = e.getPlayer();
int level = e.getNewLevel();
p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень");
}
}
Помогите
Как мне переменную Level использовать в чате ?JavaScript:public class jink implements Listener { @EventHandler public void LevelUP(PlayerLevelChangeEvent e){ Player p = e.getPlayer(); int level = e.getNewLevel(); p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень"); } }
@EventHandler
public void LevelUP(PlayerLevelChangeEvent e){
Player p = e.getPlayer();
int level = e.getNewLevel();
p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень" + String.valueOf(level));
Спасибо ,но мне написали что так лучше :Java:@EventHandler public void LevelUP(PlayerLevelChangeEvent e){ Player p = e.getPlayer(); int level = e.getNewLevel(); p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень" + String.valueOf(level));
p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень: " + level);
И так и так правильно, просто в данном случае вариант выше не имеет смысла.Спасибо ,но мне написали что так лучше :JavaScript:p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень: " + level);
Ну не знаю, у меня показывает ошибку, т.к. значение должно быть строкой.Спасибо ,но мне написали что так лучше :JavaScript:p.sendMessage(ChatColor.GREEN+"Ваш уровень был повышен! Теперь вам доступно что-то новое.Ваш новый уровень: " + level);
А у меня всё нормально зашлоНу не знаю, у меня показывает ошибку, т.к. значение должно быть строкой.
В чём вы пишите? (IDE)Ну не знаю, у меня показывает ошибку, т.к. значение должно быть строкой.
EclipseВ чём вы пишите? (IDE)
Не проверял, но вроде такПодскажите каким событием можно отлавливать изменение здоровя.
Хочу убрать лечение при полной сытости.
public void healthCheck (EntityRegainHealthEvent e) {
if(e.getAmount() >= e.Entity.Player.getMaxHealth()) {
setCancelled(true);
}
}
Не проверял, но вроде так
EntityRegainHealthEventJava:public void healthCheck (EntityRegainHealthEvent e) { if(e.getAmount() >= e.Entity.Player.getMaxHealth()) { setCancelled(true); } }
public void healthCheck (EntityRegainHealthEvent e) {
if (e.getEntityType() != EntityType.PLAYER) return;
Player pp = (Player) e.getEntity();
if(e.getAmount() >= pp.getMaxHealth()) {
e.setCancelled(true);
}
...
if((int) e.getAmount() >= (int) pp.getMaxHealth())
...

Спасибо.
Вот только e.Entity... непроходит, а у e.getEntity()... нет метода getPlayer
и setCancelled(true) тоже нет...
Но будем искать, спасибо.
Привел код в такой вид:
JavaScript:public void healthCheck (EntityRegainHealthEvent e) { if (e.getEntityType() != EntityType.PLAYER) return; Player pp = (Player) e.getEntity(); if(e.getAmount() >= pp.getMaxHealth()) { e.setCancelled(true); }
но не компилится pp.getMaxHealth(), говорит что метод getMaxHealth() неоднозначный.
(The method getMaxHealth() is ambiguous for the type Player)
Как его заставить работать?
Уже и так делал:
НепомогаетJavaScript:... if((int) e.getAmount() >= (int) pp.getMaxHealth()) ...![]()
@EventHandler
public void healthCheck (EntityRegainHealthEvent e) {
if(e.equals(e.getRegainReason().SATIATED)) {
e.setCancelled(true);
}
}
не работает, здорове увеличивается.Задачу не совсем сразу правильно понял, да и код оказался не рабочим(
Думаю это должно работать правильно
Java:@EventHandler public void healthCheck (EntityRegainHealthEvent e) { if(e.equals(e.getRegainReason().SATIATED)) { e.setCancelled(true); } }
public void healthCheck (EntityRegainHealthEvent e) {
if (e.getEntityType() != EntityType.PLAYER) return;
e.setCancelled(true);
}
Так другие регенерации тоже будут отменяться для игрока. Он не отрегенится пока не умрет.не работает, здорове увеличивается.
Зделал просто:
Так работает, при падении здорове убывает и когда сыт не поднимается.JavaScript:public void healthCheck (EntityRegainHealthEvent e) { if (e.getEntityType() != EntityType.PLAYER) return; e.setCancelled(true); }
Остальное надо проверить...
Спасибо за ответ.
@EventHandler
public void healthCheck (EntityRegainHealthEvent e) {
for (EntityRegainHealthEvent.RegainReason c : EntityRegainHealthEvent.RegainReason.values()){
if (c == e.getRegainReason().SATIATED)
e.setCancelled(true);
}
}
Block evt = evnt.getClickedBlock();
if (evt.getTypeId() == 71) {//если это метал-дверь
int dd = evt.getData();//в зависимости от расположения меняем byte
if(dd == 7) evt.setData((byte) 3);//чтоб открить или закрить
else if(dd == 3) evt.setData((byte)7);
if(dd == 0) evt.setData((byte) 4);
else if(dd == 4) evt.setData((byte)0);
if(dd == 1) evt.setData((byte) 5);
else if(dd == 5) evt.setData((byte)1);
if(dd == 2) evt.setData((byte) 6);
else if(dd == 6) evt.setData((byte)2);
if(dd != evt.getData()) player.playSound(player.getLocation(), Sound.DOOR_OPEN, 1, 1);
}
... .setType(Material.wood)