Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Pinkierar, 2 апр 2017.

  1. Автор темы
    Pinkierar

    Pinkierar Новичок Пользователь

    Баллы:
    6
    Skype:
    metilan111
    Имя в 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 плохо понимаю и не знаю, как убрать ошибку.
    Искал, Как пользоваться нестатическим методом, но не смог сделать.
    Может есть ещё какие-то скрытые ошибки?
     
    Последнее редактирование: 2 апр 2017
  2. Хостинг MineCraft
    <
  3. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    World - класс, котороый описывает все объекты данного типа (такие как эндермир, ад, обычный мир).
    спавнить частицу нужно в самом объекте, а никак не в классе, его описывающим.

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

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

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

    Угадай, почему у тебя не получилось?
     
  4. Автор темы
    Pinkierar

    Pinkierar Новичок Пользователь

    Баллы:
    6
    Skype:
    metilan111
    Имя в Minecraft:
    Pinkierar
    Да, спасибо, но я могу оправдаться тем, что в p.getLocation() есть название мира и координаты :rolleyes:
    Вот сейчас поискал информацию, не нашёл.. Как получить конкретный мир?
     
  5. Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    p.getLocation().getWorld()
     
  6. Автор темы
    Pinkierar

    Pinkierar Новичок Пользователь

    Баллы:
    6
    Skype:
    metilan111
    Имя в Minecraft:
    Pinkierar

Поделиться этой страницей