Jump to content

Bestimmten Command nur in einer Welt verfügbar machen?


ServerHilfe

Empfohlene Beiträge

Also z.b der command /lobby soll nur in der Welt "world" vefügbar sein.. Aber nicht in der Welt "world_nether". Aber wenn man in in im Nether eingibt soll z.b eine Nachricht kommen wie : "Dies funktioniert hier nicht!"

Ich hab schon ein Code geschrieben der aber in Eclipse keine Fehler anzeigt :/ Jedoch wird dann nur in der Welt world_nordic eine Nachricht gesendet und im Nether kommt einfach gar nichts :/ Nichtmal "unknown command"

Konsole zeigt nichts an!

 

Mein code bis jetzt:

 

 

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class spawning implements CommandExecutor {

    

    
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        
        if(command.getName().equalsIgnoreCase("tspawn"))
        if(!(sender instanceof Player))return true;
        Player p = (Player) sender;
        if(p.hasPermission("use.spawn"))
        
            if(args.length == 0)
        
            
            
            {
           if(!p.getLocation().getWorld().getName().equalsIgnoreCase("world_nordic"))return true;                                         
                    p.sendMessage("Nachricht");
                    
                    } else {
                        
                    if(!p.getLocation().getWorld().getName().equalsIgnoreCase("world_nether"))return true; {
                        p.sendMessage("Dies geht hier nicht!");
                    }
                    }
                    
        
    
    
            
        
                
        return false;
    
    
    

    }


}

 

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb ServerHilfe:

          if(!p.getLocation().getWorld().getName().equalsIgnoreCase("world_nordic"))return true;                                         
                    p.sendMessage("Nachricht");
                    
                    } else {
                        
                    if(!p.getLocation().getWorld().getName().equalsIgnoreCase("world_nether"))return true; {
                        p.sendMessage("Dies geht hier nicht!");
                    }
                    }

Du kannst doch einfach testen, ob der Spieler sich in der Welt "world" befindet und wenn das nicht der Fall ist einfach die Nachricht ausgeben.

 

 

Freundliche Grüße

BloodSKreaper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das else wird dann aber rot unterstrichen :/

Und wie mache ich das man den Command aus zwei Welten eingeben kann?

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class tpspawn implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        
    if(command.getName().equalsIgnoreCase("fwspawn")) {
        if(sender instanceof Player) {
            Player p =(Player)sender;
                if(args.length == 0) {
                if(!p.getLocation().getWorld().getName().equalsIgnoreCase("fw1"))return true; {                                    
                        
                    getServer();
                    p.teleport(new Location(Bukkit.getWorld("world_nordic"),150.500,69,258.500));
                    
                    
                    
                    } else  {
                    p.sendMessage("§2Dies geht hier nicht!");
                }
        
        
                }
        }
    }
        
        return false;
    }

    private Bukkit getServer() {
        return null;
    }

}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß, es mag hart klingen, aber manchmal ist es eine gute Idee, die Grundlagen Javas (oder anderer Programmiersprachen, das lässt sich auch alles erweitern) zu lernen, bevor man versucht, komplexere Plugins zu schreiben. Du solltest nochmal die Strukturierung von Code wiederholen.

 

Liebe Grüße,

Baustein

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 5 Stunden schrieb ServerHilfe:

if(!p.getLocation().getWorld().getName().equalsIgnoreCase("fw1"))return true; { 

Das "return true;" hat da eigentlich nichts zu suchen. Wenn das die Welt ist, in der man den Befehl benutzen kann, dann solltest du das Ausrufezeichen vor der Bedingung entfernen - das negiert die Bedingung und würde bedeuten, wenn der Weltname ungleich fw1 ist kann er den Befehl nicht benutzen. Bitte korrigiere dies.

 

Freundliche Grüße

BloodSKreaper

 

PS: Ich gebe dir absichtlich kein Code-Snippet, da der effektivste Weg etwas zu lernen ist Fehler auszubessern.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B