Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Habs du testest ob t null ist, und setzt dann die Werte es muss if(t!=null) heißen
 
Ich Bin dumm, vergess was ich gerade gesagt habe, hab überlesen dass du das Team dann Registerst ._.
 
Das ist der Code.

Code:
public static Scoreboard sb;

    public static void prefix(Player p, String prefix) {
    
        String pr = prefix.replace("&", "§").replace("_", " ");
    
        Team t = sb.getTeam(prefix);
    
        if(t == null) {
            t = sb.registerNewTeam(prefix);
            t.setPrefix(pr);
        }
        t.addPlayer(p);
    
        for(Player all : Bukkit.getOnlinePlayers()) {
            all.setScoreboard(sb);
        }
    }

    @EventHandler
    public void onScoreboardJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
    
        if(p.isOp()) {
            prefix(p, "§c§lADMIN §f");
        } else {
            prefix(p, "§8§lGAST §f");
            
            }
        }

    public static void update() {
    
        for(Player all : Bukkit.getOnlinePlayers()) {
        
            if(all.isOp()) {
                prefix(all, "§c§lADMIN §f");
            } else {
                prefix(all, "§8§lGAST §f");
                
                }
            }
        }
    }


Hey,
dein Problem liegt wahrscheinlich an folgendem:

Code:
public static Scoreboard sb;

Da du sb hier keinen Wert zuweist, ist es null.


Code:
 Team t = sb.getTeam(prefix); 
//Reminder: sb wurde noch nicht erzeugt.

Hier verwendest du aber schon das Scoreboard.
Du versuchst die getTeam() Methode von null abzuleiten , das funktioniert nicht.

Lösungsansatz:
Code:
public static Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
 
ja ich habe einträge. das problem ist dass wenn ich in den befehl eingebe dass die erste zeile null ist und die zweite Zeile ein random spieler und 3. zeile auch null..

ich habe auch eine andere frage
bei gomme ist es ja so wenn man hackt dass die admins die message bekommen "x wurde gebannt ... von bungeeconsole & co."
meine Frage ist wie ist das gemacht? wie lautet der code dadrin. es kann unmöglich mit der bungeecord api gewesen sein oder?
http://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/
da steht:
out.writeUTF("Message");
out.writeUTF("roblabla");
out.writeUTF(ChatColor.RED + "Congrats, you just won 1$!");

wie kann ich eine abfrage machen ob der spieler dem ich msg schicke die permissions hat wenn er doch auf einem anderen server ist.. ich hoffe ihr versteht was ich meine.. ich will an alle spieler eine nachricht schicken, die eine bestimmte permissions haben.. aber direkt kann man das leider nicht abfragen

weiß einer bitte wie das geht? :(
kann mir denn niemand weiterhelfen?
wie funktioniert das ban system auf gomme? soweit ich weiß ist das ein Bukkit Plugin.. wie schaffen sie es, eine Nachricht zu senden ob ein Spieler gebannt ist oder nicht BungeeCordweit aber nur an die Leute, die permissions haben..

wenn zb GommeHD jemanden bannt dann steht bei ihm "Ban wurde erstellt" und alle anderen Teammitglieder aus anderen server erhalten eine nachricht: "xx wurde von Gommehd gebannt \nHacking [30 Tage]
wie schaffen sie das? das kann unmöglich ein BungeeCord plugin sein wegen anti kill aura.. wenn man hackt, wird auch eine message ausgesendet.. und die API von bungeecord unterstützt keine Packets also Bukkit packets wie das Spawnen von NPC

bitte helft mir :(
 
Man kann auch Bukkit mit BungeeCord kommunizieren lassen, beispielsweise über den PluginMessagingChannel oder Socket Verbindungen.

Somit kann das BanSystem auf BungeeCord laufen und das Antikillaura-System, das auf Bukkit läuft, sendet an BungeeCord den "Befehl zum Bannen".
 
Man kann auch Bukkit mit BungeeCord kommunizieren lassen, beispielsweise über den PluginMessagingChannel oder Socket Verbindungen.

Somit kann das BanSystem auf BungeeCord laufen und das Antikillaura-System, das auf Bukkit läuft, sendet an BungeeCord den "Befehl zum Bannen".
kannst du ein codebeispiel machen? ich glaube nicht dass es i-wie möglich ist..
 
das kann unmöglich ein BungeeCord plugin sein wegen anti kill aura.. wenn man hackt, wird auch eine message ausgesendet.. und die API von bungeecord unterstützt keine Packets also Bukkit packets wie das Spawnen von NPC

Man kann auch Bukkit mit BungeeCord kommunizieren lassen, beispielsweise über den PluginMessagingChannel oder Socket Verbindungen.

Somit kann das BanSystem auf BungeeCord laufen und das Antikillaura-System, das auf Bukkit läuft, sendet an BungeeCord den "Befehl zum Bannen".
Genau.
wenn zb GommeHD jemanden bannt dann steht bei ihm "Ban wurde erstellt" und alle anderen Teammitglieder aus anderen server erhalten eine nachricht: "xx wurde von Gommehd gebannt \nHacking [30 Tage]
wie schaffen sie das?
For Schleifen :)
 
(facepalm)
Lies bitte meinen vorherigen beitrag.. also das davor

wie soll das gehen, bei writeUTF("") 1. Zeile muss Message hin, bei der zweiten der SPIELER, aber wenn man es mit for-Schleifen macht zb for(Player p : Bukkit.getOnlinePlayers()) { }, dann geht es nicht auf andere Server, weil es dann für die spieler gilt die auf dem selben server sind..
 
Es kann gar kein Bukkit Plugin sein. Es muss ein BungeeCord Plugin sein, wenn du die Spieler auf anderen Servern erreichen willst.
 
Es kann gar kein Bukkit Plugin sein. Es muss ein BungeeCord Plugin sein, wenn du die Spieler auf anderen Servern erreichen willst.
wie soll es sonst gehen? wenn ich zb durch Kill Aura gebannt werde (das ist 100% ein bukkit plugin) dann wird es doch auch an alle admins und moderatorenn geschickt.. wie stellt man dann ein, dass, wenn einer gebannt wird in Spigot dass es an Bungeecord leitet..
es ist ziemlich kompliziert ..
 
danke für eine Antwort!
jedoch gibt es keine andere einfachere möglichkeit? Wie hat das eigentlich gomme gemacht? Ich wollte das ban plugin per bungeecord machen, aber da gibt es keine Offline UUIDs und durch eine website abfrage ist das nicht sinnvoll.. naja.. für jedes Mal eine website abfragen.. es gäbe auch probleme wenn der mojang server down ist..o

gibt es keine andere möglichkeit? :(
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop