Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
player.spawnParticleВсем привет.
Можно ли создать ауру со специальными эффектами вокруг игрока и если да, то как?
В Spigot API не могу найти ничего подходящего. В сети плагины или до 2017 года, или платные.
Если я правильно тебя понял, то вот:Всем привет.
Можно ли создать ауру со специальными эффектами вокруг игрока и если да, то как?
В Spigot API не могу найти ничего подходящего. В сети плагины или до 2017 года, или платные.
public static void CreateEffect(final Location loc) {
final PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.REDSTONE, true, (float)(loc.getX() + 0.0), (float)(loc.getY() + 0.0), (float)(loc.getZ() + 0.0), 0.0f, 0.0f, 0.0f, 0.0f, 1, new int[0]);
for (final Player online : Bukkit.getOnlinePlayers()) {
((CraftPlayer)online).getHandle().playerConnection.sendPacket((Packet)packet);
}
}
public static void spawnSphere(Location l) {
double r = 1.5;
for(double phi = 0; phi <= Math.PI; phi += Math.PI / 10) {
double y = r * Math.cos(phi) + 1;
for(double theta = 0; theta <= 2 * Math.PI; theta += Math.PI / 10) {
double x = r * Math.cos(theta) * Math.sin(phi);
double z = r * Math.sin(theta) * Math.sin(phi);
l.add(x, y, z);
CreateEffect(l);
l.subtract(x, y, z);
}
}
}
}
Спасибо огромное за информацию!Если я правильно тебя понял, то вот:
Код:public static void CreateEffect(final Location loc) { final PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.REDSTONE, true, (float)(loc.getX() + 0.0), (float)(loc.getY() + 0.0), (float)(loc.getZ() + 0.0), 0.0f, 0.0f, 0.0f, 0.0f, 1, new int[0]); for (final Player online : Bukkit.getOnlinePlayers()) { ((CraftPlayer)online).getHandle().playerConnection.sendPacket((Packet)packet); } } public static void spawnSphere(Location l) { double r = 1.5; for(double phi = 0; phi <= Math.PI; phi += Math.PI / 10) { double y = r * Math.cos(phi) + 1; for(double theta = 0; theta <= 2 * Math.PI; theta += Math.PI / 10) { double x = r * Math.cos(theta) * Math.sin(phi); double z = r * Math.sin(theta) * Math.sin(phi); l.add(x, y, z); CreateEffect(l); l.subtract(x, y, z); } } } }
Этим ты создашь сферу на локации игрока, диаметр регулируй сам, чтобы создать:
spawnSphere(p.getLocation());
бесконечный таск, проверять в радиусе сущностиСпасибо огромное за информацию!
У меня осталась пара вопросов:
1) Будет ли эта сфера перемещаться вместе с игроком?
2) Как сделать так, чтобы каждый игрок, кто попадаёт в область этой сферы получал эффект, допустим, регенерации? Как это сделать без частиц? Вот стоит игрок, а вокруг все получают эффект скорости.
Спасибо, попробую.бесконечный таск, проверять в радиусе сущности
Нет1) Будет ли эта сфера перемещаться вместе с игроком?
Разве есть метод на отрисовку сферы?И вообще на партиклы есть апи в ведре, а не этот костыль, что тебе дали.
Что хочешь можно сделать, жаль уже скрина нет, показал быРазве есть метод на отрисовку сферы?
Есть метод на спавн партикла.Разве есть метод на отрисовку сферы?
Есть spawnParticle. Да и то что ты сделал будет светить игрока за километр. Да и тпс отожрет еще.Разве есть метод на отрисовку сферы?
Спасибо огромное за информацию!
У меня осталась пара вопросов:
1) Будет ли эта сфера перемещаться вместе с игроком?
2) Как сделать так, чтобы каждый игрок, кто попадаёт в область этой сферы получал эффект, допустим, регенерации? Как это сделать без частиц? Вот стоит игрок, а вокруг все получают эффект скорости.
public static void effect(final Player p) {
final BukkitRunnable runable = new BukkitRunnable() {
int timer = 70; //Длительность
int timer5 = 20;
public void run() {
spawnSphere(p.getLocation());
if (this.timer-- >= 0) {
if (this.timer5-- < 0) {
return;
}
else {
return;
}
}
else {
this.cancel();
}
}
};
runable.runTaskTimer((Plugin)Main.instance, 0L, 1L);
}
BukkitRunnable runable = new BukkitRunnable() {
int timer = 75;
@Override
public void run() {
if (this.timer-- > 0) {
for (Entity entity : Player.getNearbyEntities(1.5D, 1.5D, 1.5D)) {
LivingEntity target = (LivingEntity)entity;
target.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 200, 1));
target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 200, 1));
target.addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 200, 0));
target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 200, 1));
}
}
}
};
runable.runTaskTimer((Plugin)Main.instance, 0L, 1L);
}
партиклы можно спавнить в асунке, так что насчет партиклов и падения тпс можно не парится)Есть spawnParticle. Да и то что ты сделал будет светить игрока за километр. Да и тпс отожрет еще.
Конечно конечно, очередь пакетов ж никто не отменялпартиклы можно спавнить в асунке, так что насчет партиклов и падения тпс можно не парится)
