Créer un mob basique
-
Je ne distribue pas mon skype. De toute façon je n’ai pas le temps pour faire du cas à cas sur skype. Essaye déjà de ton côté en regardant les classes des entités passives de Minecraft, si tu n’y arrive pas il y a une section support pour les moddeurs.
-
il suffit d’extends ton mob EntityAnimal
-
Bonjour à tous,
j’ai un petit problème avec mon mob: quand je démarre le jeu, il crash et le crash dit que c’est à cause de la classe principale

pouvais vous m’aider sil vous plait ?Class principale
:::package fr.leflodu62.divinstuff.common; import java.awt.Color; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import fr.leflodu62.divinstuff.proxy.CommonProxy; @Mod(modid = "divinstuff", name = "Divin Stuff", version = "1.0") public class DivinStuff { @Instance("DivinStuff") public static DivinStuff instance; @SidedProxy(clientSide = "fr.leflodu62.divinstuff.proxy.ClientProxy", serverSide = "fr.leflodu62.divinstuff.proxy.CommonProxy") public static CommonProxy proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { } @EventHandler public void init(FMLInitializationEvent event) { EntityRegistry.registerGlobalEntityID(EntityVarnMob.class, "mobVarn", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 128, 0).getRGB(), new Color(216, 216, 216).getRGB()); EntityRegistry.registerModEntity(EntityVarnMob.class, "mobVarn", 206, this.instance, 40, 1, true); proxy.registerRender(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } }:::
Class du mob :
:::package fr.leflodu62.divinstuff.common; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; import net.minecraft.world.World; public class EntityVarnMob extends EntityMob { public EntityVarnMob(World world) { super(world); } public void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(8D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(2D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.9D); } }:::
Class du render du mob:
:::package fr.leflodu62.divinstuff.common; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.util.ResourceLocation; public class RenderVarnMob extends RenderLiving { public final ResourceLocation texture = new ResourceLocation("dinvinstuff:textures/entity/mob_varn.png"); public RenderVarnMob(ModelBase par1ModelBase) { super(par1ModelBase, 0.5F); } protected ResourceLocation getEntityTexture(EntityLiving living) { return this.getMobVarnTexture((EntityVarnMob)living); } private ResourceLocation getMobVarnTexture(EntityVarnMob mobVarn) { return texture; } protected ResourceLocation getEntityTexture(Entity entity) { return this.getEntityTexture((EntityVarnMob)entity); } }:::
Et la class du ClientProxy:
:::
package fr.leflodu62.divinstuff.proxy; import cpw.mods.fml.client.registry.RenderingRegistry; import fr.leflodu62.divinstuff.common.EntityVarnMob; import fr.leflodu62.divinstuff.common.ModelVarnMob; import fr.leflodu62.divinstuff.common.RenderVarnMob; public class ClientProxy extends CommonProxy { @Override public void registerRender() { RenderingRegistry.registerEntityRenderingHandler(EntityVarnMob.class, new RenderVarnMob(new ModelVarnMob())); } }:::
Voilà, merci à tous ceux qui voudrais m’aider !
-
@Instance(“DivinStuff”)
devrait être :
@Instance(“divinstuff”)
À l’avenir quand ton jeu crash envoie le rapport de crash. -
@‘robin4002’:
@Instance(“DivinStuff”)
devrait être :
@Instance(“divinstuff”)
À l’avenir quand ton jeu crash envoie le rapport de crash.Merci beaucoup ! Vous êtes les meilleurs
Effectivement, la prochaine fois je mettrais le crash-report . -
Bonjour a tous.
J’ai suivie les 2 tuto(ecris et video) et j’ai toujour le même probleme :
mon mob a toujour la texture carré blanche.
Je vous donne mes classe : :shy:Ma classe Principale (partie concerné):
:::@EventHandler
public void init(FMLInitializationEvent event)
{
addEntity(EntityZombiMutant.class, “mobZombiMutant”, 420, 0, 0);
}public void addEntity(Class entityClass, String name, int id, int backgroundColor, int foregroundColor)
{
EntityRegistry.registerGlobalEntityID(entityClass, name, EntityRegistry.findGlobalUniqueEntityId(), backgroundColor, foregroundColor);
EntityRegistry.registerModEntity(entityClass, name, id, this, 40, 1, true);
}
:::Ma classe Entity :
:::
package fr.thm.ThemoderneEquipment.common;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.world.World;public class EntityZombiMutant extends EntityMob {
public EntityZombiMutant(World par1world)
{
super(par1world);
}
public void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80D);
this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10D);
this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(4D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.7999D);}
}:::
Ma classe Render :
:::
package fr.thm.ThemoderneEquipment.common;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;public class RenderZombiMutant extends RenderBiped
{
public final ResourceLocation texture = new ResourceLocation(ThemoderneEquipement.MODID, “textures/entity/mob_zombiemutant.png”);public RenderZombiMutant(ModelBiped par1ModelBiped)
{
super(par1ModelBiped, 0.5F);
}public ResourceLocation bindEntityTexture(EntityLiving mob)
{
return texture;
}protected ResourceLocation getMobTutorielTexture(EntityLiving entity)
{
return bindEntityTexture((EntityZombiMutant)entity);
}
}
:::Et mon Client Proxy :
:::package fr.thm.ThemoderneEquipment.common;
import net.minecraft.client.model.ModelBiped;
import cpw.mods.fml.client.registry.RenderingRegistry;
import fr.thm.ThemoderneEquipement.proxy.CommonProxy;public class ClientProxy extends CommonProxy
{
@Override
public void registerRender()
{
System.out.println(“méthode côté client”);
RenderingRegistry.registerEntityRenderingHandler(EntityZombiMutant.class, new RenderZombiMutant(new ModelBiped()));
}}
:::Merci de votre aide ^^

Et a la prochaine

-
Dans ta classe principale as-tu bien mit la fonction proxy.registerRender(); dans la fonction init ?
De plus :
public ResourceLocation bindEntityTexture(EntityLiving mob){
return texture;
}protected ResourceLocation getMobTutorielTexture(EntityLiving entity)
{
return bindEntityTexture((EntityZombiMutant)entity);
}
Devrait être :public ResourceLocation getEntityTexture(EntityLiving entity) { return getMobTutorielTexture((EntityZombiMutant)entity); } protected ResourceLocation getMobTutorielTexture(EntityZombiMutant entity) { return texture; } -
Merci Robin, j’ai rajouter :
proxy.registerRender(); dans ma fonction Init :
:::
@EventHandlerpublic void init(FMLInitializationEvent event)
{
proxy.registerRender();
addEntity(EntityZombiMutant.class, “mobZombiMutant”, 420, 0, 0);
}public void addEntity(Class entityClass, String name, int id, int backgroundColor, int foregroundColor)
{
EntityRegistry.registerGlobalEntityID(entityClass, name, EntityRegistry.findGlobalUniqueEntityId(), backgroundColor, foregroundColor);
EntityRegistry.registerModEntity(entityClass, name, id, this, 40, 1, true);
}
:::Mais j’ai toujour une erreur sur (entity de :return getMobTutorielTexture((EntityZombiMutant)entity); sur mon render :
:::
public ResourceLocation bindEntityTexture(EntityLiving mob){
return getMobTutorielTexture((EntityZombiMutant)entity);
}protected ResourceLocation getMobTutorielTexture(EntityZombiMutant entity)
{
return texture;
}
}
:::Ce qui me semble bizarre, j’ai donc ouvert Minecraft et il c’est allumer malgres l’erreur.
Il n’y avait même plus les carré blanc. Je ne voyais plus que leur l’ombre au sol.Merci encore Robin de ta reponse rapide :shy:
-
Themoderne -> apprends le java : la variable entity n’est pas définis car tu as mis comme nom mob en paramètre.
-
Ok Scarex, merci, met aurais tu un site qui explique assey bien le codage en java ?
Car c’est vrai sa serai interresant et sa annulerai les question un peu bete comme ma précédente. -
@‘Themoderne76133’:
Ok Scarex, merci, met aurais tu un site qui explique assey bien le codage en java ?
Car c’est vrai sa serai interresant et sa annulerai les question un peu bete comme ma précédente. -
Merci Scarex

-
C’est en partie de ma faute. J’ai modifié mon message.
-
peux ton réglé la “rareté” du mobs ? en gros si on veut voir un mobs plus présent que d’autres (exemple des serpents par rapport a des éléphants).
ou spécialisé leurs environnement, car un serpent en plein biome neige, c’est étrange.
-
çà se passe au niveau de l’enregistrement du spawn du mob, tu as mis quoi pour le faire spawner ?
-
rien encore, je demande juste car je vais m’y attaquer
-
j’ai mis mon mob extends d’ EntityAnimal mais depuis ce moment la , il traverse le sol , c’est normal ?
-
C’est très certainement juste un problème au niveau du rendu : les animaux sont rendus plus bas.
-
comment résoudre le problème ?
-
Affiche la hitbox et regarde si elle est trop bas. Si c’est pas le cas, le problème est au niveau du rendu.