nach einem item im inventar eines spielers testen
wie kann man mit einem commandblock nach einem item im inventar eines spielers testen? in mc wiki steht dass man testen kann ob der spieler ein bestimmtes item ausgewählt hat (bsp: "/testfor @p { SelectedItem: { id:minecraft:sponge, tag: { display: { Name:"Zauberschwamm" } } }}")
is es möglich ein item zu testen sodass es egal is wo im inventar das item liegt?
3 Antworten
Man kann ein Item auch etwas komplizierter, aber auch auf bestimmte Tags und Lores überprüfen mit dem Command: /execute if entity @p[nbt={Inventory:[{Slot: 0b, id: "minecraft:name_tag", display:{Name:'{"text":"Hausschlüssel""}'}}]}].
Tipp: Dort kannst du auch Namen oder sogar den Slot abfragen, welches das Item hat, am besten kannst du die nbt-tags von mcstacker.net verwenden :-D
Wenn ich execute if entity @p[nbt={Inventory:[{Slot: 0b, id: "minecraft:name_tag", display:{Name:'{"text":"Hausschlüssel""}'}}]}] verwende passiert bei mir nichts ist er command richtig?
LG
Mit /clear Spieler minecraft:sponge 0 Löschst du 0 mal Sponge aus dem Inventar des Betroffennen und mit einem Comperator kannst du testen, ob es gelöscht werden konnte oder nicht. Da du 0 angegeben hast, bemerkt der Spieler garnichts auf.
Dann mach /clear Spieler minecraft:sponge 0 0 , ich hate die Syntax vom Command nicht mehr komplet im Kopf und wuste nicht mehr, ob zuerst die Anzahl oder zuerst die Metadaten kommen.
edit: Das geht natürlich nur in der 1.8.
Ist villeicht etwas spät aber hier die Antwort😅:
execute if entity @p[nbt={Inventory:[{id:"minecraft:coal"}]}] run say Es funktioniert
Wenn der nähste Spieler Kohle im Inventar hat wird der Befehl “run say Es Funktioniert" ausgeführt
Wenn du mehrere Items gleichzeitig testen willst mach folgendes bei der Stelle: id:"minecraft:coal",id:"minecraft:stone. usw...
es funktioniert aber iwie wird das item dabei gecleart... eig sollte es ja klappen aber der syntax vom cmd is jz anders:
Usage: /clear [item] [data]