Failed to register events - problem

szymhal | 2021-02-17 10:26:02 UTC | #1

Cześć,
napotkałem się na problem podczas uruchamiania mojego pluginu.
W konsoli pokazuje się błąd:
[10:12:11 ERROR]: [BlockCommands] Plugin BlockCommands v1.0 has failed to register events for class pl.SzymoonDev.plugin.Main because org/bukkit/event/server/TabCompleteEvent does not exist.


xSeKaBo | 2017-07-01 08:54:38 UTC | #2

Myślę że pomocne byłoby udostępnienie kodu pliku Main i napisanie wersji silnika.
Czy zaimportowałeś “org.bukkit.event.server.TabCompleteEvent”?
Jeśli tak to spróbuj użyć api spigota ale w wersji shaded (Mi w paru rozwiązaniach pomogło).

Ps. Nie znam się świetnie na języku Java, więc mogę się mylić.


szymhal | 2017-07-01 09:29:17 UTC | #3

Gdyby importu nie było, plugin nie uruchomiłby się. (jest zaimportowane)
W Build Path mam bukkit-1.11.2 oraz spigot-1.11.2 (spigot do api bungeecorda i niektórych rzeczy od md_5.)


xSeKaBo | 2017-07-01 09:46:26 UTC | #4

Mógłbyś udostępnić kod pluginu?
Znacznie to by mi pomogło.


szymhal | 2017-07-01 09:48:40 UTC | #5

Nadal nie wiem w czym ma Ci kod pomóc, skoro pytam o event, który nie jest zarejestrowany na stronie bukkita, no ale proszę:
https://hastebin.com/aqizarukus.js


Toranktto | 2017-07-01 10:22:54 UTC | #6

Może spróbuj zmienić wersję silnika którego używasz na serwerze? Bo z tego błędu wynika że błąd jest właśnie po jego stronie.


Timo | 2017-07-01 11:18:14 UTC | #7

Zła wersja silnika w stosunku do wykorzystanego API w pluginie.
Silnik serwera nie widzi poprawnie pl.SzymoonDev.plugin.Main , ponieważ ma inną klasę org/bukkit/event/server/TabCompleteEvent.
Zalecam zmianę silnika serwera na taki, jaki został użyty w pluginie.


Nieznajomy11 | 2017-07-01 14:16:25 UTC | #8

[quote=”Timo, post:7, topic:3136”]
Silnik serwera nie widzi poprawnie pl.SzymoonDev.plugin.Main , ponieważ ma inną klasę org/bukkit/event/server/TabCompleteEvent.
[/quote]

Nie umiesz into java :\
Oczywiście, że widzi klase Main, tylko nie może załadować pluginu bo nie odnalazł klasy org.bukkit.event.server.TabCompleteEvent

Wydaje mi się, że event ten nazywa się PlayerChatTabCompleteEvent:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerChatTabCompleteEvent.html

nie wiem czego ty tam próbujesz użyć :D


szymhal | 2017-07-01 14:51:48 UTC | #9

[quote=”Nieznajomy11, post:8, topic:3136”]
PlayerChatTabCompleteEvent
[/quote]

W tym evencie nie da się ustawiać dopełnień. (e.setCompletions)


szymhal | 2017-07-02 11:17:25 UTC | #10

Refff


Szymon | 2017-07-02 11:22:54 UTC | #11

A co to niby jest: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerChatTabCompleteEvent.html#getTabCompletions–
??

Wystarczy dodać do listy odpowiednie ciągi znaków.


szymhal | 2017-07-02 11:46:58 UTC | #12

Nie rozumiem o co Ci chodzi.


szymhal | 2017-07-04 10:27:09 UTC | #13

Ref


Nieznajomy11 | 2017-07-04 10:49:57 UTC | #14

Eh. W tym evencie co podałem getCompletions() zwraca kolekcje z nimi, trzeba do niej dodać coś i działa, bo z tego co widzę nie jest napisane w javadocsach, że to kopia.


system | 2021-02-17 10:26:18 UTC | #15

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.