Jump to content

Bestimmten Command nur in einer Welt verfügbar machen?


ServerHilfe
 Share

Recommended Posts

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B