Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Code:
@EventHandler
public void onBlockBreak( BlockBreakEvent event ) {
    if ( event.getBlock().getWorld().equals( DEINE WELT INSTANZ ) {
        event.setCancelled( true );
    }
}



Da du mit new Itemstack... eine neue Instanz erstellst, wird dieses Objekt nicht in dem Inventar gefunden. Wenn du .remove( Itemstack stack ) nutzt, muss es GENAU die Instanz sein, die das Inventar entählt. Andersweitig nutze .remove( Material material), oder schreibe dir eine eigene Funktion, wo du die nötigen Einzelheiten der Instanzen vergleichst (Material, Amount, Durability, Name... etc)
Danke <3 :D
 
Code:
@EventHandler
public void onBlockBreak( BlockBreakEvent event ) {
    if ( event.getBlock().getWorld().equals( DEINE WELT INSTANZ ) {
        event.setCancelled( true );
    }
}



Da du mit new Itemstack... eine neue Instanz erstellst, wird dieses Objekt nicht in dem Inventar gefunden. Wenn du .remove( Itemstack stack ) nutzt, muss es GENAU die Instanz sein, die das Inventar entählt. Andersweitig nutze .remove( Material material), oder schreibe dir eine eigene Funktion, wo du die nötigen Einzelheiten der Instanzen vergleichst (Material, Amount, Durability, Name... etc)
(facepalm) So lernen die es doch nie.
Nur so nebenbei... Man könnte eine Menge Code sparen, wenn man aus "onBlockBreak" nur ein einziges Zeichen macht... Das selbe bei "event" zu "e"... etc.
 
(facepalm) So lernen die es doch nie.
Nur so nebenbei... Man könnte eine Menge Code sparen, wenn man aus "onBlockBreak" nur ein einziges Zeichen macht... Das selbe bei "event" zu "e"... etc.
Intelli formatiert es zu event, es seidenn, man gibt es selber ein.
 
(facepalm) So lernen die es doch nie.
Nur so nebenbei... Man könnte eine Menge Code sparen, wenn man aus "onBlockBreak" nur ein einziges Zeichen macht... Das selbe bei "event" zu "e"... etc.
Man lernt doch eher was, wenn die Objekte beschriftet sind? Oder habe ich was falsch verstanden?

Ausserdem zu dem: "wenn man aus "onBlockBreak" nur ein einziges Zeichen ", rly? Die Java Code Conventions besagen (soweit ich weiß), dass jede Methode so beschriftet werden soll, dass man später wissen kann, was sie bedeutet.
 
Man lernt doch eher was, wenn die Objekte beschriftet sind? Oder habe ich was falsch verstanden?

Ausserdem zu dem: "wenn man aus "onBlockBreak" nur ein einziges Zeichen ", rly? Die Java Code Conventions besagen (soweit ich weiß), dass jede Methode so beschriftet werden soll, dass man später wissen kann, was sie bedeutet.
public void a(BlockBreakEvent e)

Du willst mir doch nicht ernsthaft sagen, dass man bei sowas nicht sieht, was gemeint ist...
 
Ich habe eine Frage wie ich etwas am besten mache, ich bin allerdings ein ziemlicher noob deshalb kann es gut sein, dass für gewisse die Frage etwas lächerlich ist.

Also ich habe diesen Code:
Code:
if (cmd.getName().equalsIgnoreCase("Hut"))
        {
            if (args.length == 1)
            {
                ItemStack txt = new ItemStack(Material.matchMaterial(args[0]));
                p.getInventory().setHelmet(txt);
            }
            else
            {
                ItemStack hi = p.getInventory().getItemInHand();
                p.getInventory().setHelmet(hi);
            }

        }
Das funktioniert eigentlich alles super, aber ich will eine Fehlermeldung ausgeben wenn das Material nicht richtig eingegeben wurde. Aber ich weiss nicht wie ich das machen soll (ausser ich mach in die if bedingung alle Materials rein).
 
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