[SEMI TUTO] Création de mon mob hostile: spawn, attaque etc.
-
Pas grave sa arrive quand on s’énerve sur un mod de 2 excuse je n’ai pas encore touché à la 1.8

Bonne Chance
Sinon tien si sa peux t’aider
:
Youtube Video -
-
En réinitialisant tout j’ai réussi à refaire fonctionner le mob. J’en suis maintenant au même point qu’en début d’après midi, avec toujours ce problème de saut. Quelqu’un a t-il une autre idée svp?
-
J’ai pas bien compris ton problème de saut, tu veux qu’il se déplace en sautant où juste qu’il saute pour passer des blocks ?
-
Pour passer des blocks uniquement. Car la si je me mets en hauteur il peut pas m’attaquer, donc ça sert à rien x).
Et le second problème c’est qu’ils finissent par disparaitre.
Y’a pas une commande pour qu’ils ne disparaissent pas ou pour leur donner un nom comme une étiquette? -
Pour le jump, je regarde ça demain (si quelqu’un n’a pas déjà répondu).
Pour le despawn, mets tout simplement ça dans ton entité :@Override public boolean canDespawn() { return false; } -
[font=Ubuntu, sans-serifParce que Plaigon m’a dit de faire un truc qui a fait quelque chose à mon codage et du coup y’a plus rien qui marche je sais pas pourquoi. ]
Attends ! Moi je te propose juste des solutions et tu vas me dire que c’est de ma faute si plus rien ne marche dans ton semblant de “code” ?! Moi j’ai surtout envie de te dire D’APPRENDRE A CODER, car pour le moment tout ce que je vois dans ton code reste des lignes que tu as copié-coller (pas gênant, si ce n’était que cela…), SANS EN COMPRENDRE LE SENS…Un mob qui attaque ? C’est pas compliqué, tu l’extends EntityMob, point ! Ensuite (si déjà tu arrives à faire cela) il sera capable TOUT SEUL (c’est-à-dire sans la moindre IA à rajouter) de sauter afin de franchir des blocks…Après si malgré tout cela ça ne marche toujours pas, c’est qu’il faut debug afin de voir où est le problème…
Renvoies ton code, je vais faire des tests chez moi. Tu es en quelle version déjà ? La balise devrait pouvoir l’indiquer sans qu’on ait à chercher à travers les 5 pages du topic (au cas où ça serait indiqué)…
En parlant de ce titre, il faudrait VRAIMENT éditer, car “Création de mon mob”, désolé mais ça n’indique en aucun cas le(s) problème(s) que tu as recontré(s)…A la base t’était parti sur les fréquences de spawn et maintenant on se retrouve avec ton mob qui ne souhaite pas attaquer, ni sauter…Tu vois si quelqu’un a le même soucis que toi, ça m’étonnerait fortement qu’il mette la main sur ce post… -
Bonjour,
encore désolé pour hier j’avais vraiment eu une sale journée, et à force d’accumuler de nouveaux problèmes j’ai pété un câble.
Ce n’est pas contre vous, encore désolé
(en plus ça arrive genre méga rarement ^^')Code:```java
package Entity;import fr.minecraftforgefrance.modzoic.common.Modzoic;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.monster.EntityIronGolem;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntityRabbit;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.pathfinding.PathNavigateGround;
import net.minecraft.world.World;public class Entityclass extends EntityMob
{
public Entityclass(World world)
{
super(world);
((PathNavigateGround)this.getNavigator()).setBreakDoors(true);
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
this.tasks.addTask(8, new EntityAILookIdle(this));
this.setSize(2, 3);
this.applyEntityAI();
}public void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(62D);
this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(9D);
this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(2D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.36D);
this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(120D);
}protected void applyEntityAI()
{
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true));
}public void dropFewItems(boolean b, int looting)
{
this.dropItem(Modzoic.meatEpanterias, 6);
}protected String getLivingSound()
{
return “:Nanuqscarnotausaurus_living_1.ogg”;
}
}```java package Handlers; import java.util.Random; import fr.minecraftforgefrance.modzoic.common.Modzoic; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.fml.common.registry.EntityRegistry; public class EntityHandler { public static void RegisterMonster(Class entityClass, String name) { int entityID = EntityRegistry.findGlobalUniqueEntityId(); long x = name.hashCode(); Random random = new Random(x); int mainColor = random.nextInt() * 16777215; int subColor = random.nextInt() * 16777215; EntityRegistry.registerGlobalEntityID(entityClass, name, entityID); EntityRegistry.addSpawn(entityClass, 70, 1, 3, EnumCreatureType.CREATURE, BiomeGenBase.forest, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills ,BiomeGenBase.coldBeach ,BiomeGenBase.coldTaiga ,BiomeGenBase.coldTaigaHills ,BiomeGenBase.desert ,BiomeGenBase.desertHills ,BiomeGenBase.extremeHills ,BiomeGenBase.forestHills ,BiomeGenBase.frozenRiver ,BiomeGenBase.iceMountains ,BiomeGenBase.icePlains ,BiomeGenBase.jungle ,BiomeGenBase.jungleEdge ,BiomeGenBase.jungleHills ,BiomeGenBase.megaTaiga ,BiomeGenBase.megaTaigaHills ,BiomeGenBase.mesa ,BiomeGenBase.mesaPlateau ,BiomeGenBase.mesaPlateau_F ,BiomeGenBase.plains ,BiomeGenBase.roofedForest ,BiomeGenBase.savanna ,BiomeGenBase.savannaPlateau ,BiomeGenBase.taigaHills ,BiomeGenBase.taiga ,BiomeGenBase.stoneBeach); EntityRegistry.registerModEntity(entityClass, name, entityID, Modzoic.instance, 64, 1, true); EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, mainColor, subColor)); } }(le reste n’a pas changé, voir page 2-3)
-
Up! Je ne sais toujours pas comment faire pour que mon mob saute.

Si vous avez des idées, ce serait génial! -
Normalement rien ne l’empèche de sauter
Après moi j’avais eu des problèmes avec ça un moment (il sautait, mais difficilement), je ne les ais plus, si je me rappelle bien, je n’avais rien changé (je me demande si c’était pas parce qu’il essayait d’aller à plusieurs endroits en même temps (donc pb d’AI), mais je vois pas ce qui pourrait te causer ce problème. -
Toutes façons ses AI ne sont pas activées, car normalemement la méthode isAIEnbaled devrait retourner true dans la classe de ton Entity. Puisque de base elle est sur false…Par-conséquent en tout logique aucune de tes AI inscrites ne devraient être prises en compte.
-
Je pense que soit cette méthode n’est pas utilisée, où une des classes EntityMob/Creature l’override car le zombie (ou tout autre mob) n’ont pas ça dans leur classe, j’ai moi-même fait un mob sans ça (après ça peut dépendre de la version mais en 1.8 et en 1.8.9 c’est comme ça).
-
Ah ok je pensais que cette méthode présente en 1.7 figurait aussi en 1.8 et +
Autant pour moi et merci de me l’avoir signalé
-
Du coup toujours pas d’idée? C’est peut-être spécifique à la 1.8.8, faudrait le signaler en IA ou quelque chose comme ça qu’il peut sauter. Car après je sais que certains mod 1.8.8 rencontre les mêmes bug, mais comment les résoudre eux doivent le savoir et pas moi. (exemple de l’Indominus Rex dans JurassiCraft qui semble ne pas pouvoir sauter de blocks, en tout cas sur mon minecraft avec la version que j’ai téléchargé.)
-
Une bonne idée déjà ça serait de passer en 1.8.9.
Il n’y a presque aucune différence de code entre ces des versions, mais la 1.8.9 contient des correctifs de bug que la 1.8.8 n’a pas. -
Certes, mais j’ai tout fait en 1.8.8… Du coup je fais comment pour changer de version?
-
C’est expliqué dans le tuto d’installation du workspace (ici).
-
Je suis passé en 1.8.9.
Ils ne sautent toujours pas, et ne s’écarte jamais de leur point de spawn dans un rayon de 10 cubes maintenant, donc si je m’éloigne ils ne me suivent pas, en tout cas pour ceux qui spawnent naturellement (peut-être parce que ce sont des “créatures”?). -
UP. J’aimerai vraiment résoudre le problème, c’est le truc le plus important pour le mod, tout le reste est terminé.
-
Tu peux renvoyé la class actuelle de ton entitée ?
Et ré-expliquer, ce que tu veux que ton entitée fasse.
