Salut à tous, c’est Serialk. J’ai fait un gros travail de recherche cette après midi, en espérant que ça vous plaira (contient des détails très techniques…).

Depuis l’arrivée de la bêta 1.7, tout le monde se rue sous terre pour trouver des slimes, récupérer des slimeballs et créer des sticky pistons, au grand désespoir de beaucoup qui n’en trouvent que très peu. Dans cet article nous allons étudier le mécanisme de spawn des slimes.

 

Pour faire simple …

Les slimes ne spawnent pas uniformément sur tous les chunks. La map, quand vous la créez, génère des nombres aléatoires qui permettront de dire si un certain chunk sera fertile à la production de slimes où pas. Le moyen le plus simple de connaître quels chunks sont fertiles est de se rendre sur http://mcslimes.appspot.com/ .

Vous allez ensuite soit uploader votre level.dat, soit rentrer manuellement le seed de votre monde. (Décochez la case « Random Seed »). Ensuite, vous allez sélectionner la zone à dévoiler, soit en rentrant les limites des coordonnées X et Z (que vous pouvez trouver en tapant F3), par exemple la configuration X: -100 to 100, Z: -100 to 100 va vous donner le carré délimité par les points (-100;-100), (-100;100), (100;-100) et (100;100), soit en rentrant des coordonnées et la distance autour de ces coordonnées à dévoiler.

Les chunks affichés en vert seront les chunks fertiles à la production de slimes.

Le plus optimal pour construire votre ferme dans ce chunk est de creuser à la couche 12 une grande cave de 4 de hauteur dans tout le chunk.

Plus en détail…

  • La formule de spawn

(À ne pas lire sans cachet d’aspirine, vous aurez peut être besoin de quelques connaissances en mathématiques et pseudo-probabilités)

Dans le code de Minecraft, la fonction qui détermine la fertilité d’un chunk est le suivant :

public boolean getCanSpawnHere(seed, xPosition, zPosition)     {  Random rnd = new Random(seed + (long) (xPosition * xPosition * 0x4c1906)                              + (long) (xPosition * 0x5ac0db)                              + (long) (zPosition * zPosition) * 0x4307a7L                              + (long) (zPosition * 0x5f24f) ^ 0x3ad8025f); return rnd.nextInt(10) == 0;  }

Le générateur de nombres aléatoires de Java est initialisé par un « seed », une constante qui va permettre de générer une suite précise de nombres. Cette constante est calculée par la formule que vous voyez plus haut, soit :

Constante = seed de la map             + (position X du chunk)² × 4987142             + position X du chunk × 5947611             + (position Z du chunk)² × 4392871             + (position Z du chunk × 389711) XOR 987234911

Le générateur de nombres aléatoire va ensuite tirer un nombre « au hasard » entre 0 et 9 (C’est à dire de 0 à 10 non inclus). Ce ne sera en fait pas vraiment du hasard, étant donné qu’il est calculé grâce à la constante que nous avons vu plus haut.
Si ce nombre est égal à 0, le chunk sera fertile. C’est ainsi que l’on peut sans trop de mal calculer la position des chunks fertiles.

  • Autres faits importants

– Les slimes partagent la limite des mobs du serveur avec la plupart des autres mobs hostiles. Si vous voulez faire une ferme productive, vous devez éclairer les grottes et la surface au dessus de vous. Cela fait aussi une petite différence d’empêcher les slimes de spawner dans d’autres chunks fertiles.

– Si le jeu décide de spawner des mobs hostiles, il en choisit un au hasard. Chaque mob, slimes inclus, a la même chance de spawner. Mais il y a une chance additionnelle de 90% pour les slimes de ne pas spawner (même dans un chunk fertile). De plus, les spawns de slime vont plus souvent échouer à cause des contraintes auxquels ils sont soumis (hauteur et limite par chunk).

– Les slimes n’ont pas besoin d’un niveau spécifique de lumière et spawn seulement en dessous du niveau 16 (le bloc d’air doit être à 15 où en dessous, donc ils spawneront sur l’étage 14)

– Les slimes n’ont pas besoin de grandes grottes cubiques. Vous avez simplement besoin d’un bloc de sol opaque, un d’air au dessus et d’un bloc transparent (de l’air ou du verre pour les empêcher de bouger). Si la grotte ne fait que 2 de haut, les gros slimes vont automatiquement suffoquer et se séparer en slimes normaux.

– Chaque taille de slime a la même chance de spawner (33%)

– Il n’y a pas de slimes « Énormes » directement dans le jeu. Cependant il est facile d’en faire spawner avec des mods, la taille est déterminée par un nombre interne qui affecte aussi leurs dommages, vies, comportement de division en petits slimes etc.

Sources :

En espérant que cet article vous a plu !

ou et

Publié par Serialk à 19:27