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

Autorski plugin na weryfikacje


The_Athos

Rekomendowane odpowiedzi

Opublikowano

Siemas. :)

 

Rozpoczynam pisanie pluginów. Jako pierwszy chciałem napisać plugin na weryfikację na serwerze (pierwszy krok ku antybotowi).

 

Niestety cóś pewnie zapomniałem dopisać lub źle napisałem.

 

Jak można to naprawić? :)

 

==============================================

 

package pl.The_Athos.Weryfikacja;

 

import org.bukkit.entity.Player;

import org.bukkit.event.EventHandler;

import org.bukkit.event.Listener;

import org.bukkit.event.player.PlayerLoginEvent;

 

public class Main implements Listener {

 

@EventHandler

public void NieBot(PlayerLoginEvent e) {

final Player p = e.getPlayer();

if(!p.hasPlayedBefore()) {

e.getPlayer().kickPlayer("§6Test!");

}}}

 

==============================================

Opublikowano

@EventHandler

public void NieBot(PlayerLoginEvent e) {

Player p = e.getPlayer();

if(!p.hasPlayedBefore()) {

e.getPlayer().kickPlayer("§6Test!");

}}}

 

a w onEnable dodałeś event? Czy to twój cały kod? 

 

Opublikowano

Z małą pomocą udało się zmodyfikować kod. (Tak zapomniałem o onEnable) 🙂

 

Działa, ale wyrzuca za każdym razem gdy próbuje wejść na serwer a nie tylko za pierwszym razem.

 

==============================================

 

package pl.The_Athos.Weryfikacja;

 
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
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{

 

@Override
public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
}


@Override
public void onDisable(){

}


   @EventHandler
    public void onPlayerLogin(PlayerLoginEvent event) {
     Player player = event.getPlayer();
        if(!player.hasPlayedBefore()) {

            event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "§6Test");
}

}}

 

==============================================

Opublikowano

ja bym to zrobił tak

 

public class Main extends JavaPlugin implements Listener{

 

@Override
public void onEnable() {
    getServer().getPluginManager().registerEvents(this, this);
}


@Override
public void onDisable(){

}

 

@EventHandler

public void onPlayerLogin(PlayerLoginEvent e) {
Player p = e.getPlayer();
if(!p.hasPlayedBefore()) {

     p.kickPlayer("§6Test");
}

 

}

Opublikowano

@EventHandler
    public void onLoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        
        if(!p.hasPlayedBefore()) {
            p.kickPlayer("Test");
        }
    }

to mój cały event i u mnie działa, kickuje za pierwszym wejściem, potem już nie (na 1.16.5 działa)

Opublikowano

Dobra Działa! 🙂 

Dzięki wielkie 🙂 

 

Musiałem zamienić:

PlayerLoginEvent

na

PlayerJoinEvent

Mogę jakoś zamknąć temat czy to moderator musi? 🙂

 

  • sk8erace1 zmienił(a) tytuł na Autorski plugin na weryfikacje
  • sk8erace1 zablokował(a), odblokował(a) i zablokował(a) ten temat

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...