Tutoriel Spawners personnalisés et originaux

Longhuo

Ninja au cube
23 Août 2012
81
20
38
28
N'cha !!!
Me voici dans un deuxième tuto sur les spawners à mob. Qui n'a pas rêvé de faire un générateur de creepers électriques, ou d'enderman portant un bloc particulier ?

Donc nous allons d'abord commencer par un peu de théorie, afin de comprendre ce qu'est un mob avec NBTexplorer (le lien renvoie au minecraftforums, qui est bien tenu à jour)

1)Les entités dans NBTexplorer

Vous n'êtes pas obligés de faire ce que je suis en train de faire pour le moment. C'est juste pour comprendre. Je crée un monde que j'appelle "Test". On le ferme puis on lance NBTexplorer. On découvre le dossier "saves"(présent dans le dossier .minecraft) et à l'intérieur un dossier pour chacun de nos mondes. On déroule ensuite le dossier Test. Dans mon cas, on obtient :



On a trois points à expliquer:
-le dossier player contient des infos sur les joueurs ayant joué dans le monde (sa vie, son inventaire...)
-le level.dat contient des infos sur le monde en général, ce qui lui est commun (son seed, le temps qu'il y fait)
-le dossier region, sur lequel nous allons travailler, contient des infos sur chaque chunk du jeu (les blocs, les mobs...)

Ouvrons les dossier region, et une liste de fichier .mca s'ouvre (il n'y en a que 2 dans mon exemple, il y en a plus au fur et à mesure que le monde a de chunk). Déroulons le premier qu'on a sous la main.



Chaque boite correspond à un chunk (comme leur nom l'indique).
Ouvrons maintenant une de ces boites. A l'intérieur, une autre boite appelée Level, qu'on va ouvrir.
Voilà nos infos sur ce chunk. je ne m'y attarde pas : 1 m'intéresse maintenant, c'est l'info de type liste appelé "Entities". Le "5 entries" me dit qu'il y a 5 éléments dans cette liste:



Nos cinq éléments sont des boites sans nom avec un certain nombre d'infos. Chacune de ces boites désigne en réalité UN mob. Ouvrons une de ces boites :



J'ai ouvert celle qui me semble la plus intéressante, la boite a 16 infos. Regardons-là. La première info qui est pour moi la plus essentielle est la ligne "id:Sheep". Cette ligne nous dit donc que le mob en question est un mouton. Mais d'autes lignes sont intéressantes :

-Color : la couleur du mouton
-Sheared : 1 si le mouton est tondu

Le nom des infos reste clair pour peu qu'on fasse un minimum d'anglais. Ce que je veux montrer, c'est que chaque mob a un nombre d'infos a lui, avec quelques une qui lui sont propres ( La ligne color ne se trouvera que dans une boite de mouton, si vous voyez ce que je dire, elle n'a de sens que pour le mouton). Le principe du mob spawner va être qu'on peut ajouter certaines infos propres à certains mob afin de les voirs spawner (pour rester dans l'exemple du mouton, si on veut un spawner à mouton rouge, on aura besoin de l'info Color quelque part).


2)Créer son spawner

Ici je créerais un spawner à creeper électriques.
Tout d'abord retournons dans le jeu, après avoir fermé NBTexplorer. Si vous avez activé les commandes, vous pouvez écrire dans le chat "/give joueur 52" (remplacez joueur par votre pseudo bien sûr). Sinon un mod comme toomanyitems fera l'affaire. (Il est impossible de faire cette manip' sans tricher. De toute façon, faire cette manip' c'est un peu tricher)
Posons-le :



Par défaut, notre spawner spawn des cochons. Et bien, ça va nous être utile. Quittons maintenant minecraft et lançons NBTexplorer.
Choisissez votre monde et sélectionnez la fonction find, une petite icone en forme de jumelle. Cette fonction cherche une certaine ligne, c'est à dire le nom et\ou la valeur d'une information.

On va donc profiter du fait que le spawner spawn des cochons, car il y a beaucoup de chance que ce soit le seul spawner du monde à avoir cette particularité.
Entrons donc dans la fenêtre obtenue :



Respectez bien les majuscules !!!!
Je trouve ainsi :



J'ai surligné en bleu "Id:MobSpawner". Cette ligne ainsi que les 8 au-dessus appartiennent à la boite sans nom qui est en fait toutes les infos de notre spawner. La ligne EntityId désigne le mob du spawner. On peut le modifier : double-cliquez dessus et mettez l' ID du mob que vous voulez (généralement, c'est le nom mob en anglais).
J'obtiens donc :



Mon spawner spawn normalement des creepers. Mais nous les voulons électriques.
C'est là que toute ma partie théorique prends de l'importance. On sait donc que chaque entité est désigné par un certain nombre d'informations, et que certaine informations sont uniques à certains types de mob. Le creeper a donc une ligne dans ses informations qui est la ligne "powered". Cette ligne a la valeur 1 si le creeper est électrique.

Voici maintenant comment rajouter ces lignes pour le spawner. Il faut d'abord rajouter à la boite qui désigne le spawner une nouvelle boite appelé "SpawnData". Pour cela, sélectionnez la boite du spawner et cliquez sur l'icone en forme de boite (ça en fait des boites :confused:). Nommez-la donc SpawnData. On obtient donc :



Dans cette boite, on peut mettre les lignes caractéristiques aux mobs. C'est là que je vais mettre la ligne "powered", mais le reste marche pour les autres mobs. Les infos communes à tous les mobs, comme leur vie, marche aussi.
Donc pour ajouter une info, il faut d'abord savoir de quel type d'info on parle, je n'ai pas insisté là-dessus. L'info "powered" est de type byte par exemple. On va donc ajouter à "SpawnData" une info de type byte. Sélectionnez SpawnData et cliquez sur l'icone B de la barre d'outil. Nommez l'info .................................... powered, bien sûr. Et donnez lui la valeur 1.
Donc :



C'est fini, sauvegardez, quittez, jouez !!!



Voilà, je vous renvoie au wiki anglais, qui vous donnera les lignes propres à chaque mob, dans la partie Entity, toutes ces lignes pouvant normalement être mis dans SpawnData. Au pire demandez-moi.

N'cha !!!!
 

JeanLoup

Aventurier
24 Octobre 2011
88
6
3
32
Merci pour ton tuto, il est très pratique.
On peut avec cette technique, faire spawner des items comme sur la map Cube Control.

Par contre, il serait vraiment pratique d'avoir un petit mod, qui permettrait d'éditer les mobspawner directement in-game.
Si quelqu'un connait ce genre de mod ou a envie de le créer se serait super.
 

Longhuo

Ninja au cube
23 Août 2012
81
20
38
28
des items ? c'est très intéressant.
Si ça intéresse quelqu'un, on peut aussi choisir à l'aide de la boite SpawnData la position où apparaitra le mob
 

sam88

Manchot retraité
29 Juillet 2011
5 958
322
242
Merci pour ton tuto, il est très pratique.
On peut avec cette technique, faire spawner des items comme sur la map Cube Control.

Par contre, il serait vraiment pratique d'avoir un petit mod, qui permettrait d'éditer les mobspawner directement in-game.
Si quelqu'un connait ce genre de mod ou a envie de le créer se serait super.
Je crois que Risugami(le mec de modloader) a fait un truc comme ça, mais je crois que c'est que pour les mobs, mais il l'updatera surement pour ça...
'fin j'espère
 

JeanLoup

Aventurier
24 Octobre 2011
88
6
3
32
Exactement.
De plus, le mod de Risugami modifie le comportement des spawners, avec par exemple une fonction pour l'activer avec de la redstone. Je pense donc qu'il n'est pas "parfait" de créer des map avec ce genre de mod, car elle sera un peu corompu pour la diffuser ensuite.

Alors que la méthode expliquer sur ce tuto est respectueuse des "normes" des maps (enfin je crois).

Source pour les items, confirmé par la map Cube Control :
"12w26a :
Monster spawners now support extra data pertaining to what they spawn. For example, they can spawn Charged Creepers, Endermen holding specific blocks, previously unavailable Green Robe Villagers, and Villagers offering specific deals. They can also spawn non-mob entities, like specific dropped items, primed TNT, boats and minecarts."
 
  • J'aime
Reactions: Longhuo

Longhuo

Ninja au cube
23 Août 2012
81
20
38
28
Oui je viens d'essayer j'ai fais un spawner à tnt allumée ,mais ça a explosé dès que je ma suis reconnecté :D
 

sam88

Manchot retraité
29 Juillet 2011
5 958
322
242
Waaaaaaa.
Et c'est faisable sur un serveur ?
En récupérant la map via un ftp ? Je pense oui ....
 

JeanLoup

Aventurier
24 Octobre 2011
88
6
3
32
Ouai, car cette technique ne corrompe pas les map. Donc utilisable en solo ou en multi, sans mod ou plugin.