Jump to content

Heltrato

Members
  • Posts

    261
  • Joined

  • Last visited

Posts posted by Heltrato

  1. Did i made right? i got an idea at your tip and this is what i made :)

     

     

    @Override
    public void onArmorTick(World world, EntityPlayer player, ItemStack itemstack) {
    	ItemStack food = player.getCurrentEquippedItem();
    	if(this != null && this == MHFCRegItem.mhfcitemtigrexhelm && this == MHFCRegItem.mhfcitemtigrexboots && this == MHFCRegItem.mhfcitemtigrexchest && this == MHFCRegItem.mhfcitemtigrexlegs){
    		if(food.getItem() instanceof ItemFood){
    
    		}
    	}
    }
    
    

     

    If it is one last Question how do i detect the itemfood maxduration because this armor makes u eat faster >.<

  2. Last Question : How do player detects if its holding an ItemFood.class?

     

    as of now i got this i havent test much but hopefully this might :)

     

     

    @Override
    public void onArmorTick(World world, EntityPlayer player, ItemStack itemstack) {
    	ItemStack boots = player.getCurrentArmor(0);
    	ItemStack legs = player.getCurrentArmor(1);
    	ItemStack chest = player.getCurrentArmor(2);
    	ItemStack helmet = player.getCurrentArmor(3);
    
    	int duration = 15;
    	if(boots != null && legs != null && chest != null && helmet != null)
    	{
    	if(boots.getItem() == MHFCRegItem.mhfcitemtigrexboots && legs.getItem() == MHFCRegItem.mhfcitemtigrexlegs &&
    	chest.getItem() == MHFCRegItem.mhfcitemtigrexchest && helmet.getItem() == MHFCRegItem.mhfcitemtigrexhelm)
    	{
    		if(player){
    
    		}
    	}
    	}
    }
    
    
    

  3. Hey i also got the same problem my mod uses Packets but this come in console

     

    
    Detected ongoing potential memory leak. 100 packets have leaked. Top offenders
    [23:26:19] [Client thread/ERROR]: 	 mhfc : 100
    [23:26:21] [server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2647ms behind, skipping 52 tick(s)
    [23:26:39] [Client thread/ERROR]: Detected ongoing potential memory leak. 200 packets have leaked. Top offenders
    [23:26:39] [Client thread/ERROR]: 	 mhfc : 200
    [23:26:52] [server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 14906ms behind, skipping 298 tick(s)
    [23:26:57] [server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2738ms behind, skipping 54 tick(s)
    [23:26:58] [Client thread/ERROR]: Detected ongoing potential memory leak. 300 packets have leaked. Top offenders
    [23:26:58] [Client thread/ERROR]: 	 mhfc : 300
    

     

     

  4. This happen when i run the client . Is there i did wrong ?

     

    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:746) [MinecraftServer$2.class:?]
    [23:33:33] [Netty Client IO #0/INFO]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.server.S00PacketKeepAlive
    [23:33:35] [Netty Client IO #0/INFO]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.server.S00PacketKeepAlive
    [23:33:37] [Netty Client IO #0/INFO]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.server.S00PacketKeepAlive
    [23:33:39] [Netty Client IO #0/INFO]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.server.S00PacketKeepAlive
    [23:33:41] [Netty Client IO #0/INFO]: Unexpected packet during modded negotiation - assuming vanilla or keepalives : net.minecraft.network.play.server.S00PacketKeepAlive
    
    

  5. Is not on spawning code actually sir but it happen when i did this

     

    
    public void onUpdate()	{
    	super.onUpdate();
    	if(showTail && getHealth() < 1500){
    		showTail = false;
                           setShowTail(true);
    
    
    	}
    	if(currentAttackID != 0)animTick++;
    }
    
     public void setShowTail(boolean flag){
    	 dataWatcher.updateObject(16, Byte.valueOf((byte)(flag ? 1 : 0)));
     }
         
     public boolean getShowTail(){
    	 return dataWatcher.getWatchableObjectByte(16) == 1;
     }
    
    

  6. Ohh Right !!

     

    Now the tigrex tail part remove works now a little hand here guys it seems that whenever i spawn another tigrex in world

    the previous tigrex that has the model cut will be moved to the newly spawned tigrex.

     

    
    public boolean showTail;
    
    public void onUpdate()	{
    	super.onUpdate();
    	if(showTail && this.getHealth() < 1500){
    		showTail = false;
    		setShowTail(true);
    	}
    	if(currentAttackID != 0)animTick++; // dont mind
    }
    
    My datawatcher
    
    public void setShowTail(boolean flag){
    	dataWatcher.updateObject(16, Byte.valueOf((byte)(flag ? 1 : 0)));
         }
         
         public boolean getShowTail(){
        	return dataWatcher.getWatchableObjectByte(16) == 1;
         }
    
    
    

  7. Im partly new with datawatchers ok . i dont usually done this since i mostly go to AI 's

     

    but what i think is that when i set the boolean of setShowTail into true the datawatcher will update the specific mob

     

    but i think i was wrong

     

    I manage to work the tail cut part but theres still a bug

     

    When i manage to spawn another tigrex after i did to the last tigrex the cut when through the other tigrex .

     

     

    Test Tigrex

    PymUbzb.png

     

    Spawned New Tigrex

     

    yEK6ujZ.png

     

     

     

     

    Heres my updated Entity

     

    
    public void onUpdate()	{
    	super.onUpdate();
    
    	if(showTail && this.getHealth() < 1500){
    		showTail = false;
    		setShowTail(true); // Either false or true this does do same or cause the tail bug
    	}
    	if(currentAttackID != 0)animTick++;
    }
    
     public void setShowTail(boolean flag){ <---- 
    
    		dataWatcher.updateObject(16, Byte.valueOf((byte)(flag ? 1 : 0)));
         }
         
         public boolean getShowTail(){
        	return dataWatcher.getWatchableObjectByte(16) == 1;
         }
    
    

  8. What do you mean look more closely ? Should i give more details

     

    What do you mean by if statement like when my showTail is set to true and it match the conditions it will go false  ? Maybe ill try that

     

    public boolean showTail() {
    	if(this.getMaxHealth() < 1500) {
    		return false;
    	}return true;
    }
    
    

     

    Still havent look on renderer yet but hopefully what i need is to specific only the current mob that match the conditions since then i spawn 2 tigrex at a time hit the one until its hp gone to 1500 and both of them loses its tail which is not right

  9. Ok ok im a messy coder ok so please dont be :)

    I just need to find out how to specify the mob so the only mob i hit and match its conditions will be cut the tail

     

    EntityTigrex.class

     

     

     

    package mhfc.net.common.entity.mob;
    
    import mhfc.net.MHFCMain;
    import mhfc.net.client.model.mob.ModelTigrex;
    import mhfc.net.common.ai.AITigrexAttack;
    import mhfc.net.common.ai.AITigrexBite;
    import mhfc.net.common.ai.AITigrexSpin;
    import mhfc.net.common.ai.AITigrexThrow;
    import mhfc.net.common.ai.AIWyvernAttackOnCollide;
    import mhfc.net.common.core.registry.MHFCRegItem;
    import mhfc.net.common.entity.type.EntityWyvern;
    import mhfc.net.common.implement.iMHFC;
    import mhfc.net.common.network.packet.PacketAITigrex;
    import net.minecraft.client.model.ModelRenderer;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.ai.EntityAIAttackOnCollide;
    import net.minecraft.entity.ai.EntityAIHurtByTarget;
    import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
    import net.minecraft.entity.ai.EntityAISwimming;
    import net.minecraft.entity.ai.EntityAIWander;
    import net.minecraft.entity.item.EntityItem;
    import net.minecraft.entity.monster.EntityMob;
    import net.minecraft.entity.passive.EntityHorse;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.nbt.NBTTagCompound;
    import net.minecraft.util.DamageSource;
    import net.minecraft.world.World;
    
    public class EntityTigrex extends EntityWyvern implements iMHFC{
    
    public int currentAttackID;
    public int animTick;
    public int deathTick;
    public int rageLevel;
    public int hungerLevel;
    public int randMove;
    
    
    
    public EntityTigrex(World par1World) {
    	super(par1World);
    	animTick = 0;
    	width = 6F;
    	height = 4F;
    	getNavigator().setBreakDoors(true);
    	getNavigator().setAvoidsWater(true);
    	tasks.addTask(0, new EntityAISwimming(this));
    	tasks.addTask(0, (new AITigrexAttack(this, 0.7f)));
    	tasks.addTask(1, (new AITigrexBite(this)));
    	tasks.addTask(1, (new AITigrexThrow(this)));
    	tasks.addTask(1, (new AITigrexSpin(this)));
    	tasks.addTask(3, (new EntityAIAttackOnCollide(this, 1.0D, false)));
    	tasks.addTask(4, (new EntityAIWander(this, 0.8F)));
    	targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
    	targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityHorse.class, 0, true));
    	targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
    	targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityMob.class, 0, true));
    //	tasks.addTask(1, (new AITigrexLeap(this)));// <-- Reworking for more combo
    	tasks.addTask(2, (new AIWyvernAttackOnCollide(this, EntityPlayer.class, 1f, false)).setMaxAttackTick(0));
     	tasks.addTask(2, (new AIWyvernAttackOnCollide(this, 1f, true)).setMaxAttackTick(0));
    
    
    
    
    
    }
    
    
    public int maxHealth(){
    	return 4500;
    }
    
    
    public void onLivingUpdate(){
    	super.onLivingUpdate();
    	if (this.rand.nextInt(200) == 0)
            {
                this.getRandMove();
            }
    	/*if(this.dimension != 0){
    		this.setDead();
    	}*/
    }
    
    public boolean showTail() {
    	if(this.getMaxHealth() < 1500) {
    		return false;
    	}return true;
    }
    
    
    
    public void onUpdate()	{
    	super.onUpdate();
    	if(currentAttackID != 0)animTick++;
    }
    
    
    public double maxSpeed(){
    	return 0.3D;
    }
    
    public double maxRange(){
    	return 35D;
    }
    
    private void getRandMove() {
    	randMove = 1;
    }
    
    public void applyEntityAttributes(){
    	super.applyEntityAttributes();
    
    	getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(1.5F);
    	getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(maxHealth());
    	getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(maxRange());
            getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(maxSpeed());
    }
    
    
    
    
    public void entityInit(){
       	 	super.entityInit();
       	 	dataWatcher.addObject(16, Byte.valueOf((byte)0));
       	 	dataWatcher.addObject(17, Byte.valueOf((byte)0));
    }
    
     public void setThrownBlock(boolean flag){
    	dataWatcher.updateObject(16, Byte.valueOf((byte)(flag ? 1 : 0)));
         }
         
         public boolean getThrownBlock(){
        	return dataWatcher.getWatchableObjectByte(16) == 1;
         }
    
    protected boolean isAIEnabled(){
    	return true;
    }
    
    public int getTotalArmorValue(){
    	return 7;
    }
    
    private void dropItemRand(Item index, int par1){
    	EntityItem var3 = new EntityItem(this.worldObj, posX + worldObj.rand.nextInt(5) - worldObj.rand.nextInt(5), posY + 1.0D, this.posZ + worldObj.rand.nextInt(5) - worldObj.rand.nextInt(5), new ItemStack(index, par1, 0));
        worldObj.spawnEntityInWorld(var3);
    }
        
    protected void dropFewItems(boolean par1, int par2)
        {
            int var4, i;
            for( var4 = 0; var4< 13; ++var4)
            {
            	dropItemRand(MHFCRegItem.MHFCItemTigrexScale, 2);
            }
            for (var4 = 0; var4 < 8; ++var4){
                dropItemRand(MHFCRegItem.MHFCItemTigrexShell, 1);
                dropItemRand(MHFCRegItem.mhfcitemtigrexfang, 1);
                dropItemRand(MHFCRegItem.mhfcitemtigrexclaw, 1);
            }
            for (var4 = 0; var4 < 1; ++var4){
                dropItemRand(MHFCRegItem.mhfcitemtigrextail, 2);
            }dropItemRand(MHFCRegItem.mhfcitemtigrexskullshell, 1);
        
        }
    
    
    protected void fall(float f1){
    }
    
    protected String getLivingSound(){
    	return "mhfc:tigrex.say";
    }
    
    protected String getHurtSound(){
    	return null;
    }
    public int getMaxSpawnedInChunk(){
    	return 1;
    }
    protected boolean canDespawn(){
    	return false;
    }
    
    protected String getDeathSound(){
    	return null;
    }
    
    public boolean attackEntityFrom(DamageSource source, float f){
         float dmg = f;
         Entity entity = source.getEntity();
        	 return super.attackEntityFrom(source, dmg);
         }
    
    public void attackEntityAtDistSq(EntityLivingBase living, float f){
            if(!worldObj.isRemote)
      	{
            if(currentAttackID == 0 && onGround && rand.nextInt(20) == 0){
            	sendAttackPacket(1);
        	}
            if(currentAttackID == 0 && f < 1.0F && rand.nextInt(100) == 0){
            	sendAttackPacket(3);
            }
            
          }
        }
    
    public boolean attackEntityAsMob(Entity entity){
        if(!worldObj.isRemote)
         {
        	
        	if(currentAttackID == 0 && rand.nextInt(4) == 0){
        		sendAttackPacket(3);
                }
        	if(currentAttackID == 0 && onGround){
        		sendAttackPacket(1);
            }
         }
        return true;
    }
    
    public void sendAttackPacket(int id){
    	if (MHFCMain.isEffectiveClient()) return;
    	this.currentAttackID = id;
    	MHFCMain.packetPipeline.sendToAll(new PacketAITigrex((byte) id, this));
        }
    
    public void setAnimID(int id){
    	currentAttackID = id;
    }
    
    public void setAnimTick(int tick){
    	animTick = tick;
    
    }
    
    
    public int getAnimID(){
    	return currentAttackID;
    }
    
    public int getAnimTick(){
    	return animTick;
    }
    
    /**
         * (abstract) Protected helper method to write subclass entity data to NBT.
         */
        public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
        {
            super.writeEntityToNBT(par1NBTTagCompound);
            par1NBTTagCompound.setShort("hunger", (short)hungerLevel);
        }
    
        /**
         * (abstract) Protected helper method to read subclass entity data from NBT.
         */
        public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
        {
            super.readEntityFromNBT(par1NBTTagCompound);
            this.hungerLevel = par1NBTTagCompound.getShort("hunger");
        }
        
    
    
    
    
    }
    
    
    

     

    This is the model

    package mhfc.net.client.model.mob;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    import mhfc.net.MHFCMain;
    import mhfc.net.client.model.MHFCAnimator;
    import mhfc.net.common.entity.mob.EntityTigrex;
    import mhfc.net.common.implement.iMHFC;
    import net.minecraft.client.model.ModelBase;
    import net.minecraft.client.model.ModelRenderer;
    import net.minecraft.entity.Entity;
    import net.minecraft.util.MathHelper;
    
    @SideOnly(Side.CLIENT)
    public class ModelTigrex extends ModelBase
    {
    protected float animTick;
    public static final float PI = 3.141593F;
    private MHFCAnimator animator;
        ModelRenderer LFrontMiddleFinger;
        ModelRenderer LFrontMiddleNail;
        ModelRenderer LFrontRightNail;
        ModelRenderer LFrontLeftNail;
        ModelRenderer LeftShoulder;
        ModelRenderer Body;
        ModelRenderer LFrontWingFlap;
        ModelRenderer LFrontWingBone;
        ModelRenderer Chest;
        ModelRenderer Neck;
        ModelRenderer Head;
        ModelRenderer Nose;
        ModelRenderer Face;
        ModelRenderer Mouth;
        ModelRenderer Stomach;
        ModelRenderer Waist;
        ModelRenderer LeftHint;
        ModelRenderer RightHint;
        ModelRenderer RUpperFrontCanine;
        ModelRenderer UpperFrontTeeth;
        ModelRenderer LUpperFrontCanine;
        ModelRenderer UpperRightTeeth;
        ModelRenderer UpperLeftTeeth;
        ModelRenderer LUpperBackCanine;
        ModelRenderer LeftLeg;
        ModelRenderer RightLeg;
        ModelRenderer Tail;
        ModelRenderer TailStun;
        ModelRenderer TailEnd;
        ModelRenderer MiddleTailSpike;
        ModelRenderer LBackSoleFoot;
        ModelRenderer RBackSoleFoot;
        ModelRenderer RightTailSpikeB;
        ModelRenderer LeftTailSpikeB;
        ModelRenderer RightLowerTeeth;
        ModelRenderer LeftLowerTeeth;
        ModelRenderer LowerTeeth;
        ModelRenderer LBackRightFinger;
        ModelRenderer LBackMiddleFinger;
        ModelRenderer LBackLeftFinger;
        ModelRenderer RBackRightFinger;
        ModelRenderer RBackMiddleFinger;
        ModelRenderer RBackLeftFinger;
        ModelRenderer RBackMiddleNail;
        ModelRenderer RBackLeftNail;
        ModelRenderer RBackRightNail;
        ModelRenderer LBackRightNail;
        ModelRenderer LBackLeftNail;
        ModelRenderer LBackMiddleNail;
        ModelRenderer RUpperBackCanine;
        ModelRenderer RightShoulder;
        ModelRenderer RFrontMiddleFinger;
        ModelRenderer RFrontMiddleNail;
        ModelRenderer RFrontRightNail;
        ModelRenderer RFrontLeftNail;
        ModelRenderer RFrontWingBone;
        ModelRenderer RFrontWingFlap;
        ModelRenderer RLowerFrontCanine;
        ModelRenderer LLowerFrontCanine;
        ModelRenderer LeftTailSpikeA;
        ModelRenderer RightTailSpikeA;
        ModelRenderer LeftEar;
        ModelRenderer RightEar;
        ModelRenderer LFrontFoot;
        ModelRenderer LFrontLeftFinger;
        ModelRenderer LFrontRightFinger;
        ModelRenderer LFrontSoleFeet;
        ModelRenderer LFrontLowerLeg;
        ModelRenderer LFrontLeg;
        ModelRenderer RFrontLeg;
        ModelRenderer RFrontLowerLeg;
        ModelRenderer RFrontFoot;
        ModelRenderer RFrontSoleFeet;
        ModelRenderer RFrontRightFinger;
        ModelRenderer RFrontLeftFinger;
      
      public ModelTigrex()
      {
      animator = new MHFCAnimator(this);
          textureWidth = 256;
          textureHeight = 256;
          animTick = 0.0F;
          LFrontMiddleFinger = new ModelRenderer(this, 102, 105);
          LFrontMiddleFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          LFrontMiddleFinger.setRotationPoint(0F, 2F, -5F);
          LFrontMiddleFinger.setTextureSize(256, 256);
          LFrontMiddleFinger.mirror = true;
          setRotation(LFrontMiddleFinger, 0F, 0F, 0F);
          LFrontMiddleNail = new ModelRenderer(this, 88, 113);
          LFrontMiddleNail.addBox(-0.5F, -1F, -2F, 1, 2, 3);
          LFrontMiddleNail.setRotationPoint(0F, 0F, -5F);
          LFrontMiddleNail.setTextureSize(256, 256);
          LFrontMiddleNail.mirror = true;
          setRotation(LFrontMiddleNail, 0F, 0F, 0F);
          LFrontRightNail = new ModelRenderer(this, 88, 113);
          LFrontRightNail.addBox(-0.5F, -1F, -2F, 1, 2, 3);
          LFrontRightNail.setRotationPoint(0F, 1F, -4F);
          LFrontRightNail.setTextureSize(256, 256);
          LFrontRightNail.mirror = true;
          setRotation(LFrontRightNail, 0F, 0F, 0F);
          LFrontLeftNail = new ModelRenderer(this, 88, 113);
          LFrontLeftNail.addBox(-0.5F, -1F, -3F, 1, 2, 3);
          LFrontLeftNail.setRotationPoint(0F, 0F, -4F);
          LFrontLeftNail.setTextureSize(256, 256);
          LFrontLeftNail.mirror = true;
          setRotation(LFrontLeftNail, 0F, -0F, 0F);
          LeftShoulder = new ModelRenderer(this, 88, 58);
          LeftShoulder.addBox(0F, -3.5F, -3.5F, 14, 8, 7);
          LeftShoulder.setRotationPoint(7F, 0.5F, -2F);
          LeftShoulder.setTextureSize(256, 256);
          LeftShoulder.mirror = true;
          setRotation(LeftShoulder, 0F, 0F, 0.5235988F);
          Body = new ModelRenderer(this, 0, 90);
          Body.addBox(-10F, -10F, -10F, 20, 20, 20);
          Body.setRotationPoint(1F, -1F, 0F);
          Body.setTextureSize(256, 256);
          Body.mirror = true;   
          setRotation(Body, -0.1919862F, 0F, 0F);
          LFrontWingFlap = new ModelRenderer(this, 88, 149);
          LFrontWingFlap.addBox(-0.5F, -6F, 0F, 1, 12, 26);
          LFrontWingFlap.setRotationPoint(11F, 1F, -1F);
          LFrontWingFlap.setTextureSize(256, 256);
          LFrontWingFlap.mirror = true;
          setRotation(LFrontWingFlap, 0.2617994F, 0F, -1.5F);
          LFrontWingBone = new ModelRenderer(this, 88, 118);
          LFrontWingBone.addBox(-1.5F, -1.5F, 0F, 3, 3, 28);
          LFrontWingBone.setRotationPoint(-0.5F, 7, 0F);
          LFrontWingBone.setTextureSize(256, 256);
          LFrontWingBone.mirror = true;
          setRotation(LFrontWingBone, 0F, 0F, 0F);
          Chest = new ModelRenderer(this, 0, 68);
          Chest.addBox(-7F, -8F, -6F, 14, 16, 6);
          Chest.setRotationPoint(0F, -0F, -9F);
          Chest.setTextureSize(256, 256);
          Chest.mirror = true;
          setRotation(Chest, -0F, 0F, 0F);
          Neck = new ModelRenderer(this, 0, 44);
          Neck.addBox(-5F, -6F, -12F, 8, 12, 12);
          Neck.setRotationPoint(1F, -0F, -5F);
          Neck.setTextureSize(256, 256);
          Neck.mirror = true;
          setRotation(Neck, 0.1F, 0F, 0F);
          Head = new ModelRenderer(this, 0, 0);
          Head.addBox(-4.5F, -4F, -14F, 9, 8, 14);
          Head.setRotationPoint(-1F, -3F, -11F);
          Head.setTextureSize(256, 256);
          Head.mirror = true;
          setRotation(Head, 0F, 0F, 0F);
          Nose = new ModelRenderer(this, 46, 9);
          Nose.addBox(-4F, -2F, -4F, 9, 4, 3);
          Nose.setRotationPoint(-0.5F, 2F, -13F);
          Nose.setTextureSize(256, 256);
          Nose.mirror = true;
          setRotation(Nose, 0F, 0F, 0F);
          Face = new ModelRenderer(this, 46, 0);
          Face.addBox(-4F, -2F, -4F, 9, 5, 4);
          Face.setRotationPoint(-0.5F, -0F, -12F);
          Face.setTextureSize(256, 256);
          Face.mirror = true;
          setRotation(Face, -0.6457718F, 0F, 0F);
          Mouth = new ModelRenderer(this, 0, 22);
          Mouth.addBox(-4.5F, -2.5F, -17F, 9, 5, 17);
          Mouth.setRotationPoint(-1F, 2F, -11F);
          Mouth.setTextureSize(256, 256);
          Mouth.mirror = true;
          setRotation(Mouth, 0.7235988F, 0F, 0F);
          Stomach = new ModelRenderer(this, 0, 130);
          Stomach.addBox(-8.5F, -8.5F, 0F, 17, 17, 24);
          Stomach.setRotationPoint(0.5F, 0F, 7F);
          Stomach.setTextureSize(256, 256);
          Stomach.mirror = true;
          setRotation(Stomach, 0F, 0F, 0F);
          Waist = new ModelRenderer(this, 0, 171);
          Waist.addBox(-7F, -6.5F, 0F, 14, 13, 13);
          Waist.setRotationPoint(0F, 0F, 19F);
          Waist.setTextureSize(256, 256);
          Waist.mirror = true;
          setRotation(Waist, 0.2F, 0F, 0F);
          LeftHint = new ModelRenderer(this, 134, 0);
          LeftHint.addBox(0F, -3F, -4F, 6, 11, ;
          LeftHint.setRotationPoint(7F, 2F, 17F);
          LeftHint.setTextureSize(256, 256);
          LeftHint.mirror = true;
          setRotation(LeftHint, -0.5F, 0F, 0F);
          RightHint = new ModelRenderer(this, 134, 0);
          RightHint.addBox(-6F, -3F, -4F, 6, 11, ;
          RightHint.setRotationPoint(-7F, 2F, 17F);
          RightHint.setTextureSize(256, 256);
          RightHint.mirror = true;
          setRotation(RightHint, -0.5F, 0F, 0F);
          RUpperFrontCanine = new ModelRenderer(this, 52, 34);
          RUpperFrontCanine.addBox(-0.5F, 0F, -0.5F, 1, 3, 1);
          RUpperFrontCanine.setRotationPoint(0.5F, 0F, -3F);
          RUpperFrontCanine.setTextureSize(256, 256);
          RUpperFrontCanine.mirror = true;
          setRotation(RUpperFrontCanine, 0.1396263F, 0F, 0F);
          UpperFrontTeeth = new ModelRenderer(this, 52, 30);
          UpperFrontTeeth.addBox(-4F, 0F, -1F, 8, 1, 1);
          UpperFrontTeeth.setRotationPoint(0.5F, 2F, -2.6F);
          UpperFrontTeeth.setTextureSize(256, 256);
          UpperFrontTeeth.mirror = true;
          setRotation(UpperFrontTeeth, 0F, 0F, 0F);
          LUpperFrontCanine = new ModelRenderer(this, 52, 34);
          LUpperFrontCanine.addBox(-0.5F, 0F, 0.5F, 1, 3, 1);
          LUpperFrontCanine.setRotationPoint(0.5F, 0.3F, -4F);
          LUpperFrontCanine.setTextureSize(256, 256);
          LUpperFrontCanine.mirror = true;
          setRotation(LUpperFrontCanine, 0.1396263F, 0F, 0F);
          UpperRightTeeth = new ModelRenderer(this, 52, 16);
          UpperRightTeeth.addBox(0F, 0F, -4F, 1, 1, 13);
          UpperRightTeeth.setRotationPoint(-4F, 2F, 0.4F);
          UpperRightTeeth.setTextureSize(256, 256);
          UpperRightTeeth.mirror = true;
          setRotation(UpperRightTeeth, 0F, 0F, 0F);
          UpperLeftTeeth = new ModelRenderer(this, 52, 16);
          UpperLeftTeeth.addBox(0F, 0F, -4F, 1, 1, 13);
          UpperLeftTeeth.setRotationPoint(4F, 2F, 0.4F);
          UpperLeftTeeth.setTextureSize(256, 256);
          UpperLeftTeeth.mirror = true;
          setRotation(UpperLeftTeeth, 0F, 0F, 0F);
          LUpperBackCanine = new ModelRenderer(this, 56, 34);
          LUpperBackCanine.addBox(-0.5F, 0F, -0.5F, 1, 2, 1);
          LUpperBackCanine.setRotationPoint(0.5F, 0F, -0.5F);
          LUpperBackCanine.setTextureSize(256, 256);
          LUpperBackCanine.mirror = true;
          setRotation(LUpperBackCanine, 0.1396263F, 0F, 0F);
          LeftLeg = new ModelRenderer(this, 134, 19);
          LeftLeg.addBox(-3F, 0F, -3F, 6, 14, 6);
          LeftLeg.setRotationPoint(3F, 7F, -0F);
          LeftLeg.setTextureSize(256, 256);
          LeftLeg.mirror = true;
          setRotation(LeftLeg, 1F, 0F, 0F);
          RightLeg = new ModelRenderer(this, 134, 19);
          RightLeg.addBox(-3F, 0F, -3F, 6, 14, 6);
          RightLeg.setRotationPoint(-3F, 7F, -0F);
          RightLeg.setTextureSize(256, 256);
          RightLeg.mirror = true;
          setRotation(RightLeg, 1F, 0F, 0F);
          Tail = new ModelRenderer(this, 0, 197);
          Tail.addBox(-5F, -4.5F, 0F, 10, 9, 33);
          Tail.setRotationPoint(-0.5F, 0F, 10F);
          Tail.setTextureSize(256, 256);
          Tail.mirror = true;
          setRotation(Tail, -0F, 0F, 0F);
          TailStun = new ModelRenderer(this, 88, 0);
          TailStun.addBox(-5.5F, -5F, 0F, 11, 10, 12);
          TailStun.setRotationPoint(-0F, -0F, 18F);
          TailStun.setTextureSize(256, 256);
          TailStun.mirror = true;
          setRotation(TailStun, 0F, 0F, 0F);
          TailEnd = new ModelRenderer(this, 88, 22);
          TailEnd.addBox(-3.5F, -3F, 0F, 7, 6, 6);
          TailEnd.setRotationPoint(0F, 0F, 10F);
          TailEnd.setTextureSize(256, 256);
          TailEnd.mirror = true;
          setRotation(TailEnd, 0F, 0F, 0F);
          MiddleTailSpike = new ModelRenderer(this, 88, 45);
          MiddleTailSpike.addBox(-1.5F, -1.5F, 0F, 3, 3, 10);
          MiddleTailSpike.setRotationPoint(0F, 0F, 5F);
          MiddleTailSpike.setTextureSize(256, 256);
          MiddleTailSpike.mirror = true;
          setRotation(MiddleTailSpike, -0.0872665F, 0F, 0F);
          LBackSoleFoot = new ModelRenderer(this, 134, 39);
          LBackSoleFoot.addBox(-3F, 0F, -7F, 6, 4, 9);
          LBackSoleFoot.setRotationPoint(-0.2F, 12F, 1.3F);
          LBackSoleFoot.setTextureSize(256, 256);
          LBackSoleFoot.mirror = true;
          setRotation(LBackSoleFoot, -0.3F, 0F, 0F);
          RBackSoleFoot = new ModelRenderer(this, 134, 39);
          RBackSoleFoot.addBox(-3F, 0F, -7F, 6, 4, 9);
          RBackSoleFoot.setRotationPoint(0.2F, 12F, 1.3F);
          RBackSoleFoot.setTextureSize(256, 256);
          RBackSoleFoot.mirror = true;
          setRotation(RBackSoleFoot, -0.3F, 0F, 0F);
          RightTailSpikeB = new ModelRenderer(this, 88, 34);
          RightTailSpikeB.addBox(-1.5F, -1.5F, 0F, 3, 3, ;
          RightTailSpikeB.setRotationPoint(-4F, 0F, 3F);
          RightTailSpikeB.setTextureSize(256, 256);
          RightTailSpikeB.mirror = true;
          setRotation(RightTailSpikeB, -0.0872665F, -0.4363323F, 0F);
          LeftTailSpikeB = new ModelRenderer(this, 88, 34);
          LeftTailSpikeB.addBox(-1.5F, -1.5F, 0F, 3, 3, ;
          LeftTailSpikeB.setRotationPoint(4F, 0F, 3F);
          LeftTailSpikeB.setTextureSize(256, 256);
          LeftTailSpikeB.mirror = true;
          setRotation(LeftTailSpikeB, -0.0872665F, 0.4363323F, 0F);
          RightLowerTeeth = new ModelRenderer(this, 52, 16);
          RightLowerTeeth.addBox(0.5F, 0F, -4F, 1, 1, 13);
          RightLowerTeeth.setRotationPoint(-3.9F, -3F, -11F);
          RightLowerTeeth.setTextureSize(256, 256);
          RightLowerTeeth.mirror = true;
          setRotation(RightLowerTeeth, 0F, 0F, 0F);
          LeftLowerTeeth = new ModelRenderer(this, 52, 16);
          LeftLowerTeeth.addBox(0.5F, 0F, -4F, 1, 1, 13);
          LeftLowerTeeth.setRotationPoint(2.1F, -3F, -11F);
          LeftLowerTeeth.setTextureSize(256, 256);
          LeftLowerTeeth.mirror = true;
          setRotation(LeftLowerTeeth, 0F, 0F, 0F);
          LowerTeeth = new ModelRenderer(this, 52, 32);
          LowerTeeth.addBox(-4F, -1F, 0F, 7, 1, 1);
          LowerTeeth.setRotationPoint(0.6F, -2F, -15F);
          LowerTeeth.setTextureSize(256, 256);
          LowerTeeth.mirror = true;
          setRotation(LowerTeeth, 1.5F, -0.0058178F, 0F);
          LBackRightFinger = new ModelRenderer(this, 102, 105);
          LBackRightFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          LBackRightFinger.setRotationPoint(-2F, 2F, -6F);
          LBackRightFinger.setTextureSize(256, 256);
          LBackRightFinger.mirror = true;
          setRotation(LBackRightFinger, 0F, 0.5F, 0F);
          LBackMiddleFinger = new ModelRenderer(this, 102, 105);
          LBackMiddleFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          LBackMiddleFinger.setRotationPoint(0F, 2F, -5F);
          LBackMiddleFinger.setTextureSize(256, 256);
          LBackMiddleFinger.mirror = true;
          setRotation(LBackMiddleFinger, 0F, 0F, 0F);
          LBackLeftFinger = new ModelRenderer(this, 102, 105);
          LBackLeftFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          LBackLeftFinger.setRotationPoint(2F, 2F, -6F);
          LBackLeftFinger.setTextureSize(256, 256);
          LBackLeftFinger.mirror = true;
          setRotation(LBackLeftFinger, 0F, -0.5F, 0F);
          RBackRightFinger = new ModelRenderer(this, 102, 105);
          RBackRightFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          RBackRightFinger.setRotationPoint(-2F, 2F, -6F);
          RBackRightFinger.setTextureSize(256, 256);
          RBackRightFinger.mirror = true;
          setRotation(RBackRightFinger, 0F, 0.5F, 0F);
          RBackMiddleFinger = new ModelRenderer(this, 102, 105);
          RBackMiddleFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          RBackMiddleFinger.setRotationPoint(0F, 2F, -5F);
          RBackMiddleFinger.setTextureSize(256, 256);
          RBackMiddleFinger.mirror = true;
          setRotation(RBackMiddleFinger, 0F, 0F, 0F);
          RBackLeftFinger = new ModelRenderer(this, 102, 105);
          RBackLeftFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          RBackLeftFinger.setRotationPoint(0F, 2F, -4F);
          RBackLeftFinger.setTextureSize(256, 256);
          RBackLeftFinger.mirror = true;
          setRotation(RBackLeftFinger, 0F, -.5F, 0F);
          RBackMiddleNail = new ModelRenderer(this, 102, 113);
          RBackMiddleNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          RBackMiddleNail.setRotationPoint(0F, 0F, -4F);
          RBackMiddleNail.setTextureSize(256, 256);
          RBackMiddleNail.mirror = true;
          setRotation(RBackMiddleNail, 0F, 0F, 0F);
          RBackLeftNail = new ModelRenderer(this, 102, 113);
          RBackLeftNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          RBackLeftNail.setRotationPoint(0F, 0F, -4F);
          RBackLeftNail.setTextureSize(256, 256);
          RBackLeftNail.mirror = true;
          setRotation(RBackLeftNail, 0F, -0F, 0F);
          RBackRightNail = new ModelRenderer(this, 102, 113);
          RBackRightNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          RBackRightNail.setRotationPoint(0F, 0F, -4F);
          RBackRightNail.setTextureSize(256, 256);
          RBackRightNail.mirror = true;
          setRotation(RBackRightNail, 0F, 0F, 0F);
          LBackRightNail = new ModelRenderer(this, 102, 113);
          LBackRightNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          LBackRightNail.setRotationPoint(0F, 0F, -4F);
          LBackRightNail.setTextureSize(256, 256);
          LBackRightNail.mirror = true;
          setRotation(LBackRightNail, 0F, 0F, 0F);
          LBackLeftNail = new ModelRenderer(this, 102, 113);
          LBackLeftNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          LBackLeftNail.setRotationPoint(0F, 0F, -4F);
          LBackLeftNail.setTextureSize(256, 256);
          LBackLeftNail.mirror = true;
          setRotation(LBackLeftNail, 0F, -0F, 0F);
          LBackMiddleNail = new ModelRenderer(this, 102, 113);
          LBackMiddleNail.addBox(-0.5F, -1F, -2F, 1, 2, 2);
          LBackMiddleNail.setRotationPoint(0F, 0F, -4F);
          LBackMiddleNail.setTextureSize(256, 256);
          LBackMiddleNail.mirror = true;
          setRotation(LBackMiddleNail, 0F, 0F, 0F);
          RUpperBackCanine = new ModelRenderer(this, 56, 34);
          RUpperBackCanine.addBox(-0.5F, 0F, -0.5F, 1, 2, 1);
          RUpperBackCanine.setRotationPoint(0.5F, 0F, -0.5F);
          RUpperBackCanine.setTextureSize(256, 256);
          RUpperBackCanine.mirror = true;
          setRotation(RUpperBackCanine, 0.1396263F, 0F, 0F);
          RightShoulder = new ModelRenderer(this, 88, 58);
          RightShoulder.addBox(-14F, -3.5F, -3.5F, 14, 8, 7);
          RightShoulder.setRotationPoint(-6F, -1.5F, -2F);
          RightShoulder.setTextureSize(256, 256);
          RightShoulder.mirror = true;
          setRotation(RightShoulder, 0F, 0F, -0.5235988F);
          RFrontMiddleFinger = new ModelRenderer(this, 102, 105);
          RFrontMiddleFinger.addBox(-1F, -1F, -4F, 2, 3, 4);
          RFrontMiddleFinger.setRotationPoint(0F, 2F, -5F);
          RFrontMiddleFinger.setTextureSize(256, 256);
          RFrontMiddleFinger.mirror = true;
          setRotation(RFrontMiddleFinger, 0F, 0F, 0F);
          RFrontMiddleNail = new ModelRenderer(this, 88, 113);
          RFrontMiddleNail.addBox(-0.5F, -1F, -2F, 1, 2, 3);
          RFrontMiddleNail.setRotationPoint(0F, 0F, -5F);
          RFrontMiddleNail.setTextureSize(256, 256);
          RFrontMiddleNail.mirror = true;
          setRotation(RFrontMiddleNail, 0F, 0F, 0F);
          RFrontRightNail = new ModelRenderer(this, 88, 113);
          RFrontRightNail.addBox(-0.5F, -1F, -2F, 1, 2, 3);
          RFrontRightNail.setRotationPoint(0F, 0F, -4F);
          RFrontRightNail.setTextureSize(256, 256);
          RFrontRightNail.mirror = true;
          setRotation(RFrontRightNail, 0F, 0F, 0F);
          RFrontLeftNail = new ModelRenderer(this, 88, 113);
          RFrontLeftNail.addBox(-0.5F, -1F, -3F, 1, 2, 3);
          RFrontLeftNail.setRotationPoint(0F, 0F, -4F);
          RFrontLeftNail.setTextureSize(256, 256);
          RFrontLeftNail.mirror = true;
          setRotation(RFrontLeftNail, 0F, 0F, 0F);
          RFrontWingBone = new ModelRenderer(this, 88, 118);
          RFrontWingBone.addBox(-1.5F, -1.5F, 0F, 3, 3, 28);
          RFrontWingBone.setRotationPoint(0.5F, 7, 0F);
          RFrontWingBone.setTextureSize(256, 256);
          RFrontWingBone.mirror = true;
          setRotation(RFrontWingBone, 0F, 0F, 0F);
          RFrontWingFlap = new ModelRenderer(this, 88, 149);
          RFrontWingFlap.addBox(-0.5F, -6F, 0F, 1, 12, 26);
          RFrontWingFlap.setRotationPoint(-11F, 1F, -1F);
          RFrontWingFlap.setTextureSize(256, 256);
          RFrontWingFlap.mirror = true;
          setRotation(RFrontWingFlap, 0.2617994F, 0F, 1.5F);
          RLowerFrontCanine = new ModelRenderer(this, 52, 34);
          RLowerFrontCanine.addBox(-0.5F, -2F, -0.5F, 1, 2, 1);
          RLowerFrontCanine.setRotationPoint(1F, 0F, -4F);
          RLowerFrontCanine.setTextureSize(256, 256);
          RLowerFrontCanine.mirror = true;
          setRotation(RLowerFrontCanine, -0.0349066F, 0F, 0F);
          LLowerFrontCanine = new ModelRenderer(this, 52, 34);
          LLowerFrontCanine.addBox(-0.5F, -2F, -0.5F, 1, 3, 1);
          LLowerFrontCanine.setRotationPoint(1F, 0F, -4F);
          LLowerFrontCanine.setTextureSize(256, 256);
          LLowerFrontCanine.mirror = true;
          setRotation(LLowerFrontCanine, -0.0349066F, 0F, 0F);
          LeftTailSpikeA = new ModelRenderer(this, 88, 34);
          LeftTailSpikeA.addBox(-1.5F, -1.5F, 0F, 3, 3, ;
          LeftTailSpikeA.setRotationPoint(4F, 0F, 5F);
          LeftTailSpikeA.setTextureSize(256, 256);
          LeftTailSpikeA.mirror = true;
          setRotation(LeftTailSpikeA, -0.0872665F, 0.6108652F, 0F);
          RightTailSpikeA = new ModelRenderer(this, 88, 34);
          RightTailSpikeA.addBox(-1.5F, -1.5F, 0F, 3, 3, ;
          RightTailSpikeA.setRotationPoint(-4F, 0F, 5F);
          RightTailSpikeA.setTextureSize(256, 256);
          RightTailSpikeA.mirror = true;
          setRotation(RightTailSpikeA, -0.0872665F, -0.6108652F, 0F);
          LeftEar = new ModelRenderer(this, 72, 0);
          LeftEar.addBox(-0.5F, -1F, 0F, 1, 3, 7);
          LeftEar.setRotationPoint(3F, -3F, -2F);
          LeftEar.setTextureSize(256, 256);
          LeftEar.mirror = true;
          setRotation(LeftEar, 0.3490659F, 0.3490659F, 0F);
          RightEar = new ModelRenderer(this, 72, 0);
          RightEar.addBox(-0.5F, -1F, 0F, 1, 3, 7);
          RightEar.setRotationPoint(-3F, -3F, -2F);
          RightEar.setTextureSize(256, 256);
          RightEar.mirror = true;
          setRotation(RightEar, 0.3490659F, -0.3490659F, 0F);
          LFrontFoot = new ModelRenderer(this, 116, 95);
          LFrontFoot.addBox(-3F, 0F, -5F, 7, 3, ;
          LFrontFoot.setRotationPoint(-0.5F, 1F, 1F);
          LFrontFoot.setTextureSize(256, 256);
          LFrontFoot.mirror = true;
          setRotation(LFrontFoot, 0F, 0F, 0F);
          LFrontLeftFinger = new ModelRenderer(this, 88, 105);
          LFrontLeftFinger.addBox(-1F, -1.5F, -5F, 2, 3, 5);
          LFrontLeftFinger.setRotationPoint(2F, 2F, -4F);
          LFrontLeftFinger.setTextureSize(256, 256);
          LFrontLeftFinger.mirror = true;
          setRotation(LFrontLeftFinger, 0F, -0.5F, 0F);
          LFrontRightFinger = new ModelRenderer(this, 88, 105);
          LFrontRightFinger.addBox(-1F, -1F, -5F, 2, 3, 5);
          LFrontRightFinger.setRotationPoint(-2F, 2F, -4F);
          LFrontRightFinger.setTextureSize(256, 256);
          LFrontRightFinger.mirror = true;
          setRotation(LFrontRightFinger, 0F, 0.5F, 0F);
          LFrontSoleFeet = new ModelRenderer(this, 88, 95);
          LFrontSoleFeet.addBox(-3F, 0F, -5F, 6, 2, ;
          LFrontSoleFeet.setRotationPoint(-0.2F, 6F, -0F);
          LFrontSoleFeet.setTextureSize(256, 256);
          LFrontSoleFeet.mirror = true;
          setRotation(LFrontSoleFeet, 0F, 0F, 0F);
          LFrontLowerLeg = new ModelRenderer(this, 88, 84);
          LFrontLowerLeg.addBox(-2.5F, 0F, -2.5F, 5, 6, 5);
          LFrontLowerLeg.setRotationPoint(14F, -0F, -0F);
          LFrontLowerLeg.setTextureSize(256, 256);
          LFrontLowerLeg.mirror = true;
          setRotation(LFrontLowerLeg, 0F, 0F, -1F);
          LFrontLeg = new ModelRenderer(this, 88, 73);
          LFrontLeg.addBox(0F, -2.5F, -2.5F, 15, 6, 5);
          LFrontLeg.setRotationPoint(11F, -1F, -0F);
          LFrontLeg.setTextureSize(256, 256);
          LFrontLeg.mirror = true;
          setRotation(LFrontLeg, 0F, 0F, 0.5F);
          RFrontLeg = new ModelRenderer(this, 88, 73);
          RFrontLeg.addBox(-15F, -2.5F, -2.5F, 15, 6, 5);
          RFrontLeg.setRotationPoint(-11F, -1F, -0F);
          RFrontLeg.setTextureSize(256, 256);
          RFrontLeg.mirror = true;
          setRotation(RFrontLeg, 0F, 0F, -0.5F);
          RFrontLowerLeg = new ModelRenderer(this, 88, 84);
          RFrontLowerLeg.addBox(-2.5F, 0F, -2.5F, 5, 6, 5);
          RFrontLowerLeg.setRotationPoint(-14F, 0.5F, -0F);
          RFrontLowerLeg.setTextureSize(256, 256);
          RFrontLowerLeg.mirror = true;
          setRotation(RFrontLowerLeg, 0F, 0F, 1F);
          RFrontFoot = new ModelRenderer(this, 116, 95);
          RFrontFoot.addBox(-3F, 0F, -5F, 7, 3, ;
          RFrontFoot.setRotationPoint(-0.5F, 1F, 1F);
          RFrontFoot.setTextureSize(256, 256);
          RFrontFoot.mirror = true;
          setRotation(RFrontFoot, 0F, 0F, 0F);
          RFrontSoleFeet = new ModelRenderer(this, 88, 95);
          RFrontSoleFeet.addBox(-3F, 0F, -5F, 6, 2, ;
          RFrontSoleFeet.setRotationPoint(0.2F, 6F, -0F);
          RFrontSoleFeet.setTextureSize(256, 256);
          RFrontSoleFeet.mirror = true;
          setRotation(RFrontSoleFeet, 0F, 0F, 0F);
          RFrontRightFinger = new ModelRenderer(this, 88, 105);
          RFrontRightFinger.addBox(-1F, -1F, -5F, 2, 3, 5);
          RFrontRightFinger.setRotationPoint(-2F, 2F, -4F);
          RFrontRightFinger.setTextureSize(256, 256);
          RFrontRightFinger.mirror = true;
          setRotation(RFrontRightFinger, 0F, 0.5F, 0F);
          RFrontLeftFinger = new ModelRenderer(this, 88, 105);
          RFrontLeftFinger.addBox(-1F, -1F, -5F, 2, 3, 5);
          RFrontLeftFinger.setRotationPoint(2F, 2F, -4F);
          RFrontLeftFinger.setTextureSize(256, 256);
          RFrontLeftFinger.mirror = true;
          setRotation(RFrontLeftFinger, 0F, -0.5F, 0F);
          
         /** Parts Adding Child 
          * DN: addChild<? = .<modelVar>
          */
          
          //Body
          Body.addChild(Chest);
          Body.addChild(Stomach);
          Chest.addChild(Neck);
          Stomach.addChild(Waist);
          
          //Arms & Legs
          Body.addChild(LeftShoulder);
          Body.addChild(RightShoulder);
          
          //Left and Right Part Leggings
          LeftShoulder.addChild(LFrontLeg);
          LFrontLeg.addChild(LFrontLowerLeg);
          LFrontLowerLeg.addChild(LFrontSoleFeet);
          LFrontSoleFeet.addChild(LFrontFoot);
          LFrontLeg.addChild(LFrontWingFlap);
          LFrontWingFlap.addChild(LFrontWingBone);
          LFrontFoot.addChild(LFrontLeftFinger);
          LFrontLeftFinger.addChild(LFrontLeftNail);
          LFrontFoot.addChild(LFrontMiddleFinger);
          LFrontMiddleFinger.addChild(LFrontMiddleNail);
          LFrontFoot.addChild(LFrontRightFinger);
          LFrontRightFinger.addChild(LFrontRightNail);
          
          RightShoulder.addChild(RFrontLeg);
          RFrontLeg.addChild(RFrontLowerLeg);
          RFrontLowerLeg.addChild(RFrontSoleFeet);
          RFrontSoleFeet.addChild(RFrontFoot);
          RFrontLeg.addChild(RFrontWingFlap);
          RFrontWingFlap.addChild(RFrontWingBone);
          RFrontFoot.addChild(RFrontLeftFinger);
          RFrontFoot.addChild(RFrontMiddleFinger);
          RFrontFoot.addChild(RFrontRightFinger);
          RFrontLeftFinger.addChild(RFrontLeftNail);
          RFrontMiddleFinger.addChild(RFrontMiddleNail);
          RFrontRightFinger.addChild(RFrontRightNail);
          
          //Feet Fart
          
          Stomach.addChild(LeftHint);
          Stomach.addChild(RightHint);
          RightHint.addChild(RightLeg);
          RightLeg.addChild(RBackSoleFoot);
          RBackSoleFoot.addChild(RBackLeftFinger);
          RBackSoleFoot.addChild(RBackMiddleFinger);
          RBackSoleFoot.addChild(RBackRightFinger);
          RBackLeftFinger.addChild(RBackLeftNail);
          RBackMiddleFinger.addChild(RBackMiddleNail);
          RBackRightFinger.addChild(RBackRightNail);
          LeftHint.addChild(LeftLeg);
          LeftLeg.addChild(LBackSoleFoot);
          LBackSoleFoot.addChild(LBackLeftFinger);
          LBackSoleFoot.addChild(LBackMiddleFinger);
          LBackSoleFoot.addChild(LBackRightFinger);
          LBackLeftFinger.addChild(LBackLeftNail);
          LBackMiddleFinger.addChild(LBackMiddleNail);
          LBackRightFinger.addChild(LBackRightNail);
          //Tail
          Waist.addChild(Tail);
          Tail.addChild(TailStun);
          TailStun.addChild(TailEnd);
          TailEnd.addChild(MiddleTailSpike);
          TailEnd.addChild(LeftTailSpikeB);
          TailEnd.addChild(RightTailSpikeB);
          TailStun.addChild(LeftTailSpikeA);
          TailStun.addChild(RightTailSpikeA);
          //Face Part
          Neck.addChild(Head);
          Neck.addChild(Mouth);
          Head.addChild(Face);
          Head.addChild(Nose);
          Head.addChild(LeftEar);
          Head.addChild(RightEar);
          Nose.addChild(UpperRightTeeth);
          Nose.addChild(UpperLeftTeeth);
          Nose.addChild(UpperFrontTeeth);
          UpperRightTeeth.addChild(RUpperFrontCanine);
          UpperRightTeeth.addChild(RUpperBackCanine);
          UpperLeftTeeth.addChild(LUpperFrontCanine);
          UpperLeftTeeth.addChild(LUpperBackCanine);
          Mouth.addChild(LowerTeeth);
          Mouth.addChild(LeftLowerTeeth);
          Mouth.addChild(RightLowerTeeth);
          LeftLowerTeeth.addChild(LLowerFrontCanine);
          RightLowerTeeth.addChild(RLowerFrontCanine);
      }
      
      public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5){
    animator.update((iMHFC)entity);
    setAngles();
    EntityTigrex tigrex = (EntityTigrex)entity;
    animTick = MHFCMain.proxy.getPartialTick();
    animate((EntityTigrex)entity,f,f1,f2,f3,f4,f5);
        Body.render(f5);
        boolean flag = tigrex.showTail();
        Tail.showModel = flag;
        
        
      }
    
      private void setRotation(ModelRenderer model, float x, float y, float z){
      model.rotateAngleX = x;
      model.rotateAngleY = y;
      model.rotateAngleZ = z;
      }
      
      
      public void setAngles(){
      setRotation(LFrontMiddleFinger, 0F, 0F, 0F);
      setRotation(LFrontMiddleNail, 0F, 0F, 0F);
      setRotation(LFrontRightNail, 0F, 0F, 0F);
      setRotation(LFrontLeftNail, 0F, -0F, 0F);
      setRotation(LeftShoulder, 0F, 0F, 0.5235988F);
      setRotation(Body, -0.1919862F, 0F, 0F);
      setRotation(LFrontWingFlap, 0.2617994F, 0F, -1.5F);
      setRotation(LFrontWingBone, 0F, 0F, 0F);
      setRotation(Chest, -0F, 0F, 0F);
      setRotation(Neck, 0.1F, 0F, 0F);
      setRotation(Head, 0F, 0F, 0F);
      setRotation(Nose, 0F, 0F, 0F);
      setRotation(Face, -0.6457718F, 0F, 0F);
      setRotation(Mouth, 0.3235988F, 0F, 0F);
      setRotation(Stomach, 0F, 0F, 0F);
      setRotation(Waist, 0.2F, 0F, 0F);
      setRotation(LeftHint, -0.5F, 0F, 0F);
      setRotation(RightHint, -0.5F, 0F, 0F);
      setRotation(RUpperFrontCanine, 0.1396263F, 0F, 0F);
      setRotation(UpperFrontTeeth, 0F, 0F, 0F);
      setRotation(LUpperFrontCanine, 0.1396263F, 0F, 0F);
      setRotation(UpperRightTeeth, 0F, 0F, 0F);
      setRotation(UpperLeftTeeth, 0F, 0F, 0F);
      setRotation(LUpperBackCanine, 0.1396263F, 0F, 0F);
      setRotation(LeftLeg, 1F, 0F, 0F);
      setRotation(RightLeg, 1F, 0F, 0F);
      setRotation(Tail, -0F, 0F, 0F);
      setRotation(TailStun, 0F, 0F, 0F);
      setRotation(TailEnd, 0F, 0F, 0F);
      setRotation(MiddleTailSpike, -0.0872665F, 0F, 0F);
      setRotation(LBackSoleFoot, -0.3F, 0F, 0F);
      setRotation(RBackSoleFoot, -0.3F, 0F, 0F);
      setRotation(RightTailSpikeB, -0.0872665F, -0.4363323F, 0F);
      setRotation(LeftTailSpikeB, -0.0872665F, 0.4363323F, 0F);
      setRotation(RightLowerTeeth, 0F, 0F, 0F);
      setRotation(LeftLowerTeeth, 0F, 0F, 0F);
      setRotation(LowerTeeth, 1.5F, -0.0058178F, 0F);
      setRotation(LBackRightFinger, 0F, 0.5F, 0F);
      setRotation(LBackMiddleFinger, 0F, 0F, 0F);
      setRotation(LBackLeftFinger, 0F, -0.5F, 0F);
      setRotation(RBackRightFinger, 0F, 0.5F, 0F);
      setRotation(RBackMiddleFinger, 0F, 0F, 0F);
      setRotation(RBackLeftFinger, 0F, -.5F, 0F);
      setRotation(RBackMiddleNail, 0F, 0F, 0F);
      setRotation(RBackLeftFinger, 0F, -.5F, 0F);
      setRotation(RBackMiddleNail, 0F, 0F, 0F);
      setRotation(RBackLeftNail, 0F, -0F, 0F);
      setRotation(RBackRightNail, 0F, 0F, 0F);
      setRotation(LBackRightNail, 0F, 0F, 0F);
      setRotation(LBackLeftNail, 0F, -0F, 0F);
      setRotation(LBackMiddleNail, 0F, 0F, 0F);
      setRotation(RUpperBackCanine, 0.1396263F, 0F, 0F);
      setRotation(RightShoulder, 0F, 0F, -0.5235988F);
      setRotation(RFrontMiddleFinger, 0F, 0F, 0F);
      setRotation(RFrontMiddleNail, 0F, 0F, 0F);
      setRotation(RFrontRightNail, 0F, 0F, 0F);
      setRotation(RFrontLeftNail, 0F, 0F, 0F);
      setRotation(RFrontLeftNail, 0F, 0F, 0F);
      setRotation(RFrontWingBone, 0F, 0F, 0F);
      setRotation(RFrontWingFlap, 0.2617994F, 0F, 1.5F);
      setRotation(RLowerFrontCanine, -0.0349066F, 0F, 0F);
      setRotation(LLowerFrontCanine, -0.0349066F, 0F, 0F);
      setRotation(LeftTailSpikeA, -0.0872665F, 0.6108652F, 0F);
      setRotation(RightTailSpikeA, -0.0872665F, -0.6108652F, 0F);
      setRotation(LeftEar, 0.3490659F, 0.3490659F, 0F);
      setRotation(RightEar, 0.3490659F, -0.3490659F, 0F);
      setRotation(LFrontFoot, 0F, 0F, 0F);
      setRotation(LFrontLeftFinger, 0F, -0.5F, 0F);
      setRotation(LFrontRightFinger, 0F, 0.5F, 0F);
      setRotation(LFrontSoleFeet, 0F, 0F, 0F);
      setRotation(LFrontLowerLeg, 0F, 0F, -1F);
      setRotation(LFrontLeg, 0F, 0F, 0.5F);
      setRotation(RFrontLeg, 0F, 0F, -0.5F);
      setRotation(RFrontLowerLeg, 0F, 0F, 1F);
      setRotation(RFrontFoot, 0F, 0F, 0F);
      setRotation(RFrontSoleFeet, 0F, 0F, 0F);
      setRotation(RFrontRightFinger, 0F, 0.5F, 0F);
      setRotation(RFrontLeftFinger, 0F, -0.5F, 0F);
      }
      
    
      
    
    
    

  10. sorry mate i dint looks like my post is little mess but yeah here it is

     

    there :)

     

    Entity

    public boolean showTail() {
    	if(this.getHealth() < 1500) {
    		return false;
    	}return true;
    }
    

     

     

    I cut all the other stuff since its way to many but

    
      public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5){
    animator.update((iMHFC)entity);
    setAngles();
    EntityTigrex tigrex = (EntityTigrex)entity;
    animTick = MHFCMain.proxy.getPartialTick();
    animate((EntityTigrex)entity,f,f1,f2,f3,f4,f5);
        Body.render(f5);
        boolean flag = tigrex.showTail();
        Tail.showModel = flag; <--- Heres my cut part
        
        
        
      }
    
    
    
    

  11. Hello Guys is there a way that makes only a specific mob to be broken part sorry for bad english .

     

    This is how it works when my mob gets his health lower than 1500 the tail model part will be hidden.

    It works but when i spawn many of my custom mob and one of my mob achieves the condition all of them tail will be hidden.

    And how do i even set my tail wont spawn anymore if the condition changes

    Heres my code

     

     

    EntityCode

    Here's what i did inside my entity code

    
    public boolean showTail() {
    	if(this.getMaxHealth() < 1500) {
    		return false;
    	}return true;
    }
    
    
    
    

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.