Wie kann ich bei spigot prüfen ob ein bestimmter Spieler gerade auf dem selben Server online ist?

Hallo,

ich hatte neulich mal wieder Lust ein Plugin zu schreiben und dachte mir, ich könnte doch mal einen Command einfügen, mit dem ma n den onlinestatus auf meinem Server abfragen kann. Leider bin ich wohl etwas raus gekommen. Folgendes habe ich programmiert

        if(cmd.getName().equalsIgnoreCase("team")) {
        if (args.length == 0){
            p.getServer().getPlayer("Spielername");
            if(p != null){
                p.sendMessage("Spieler: online");
                return true;
            } else {
                p.sendMessage("Spieler: offline");
                return true;
            }
            }
            }

Ja, das ist etwas unordentlich weil ich das etwas aus dem Kontext gerissen habe, aber das wesentliche sollte man erkennen können ;) Ich weiß, dass ich damit prüfe, ob der Spieler, der den Command ausführt online ist und nicht der Spieler den ich hinten angegeben habe, allerdings ist mein Problem eher, dass ich nicht weiß, ob dieser Code üerhaupt prüft, ob der Spieler auf dem Server ist, als viel mehr ob der Spieler in der Datenbank von Mojang eingespeichert ist, sprich einen Premium-Account besitzt. (Wie gesagt, ist lange her, dass ich mich mal mit bukkit / spigot befasst habe)

Wenn mir jemand sagen könnte, ob der Code überhaupt das tut, was ich will wäre das bereits eine große Hilfe. Wenn man mir direkt noch einen Tipp gibt, wie ich meinen Code "richtig" mache wäre das wirklich der Hammer :)

Vielen Dank

Server, online, programmieren, Java, selber, Spieler, Bukkit, Spigot
Minecraft Nitrado Server: Time out Error

Seit 1 tag funktioniert mein Minecraft Nitrado Server nicht mehr. Ich weiß nicht woran es liegt, aber wenn ich joinen will, kommt die Time out Error Message. Im Webinterface login steht aber immer "Server gestartet". Auch restarten oder Welten löschen bringt nichts. Benutzte Plugins:

Essentials, Essentials Spawn, Essentials Protect, Essentials Aniti-build, Essentials Chat, Multiverse Core, World Edit, World Guard, Survival Games Plus und PluginMetrics

Wenn man die Konsole Startet kommt das:

Loading libraries, please wait... > [20:09:01 INFO]: Starting minecraft server version 1.7.9 > [20:09:01 INFO]: Loading properties > [20:09:01 INFO]: Default game type: SURVIVAL > [20:09:01 INFO]: Generating keypair > [20:09:01 INFO]: Starting Minecraft server on 85.131.150.102:25565 > [20:09:01 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks (MC: 1.7.9) (Implementing API version 1.7.9-R0.2) > [20:09:02 WARN]: Could not get information about this CraftBukkit version; perhaps you are running a custom one?: FileNotFoundException > [20:09:02 INFO]: [Multiverse-Core] Loading Multiverse-Core v2.4-b527 > [20:09:02 INFO]: [WorldEdit] Loading WorldEdit v5.6.2 > [20:09:02 INFO]: [SurvivalGamesPlus] Loading SurvivalGamesPlus v1.3.5 > [20:09:02 INFO]: [WorldGuard] Loading WorldGuard v6.0.0-beta-02 > [20:09:02 INFO]: [Essentials] Loading Essentials v2.13.1 > [20:09:02 INFO]: [EssentialsChat] Loading EssentialsChat v2.13.1 > [20:09:02 INFO]: [EssentialsProtect] Loading EssentialsProtect v2.13.1 > [20:09:02 INFO]: [EssentialsSpawn] Loading EssentialsSpawn v2.13.1 > [20:09:02 INFO]: [EssentialsAntiBuild] Loading EssentialsAntiBuild v2.13.1 > [20:09:02 INFO]: Preparing level "Burg" > [20:09:02 ERROR]: Encountered an unexpected exception java.lang.NullPointerException at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftCriteria.getFromNMS(CraftCriteria.java:45) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftObjective.(CraftObjective.java:19) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftScoreboard.(CraftScoreboard.java:29) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftScoreboardManager.(CraftScoreboardManager.java:35) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.a(MinecraftServer.java:224) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.java:182) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:436) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6

Server, Konsolen, Minecraft, Error, Plug-in, Bukkit, Nitrado, Timeout
Minecraft Programmieren : Kiste öffnen richtig cancelln

Hallo Leute, ich programmiere gerade ein Minispiel. Wie in vielen Spielen blockt man auch das Kisten öffnen. (Außer natürlich bei Minispielen, wo Kisten etc... benötigt werden)... Ich habe mit dem InventoryOpenEvent probiert das Kisten öffnen zu verhindern:

@EventHandler
public void onInventoryOpen(InventoryOpenEvent e) {
    
    if(e.getView().getType() != null) {
            
            
        if(e.getView().getType() == InventoryType.CHEST) {
            
            e.setCancelled(true);
            
        }

        if(e.getView().getType() == InventoryType.BEACON) {
                
            e.setCancelled(true);
                
        }
        
        if(e.getView().getType() == InventoryType.BREWING) {
                
            e.setCancelled(true);
                
        }
        
        if(e.getView().getType() == InventoryType.ANVIL) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.CRAFTING) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.DISPENSER) {
        
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.DROPPER) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.ENCHANTING) {
            
            e.setCancelled(true);
        
        }
        
        if(e.getView().getType() == InventoryType.ENDER_CHEST) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.FURNACE) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.HOPPER) {
            
        e.setCancelled(true);
            
        }
            
        if(e.getView().getType() == InventoryType.WORKBENCH) {
                
            e.setCancelled(true);
                
        }
            
        if(e.getView().getType() == InventoryType.MERCHANT) {
            
            e.setCancelled(true);
            
        }
            
    }
    
}
    

Das ganze funnktioniert relativ gut. Das Inventar wird geschlossen. Aber die Kiste bleibt offen... Zeit schließt sie sich wieder. Es sieht also so aus als würde ein Unsichtbarer die Kiste noch geöffnet haben.

Wie kann ich das unterbinden? Sodass die Kiste wie bei Gommehd.net auch zu bleibt?

Server, programmieren, Java, Minecraft, Bukkit

Meistgelesene Beiträge zum Thema Bukkit