Blocks tag ? Je ne comprends pas.

Noxon

Architecte en herbe
17 Juin 2014
131
23
125
30
Salut,
Après de multiples recherches vaines sur les structures et les format d'un bloc sur internet, je me résigne à venir poser une question moi-même.

J'ai pu constater que sur certaines cartes récentes créées par des mapmakers, il était parfois possible de récupérer ou d'acheter des blocs (donc sous forme ItemBlocks) avec des tags spécifique comme un nom 'Bloc de Construction' par exemple, ou un enchantement.
Jusque là pas trop de soucis, étant donné que le bloc étant sous la forme d'un item dans la main, peut posséder des tags classiques.

Mais je ne comprends pas quels sont les tags à attribuer à un itemBlocks qui lui permette de conserver une certaine condition une fois posé, donc sous forme de réel bloc (Donc pas l'item, bel et bien le bloc).

Je vais essayer de mieux expliquer : pour une petite référence, dans la série The Quest du célèbre duo FantabobGames, il est possible d'acheter des blocs (de cobble) avec certains tags, et ceux-ci une fois posé dans une petite zone précise destinée à cette effet permettent de générer un bâtiment.

Comment est-ce que le bloc de cobble tagué une fois posé au sol arrive encore à garder une différence avec un autre bloc de cobble ? Si le jeu peut faire la différence entre une cobble classique et cette cobble achetée, ça veut dire qu'il est possible d'attribuer des tags à un Bloc directement (genre par exemple, donner un nom un bloc réel) ? Et ça veut aussi dire que ces tags sont pré-réglables sur l'Itemblock en question ? Et si on recasse ce bloc, obtient-on le bloc tagué de nouveau, genre un bloc de cobble qui s'appelle Bloc de Construction, ou une simple cobble ?

Ces choses m'échappent.
Je ne comprends pas pourquoi je n'arrive pas à trouver d'informations alors que c'est quand même super important dans le mapmaking quoi.
Le chunk format n'indique rien de particulier sur le block format :
http://minecraft.gamepedia.com/Chunk_format#Block_format
Et aucune discussion ne semble en traiter sur les forums relatifs.

Je vous prie de m'éclairer !
Merci d'avance.
 

The_MurmeX

In the beginning was a cookie...
4 Juin 2014
174
16
75
Je ne pense pas qu'un tel tag existe (mis à part pour les blocs possédant de base un data tag avec BlockEntityTag). Dans l'exemple que tu cite je pense que le système détecte simplement quand tu place un bloc de cobble alors que tu as le bon item (le bloc de cobble avec un tag d'item) dans la main.
En espérant que ça t'éclaire ;)
 

StrangeMan

Animateur de la section Sciences (un des trois o/)
17 Janvier 2015
1 221
208
187
10
Ici
En anglais pas d'accord de l'adjectif, juste du nom donc "block tags". Je pense, voir je suis certain, que c'est impossible.. Cependant il est, je crois mais là je n'ai aucune certitude pas possible d'obtenir le bloc 97 en survie, qui est celui des pierres infestées..

Ainsi, il est probable qu'ils détectent seulement si dans une zone x1,y1,z1;x2,y2,z2 ils détectent si un bloc infesté a été posé.

EDIT :
Je ne pense pas qu'un tel tag existe (mis à part pour les blocs possédant de base un data tag avec BlockEntityTag). Dans l'exemple que tu cite je pense que le système détecte simplement quand tu place un bloc de cobble alors que tu as le bon item (le bloc de cobble avec un tag d'item) dans la main.
En espérant que ça t'éclaire ;)

Tu ne peux que détecter si tu en as placé un, pas s'il est placé et, captain obvious, si tu l'as placé tu ne l'as plus dans la main.
 

Fawile

Commande block
7 Février 2015
42
3
23
Le bloc ne peut pas emmagasiné des tag une fois posé. dsl
La seule information qu'il garde c'est le block data

Envoi le lien de la video précise et le minutage pour voir comment le mécanisme marche et peut être on pourra t'aider
 

The_MurmeX

In the beginning was a cookie...
4 Juin 2014
174
16
75
Tu ne peux que détecter si tu en as placé un, pas s'il est placé et, captain obvious, si tu l'as placé tu ne l'as plus dans la main.
En fait pas tout à fait car si on stock l'info "'Le joueur tiens l'item" dans une scoreboard à un tick puis qu'au tick d'après on test si le joueur à placé un bloc de cobble puis qu'on remet la scoreboard à 0 ça fonctionne.
Chaque tic active cet algorithme :
Si le joueur à placé un bloc et à un score tientObjet de 1 => action
Pour tous les joueurs tientObjet=0
Si le joueur tient l'objet => tientObjet=1

EDIT : On peut remplacer le test du placement du bloc par celui d'un test précis d'un bloc à un endroit. Mais dans ce cas là je pense que le silverfish est quand même plus adapté.
 
  • J'aime
Reactions: JeanBat784

Fawile

Commande block
7 Février 2015
42
3
23
Tu pourrais faire en sorte de créer un bloc de cobble avec un data de 5 par exemple.

Tu fais une clock qui détecte un item au sol avec un data de 5 et tu lui fait un entity data pour qu'il s'appelle encore et toujours bloc de constuction

Pour que tu détecte qu'il est la tu dit au joueur de se mettre sur le bloc pur en sorte le validé.
Code:
/execute @a ~ ~ ~ detect ~ ~-1 ~ cobblestone 5 /summon ...
Tu summon un Armorstand invisible, petit et avec un nom avec une laine verte sur la tête qui dépasse a peine du bloc pour qu'il sache que l'Armorstand est validé MAIS cette Armorstand servira a savoir où est ton bloc.

-------------------------------------------------------------------------​
N'oubli pas de faire en sorte que toute cobble avec un data de 5 au sol kill tout les Armorstand dans un petit rayon pour pas que tu te retrouve avec des Armorstand partout.
-------------------------------------------------------------------------​
2 possibilité :​
Soit tu fais une détection des Armorstand au alentour pour quadriller la zone​
Soit tu dit que ton bloc est le centre de cette zone (ce qui est beaucoup plus simple)​
Ainsi tu dit que ton Armorstand central summon des Armorstand au quatre coin du quadrillage avec des bloc sur la tête pour que le joueur se rende compte de la place que ça prend.​
Je peut faire le system mais je pense que tu es capable de le faire. Sinon demande moi​
 

The_MurmeX

In the beginning was a cookie...
4 Juin 2014
174
16
75
la data value n'est conservée que pour les bloc acceptant une data value. Ce n'est pas le cas du bloc de cobble :(
 

StrangeMan

Animateur de la section Sciences (un des trois o/)
17 Janvier 2015
1 221
208
187
10
Ici
The_MurmeX : Autant pour moi, je me range finalement derrière toi j'avais oublié cette possibilité. ;)
 

Fawile

Commande block
7 Février 2015
42
3
23
Tu peut rentrer une valeur de 4 sur le data tag de la cobble elle restera. A vrai dire si tu give une cobble avec un data de 5 et que tu la casse elle reviendra a un data de 4 mais si tu lui met direct un data de 4 il restera le même.
 

Noxon

Architecte en herbe
17 Juin 2014
131
23
125
30
Merci pour vos réponses.
Donc c'est bien ce que je pensais, pas de mindfuck, il est bien impossible de conserver un tag sur un bloc sous forme solide (posé). Je pense que Strangeman a raison, je pense que le PNJ vendait en réalité un cobble infesté (ID:97), je n'y aurais pas pensé.

Sinon pour vos idées d'utiliser un data inexistant sur un bloc sans data, je pense que même sur 1.7 c'est impossible. Étant donné que le joueur ne pourra jamais par exemple, tenir une cobble de metadata 5.
Toutes les commandes lui donneront une cobble de metadata 0.
La cobble au sol transformée en metadata 5 est impossible sur 1.8. C'est possible sur 1.7 (avec WorldEdit par exemple), mais comme dis plus haut, il n'y a aucun moyen de la placer manuellement, et il n'y aura jamais moyen non plus de la récupérer. Il revient à data 0 car l'itemblock cobble data 5 n'existe pas.

EDIT : Je viens de vérifier, il s'agit bien du bloc 97.