Bonjour, très bon tuto"s" ! C’est peut être le seul qui marche sur tous ce que j’ai vu ^^
Cependant, je voudrais savoir comment serait-il possible de faire une animation sur block quand on clique dessus, un peu comme le coffre ?
Merci d’avance.
Bonjour a tous !
Je vais vous apprendre a faire une animation simple pour un mob.
Ce n’est pas un tutoriel pour faire un mob , donc si vous ne comprenez pas les codes , demandez de l’aide !
Les proxies
Les classe de votre mob
Pour faire court , je vous donnerai les miens , a savoir notre cher Liquid Ocelot :
Et la texture :
Liquid.java :
// Date: 20/07/2013 18:39:15 // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package mods.nono.MGSmod.client; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class Liquid extends ModelBase { //fields ModelRenderer head; ModelRenderer body; ModelRenderer rightarm; ModelRenderer leftarm; ModelRenderer rightleg; ModelRenderer leftleg; ModelRenderer HairA; ModelRenderer HairD; ModelRenderer HairG; public Liquid() { textureWidth = 128; textureHeight = 128; head = new ModelRenderer(this, 0, 0); head.addBox(-4F, -8F, -4F, 8, 8, 8); head.setRotationPoint(0F, 0F, 0F); head.setTextureSize(128, 128); head.mirror = true; setRotation(head, 0F, 0F, 0F); body = new ModelRenderer(this, 16, 16); body.addBox(-4F, 0F, -2F, 8, 12, 4); body.setRotationPoint(0F, 0F, 0F); body.setTextureSize(128, 128); body.mirror = true; setRotation(body, 0F, 0F, 0F); rightarm = new ModelRenderer(this, 40, 16); rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); rightarm.setRotationPoint(-5F, 2F, 0F); rightarm.setTextureSize(128, 128); rightarm.mirror = true; setRotation(rightarm, 0F, 0F, 0F); leftarm = new ModelRenderer(this, 40, 16); leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); leftarm.setRotationPoint(5F, 2F, 0F); leftarm.setTextureSize(128, 128); leftarm.mirror = true; setRotation(leftarm, 0F, 0F, 0F); rightleg = new ModelRenderer(this, 0, 16); rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); rightleg.setRotationPoint(-2F, 12F, 0F); rightleg.setTextureSize(128, 128); rightleg.mirror = true; setRotation(rightleg, 0F, 0F, 0F); leftleg = new ModelRenderer(this, 0, 16); leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); leftleg.setRotationPoint(2F, 12F, 0F); leftleg.setTextureSize(128, 128); leftleg.mirror = true; setRotation(leftleg, 0F, 0F, 0F); HairA = new ModelRenderer(this, 0, 38); HairA.addBox(-4F, 0F, 0F, 8, 8, 1); HairA.setRotationPoint(0F, -3F, 3F); HairA.setTextureSize(128, 128); HairA.mirror = true; setRotation(HairA, 0.2094395F, 0F, 0F); HairD = new ModelRenderer(this, 0, 65); HairD.addBox(0F, 0F, 0F, 1, 7, 1); HairD.setRotationPoint(3F, -1F, -3F); HairD.setTextureSize(128, 128); HairD.mirror = true; setRotation(HairD, 0F, 0F, 0F); HairG = new ModelRenderer(this, 0, 65); HairG.addBox(0F, 0F, 0F, 1, 7, 1); HairG.setRotationPoint(-4F, -1F, -3F); HairG.setTextureSize(128, 128); HairG.mirror = true; setRotation(HairG, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); head.render(f5); body.render(f5); rightarm.render(f5); leftarm.render(f5); rightleg.render(f5); leftleg.render(f5); HairA.render(f5); HairD.render(f5); HairG.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } }
LiquidRender.java
package mods.nono.MGSmod.client; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; public class LiquidRender extends RenderLiving { private Liquid LiquidRender = new Liquid(); public LiquidRender(Liquid LiquidRender, float par2) { super(new Liquid(), 0.5F); } }
LiquidMob.Java
package mods.nono.MGSmod.common; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.world.World; public class LiquidMob extends EntityMob { public LiquidMob(World par1World) { super(par1World); this.texture = "/mods/nono/MGSmod/textures/mob/Liquid.png"; this.moveSpeed = 0.15F; } public int getMaxHealth() { return 100; } public int getAttackStrength(Entity par1Entity) { return 10; } public EnumCreatureAttribute getCreatureAttribute() { return EnumCreatureAttribute.UNDEFINED; } }
A placer dans votre ClientProxy.java :
public void registerRenderEntity() { RenderingRegistry.registerEntityRenderingHandler(LiquidMob.class, new LiquidRender(new Liquid(), 0.5F)); }
Et dans votre classe principale , partie @Init :
EntityRegistry.registerGlobalEntityID(LiquidMob.class, "Liquid", EntityRegistry.findGlobalUniqueEntityId(), 74, 38); EntityRegistry.registerModEntity(LiquidMob.class, "Liquid", 6, this, 40, 1, true); LanguageRegistry.instance().addStringLocalization("entity.Liquid.name","Liquid Ocelot"); proxy.registerRenderEntity();
Vous pouvez tester , vous verrez que Liquid N’est pas animé , que c’est juste une planche.
Dans votre classe Liquid.Java , rendez vous à cette ligne :
Code (java):
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Puis ajoutez :
this.Membre.rotateAngleX
Ou Membre est à remplacer par le membre en question , ici on va le remplacer rightleg.
Vous pouvez changer X par Y ou par Z.
Ensuite , au bout de cette ligne , rajoutez :
= MathHelper.cos((180F / (float)Math.PI)) * -xF * f1;
Pour avoir une animation de balancement ( ? ) sinon :
= MathHelper.cos((180F / (float)y)) * -xF * f1;
Pour l’animation que d’un coté.
Remplacez X et Y par une valeur quelconque. ( pour X j’ai mis 3.8 )
Ensuite testez. Vous verrez que Liquid ne bouge qu’une seule jambe.
Refaites la même opération pour chacun des membres qui bougent !
Vous devriez avoir ça :
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1; this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1; this.rightarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1; this.leftarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
Testez. Vous verrez que le mouvement n’est pas naturel …
Enlevez tout simplement le - devant un membre inférieur ( les jambes ) et supérieur ( les bras ) :
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1; this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 3.8F * f1; this.rightarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 3.8F * f1; this.leftarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
Vous pouvez diminuer 3.8 ou l’augmenter si cela ne vous convient pas.
le tuto + le model + la texture sont de moi
Libre a vous de le mettre sur n’importe quel site , du moment que vous me citez.
Intéressant, je vais tester tout ça demain, j’ai pas trop le temps ce soir.
Très bon tutoriel. Moi qui ne comprenait pas trop le système d’animation.
Je valide.
Petit soucis : les liens d’images que tu fais sont 404. Penses à corriger cela.
Moi je les vois parfaitement ?
Essaie un autre hébergeur
Très bon tutoriel, malgré les images invisibles a nos yeux !
Idem. Le problème c’est que tu as utiliser les pièces jointes depuis minecraft-france, donc il faut être connecté sur minecraft-france pour les voir.
Réupload en pièce jointe ici ou sur un hébergeur comme imgur.
Bonjour, très bon tuto"s" ! C’est peut être le seul qui marche sur tous ce que j’ai vu ^^
Cependant, je voudrais savoir comment serait-il possible de faire une animation sur block quand on clique dessus, un peu comme le coffre ?
Merci d’avance.
http://www.minecraftforgefrance.fr/showthread.php?tid=375
(d’ailleurs tu me fais penser qu’il faut que je rédige la deuxième partie).
Merci, je l’ai trouvé entre temps J’ai une question encore, j’ai peut être pas trop cherché, mais sur ce forum, est-il possible de poster un topic concernant notre mod ?
@‘JackCarterSmith’:
Merci, je l’ai trouvé entre temps
J’ai une question encore, j’ai peut être pas trop cherché, mais sur ce forum, est-il possible de poster un topic concernant notre mod ?
Yo, sympa le tuto, mais est-ce normal que mon pied reste figé pendant la phase de déplacement et revienne a ça position initial après ce dernier ?
@‘UnknowOrigin’:
Yo, sympa le tuto, mais est-ce normal que mon pied reste figé pendant la phase de déplacement et revienne a ça position initial après ce dernier ?
tu as du te tromper a un endroit regarde bien ton code ^^.
Bonjour a tous j’ai suivie les étapes je pense comme il faut mais je n’arrive pas a faire bouger les ailes a mon mob (ailes droite et gauche) cela me torture pouvez vous me mettre sur la vois ?
public static class ModelDimorphodon extends ModelBase { ModelRenderer aile_gauche; ModelRenderer corps; ModelRenderer bras_sous_aile_droite; ModelRenderer bras_sous_aile_gauche; ModelRenderer cou; ModelRenderer tete; ModelRenderer queue; ModelRenderer queu; ModelRenderer jambe_droite; ModelRenderer jambe_gauche; ModelRenderer aile_droite; public ModelDimorphodon() { textureWidth = 64; textureHeight = 64; aile_gauche = new ModelRenderer(this, 1, 48); aile_gauche.addBox(0F, 0F, 0F, 12, 1, 7); aile_gauche.setRotationPoint(2F, 0F, 0F); aile_gauche.setTextureSize(64, 64); aile_gauche.mirror = true; setRotation(aile_gauche, 0F, 0F, 0F); corps = new ModelRenderer(this, 20, 35); corps.addBox(0F, 0F, 0F, 4, 4, 8); corps.setRotationPoint(-2F, -1F, 0F); corps.setTextureSize(64, 64); corps.mirror = true; setRotation(corps, 0F, 0F, 0F); bras_sous_aile_droite = new ModelRenderer(this, 41, 51); bras_sous_aile_droite.addBox(0F, 0F, 0F, 4, 1, 1); bras_sous_aile_droite.setRotationPoint(-6F, 1.1F, 3F); bras_sous_aile_droite.setTextureSize(64, 64); bras_sous_aile_droite.mirror = true; setRotation(bras_sous_aile_droite, 0F, 0F, 0F); bras_sous_aile_gauche = new ModelRenderer(this, 13, 59); bras_sous_aile_gauche.addBox(0F, 0F, 0F, 4, 1, 1); bras_sous_aile_gauche.setRotationPoint(2F, 1.1F, 3F); bras_sous_aile_gauche.setTextureSize(64, 64); bras_sous_aile_gauche.mirror = true; setRotation(bras_sous_aile_gauche, 0F, 0F, 0F); cou = new ModelRenderer(this, 26, 27); cou.addBox(0F, 0F, 0F, 2, 2, 4); cou.setRotationPoint(-1F, 0F, -4F); cou.setTextureSize(64, 64); cou.mirror = true; setRotation(cou, 0F, 0F, 0F); tete = new ModelRenderer(this, 24, 16); tete.addBox(0F, 0F, 0F, 3, 4, 5); tete.setRotationPoint(-1.5F, -1F, -9F); tete.setTextureSize(64, 64); tete.mirror = true; setRotation(tete, 0F, 0F, 0F); queue = new ModelRenderer(this, 35, 3); queue.addBox(0F, 0F, 0F, 3, 2, 3); queue.setRotationPoint(-1.5F, -1F, 8F); queue.setTextureSize(64, 64); queue.mirror = true; setRotation(queue, 0F, 0F, 0F); queu = new ModelRenderer(this, 16, 2); queu.addBox(0F, 0F, 0F, 1, 1, 7); queu.setRotationPoint(-0.5F, -1F, 11F); queu.setTextureSize(64, 64); queu.mirror = true; setRotation(queu, 0F, 0F, 0F); jambe_droite = new ModelRenderer(this, 43, 15); jambe_droite.addBox(0F, 0F, 0F, 1, 4, 1); jambe_droite.setRotationPoint(-2.3F, 3F, 5F); jambe_droite.setTextureSize(64, 64); jambe_droite.mirror = true; setRotation(jambe_droite, 1.047198F, -0.0174533F, 0F); jambe_gauche = new ModelRenderer(this, 17, 15); jambe_gauche.addBox(0F, 0F, 0F, 1, 4, 1); jambe_gauche.setRotationPoint(1.3F, 3F, 5F); jambe_gauche.setTextureSize(64, 64); jambe_gauche.mirror = true; setRotation(jambe_gauche, 1.047198F, 0F, 0F); aile_droite = new ModelRenderer(this, 25, 56); aile_droite.addBox(0F, 0F, 0F, 12, 1, 7); aile_droite.setRotationPoint(-14F, 0F, 0F); aile_droite.setTextureSize(64, 64); aile_droite.mirror = true; setRotation(aile_droite, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); aile_gauche.render(f5); corps.render(f5); bras_sous_aile_droite.render(f5); bras_sous_aile_gauche.render(f5); cou.render(f5); tete.render(f5); queue.render(f5); queu.render(f5); jambe_droite.render(f5); jambe_gauche.render(f5); aile_droite.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) { super.setRotationAngles(f, f1, f2, f3, f4, f5, e); } } }
Ca ne me semble pas compliquer pourtant il est bien écrit
- L’animation :
Dans votre classe Liquid.Java , rendez vous à cette ligne :
Code (java):
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Puis ajoutez :
Code Java : (Tout sélectionner)
this.Membre.rotateAngleXOu Membre est à remplacer par le membre en question , ici on va le remplacer rightleg.
Vous pouvez changer X par Y ou par Z.
Ensuite , au bout de cette ligne , rajoutez :
Code Java : (Tout sélectionner)
= MathHelper.cos((180F / (float)Math.PI)) * -xF * f1;Pour avoir une animation de balancement ( ? ) sinon :
Code Java : (Tout sélectionner)
= MathHelper.cos((180F / (float)y)) * -xF * f1;Pour l’animation que d’un coté.
Remplacez X et Y par une valeur quelconque. ( pour X j’ai mis 3.8 )
Ensuite testez. Vous verrez que Liquid ne bouge qu’une seule jambe.
Refaites la même opération pour chacun des membres qui bougent !
Vous devriez avoir ça :Code Java : (Tout sélectionner)
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
this.rightarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
this.leftarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;Testez. Vous verrez que le mouvement n’est pas naturel …
Enlevez tout simplement le - devant un membre inférieur ( les jambes ) et supérieur ( les bras ) :Code Java : (Tout sélectionner)
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 3.8F * f1;
this.rightarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 3.8F * f1;
this.leftarm.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
Vous pouvez diminuer 3.8 ou l’augmenter si cela ne vous convient pas.
Dans cette fonction
super.setRotationAngles(f, f1, f2, f3, f4, f5, e); } }
tu ajoute soit pour les déplacement de l’axe X: - this.LENOMDETONMEMBREQUIDOITBOUGER.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
ou pour un déplacement de l’axe Y : this.LENOMDETONMEMBREQUIDOITBOUGER.rotateAngleY = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
et un déplacement de l’axe Z : this.LENOMDETONMEMBREQUIDOITBOUGER.rotateAngleZ = MathHelper.cos((180F / (float)Math.PI)) * -3.8F * f1;
A toi ensuite de changer la valeur -3.8F par quelque chose qui te convient
Il me semble que la chauve souris c’est +1.0F quelque chose comme ca
–----------------------------------
N’hésite pas si je t’ai aider le petit bouton +/-
Désoler de Re déranger mais cela ne marche pas je dois vraiment être stupide voici ma class :
import cpw.mods.fml.client.*; import cpw.mods.fml.client.registry.*; import cpw.mods.fml.common.*; import cpw.mods.fml.common.asm.*; import cpw.mods.fml.common.asm.transformers.*; import cpw.mods.fml.common.discovery.*; import cpw.mods.fml.common.discovery.asm.*; import cpw.mods.fml.common.event.*; import cpw.mods.fml.common.functions.*; import cpw.mods.fml.common.network.*; import cpw.mods.fml.common.registry.*; import cpw.mods.fml.common.toposort.*; import cpw.mods.fml.common.versioning.*; import cpw.mods.fml.relauncher.*; import cpw.mods.fml.server.*; import net.minecraft.block.*; import net.minecraft.block.material.*; import net.minecraft.client.*; import net.minecraft.client.audio.*; import net.minecraft.client.entity.*; import net.minecraft.client.gui.*; import net.minecraft.client.gui.achievement.*; import net.minecraft.client.gui.inventory.*; import net.minecraft.client.model.*; import net.minecraft.client.multiplayer.*; import net.minecraft.client.particle.*; import net.minecraft.client.renderer.*; import net.minecraft.client.renderer.culling.*; import net.minecraft.client.renderer.entity.*; import net.minecraft.client.renderer.tileentity.*; import net.minecraft.client.settings.*; import net.minecraft.command.*; import net.minecraft.crash.*; import net.minecraft.creativetab.*; import net.minecraft.dispenser.*; import net.minecraft.enchantment.*; import net.minecraft.entity.*; import net.minecraft.entity.ai.*; import net.minecraft.entity.boss.*; import net.minecraft.entity.effect.*; import net.minecraft.entity.item.*; import net.minecraft.entity.monster.*; import net.minecraft.entity.passive.*; import net.minecraft.entity.player.*; import net.minecraft.entity.projectile.*; import net.minecraft.inventory.*; import net.minecraft.item.*; import net.minecraft.item.crafting.*; import net.minecraft.nbt.*; import net.minecraft.network.*; import net.minecraft.network.rcon.*; import net.minecraft.pathfinding.*; import net.minecraft.potion.*; import net.minecraft.profiler.*; import net.minecraft.server.*; import net.minecraft.server.dedicated.*; import net.minecraft.server.gui.*; import net.minecraft.server.integrated.*; import net.minecraft.server.management.*; import net.minecraft.src.*; import net.minecraft.stats.*; import net.minecraft.tileentity.*; import net.minecraft.util.*; import net.minecraft.village.*; import net.minecraft.world.*; import net.minecraft.world.biome.*; import net.minecraft.world.chunk.*; import net.minecraft.world.chunk.storage.*; import net.minecraft.world.demo.*; import net.minecraft.world.gen.*; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.layer.*; import net.minecraft.world.gen.structure.*; import net.minecraft.world.storage.*; import net.minecraftforge.classloading.*; import net.minecraftforge.client.*; import net.minecraftforge.client.event.*; import net.minecraftforge.client.event.sound.*; import net.minecraftforge.common.*; import net.minecraftforge.event.*; import net.minecraftforge.event.entity.*; import net.minecraftforge.event.entity.item.*; import net.minecraftforge.event.entity.living.*; import net.minecraftforge.event.entity.minecart.*; import net.minecraftforge.event.entity.player.*; import net.minecraftforge.event.terraingen.*; import net.minecraftforge.event.world.*; import net.minecraftforge.oredict.*; import net.minecraftforge.transformers.*; import net.minecraft.init.*; import java.util.Random; @SuppressWarnings("unchecked") public class mcreator_dimorphodon { public static int mobid = 0; public Object instance; public void load(){} public void generateNether(World world, Random random, int chunkX, int chunkZ){} public void generateSurface(World world, Random random, int chunkX, int chunkZ){} public int addFuel(ItemStack fuel){ return 0; } public void registerRenderers(){ RenderingRegistry.registerEntityRenderingHandler(mcreator_dimorphodon.Entitydimorphodon.class, new RenderLiving(new mcreator_dimorphodon.ModelDimorphodon(), 0){protected ResourceLocation getEntityTexture(Entity par1Entity){return new ResourceLocation("Dimorphodon texture.png");}}); } public void serverLoad(FMLServerStartingEvent event){} public void preInit(FMLPreInitializationEvent event){ int entityID = EntityRegistry.findGlobalUniqueEntityId(); mobid = entityID; EntityRegistry.registerGlobalEntityID(mcreator_dimorphodon.Entitydimorphodon.class, "dimorphodon", entityID); EntityRegistry.registerModEntity(mcreator_dimorphodon.Entitydimorphodon.class, "dimorphodon", entityID, instance, 64, 1, true); EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, (255 << 16) + (255 << 8) + 0, (255 << 16) + (51 << 8) + 51)); DungeonHooks.addDungeonMob("dimorphodon", 180); } /*public Entity spawnEntity(int var1, World var2, double var3, double var5, double var7) { if(var1==mobid) return new mcreator_dimorphodon.Entitydimorphodon(var2); else return null; }*/ public static class Entitydimorphodon extends EntityFlying { World world = null; public Entitydimorphodon(World var1) { super(var1); world = var1; experienceValue = 5; this.isImmuneToFire = false; addRandomArmor(); } protected void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(2.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D); if(this.getEntityAttribute(SharedMonsterAttributes.attackDamage)!=null)this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3D); } protected void addRandomArmor(){ } protected void dropRareDrop(int par1){ this.dropItem(Items.bone, 1); } public boolean isAIEnabled() { return false; } /** * Drop 0-2 items of this living's type */ protected void dropFewItems(boolean var1, int var2) { this.entityDropItem(new ItemStack(Items.feather), 0.0F); } /** * Returns the sound this mob makes while it's alive. */ protected String getLivingSound() { return ""; } /** * Returns the sound this mob makes when it is hurt. */ protected String getHurtSound() { return ""; } /** * Returns the sound this mob makes on death. */ protected String getDeathSound() { return ""; } public void onStruckByLightning(EntityLightningBolt entityLightningBolt){ int i = (int)this.posX; int j = (int)this.posY; int k = (int)this.posZ; } protected void fall(float l){ int i = (int)this.posX; int j = (int)this.posY; int k = (int)this.posZ; super.fall(l); } public void onCriticalHit(Entity entity) { int i = (int)this.posX; int j = (int)this.posY; int k = (int)this.posZ; } public void onKillEntity(EntityLiving entityLiving){ int i = (int)this.posX; int j = (int)this.posY; int k = (int)this.posZ; } public boolean interact(EntityPlayer entity){ int i = (int)this.posX; int j = (int)this.posY; int k = (int)this.posZ; return true; } public String getEntityName(){ return "dimorphodon"; } } // Date: 02/09/2014 12:59:32 // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX public static class ModelDimorphodon extends ModelBase { //fields ModelRenderer aile_gauche; ModelRenderer corps; ModelRenderer bras_sous_aile_droite; ModelRenderer bras_sous_aile_gauche; ModelRenderer cou; ModelRenderer tete; ModelRenderer queue; ModelRenderer queu; ModelRenderer jambe_droite; ModelRenderer jambe_gauche; ModelRenderer aile_droite; public ModelDimorphodon() { textureWidth = 64; textureHeight = 64; aile_gauche = new ModelRenderer(this, 1, 48); aile_gauche.addBox(0F, 0F, 0F, 12, 1, 7); aile_gauche.setRotationPoint(2F, 0F, 0F); aile_gauche.setTextureSize(64, 64); aile_gauche.mirror = true; setRotation(aile_gauche, 0F, 0F, 0F); corps = new ModelRenderer(this, 20, 35); corps.addBox(0F, 0F, 0F, 4, 4, 8); corps.setRotationPoint(-2F, -1F, 0F); corps.setTextureSize(64, 64); corps.mirror = true; setRotation(corps, 0F, 0F, 0F); bras_sous_aile_droite = new ModelRenderer(this, 41, 51); bras_sous_aile_droite.addBox(0F, 0F, 0F, 4, 1, 1); bras_sous_aile_droite.setRotationPoint(-6F, 1.1F, 3F); bras_sous_aile_droite.setTextureSize(64, 64); bras_sous_aile_droite.mirror = true; setRotation(bras_sous_aile_droite, 0F, 0F, 0F); bras_sous_aile_gauche = new ModelRenderer(this, 13, 59); bras_sous_aile_gauche.addBox(0F, 0F, 0F, 4, 1, 1); bras_sous_aile_gauche.setRotationPoint(2F, 1.1F, 3F); bras_sous_aile_gauche.setTextureSize(64, 64); bras_sous_aile_gauche.mirror = true; setRotation(bras_sous_aile_gauche, 0F, 0F, 0F); cou = new ModelRenderer(this, 26, 27); cou.addBox(0F, 0F, 0F, 2, 2, 4); cou.setRotationPoint(-1F, 0F, -4F); cou.setTextureSize(64, 64); cou.mirror = true; setRotation(cou, 0F, 0F, 0F); tete = new ModelRenderer(this, 24, 16); tete.addBox(0F, 0F, 0F, 3, 4, 5); tete.setRotationPoint(-1.5F, -1F, -9F); tete.setTextureSize(64, 64); tete.mirror = true; setRotation(tete, 0F, 0F, 0F); queue = new ModelRenderer(this, 35, 3); queue.addBox(0F, 0F, 0F, 3, 2, 3); queue.setRotationPoint(-1.5F, -1F, 8F); queue.setTextureSize(64, 64); queue.mirror = true; setRotation(queue, 0F, 0F, 0F); queu = new ModelRenderer(this, 16, 2); queu.addBox(0F, 0F, 0F, 1, 1, 7); queu.setRotationPoint(-0.5F, -1F, 11F); queu.setTextureSize(64, 64); queu.mirror = true; setRotation(queu, 0F, 0F, 0F); jambe_droite = new ModelRenderer(this, 43, 15); jambe_droite.addBox(0F, 0F, 0F, 1, 4, 1); jambe_droite.setRotationPoint(-2.3F, 3F, 5F); jambe_droite.setTextureSize(64, 64); jambe_droite.mirror = true; setRotation(jambe_droite, 1.047198F, -0.0174533F, 0F); jambe_gauche = new ModelRenderer(this, 17, 15); jambe_gauche.addBox(0F, 0F, 0F, 1, 4, 1); jambe_gauche.setRotationPoint(1.3F, 3F, 5F); jambe_gauche.setTextureSize(64, 64); jambe_gauche.mirror = true; setRotation(jambe_gauche, 1.047198F, 0F, 0F); aile_droite = new ModelRenderer(this, 25, 56); aile_droite.addBox(0F, 0F, 0F, 12, 1, 7); aile_droite.setRotationPoint(-14F, 0F, 0F); aile_droite.setTextureSize(64, 64); aile_droite.mirror = true; setRotation(aile_droite, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); aile_gauche.render(f5); corps.render(f5); bras_sous_aile_droite.render(f5); bras_sous_aile_gauche.render(f5); cou.render(f5); tete.render(f5); queue.render(f5); queu.render(f5); jambe_droite.render(f5); jambe_gauche.render(f5); aile_droite.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) { super.setRotationAngles(f, f1, f2, f3, f4, f5, e); this.aile_droite.rotateAngleY = MathHelper.cos((180F / (float)Math.PI)) * 0.5F * f1; this.aile_gauche.rotateAngleY = MathHelper.cos((180F / (float)Math.PI)) * 0.5F * f1; this.tete.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 0.5F * f1; this.tete.rotateAngleY = MathHelper.cos((180F / (float)Math.PI)) * 0.5F * f1; this.tete.rotateAngleZ = MathHelper.cos((180F / (float)Math.PI)) * 0.5F * f1; } } }
Les balises, les balises mon petit … Car la c’est du viol d’œil
Désoler je me suis prit un avertissement pour cela mais je ne sais pas comme le faire pouvait vous m’expliquer que cela n’arrive plus
C’est pas compliqué. Si tu veux mettre du code java, tu mets : [java ] code ici [/java] (pas d’étoile dans les balises bien sûr). Si c’est pour u code qui est autre que java (ex : crash report, JSON….), tu mets [code] code ici [/code] (toujours sans les étoiles :p).