• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Brauche Hilfe

EnderDa33y

Minecrafter
Registriert
27 März 2021
Beiträge
1
Diamanten
250
Guten Abend,

Ich habe ein kleines Problem ich versuche schon den ganzen Tag ein Case Opening zu machen das man mit eine Skull öffnen kann.
Hier was ich meine was ich machen möchte: https://ibb.co/kXZYFKv

Hier ist mein Code:

@EventHandler
public void onPlayerInteract(PlayerInteractEvent e) {
if (e.getAction() == Action.RIGHT_CLICK_AIR) {
Player p = e.getPlayer();
ItemStack head = new ItemStack(Material.SKULL_ITEM);
head.setDurability((short) 3);
SkullMeta skull = (SkullMeta) head.getItemMeta();
if (skull.getOwner().equalsIgnoreCase("EnderDanny")) {
p.openInventory(Create);
}
}
}

es kommt halt immer Fehler oder gehe an die Sache falsch ran?

LG.
Danny
 
C

cstmth | Carl

Guest
Hallo Danny,

ich habe mit Spigot eine ganze Weile nicht mehr gearbeitet, habe aber trotzdem eine Vermutung. Korrigier mich gerne, wenn ich falsche liege.

Dein SkullMeta Objekt skull hat keinen Inhaber hinterlegt, da es vom ItemStack head abgeleitet wurde, welches du neu erstellt hast. Angenommen du hättest den Kopf von einem Spieler (Pseudocode: Player.getHead()), wäre ein Owner hinterlegt. Da du den Head allerdings neu geschaffen hast und ihn nicht von einem Spieler hast, ist das nicht möglich.

Überprüf doch mal, was skull.getOwner() zurück gibt. Höchstwahrscheinlich null oder "".

Kann auch sehr gut falsch sein, habe lange nicht mehr mit Spigot/Bukkit gearbeitet.
 
Oben