1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите player.spigot().sendMessage()

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

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

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

    Баллы:
    66
    Приветствую, не так давно я присоединил свой плагин к Maven но столкнулся я с одной проблемой
    Вот как выглядит код:
    Код:
        @EventHandler
        public void join(PlayerJoinEvent e) {
            TextComponent text = new TextComponent("§4[§5Ивенты§4] §3Сейчас идёт ивент §6Bow-Spleef ");
            TextComponent see = new TextComponent("§4[§5Наблюдать§4]");
            see.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Вас телепортирует на \nарену как наблюдателя").create()));
            see.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/event spec"));
     
            new BukkitRunnable() {
                @Override
                public void run() {
                    e.getPlayer().spigot().sendMessage(text, see);
                }
            }.runTaskLater(plugin, 40L);
        }
     
    
    Eclipse ругается на e.getPlayer().spigot().sendMessage(text, see);, говорит что The method sendMessage(TextComponent, TextComponent) is undefined for the type Player.Spigot
    Вот как выглядет pom.xml:
    Код:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>ru.events</groupId>
      <artifactId>Events</artifactId>
      <version>B1.3.0</version>
      <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    <repositories>
        <repository>
            <id>elmakers-repo</id>
            <url>http://maven.elmakers.com/repository/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.7.10-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>craftbukkit</artifactId>
            <version>1.7.10-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>minecraft-server</artifactId>
            <version>1.7.10-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.md-5</groupId>
            <artifactId>bungeecord-api</artifactId>
            <version>1.7-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    </project>
    
    До этого же ведь не было Maven и в библиотеках к проекту вместо spigot-api был привязан spigot который используется для работы сервера и с ним не было ошибки, в том репозитории (который в pom.xml) нету серверного spigot'a да и говорят что лучше использовать spigot-api (я могу ошибаться), что я не так делаю?
    Вариант тупо подсоединить к проекту серверный spigot не подходит так как мне надо ещё на GitLab билдить проект
    1.7.10 очень старый, переходи на новый? Молодцы, можете дальше набивать сообщения про старый 1.7.10, этот динозавр ещё живёт. Раз на 1.7.10 сказано делать, значит так нужно и это не решение проблемы "переходи на новую версию"
     
  2. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    А смысол на 1.7.10 сидеть?
     
  3. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Ну так и юзай старые ручные методы отправки пакетов этих сообщений через Json, раз для тебя не вариант обновляться. А ты хотел новые удобные фичи на динозавро версии? Вообще пора полностью саппорт дропать этого старья, а то видишь еще наглеют.
     
  4. Автор темы
    ermaksochi

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

    Баллы:
    66
    Да зачем ручные методы отправки пакетов если на северном jar'нике spigot (1.7.10) eclipse не ругался и ошибок не было, я кстати ещё одну ошибку нашёл когда сидишь на spigot-api
    upload_2019-3-22_23-25-21.png
     
  5. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    А смысол на еклипсе сидеть?
     
  6. Автор темы
    ermaksochi

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

    Баллы:
    66
    У каждого свои предпочтения, тебе какая разница Eclipse или IntelliJ IDEA? Это уже не в тему. Если ошибка из-за Eclipse то объясни
     
  7. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Тогда возвращайся на джарник. Методы есть в действительности. Просмотрел доки.
     
  8. Автор темы
    ermaksochi

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

    Баллы:
    66
    Вообщем-то вот как теперь выглядит pom.xml, с ним ошибок нету
    Код:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>ru.events</groupId>
      <artifactId>events</artifactId>
      <version>B1.3.1</version>
      <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    <repositories>
        <repository>
            <id>mikeprimm-repo</id>
            <url>http://repo.mikeprimm.com/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.7.10-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    </project>
    
    Странно вообще, зачем тогда нужен spigot-api если на нём ничо нормального не работает
     
    Последнее редактирование: 24 мар 2019
  9. SHADOWDAN

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

    Баллы:
    76
    У нормальных людей все работает :cool:.
    И вот лучше используй репу aikar (разраб paperspigot) https://repo.aikar.co/content/groups/aikar/
     
  10. Автор темы
    ermaksochi

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

    Баллы:
    66
    это может у тебя там на 1.13.2 нормально работает, я поэтому и спрашиваю что я не так делаю
    Насчёт твоего варианта repo, как только поставил spigot-api ему уже не понравился метод e.setKeepInventory(true);
     
  11. SHADOWDAN

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

    Баллы:
    76
    1.7.10 и тоже нормально работает все.
     
  12. Автор темы
    ermaksochi

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

    Баллы:
    66
    Если в pom.xml всё правильно (я ссылаюсь на тот pom.xml который в шапке ибо я не думаю что есть какая-то разница между repo airkar и elmakers (кст на airkar нету bungeecord для 1.7.10)), то проблема получается в корявом Eclipse IDE и мне надо переходить на IntelliJ IDEA?
     
  13. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Попробуй убрать из pom "craftbukkit". Мне кажется оно заменяет спайгот апи. В крафт бакките нет тех шняг, отсюда у тебя ошибки. Скорее всего он виновен.
     
  14. Автор темы
    ermaksochi

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

    Баллы:
    66
    если я уберу это, у меня тогда будет ругатсья на
    import org.bukkit.craftbukkit.v1_7_R4.*;
     
  15. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Тогда сделай, чтобы в приоритете был spigot
     
  16. Автор темы
    ermaksochi

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

    Баллы:
    66
    В Maven это как сделать?
     
  17. TheSkiffSailor

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

    Баллы:
    21
    Имя в Minecraft:
    TheSkiffSailor
    А как ты собрался евенту кипинвентори прописать? ПРопиши его игроку
     
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ньюфаг, этот setKeepInventory для ивента.
    [​IMG]
     

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