Créer un mob basique
-
Se serait possible de changer sa taille ? plus grand / plus gros ou l’inverse ?
je pense que oui mais pas sur le pour basic.
pour changer la hitbox je sais sais: setSize -
Dans le render du mob, ajoute
protected void preRenderCallback(EntityLivingBase par1EntityLivingBase, float par2) { this.scaleMob((EntityMob)par1EntityLivingBase, par2); } protected void scaleMob(EntityMob par1Entitymob, float par2) { GL11.glScalef(0.775F, 0.775F, 0.775F); }
Modifie les valeur du glScalef
-
Merci UnknowOrigin pour cette réponse
je test de suite -
Pour que mon mob bouge très vite qu’elle est la valeur idéale du genre un speed 15 sur nous quand on marche ca équivaut a quoi ?
EDIT : A peut près hein , car quand je test avec des grandes valeurs rien ne fonctionne.
-
robin4002 aurais tu skype ou pourrais tu m’expliquer comment faire un mob passive ce mob j’aimerais que sa soit un “Deer” (chevreuil)
-
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 ?