Помогите Вызвать частицы, относительно игрока

Pinkierar

Новичок
Пользователь
Баллы
6
Имя в Minecraft
Pinkierar
Доброго времени! Делаю плагин, добавляющий лазерную пушку :lol:
Формула отрезка в пространстве есть, а вот вызывать частицы не получается...​
Красным выделена ошибка
  1. package LaserPackage;
  2. import org.bukkit.Bukkit;
  3. import org.bukkit.ChatColor;
  4. import org.bukkit.Particle;
  5. import org.bukkit.World;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.player.PlayerInteractEvent;
  10. import org.bukkit.plugin.java.JavaPlugin;
  11. public class LaserClass extends JavaPlugin implements Listener {
  12. private static LaserClass instance;
  13. public static LaserClass instance() {
  14. return instance;
  15. }
  16. public void onEnable() {
  17. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  18. }
  19. public void onDisable() {
  20. }
  21. @EventHandler
  22. public void onPlayerUse (PlayerInteractEvent e) {
  23. Player p = e.getPlayer();
  24. if(p.getInventory().getItemInMainHand().getType().toString() == "NETHER_STAR") {
  25. p.sendMessage(ChatColor.RED + "Что-нибудь");
  26. World.spawnParticle(Particle.LAVA, p.getLocation(), 5);
  27. }
  28. }
  29. }
Cannot make a static reference to the non-static method spawnParticle(Particle, Location, int) from the type World
Тут пытаюсь создать частицы лавы на месте игрока, когда тот ПКМ кликает Звездой Ада.
Java плохо понимаю и не знаю, как убрать ошибку.
Искал, Как пользоваться нестатическим методом, но не смог сделать.
Может есть ещё какие-то скрытые ошибки?​
 
Последнее редактирование:
World - класс, котороый описывает все объекты данного типа (такие как эндермир, ад, обычный мир).
спавнить частицу нужно в самом объекте, а никак не в классе, его описывающим.

Приведу аналогию.

Есть телефон(объект класса), и есть инструкция(класс).

Ты хочешь позвонить с телефона, т.е. тебе нужно использовать объект, который описывает инструкция.
telephone.call(nomber);
Однако ты зачем то пытаешься сделать так:
Instructuion.call(nomber);

Угадай, почему у тебя не получилось?
 
описывает все объекты данного типа
Да, спасибо, но я могу оправдаться тем, что в p.getLocation() есть название мира и координаты :rolleyes:
Вот сейчас поискал информацию, не нашёл.. Как получить конкретный мир?
 
p.getLocation().getWorld()
 
Назад
Верх