Bon pour faire simple:
en 1.4 et inférieure:
- pour qu'un mob pop, seule la luminosité du bloc, sur lequel le mob essaye de pop, est vérifiée.
en 1.5 et supérieure:
- la luminosité du bloc, ainsi que celle induite par l'heure de la journée (in-game) est vérifiée. (dans un salle fermée, incidence 0)
Si tu marches sur de la redstone elle brille, c'est le même effet que si tu la mine. ça peut influer mais je n'ai pas calculer dans quelle proportion.
Concernant les blocs maintenant.
Tous les blocs "pleins", quelques soit le type peuvent accueillir un mob
ne sont pas des blocs considérés comme pleins: glass, stairs, demi block, plantes etc...
dans le code tous les blocs, sauf quelques exceptions donc le mossy stone ne fait pas partis sont gérés par un seul et même fichier.
Et seuls les animaux ont un prérequis spécifique de bloc pour pop, stone/grass
Et pour finir les donjons.
par défaut un MobSpawner est un spawn de cochons.
mais il est de suite modifié à la génération du chunk dans lequel il se trouve. et c'est 50% zombie, 25% spider, 25% skeleton. un seul type de mob à chaque fois. mais un autre mob peut pop dedans par les voies naturelles. j'ai déjà eux 3 creepers dans un donjons clos.
par contre si le donjon fait pop un mob "avant" le pop naturel (ce qui est généralement le cas) c'est la fonction getCanSpawnHere() qui prend le dessus, dans ce cas il y une distance minimale de pop entre 2 mobs différents.
Donc si dans un donjon tu n'as rien. un ou plusieurs mobs du même type peuvent pop et ils reservent leurs place. le mobs pawner force par dessus son pop et empêche par la suite les autres types de mobs de pop. (je ne sais pas si je suis clair)
|