Coding mit Java | Java-basierten APIs

  • Ersteller Ersteller ij9F_i0FaF-d9lrDSDDpDbfo
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
Einfach
@EventHandler
public void onBreak(BlockBreakEvent e) {
if(e.getBlock().getType() == Material.LEAVES || e.getBlock().getType() == Material.LEAVES_2 || e.getBlock().getType() == Material.WEB || e.getBlock().getType() == Material.TNT) {
e.setCancelled(false);
}else{
e.setCancelled(true);
Player p = e.getPlayer();
p.sendMessage(Sg.prefix + "§6Du kannst diesen Block nicht zerstören!");
}
}

Das bedeutet man kann Leaves Web's tnt z.B kaputt machen, wenn es z.B ein Erde-Block ist dann Kommt halt eine nachricht, aber diese nachricht muss man nicht machen D:
Öhm, so einfach ist das gar nicht. Man muss eine Liste von Blöcken erstellen, die vom Spieler gesetzt wurden, mit Location. Und nur wenn der Block den man abbaut in der Liste ist, kann man ihn abbauen. Deine Methode hätte den Effekt, dass man diese Blöcke überhaupt nicht abbauen kann.

MfG,
gala


P.S. : Und dafür braucht man mindestens zwei Event Handler
 
  • Like
Reaktionen: Dosenwerfer
Öhm, so einfach ist das gar nicht. Man muss eine Liste von Blöcken erstellen, die vom Spieler gesetzt wurden, mit Location. Und nur wenn der Block den man abbaut in der Liste ist, kann man ihn abbauen. Deine Methode hätte den Effekt, dass man diese Blöcke überhaupt nicht abbauen kann.

MfG,
gala
jop bei bedwars schon... nur z.B in sg braucht man dies eigentlich nicht, aber mich interessiert wirklich wie viele klassen und package batschi muwbi und fabian gemacht haben :o
 
jop bei bedwars schon... nur z.B in sg braucht man dies eigentlich nicht, aber mich interessiert wirklich wie viele klassen und package batschi muwbi und fabian gemacht haben :o
Ist doch Wurst, du kannst entweder ne Klasse mit 5000 Zeilen oder 300 Klassen schreiben xD Macht keinen Unterschied, der Compiler liest das ganze selbst wenn du das in eine einzige Zeile schreibst.
 
Ist doch Wurst, du kannst entweder ne Klasse mit 5000 Zeilen oder 300 Klassen schreiben xD Macht keinen Unterschied, der Compiler liest das ganze selbst wenn du das in eine einzige Zeile schreibst.
ja.. D: ich will das aber wissen und übrigens ist es besser kleine klassen zu schreiben (also für mich) denn dann findet man besser zurecht (finde ich)
 
ja.. D: ich will das aber wissen und übrigens ist es besser kleine klassen zu schreiben (also für mich) denn dann findet man besser zurecht (finde ich)
Naaajjjaaaa....macht jetzt nicht besonders viel Sinn jede einzelne Methode in eine neue Class zu schreiben. Aber sonst hast du Recht, klar. Was mich nervt ist das Eintragen der Klassen die man für diese Klasse braucht. Sprich, die Main und z.B. MySQL Klasse immer wieder neu ,,importieren".
 
Naaajjjaaaa....macht jetzt nicht besonders viel Sinn jede einzelne Methode in eine neue Class zu schreiben. Aber sonst hast du Recht, klar. Was mich nervt ist das Eintragen der Klassen die man für diese Klasse braucht. Sprich, die Main und z.B. MySQL Klasse immer wieder neu ,,importieren".
ne ich meine z.B den eventhandler BlockBreakEvent BlockPlaceEvent PlayerDeathEvent... usw in jeweils einer klasse :D also net zusammen.
 
trotzdem mache ich lieber so D: finde ich besser naja wie man will
 
einfach immer wieder kopieren und einfügen und dann eine sache ändern fertig :D

ps. aja auch noch in der main das event registrieren D:
 
Öhm, so einfach ist das gar nicht. Man muss eine Liste von Blöcken erstellen, die vom Spieler gesetzt wurden, mit Location. Und nur wenn der Block den man abbaut in der Liste ist, kann man ihn abbauen. Deine Methode hätte den Effekt, dass man diese Blöcke überhaupt nicht abbauen kann.

MfG,
gala


P.S. : Und dafür braucht man mindestens zwei Event Handler
Oder man gibt den von Spielern gesetzten Blöcken einen Datenwert mit ;)
 
Ich habe noch eine Frage und zwar:

In SurvivalGames gibt es ja diese Top-10 Köpfe. Wie kann man einem Kopf das Aussehen eines Spielers geben?

Ich habe schon das versucht:

Code:
ItemStack head = new ItemStack(Material.SKULL_ITEM);
head.setDurability((short) 3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.setOwner(name);
head.setItemMeta(meta);

Block b = kopf.getBlock();
                   
b.setType(Material.SKULL);
                   
Skull s = (Skull) b;
s.setData((byte) 3);

//Damit ist der Kopf schon von einem Spieler

aber block.getType() fordert ja ein Material und kein ItemStack.
Kann mir da vllt. jemand weiterhelfen?

Mfg
 
Zuletzt bearbeitet:
Ich habe noch eine Frage und zwar:

In SurvivalGames gibt es ja diese Top-10 Köpfe. Wie kann man einem Kopf das Aussehen eines Spielers geben?

Ich habe schon das versucht:

Code:
ItemStack head = new ItemStack(Material.SKULL_ITEM);
head.setDurability((short) 3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.setOwner(name);
head.setItemMeta(meta);

Block b = kopf.getBlock();
                  
b.setType(Material.SKULL);
                  
Skull s = (Skull) b;
s.setData((byte) 3);

//Damit ist der Kopf schon von einem Spieler

aber block.getType() fordert ja ein Material und kein ItemStack.
Kann mir da vllt. jemand weiterhelfen?

Mfg
12 Sekunden gegoogelt und...
https://forums.bukkit.org/threads/get-head-with-player-skin.172353/
 
  • Like
Reaktionen: Aaronmacaron
Ok thx für die Antwort.

Jedoch gibt das einem Spieler ein ItemStack in das Inventar, ich möchte jedoch einen BLOCK mit dem Skin kein Item
 
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