Qu'est-ce qui définit techniquement ce qu'est une «Forteresse Nether» en termes de reproduction de la foule?

Wither Skeletons et Blazes peuvent engendrer naturellement dans les forteresses de Nether, mais ce qui définit techniquement ce qu'est une forteresse de Nether? Je n'ai pu trouver aucune information à ce sujet. Ce n'est pas un biome technique, c'est juste "l'enfer". Déclaré dans la réponse de cette question et le wiki, ce n'est pas non plus aux blocs.

Je ne demande pas ce qui définit une forteresse Nether optiquement pour le joueur, mais ce qui le définit pour le processus de reproduction de la foule .

Les mobs ne se produisent pas seulement dans une forteresse inférieure, mais en particulier des sections de celle-ci. Et même si vous remplacez tous les blocs d'une Forteresse, les mêmes régions engendreront encore des Skeletons Wither.

Cette vidéo explique ceci:

Selon les sources décompilées, Minecraft stocke l'emplacement et le volume des structures générées telles que les villages et les forteresses inférieures dans une structure de données séparée aux blocs réels que nous voyons dans le jeu. Une partie de cette structure de données est une liste de mobs qui peuvent engendrer dans ce volume de blocs.

Chaque structure est composée de pièces de structure, et chaque pièce de structure a sa propre boîte de délimitation et la liste de la foule. Un seul morceau peut engendrer plusieurs autres pièces adjacentes si le type de structure le permet, de sorte qu'un pont Nether peut déclencher le placement d'une autre passerelle de pont, ou une plate-forme spawn Blaze, ou une pièce, ou une tour, etcétera. C'est ce qui crée l'étalement de la forteresse "one" Nether – ce que nous pensons comme une forteresse Nether est vraiment un tas de pièces de structure indépendantes qui se passent côte à côte. Vous pouvez le voir dans la deuxième vidéo de la réponse de BlaXpirit , où chaque boîte à doublure rouge est une pièce de structure différente placée par le générateur de structure. Chacune de ces boîtes de délimitation est dimensionnée pour englober entièrement tous les blocs placés par le générateur de bloc d'une pièce.

Dans le but de fraiser Wither Skeletons, tous les emplacements dans une forteresse Nether peuvent les engendrer, en supposant que l'endroit est un lieu de frappe valable pour un pack de mob en premier lieu. Ce n'est pas "certains emplacements", mais tous les blocs, y compris l'air, qui se trouvent dans n'importe quelle boîte de délimitation de la pièce de structure de Nether Fortress. Le code fonctionne comme suit:

  1. L'algorithme de fraie sélectionne une seule coordonnée X, Y, Z à vérifier.
  2. Si c'est un lieu de propagation valable en fonction des niveaux de lumière et de la solidité, il engendrera une foule là-bas.
  3. Pour savoir ce que mob engendrer, il interroge la structure mondiale des données pour savoir si cette coordonnée se trouve dans une structure.
  4. La structure de données mondiale trouve toutes les Structures qui réclament des blocs dans ce morceau et ensuite leur demander si la coordonnée se trouve dans l'une de leurs cases délimitant. (Les zones de délimitation de la structure ne se chevauchent pas).
  5. Nous dirons que l'endroit est confirmé dans une boîte de délimitation de la structure de la forteresse Nether. La boîte de délimitation est un volume rectangulaire qui englobe la Pièce. Les pièces de forteresse inférieures sont habituellement constituées de sections droites de blocs, ce qui rend peu probable que la boîte de délimitation contienne beaucoup d'autres parois, mais c'est possible. Cela signifie que la coordonnée des engins peut effectivement être à l'extérieur des murs de la forteresse dans des dispositions inhabituelles sur les blocs, surtout si la forteresse a été modifiée.
  6. L'algorithme de fraie demande alors le morceau de structure pour sa liste mob. La liste des morceaux de forteresse inférieure est Blazes, Magma Cubes, Skeletons et Zombie Pigmen. Nous dirons qu'il choisit Skeleton.
  7. L'algorithme de fraie place un pack mob sur cette coordonnée. Parce que les paquets génèrent plusieurs mobs individuelles dans un rayon de la coordonnée du paquet, cela peut effectivement placer la foule à l'extérieur des murs d'une forteresse, s'il existe un terrain valide là-bas.
  8. Placer un squelette dans le Nether déclenche une vérification: 80% du temps, ce sera un Squelette Wither, sinon un squelette normal.

Par conséquent, Wither Skeletons peut engendrer partout dans une forteresse néerlandaise qui est un lieu de frappe légale pour les mobs, et peut parfois engendrer des blocs légèrement en dehors du volume revendiqué par les pièces de la forteresse Nether. La région est fixe et immuable après la création de la forteresse. Une implication est que vous pouvez maximiser Wither Skeleton engendrer en ajoutant plus de couches de blocs dans le volume de la Pièce, pour convertir plus d'espaces d'air en blocs de fraude légaux.

Dans votre dossier de sauvegarde, il existe un dossier appelé "données". À l'intérieur, il s'agit d'un fichier intitulé "Fortress.dat". C'est ici que Minecraft vérifie la "Structure Bounding Box" que SevenSidedDie a mentionnée dans sa réponse, ce qui, je l'ai déjà dit, est correct. Par conséquent, il est possible de voir exactement où Minecraft considère un espace de frappe Nether Fortress valide, et même le changer!

Si vous ouvrez Fortress.dat avec un éditeur NBT (j'ai utilisé NBTExplorer, maintenant considéré comme le meilleur), vous recevez une liste de toutes les forteresses inférieures de votre monde jusqu'à présent, organisées par le morceau qu'ils ont commencé à générer. Lorsque vous explorez plus De votre monde, cette liste devient plus grande à mesure que d'autres sont générés. La génération commence par la «semence» de la forteresse, qui est une pièce unique, puis elle se développe à partir de là, en ajoutant des pièces conjointes en suivant un algorithme.

L'intérieur de chaque forteresse est différent. Il y a une balise "chunkX" et "chunkY", qui donne le morceau au début de chaque forteresse. La balise "id" identifie cette structure comme une forteresse inférieure. La balise "BB" donne les coordonnées de toute la gamme de la forteresse, au format "X1 Y1 Z1 X2 Y2 Z2". L'intégralité de la forteresse s'insère dans cette boîte de délimitation. Cependant, les mobs spéciales ne génèrent pas n'importe où dans cette boîte, car vous devez aller à une résolution plus élevée.

Chaque forteresse se compose de nombreux segments différents, comme d'autres ont parlé, comme un «escalier» ou un «passage à niveau». Aussi dans le dossier des forteresses, ainsi que les autres étiquettes que j'ai décrites ci-dessus, figure une liste intitulée «Enfants». À l'intérieur de cela, 50 à 200 entrées, chacune représentant l'un de ces segments, chacune avec 4 ou 5 entrées chacune. Ils sont «GD», «O», «id», «BB», et éventuellement «semences».

Maintenant, je ne sais pas ce que signifient 3 de ces entrées, mais je sais ce que je pense être le plus important. 'Id' décrit quel type de segment il est, comme "NeSC" pour peut-être "Nether Stair Case" ou "NeBCr" pour "Nether Bridge Crossing" (ce type de segments est celui que vous voulez pour les fermes, car ils sont les Plus grand, étant 19X19) Il y a toujours un "NeStart", c'est la graine dont le reste de la forteresse grandit en génération.

BB décrit également la boîte de délimitation dans la même nomenclature que ci-dessus. Il convient de noter que si le BB est "0 0 0 4 4 4", la zone spawnable est en fait une boîte 5X5X5, car la gamme est inclusive, autant que je peux le dire. Aussi, j'ai entendu, mais je ne peux pas confirmer, que ce sont des coordonnées relatives à la région (un bloc 32X32 de blocs). J'étais près de l'origine, donc les coordonnées correspondaient exactement à la forteresse générée dans mon monde et où le tremblement skeles engendrerait, mais si vous allez plus loin, ces coordonnées BB resteraient dans une gamme de 256 entiers lorsque les coords du monde réel pourraient être beaucoup plus haute.

Avertissement: Si vous essayez d'ajouter un autre segment de pont à cette liste, votre jeu va se bloquer, autant que je peux le dire. Ce que j'avais besoin de faire, c'était de réparer une partie de ma forteresse qui a cessé de frayer le fléau Skeles pour une raison quelconque après avoir mis à niveau les versions, alors, ce que j'ai fait à la place, c'est tout simplement modifier les coordonnées d'un autre segment là où j'avais besoin. Après avoir rechargé le monde (necesarry!) Wither Skeles a engendré à nouveau, quel que soit le cas où j'ai créé une de ces étiquettes de segment BB.

N'aurait peut-être pas été le plus clair, mais j'espère que ça m'a aidé!

Du wiki de Minecraft :

Les forteresses inférieures sont des complexes très importants constitués principalement de Nether Bricks. Les forteresses inférieures peuvent souvent traverser Netherrack, et l'intérieur des tunnels sera éliminé par Netherrack par le générateur de terrain. Cependant, dans les sections de pont cassées, le terrain n'est pas dégagé, ce qui peut créer un tunnel qui mène directement à un mur plat de Netherrack. Leur structure principale prend une forme de ponts avec des piliers de support à l'extérieur et des couloirs à l'intérieur, les deux disposant d'un espace de marche de 3 blocs. Les ponts peuvent être brisés à la fin. L'intérieur des structures possède des fenêtres 1×2 avec les cloisons Nether Brick comme les vitres. Les clôtures forment également des structures en forme de grille aux entrées de certaines pièces et couloirs.

Les chambres incluent:

  • Lava well rooms
  • Chambres avec les escaliers Nether Brick au centre et Soul Sand aux côtés de l'escalier contenant 2 2×5 rangées de Nether Wart croissant sur elle.
  • Chambres avec des géniteurs Blaze. Les escaliers Nether Brick peuvent mener à eux. Les chambres ont des clôtures Nether Brick. Il y a normalement 2 géniteurs par salle de forteresse avec quatre sorties. Certains d'entre eux ne pouvaient conduire qu'à Netherrack. Chambres avec un "escalier" de Nether Brick placé contre un mur, menant au sol au-dessus.