Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Java][Bukkit]Niefunkcjonujące listenery?


Rekomendowane odpowiedzi

Opublikowano

Witam. Od jakiegoś czasu nie mogę stworzyć działającego listenera w pluginie bo Bukkit. Nie mam pojęcia czemu nie działają, ponieważ kod jest dobry, kompiluje bez błędów, w konsoli także nie ma nic złego, cała reszta działa, lecz bez listenerów, pracuje w netbeans. Kod:

 

 

package nitex;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.plugin.java.JavaPlugin;


public class main extends JavaPlugin implements Listener{
public static main plugin;


public void OnEnable(){
getServer().getPluginManager().registerEvents(this, this);

}


@EventHandler
public void Logowanie(PlayerLoginEvent e){
e.getPlayer().sendMessage("Czesc!");
}
}

Nic ciekawego, dałem randomowy który mi sie na trafil, tak czy siak, żaden nie działa i nie wiem czemu. Oczywiście reszta pluginu to po prostu plugin.yml . Kod jest prawidłowy (kontaktowałem się już w tej sprawie z paroma osobami, potwierdziły to :/), więc nie rozumiem o co chodzi, może ktoś miał już taki problem i wie jak go rozwiązać.

 

Pozdrawiam, nitex.

Opublikowano

PlayerLoginEvent jest podczas logowania, raczej nie możesz użyć tego, spróbuj PlayerJoinEvent.

 

@edit

następnym razem udostępnij kod na pastebin.org.

<>

Opublikowano

Dla mnie wygodniej jest zrobić w od dzielnym pliku listener. Przeżuć się na eclipse, lepsze jest ;P

//gif w sygnie

Opublikowano

@up Ja osobiście wolę netbeans, poza tym eclipse mi nie działa :X

 

 

@sensu Wiesz, próbowałem, żaden a żaden listener nie działa, czy to na bloki, czy to na graczy, zupełnie brak reakcji.

Opublikowano

A spróbuj może coś takiego

@EventHandler(priority=EventPriority.HIGH)

public void onPlayerMove(PlayerMoveEvent e)

{

e.getPlayer().sendMessage("Test");

}

Opublikowano

A spróbuj może coś takiego

@EventHandler(priority=EventPriority.HIGH)

public void onPlayerMove(PlayerMoveEvent e)

{

e.getPlayer().sendMessage("Test");

}

albo tak : @EventHandler(priority=EventPriority.HIGH)

public void onPlayerMove(PlayerMoveEvent e)

{

e.getPlayer().sendMessage("Test");

}

bez gif.

Opublikowano

Jakim cudem to ma kurwa działać ? xD

 

masz void trlaalal(gowno gowno)...

Więc musisz jeszcze zaznaczyć kiedy to ma działać.

Dopisz w OnEnable

 

Logowanie();

LAYOUT'Y POD SERWER MINECRAFT U MNIE. ZAPRASZAM PW

Opublikowano

 

Jakim cudem to ma kurwa działać ? xD

 

masz void trlaalal(gowno gowno)...

Więc musisz jeszcze zaznaczyć kiedy to ma działać.

Dopisz w OnEnable

 

Logowanie();

ma działać dzięki linice:

 

getServer().getPluginManager().registerEvents(this, this);

<>

Opublikowano

No to się mylisz ;f

Pisałem pluginy do bukkita, coś o tym wiem.

 

Jak będzie miał 50 voidów to też ta linijka załatwi cała sprawę?

Wątpię.

LAYOUT'Y POD SERWER MINECRAFT U MNIE. ZAPRASZAM PW

  • 3 tygodnie później...
  • 5 tygodni później...
Opublikowano

Moim zdaniem latwiej jest, zrobić listener w odzielnym pliku, mniej pierdolenia i ładniej kod wygląda.

//gif w sygnie

Opublikowano

Oj ludzie ludzie, jak nie potraficie to nie pomagajcie:

@Override
    public void onEnable(){
        getServer().getPluginManager().registerEvents(new MojSuperanckiListener(),this);
        getCommand("login").setExecutor(new CmdLogin());
        log.info("Wczytano moj zajebisty plugin!");
    }
I w nowym pliku, o nazwie "MojSuperanckiListener.class" :
public class MojSuperanckiListener implements Listener {
	@EventHandler
	void onPlayerJoin(PlayerJoinEvent event)
	{
		Player p = event.getPlayer();
		p.sendMessage("Witaj na serwergu moj drogi"+p.getName());
		
	}
}

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...