Je suis en train de créer ma carte d'aventure, et j'ai un problème. Je veux créer un bloc qui peut être placé sur du minerai de diamant, par exemple, et lorsque le joueur le détruit, il pourrait le replacer de nouveau.
Réponses
Trop de publicités?En utilisant certaines balises lors de l'utilisation de la commande /give dans minecraft, vous pouvez autoriser certains blocs/outils à être placés/cassés Pour casser des blocs :
/give @p minecraft:stone_shovel 1 0 {CanDestroy:[minecraft:dirt, minecraft:gravel, minecraft:soulsand]}
Le gravier, la terre et le sable des âmes peuvent être remplacés par les blocs désirés à casser.
Pour placer :
/give @p minecraft:gravel 1 0 {CanPlaceOn:["minecraft:stone","minecraft:stonebrick"]}
Cela permettra au joueur de placer le bloc uniquement sur "pierre" et "brique de pierre"
Pour être plus avancé, vous pourriez exécuter un testfor lorsque le joueur casse un objet, cela pourrait exécuter la commande :
/give @p minecraft:gravel 1 0 {CanPlaceOn:["minecraft:stone","minecraft:stonebrick"]}
Ensuite, lorsqu'ils cassent le bloc, ils obtiendraient le bloc et pourraient le placer sur des blocs spécifiques.
Disons que votre "bloc" est du minerai d'émeraude, vous pouvez leur donner un outil/objet comme ceci :
/give @p minecraft:diamond_pickaxe 1 0 {CanDestroy:[minecraft:emerald_ore]}
Ensuite, vous pourriez tester que le minerai d'émeraude a été cassé. Ensuite, vous pourriez exécuter la commande :
/give @p minecraft:gravel 1 0 {CanPlaceOn:["minecraft:diamond_ore"]}
Voilà !
Étant donné que les blocs ne peuvent pas stocker des balises de données, ils ne peuvent pas conserver des informations comme les balises CanPlaceOn lorsqu'ils sont cassés dans le monde. Ce que vous devriez faire à la place, c'est détecter lorsque le joueur a le bon type de bloc (en définissant une balise de tableau de bord lorsque leur balise de données d'inventaire contient cet élément), puis le /clear de leur inventaire et leur donner une copie du bloc avec la balise CanPlaceOn que vous souhaitez.