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

[Problem] Własny plugin - nie działa.


Rekomendowane odpowiedzi

Opublikowano

Witam , co mam zrobić aby działało ? wyskakuje bład z }

package NoBot;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

public class NoBot implements Listener {
 
    @EventHandler
    public void NoBot(final PlayerJoinEvent e) {
        final Player p = e.getPlayer();
        if(!p.hasPlayedBefore()) {
            e.getPlayer().kickPlayer("§7[§aSERWER§7] §aWejdz ponownie na serwer!");
           

Opublikowano

Poco dawałeś final przed eventem jak już to się to pisze po. A poza tym to tak ma wyglądać:

public void NoBot(PlayerJoinEvent e)

 

I powinno działać mała poprawka.


A jeszcze jedno nigdy nie nazywaj nazwy eventu nazwą klasy czyli jeżeli masz:

public class NoBot implements Listener {
 
    
@EventHandler
    public void NoBot(final PlayerJoinEvent e) {
        final Player p = e.getPlayer();
        if(!p.hasPlayedBefore()) {
            e.getPlayer().kickPlayer("§7[§aSERWER§7] §aWejdz ponownie na serwer!");

 

 

To nie nazywaj tego NoBot jak class tylko np. NieBot :)

Opublikowano

Poco dawałeś final przed eventem jak już to się to pisze po. A poza tym to tak ma wyglądać:

public void NoBot(PlayerJoinEvent e)

 

I powinno działać mała poprawka.

A jeszcze jedno nigdy nie nazywaj nazwy eventu nazwą klasy czyli jeżeli masz:

public class NoBot implements Listener {

 

    @EventHandler

    public void NoBot(final PlayerJoinEvent e) {

        final Player p = e.getPlayer();

        if(!p.hasPlayedBefore()) {

            e.getPlayer().kickPlayer("§7[§aSERWER§7] §aWejdz ponownie na serwer!");

 

 

To nie nazywaj tego NoBot jak class tylko np. NieBot :)

bożesz, ale pierdoły wypisujesz :D

(final PlayerJoinEvent e) {

jest w 100% poprawne, taki styl, że daje się final wszędzie tam gdzie się da, niektórym to pomaga ogarniać kod, dla mnie też wtedy wygląda czytelniej, od razu widzę że ta zmienna nie jest nigdzie "nadpisywania".

 

A nazwa metody powinna zaczynać się z małej litery, np: "onJoin"

 

Tak samo paczka, paczki nie powinny mieć żadnych dużych liter.

 

A w kodzie nie widać żebyś zamykał te klamerki które otwierasz, oraz czy masz główną klasę (taką która rozszerza JavaPlugin -> extends JavaPlugin) w której rejestrujesz ten event? oraz plik plugin.yml?

 

A dodatkowym błędem jest użycie eventu Join, do tego powinien być użyty even PlayerLoginEvent, a zamiast kickania event.setResult na np disallow razem z powodem. Tylko wtedy chyba trzeba też dodatkowy system od sprawdzania czy gracz już grał, bo chyba nie uzna wtedy tego jako logowanie :P i trzeba ręcznie zapisywać kto już grał.

Dlaczego tak? bo mniejsze lagi. Pluginy nie będą ładować danych tego gracza tylko po to by zaraz go kicknąć.

1438614356923701010629.png

 

Opublikowano

 

Witam , co mam zrobić aby działało ? wyskakuje bład z }

package NoBot;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

public class NoBot implements Listener {
 
    @EventHandler
    public void NoBot(final PlayerJoinEvent e) {
        final Player p = e.getPlayer();
        if(!p.hasPlayedBefore()) {
            e.getPlayer().kickPlayer("§7[§aSERWER§7] §aWejdz ponownie na serwer!");
           

 

1. Zamykaj bloki (to {})

2. metody PISZEMY Z MAŁEJ -.-

3. nie kickniesz gracza w PlayerJoinEvent, gdyż już wtedy ściąga mu się mapa serwera, a przy kicku dostanie wiadomość o błędzie jej pobierania.

Dlaczego MPC popiera piractwo Minecrafta...

 

Do moderatora: Po co Ty to usuwasz??

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...