Skocz do zawartości
  • 0

Problem z sprawdzaniem logowania


Pytanie

Siems, w Javie jestem nowy, i spotkał mnie oto taki problem.

Kod:

package me.JailMC;

import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import fr.xephi.authmebungee.data.AuthPlayer;

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (event.isCommand() == false) {
            if (fr.xephi.authmebungee.data.AuthPlayer.isLogged() == false)
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            
        }
    }
}

Błąd: Non-static method 'isLogged()' cannot be referenced from a static context

Odnośnik do komentarza
https://skript.pl/temat/49436-problem-z-sprawdzaniem-logowania/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 minuty temu, W1tt napisał:

Siems, w Javie jestem nowy, i spotkał mnie oto taki problem.

Kod:

package me.JailMC;

import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import fr.xephi.authmebungee.data.AuthPlayer;

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (event.isCommand() == false) {
            if (fr.xephi.authmebungee.data.AuthPlayer.isLogged() == false)
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            
        }
    }
}

Błąd: Non-static method 'isLogged()' cannot be referenced from a static context

jako iż zaimportowałeś klasę "AuthPlayer" to raczej usunięcie "fr.xephi.authmebungee.data.AuthPlayer." z "if (fr.xephi.authmebungee.data.AuthPlayer.isLogged() == false)" powinno pomóc.

Odnośnik do komentarza
https://skript.pl/temat/49436-problem-z-sprawdzaniem-logowania/#findComment-306742
Udostępnij na innych stronach

  • 0
1 minutę temu, Glitchtrap napisał:

jako iż zaimportowałeś klasę "AuthPlayer" to raczej usunięcie "fr.xephi.authmebungee.data.AuthPlayer." z "if (fr.xephi.authmebungee.data.AuthPlayer.isLogged() == false)" powinno pomóc.

Nowy kod:

package me.JailMC;

import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import fr.xephi.authmebungee.data.AuthPlayer;

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (event.isCommand() == false) {
            if (isLogged() == false) {
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            }
        }
    }
}

Błąd: Cannot resolve method 'isLogged' in 'Events'

Odnośnik do komentarza
https://skript.pl/temat/49436-problem-z-sprawdzaniem-logowania/#findComment-306743
Udostępnij na innych stronach

  • 0

Nowy kod:

package me.JailMC;

import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import fr.xephi.authme.api.v3.AuthMeApi;

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    AuthMeApi authmeApi = AuthMeApi.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (event.isCommand() == false) {
            if (authmeApi.isAuthenticated(event.getSender()) == false) {
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            }
        }
    }
}

Błąd: 'isAuthenticated(org.bukkit.entity.Player)' in 'fr.xephi.authme.api.v3.AuthMeApi' cannot be applied to '(net.md_5.bungee.api.connection.Connection)'

P. s. - Plugin który piszę jest na BungeeCorda, a plugin AuthMe znajduje się na innym serwerze (spigot).

Edytowane przez W1tt
Odnośnik do komentarza
https://skript.pl/temat/49436-problem-z-sprawdzaniem-logowania/#findComment-306762
Udostępnij na innych stronach

  • 0
W dniu 8.07.2021 o 21:33, W1tt napisał:

Nowy kod:

package me.JailMC;

import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.ChatEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import fr.xephi.authme.api.v3.AuthMeApi;

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    AuthMeApi authmeApi = AuthMeApi.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (event.isCommand() == false) {
            if (authmeApi.isAuthenticated(event.getSender()) == false) {
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            }
        }
    }
}

Błąd: 'isAuthenticated(org.bukkit.entity.Player)' in 'fr.xephi.authme.api.v3.AuthMeApi' cannot be applied to '(net.md_5.bungee.api.connection.Connection)'

P. s. - Plugin który piszę jest na BungeeCorda, a plugin AuthMe znajduje się na innym serwerze (spigot).

Bo zaimportowałeś AuthMe, które nie jest pod bungeecorda.

 

Zobacz ten plugin https://www.spigotmc.org/resources/authmebungee.50219/ lub pobaw się w wysyłaniu informacji między bungee a serwerem spigot(https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/

PS. W javie do sprawdzenia czy warunek będzie == false używamy negacji.

public class Events implements Listener {

    private BungeeMain plugin = BungeeMain.getInstance();
    AuthMeApi authmeApi = AuthMeApi.getInstance();
    @EventHandler
    public void chatEvent (ChatEvent event) {
        ProxiedPlayer player = (ProxiedPlayer) event.getSender();
        if (!event.isCommand()) {
            if (!authmeApi.isAuthenticated(event.getSender())) {
                player.sendMessage(new TextComponent(ChatColor.RED + "Testowa Wiadomość"));
            }
        }
    }
}

 

Odnośnik do komentarza
https://skript.pl/temat/49436-problem-z-sprawdzaniem-logowania/#findComment-306843
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...