Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player)sender;
if(args.length == 1) {
}
if(cmd.getName().equalsIgnoreCase("infos")) {
p.sendMessage("§6 [Info]");


So?
 
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player)sender;
if(args.length == 1) {
}
if(cmd.getName().equalsIgnoreCase("infos")) {
p.sendMessage("§6 [Info]");


So?
Man soll ohne instanceof Abfrage kein Player player = (Player) sender; machen.
Sonst gibt's ein Error, wenn man in der Konsole den Befehl schreibt ;)

Entweder if(sender instanceof Player ) { } oder "Textnachrichten" machst du anstatt p.sendMessage(""); -> sender.sendMessage(""); Dann ist es auch für die Konsole ausführbar! :D
 
Code:
    @Override
    public boolean onCommand(CommandSender sender, Command command,
            String label, String[] args) {
       
        if(command.getName().equalsIgnoreCase("info")) {
            if(args.length == 0) {
                sender.sendMessage("xx");
                return true;
            }
           
            if(args.length == 1) {
                if(args[0].equalsIgnoreCase("1")) {
                    // seite 1
                } else if(args[0].equalsIgnoreCase("2")) {
                    // seite 2
                }
            }
        }
       
        return super.onCommand(sender, command, label, args);
    }
So wäre der Code am Ende. Du kannst das auch mit Integer usw. machen.
 
Man soll ohne instanceof Abfrage kein Player player = (Player) sender; machen.
Sonst gibt's ein Error, wenn man in der Konsole den Befehl schreibt ;)

Entweder if(sender instanceof Player ) { } oder "Textnachrichten" machst du anstatt p.sendMessage(""); -> sender.sendMessage(""); Dann ist es auch für die Konsole ausführbar! :D
Generell ist das bei nur Nachrichten unnötig den sender als Spieler zu casten :)

Keiner weiß, wie man beim PlayerMoveEvent den Datenwert des Blockes unter dir abfragt? ._.
Code:
        if (plr.getLocation().getBlock().getType() == Material.IRON_PLATE) {
   //Dein Code c:
        }
 
Meh xD
Ich meine doch die SubID (DatenWert, oder?!)
Also rotes/blaues Glas.


.getType().getData();
Ne, man kann nicht direkt mit getBlock() den Boden-Block herausfinden. Das geht nur bei Druckplatten. Entweder, man macht -1 oder folgendes:

Code:
        if (p.getWorld()
                .getBlockAt(p.getLocation().getBlockX(),
                        p.getLocation().getBlockY() - 1,
                        p.getLocation().getBlockZ()).getType() == Material.STAINED_CLAY
                && p.getWorld()
                        .getBlockAt(p.getLocation().getBlockX(),
                                p.getLocation().getBlockY() - 1,
                                p.getLocation().getBlockZ()).getData() == 1) {
            // Methode
        }
159:1 Block-Abfrage.
 
  • Like
Reaktionen: v_f_1
Code:
        Player plr = ev.getPlayer();
       
        Location loc = plr.getLocation();
        loc.setY(plr.getLocation().getY() -1.0);
        byte loc2 = loc.getBlock().getData();
       
        Bukkit.broadcastMessage(loc.getBlock().getType()  + " " + loc2);

Hab mal bissl probiert und bin dadrauf gekommen den rest dürftest selbst schaffen oder? ;)
 
  • Like
Reaktionen: v_f_1
PHP:
if (p.getLocation().getBlock().getRelative(BlockFace.DOWN).getType().equals(Material.DIAMOND_BLOCK)) {
//Dein Code
}

So wirds funktionieren
 
Ne, man kann nicht direkt mit getBlock() den Boden-Block herausfinden. Das geht nur bei Druckplatten. Entweder, man macht -1 oder folgendes:

Code:
        if (p.getWorld()
                .getBlockAt(p.getLocation().getBlockX(),
                        p.getLocation().getBlockY() - 1,
                        p.getLocation().getBlockZ()).getType() == Material.STAINED_CLAY
                && p.getWorld()
                        .getBlockAt(p.getLocation().getBlockX(),
                                p.getLocation().getBlockY() - 1,
                                p.getLocation().getBlockZ()).getData() == 1) {
            // Methode
        }
159:1 Block-Abfrage.
Danke! :)
Habs versucht in die Klammern zu machen! ;)

Übrigens würde ich das mit p.getLocation().subtract(0D, 1D, 0D).getData machen, oder gibt's da Probleme? :O
 
Ja kannst du auch machen, doch die Version mit dem BlockFace ist am einfachsten.
Eigentlich kann man alle Verwenden :)
 
  • Like
Reaktionen: v_f_1
Ich lade die Join Nachricht über die Config.
Ich möchte , dass wenn ich in der Config %player% schreibe, das der Spieler Name angezeigt wird.

Kann mir jemand sagen was ich dann beim replace schreiben muss?
 
Hastebin hat momentan Probleme...
Ich versuche jetzt seit 3 Stunden diese Funktion zum laufen zu bringen, aber es klappt nicht ._.
http://hastebin.com/emimunegul.avrasm

Die Arraylist funktioniert.
Sie ist public, an der
ArrayList liegt das Problem nicht.

Die Klasse funktioniert ebenfalls, im selben Listener habe ich ein funktionierendes Event.
Was mache ich bloß falsch? :c

http://hastebin.com/womebitaxu.avrasm (nur ein ausschnitt)

Chat ausgabe :
YamlConfiguration[path=", root='YamlConifugartion']

Wo ist der Fehler?
Dann ladet es mal woanders hoch ;) (z.B. gist.github.com)
 
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