Usunięty#25541 1 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 (edytowane) Ok, ten kod miał usunąć opóźnienie klikania, czyli taki tryb combo. Niestety nie wiem dlaczego to nie działa tu jest mój kod: package me.neatyz.neatyzhitdelay; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; public class MyListener implements Listener { @EventHandler public void onHit(EntityDamageByEntityEvent event) { event.getPlayer().setMaximumNoDamageTicks(0); event.getPlayer().setNoDamageTicks(0); } } Proszę o pomoc. Taki error wyświetla się w eclipse: The method getPlayer() is undefined for the type EntityDamageByEntityEvent Edytowane 20 lutego 2021 przez Xa4inz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1925 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 38 minut temu, Xa4inz napisał: Ok, ten kod miał usunąć opóźnienie klikania, czyli taki tryb combo. Niestety nie wiem dlaczego to nie działa tu jest mój kod: Eclipse informuje cię, że klasa 'EntityDamageByEntityEvent' nie posiada takiej metody jak 'event.getPlayer()'. Dokumentacja zawsze ratuje tyłek, korzystaj z niej. https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/EntityDamageByEntityEvent.html Wystarczy prosty warunek z 'instanceof', a po tym castowanie do 'LivingEntity'. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#25541 1 Opublikowano 20 lutego 2021 Autor Udostępnij Opublikowano 20 lutego 2021 10 minut temu, Kormic napisał: Eclipse informuje cię, że klasa 'EntityDamageByEntityEvent' nie posiada takiej metody jak 'event.getPlayer()'. Dokumentacja zawsze ratuje tyłek, korzystaj z niej. https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/entity/EntityDamageByEntityEvent.html Wystarczy prosty warunek z 'instanceof', a po tym castowanie do 'LivingEntity'. Ok... A możesz mi to bardziej wytłumaczyć w ludzki sposób, bo jest to mój pierwszy plugin. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 6 minut temu, Xa4inz napisał: Ok... A możesz mi to bardziej wytłumaczyć w ludzki sposób, bo jest to mój pierwszy plugin. W tym evencie nie ma gracza. Musisz użyć eventu z graczem lub sprawdzać czy event.getEntity() to gracz i następnie zrobić z niego gracza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#25541 1 Opublikowano 20 lutego 2021 Autor Udostępnij Opublikowano 20 lutego 2021 Teraz, Glitchtrap napisał: W tym evencie nie ma gracza. Musisz użyć eventu z graczem lub sprawdzać czy event.getEntity() to gracz i następnie zrobić z niego gracza. A może być Join eventem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 2 minuty temu, Xa4inz napisał: A może być Join eventem? Nie wiem, możesz sprawdzić czy się da, lecz to co Ci napisałem, myślę, że będzie lepszym sposobem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#25541 1 Opublikowano 20 lutego 2021 Autor Udostępnij Opublikowano 20 lutego 2021 (edytowane) 8 minut temu, Glitchtrap napisał: Nie wiem, możesz sprawdzić czy się da, lecz to co Ci napisałem, myślę, że będzie lepszym sposobem. Join event nie działa na serwerze, ale nie wykrywa błędów w e-clipse A jak mam sprawdzić, że event.getPlayer() to gracz? I zrobić z niego gracza. Sorry, że zadaje dużo pytań, ale po prostu piszę mój pierwszy plugin jeszcze mało wiem o Javie i chcę się dowiedzieć Edytowane 20 lutego 2021 przez Xa4inz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 1 minutę temu, Xa4inz napisał: Join event nie działa na serwerze, ale nie wykrywa błędów w e-clipse Spróbuj z tamtym eventem robiąc to co Ci pisałem: 14 minut temu, Glitchtrap napisał: W tym evencie nie ma gracza. Musisz użyć eventu z graczem lub sprawdzać czy event.getEntity() to gracz i następnie zrobić z niego gracza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1925 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 16 minut temu, Xa4inz napisał: Ok... A możesz mi to bardziej wytłumaczyć w ludzki sposób, bo jest to mój pierwszy plugin. Pierwszy plugin to zwykle jakaś prosta komenda, a nie zmiana systemu walki. Za wysokie progi na twoje nogi. Więc tak... 'instanceof' pozwala nam na sprawdzenie na chłopski rozum czy coś jest czymś. W twoim przypadku należy sprawdzić czy 'event.getEntity()' jest 'Player'. Następnie możesz sobie ustawić do zmiennej typu 'Player' castowanego 'event.getEntity()'. Zaprezentuję. Player entity = (Player) event.getEntity(); Możesz to nawet castować do LivingEntity. Wtedy już nie używasz 'event.getPlayer()' (i tak tej metody nie ma w tym evencie), a zmiennej 'entity' i jej ustawiasz ilość "noDamageTicks'ów". Jeżeli nadal masz problemy, idź poczytać jakieś poradniki z Javy i Bukkit API, a nie zabierasz się za pluginy. 1 minutę temu, Xa4inz napisał: Join event nie działa na serwerze, ale nie wykrywa błędów w e-clipse Każdy listener trzeba zarejestrować, bez tego nic nie zadziała. To również jest wyjaśnione w poradnikach, ale z Bukkit API. Glicz 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#25541 1 Opublikowano 20 lutego 2021 Autor Udostępnij Opublikowano 20 lutego 2021 (edytowane) 18 minut temu, Glitchtrap napisał: Spróbuj z tamtym eventem robiąc to co Ci pisałem: ok 15 minut temu, Glitchtrap napisał: Musisz użyć 'instanceof' if (event.getEntity() instanceof Player) { Player p = (Player) event.getEntity(); //twój kod } Dzięki działa! Społeczeństwo na tym forum jest bardzo pomocne! Edytowane 20 lutego 2021 przez Xa4inz Łącze posty Notatka dodana przez Studziak Glicz 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 (edytowane) 2 minuty temu, Xa4inz napisał: A jak mam sprawdzić, że event.getPlayer() to gracz? I zrobić z niego gracza. Sorry, że zadaje dużo pytań, ale po prostu piszę mój pierwszy plugin jeszcze mało wiem o Javie i chcę się dowiedzieć Musisz użyć 'instanceof' if (event.getEntity() instanceof Player) { Player p = (Player) event.getEntity(); //twój kod } Edytowane 20 lutego 2021 przez Glitchtrap błąd w kodzie :V Usunięty#25541 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 246 Opublikowano 20 lutego 2021 Udostępnij Opublikowano 20 lutego 2021 Problem został rozwiązany. Usunięty#25541 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Usunięty#25541 1
Ok, ten kod miał usunąć opóźnienie klikania, czyli taki tryb combo. Niestety nie wiem dlaczego to nie działa tu jest mój kod:
Proszę o pomoc.
Taki error wyświetla się w eclipse:
Edytowane przez Xa4inzOdnośnik do komentarza
Udostępnij na innych stronach
11 odpowiedzi na to pytanie
Rekomendowane odpowiedzi