Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Entweder schau in deiner Klasse in Zeile 87 weil von da kommt die NullPointerException oder Paste die ganze Klasse auf hastebin.com und schick den Link

Davor ist noch was anderes was jetzt hierfür nicht relevant ist

PHP:
@EventHandler
    public void onClick(InventoryClickEvent e) {
        Player p = (Player) e.getWhoClicked();
        e.setCancelled(true);

        //Grünes Team betreten:
       if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN + "Team 1")) {//---> Hier ist der Fehler laut des Errors
            if(Data.teamGreen.contains(p)) {
                p.sendMessage(Data.Prefix + ChatColor.RED + "Du bist schon Mitglied in " + ChatColor.GREEN + "Team 1");
                p.updateInventory();
            } else if(Data.teamGreen.size() < Data.maxPlayer/2) {
                if(Data.teamOrange.contains(p)) {
                    Data.teamOrange.remove(p);
                    p.updateInventory();
                }
                Data.teamGreen.add(p);
                p.sendMessage(Data.Prefix + ChatColor.BLUE + "Du bist nun Mitglied in " + ChatColor.GREEN + "Team 1");
                p.updateInventory();
            } else {
                p.sendMessage(Data.Prefix + ChatColor.GREEN + "Team 1 " + ChatColor.RED + "ist bereits voll");
                p.updateInventory();
            }
            p.updateInventory();
            Items.getTeamItem(p);
            p.closeInventory();
        }

        //Oranges Team betreten:
        if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GOLD + "Team 2")) {
            if(Data.teamOrange.contains(p)) {
                p.sendMessage(Data.Prefix + ChatColor.RED + "Du bist schon Mitglied in " + ChatColor.GOLD + "Team 2");
                p.updateInventory();
            } else if(Data.teamOrange.size() < Data.maxPlayer/2) {
                if(Data.teamGreen.contains(p)) {
                    Data.teamGreen.remove(p);
                    p.updateInventory();
                }
                Data.teamOrange.add(p);
                p.sendMessage(Data.Prefix + ChatColor.BLUE + "Du bist nun Mitglied in " + ChatColor.GOLD + "Team 2");
                p.updateInventory();
            } else {
                p.sendMessage(Data.Prefix + ChatColor.GOLD + "Team 2 " + ChatColor.RED + "ist bereits voll");
                p.updateInventory();
            }
            p.updateInventory();
            Items.getTeamItem(p);
            p.closeInventory();
        }
    }

Aber wie gesagt die Meldung kommt nur wenn man einen leeren Slot anklickt wenn man das passende Item anklickt oder andere Items funktioniert alles.
 
Eben.
Pseudocode:
Code:
if( item != null ) {
    if( item.hasItemMeta() ) {
        // mach was
    }
}

Jahaa wenn es so einfach wäre. Das habe ich auch schon ausprobiert (jetzt auch noch einmal, der Fehler kommt immer noch) und wie gesagt, wenn ich einen leeren Slot anklicke ist das Item nicht null.
 
Jahaa wenn es so einfach wäre. Das habe ich auch schon ausprobiert (jetzt auch noch einmal, der Fehler kommt immer noch) und wie gesagt, wenn ich einen leeren Slot anklicke ist das Item nicht null.

Letztendlich behandelst du den Fall sowieso nicht, also lässt sich die Exception auch ignorieren.

http://hastebin.com/yefoxejeyu.coffee

Bitte tu' mir einen Gefallen und nenne Player player und Event event, e und p sehen nicht so schön aus :p

MfG,

galaone
 
  • Like
Reaktionen: riggahCraft
Letztendlich behandelst du den Fall sowieso nicht, also lässt sich die Exception auch ignorieren.

http://hastebin.com/yefoxejeyu.coffee

Bitte tu' mir einen Gefallen und nenne Player player und Event event, e und p sehen nicht so schön aus :p

Super vielen Dank, endlich funktioniert es :D
Ich versuche es zu beachten und meinen Code "schöner" zu machen, aber die Schreibfaulheit überwiegt leider meist xD
 
Hi c:

Ich möchte gerne einen Git/Jenkins Server haben, evtl. auch etwas anderes.
Kenne mich in dem Bereich nicht sonderlich gut aus...
Könnt ihr mir einen "Anbieter" empfehlen und mir sagen, wie viele Resourcen der Server benötigt, damit er
100 Projekte anlegen kann und auch mehrfach täglich aktualisieren kann?
So viele Projekte? Ich benutze für meinen git / jenkins server einen VPS mit 2 GB RAM (und 2 gb Swap, CPU weiß ich grade nicht auswendig) , die packt der locker. (hab da aber auch nur 5 Projekte oder so rumfliegen)
 
Code:
if(e.getDamager() instanceof Snowball) {
                Snowball s = (Snowball) sent;
                Player p = (Player) s.getShooter();
                Vector vector = p.getLocation().toVector().subtract(ent.getLocation().toVector());
                ent.setVelocity(vector);
               
            }

-> Mein Versuch über Vektoren etwas an sich heranzuziehen.
Das Problem: Nach 9-10 Blöcken schießt die Entity über das Ziel hinaus.
Kann man mit Vektoren etwas GENAU zu einer Location ziehen?
 
Ja ich bin horizoncode und ich skidde gerne



schreibt mal euren killaura src in die kommis meine funzt nich mehr.
 
Ja ich bin horizoncode und ich skidde gerne



schreibt mal euren killaura src in die kommis meine funzt nich mehr.
bist du dumm willst du hacken, dann geh verrecken. :3 spontaner raym


wie ist der code bei clearchat bin grad nicht am pc daher kein code

p.sendMessage("/n/n/n/n.../n");

gibt es einen Alternativen

lg
 
bist du dumm willst du hacken, dann geh verrecken. :3 spontaner raym


wie ist der code bei clearchat bin grad nicht am pc daher kein code

p.sendMessage("/n/n/n/n.../n");

gibt es einen Alternativen

lg
das war auch nur spaß
bin hacker und legitplayer gleichzeitig ^^
 
Hey, ich habe zwei Fragen an euch:

Ich verusuche gerade ein Scoreboard zu erstellen, leider funktioniert es nicht so ganz, wie ich will:

Das ist mein Code:

PHP:
ScoreboardManager sm = player.getServer().getScoreboardManager();
        Scoreboard board = sm.getNewScoreboard();

        Objective score = board.registerNewObjective("aaa", "bbb");
        score.setDisplayName("§4Servername");
        score.setDisplaySlot(DisplaySlot.SIDEBAR);





        Score seperator = score.getScore(Bukkit.getOfflinePlayer("§9=========="));
        Score on = score.getScore(Bukkit.getOfflinePlayer("§2Online: §3" + Bukkit.getOnlinePlayers().length));
        Score seperator2 = score.getScore(Bukkit.getOfflinePlayer("§9=========="));
        Score home = score.getScore(Bukkit.getOfflinePlayer("§6Homepage:"));
        Score page = score.getScore(Bukkit.getOfflinePlayer("§5www.lalala.de"));
        Score seperator3 = score.getScore(Bukkit.getOfflinePlayer("§9=========="));


        seperator3.setScore(5);
        on.setScore(4);
        seperator2.setScore(3);
        home.setScore(2);
        page.setScore(1);
        seperator.setScore(0);

        player.setScoreboard(board);

Leider sieht es dann im Spiel so aus:

wikbldew.png



Hoffe ihr könnt mir helfen!

Meine zweite Frage ist, wie der Bloodscreen in SG funktioniert; also was da genau passiert. Geht das über irgendein Packet oder sonst was?

Danke, Loris156
 
Hey, ich habe zwei Fragen an euch:

Ich verusuche gerade ein Scoreboard zu erstellen, leider funktioniert es nicht so ganz, wie ich will:

Das ist mein Code:

PHP:
ScoreboardManager sm = player.getServer().getScoreboardManager();
        Scoreboard board = sm.getNewScoreboard();

        Objective score = board.registerNewObjective("aaa", "bbb");
        score.setDisplayName("§4Servername");
        score.setDisplaySlot(DisplaySlot.SIDEBAR);





        Score seperator = score.getScore(Bukkit.getOfflinePlayer("§9=========="));
        Score on = score.getScore(Bukkit.getOfflinePlayer("§2Online: §3" + Bukkit.getOnlinePlayers().length));
        Score seperator2 = score.getScore(Bukkit.getOfflinePlayer("§9=========="));
        Score home = score.getScore(Bukkit.getOfflinePlayer("§6Homepage:"));
        Score page = score.getScore(Bukkit.getOfflinePlayer("§5www.lalala.de"));
        Score seperator3 = score.getScore(Bukkit.getOfflinePlayer("§9=========="));


        seperator3.setScore(5);
        on.setScore(4);
        seperator2.setScore(3);
        home.setScore(2);
        page.setScore(1);
        seperator.setScore(0);

        player.setScoreboard(board);

Leider sieht es dann im Spiel so aus:

wikbldew.png



Hoffe ihr könnt mir helfen!

Meine zweite Frage ist, wie der Bloodscreen in SG funktioniert; also was da genau passiert. Geht das über irgendein Packet oder sonst was?

Danke, Loris156
Du musst darauf achten, dass Namen der Spieler, für die du die Scores suchst, nicht redundant sind.
 
Ist score.getScore(OfflinePlayer) nicht deprecated?

Benutze lieber score.getScore(String)

LG
Digot
 
Weiß jemand, wie man mit der aktuellen Spigot API die Farbe eines Stained Glass Panes setzt?
 
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