2017-08-02 2 views
1

J'essaie de trouver dans le code quelle classe ou quelles classes déclenchent des spawns mob. Par exemple, si je voulais changer le Y à partir duquel les limaces apparaissent ou permettre à une foule personnalisée comme un éléphant de se reproduire sur le biome de la savane.Quelle classe java déclenche la génération de monstres naturels?

L'intention est de faire ceci pour un mod de forge, mais je suppose que la réponse est standard pour minecraft?

Merci!

+0

Si vous n'avez pas de chance ici, il y a aussi une bonne quantité de questions-réponses de minecraft ici: https://gaming.stackexchange.com/ –

Répondre

2

Pour les entités modifiées, EntityRegistry.addSpawn(...) est utilisé pour enregistrer les biomes dans lesquels l'entité apparaîtra en utilisant les règles de génération par biome existantes.

Pour les slimes, la classe EntitySlime contrôle les hauteurs Y sur lesquelles il est autorisé à apparaître, voir la méthode getCanSpawnHere(). Cependant, vous ne pouvez pas modifier cette classe. Afin de remplacer les hauteurs valides, vous devez vous abonner au LivingSpawnEvent (il y a trois sous-classes, vous voudrez vous abonner à l'un des trois) et définir le résultat à Result.ALLOW pour forcer l'entité à apparaître indépendamment de son habituel spawn check (inversement, Result.DENY pour l'empêcher).