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

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

Discussion in 'Разработка плагинов для новичков' started by Pinkierar, Apr 2, 2017.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    6
    Skype:
    metilan111
    Имя в Minecraft:
    Pinkierar

Share This Page