Créer un mob basique
-
Je voudrais que le mob invoque des monstre comme le slim mais pas forcement en mourrant.
Je m’explique, j’ai creer un mob arbre et quand on passe a coter je voudrais qu’il invoque des abeille ou des branche pour attaquer le joueur.
Vous avez une idée de comment le faire ? -
A mettre dans la classe de ton entity
@Override public void onLivingUpdate() { EntityPlayer player = (EntityPlayer)this.findPlayerToAttack(); if(player != null) { for(int i = 0; i < 5; i++)//5 est le nbre d'abeilles que tu souhaiterais faire spawn { EntityAbeille abeille = new EntityAbeille(this.worldObj)//Ou d'autres, comme tes branches…. abeille.setLocation(this.posX, this.posY, this.posZ); this.worldObj.spawnEntityInWorld(abeille) } } super.onLivingUpdate(); }
-
Plop, j’aimerais savoir comment traduire le message de mort lié à un mob d’un mod.
Par exemple, quand mon mob me tue, le message de mort c’est :
Pseudo was slain by MonMod_MonMob.J’aimerais n’afficher que le nom du mob.
Edit:
J’ai pu voir dans le fichier lang que minecraft faisait
death.attack.mob=%1$s was slain by %2$sEdit2:
Ok, c’est le nom du mob qui doit être rajouté avec entity.NomduMob.name= NomduMob
J’ai rien dis -
bonjour, serai t’il possible de mettre a jour ce tuto pour le faire en 1.9 please, au moins la partie ou on enregistre le mob dans la class principal et dans les proxy car j’ai trop d’erreur please
-
Inutile pour l’instant, Forge 1.9 n’est pas encore stable et surtout il n’est pas encore gelé.
Lex prévoit de réécrire tout le game registry, coder un mod 1.9 maintenant est de la perte de temps car une bonne partie des fonctions de Forge vont changer. -
prevu pour quand?
-
Aucune idée.
Le temps qu’il n’y a aura pas de version stable de forge pour 1.9 je ne compte pas me lancer dans les tuto 1.9. -
En 1.8, y a t-il des modifications? Si oui lesquels? Que je n’ai pas à l’embrouiller en suivant le tuto.
Merci d’avance! ^^ -
Non, il n’y a pas de changements à ma connaissance (sauf des entités comme le Minecart, mais pas sur ce qu’il y sur le tuto), donc tu peux faire une entité à partir de ce tuto.
-
Comment fait-on pour ajouter des sons à notre mob?
-
Regarde dans la classe Entity (ou EntityLivingBase, je sais plus), il y a plein de fonctions telles que getDeathSound(), Tu as juste à changer le return par ton son.
-
Tu peux être un tout petit peu plus explicite stp ^^?
Ma classe entity ressemble un peu à ça, et y’a aucun getDeathSound() dedans…package Entity; 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.world.World; public class Entityclass extends EntityMob { public Entityclass(World world) { super(world); } public void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(9D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(2D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(2D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(120D); } protected void applyEntityAI() { this.tasks.addTask(4, new EntityAIAttackOnCollide(this, EntityIronGolem.class, 1.0D, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityIronGolem.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityChicken.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPig.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityRabbit.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityCow.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityHorse.class, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityOcelot.class, true)); } }
D’ailleurs, aillant un model très spécial, quelqu’un sait ce que je dois mettre en dessous de super(world); pour que la taille soit correctement définie?
Au passage si vous voyez des erreurs dans le codage dîtes le moi -
Si tu fais Shift + click sur le “EntityMob”, tu arriveras dans la classe entity mob, si tu fais encore shift click sur “EntityCreature”, tu arriveras dans la classe entity creature, etc. Tu peux aussi voir les classes de Minecraft en allant dans la Package explorer d’eclipse, en allant dans “Referenced libraies” == > “Forge-la_version_que_tu_as” et tu as tous les packages de Minecraft, pour voir la classe Entity, tu vas dans le package “net.minecraft.entity” ==> classe “Entity”.
Pour la taille, “this.setSize(la_largueur, la_hauteur);” après le 'super(world);"
-
Et comment s’occupe t-on de la longueur?
-
C’est la même chose que la largeur (c’est un carré qui fait juste la hitbox).
-
Mais si mon mob fait 6 mètres de long pour 1 de large?
-
Avec le setSize tu ne peux pas, c’est forcément un carré autour de lui de la hauteur voulue
edit: Essaie de voir avec la boundingBox, à demander si ça peut te servir
-
boundingBox –> What is it ? ^^
-
@‘conquerorguepard’:
boundingBox –> What is it ? ^^
Boîte de collision….
-
Quelqu’un peut me rappeler la fonction pour agrandir ou diminuer la taille d’un mob svp :)?