- Баллы
- 103
Собственно, нужно чтобы при определенных условиях, при нанесении игроку урона, игнорировался эффект от брони.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
А что сложного? Задавай при определённых условиях больше уронаСобственно, нужно чтобы при определенных условиях, при нанесении игроку урона, игнорировался эффект от брони.
дат.е. если я поставлю event.setDamage(10), у меня будет наноситься 10 урона не зависимо от наличия брони?
Однако ж нет
package ru.testplugin;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class TestPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onDamage (EntityDamageByEntityEvent event) {
if (event.getEntity() instanceof Player) {
event.setDamage(6D);
}
}
}
Player p = (Player) event.getEntity();
p.damage();
@EventHandler
public void onDamage (EntityDamageByEntityEvent event) {
if (event.getEntity() instanceof Player) {
Player p = (Player) event.getEntity();
double dmg = event.getDamage();
p.damage(dmg);
p.sendMessage("Вы получили " + dmg + " урона");
}
}

Для совсем извращений есть p.setHealth();Сделал так:
При употреблении зелья на урон в броне в чат пишет "вы получили 6.0 урона", а реально отнимается только 2 сердца (4 урона). Без брони наносится, как положено, 6 урона.Код:@EventHandler public void onDamage (EntityDamageByEntityEvent event) { if (event.getEntity() instanceof Player) { Player p = (Player) event.getEntity(); double dmg = event.getDamage(); p.damage(dmg); p.sendMessage("Вы получили " + dmg + " урона"); } }
Упс, случайно проводил испытания на чареной броне, на обыкновенной с p.damage() всё в порядке![]()
Это я знаю, но тогда не отображается анимация урона/лечения, поэтому лучше p.damage();Для совсем извращений есть p.setHealth();
Наноси нулевой дамаг или проигрывай эффект HURTЭто я знаю, но тогда не отображается анимация урона/лечения, поэтому лучше p.damage();
