• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Packets und Maven

ratty5708

Minecrafter
Registriert
13 Mai 2017
Beiträge
15
Alter
23
Diamanten
304
Minecraft
ratty5708
Hallo ich arbeite mit Maven und möchte ein ScoreBoard machen mit Packets, da ich die Tablist schon mit dem Scoreboard von Spigot gemacht habe.
Aber ich kann die Klassen einfach nicht impotieren, weil die net.minecraft.server.* Sachen einfach nicht als API verfügbar sind. Was muss ich in die pom.xml schreiben, dass dies funktioniert? Ich arbeite mit der 1.8.0

Hier die pom.xml:
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>at.ratty5708</groupId>
    <artifactId>Lobbysystem</artifactId>
    <version>0.4-SNAPSHOT</version>

    <repositories>
        <!-- This adds the Spigot Maven repository to the build -->
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>

    <dependencies>
        <!--This adds the Spigot API artifact to the build -->
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.8-R0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>
 

Ativendus

Kuhfänger
Registriert
7 Dezember 2016
Beiträge
78
Diamanten
352
Moin, dir scheint ja noch nicht geholfen zu sein. Leider bietet das SpigotMC Maven Repository keine Möglichkeit, so weit ich weiß, mit NMS Packets zu arbeiten. Wenn du das aber unbedingt über maven machen möchtest kannst du entweder die Spigot Jar über Maven laden oder du lädst dir das BuildTool von SpigotMC herunter und machst ein maven install in dem Spigot Ordner, dann hättest du Craftbukkit auch in deinem lokalen Maven Repository gespeichert
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Gibt es einen besonderen Grund warum du direkt NMS benutzen möchtest? Es gibt extra ProtocolLib, um solche Dinge zu ermöglichen und gleichzeitig zu verhindern, das jedes Plugin individuell auf NMS-Klassen zugreift und sich dabei in die Quere kommt. Auch wenn du tatsächlich mal von der uralten 1.8 updaten möchtest (ich würde übrigens dringendst zumindest 1.8.8 empfehlen, Server lassen sich sonst nur durch anpingen crashen) würde das mit ProtocolLib deutlich einfacher gehen.

ProtocolLib lässt sich auch einfach via Maven hinzufügen: https://github.com/dmulloy2/ProtocolLib/wiki/Adding-ProtocolLib-as-a-Dependency
 

qeex

Minecrafter
Registriert
19 Juli 2020
Beiträge
2
Diamanten
320
@Malfrador Natürlich geht auch ProtocolLib aber für etwas kleines würde ich doch lieber NMS benutzen, da du sonst wieder unnötig ein Plugin drauf hast. Und übrigens @ratty5708 du kannst Scoreboard und Tablist auch gleichzeitig mit der Spigot-API machen
Aber die Scoreboards überschreiben sich dann ja oder? Hab das probiert aber entweder es ging Tablist oder Scoreboard.
 

ratty5708

Minecrafter
Registriert
13 Mai 2017
Beiträge
15
Alter
23
Diamanten
304
Minecraft
ratty5708
Deshalb benutzt man ja auch das gleiche Scoreboard für beide
Und was mache ich jetzt falsch?(Sorry für den schlechten Stil)
Code:
package at.ratty5708.lobbysystem.util;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;

public class Tablist implements Listener {

    private static Scoreboard sb;

    public static void setTablist(Player player) {
        sb = Bukkit.getScoreboardManager().getNewScoreboard();
        Objective objective = sb.registerNewObjective("abcd", "abcd");
        objective.setDisplaySlot(DisplaySlot.SIDEBAR);
        objective.setDisplayName("§9qeex.io");
        objective.getScore("§6§lName: §r§b" + player.getName()).setScore(7);
        objective.getScore(" ").setScore(6);
        if(player.getName() == player.getDisplayName()){
            objective.getScore("§6§lNick: ").setScore(5);
        }else {
            objective.getScore("§6§lNick: §r§b" + player.getDisplayName()).setScore(5);
        }
        objective.getScore("  ").setScore(4);
        objective.getScore("§6§lCoins: ").setScore(3);
        objective.getScore("   ").setScore(2);
        objective.getScore("§6§lWebsite: §r§bqeexmc.bplaced.net").setScore(1);
        player.setScoreboard(sb);

        sb.registerNewTeam("000Inhaber");
        sb.registerNewTeam("001System-Admins");
        sb.registerNewTeam("002Game-Admin");
        sb.registerNewTeam("003Dev");
        sb.registerNewTeam("004Mod");
        sb.registerNewTeam("005Sup");
        sb.registerNewTeam("006Builder");
        sb.registerNewTeam("007YouTuber");
        sb.registerNewTeam("008Premium");
        sb.registerNewTeam("009Spieler");

        sb.getTeam("000Inhaber").setPrefix("§4Inhaber §7| §b");
        sb.getTeam("001System-Admin").setPrefix("§cSys-Admin §7| ");
        sb.getTeam("002Game-Admin").setPrefix("§cAdmin §7| ");
        sb.getTeam("003Dev").setPrefix("§bDev §7| ");
        sb.getTeam("004Mod").setPrefix("§2Mod §7| ");
        sb.getTeam("005Sup").setPrefix("§aSup §7| ");
        sb.getTeam("006Builder").setPrefix("§eBuilder §7| ");
        sb.getTeam("007YouTuber").setPrefix("§fYouTuber §7| ");
        sb.getTeam("008Premium").setPrefix("§6Premium §7| ");
        sb.getTeam("009Spieler").setPrefix("§7Spieler §7| ");

        for (Player allPlayers : Bukkit.getOnlinePlayers()) {
            setTeams(allPlayers);
        }
    }

    private static void setTeams(Player player) {
        String team = "";

        if (player.hasPermission("lobby.prefix.inhaber")) {
            team = "000Inhaber";
        } else if (player.hasPermission("lobby.prefix.system-admin")) {
            team = "001System-Admin";
        } else if (player.hasPermission("lobby.prefix.game-admin")) {
            team = "002Game-Admin";
        } else if (player.hasPermission("lobby.prefix.dev")) {
            team = "0003Dev";
        } else if (player.hasPermission("lobby.prefix.mod")) {
            team = "004Mod";
        } else if (player.hasPermission("lobby.prefix.sup")) {
            team = "005Sup";
        } else if (player.hasPermission("lobby.prefix.builder")) {
            team = "006Builder";
        } else if (player.hasPermission("lobby.prefix.youtuber")) {
            team = "007YouTuber";
        } else if (player.hasPermission("lobby.prefix.premium")) {
            team = "008Premium";
        } else {
            team = "009Spieler";
        }

        sb.getTeam(team).addPlayer(player);
        player.setScoreboard(sb);
    }
}

Error:
[22:47:23 ERROR]: Could not pass event PlayerJoinEvent to Lobbysystem v0.2
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerList.onPlayerJoin(PlayerList.java:272) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.PlayerList.a(PlayerList.java:156) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.LoginListener.b(LoginListener.java:109) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.LoginListener.c(LoginListener.java:41) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.NetworkManager.a(NetworkManager.java:159) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.ServerConnection.c(ServerConnection.java:82) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:800) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Caused by: java.lang.NullPointerException
        at at.ratty5708.lobbysystem.util.Tablist.setTablist(Tablist.java:45) ~[?:?]
        at at.ratty5708.lobbysystem.listener.TablistJoin.onJoin(TablistJoin.java:13) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_261]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-c3c767f-33d5de3]
        ... 14 more
 

Ativendus

Kuhfänger
Registriert
7 Dezember 2016
Beiträge
78
Diamanten
352
Java:
package at.ratty5708.lobbysystem.util;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;

public class Tablist implements Listener {

    private static Scoreboard sb;

    public static void setTablist(Player player) {
        sb = Bukkit.getScoreboardManager().getNewScoreboard();
        Objective objective = sb.registerNewObjective("abcd", "abcd");
        objective.setDisplaySlot(DisplaySlot.SIDEBAR);
        objective.setDisplayName("§9qeex.io");
        objective.getScore("§6§lName: §r§b" + player.getName()).setScore(7);
        objective.getScore(" ").setScore(6);
        if(player.getName() == player.getDisplayName()){
            objective.getScore("§6§lNick: ").setScore(5);
        }else {
            objective.getScore("§6§lNick: §r§b" + player.getDisplayName()).setScore(5);
        }
        objective.getScore("  ").setScore(4);
        objective.getScore("§6§lCoins: ").setScore(3);
        objective.getScore("   ").setScore(2);
        objective.getScore("§6§lWebsite: §r§bqeexmc.bplaced.net").setScore(1);
        player.setScoreboard(sb);

        Team inhaber = sb.registerNewTeam("000Inhaber");
        Team sysadmin = sb.registerNewTeam("001System-Admins");
        Team admin = sb.registerNewTeam("002Game-Admin");
        Team dev = sb.registerNewTeam("003Dev");
        Team mod = sb.registerNewTeam("004Mod");
        Team sup = sb.registerNewTeam("005Sup");
        Team builder = sb.registerNewTeam("006Builder");
        Team youtuber = sb.registerNewTeam("007YouTuber");
        Team premium = sb.registerNewTeam("008Premium");
        Team spieler = sb.registerNewTeam("009Spieler");

        inhaber.setPrefix("§4Inhaber §7| §b");
        sysadmin.setPrefix("§cSys-Admin §7| ");
        admin.setPrefix("§cAdmin §7| ");
        dev.setPrefix("§bDev §7| ");
        mod.setPrefix("§2Mod §7| ");
        sup.setPrefix("§aSup §7| ");
        builder.setPrefix("§eBuilder §7| ");
        youtuber.setPrefix("§fYouTuber §7| ");
        premium.setPrefix("§6Premium §7| ");
        spieler.setPrefix("§7Spieler §7| ");

        for (Player allPlayers : Bukkit.getOnlinePlayers()) {
            setTeams(allPlayers);
        }
    }

    private static void setTeams(Player player) {
        String team = "";

        if (player.hasPermission("lobby.prefix.inhaber")) {
            team = "000Inhaber";
        } else if (player.hasPermission("lobby.prefix.system-admin")) {
            team = "001System-Admin";
        } else if (player.hasPermission("lobby.prefix.game-admin")) {
            team = "002Game-Admin";
        } else if (player.hasPermission("lobby.prefix.dev")) {
            team = "0003Dev";
        } else if (player.hasPermission("lobby.prefix.mod")) {
            team = "004Mod";
        } else if (player.hasPermission("lobby.prefix.sup")) {
            team = "005Sup";
        } else if (player.hasPermission("lobby.prefix.builder")) {
            team = "006Builder";
        } else if (player.hasPermission("lobby.prefix.youtuber")) {
            team = "007YouTuber";
        } else if (player.hasPermission("lobby.prefix.premium")) {
            team = "008Premium";
        } else {
            team = "009Spieler";
        }

        sb.getTeam(team).addPlayer(player);
        player.setScoreboard(sb);
    }
}

Versuch das mal, wenn das nicht funktioniert entfern mal die Bindestriche bei den Namen
 
Oben