Ramasser un Item

Luxicraft712

Chasseur de Zombie
12 Juillet 2013
69
0
39
23
Bonjour.
Je voudrait savoir si c'était possible de summon un item que seul les joueurs avec un score minimum (scoreboard) de 2 puissent ramasser un item. En gros je me demande si il y a un datatag pour sa :)
 

nico69

Architecte en herbe
23 Août 2011
159
21
124
Salut

Tu ne peut pas placer un item au sol avec un data de ce type.
Par contre tu peut le simuler avec un systeme de redstone :
  • Tu summon un item non prenable
  • Tu detecte si un joueur a le bon score aux environs de l'item (execute + testfor)
  • Si c'est le cas, tu lui give cet item, et tu détruit celui qui a été summon précédement.
Pour plus d'infos sur le format des items au sol : (voir section items)
http://minecraft.gamepedia.com/Chunk_format

PS : Si le systeme doit etre utilisé sur un serveur, passe plutôt par un plugin.
 

Luxicraft712

Chasseur de Zombie
12 Juillet 2013
69
0
39
23
Ok merci mais c'est quoi Execute ? Autant direct faire un testfor puis en sortie du command block un give.

Sinon pour le format des items au sol, si j'ai bien compris sa montre tout les datatags de toute les entitées c'est sa ?
 

nico69

Architecte en herbe
23 Août 2011
159
21
124
Oui la page liste tous les datatags disponible sur les entités

http://minecraft.gamepedia.com/Commands
execute permet de faire executer une commande a nimporte quelle entitée, donc ici tu pourra tres facilement centrer le testfor sur l'item.
PS : c'est une commande 1.8, j'avais oublié de le préciser.
 

Luxicraft712

Chasseur de Zombie
12 Juillet 2013
69
0
39
23
Ok mais j'ai pas compris comment on l'utilisait ...

Moi je veut faire un truc ou il y a un lingot de fer sur un bloc et quand on s'en approche (du bloc) on fait /give
Donc je vois pas la différence entre testfor autour d'un bloc et d'un item vus que l'item sera toujours au même endroit.

Et un autre truc : Comment on fait pour détruire un item à des coordonnées précises ?
/kill @e[type=iron_ingot] Déjà sa sa marche pas donc pour les coordonnées sa sera encore pire :s
 
F

Fantome du passé

Invité
Bon déjà tu sommon l'item avec un nom précis et qui est pas prenable (et qui dispawn pas si tu veux), tu fait :
/testfor @a[LesCoordonnéesDeL'Item]
un comparateur en sorti qui active deux command block, un avec :
/give @a[LesCoordonnéesDeL'Item]
et l'autre avec :
/kill @e[name=LeNomPrécisQueTuAsDonnéeAL'Item]

Voila :D
 

Minecoincoin

A la vanille
2 Juillet 2012
234
13
125
Non. Dommage.:D Tu as déjà essayé de tuer une entité avec un nom custom comme ça?^^ name = playername malheureusement. :p Par contre, on peut passer par les UUID :
/summon Item ~ ~ ~ {Item:{id:iron_ore,Count:0},UUIDLeast:1l,UUIDMost:1l}
/give @a[~,~,~,0]
/kill 00000000-0000-0001-0000-000000000001
 

WegaCraft

Viel Archi'Red
2 Janvier 2014
284
32
135
Tu te trompe Minecoincoin ^^

WazhaDoh a à moitié raison, il peut /kill une entité avec un nom précis ; seulement, ce n'est pas name mais CustomName à utiliser lors de la création et de la destruction. :D
 

Minecoincoin

A la vanille
2 Juillet 2012
234
13
125
On va se mettre d'accord. :D
http://minecraft.gamepedia.com/Tutorials/Command_NBT_Tags#Items
http://minecraft.gamepedia.com/Commands#Target_selector_arguments

Y'a pas de CustomName là dedans à ce que je sache. ;)
J'ai essayé de faire un /kill @e[CustomName=Fer] quand même... Ça m'a buté! xD Quand à /kill @a[CustomName=Fer] ou /kill Fer, ça marche pas non plus.

Code:
/summon Item ~ ~ ~ {Item:{id:iron_ore,Count:1,tag:{display:{Name:"Fer"}}}}
invoque un iron_ore avec le nom Fer. Par contre, ne pas oublier le Count:1 sinon ça marche plus! (et là c'est testé, ça me donne bien un item avec ce nom que je le ramasse, je balance pas ça en croyant savoir comme on le fait depuis tout à l'heure. x) ) Après suffit de changer le Count en 0 pour pas pouvoir le prendre et de rajouter Age:-36787 pour pas qu'il despawn.^^
En revanche comme je le disais, on peut pas le buter précisément après sans UUID.:rolleyes: J'ai vu pas mal de sujets sur minecraftforum à ce propos d'ailleurs...
 

WegaCraft

Viel Archi'Red
2 Janvier 2014
284
32
135
Tu confond pas mal de chose la :D

La propriété CustomName est une propriété d'entité et non de display.
Il y a des héritages :
Item->display>Name
Entité->CustomName

L'item étant une entité la variable CutsomName est hérité par l'item.
http://minecraft.gamepedia.com/Chunk_format#Entity_Format

Il faudrait donc formuler :
- A la création : /summon Item <x> <y> <z> {CustomName:<NomObjet>,Item:{id:<idItem>,Count:<nbItem>}}

- Au test : /testfor @a[x=<x>,y=<y>,z=<z>,r=0]
- Au give : /give @a[x=<x>,y=<y>,z=<z>,r=0] <idItem>
- Au kill : /kill @e[CustomName:<NomObjet>]

WazhaDoh avait donc raison en partie :D