Créer un mob basique
-
@‘Axaurus’:
je le met en monstre, mais il ne se met pas
c’est à dire ?
-
je veux dire que j’ai mis ça :
EnumCreatureType.monster -
Oui, et alors, ce code fais que le mob ne spawn que la nuit.
-
Ce code veut aussi dire que c’est un monstre(donc mob qui attaque le joueur)
Or moi, il ne m’attaque pas et je suis triste lol
-
Si il ne t’attaque pas c’est parce que d’une tu es en créatif, et ensuite, EnumCreatureType ne signifie pas que le mob doit spawner la nuit. pour changer ça, il suffit de faire cette méthode dans la classe de l’entity :
public boolean getCanSpawnHere() { return worldObj.isDayTime(); // là il spawnera le jour, même en étant un monstre } -
Ok,merci
mais je me suis mis en survie, et ça fait 20 min qu’il bouge sans but
Mais ne m’attaque pas___
et ça fait longtemps que je suis en survie -
Tu as bien mis “ExtendsMob”
-
extends EntityMobC’est bizarre
-
Excuse-moi, c’est bien “extends EntityMob” qu’il faut mettre, mon cerveau a buggué.
-
Et bien logiquement, si il est extends à EntityMob, ça devrait marcher. Car dans EntityMob, il y a bien une fonction pour forcer le mob à attaquer le joueur.
-
Et bien dans ce cas, Minecraft n’est pas très logique. C’est comme le 2 qui est plus petit que 1. Minecraft = illogique!
-
J’ai chercher dans l’entité du mob, mais rien ne parle de monstre à part le extends EntityMob
Donc, le extends bug ou le EnumCreatureType.monster bug.
En tout cas, c’est bizarre. -
Regardes dans la classe du Zombie, du Squelette, ou du Blaze. Les trois attaquent le joueur à vue.
-
Salut
En fait, il faut ajouter ces lignes dans l’entité :this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); -
@‘Axaurus’:
Salut
En fait, il faut ajouter ces lignes dans l’entité :this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));Fallait le préciser que tu utilises les IA de Mojang (qui sont à chier d’ailleurs).
-
Désolée, je ne l’ai pas préciser. Mais en tout cas, le problème est résolu
Merci -
Mise à jour du tuto pour ceux qui utilisent une build à partir de 842
-
849*
Corrigé. -
Peut-on faire spawner un mob dans une dimension custom sans utiliser de biome custom?
-
En fait, quand tu veux faire spawn ton mob dans une autre dimension, tu dois définir le biome. (Ex: Pour le nether, on doit faire BiomeGenBase.hell, tu as juste à mettre le nom du biome principal de ta dimension.)
