From bf3bbfc0d6b56e38757714ae2f5cbb729e4e7c96 Mon Sep 17 00:00:00 2001 From: shinycosmic Date: Sat, 28 Mar 2026 18:55:39 -0400 Subject: [PATCH 1/2] Macromyzon and bug fixes --- .../net/lepidodendron/EntityRegistries.java | 8 +- .../net/lepidodendron/LepidodendronMod.java | 2 + .../lepidodendron/LepidodendronSorter.java | 9 + ...yPrehistoricFloraArchaeognatha_jungle.java | 6 +- ...tyPrehistoricFloraArchaeognatha_rocky.java | 6 +- .../EntityPrehistoricFloraIcarosaurus.java | 170 + .../EntityPrehistoricFloraKuehneosaurus.java | 4 +- .../EntityPrehistoricFloraKuehneosuchus.java | 4 +- .../EntityPrehistoricFloraMacromyzon.java | 209 ++ .../entity/EntityPrehistoricFloraOzimek.java | 4 +- .../EntityPrehistoricFloraPalaeopalaemon.java | 328 ++ .../EntityPrehistoricFloraThryptodus.java | 249 ++ .../EntityPrehistoricFloraTropidosteus.java | 6 +- .../entity/model/entity/ModelIcarosaurus.java | 3143 +++++++++++++++++ .../entity/model/entity/ModelMacromyzon.java | 543 +++ .../model/entity/ModelPalaeopalaemon.java | 2105 +++++++++++ .../entity/model/entity/ModelPerikefalea.java | 9 +- .../entity/model/entity/ModelThryptodus.java | 437 +++ .../entity/render/RenderHandler.java | 52 + .../entity/RenderArchaeognatha_jungle.java | 2 +- .../entity/RenderArchaeognatha_rocky.java | 2 +- .../render/entity/RenderIcarosaurus.java | 51 + .../render/entity/RenderMacromyzon.java | 37 + .../render/entity/RenderPalaeopalaemon.java | 35 + .../render/entity/RenderThryptodus.java | 39 + .../item/entities/ItemEggsIcarosaurus.java | 63 + .../item/entities/ItemIcarosaurusRaw.java | 54 + .../item/entities/ItemMacromyzonRaw.java | 53 + .../item/entities/ItemPalaeopalaemonRaw.java | 51 + .../item/entities/ItemThryptodusRaw.java | 51 + .../util/AcidBathOutputMobs.java | 4 + .../loot_tables/entity/cratosirex.json | 24 + .../loot_tables/entity/icarosaurus.json | 24 + .../loot_tables/entity/macromyzon.json | 24 + .../loot_tables/entity/megalithomerus.json | 24 + .../loot_tables/entity/palaeopalaemon.json | 24 + .../loot_tables/entity/rafaeliana.json | 24 + .../loot_tables/entity/raptoblatta.json | 24 + .../loot_tables/entity/thryptodus.json | 24 + .../item/entities/eggs_icarosaurus.json | 6 + .../item/entities/phial_eggs_cratosirex.json | 6 + .../entities/phial_eggs_megalithomerus.json | 6 + .../item/entities/phial_eggs_rafaeliana.json | 6 + .../item/entities/phial_eggs_raptoblatta.json | 6 + .../textures/entities/eggs_icarosaurus.png | Bin 0 -> 440 bytes .../textures/entities/icarosaurus.png | Bin 0 -> 1856 bytes .../textures/entities/macromyzon.png | Bin 0 -> 662 bytes .../textures/entities/palaeopalaemon.png | Bin 0 -> 1499 bytes .../textures/entities/thryptodus.png | Bin 0 -> 4958 bytes .../items/entities/palaeopalaemon_raw.png | Bin 0 -> 555 bytes 50 files changed, 7932 insertions(+), 26 deletions(-) create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIcarosaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraMacromyzon.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPalaeopalaemon.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraThryptodus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelIcarosaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelMacromyzon.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelPalaeopalaemon.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelThryptodus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderIcarosaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderMacromyzon.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderPalaeopalaemon.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderThryptodus.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemEggsIcarosaurus.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemIcarosaurusRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemMacromyzonRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemPalaeopalaemonRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemThryptodusRaw.java create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/cratosirex.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/icarosaurus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/macromyzon.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/megalithomerus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/palaeopalaemon.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/rafaeliana.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/raptoblatta.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/entity/thryptodus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/eggs_icarosaurus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_cratosirex.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_megalithomerus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_rafaeliana.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_raptoblatta.json create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_icarosaurus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/icarosaurus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/macromyzon.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/palaeopalaemon.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/thryptodus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/items/entities/palaeopalaemon_raw.png diff --git a/src/main/java/net/lepidodendron/EntityRegistries.java b/src/main/java/net/lepidodendron/EntityRegistries.java index 5eb885c133..626d24705b 100644 --- a/src/main/java/net/lepidodendron/EntityRegistries.java +++ b/src/main/java/net/lepidodendron/EntityRegistries.java @@ -1418,7 +1418,7 @@ public static void registerEntities() { registerEntity("prehistoric_flora_amargasaurus", EntityPrehistoricFloraAmargasaurus.class, LepidodendronMod.ENTITY_AMARGASAURUS, 184,-8294048,-9883643); registerEntity("prehistoric_flora_bajadasaurus", EntityPrehistoricFloraBajadasaurus.class, LepidodendronMod.ENTITY_BAJADASAURUS, 184,-7577540,-2311312); registerEntity("prehistoric_flora_mirasaura", EntityPrehistoricFloraMirasaura.class, LepidodendronMod.ENTITY_MIRASAURA, 48,-13093595,-13281135); -// registerEntity("prehistoric_flora_icarosaurus", EntityPrehistoricFloraIcarosaurus.class, LepidodendronMod.ENTITY_ICAROSAURUS, 48,-11354642,-15131876); + registerEntity("prehistoric_flora_icarosaurus", EntityPrehistoricFloraIcarosaurus.class, LepidodendronMod.ENTITY_ICAROSAURUS, 48,-7962571,-3950536); registerEntity("prehistoric_flora_kuehneosuchus", EntityPrehistoricFloraKuehneosuchus.class, LepidodendronMod.ENTITY_KUEHNEOSUCHUS, 48,-16250875,-15590857); registerEntity("prehistoric_flora_kuehneosaurus", EntityPrehistoricFloraKuehneosaurus.class, LepidodendronMod.ENTITY_KUEHNEOSAURUS, 48,-1513240,-8639187); registerEntity("prehistoric_flora_ozimek", EntityPrehistoricFloraOzimek.class, LepidodendronMod.ENTITY_OZIMEK, 48,-11515585,-7639480); @@ -1435,7 +1435,7 @@ public static void registerEntities() { registerEntity("prehistoric_flora_melvius", EntityPrehistoricFloraMelvius.class, LepidodendronMod.ENTITY_MELVIUS, 64,-10262705,-13618900); registerEntity("prehistoric_flora_bananogmius", EntityPrehistoricFloraBananogmius.class, LepidodendronMod.ENTITY_BANANOGMIUS, 64,-2173062,-13858202); registerEntity("prehistoric_flora_concavotectum", EntityPrehistoricFloraConcavotectum.class, LepidodendronMod.ENTITY_CONCAVOTECTUM, 64,-3284525,-1122257); -// registerEntity("prehistoric_flora_thryptodus", EntityPrehistoricFloraThryptodus.class, LepidodendronMod.ENTITY_THRYPTODUS, 48,-11354642,-15131876); + registerEntity("prehistoric_flora_thryptodus", EntityPrehistoricFloraThryptodus.class, LepidodendronMod.ENTITY_THRYPTODUS, 48,-14800847,-5195329); registerEntity("prehistoric_flora_tarjadia", EntityPrehistoricFloraTarjadia.class, LepidodendronMod.ENTITY_TARJADIA, 64,-5398375,-13163237); registerEntity("prehistoric_flora_parringtonia", EntityPrehistoricFloraParringtonia.class, LepidodendronMod.ENTITY_PARRINGTONIA, 48,-13357787,-2238520); registerEntity("prehistoric_flora_dyoplax", EntityPrehistoricFloraDyoplax.class, LepidodendronMod.ENTITY_DYOPLAX, 48,-3835059,-12699338); @@ -1473,8 +1473,8 @@ public static void registerEntities() { registerEntity("prehistoric_flora_mantellisaurus", EntityPrehistoricFloraMantellisaurus.class, LepidodendronMod.ENTITY_MANTELLISAURUS, 84,-11976918,-9013202); registerEntity("prehistoric_flora_changchunsaurus", EntityPrehistoricFloraChangchunsaurus.class, LepidodendronMod.ENTITY_CHANGCHUNSAURUS, 64,-6194134,-3942616); -// registerEntity("prehistoric_flora_palaeopalaemon", EntityPrehistoricFloraPalaeopalaemon.class, LepidodendronMod.ENTITY_PALAEOPALAEMON, 48,-11354642,-15131876); -// registerEntity("prehistoric_flora_macromyzon", EntityPrehistoricFloraMacromyzon.class, LepidodendronMod.ENTITY_MACROMYZON, 48,-11354642,-15131876); + registerEntity("prehistoric_flora_palaeopalaemon", EntityPrehistoricFloraPalaeopalaemon.class, LepidodendronMod.ENTITY_PALAEOPALAEMON, 48,-11571611,-4998023); + registerEntity("prehistoric_flora_macromyzon", EntityPrehistoricFloraMacromyzon.class, LepidodendronMod.ENTITY_MACROMYZON, 48,-9417678,-2569805); // registerEntity("prehistoric_flora_litorosuchus", EntityPrehistoricFloraLitorosuchus.class, LepidodendronMod.ENTITY_LITOROSUCHUS, 64,-11354642,-15131876); // registerEntity("prehistoric_flora_langobardisaurus", EntityPrehistoricFloraLangobardisaurus.class, LepidodendronMod.ENTITY_LANGOBARDISAURUS, 48,-11354642,-15131876); // registerEntity("prehistoric_flora_eusaurosphargis", EntityPrehistoricFloraEusaurosphargis.class, LepidodendronMod.ENTITY_EUSAUROSPHARGIS, 48,-11354642,-15131876); diff --git a/src/main/java/net/lepidodendron/LepidodendronMod.java b/src/main/java/net/lepidodendron/LepidodendronMod.java index 6ab000dbd5..86d3badfa9 100644 --- a/src/main/java/net/lepidodendron/LepidodendronMod.java +++ b/src/main/java/net/lepidodendron/LepidodendronMod.java @@ -3583,9 +3583,11 @@ public class LepidodendronMod { static final int ENTITY_ECTENASPIS = 1468; public static final ResourceLocation ECTENASPIS_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/ectenaspis")); static final int ENTITY_PALAEOPALAEMON = 1469; + public static final ResourceLocation PALAEOPALAEMON_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/palaeopalaemon")); static final int ENTITY_PRIAPULITES = 1470; static final int ENTITY_PALAEOCAMPA = 1471; static final int ENTITY_MACROMYZON = 1472; + public static final ResourceLocation MACROMYZON_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/macromyzon")); static final int ENTITY_PETROLACOSAURUS = 1473; public static final ResourceLocation PETROLACOSAURUS_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/petrolacosaurus")); static final int ENTITY_TUDITANUS = 1474; diff --git a/src/main/java/net/lepidodendron/LepidodendronSorter.java b/src/main/java/net/lepidodendron/LepidodendronSorter.java index c8a3417598..dd0d9ce259 100644 --- a/src/main/java/net/lepidodendron/LepidodendronSorter.java +++ b/src/main/java/net/lepidodendron/LepidodendronSorter.java @@ -6542,6 +6542,15 @@ public class LepidodendronSorter { public static final int cratosirex_raw = 5983; public static final int raptoblatta_raw = 5984; public static final int rafaeliana_raw = 5985; + public static final int macromyzon_raw = 5986; + public static final int icarosaurus_raw = 5987; + public static final int eggs_icarosaurus = 5988; + public static final int palaeopalaemon_raw = 5989; + public static final int peltobatrachus_raw = 5990; + public static final int abyssosaurus_raw = 5991; + public static final int iberobatrachus_raw = 5992; + public static final int liaobatrachus_raw = 5993; + public static final int bivalve_toucasia = 6000; public static final int coeloptychium = 6001; diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_jungle.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_jungle.java index b55a2b21ad..b907acb186 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_jungle.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_jungle.java @@ -48,10 +48,10 @@ public class EntityPrehistoricFloraArchaeognatha_jungle extends EntityPrehistori public EntityPrehistoricFloraArchaeognatha_jungle(World world) { super(world); - setSize(0.2F, 0.2F); + setSize(0.12F, 0.12F); minWidth = 0.1F; - maxWidth = 0.2F; - maxHeight = 0.2F; + maxWidth = 0.12F; + maxHeight = 0.12F; maxHealthAgeable = 2.0D; JUMP_ANIMATION = Animation.create(this.getJumpLength()); } diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_rocky.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_rocky.java index 5c2ef26e4c..a9e672539f 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_rocky.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraArchaeognatha_rocky.java @@ -48,10 +48,10 @@ public class EntityPrehistoricFloraArchaeognatha_rocky extends EntityPrehistoric public EntityPrehistoricFloraArchaeognatha_rocky(World world) { super(world); - setSize(0.2F, 0.2F); + setSize(0.12F, 0.12F); minWidth = 0.1F; - maxWidth = 0.2F; - maxHeight = 0.2F; + maxWidth = 0.12F; + maxHeight = 0.12F; maxHealthAgeable = 2.0D; JUMP_ANIMATION = Animation.create(this.getJumpLength()); } diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIcarosaurus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIcarosaurus.java new file mode 100644 index 0000000000..baac3b379a --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIcarosaurus.java @@ -0,0 +1,170 @@ + +package net.lepidodendron.entity; + +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraLandClimbingGlidingBase; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.EggLayingConditions; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.block.BlockDirectional; +import net.minecraft.block.properties.PropertyDirection; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraIcarosaurus extends EntityPrehistoricFloraLandClimbingGlidingBase implements IAdvancementGranter, ITrappableLand { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer tailBuffer; + + public EntityPrehistoricFloraIcarosaurus(World world) { + super(world); + setSize(0.3F, 0.3F); + minWidth = 0.3F; + maxWidth = 0.3F; + maxHeight = 0.3F; + maxHealthAgeable = 3.0D; + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + + @Override + public int getEggType(@Nullable String variantIn) { + return 10; //rotten wood + } + + @Override + public boolean noMossEggs() { + return true; + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(120, 5, 5F, this); + } + } + + public int getRoarLength() { + return 40; + } + + @Override + public int getClimbCooldown() { + return 20 + rand.nextInt(40); + } + + public static String getPeriod() {return "Triassic";} + + @Override + public int getAdultAge() { + return 0; + } + + @Override + public float getAISpeedLand() { + return 0.25F; + } + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean laysEggs() { + return true; + } + + @Override + public boolean placesNest() { + return false; + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityAISwimming(this)); + tasks.addTask(1, new GlideAI()); + tasks.addTask(2, new AvoidEntityPN<>(this, EntityLivingBase.class, 6.0F, true)); + tasks.addTask(3, new EntityMateAIAgeableBase(this, 1)); + tasks.addTask(4, new LandWanderNestInBlockAI(this)); + tasks.addTask(5, new LandWanderAvoidWaterClimbingAI(this, 0.8D, 20)); + tasks.addTask(6, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.BUG); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.22D); + //this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0D); + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:schoenesmahl_hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:schoenesmahl_death")); + } + + @Override + protected float getSoundVolume() { + return 0.5F; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.ICAROSAURUS_LOOT; + } + + public static final PropertyDirection FACING = BlockDirectional.FACING; + + public boolean testLay(World world, BlockPos pos) { + return EggLayingConditions.testLayMossAndWood(this, world, pos); + } + + @Override + public boolean nestBlockMatch(World world, BlockPos pos) { + return (testLay(world, pos.down()) || testLay(world, pos)) ; + } + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_ICAROSAURUS; + } +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosaurus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosaurus.java index 4a79bef9d9..848d14a855 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosaurus.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosaurus.java @@ -153,7 +153,7 @@ protected float getSoundVolume() { @Nullable protected ResourceLocation getLootTable() { - return LepidodendronMod.XIANGLONG_LOOT; + return LepidodendronMod.KUEHNEOSAURUS_LOOT; } public static final PropertyDirection FACING = BlockDirectional.FACING; @@ -170,6 +170,6 @@ public boolean nestBlockMatch(World world, BlockPos pos) { @Nullable @Override public CustomTrigger getModTrigger() { - return ModTriggers.CLICK_XIANGLONG; + return ModTriggers.CLICK_KUEHNEOSAURUS; } } \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosuchus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosuchus.java index 5e29c7ffbe..5695d096f9 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosuchus.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraKuehneosuchus.java @@ -148,7 +148,7 @@ protected float getSoundVolume() { @Nullable protected ResourceLocation getLootTable() { - return LepidodendronMod.XIANGLONG_LOOT; + return LepidodendronMod.KUEHNEOSUCHUS_LOOT; } public static final PropertyDirection FACING = BlockDirectional.FACING; @@ -165,6 +165,6 @@ public boolean nestBlockMatch(World world, BlockPos pos) { @Nullable @Override public CustomTrigger getModTrigger() { - return ModTriggers.CLICK_XIANGLONG; + return ModTriggers.CLICK_KUEHNEOSUCHUS; } } \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraMacromyzon.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraMacromyzon.java new file mode 100644 index 0000000000..f32bab4f6d --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraMacromyzon.java @@ -0,0 +1,209 @@ + +package net.lepidodendron.entity; + +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.Animation; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraTrilobiteBottomBase; +import net.lepidodendron.entity.util.EnumCreatureAttributePN; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraMacromyzon extends EntityPrehistoricFloraTrilobiteBottomBase implements ITrappableWater, IAdvancementGranter { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer chainBuffer; + private int animationTick; + private Animation animation = NO_ANIMATION; + + public EntityPrehistoricFloraMacromyzon(World world) { + super(world); + setSize(0.1F, 0.1F); + } + + @Override + public EnumCreatureAttributePN getPNCreatureAttribute() { + return EnumCreatureAttributePN.INVERTEBRATE; + } + + @Override + public boolean isSmall() { + return true; + } + + public static String getPeriod() {return "Devonian";} + + //public static String getHabitat() {return "Aquatic";} + + @Override + public boolean dropsEggs() { + return true; + } + + @Override + public int getAnimationTick() { + return getAnimationTick(); + } + + @Override + protected float getAISpeedTrilobite() { + return 0.1065f; + } + + @Override + public void setAnimationTick(int tick) { + animationTick = tick; + } + + @Override + public Animation getAnimation() { + return null; + } + + @Override + public void setAnimation(Animation animation) { + this.animation = animation; + } + + @Override + public Animation[] getAnimations() { + return null; + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAITrilobiteBottomBase(this, 1)); + tasks.addTask(1, new TrilobiteWanderBottom(this, NO_ANIMATION)); + tasks.addTask(2, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraTrilobiteBottomBaseAI(this)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.FISHFOOD); + } + + @Override + public boolean isAIDisabled() { + return false; + } + + @Override + public String getTexture() { + return this.getTexture(); + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(1.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.3D); + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + } + + public void onEntityUpdate() { + super.onEntityUpdate(); + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.MACROMYZON_LOOT; + } + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_MACROMYZON; + } + + //Rendering taxidermy: + //-------------------- + public static double offsetWall(@Nullable String variant) { + return 0.0; + } + public static double upperfrontverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double upperbackverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double upperfrontlineoffset(@Nullable String variant) { + return 0.0; + } + public static double upperfrontlineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double upperbacklineoffset(@Nullable String variant) { + return 0.0; + } + public static double upperbacklineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double lowerbackverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontlineoffset(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double lowerbacklineoffset(@Nullable String variant) { + return 0.0; + } + public static double lowerbacklineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraOzimek.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraOzimek.java index fea0cc3525..b56b0f310e 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraOzimek.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraOzimek.java @@ -158,7 +158,7 @@ protected float getSoundVolume() { @Nullable protected ResourceLocation getLootTable() { - return LepidodendronMod.XIANGLONG_LOOT; + return LepidodendronMod.OZIMEK_LOOT; } public static final PropertyDirection FACING = BlockDirectional.FACING; @@ -175,6 +175,6 @@ public boolean nestBlockMatch(World world, BlockPos pos) { @Nullable @Override public CustomTrigger getModTrigger() { - return ModTriggers.CLICK_XIANGLONG; + return ModTriggers.CLICK_OZIMEK; } } \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPalaeopalaemon.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPalaeopalaemon.java new file mode 100644 index 0000000000..d70956be92 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPalaeopalaemon.java @@ -0,0 +1,328 @@ + +package net.lepidodendron.entity; + +import com.google.common.base.Predicate; +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.Animation; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraSwimmingBottomWalkingWaterBase; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.*; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.datasync.DataParameter; +import net.minecraft.network.datasync.DataSerializers; +import net.minecraft.network.datasync.EntityDataManager; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.text.translation.I18n; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraPalaeopalaemon extends EntityPrehistoricFloraSwimmingBottomWalkingWaterBase implements IAdvancementGranter, ITrappableWater { + + public Animation SWIM_ANIMATION; + public Animation UNSWIM_ANIMATION; + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer tailBuffer; + @SideOnly(Side.CLIENT) + public ChainBuffer chainBuffer; + + private static final DataParameter SWIMMINGPN = EntityDataManager.createKey(EntityPrehistoricFloraPalaeopalaemon.class, DataSerializers.BOOLEAN); + //Needs to be here because it is not loaded in time to be accessed by the client if it's on the parent class! + + public EntityPrehistoricFloraPalaeopalaemon(World world) { + super(world); + setSize(0.4F, 0.2F); + minWidth = 0.2F; + maxWidth = 0.2F; + maxHeight = 0.2F; + maxHealthAgeable = 3.0D; + SWIM_ANIMATION = Animation.create(this.swimTransitionLength()); + UNSWIM_ANIMATION = Animation.create(this.unswimTransitionLength()); + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + +public static String getHabitat() { + return I18n.translateToLocal("helper.pf_aquatic.name"); + } + + //an array of all the animations + @Override + public Animation[] getAnimations() { + return new Animation[]{ATTACK_ANIMATION, SWIM_ANIMATION, UNSWIM_ANIMATION}; + } + + //a stricter check on if the animal is swimming, (It is not doing its transition animation) + public boolean isReallySwimming() { + return (this.getIsSwimming()) && (this.getAnimation() != this.SWIM_ANIMATION); + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + if (!this.world.isRemote && !this.isReallySwimming()) { + this.setIsSwimming(true); + this.setAnimation(SWIM_ANIMATION); + this.setSwimTick(this.swimLength() + this.SWIM_ANIMATION.getDuration()); + } + + return super.attackEntityFrom(source, amount); + } + + public void onEntityUpdate() { + int i = this.getAir(); + super.onEntityUpdate(); + if (this.isEntityAlive() && !isInWater()) { + --i; + this.setAir(i); + + if (this.getAir() == -20) { + this.setAir(0); + this.attackEntityFrom(DamageSource.DROWN, 2.0F); + } + } else { + this.setAir(300); + } + + if (!world.isRemote) { + + if (!this.isReallyInWater()) { + this.setIsSwimming(false); + this.setWalkTick(1); + } else { + + if (this.getSwimTick() > 0) { + this.setSwimTick(this.getSwimTick() - this.rand.nextInt(3)); + if (this.getSwimTick() < 0) { + this.setSwimTick(0); + } + } + if (this.getWalkTick() > 0) { + this.setWalkTick(this.getWalkTick() - this.rand.nextInt(3)); + if (this.getWalkTick() < 0) { + this.setWalkTick(0); + } + } + + if ((!(this.getSwimTick() > 0)) && this.getIsSwimming()) { + this.setIsSwimming(false); + this.setAnimation(UNSWIM_ANIMATION); + this.setWalkTick(this.walkLength() + this.UNSWIM_ANIMATION.getDuration()); + } + + if ((!(this.getWalkTick() > 0)) && !this.getIsSwimming()) { + this.setIsSwimming(true); + this.setAnimation(SWIM_ANIMATION); + this.setSwimTick(this.swimLength() + this.SWIM_ANIMATION.getDuration()); + } + } + } + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataManager.register(SWIMMINGPN, false); + this.setScaleForAge(false); + } + + @Override + public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) { + livingdata = super.onInitialSpawn(difficulty, livingdata); + this.setIsSwimming(false); + return livingdata; + } + + public void writeEntityToNBT(NBTTagCompound compound) { + super.writeEntityToNBT(compound); + compound.setBoolean("pfswimming", this.getIsSwimming()); + } + + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.setIsSwimming(compound.getBoolean("pfswimming")); + } + + //checks if the animal is actually swimming + @Override + public boolean getIsSwimming() { + return (Boolean)this.dataManager.get(SWIMMINGPN); + } + + //sets the animal isSwimming variable to true if the data manager detects that the animal is swimming + @Override + public void setIsSwimming(boolean isSwimming) { + this.dataManager.set(SWIMMINGPN, isSwimming); + } + + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.ARTHROPOD; + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 10 && this.getAttackTarget() != null) { + launchAttack(); + if (this.getOneHit()) { + this.setAttackTarget(null); + this.setRevengeTarget(null); + } + } + + AnimationHandler.INSTANCE.updateAnimations(this); + + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(120, 10, 5F, this); + } + } + + @Override + public int swimTransitionLength() { + return 20; + } + + @Override + public int unswimTransitionLength() { + return 20; + } + + @Override + public int swimLength() { + return 0; + } + + @Override + public int walkLength() { + return 1300; + } + + @Override + public boolean isSmall() { + return true; + } + + public static String getPeriod() { + return "Devonian"; + } + + //public static String getHabitat() {return "Aquatic";} + + @Override + public boolean dropsEggs() { + return true; + } + + @Override + public boolean laysEggs() { + return false; + } + + @Override + public int getAdultAge() { + return 48000; + } + + @Override + protected double getAISpeedSwim() { + return 0.1f; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.5D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1)); + tasks.addTask(1, new AttackAI(this, 1.0D, false, this.getAttackLength())); + tasks.addTask(2, new SwimmingBottomWalkingSwimBottomDweller(this, NO_ANIMATION)); + tasks.addTask(3, new SwimmingBottomWalkingWalk(this, NO_ANIMATION)); + tasks.addTask(4, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + //this.targetTasks.addTask(3, new HuntSmallerThanMeAIAgeable(this, EntityPrehistoricFloraAgeableFishBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0)); + this.targetTasks.addTask(1, new HuntForDietEntityPrehistoricFloraAgeableBaseAI(this, EntityLivingBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0.1F, 1.2F, false)); +// this.targetTasks.addTask(3, new HuntAI(this, EntitySquid.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); +// this.targetTasks.addTask(3, new HuntAI(this, EntityPrehistoricFloraTrilobiteBottomBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); +// this.targetTasks.addTask(3, new HuntAI(this, EntityPrehistoricFloraTrilobiteSwimBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); + } + + + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.FISH, DietString.MEAT); + } + + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.death")); + } + + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.PALAEOPALAEMON_LOOT; + } + //Rendering taxidermy: + //-------------------- + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_PALAEOPALAEMON; + } +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraThryptodus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraThryptodus.java new file mode 100644 index 0000000000..b3c0862391 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraThryptodus.java @@ -0,0 +1,249 @@ + +package net.lepidodendron.entity; + +import com.google.common.base.Predicate; +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableFishBase; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraThryptodus extends EntityPrehistoricFloraAgeableFishBase implements IAdvancementGranter, ITrappableWater { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer chainBuffer; + public ChainBuffer tailBuffer; + + public EntityPrehistoricFloraThryptodus(World world) { + super(world); + setSize(0.8F, 0.6F); + minWidth = 0.1F; + maxWidth = 0.8F; + maxHeight = 0.6F; + maxHealthAgeable = 14.0D; + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(60, 10, 5F, this); + } + } + + @Override + public boolean canShoal() { + return true; + } + + @Override + public int getShoalSize() { + return 5; + } + + @Override + public int getShoalDist() { + return 3; + } + + @Override + public boolean isSmall() { + return true; + } + + @Override + public int getAttackLength() { + return 10; + } + + public static String getPeriod() {return "Late Cretaceous";} + + //public static String getHabitat() {return "Aquatic";} + //public static String getSize() {return "L";} + + @Override + public void playLivingSound() { + } + + @Override + public boolean dropsEggs() { + return true; + } + + @Override + public boolean laysEggs() { + return false; + } + + @Override + public int getAdultAge() { + return 10000; + } //Only adults! + + @Override + protected float getAISpeedFish() { + float AIspeed = 0.16f; + if (this.getIsFast()) { + AIspeed = AIspeed * 2.5F; + } + return AIspeed; + } + + @Override + protected boolean isSlowAtBottom() { + return false; + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new AttackAI(this, 1.0D, false, this.getAttackLength())); + tasks.addTask(2, new ShoalFishAgeableAI(this, 1, true, this.getShoalDist() - 0.5F)); + tasks.addTask(3, new AgeableFishWander(this, NO_ANIMATION, 1D, 0)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + this.targetTasks.addTask(1, new HuntForDietEntityPrehistoricFloraAgeableBaseAI(this, EntityLivingBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0.1F, 1.2F, false));// this.targetTasks.addTask(1, new HuntSmallerThanMeAIAgeable(this, EntityPrehistoricFloraAgeableFishBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0)); +// this.targetTasks.addTask(1, new HuntAI(this, EntityPrehistoricFloraFishBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); +// this.targetTasks.addTask(1, new HuntAI(this, EntitySquid. class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.FISH, DietString.MEAT); + } + + + + @Override + public boolean isAIDisabled() { + return false; + } + + @Override + public String getTexture() { + return this.getTexture(); + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(10D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + //System.err.println(this.getAnimationTick()); + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 5 && this.getAttackTarget() != null) { + launchAttack(); + } + + AnimationHandler.INSTANCE.updateAnimations(this); + } + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + @Override + public float getAgeScale() { + return 1; + } + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.THRYPTODUS_LOOT; + } + + //Rendering taxidermy: + //-------------------- + public static double offsetWall(@Nullable String variant) {return -0.45;} + public static double upperfrontverticallinedepth(@Nullable String variant) {return 0.0;} + public static double upperbackverticallinedepth(@Nullable String variant) {return 0.0;} + public static double upperfrontlineoffset(@Nullable String variant) {return 0.0;} + public static double upperfrontlineoffsetperpendiular(@Nullable String variant) {return 0.0;} + public static double upperbacklineoffset(@Nullable String variant) {return 0.0;} + public static double upperbacklineoffsetperpendiular(@Nullable String variant) {return 0.0;} + public static double lowerfrontverticallinedepth(@Nullable String variant) {return 0.0;} + public static double lowerbackverticallinedepth(@Nullable String variant) {return 0.48;} + public static double lowerfrontlineoffset(@Nullable String variant) {return 0.0;} + public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) {return -0.0;} + public static double lowerbacklineoffset(@Nullable String variant) {return 0.0;} + public static double lowerbacklineoffsetperpendiular(@Nullable String variant) {return 0.0;} + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_THRYPTODUS; + } + + +} + diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTropidosteus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTropidosteus.java index ccd1097315..d5e3d7735c 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTropidosteus.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTropidosteus.java @@ -45,10 +45,10 @@ public EntityPrehistoricFloraTropidosteus(World world) { this.moveHelper = new EntityPrehistoricFloraTropidosteus.SwimmingMoveHelperBase(); this.navigator = new PathNavigateSwimmer(this, world); } - setSize(0.5F, 0.3F); + setSize(0.7F, 0.7F); minWidth = 0.2F; - maxWidth = 0.5F; - maxHeight = 0.3F; + maxWidth = 0.7F; + maxHeight = 0.7F; maxHealthAgeable = 20.0D; } diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelIcarosaurus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelIcarosaurus.java new file mode 100644 index 0000000000..612b78a52e --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelIcarosaurus.java @@ -0,0 +1,3143 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraIcarosaurus; +import net.lepidodendron.entity.base.EntityPrehistoricFloraLandClimbingGlidingBase; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.EnumFacing; + +public class ModelIcarosaurus extends ModelBasePalaeopedia { + private final AdvancedModelRenderer root; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer rightLeg; + private final AdvancedModelRenderer rightLeg2; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer rightFoot; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer leftLeg; + private final AdvancedModelRenderer leftLeg2; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer leftFoot; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer tail; + private final AdvancedModelRenderer tail2; + private final AdvancedModelRenderer tail3; + private final AdvancedModelRenderer tail4; + private final AdvancedModelRenderer tail5; + private final AdvancedModelRenderer tail6; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer chest; + private final AdvancedModelRenderer neck; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer eyeRight; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer eyeLeft; + private final AdvancedModelRenderer cube_r16; + private final AdvancedModelRenderer jaw; + private final AdvancedModelRenderer cube_r17; + private final AdvancedModelRenderer cube_r18; + private final AdvancedModelRenderer cube_r19; + private final AdvancedModelRenderer cube_r20; + private final AdvancedModelRenderer neckpouch; + private final AdvancedModelRenderer cube_r21; + private final AdvancedModelRenderer leftArm; + private final AdvancedModelRenderer leftArm2; + private final AdvancedModelRenderer leftHand; + private final AdvancedModelRenderer rightArm; + private final AdvancedModelRenderer rightArm2; + private final AdvancedModelRenderer rightHand; + private final AdvancedModelRenderer rightWing; + private final AdvancedModelRenderer rightWing2; + private final AdvancedModelRenderer rightWing3; + private final AdvancedModelRenderer rightWing4; + private final AdvancedModelRenderer cube_r22; + private final AdvancedModelRenderer leftWing; + private final AdvancedModelRenderer leftWing2; + private final AdvancedModelRenderer leftWing3; + private final AdvancedModelRenderer leftWing4; + private final AdvancedModelRenderer cube_r23; + + private ModelAnimator animator; + + public ModelIcarosaurus() { + this.textureWidth = 55; + this.textureHeight = 55; + + this.root = new AdvancedModelRenderer(this); + this.root.setRotationPoint(0.0F, 22.1866F, 0.8275F); + this.setRotateAngle(root, -0.0873F, 0.0F, 0.0F); + this.root.cubeList.add(new ModelBox(root, 19, 21, -1.5F, -1.2585F, -0.4072F, 3, 2, 4, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(0.0F, 1.4415F, -3.4072F); + this.root.addChild(cube_r1); + this.setRotateAngle(cube_r1, 0.1309F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 0, 26, -1.5F, -0.4F, 3.0F, 3, 1, 4, -0.01F, false)); + + this.rightLeg = new AdvancedModelRenderer(this); + this.rightLeg.setRotationPoint(-0.6F, 0.7612F, 1.4458F); + this.root.addChild(rightLeg); + this.setRotateAngle(rightLeg, 0.0761F, 0.4703F, -0.1307F); + this.rightLeg.cubeList.add(new ModelBox(rightLeg, 13, 42, -4.25F, -1.0F, -1.0F, 5, 1, 2, 0.01F, true)); + + this.rightLeg2 = new AdvancedModelRenderer(this); + this.rightLeg2.setRotationPoint(-3.7966F, -0.6366F, 0.0903F); + this.rightLeg.addChild(rightLeg2); + this.setRotateAngle(rightLeg2, -0.0029F, 0.7449F, -0.0438F); + + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(-0.1835F, 0.7311F, 0.2171F); + this.rightLeg2.addChild(cube_r2); + this.setRotateAngle(cube_r2, -0.0349F, 0.2182F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 46, -3.7543F, -0.9755F, -0.7528F, 4, 1, 1, 0.0F, true)); + + this.rightFoot = new AdvancedModelRenderer(this); + this.rightFoot.setRotationPoint(-3.8829F, -0.011F, 0.9352F); + this.rightLeg2.addChild(rightFoot); + this.setRotateAngle(rightFoot, -0.1805F, -0.7134F, 0.2353F); + + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(-0.5179F, 0.1684F, -0.3687F); + this.rightFoot.addChild(cube_r3); + this.setRotateAngle(cube_r3, -0.0218F, 0.0F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 19, 16, -4.2038F, -0.097F, -1.8835F, 5, 0, 4, 0.0F, true)); + + this.leftLeg = new AdvancedModelRenderer(this); + this.leftLeg.setRotationPoint(0.6F, 0.7612F, 1.4458F); + this.root.addChild(leftLeg); + this.setRotateAngle(leftLeg, 0.0761F, -0.4703F, 0.1307F); + this.leftLeg.cubeList.add(new ModelBox(leftLeg, 13, 42, -0.75F, -1.0F, -1.0F, 5, 1, 2, 0.01F, false)); + + this.leftLeg2 = new AdvancedModelRenderer(this); + this.leftLeg2.setRotationPoint(3.7966F, -0.6366F, 0.0903F); + this.leftLeg.addChild(leftLeg2); + this.setRotateAngle(leftLeg2, -0.0029F, -0.7449F, 0.0438F); + + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(0.1835F, 0.7311F, 0.2171F); + this.leftLeg2.addChild(cube_r4); + this.setRotateAngle(cube_r4, -0.0349F, -0.2182F, 0.0F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 0, 46, -0.2457F, -0.9755F, -0.7528F, 4, 1, 1, 0.0F, false)); + + this.leftFoot = new AdvancedModelRenderer(this); + this.leftFoot.setRotationPoint(3.8829F, -0.011F, 0.9352F); + this.leftLeg2.addChild(leftFoot); + this.setRotateAngle(leftFoot, -0.1805F, 0.7134F, -0.2353F); + + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(0.5179F, 0.1684F, -0.3687F); + this.leftFoot.addChild(cube_r5); + this.setRotateAngle(cube_r5, -0.0218F, 0.0F, 0.0F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 19, 16, -0.7962F, -0.097F, -1.8835F, 5, 0, 4, 0.0F, false)); + + this.tail = new AdvancedModelRenderer(this); + this.tail.setRotationPoint(0.0F, -0.1585F, 3.5928F); + this.root.addChild(tail); + this.tail.cubeList.add(new ModelBox(tail, 15, 28, -1.0F, -1.0F, -1.0F, 2, 2, 4, 0.0F, false)); + + this.tail2 = new AdvancedModelRenderer(this); + this.tail2.setRotationPoint(0.0F, -0.0946F, 2.9766F); + this.tail.addChild(tail2); + this.setRotateAngle(tail2, 0.0087F, 0.0F, 0.0F); + this.tail2.cubeList.add(new ModelBox(tail2, 39, 12, -0.25F, -0.25F, -0.5F, 1, 1, 5, -0.01F, false)); + this.tail2.cubeList.add(new ModelBox(tail2, 28, 28, -0.75F, -0.2491F, -0.525F, 1, 1, 5, 0.0F, false)); + this.tail2.cubeList.add(new ModelBox(tail2, 39, 35, -0.775F, -0.75F, -0.5F, 1, 1, 5, -0.01F, false)); + this.tail2.cubeList.add(new ModelBox(tail2, 41, 28, -0.25F, -0.75F, -0.5F, 1, 1, 5, 0.0F, false)); + + this.tail3 = new AdvancedModelRenderer(this); + this.tail3.setRotationPoint(-0.0214F, -0.1626F, 4.2913F); + this.tail2.addChild(tail3); + this.setRotateAngle(tail3, 0.0131F, 0.0F, 0.0F); + this.tail3.cubeList.add(new ModelBox(tail3, 0, 32, -0.4786F, -0.5F, 0.0F, 1, 1, 5, 0.01F, false)); + + this.tail4 = new AdvancedModelRenderer(this); + this.tail4.setRotationPoint(0.0F, 0.0F, 5.0F); + this.tail3.addChild(tail4); + this.setRotateAngle(tail4, 0.0349F, 0.0F, 0.0F); + this.tail4.cubeList.add(new ModelBox(tail4, 34, 21, -0.4786F, -0.5F, 0.0F, 1, 1, 5, 0.0F, false)); + + this.tail5 = new AdvancedModelRenderer(this); + this.tail5.setRotationPoint(0.0F, 0.0F, 5.0F); + this.tail4.addChild(tail5); + this.tail5.cubeList.add(new ModelBox(tail5, 13, 35, -0.4786F, -0.5F, 0.0F, 1, 1, 5, 0.01F, false)); + + this.tail6 = new AdvancedModelRenderer(this); + this.tail6.setRotationPoint(0.0F, 0.0F, 5.0F); + this.tail5.addChild(tail6); + this.setRotateAngle(tail6, 0.0087F, 0.0F, 0.0F); + this.tail6.cubeList.add(new ModelBox(tail6, 26, 35, -0.4786F, -0.5F, 0.0F, 1, 1, 5, 0.0F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -1.1585F, -0.1572F); + this.root.addChild(body); + this.setRotateAngle(body, 0.0873F, 0.0F, 0.0F); + this.body.cubeList.add(new ModelBox(body, 0, 16, -1.5F, -0.1582F, -5.8741F, 3, 3, 6, 0.01F, false)); + + this.chest = new AdvancedModelRenderer(this); + this.chest.setRotationPoint(0.0F, 1.3418F, -5.3741F); + this.body.addChild(chest); + this.chest.cubeList.add(new ModelBox(chest, 0, 39, -1.5F, -1.5F, -3.0F, 3, 3, 3, 0.0F, false)); + + this.neck = new AdvancedModelRenderer(this); + this.neck.setRotationPoint(0.0F, -1.3721F, -2.7236F); + this.chest.addChild(neck); + this.setRotateAngle(neck, -0.1365F, 0.0F, 0.0F); + + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(11.0F, 1.7866F, -2.2751F); + this.neck.addChild(cube_r6); + this.setRotateAngle(cube_r6, -0.1222F, 0.0F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 43, 6, -12.0F, -2.0737F, 0.649F, 2, 2, 2, -0.003F, false)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.0F, -0.1791F, -1.2347F); + this.neck.addChild(head); + this.setRotateAngle(head, 0.1309F, 0.0F, 0.0F); + this.head.cubeList.add(new ModelBox(head, 41, 42, -0.5F, 0.6423F, -3.5355F, 1, 1, 4, 0.01F, false)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(-0.7406F, 0.4252F, -2.5099F); + this.head.addChild(cube_r7); + this.setRotateAngle(cube_r7, 0.0F, -0.3052F, 0.0F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 29, 46, 0.0F, 0.2304F, -0.9996F, 1, 1, 3, 0.003F, true)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(-1.3418F, 0.3134F, -0.6047F); + this.head.addChild(cube_r8); + this.setRotateAngle(cube_r8, 0.0F, 0.0434F, 0.0F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 46, 49, 0.0F, 0.3304F, 0.0004F, 1, 1, 1, 0.0F, true)); + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(0.7406F, 0.4252F, -2.5099F); + this.head.addChild(cube_r9); + this.setRotateAngle(cube_r9, 0.0F, 0.3052F, 0.0F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 29, 46, -1.0F, 0.2304F, -0.9996F, 1, 1, 3, 0.003F, false)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(1.3418F, 0.3134F, -0.6047F); + this.head.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.0F, -0.0434F, 0.0F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 46, 49, -1.0F, 0.3304F, 0.0004F, 1, 1, 1, 0.0F, false)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(0.0F, 0.333F, -1.1645F); + this.head.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.0393F, 0.0F, 0.0F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 7, 51, -1.0F, -0.575F, 0.175F, 2, 1, 1, 0.0F, false)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(0.0F, -0.1614F, -1.7088F); + this.head.addChild(cube_r12); + this.setRotateAngle(cube_r12, 0.0873F, 0.0F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 24, 51, -0.5F, 0.0F, 0.0F, 1, 1, 1, 0.0F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(0.0F, 0.1806F, -2.6485F); + this.head.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.3491F, 0.0F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 19, 51, -0.5F, 0.0F, 0.0F, 1, 1, 1, 0.003F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(0.0F, 0.6423F, -3.5355F); + this.head.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.48F, 0.0F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 14, 51, -0.5F, 0.0F, 0.0F, 1, 1, 1, 0.0F, false)); + + this.eyeRight = new AdvancedModelRenderer(this); + this.eyeRight.setRotationPoint(-0.75F, 0.261F, -1.1174F); + this.head.addChild(eyeRight); + + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(0.0F, 0.0F, 0.0F); + this.eyeRight.addChild(cube_r15); + this.setRotateAngle(cube_r15, 0.0412F, -0.3052F, -0.0124F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 29, 51, -0.45F, -0.25F, -0.8F, 1, 1, 1, 0.0F, true)); + + this.eyeLeft = new AdvancedModelRenderer(this); + this.eyeLeft.setRotationPoint(0.75F, 0.261F, -1.1174F); + this.head.addChild(eyeLeft); + + + this.cube_r16 = new AdvancedModelRenderer(this); + this.cube_r16.setRotationPoint(0.0F, 0.0F, 0.0F); + this.eyeLeft.addChild(cube_r16); + this.setRotateAngle(cube_r16, 0.0412F, 0.3052F, 0.0124F); + this.cube_r16.cubeList.add(new ModelBox(cube_r16, 29, 51, -0.55F, -0.25F, -0.8F, 1, 1, 1, 0.0F, false)); + + this.jaw = new AdvancedModelRenderer(this); + this.jaw.setRotationPoint(0.0F, 1.6759F, 0.2589F); + this.head.addChild(jaw); + this.jaw.cubeList.add(new ModelBox(jaw, 43, 0, -0.5F, -0.5F, -3.775F, 1, 1, 4, 0.0F, false)); + this.jaw.cubeList.add(new ModelBox(jaw, 0, 49, -1.0F, -1.45F, -1.275F, 2, 1, 1, -0.01F, false)); + + this.cube_r17 = new AdvancedModelRenderer(this); + this.cube_r17.setRotationPoint(-1.3417F, 0.5046F, -0.8858F); + this.jaw.addChild(cube_r17); + this.setRotateAngle(cube_r17, -0.0096F, -0.305F, 0.032F); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, 20, 46, 0.0F, -1.0F, -3.0F, 1, 1, 3, 0.0F, true)); + + this.cube_r18 = new AdvancedModelRenderer(this); + this.cube_r18.setRotationPoint(-1.3416F, 0.4928F, -0.8882F); + this.jaw.addChild(cube_r18); + this.setRotateAngle(cube_r18, 0.0045F, 0.0433F, 0.0125F); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 39, 49, 0.0F, -1.0F, 0.0F, 1, 1, 1, -0.003F, true)); + + this.cube_r19 = new AdvancedModelRenderer(this); + this.cube_r19.setRotationPoint(1.3417F, 0.5046F, -0.8858F); + this.jaw.addChild(cube_r19); + this.setRotateAngle(cube_r19, -0.0096F, 0.305F, -0.032F); + this.cube_r19.cubeList.add(new ModelBox(cube_r19, 20, 46, -1.0F, -1.0F, -3.0F, 1, 1, 3, 0.0F, false)); + + this.cube_r20 = new AdvancedModelRenderer(this); + this.cube_r20.setRotationPoint(1.3416F, 0.4928F, -0.8882F); + this.jaw.addChild(cube_r20); + this.setRotateAngle(cube_r20, 0.0045F, -0.0433F, -0.0125F); + this.cube_r20.cubeList.add(new ModelBox(cube_r20, 39, 49, -1.0F, -1.0F, 0.0F, 1, 1, 1, -0.003F, false)); + + this.neckpouch = new AdvancedModelRenderer(this); + this.neckpouch.setRotationPoint(0.0F, 0.3571F, -1.8347F); + this.jaw.addChild(neckpouch); + this.setRotateAngle(neckpouch, -0.2443F, 0.0F, 0.0F); + + + this.cube_r21 = new AdvancedModelRenderer(this); + this.cube_r21.setRotationPoint(-0.5F, 0.1553F, 0.0149F); + this.neckpouch.addChild(cube_r21); + this.setRotateAngle(cube_r21, -0.1134F, 0.0F, 0.0F); + this.cube_r21.cubeList.add(new ModelBox(cube_r21, 11, 46, 0.0F, -1.0751F, -0.0221F, 1, 1, 3, 0.006F, false)); + + this.leftArm = new AdvancedModelRenderer(this); + this.leftArm.setRotationPoint(1.1795F, 0.1974F, -2.1188F); + this.chest.addChild(leftArm); + this.setRotateAngle(leftArm, -0.056F, -0.2331F, 0.256F); + this.leftArm.cubeList.add(new ModelBox(leftArm, 47, 19, -0.2444F, -0.606F, -0.7888F, 3, 1, 1, 0.01F, false)); + this.leftArm.cubeList.add(new ModelBox(leftArm, 47, 22, -0.2444F, -0.606F, -0.3888F, 3, 1, 1, 0.0F, false)); + + this.leftArm2 = new AdvancedModelRenderer(this); + this.leftArm2.setRotationPoint(2.3731F, -0.0506F, 0.2144F); + this.leftArm.addChild(leftArm2); + this.setRotateAngle(leftArm2, 0.9498F, 1.3824F, 0.9653F); + this.leftArm2.cubeList.add(new ModelBox(leftArm2, 47, 25, -0.25F, -0.5F, -0.5F, 3, 1, 1, -0.01F, false)); + + this.leftHand = new AdvancedModelRenderer(this); + this.leftHand.setRotationPoint(2.738F, 0.1784F, -0.0186F); + this.leftArm2.addChild(leftHand); + this.setRotateAngle(leftHand, 0.2763F, 0.4223F, -0.0866F); + this.leftHand.cubeList.add(new ModelBox(leftHand, 28, 42, -1.0483F, 0.0496F, -1.4917F, 3, 0, 3, 0.0F, false)); + + this.rightArm = new AdvancedModelRenderer(this); + this.rightArm.setRotationPoint(-1.1795F, 0.1974F, -2.1188F); + this.chest.addChild(rightArm); + this.setRotateAngle(rightArm, -0.056F, 0.2331F, -0.256F); + this.rightArm.cubeList.add(new ModelBox(rightArm, 47, 19, -2.7556F, -0.606F, -0.7888F, 3, 1, 1, 0.01F, true)); + this.rightArm.cubeList.add(new ModelBox(rightArm, 47, 22, -2.7556F, -0.606F, -0.3888F, 3, 1, 1, 0.0F, true)); + + this.rightArm2 = new AdvancedModelRenderer(this); + this.rightArm2.setRotationPoint(-2.3731F, -0.0506F, 0.2144F); + this.rightArm.addChild(rightArm2); + this.setRotateAngle(rightArm2, 0.9498F, -1.3824F, -0.9653F); + this.rightArm2.cubeList.add(new ModelBox(rightArm2, 47, 25, -2.75F, -0.5F, -0.5F, 3, 1, 1, -0.01F, true)); + + this.rightHand = new AdvancedModelRenderer(this); + this.rightHand.setRotationPoint(-2.738F, 0.1784F, -0.0186F); + this.rightArm2.addChild(rightHand); + this.setRotateAngle(rightHand, 0.2763F, -0.4223F, 0.0866F); + this.rightHand.cubeList.add(new ModelBox(rightHand, 28, 42, -1.9517F, 0.0496F, -1.4917F, 3, 0, 3, 0.0F, true)); + + this.rightWing = new AdvancedModelRenderer(this); + this.rightWing.setRotationPoint(-1.5F, 0.5418F, -6.7741F); + this.body.addChild(rightWing); + this.setRotateAngle(rightWing, 0.0F, 1.261F, 0.0F); + this.rightWing.cubeList.add(new ModelBox(rightWing, 0, 0, -18.025F, 0.0F, 0.0F, 18, 0, 3, 0.0F, true)); + + this.rightWing2 = new AdvancedModelRenderer(this); + this.rightWing2.setRotationPoint(-8.55F, 0.1F, 2.925F); + this.rightWing.addChild(rightWing2); + this.setRotateAngle(rightWing2, 3.098F, 0.0F, 0.0F); + this.rightWing2.cubeList.add(new ModelBox(rightWing2, 0, 4, -9.475F, -0.0663F, 0.0F, 18, 0, 3, 0.0F, true)); + + this.rightWing3 = new AdvancedModelRenderer(this); + this.rightWing3.setRotationPoint(1.375F, -0.1F, 1.775F); + this.rightWing2.addChild(rightWing3); + this.setRotateAngle(rightWing3, 3.1286F, -0.1536F, 0.0014F); + this.rightWing3.cubeList.add(new ModelBox(rightWing3, 0, 8, -10.8252F, 0.0537F, 0.059F, 18, 0, 3, 0.0F, true)); + + this.rightWing4 = new AdvancedModelRenderer(this); + this.rightWing4.setRotationPoint(0.0998F, 0.0737F, 2.209F); + this.rightWing3.addChild(rightWing4); + this.setRotateAngle(rightWing4, 3.1329F, 0.0305F, -0.0006F); + + + this.cube_r22 = new AdvancedModelRenderer(this); + this.cube_r22.setRotationPoint(0.7091F, 0.0012F, -0.4187F); + this.rightWing4.addChild(cube_r22); + this.setRotateAngle(cube_r22, 0.0F, 0.0044F, 0.0F); + this.cube_r22.cubeList.add(new ModelBox(cube_r22, 0, 12, -9.4218F, -0.0012F, -0.5835F, 16, 0, 3, 0.0F, true)); + + this.leftWing = new AdvancedModelRenderer(this); + this.leftWing.setRotationPoint(1.5F, 0.5418F, -6.7741F); + this.body.addChild(leftWing); + this.setRotateAngle(leftWing, 0.0F, -1.261F, 0.0F); + this.leftWing.cubeList.add(new ModelBox(leftWing, 0, 0, 0.025F, 0.0F, 0.0F, 18, 0, 3, 0.0F, false)); + + this.leftWing2 = new AdvancedModelRenderer(this); + this.leftWing2.setRotationPoint(8.55F, 0.1F, 2.925F); + this.leftWing.addChild(leftWing2); + this.setRotateAngle(leftWing2, 3.098F, 0.0F, 0.0F); + this.leftWing2.cubeList.add(new ModelBox(leftWing2, 0, 4, -8.525F, -0.0663F, 0.0F, 18, 0, 3, 0.0F, false)); + + this.leftWing3 = new AdvancedModelRenderer(this); + this.leftWing3.setRotationPoint(-1.375F, -0.1F, 1.775F); + this.leftWing2.addChild(leftWing3); + this.setRotateAngle(leftWing3, 3.1286F, 0.1536F, -0.0014F); + this.leftWing3.cubeList.add(new ModelBox(leftWing3, 0, 8, -7.1748F, 0.0537F, 0.059F, 18, 0, 3, 0.0F, false)); + + this.leftWing4 = new AdvancedModelRenderer(this); + this.leftWing4.setRotationPoint(-0.0998F, 0.0737F, 2.209F); + this.leftWing3.addChild(leftWing4); + this.setRotateAngle(leftWing4, 3.1329F, -0.0305F, 0.0006F); + + + this.cube_r23 = new AdvancedModelRenderer(this); + this.cube_r23.setRotationPoint(-0.7091F, 0.0012F, -0.4187F); + this.leftWing4.addChild(cube_r23); + this.setRotateAngle(cube_r23, 0.0F, -0.0044F, 0.0F); + this.cube_r23.cubeList.add(new ModelBox(cube_r23, 0, 12, -6.5782F, -0.0012F, -0.5835F, 16, 0, 3, 0.0F, false)); + + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.root.render(f5); + } + + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + public void renderStaticWall(float f) { + this.root.render(0.01F); + resetToDefaultPose(); + } + public void renderStaticFloor(float f) { + this.root.render(0.01F); + resetToDefaultPose(); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.root.offsetY = -2.30F; + this.root.offsetX = -0.05F; + this.root.rotateAngleY = (float)Math.toRadians(210); + this.root.rotateAngleX = (float)Math.toRadians(8); + this.root.rotateAngleZ = (float)Math.toRadians(-8); + this.root.scaleChildren = true; + float scaler = 2.9F; + this.root.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.root.render(f); + //Reset rotations, positions and sizing: + this.root.setScale(1.0F, 1.0F, 1.0F); + this.root.scaleChildren = false; + resetToDefaultPose(); + } + + @Override + 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); + + EntityPrehistoricFloraIcarosaurus ee = (EntityPrehistoricFloraIcarosaurus) e; + + this.faceTarget(f3, f4, 8, neck); + this.faceTarget(f3, f4, 10, head); + + AdvancedModelRenderer[] Tail = {this.tail, this.tail2, this.tail3, this.tail4, this.tail5}; + AdvancedModelRenderer[] Neck = {this.neck, this.head}; + + if (ee.getAnimation() != ee.LAY_ANIMATION && (!ee.getIsFlying()) && (!ee.getIsClimbing()) && (!ee.getIsFast())) { + //Just bob the tail and neck a little bit + this.chainSwing(Neck, 0.25F, 0.04F, 0.5, f2, 0.4F); + this.chainWave(Neck, 0.2F, -0.02F, 0.5F, f2, 0.4F); + this.chainSwing(Tail, 0.2F, -0.1F, 0.5F, f2, 0.4F); + } + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraIcarosaurus ee = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getClimbFacing() == EnumFacing.NORTH + || ee.getClimbFacing() == EnumFacing.EAST + || ee.getClimbFacing() == EnumFacing.SOUTH + || ee.getClimbFacing() == EnumFacing.WEST + || ee.getIsClimbing()) { + if (ee.getHeadCollided()) { + animClimbing(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, true); + } + else { + //Just pose with no animation running: + animClimbing(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, false); + } + } + else if (ee.getIsMoving()) { + if (!ee.getIsFlying()) { + if (ee.getIsFast()) { //Running + animRunning(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } else { //Walking + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + else { + //Is gliding: + animGliding(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + + } + } + } + else { + animGliding(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + + if (ee.getAnimation() == ee.EAT_ANIMATION) { + animEat(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + } + + public void animEat(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraIcarosaurus entity = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-13.5-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = -13.5 + (((tickAnim - 2) / 1) * (-13.5-(-13.5))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = -13.5 + (((tickAnim - 3) / 3) * (-20.75-(-13.5))); + yy = 0 + (((tickAnim - 3) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 3) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 8) { + xx = -20.75 + (((tickAnim - 6) / 2) * (4.38328-(-20.75))); + yy = 0 + (((tickAnim - 6) / 2) * (-7.98578-(0))); + zz = 0 + (((tickAnim - 6) / 2) * (0.47827-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 4.38328 + (((tickAnim - 8) / 2) * (-3-(4.38328))); + yy = -7.98578 + (((tickAnim - 8) / 2) * (0-(-7.98578))); + zz = 0.47827 + (((tickAnim - 8) / 2) * (0-(0.47827))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = -3 + (((tickAnim - 10) / 3) * (-19.5-(-3))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = -19.5 + (((tickAnim - 13) / 1) * (-12.5-(-19.5))); + yy = 0 + (((tickAnim - 13) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 1) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 18) { + xx = -12.5 + (((tickAnim - 14) / 4) * (-18.75-(-12.5))); + yy = 0 + (((tickAnim - 14) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 14) / 4) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = -18.75 + (((tickAnim - 18) / 2) * (0-(-18.75))); + yy = 0 + (((tickAnim - 18) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0.4-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 0 + (((tickAnim - 2) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0.4 + (((tickAnim - 2) / 1) * (0.4-(0.4))); + } + else if (tickAnim >= 3 && tickAnim < 10) { + xx = 0 + (((tickAnim - 3) / 7) * (0-(0))); + yy = 0 + (((tickAnim - 3) / 7) * (0-(0))); + zz = 0.4 + (((tickAnim - 3) / 7) * (0-(0.4))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0.75-(0))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 0 + (((tickAnim - 13) / 7) * (0-(0))); + yy = 0 + (((tickAnim - 13) / 7) * (0-(0))); + zz = 0.75 + (((tickAnim - 13) / 7) * (0-(0.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.neck.rotationPointX = this.neck.rotationPointX + (float)(xx); + this.neck.rotationPointY = this.neck.rotationPointY - (float)(yy); + this.neck.rotationPointZ = this.neck.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (6.5-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 6.5 + (((tickAnim - 10) / 2) * (12.25-(6.5))); + yy = 0 + (((tickAnim - 10) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 2) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 13) { + xx = 12.25 + (((tickAnim - 12) / 1) * (17.42-(12.25))); + yy = 0 + (((tickAnim - 12) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 1) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 17.42 + (((tickAnim - 13) / 1) * (-9.25-(17.42))); + yy = 0 + (((tickAnim - 13) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 1) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = -9.25 + (((tickAnim - 14) / 3) * (0-(-9.25))); + yy = 0 + (((tickAnim - 14) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 14) / 3) * (0-(0))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = 0 + (((tickAnim - 17) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 17) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 17) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neckpouch, neckpouch.rotateAngleX + (float) Math.toRadians(xx), neckpouch.rotateAngleY + (float) Math.toRadians(yy), neckpouch.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.neckpouch.rotationPointX = this.neckpouch.rotationPointX + (float)(xx); + this.neckpouch.rotationPointY = this.neckpouch.rotationPointY - (float)(yy); + this.neckpouch.rotationPointZ = this.neckpouch.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 1 + (((tickAnim - 8) / 2) * (1-(1))); + yy = 1 + (((tickAnim - 8) / 2) * (1-(1))); + zz = 1 + (((tickAnim - 8) / 2) * (1.2-(1))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 1 + (((tickAnim - 10) / 3) * (1-(1))); + yy = 1 + (((tickAnim - 10) / 3) * (1-(1))); + zz = 1.2 + (((tickAnim - 10) / 3) * (1.2-(1.2))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 1 + (((tickAnim - 13) / 1) * (1-(1))); + yy = 1 + (((tickAnim - 13) / 1) * (1-(1))); + zz = 1.2 + (((tickAnim - 13) / 1) * (0.7-(1.2))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = 1 + (((tickAnim - 14) / 3) * (1-(1))); + yy = 1 + (((tickAnim - 14) / 3) * (1-(1))); + zz = 0.7 + (((tickAnim - 14) / 3) * (1.2-(0.7))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = 1 + (((tickAnim - 17) / 3) * (1-(1))); + yy = 1 + (((tickAnim - 17) / 3) * (1-(1))); + zz = 1.2 + (((tickAnim - 17) / 3) * (1-(1.2))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.neckpouch.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (32.75-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 32.75 + (((tickAnim - 2) / 1) * (32.75-(32.75))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 32.75 + (((tickAnim - 3) / 3) * (38.25-(32.75))); + yy = 0 + (((tickAnim - 3) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 3) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 8) { + xx = 38.25 + (((tickAnim - 6) / 2) * (5.02508-(38.25))); + yy = 0 + (((tickAnim - 6) / 2) * (12.71646-(0))); + zz = 0 + (((tickAnim - 6) / 2) * (0.46713-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 5.02508 + (((tickAnim - 8) / 2) * (-30.95015-(5.02508))); + yy = 12.71646 + (((tickAnim - 8) / 2) * (-1.11244-(12.71646))); + zz = 0.46713 + (((tickAnim - 8) / 2) * (-5.13111-(0.46713))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = -30.95015 + (((tickAnim - 10) / 2) * (-18.70015-(-30.95015))); + yy = -1.11244 + (((tickAnim - 10) / 2) * (-1.11244-(-1.11244))); + zz = -5.13111 + (((tickAnim - 10) / 2) * (-5.13111-(-5.13111))); + } + else if (tickAnim >= 12 && tickAnim < 13) { + xx = -18.70015 + (((tickAnim - 12) / 1) * (-21.03349-(-18.70015))); + yy = -1.11244 + (((tickAnim - 12) / 1) * (-1.11244-(-1.11244))); + zz = -5.13111 + (((tickAnim - 12) / 1) * (-5.13111-(-5.13111))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = -21.03349 + (((tickAnim - 13) / 1) * (23.79985-(-21.03349))); + yy = -1.11244 + (((tickAnim - 13) / 1) * (-1.11244-(-1.11244))); + zz = -5.13111 + (((tickAnim - 13) / 1) * (-5.13111-(-5.13111))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = 23.79985 + (((tickAnim - 14) / 3) * (-14.49503-(23.79985))); + yy = -1.11244 + (((tickAnim - 14) / 3) * (-2.04045-(-1.11244))); + zz = -5.13111 + (((tickAnim - 14) / 3) * (-12.57638-(-5.13111))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = -14.49503 + (((tickAnim - 17) / 3) * (0-(-14.49503))); + yy = -2.04045 + (((tickAnim - 17) / 3) * (0-(-2.04045))); + zz = -12.57638 + (((tickAnim - 17) / 3) * (0-(-12.57638))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.head.rotationPointX = this.head.rotationPointX + (float)(xx); + this.head.rotationPointY = this.head.rotationPointY - (float)(yy); + this.head.rotationPointZ = this.head.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 0 + (((tickAnim - 2) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 0 + (((tickAnim - 3) / 3) * (20-(0))); + yy = 0 + (((tickAnim - 3) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 3) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 8) { + xx = 20 + (((tickAnim - 6) / 2) * (0-(20))); + yy = 0 + (((tickAnim - 6) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 6) / 2) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (31.75-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 31.75 + (((tickAnim - 10) / 2) * (0-(31.75))); + yy = 0 + (((tickAnim - 10) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 2) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 14) { + xx = 0 + (((tickAnim - 12) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 12) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 2) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = 0 + (((tickAnim - 14) / 3) * (24.5-(0))); + yy = 0 + (((tickAnim - 14) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 14) / 3) * (0-(0))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = 24.5 + (((tickAnim - 17) / 3) * (0-(24.5))); + yy = 0 + (((tickAnim - 17) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 17) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animGliding(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraIcarosaurus entity = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + int animCycle = 170; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0.2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5))*3 + (((tickAnim - 0) / 20) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-50))*3-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5))*3))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 0.2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5 + (((tickAnim - 20) / 25) * (1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2-(0.2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5))); + yy = 0 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2-(0))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-50))*3 + (((tickAnim - 20) / 25) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-50))*3))); + } + else if (tickAnim >= 45 && tickAnim < 169) { + xx = 1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2 + (((tickAnim - 45) / 124) * (0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2-(1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2 + (((tickAnim - 45) / 124) * (-1.25-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5 + (((tickAnim - 45) / 124) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5))); + } + else if (tickAnim >= 169 && tickAnim < 170) { + xx = 0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2 + (((tickAnim - 169) / 1) * (0-(0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-80))*0.2))); + yy = -1.25-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2 + (((tickAnim - 169) / 1) * (0-(-1.25-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-300))*2))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5 + (((tickAnim - 169) / 1) * (2.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5))*3-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*360/0.5-300))*0.5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(xx), root.rotateAngleY + (float) Math.toRadians(yy), root.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 93) { + xx = 0 + (((tickAnim - 0) / 93) * (-0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*60-80))*1-(0))); + yy = 0 + (((tickAnim - 0) / 93) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 93) * (0-(0))); + } + else if (tickAnim >= 93 && tickAnim < 140) { + xx = -0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*60-80))*1 + (((tickAnim - 93) / 47) * (0.425-Math.sin((Math.PI/180)*(((double)tickAnim/20)*40-80))*-1-(-0.05-Math.sin((Math.PI/180)*(((double)tickAnim/20)*60-80))*1))); + yy = 0 + (((tickAnim - 93) / 47) * (0-(0))); + zz = 0 + (((tickAnim - 93) / 47) * (0-(0))); + } + else if (tickAnim >= 140 && tickAnim < 170) { + xx = 0.425-Math.sin((Math.PI/180)*(((double)tickAnim/20)*40-80))*-1 + (((tickAnim - 140) / 30) * (0-(0.425-Math.sin((Math.PI/180)*(((double)tickAnim/20)*40-80))*-1))); + yy = 0 + (((tickAnim - 140) / 30) * (0-(0))); + zz = 0 + (((tickAnim - 140) / 30) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.root.rotationPointX = this.root.rotationPointX + (float)(xx); + this.root.rotationPointY = this.root.rotationPointY - (float)(yy); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3 + (((tickAnim - 0) / 20) * (3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3-(3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3))); + yy = -9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*9 + (((tickAnim - 0) / 20) * (-9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-9-(-9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*9))); + zz = -4.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-5 + (((tickAnim - 0) / 20) * (-4.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5-(-4.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-5))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3 + (((tickAnim - 20) / 25) * (11.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1-(3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3))); + yy = -9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-9 + (((tickAnim - 20) / 25) * (-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2-(-9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-9))); + zz = -4.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5 + (((tickAnim - 20) / 25) * (0-(-4.75+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*5))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = 11.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1 + (((tickAnim - 45) / 120) * (4.375-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1-(11.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1))); + yy = -Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2 + (((tickAnim - 45) / 120) * (-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2-(-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = 4.375-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1 + (((tickAnim - 165) / 5) * (2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-3-(4.375-Math.sin((Math.PI/180)*(((double)tickAnim/20)*150/0.5-80))*-1))); + yy = -Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2 + (((tickAnim - 165) / 5) * (-4.75-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*9-(-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-250))*-2))); + zz = 0 + (((tickAnim - 165) / 5) * (-2.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-80))*-5-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(xx), tail.rotateAngleY + (float) Math.toRadians(yy), tail.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-100))*-6 + (((tickAnim - 0) / 20) * (6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-100))*-10-(6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-100))*-6))); + yy = 2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5 + (((tickAnim - 0) / 20) * (2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*8-(2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-100))*-10 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1-(6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-100))*-10))); + yy = 2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*8 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2-(2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*8))); + zz = 0 + (((tickAnim - 20) / 25) * (0-(0))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1 + (((tickAnim - 165) / 5) * (5.25-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*-6-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-100))*-1))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2 + (((tickAnim - 165) / 5) * (-3.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-200))*-2))); + zz = 0 + (((tickAnim - 165) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(xx), tail2.rotateAngleY + (float) Math.toRadians(yy), tail2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-9 + (((tickAnim - 0) / 20) * (8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-15-(8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-9))); + yy = -2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*-5 + (((tickAnim - 0) / 20) * (2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*5-(-2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*-5))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-15 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2-(8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-15))); + yy = 2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*5 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2-(2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*5))); + zz = 0 + (((tickAnim - 20) / 25) * (0-(0))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2 + (((tickAnim - 165) / 5) * (-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-120))*-2))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2 + (((tickAnim - 165) / 5) * (-3.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-150))*-2))); + zz = 0 + (((tickAnim - 165) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(xx), tail3.rotateAngleY + (float) Math.toRadians(yy), tail3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-10 + (((tickAnim - 0) / 20) * (8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-20-(8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-10))); + yy = -5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5 + (((tickAnim - 0) / 20) * (-2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9-(-5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-20 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3-(8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-20))); + yy = -2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2-(-2-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9))); + zz = 0 + (((tickAnim - 20) / 25) * (0-(0))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3 + (((tickAnim - 165) / 5) * (-3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-10-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-130))*-3))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2 + (((tickAnim - 165) / 5) * (-3.25-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-100))*2))); + zz = 0 + (((tickAnim - 165) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(xx), tail4.rotateAngleY + (float) Math.toRadians(yy), tail4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15 + (((tickAnim - 0) / 20) * (9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15-(9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15))); + yy = -5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5 + (((tickAnim - 0) / 20) * (10-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9-(-5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4-(9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15))); + yy = 10-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2-(10-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9))); + zz = 0 + (((tickAnim - 20) / 25) * (0-(0))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4 + (((tickAnim - 165) / 5) * (-8-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-15-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-140))*-4))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2 + (((tickAnim - 165) / 5) * (-5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-180))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-50))*2))); + zz = 0 + (((tickAnim - 165) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(xx), tail5.rotateAngleY + (float) Math.toRadians(yy), tail5.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 22) { + xx = 9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18 + (((tickAnim - 0) / 22) * (9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18-(9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18))); + yy = -5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5 + (((tickAnim - 0) / 22) * (3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9-(-5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*-5))); + zz = 0 + (((tickAnim - 0) / 22) * (0-(0))); + } + else if (tickAnim >= 22 && tickAnim < 45) { + xx = 9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18 + (((tickAnim - 22) / 23) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5-(9-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18))); + yy = 3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9 + (((tickAnim - 22) / 23) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2-(3-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-250))*9))); + zz = 0 + (((tickAnim - 22) / 23) * (0-(0))); + } + else if (tickAnim >= 45 && tickAnim < 165) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2 + (((tickAnim - 45) / 120) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2))); + zz = 0 + (((tickAnim - 45) / 120) * (0-(0))); + } + else if (tickAnim >= 165 && tickAnim < 170) { + xx = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5 + (((tickAnim - 165) / 5) * (-11.75-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-18-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-150))*-5))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2 + (((tickAnim - 165) / 5) * (-5.5-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-200))*-5-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5))*2))); + zz = 0 + (((tickAnim - 165) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(xx), tail6.rotateAngleY + (float) Math.toRadians(yy), tail6.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (-4.825-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3 + (((tickAnim - 0) / 20) * (4.95+Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-190))*-3-(2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = -4.825-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4 + (((tickAnim - 20) / 25) * (-0.65-(-4.825-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4))); + yy = 0 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(0))); + zz = 4.95+Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-190))*-3 + (((tickAnim - 20) / 25) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1-(4.95+Math.sin((Math.PI/180)*(((double)tickAnim/20)*200/0.5-190))*-3))); + } + else if (tickAnim >= 45 && tickAnim < 169) { + xx = -0.65 + (((tickAnim - 45) / 124) * (-0.65-(-0.65))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 45) / 124) * (1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1 + (((tickAnim - 45) / 124) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1))); + } + else if (tickAnim >= 169 && tickAnim < 170) { + xx = -0.65 + (((tickAnim - 169) / 1) * (0-(-0.65))); + yy = 1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 169) / 1) * (0-(1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1 + (((tickAnim - 169) / 1) * (2.6+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(xx), body.rotateAngleY + (float) Math.toRadians(yy), body.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (6.125-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3 + (((tickAnim - 0) / 20) * (-2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3-(2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 6.125-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4 + (((tickAnim - 20) / 25) * (-0.65-(6.125-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-220))*4))); + yy = 0 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(0))); + zz = -2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3 + (((tickAnim - 20) / 25) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1-(-2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3))); + } + else if (tickAnim >= 45 && tickAnim < 169) { + xx = -0.65 + (((tickAnim - 45) / 124) * (0-(-0.65))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 45) / 124) * (1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1 + (((tickAnim - 45) / 124) * (-1.325+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1))); + } + else if (tickAnim >= 169 && tickAnim < 170) { + xx = 0 + (((tickAnim - 169) / 1) * (0-(0))); + yy = 1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 169) / 1) * (0-(1-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = -1.325+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1 + (((tickAnim - 169) / 1) * (2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3-(-1.325+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*-1))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(xx), chest.rotateAngleY + (float) Math.toRadians(yy), chest.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 12 + (((tickAnim - 0) / 20) * (17.6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-190))*-5-(12))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3 + (((tickAnim - 0) / 20) * (-2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3-(2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3))); + } + else if (tickAnim >= 20 && tickAnim < 45) { + xx = 17.6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-190))*-5 + (((tickAnim - 20) / 25) * (12-(17.6-Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-190))*-5))); + yy = 0 + (((tickAnim - 20) / 25) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(0))); + zz = -2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3 + (((tickAnim - 20) / 25) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1-(-2.2+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*3))); + } + else if (tickAnim >= 45 && tickAnim < 169) { + xx = 12 + (((tickAnim - 45) / 124) * (12-(12))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 45) / 124) * (-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1 + (((tickAnim - 45) / 124) * (0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1))); + } + else if (tickAnim >= 169 && tickAnim < 170) { + xx = 12 + (((tickAnim - 169) / 1) * (12-(12))); + yy = -0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1 + (((tickAnim - 169) / 1) * (0-(-0-Math.sin((Math.PI/180)*(((double)tickAnim/20)*100/0.5-350))*-1))); + zz = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1 + (((tickAnim - 169) / 1) * (2.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*250/0.5-50))*3-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*300/0.5-190))*1))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + this.setRotateAngle(neckpouch, neckpouch.rotateAngleX + (float) Math.toRadians(7.5), neckpouch.rotateAngleY + (float) Math.toRadians(0), neckpouch.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -12 + (((tickAnim - 0) / 170) * (-12-(-12))); + yy = 0 + (((tickAnim - 0) / 170) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 170) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 88.10926 + (((tickAnim - 0) / 170) * (88.10926-(88.10926))); + yy = 11.14353 + (((tickAnim - 0) / 170) * (11.14353-(11.14353))); + zz = -22.96583 + (((tickAnim - 0) / 170) * (-22.96583-(-22.96583))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -55.84919 + (((tickAnim - 0) / 170) * (-55.84919-(-55.84919))); + yy = -67.61638 + (((tickAnim - 0) / 170) * (-67.61638-(-67.61638))); + zz = -67.21205 + (((tickAnim - 0) / 170) * (-67.21205-(-67.21205))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 0 + (((tickAnim - 0) / 170) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 170) * (0-(0))); + zz = -0.225 + (((tickAnim - 0) / 170) * (-0.225-(-0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftArm2.rotationPointX = this.leftArm2.rotationPointX + (float)(xx); + this.leftArm2.rotationPointY = this.leftArm2.rotationPointY - (float)(yy); + this.leftArm2.rotationPointZ = this.leftArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -0.35698 + (((tickAnim - 0) / 170) * (-0.35698-(-0.35698))); + yy = -15.8707 + (((tickAnim - 0) / 170) * (-15.8707-(-15.8707))); + zz = 16.51564 + (((tickAnim - 0) / 170) * (16.51564-(16.51564))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftHand, leftHand.rotateAngleX + (float) Math.toRadians(xx), leftHand.rotateAngleY + (float) Math.toRadians(yy), leftHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 88.10926 + (((tickAnim - 0) / 170) * (88.10926-(88.10926))); + yy = -11.14353 + (((tickAnim - 0) / 170) * (-11.14353-(-11.14353))); + zz = 22.96583 + (((tickAnim - 0) / 170) * (22.96583-(22.96583))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -55.84919 + (((tickAnim - 0) / 170) * (-55.84919-(-55.84919))); + yy = 67.61638 + (((tickAnim - 0) / 170) * (67.61638-(67.61638))); + zz = 67.21205 + (((tickAnim - 0) / 170) * (67.21205-(67.21205))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 0 + (((tickAnim - 0) / 170) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 170) * (0-(0))); + zz = -0.225 + (((tickAnim - 0) / 170) * (-0.225-(-0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightArm2.rotationPointX = this.rightArm2.rotationPointX + (float)(xx); + this.rightArm2.rotationPointY = this.rightArm2.rotationPointY - (float)(yy); + this.rightArm2.rotationPointZ = this.rightArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -0.35698 + (((tickAnim - 0) / 170) * (-0.35698-(-0.35698))); + yy = 15.8707 + (((tickAnim - 0) / 170) * (15.8707-(15.8707))); + zz = -16.51564 + (((tickAnim - 0) / 170) * (-16.51564-(-16.51564))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightHand, rightHand.rotateAngleX + (float) Math.toRadians(xx), rightHand.rotateAngleY + (float) Math.toRadians(yy), rightHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 82.97871 + (((tickAnim - 0) / 170) * (82.97871-(82.97871))); + yy = 7.96837 + (((tickAnim - 0) / 170) * (7.96837-(7.96837))); + zz = 2.63338 + (((tickAnim - 0) / 170) * (2.63338-(2.63338))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -1.54336 + (((tickAnim - 0) / 170) * (-1.54336-(-1.54336))); + yy = -49.01596 + (((tickAnim - 0) / 170) * (-49.01596-(-49.01596))); + zz = -16.22714 + (((tickAnim - 0) / 170) * (-16.22714-(-16.22714))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 0 + (((tickAnim - 0) / 170) * (0-(0))); + yy = 47.25 + (((tickAnim - 0) / 170) * (47.25-(47.25))); + zz = 0 + (((tickAnim - 0) / 170) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightFoot, rightFoot.rotateAngleX + (float) Math.toRadians(xx), rightFoot.rotateAngleY + (float) Math.toRadians(yy), rightFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + + this.setRotateAngle(rightWing, rightWing.rotateAngleX + (float) Math.toRadians(1.49322), rightWing.rotateAngleY + (float) Math.toRadians(-71.50213), rightWing.rotateAngleZ + (float) Math.toRadians(0.1633)); + this.rightWing.rotationPointX = this.rightWing.rotationPointX + (float)(0.225); + this.rightWing.rotationPointY = this.rightWing.rotationPointY - (float)(0); + this.rightWing.rotationPointZ = this.rightWing.rotationPointZ + (float)(-0.175); + + + this.setRotateAngle(rightWing2, rightWing2.rotateAngleX + (float) Math.toRadians(180), rightWing2.rotateAngleY + (float) Math.toRadians(0), rightWing2.rotateAngleZ + (float) Math.toRadians(0)); + this.rightWing2.rotationPointX = this.rightWing2.rotationPointX + (float)(0); + this.rightWing2.rotationPointY = this.rightWing2.rotationPointY - (float)(0); + this.rightWing2.rotationPointZ = this.rightWing2.rotationPointZ + (float)(0); + + + this.setRotateAngle(rightWing3, rightWing3.rotateAngleX + (float) Math.toRadians(181.16336), rightWing3.rotateAngleY + (float) Math.toRadians(13.74875), rightWing3.rotateAngleZ + (float) Math.toRadians(-0.38281)); + this.rightWing3.rotationPointX = this.rightWing3.rotationPointX + (float)(0.05); + this.rightWing3.rotationPointY = this.rightWing3.rotationPointY - (float)(0.05); + this.rightWing3.rotationPointZ = this.rightWing3.rotationPointZ + (float)(0.275); + + + this.setRotateAngle(rightWing4, rightWing4.rotateAngleX + (float) Math.toRadians(181.48657), rightWing4.rotateAngleY + (float) Math.toRadians(7.74881), rightWing4.rotateAngleZ + (float) Math.toRadians(-0.13669)); + this.rightWing4.rotationPointX = this.rightWing4.rotationPointX + (float)(0); + this.rightWing4.rotationPointY = this.rightWing4.rotationPointY - (float)(0); + this.rightWing4.rotationPointZ = this.rightWing4.rotationPointZ + (float)(0); + + + this.setRotateAngle(leftWing, leftWing.rotateAngleX + (float) Math.toRadians(1.49322), leftWing.rotateAngleY + (float) Math.toRadians(71.50213), leftWing.rotateAngleZ + (float) Math.toRadians(-0.1633)); + this.leftWing.rotationPointX = this.leftWing.rotationPointX + (float)(-0.225); + this.leftWing.rotationPointY = this.leftWing.rotationPointY - (float)(0); + this.leftWing.rotationPointZ = this.leftWing.rotationPointZ + (float)(-0.175); + + + this.setRotateAngle(leftWing2, leftWing2.rotateAngleX + (float) Math.toRadians(180), leftWing2.rotateAngleY + (float) Math.toRadians(0), leftWing2.rotateAngleZ + (float) Math.toRadians(0)); + this.leftWing2.rotationPointX = this.leftWing2.rotationPointX + (float)(0); + this.leftWing2.rotationPointY = this.leftWing2.rotationPointY - (float)(0); + this.leftWing2.rotationPointZ = this.leftWing2.rotationPointZ + (float)(0); + + + this.setRotateAngle(leftWing3, leftWing3.rotateAngleX + (float) Math.toRadians(181.185), leftWing3.rotateAngleY + (float) Math.toRadians(-13.74689), leftWing3.rotateAngleZ + (float) Math.toRadians(0.13188)); + this.leftWing3.rotationPointX = this.leftWing3.rotationPointX + (float)(0.05); + this.leftWing3.rotationPointY = this.leftWing3.rotationPointY - (float)(0.05); + this.leftWing3.rotationPointZ = this.leftWing3.rotationPointZ + (float)(0.275); + + + this.setRotateAngle(leftWing4, leftWing4.rotateAngleX + (float) Math.toRadians(181.48657), leftWing4.rotateAngleY + (float) Math.toRadians(-7.74881), leftWing4.rotateAngleZ + (float) Math.toRadians(0.13669)); + this.leftWing4.rotationPointX = this.leftWing4.rotationPointX + (float)(0); + this.leftWing4.rotationPointY = this.leftWing4.rotationPointY - (float)(0); + this.leftWing4.rotationPointZ = this.leftWing4.rotationPointZ + (float)(0); + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 82.97871 + (((tickAnim - 0) / 170) * (82.97871-(82.97871))); + yy = -7.96837 + (((tickAnim - 0) / 170) * (-7.96837-(-7.96837))); + zz = -2.63338 + (((tickAnim - 0) / 170) * (-2.63338-(-2.63338))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = -1.54336 + (((tickAnim - 0) / 170) * (-1.54336-(-1.54336))); + yy = 49.01596 + (((tickAnim - 0) / 170) * (49.01596-(49.01596))); + zz = 16.22714 + (((tickAnim - 0) / 170) * (16.22714-(16.22714))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 170) { + xx = 0 + (((tickAnim - 0) / 170) * (0-(0))); + yy = -47.25 + (((tickAnim - 0) / 170) * (-47.25-(-47.25))); + zz = 0 + (((tickAnim - 0) / 170) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftFoot, leftFoot.rotateAngleX + (float) Math.toRadians(xx), leftFoot.rotateAngleY + (float) Math.toRadians(yy), leftFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + } + public void animRunning(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraIcarosaurus entity = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + int animCycle = 10; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*-4), root.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*-17), root.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720))*-8)); + this.root.rotationPointX = this.root.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*1); + this.root.rotationPointY = this.root.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*-0.5); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*-0.5); + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(5.25-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*4), tail.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720))*15), tail.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720))*-4)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(4.75-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-100))*4), tail2.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720+80))*18), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(-7.0828-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*1), tail3.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720+100))*-21.0542), tail3.rotateAngleZ + (float) Math.toRadians(2.91129)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(3.25-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-200))*2), tail4.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720+150))*-23), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(3.25-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-250))*3), tail5.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720+250))*25), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-300))*4), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720+300))*27), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-90))*-1), body.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-90))*17), body.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*3), chest.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*-17), chest.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(12.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-200))*-4), neck.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*17), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(-16.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-250))*-6), head.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*-17), head.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 11 + (((tickAnim - 0) / 3) * (77.49291-(11))); + yy = 59.25 + (((tickAnim - 0) / 3) * (-5.88557-(59.25))); + zz = 0 + (((tickAnim - 0) / 3) * (-38.68357-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 77.49291 + (((tickAnim - 3) / 2) * (126.93156-(77.49291))); + yy = -5.88557 + (((tickAnim - 3) / 2) * (-59.72046-(-5.88557))); + zz = -38.68357 + (((tickAnim - 3) / 2) * (-69.89086-(-38.68357))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 126.93156 + (((tickAnim - 5) / 3) * (-13.65173-(126.93156))); + yy = -59.72046 + (((tickAnim - 5) / 3) * (18.92581-(-59.72046))); + zz = -69.89086 + (((tickAnim - 5) / 3) * (-58.60603-(-69.89086))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -13.65173 + (((tickAnim - 8) / 2) * (11-(-13.65173))); + yy = 18.92581 + (((tickAnim - 8) / 2) * (59.25-(18.92581))); + zz = -58.60603 + (((tickAnim - 8) / 2) * (0-(-58.60603))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -34.33401 + (((tickAnim - 0) / 5) * (-56.33832-(-34.33401))); + yy = -28.89493 + (((tickAnim - 0) / 5) * (-44.55976-(-28.89493))); + zz = -36.44092 + (((tickAnim - 0) / 5) * (-63.48918-(-36.44092))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = -56.33832 + (((tickAnim - 5) / 2) * (-31.59373-(-56.33832))); + yy = -44.55976 + (((tickAnim - 5) / 2) * (-42.45071-(-44.55976))); + zz = -63.48918 + (((tickAnim - 5) / 2) * (-28.10927-(-63.48918))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = -31.59373 + (((tickAnim - 7) / 3) * (-34.33401-(-31.59373))); + yy = -42.45071 + (((tickAnim - 7) / 3) * (-28.89493-(-42.45071))); + zz = -28.10927 + (((tickAnim - 7) / 3) * (-36.44092-(-28.10927))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = -6 + (((tickAnim - 0) / 3) * (-39.76974-(-6))); + yy = -21.75 + (((tickAnim - 0) / 3) * (1.44315-(-21.75))); + zz = 0 + (((tickAnim - 0) / 3) * (-29.73427-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -39.76974 + (((tickAnim - 3) / 2) * (-68.74177-(-39.76974))); + yy = 1.44315 + (((tickAnim - 3) / 2) * (17.88173-(1.44315))); + zz = -29.73427 + (((tickAnim - 3) / 2) * (-64.16327-(-29.73427))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = -68.74177 + (((tickAnim - 5) / 2) * (12.57886-(-68.74177))); + yy = 17.88173 + (((tickAnim - 5) / 2) * (-56.73456-(17.88173))); + zz = -64.16327 + (((tickAnim - 5) / 2) * (37.78518-(-64.16327))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 12.57886 + (((tickAnim - 7) / 1) * (-7.26519-(12.57886))); + yy = -56.73456 + (((tickAnim - 7) / 1) * (-46.86725-(-56.73456))); + zz = 37.78518 + (((tickAnim - 7) / 1) * (50.72073-(37.78518))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -7.26519 + (((tickAnim - 8) / 2) * (-6-(-7.26519))); + yy = -46.86725 + (((tickAnim - 8) / 2) * (-21.75-(-46.86725))); + zz = 50.72073 + (((tickAnim - 8) / 2) * (0-(50.72073))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftHand, leftHand.rotateAngleX + (float) Math.toRadians(xx), leftHand.rotateAngleY + (float) Math.toRadians(yy), leftHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (-0.8-(0))); + yy = 0 + (((tickAnim - 0) / 1) * (0.23-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (-0.13-(0))); + } + else if (tickAnim >= 1 && tickAnim < 5) { + xx = -0.8 + (((tickAnim - 1) / 4) * (0-(-0.8))); + yy = 0.23 + (((tickAnim - 1) / 4) * (0.35-(0.23))); + zz = -0.13 + (((tickAnim - 1) / 4) * (-0.575-(-0.13))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (0-(0))); + yy = 0.35 + (((tickAnim - 5) / 2) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 5) / 2) * (0.315-(-0.575))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 0 + (((tickAnim - 7) / 1) * (0-(0))); + yy = 0.19 + (((tickAnim - 7) / 1) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 7) / 1) * (0.16-(0.315))); + } + else if (tickAnim >= 8 && tickAnim < 9) { + xx = 0 + (((tickAnim - 8) / 1) * (0-(0))); + yy = -0.11 + (((tickAnim - 8) / 1) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 8) / 1) * (0.08-(0.16))); + } + else if (tickAnim >= 9 && tickAnim < 10) { + xx = 0 + (((tickAnim - 9) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 9) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 9) / 1) * (0-(0.08))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftHand.rotationPointX = this.leftHand.rotationPointX + (float)(xx); + this.leftHand.rotationPointY = this.leftHand.rotationPointY - (float)(yy); + this.leftHand.rotationPointZ = this.leftHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 126.93156 + (((tickAnim - 0) / 3) * (-13.65173-(126.93156))); + yy = 59.72046 + (((tickAnim - 0) / 3) * (-18.92581-(59.72046))); + zz = 69.89086 + (((tickAnim - 0) / 3) * (58.60603-(69.89086))); + } + else if (tickAnim >= 3 && tickAnim < 4) { + xx = -13.65173 + (((tickAnim - 3) / 1) * (11-(-13.65173))); + yy = -18.92581 + (((tickAnim - 3) / 1) * (-59.25-(-18.92581))); + zz = 58.60603 + (((tickAnim - 3) / 1) * (0-(58.60603))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 11 + (((tickAnim - 4) / 4) * (77.49291-(11))); + yy = -59.25 + (((tickAnim - 4) / 4) * (5.88557-(-59.25))); + zz = 0 + (((tickAnim - 4) / 4) * (38.68357-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 77.49291 + (((tickAnim - 8) / 2) * (126.93156-(77.49291))); + yy = 5.88557 + (((tickAnim - 8) / 2) * (59.72046-(5.88557))); + zz = 38.68357 + (((tickAnim - 8) / 2) * (69.89086-(38.68357))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = -56.33832 + (((tickAnim - 0) / 1) * (-31.59373-(-56.33832))); + yy = 44.55976 + (((tickAnim - 0) / 1) * (42.45071-(44.55976))); + zz = 63.48918 + (((tickAnim - 0) / 1) * (28.10927-(63.48918))); + } + else if (tickAnim >= 1 && tickAnim < 4) { + xx = -31.59373 + (((tickAnim - 1) / 3) * (-34.33401-(-31.59373))); + yy = 42.45071 + (((tickAnim - 1) / 3) * (28.89493-(42.45071))); + zz = 28.10927 + (((tickAnim - 1) / 3) * (36.44092-(28.10927))); + } + else if (tickAnim >= 4 && tickAnim < 10) { + xx = -34.33401 + (((tickAnim - 4) / 6) * (-56.33832-(-34.33401))); + yy = 28.89493 + (((tickAnim - 4) / 6) * (44.55976-(28.89493))); + zz = 36.44092 + (((tickAnim - 4) / 6) * (63.48918-(36.44092))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = -68.74177 + (((tickAnim - 0) / 1) * (12.57886-(-68.74177))); + yy = -17.88173 + (((tickAnim - 0) / 1) * (56.73456-(-17.88173))); + zz = 64.16327 + (((tickAnim - 0) / 1) * (-37.78518-(64.16327))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 12.57886 + (((tickAnim - 1) / 2) * (-7.26519-(12.57886))); + yy = 56.73456 + (((tickAnim - 1) / 2) * (46.86725-(56.73456))); + zz = -37.78518 + (((tickAnim - 1) / 2) * (-50.72073-(-37.78518))); + } + else if (tickAnim >= 3 && tickAnim < 4) { + xx = -7.26519 + (((tickAnim - 3) / 1) * (-6-(-7.26519))); + yy = 46.86725 + (((tickAnim - 3) / 1) * (21.75-(46.86725))); + zz = -50.72073 + (((tickAnim - 3) / 1) * (0-(-50.72073))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = -6 + (((tickAnim - 4) / 4) * (-39.76974-(-6))); + yy = 21.75 + (((tickAnim - 4) / 4) * (-1.44315-(21.75))); + zz = 0 + (((tickAnim - 4) / 4) * (29.73427-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -39.76974 + (((tickAnim - 8) / 2) * (-68.74177-(-39.76974))); + yy = -1.44315 + (((tickAnim - 8) / 2) * (-17.88173-(-1.44315))); + zz = 29.73427 + (((tickAnim - 8) / 2) * (64.16327-(29.73427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightHand, rightHand.rotateAngleX + (float) Math.toRadians(xx), rightHand.rotateAngleY + (float) Math.toRadians(yy), rightHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (0-(0))); + yy = 0.35 + (((tickAnim - 0) / 1) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 0) / 1) * (0.315-(-0.575))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 0 + (((tickAnim - 1) / 2) * (0-(0))); + yy = 0.19 + (((tickAnim - 1) / 2) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 1) / 2) * (0.16-(0.315))); + } + else if (tickAnim >= 3 && tickAnim < 3) { + xx = 0 + (((tickAnim - 3) / 0) * (0-(0))); + yy = -0.11 + (((tickAnim - 3) / 0) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 3) / 0) * (0.08-(0.16))); + } + else if (tickAnim >= 3 && tickAnim < 4) { + xx = 0 + (((tickAnim - 3) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 3) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 3) / 1) * (0-(0.08))); + } + else if (tickAnim >= 4 && tickAnim < 6) { + xx = 0 + (((tickAnim - 4) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 4) / 2) * (0.88-(0))); + zz = 0 + (((tickAnim - 4) / 2) * (-0.13-(0))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = 0 + (((tickAnim - 6) / 4) * (0-(0))); + yy = 0.88 + (((tickAnim - 6) / 4) * (0.35-(0.88))); + zz = -0.13 + (((tickAnim - 6) / 4) * (-0.575-(-0.13))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightHand.rotationPointX = this.rightHand.rotationPointX + (float)(xx); + this.rightHand.rotationPointY = this.rightHand.rotationPointY - (float)(yy); + this.rightHand.rotationPointZ = this.rightHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 7.6533 + (((tickAnim - 0) / 3) * (6.67223-(7.6533))); + yy = -57.54768 + (((tickAnim - 0) / 3) * (-29.0609-(-57.54768))); + zz = 0.18491 + (((tickAnim - 0) / 3) * (8.10828-(0.18491))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 6.67223 + (((tickAnim - 3) / 2) * (0-(6.67223))); + yy = -29.0609 + (((tickAnim - 3) / 2) * (0.475-(-29.0609))); + zz = 8.10828 + (((tickAnim - 3) / 2) * (0-(8.10828))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (7.69903-(0))); + yy = 0.475 + (((tickAnim - 5) / 3) * (-29.25881-(0.475))); + zz = 0 + (((tickAnim - 5) / 3) * (11.03701-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 7.69903 + (((tickAnim - 8) / 2) * (7.6533-(7.69903))); + yy = -29.25881 + (((tickAnim - 8) / 2) * (-57.54768-(-29.25881))); + zz = 11.03701 + (((tickAnim - 8) / 2) * (0.18491-(11.03701))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 4.71839 + (((tickAnim - 0) / 3) * (5.5328-(4.71839))); + yy = -31.05942 + (((tickAnim - 0) / 3) * (-15.94246-(-31.05942))); + zz = -5.1049 + (((tickAnim - 0) / 3) * (4.44427-(-5.1049))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 5.5328 + (((tickAnim - 3) / 2) * (0-(5.5328))); + yy = -15.94246 + (((tickAnim - 3) / 2) * (0-(-15.94246))); + zz = 4.44427 + (((tickAnim - 3) / 2) * (0-(4.44427))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (27.23355-(0))); + yy = 0 + (((tickAnim - 5) / 2) * (4.49933-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0.81046-(0))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = 27.23355 + (((tickAnim - 7) / 3) * (4.71839-(27.23355))); + yy = 4.49933 + (((tickAnim - 7) / 3) * (-31.05942-(4.49933))); + zz = 0.81046 + (((tickAnim - 7) / 3) * (-5.1049-(0.81046))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (-3.80899-(0))); + yy = 0 + (((tickAnim - 0) / 1) * (-16.38638-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (4.54136-(0))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = -3.80899 + (((tickAnim - 1) / 2) * (0-(-3.80899))); + yy = -16.38638 + (((tickAnim - 1) / 2) * (-50.25-(-16.38638))); + zz = 4.54136 + (((tickAnim - 1) / 2) * (0-(4.54136))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = -50.25 + (((tickAnim - 3) / 2) * (0-(-50.25))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (30.11605-(0))); + yy = 0 + (((tickAnim - 5) / 2) * (13.56425-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (-10.87267-(0))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = 30.11605 + (((tickAnim - 7) / 3) * (0-(30.11605))); + yy = 13.56425 + (((tickAnim - 7) / 3) * (0-(13.56425))); + zz = -10.87267 + (((tickAnim - 7) / 3) * (0-(-10.87267))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightFoot, rightFoot.rotateAngleX + (float) Math.toRadians(xx), rightFoot.rotateAngleY + (float) Math.toRadians(yy), rightFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0.7-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = 0.7 + (((tickAnim - 3) / 2) * (0.25-(0.7))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0.25 + (((tickAnim - 5) / 5) * (0-(0.25))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightFoot.rotationPointX = this.rightFoot.rotationPointX + (float)(xx); + this.rightFoot.rotationPointY = this.rightFoot.rotationPointY - (float)(yy); + this.rightFoot.rotationPointZ = this.rightFoot.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(rightWing, rightWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-90))*1), rightWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-130))*-5), rightWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-120))*5)); + + + this.setRotateAngle(leftWing, leftWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-90))*1), leftWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-130))*-5), leftWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-120))*5)); + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (7.69903-(0))); + yy = -0.475 + (((tickAnim - 0) / 3) * (29.25881-(-0.475))); + zz = 0 + (((tickAnim - 0) / 3) * (-11.03701-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 7.69903 + (((tickAnim - 3) / 2) * (7.6533-(7.69903))); + yy = 29.25881 + (((tickAnim - 3) / 2) * (57.54768-(29.25881))); + zz = -11.03701 + (((tickAnim - 3) / 2) * (-0.18491-(-11.03701))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 7.6533 + (((tickAnim - 5) / 3) * (6.29605-(7.6533))); + yy = 57.54768 + (((tickAnim - 5) / 3) * (29.00117-(57.54768))); + zz = -0.18491 + (((tickAnim - 5) / 3) * (-7.04154-(-0.18491))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 6.29605 + (((tickAnim - 8) / 2) * (0-(6.29605))); + yy = 29.00117 + (((tickAnim - 8) / 2) * (-0.475-(29.00117))); + zz = -7.04154 + (((tickAnim - 8) / 2) * (0-(-7.04154))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (27.23355-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (-4.49933-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (-0.81046-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 27.23355 + (((tickAnim - 2) / 3) * (4.71839-(27.23355))); + yy = -4.49933 + (((tickAnim - 2) / 3) * (31.05942-(-4.49933))); + zz = -0.81046 + (((tickAnim - 2) / 3) * (5.1049-(-0.81046))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 4.71839 + (((tickAnim - 5) / 3) * (5.5328-(4.71839))); + yy = 31.05942 + (((tickAnim - 5) / 3) * (15.94246-(31.05942))); + zz = 5.1049 + (((tickAnim - 5) / 3) * (-4.44427-(5.1049))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 5.5328 + (((tickAnim - 8) / 2) * (0-(5.5328))); + yy = 15.94246 + (((tickAnim - 8) / 2) * (0-(15.94246))); + zz = -4.44427 + (((tickAnim - 8) / 2) * (0-(-4.44427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (30.11605-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (-13.56425-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (10.87267-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 30.11605 + (((tickAnim - 2) / 3) * (0-(30.11605))); + yy = -13.56425 + (((tickAnim - 2) / 3) * (0-(-13.56425))); + zz = 10.87267 + (((tickAnim - 2) / 3) * (0-(10.87267))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (50.25-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 50.25 + (((tickAnim - 8) / 2) * (0-(50.25))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftFoot, leftFoot.rotateAngleX + (float) Math.toRadians(xx), leftFoot.rotateAngleY + (float) Math.toRadians(yy), leftFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0.225 + (((tickAnim - 0) / 2) * (0-(0.225))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 0 + (((tickAnim - 2) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 3) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 2) * (0.91-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 0 + (((tickAnim - 7) / 1) * (0-(0))); + yy = 0.91 + (((tickAnim - 7) / 1) * (0.64-(0.91))); + zz = 0 + (((tickAnim - 7) / 1) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0.64 + (((tickAnim - 8) / 2) * (0.225-(0.64))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftFoot.rotationPointX = this.leftFoot.rotationPointX + (float)(xx); + this.leftFoot.rotationPointY = this.leftFoot.rotationPointY - (float)(yy); + this.leftFoot.rotationPointZ = this.leftFoot.rotationPointZ + (float)(zz); + + + + } + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraIcarosaurus entity = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + int animCycle = 15; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*-1), root.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-50))*-12), root.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*-4)); + this.root.rotationPointX = this.root.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-50))*0.35); + this.root.rotationPointY = this.root.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*-0.1); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(0); + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(-8.25-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*1), tail.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*7), tail.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*-4)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(5), tail2.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+80))*7), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(5.25), tail3.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+100))*-7), tail3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(0), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+150))*-7), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(0), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+250))*7), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(0), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+300))*7), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*-1), body.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-90))*15), body.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-150))*1), chest.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*-15), chest.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-200))*-2), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*15), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-250))*-4), head.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*-15), head.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (26.11962-(0))); + yy = 48 + (((tickAnim - 0) / 4) * (-0.2005-(48))); + zz = 0 + (((tickAnim - 0) / 4) * (-10.94096-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 26.11962 + (((tickAnim - 4) / 4) * (51.69534-(26.11962))); + yy = -0.2005 + (((tickAnim - 4) / 4) * (-60.37037-(-0.2005))); + zz = -10.94096 + (((tickAnim - 4) / 4) * (-14.76137-(-10.94096))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 51.69534 + (((tickAnim - 8) / 3) * (29.24371-(51.69534))); + yy = -60.37037 + (((tickAnim - 8) / 3) * (2.53566-(-60.37037))); + zz = -14.76137 + (((tickAnim - 8) / 3) * (-30.47476-(-14.76137))); + } + else if (tickAnim >= 11 && tickAnim < 13) { + xx = 29.24371 + (((tickAnim - 11) / 2) * (-9.98614-(29.24371))); + yy = 2.53566 + (((tickAnim - 11) / 2) * (25.30525-(2.53566))); + zz = -30.47476 + (((tickAnim - 11) / 2) * (-34.91675-(-30.47476))); + } + else if (tickAnim >= 13 && tickAnim < 15) { + xx = -9.98614 + (((tickAnim - 13) / 2) * (0-(-9.98614))); + yy = 25.30525 + (((tickAnim - 13) / 2) * (48-(25.30525))); + zz = -34.91675 + (((tickAnim - 13) / 2) * (0-(-34.91675))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = -34.33401 + (((tickAnim - 0) / 8) * (-56.33832-(-34.33401))); + yy = -28.89493 + (((tickAnim - 0) / 8) * (-44.55976-(-28.89493))); + zz = -36.44092 + (((tickAnim - 0) / 8) * (-63.48918-(-36.44092))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -56.33832 + (((tickAnim - 8) / 2) * (-31.59373-(-56.33832))); + yy = -44.55976 + (((tickAnim - 8) / 2) * (-42.45071-(-44.55976))); + zz = -63.48918 + (((tickAnim - 8) / 2) * (-28.10927-(-63.48918))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -31.59373 + (((tickAnim - 10) / 5) * (-34.33401-(-31.59373))); + yy = -42.45071 + (((tickAnim - 10) / 5) * (-28.89493-(-42.45071))); + zz = -28.10927 + (((tickAnim - 10) / 5) * (-36.44092-(-28.10927))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = -6 + (((tickAnim - 0) / 4) * (-39.76974-(-6))); + yy = -21.75 + (((tickAnim - 0) / 4) * (1.44315-(-21.75))); + zz = 0 + (((tickAnim - 0) / 4) * (-29.73427-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = -39.76974 + (((tickAnim - 4) / 4) * (-68.74177-(-39.76974))); + yy = 1.44315 + (((tickAnim - 4) / 4) * (17.88173-(1.44315))); + zz = -29.73427 + (((tickAnim - 4) / 4) * (-64.16327-(-29.73427))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -68.74177 + (((tickAnim - 8) / 2) * (12.57886-(-68.74177))); + yy = 17.88173 + (((tickAnim - 8) / 2) * (-56.73456-(17.88173))); + zz = -64.16327 + (((tickAnim - 8) / 2) * (37.78518-(-64.16327))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 12.57886 + (((tickAnim - 10) / 3) * (-7.26519-(12.57886))); + yy = -56.73456 + (((tickAnim - 10) / 3) * (-46.86725-(-56.73456))); + zz = 37.78518 + (((tickAnim - 10) / 3) * (50.72073-(37.78518))); + } + else if (tickAnim >= 13 && tickAnim < 15) { + xx = -7.26519 + (((tickAnim - 13) / 2) * (-6-(-7.26519))); + yy = -46.86725 + (((tickAnim - 13) / 2) * (-21.75-(-46.86725))); + zz = 50.72073 + (((tickAnim - 13) / 2) * (0-(50.72073))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftHand, leftHand.rotateAngleX + (float) Math.toRadians(xx), leftHand.rotateAngleY + (float) Math.toRadians(yy), leftHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0.23-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (-0.13-(0))); + } + else if (tickAnim >= 2 && tickAnim < 8) { + xx = 0 + (((tickAnim - 2) / 6) * (0-(0))); + yy = 0.23 + (((tickAnim - 2) / 6) * (0.35-(0.23))); + zz = -0.13 + (((tickAnim - 2) / 6) * (-0.575-(-0.13))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0.35 + (((tickAnim - 8) / 2) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 8) / 2) * (0.315-(-0.575))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (0-(0))); + yy = 0.19 + (((tickAnim - 10) / 3) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 10) / 3) * (0.16-(0.315))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 0 + (((tickAnim - 13) / 1) * (0-(0))); + yy = -0.11 + (((tickAnim - 13) / 1) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 13) / 1) * (0.08-(0.16))); + } + else if (tickAnim >= 14 && tickAnim < 15) { + xx = 0 + (((tickAnim - 14) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 14) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 14) / 1) * (0-(0.08))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftHand.rotationPointX = this.leftHand.rotationPointX + (float)(xx); + this.leftHand.rotationPointY = this.leftHand.rotationPointY - (float)(yy); + this.leftHand.rotationPointZ = this.leftHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 43.55895 + (((tickAnim - 0) / 3) * (29.24371-(43.55895))); + yy = 59.2817 + (((tickAnim - 0) / 3) * (-2.53566-(59.2817))); + zz = 6.2402 + (((tickAnim - 0) / 3) * (30.47476-(6.2402))); + } + else if (tickAnim >= 3 && tickAnim < 4) { + xx = 29.24371 + (((tickAnim - 3) / 1) * (-9.98614-(29.24371))); + yy = -2.53566 + (((tickAnim - 3) / 1) * (-25.30525-(-2.53566))); + zz = 30.47476 + (((tickAnim - 3) / 1) * (34.91675-(30.47476))); + } + else if (tickAnim >= 4 && tickAnim < 7) { + xx = -9.98614 + (((tickAnim - 4) / 3) * (0-(-9.98614))); + yy = -25.30525 + (((tickAnim - 4) / 3) * (-48-(-25.30525))); + zz = 34.91675 + (((tickAnim - 4) / 3) * (0-(34.91675))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = 0 + (((tickAnim - 7) / 5) * (26.11962-(0))); + yy = -48 + (((tickAnim - 7) / 5) * (0.2005-(-48))); + zz = 0 + (((tickAnim - 7) / 5) * (10.94096-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 26.11962 + (((tickAnim - 12) / 3) * (43.55895-(26.11962))); + yy = 0.2005 + (((tickAnim - 12) / 3) * (59.2817-(0.2005))); + zz = 10.94096 + (((tickAnim - 12) / 3) * (6.2402-(10.94096))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = -56.33832 + (((tickAnim - 0) / 2) * (-31.59373-(-56.33832))); + yy = 44.55976 + (((tickAnim - 0) / 2) * (42.45071-(44.55976))); + zz = 63.48918 + (((tickAnim - 0) / 2) * (28.10927-(63.48918))); + } + else if (tickAnim >= 2 && tickAnim < 7) { + xx = -31.59373 + (((tickAnim - 2) / 5) * (-34.33401-(-31.59373))); + yy = 42.45071 + (((tickAnim - 2) / 5) * (28.89493-(42.45071))); + zz = 28.10927 + (((tickAnim - 2) / 5) * (36.44092-(28.10927))); + } + else if (tickAnim >= 7 && tickAnim < 15) { + xx = -34.33401 + (((tickAnim - 7) / 8) * (-56.33832-(-34.33401))); + yy = 28.89493 + (((tickAnim - 7) / 8) * (44.55976-(28.89493))); + zz = 36.44092 + (((tickAnim - 7) / 8) * (63.48918-(36.44092))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = -68.74177 + (((tickAnim - 0) / 2) * (12.57886-(-68.74177))); + yy = -17.88173 + (((tickAnim - 0) / 2) * (56.73456-(-17.88173))); + zz = 64.16327 + (((tickAnim - 0) / 2) * (-37.78518-(64.16327))); + } + else if (tickAnim >= 2 && tickAnim < 4) { + xx = 12.57886 + (((tickAnim - 2) / 2) * (-7.26519-(12.57886))); + yy = 56.73456 + (((tickAnim - 2) / 2) * (46.86725-(56.73456))); + zz = -37.78518 + (((tickAnim - 2) / 2) * (-50.72073-(-37.78518))); + } + else if (tickAnim >= 4 && tickAnim < 7) { + xx = -7.26519 + (((tickAnim - 4) / 3) * (-6-(-7.26519))); + yy = 46.86725 + (((tickAnim - 4) / 3) * (21.75-(46.86725))); + zz = -50.72073 + (((tickAnim - 4) / 3) * (0-(-50.72073))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = -6 + (((tickAnim - 7) / 5) * (-39.76974-(-6))); + yy = 21.75 + (((tickAnim - 7) / 5) * (-1.44315-(21.75))); + zz = 0 + (((tickAnim - 7) / 5) * (29.73427-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -39.76974 + (((tickAnim - 12) / 3) * (-68.74177-(-39.76974))); + yy = -1.44315 + (((tickAnim - 12) / 3) * (-17.88173-(-1.44315))); + zz = 29.73427 + (((tickAnim - 12) / 3) * (64.16327-(29.73427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightHand, rightHand.rotateAngleX + (float) Math.toRadians(xx), rightHand.rotateAngleY + (float) Math.toRadians(yy), rightHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0.35 + (((tickAnim - 0) / 2) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 0) / 2) * (0.315-(-0.575))); + } + else if (tickAnim >= 2 && tickAnim < 4) { + xx = 0 + (((tickAnim - 2) / 2) * (0-(0))); + yy = 0.19 + (((tickAnim - 2) / 2) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 2) / 2) * (0.16-(0.315))); + } + else if (tickAnim >= 4 && tickAnim < 6) { + xx = 0 + (((tickAnim - 4) / 2) * (0-(0))); + yy = -0.11 + (((tickAnim - 4) / 2) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 4) / 2) * (0.08-(0.16))); + } + else if (tickAnim >= 6 && tickAnim < 7) { + xx = 0 + (((tickAnim - 6) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 6) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 6) / 1) * (0-(0.08))); + } + else if (tickAnim >= 7 && tickAnim < 9) { + xx = 0 + (((tickAnim - 7) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 7) / 2) * (0.23-(0))); + zz = 0 + (((tickAnim - 7) / 2) * (-0.13-(0))); + } + else if (tickAnim >= 9 && tickAnim < 15) { + xx = 0 + (((tickAnim - 9) / 6) * (0-(0))); + yy = 0.23 + (((tickAnim - 9) / 6) * (0.35-(0.23))); + zz = -0.13 + (((tickAnim - 9) / 6) * (-0.575-(-0.13))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightHand.rotationPointX = this.rightHand.rotationPointX + (float)(xx); + this.rightHand.rotationPointY = this.rightHand.rotationPointY - (float)(yy); + this.rightHand.rotationPointZ = this.rightHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 7.6533 + (((tickAnim - 0) / 4) * (4.78017-(7.6533))); + yy = -57.54768 + (((tickAnim - 0) / 4) * (-28.82811-(-57.54768))); + zz = 0.18491 + (((tickAnim - 0) / 4) * (2.76755-(0.18491))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 4.78017 + (((tickAnim - 4) / 4) * (0-(4.78017))); + yy = -28.82811 + (((tickAnim - 4) / 4) * (0.475-(-28.82811))); + zz = 2.76755 + (((tickAnim - 4) / 4) * (0-(2.76755))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (7.69903-(0))); + yy = 0.475 + (((tickAnim - 8) / 4) * (-29.25881-(0.475))); + zz = 0 + (((tickAnim - 8) / 4) * (11.03701-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 7.69903 + (((tickAnim - 12) / 3) * (7.6533-(7.69903))); + yy = -29.25881 + (((tickAnim - 12) / 3) * (-57.54768-(-29.25881))); + zz = 11.03701 + (((tickAnim - 12) / 3) * (0.18491-(11.03701))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 4.71839 + (((tickAnim - 0) / 4) * (5.5328-(4.71839))); + yy = -31.05942 + (((tickAnim - 0) / 4) * (-15.94246-(-31.05942))); + zz = -5.1049 + (((tickAnim - 0) / 4) * (4.44427-(-5.1049))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 5.5328 + (((tickAnim - 4) / 4) * (0-(5.5328))); + yy = -15.94246 + (((tickAnim - 4) / 4) * (0-(-15.94246))); + zz = 4.44427 + (((tickAnim - 4) / 4) * (0-(4.44427))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (27.23355-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (4.49933-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0.81046-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 27.23355 + (((tickAnim - 10) / 5) * (4.71839-(27.23355))); + yy = 4.49933 + (((tickAnim - 10) / 5) * (-31.05942-(4.49933))); + zz = 0.81046 + (((tickAnim - 10) / 5) * (-5.1049-(0.81046))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-50.25-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = -50.25 + (((tickAnim - 3) / 5) * (0-(-50.25))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (30.11605-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (13.56425-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (-10.87267-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 30.11605 + (((tickAnim - 10) / 5) * (0-(30.11605))); + yy = 13.56425 + (((tickAnim - 10) / 5) * (0-(13.56425))); + zz = -10.87267 + (((tickAnim - 10) / 5) * (0-(-10.87267))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightFoot, rightFoot.rotateAngleX + (float) Math.toRadians(xx), rightFoot.rotateAngleY + (float) Math.toRadians(yy), rightFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0.6-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = 0.6 + (((tickAnim - 3) / 5) * (0-(0.6))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 15) { + xx = 0 + (((tickAnim - 8) / 7) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightFoot.rotationPointX = this.rightFoot.rotationPointX + (float)(xx); + this.rightFoot.rotationPointY = this.rightFoot.rotationPointY - (float)(yy); + this.rightFoot.rotationPointZ = this.rightFoot.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(rightWing, rightWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*-1), rightWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-130))*-5), rightWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-120))*-5)); + + + this.setRotateAngle(leftWing, leftWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*1), leftWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-130))*-5), leftWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-120))*5)); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (7.69903-(0))); + yy = -0.475 + (((tickAnim - 0) / 4) * (29.25881-(-0.475))); + zz = 0 + (((tickAnim - 0) / 4) * (-11.03701-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 7.69903 + (((tickAnim - 4) / 4) * (7.6533-(7.69903))); + yy = 29.25881 + (((tickAnim - 4) / 4) * (57.54768-(29.25881))); + zz = -11.03701 + (((tickAnim - 4) / 4) * (-0.18491-(-11.03701))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 7.6533 + (((tickAnim - 8) / 4) * (4.78017-(7.6533))); + yy = 57.54768 + (((tickAnim - 8) / 4) * (28.82811-(57.54768))); + zz = -0.18491 + (((tickAnim - 8) / 4) * (-2.76755-(-0.18491))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 4.78017 + (((tickAnim - 12) / 3) * (0-(4.78017))); + yy = 28.82811 + (((tickAnim - 12) / 3) * (-0.475-(28.82811))); + zz = -2.76755 + (((tickAnim - 12) / 3) * (0-(-2.76755))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (27.23355-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-4.49933-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-0.81046-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 27.23355 + (((tickAnim - 3) / 5) * (4.71839-(27.23355))); + yy = -4.49933 + (((tickAnim - 3) / 5) * (31.05942-(-4.49933))); + zz = -0.81046 + (((tickAnim - 3) / 5) * (5.1049-(-0.81046))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 4.71839 + (((tickAnim - 8) / 4) * (5.5328-(4.71839))); + yy = 31.05942 + (((tickAnim - 8) / 4) * (15.94246-(31.05942))); + zz = 5.1049 + (((tickAnim - 8) / 4) * (-4.44427-(5.1049))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 5.5328 + (((tickAnim - 12) / 3) * (0-(5.5328))); + yy = 15.94246 + (((tickAnim - 12) / 3) * (0-(15.94246))); + zz = -4.44427 + (((tickAnim - 12) / 3) * (0-(-4.44427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (30.11605-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-13.56425-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (10.87267-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 30.11605 + (((tickAnim - 3) / 5) * (0-(30.11605))); + yy = -13.56425 + (((tickAnim - 3) / 5) * (0-(-13.56425))); + zz = 10.87267 + (((tickAnim - 3) / 5) * (0-(10.87267))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 0 + (((tickAnim - 8) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 3) * (50.25-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (0-(0))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 0 + (((tickAnim - 11) / 4) * (0-(0))); + yy = 50.25 + (((tickAnim - 11) / 4) * (0-(50.25))); + zz = 0 + (((tickAnim - 11) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftFoot, leftFoot.rotateAngleX + (float) Math.toRadians(xx), leftFoot.rotateAngleY + (float) Math.toRadians(yy), leftFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0.225 + (((tickAnim - 0) / 3) * (0-(0.225))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 3) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 0 + (((tickAnim - 8) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 3) * (0.64-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (0-(0))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 0 + (((tickAnim - 11) / 4) * (0-(0))); + yy = 0.64 + (((tickAnim - 11) / 4) * (0.225-(0.64))); + zz = 0 + (((tickAnim - 11) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftFoot.rotationPointX = this.leftFoot.rotationPointX + (float)(xx); + this.leftFoot.rotationPointY = this.leftFoot.rotationPointY - (float)(yy); + this.leftFoot.rotationPointZ = this.leftFoot.rotationPointZ + (float)(zz); + + + } + public void animClimbing(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, boolean isStatic) { + EntityPrehistoricFloraIcarosaurus entity = (EntityPrehistoricFloraIcarosaurus) entitylivingbaseIn; + int animCycle = 15; + double tickAnim = 0; + if (!isStatic) { + tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + } + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*-1), root.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-50))*-12), root.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*-4)); + this.root.rotationPointX = this.root.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-50))*0.35); + this.root.rotationPointY = this.root.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*-0.1); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(0); + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(-8.25-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-50))*1), tail.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*7), tail.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480))*-4)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(5), tail2.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+80))*7), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(5.25), tail3.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+100))*-7), tail3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(0), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+150))*-7), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(0), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+250))*7), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(0), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480+300))*7), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*-1), body.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-90))*15), body.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-150))*1), chest.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*-15), chest.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-200))*-2), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*15), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-250))*-4), head.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-150))*-15), head.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (26.11962-(0))); + yy = 48 + (((tickAnim - 0) / 4) * (-0.2005-(48))); + zz = 0 + (((tickAnim - 0) / 4) * (-10.94096-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 26.11962 + (((tickAnim - 4) / 4) * (51.69534-(26.11962))); + yy = -0.2005 + (((tickAnim - 4) / 4) * (-60.37037-(-0.2005))); + zz = -10.94096 + (((tickAnim - 4) / 4) * (-14.76137-(-10.94096))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 51.69534 + (((tickAnim - 8) / 3) * (29.24371-(51.69534))); + yy = -60.37037 + (((tickAnim - 8) / 3) * (2.53566-(-60.37037))); + zz = -14.76137 + (((tickAnim - 8) / 3) * (-30.47476-(-14.76137))); + } + else if (tickAnim >= 11 && tickAnim < 13) { + xx = 29.24371 + (((tickAnim - 11) / 2) * (-9.98614-(29.24371))); + yy = 2.53566 + (((tickAnim - 11) / 2) * (25.30525-(2.53566))); + zz = -30.47476 + (((tickAnim - 11) / 2) * (-34.91675-(-30.47476))); + } + else if (tickAnim >= 13 && tickAnim < 15) { + xx = -9.98614 + (((tickAnim - 13) / 2) * (0-(-9.98614))); + yy = 25.30525 + (((tickAnim - 13) / 2) * (48-(25.30525))); + zz = -34.91675 + (((tickAnim - 13) / 2) * (0-(-34.91675))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = -34.33401 + (((tickAnim - 0) / 8) * (-56.33832-(-34.33401))); + yy = -28.89493 + (((tickAnim - 0) / 8) * (-44.55976-(-28.89493))); + zz = -36.44092 + (((tickAnim - 0) / 8) * (-63.48918-(-36.44092))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -56.33832 + (((tickAnim - 8) / 2) * (-31.59373-(-56.33832))); + yy = -44.55976 + (((tickAnim - 8) / 2) * (-42.45071-(-44.55976))); + zz = -63.48918 + (((tickAnim - 8) / 2) * (-28.10927-(-63.48918))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -31.59373 + (((tickAnim - 10) / 5) * (-34.33401-(-31.59373))); + yy = -42.45071 + (((tickAnim - 10) / 5) * (-28.89493-(-42.45071))); + zz = -28.10927 + (((tickAnim - 10) / 5) * (-36.44092-(-28.10927))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = -6 + (((tickAnim - 0) / 4) * (-39.76974-(-6))); + yy = -21.75 + (((tickAnim - 0) / 4) * (1.44315-(-21.75))); + zz = 0 + (((tickAnim - 0) / 4) * (-29.73427-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = -39.76974 + (((tickAnim - 4) / 4) * (-68.74177-(-39.76974))); + yy = 1.44315 + (((tickAnim - 4) / 4) * (17.88173-(1.44315))); + zz = -29.73427 + (((tickAnim - 4) / 4) * (-64.16327-(-29.73427))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -68.74177 + (((tickAnim - 8) / 2) * (12.57886-(-68.74177))); + yy = 17.88173 + (((tickAnim - 8) / 2) * (-56.73456-(17.88173))); + zz = -64.16327 + (((tickAnim - 8) / 2) * (37.78518-(-64.16327))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 12.57886 + (((tickAnim - 10) / 3) * (-7.26519-(12.57886))); + yy = -56.73456 + (((tickAnim - 10) / 3) * (-46.86725-(-56.73456))); + zz = 37.78518 + (((tickAnim - 10) / 3) * (50.72073-(37.78518))); + } + else if (tickAnim >= 13 && tickAnim < 15) { + xx = -7.26519 + (((tickAnim - 13) / 2) * (-6-(-7.26519))); + yy = -46.86725 + (((tickAnim - 13) / 2) * (-21.75-(-46.86725))); + zz = 50.72073 + (((tickAnim - 13) / 2) * (0-(50.72073))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftHand, leftHand.rotateAngleX + (float) Math.toRadians(xx), leftHand.rotateAngleY + (float) Math.toRadians(yy), leftHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0.23-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (-0.13-(0))); + } + else if (tickAnim >= 2 && tickAnim < 8) { + xx = 0 + (((tickAnim - 2) / 6) * (0-(0))); + yy = 0.23 + (((tickAnim - 2) / 6) * (0.35-(0.23))); + zz = -0.13 + (((tickAnim - 2) / 6) * (-0.575-(-0.13))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0.35 + (((tickAnim - 8) / 2) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 8) / 2) * (0.315-(-0.575))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (0-(0))); + yy = 0.19 + (((tickAnim - 10) / 3) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 10) / 3) * (0.16-(0.315))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 0 + (((tickAnim - 13) / 1) * (0-(0))); + yy = -0.11 + (((tickAnim - 13) / 1) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 13) / 1) * (0.08-(0.16))); + } + else if (tickAnim >= 14 && tickAnim < 15) { + xx = 0 + (((tickAnim - 14) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 14) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 14) / 1) * (0-(0.08))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftHand.rotationPointX = this.leftHand.rotationPointX + (float)(xx); + this.leftHand.rotationPointY = this.leftHand.rotationPointY - (float)(yy); + this.leftHand.rotationPointZ = this.leftHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 43.55895 + (((tickAnim - 0) / 3) * (29.24371-(43.55895))); + yy = 59.2817 + (((tickAnim - 0) / 3) * (-2.53566-(59.2817))); + zz = 6.2402 + (((tickAnim - 0) / 3) * (30.47476-(6.2402))); + } + else if (tickAnim >= 3 && tickAnim < 4) { + xx = 29.24371 + (((tickAnim - 3) / 1) * (-9.98614-(29.24371))); + yy = -2.53566 + (((tickAnim - 3) / 1) * (-25.30525-(-2.53566))); + zz = 30.47476 + (((tickAnim - 3) / 1) * (34.91675-(30.47476))); + } + else if (tickAnim >= 4 && tickAnim < 7) { + xx = -9.98614 + (((tickAnim - 4) / 3) * (0-(-9.98614))); + yy = -25.30525 + (((tickAnim - 4) / 3) * (-48-(-25.30525))); + zz = 34.91675 + (((tickAnim - 4) / 3) * (0-(34.91675))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = 0 + (((tickAnim - 7) / 5) * (26.11962-(0))); + yy = -48 + (((tickAnim - 7) / 5) * (0.2005-(-48))); + zz = 0 + (((tickAnim - 7) / 5) * (10.94096-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 26.11962 + (((tickAnim - 12) / 3) * (43.55895-(26.11962))); + yy = 0.2005 + (((tickAnim - 12) / 3) * (59.2817-(0.2005))); + zz = 10.94096 + (((tickAnim - 12) / 3) * (6.2402-(10.94096))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = -56.33832 + (((tickAnim - 0) / 2) * (-31.59373-(-56.33832))); + yy = 44.55976 + (((tickAnim - 0) / 2) * (42.45071-(44.55976))); + zz = 63.48918 + (((tickAnim - 0) / 2) * (28.10927-(63.48918))); + } + else if (tickAnim >= 2 && tickAnim < 7) { + xx = -31.59373 + (((tickAnim - 2) / 5) * (-34.33401-(-31.59373))); + yy = 42.45071 + (((tickAnim - 2) / 5) * (28.89493-(42.45071))); + zz = 28.10927 + (((tickAnim - 2) / 5) * (36.44092-(28.10927))); + } + else if (tickAnim >= 7 && tickAnim < 15) { + xx = -34.33401 + (((tickAnim - 7) / 8) * (-56.33832-(-34.33401))); + yy = 28.89493 + (((tickAnim - 7) / 8) * (44.55976-(28.89493))); + zz = 36.44092 + (((tickAnim - 7) / 8) * (63.48918-(36.44092))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = -68.74177 + (((tickAnim - 0) / 2) * (12.57886-(-68.74177))); + yy = -17.88173 + (((tickAnim - 0) / 2) * (56.73456-(-17.88173))); + zz = 64.16327 + (((tickAnim - 0) / 2) * (-37.78518-(64.16327))); + } + else if (tickAnim >= 2 && tickAnim < 4) { + xx = 12.57886 + (((tickAnim - 2) / 2) * (-7.26519-(12.57886))); + yy = 56.73456 + (((tickAnim - 2) / 2) * (46.86725-(56.73456))); + zz = -37.78518 + (((tickAnim - 2) / 2) * (-50.72073-(-37.78518))); + } + else if (tickAnim >= 4 && tickAnim < 7) { + xx = -7.26519 + (((tickAnim - 4) / 3) * (-6-(-7.26519))); + yy = 46.86725 + (((tickAnim - 4) / 3) * (21.75-(46.86725))); + zz = -50.72073 + (((tickAnim - 4) / 3) * (0-(-50.72073))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = -6 + (((tickAnim - 7) / 5) * (-39.76974-(-6))); + yy = 21.75 + (((tickAnim - 7) / 5) * (-1.44315-(21.75))); + zz = 0 + (((tickAnim - 7) / 5) * (29.73427-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -39.76974 + (((tickAnim - 12) / 3) * (-68.74177-(-39.76974))); + yy = -1.44315 + (((tickAnim - 12) / 3) * (-17.88173-(-1.44315))); + zz = 29.73427 + (((tickAnim - 12) / 3) * (64.16327-(29.73427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightHand, rightHand.rotateAngleX + (float) Math.toRadians(xx), rightHand.rotateAngleY + (float) Math.toRadians(yy), rightHand.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0.35 + (((tickAnim - 0) / 2) * (0.19-(0.35))); + zz = -0.575 + (((tickAnim - 0) / 2) * (0.315-(-0.575))); + } + else if (tickAnim >= 2 && tickAnim < 4) { + xx = 0 + (((tickAnim - 2) / 2) * (0-(0))); + yy = 0.19 + (((tickAnim - 2) / 2) * (-0.11-(0.19))); + zz = 0.315 + (((tickAnim - 2) / 2) * (0.16-(0.315))); + } + else if (tickAnim >= 4 && tickAnim < 6) { + xx = 0 + (((tickAnim - 4) / 2) * (0-(0))); + yy = -0.11 + (((tickAnim - 4) / 2) * (0.175-(-0.11))); + zz = 0.16 + (((tickAnim - 4) / 2) * (0.08-(0.16))); + } + else if (tickAnim >= 6 && tickAnim < 7) { + xx = 0 + (((tickAnim - 6) / 1) * (0-(0))); + yy = 0.175 + (((tickAnim - 6) / 1) * (0-(0.175))); + zz = 0.08 + (((tickAnim - 6) / 1) * (0-(0.08))); + } + else if (tickAnim >= 7 && tickAnim < 9) { + xx = 0 + (((tickAnim - 7) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 7) / 2) * (0.23-(0))); + zz = 0 + (((tickAnim - 7) / 2) * (-0.13-(0))); + } + else if (tickAnim >= 9 && tickAnim < 15) { + xx = 0 + (((tickAnim - 9) / 6) * (0-(0))); + yy = 0.23 + (((tickAnim - 9) / 6) * (0.35-(0.23))); + zz = -0.13 + (((tickAnim - 9) / 6) * (-0.575-(-0.13))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightHand.rotationPointX = this.rightHand.rotationPointX + (float)(xx); + this.rightHand.rotationPointY = this.rightHand.rotationPointY - (float)(yy); + this.rightHand.rotationPointZ = this.rightHand.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 7.6533 + (((tickAnim - 0) / 4) * (4.78017-(7.6533))); + yy = -57.54768 + (((tickAnim - 0) / 4) * (-28.82811-(-57.54768))); + zz = 0.18491 + (((tickAnim - 0) / 4) * (2.76755-(0.18491))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 4.78017 + (((tickAnim - 4) / 4) * (0-(4.78017))); + yy = -28.82811 + (((tickAnim - 4) / 4) * (0.475-(-28.82811))); + zz = 2.76755 + (((tickAnim - 4) / 4) * (0-(2.76755))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (7.69903-(0))); + yy = 0.475 + (((tickAnim - 8) / 4) * (-29.25881-(0.475))); + zz = 0 + (((tickAnim - 8) / 4) * (11.03701-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 7.69903 + (((tickAnim - 12) / 3) * (7.6533-(7.69903))); + yy = -29.25881 + (((tickAnim - 12) / 3) * (-57.54768-(-29.25881))); + zz = 11.03701 + (((tickAnim - 12) / 3) * (0.18491-(11.03701))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 4.71839 + (((tickAnim - 0) / 4) * (5.5328-(4.71839))); + yy = -31.05942 + (((tickAnim - 0) / 4) * (-15.94246-(-31.05942))); + zz = -5.1049 + (((tickAnim - 0) / 4) * (4.44427-(-5.1049))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 5.5328 + (((tickAnim - 4) / 4) * (0-(5.5328))); + yy = -15.94246 + (((tickAnim - 4) / 4) * (0-(-15.94246))); + zz = 4.44427 + (((tickAnim - 4) / 4) * (0-(4.44427))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (27.23355-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (4.49933-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0.81046-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 27.23355 + (((tickAnim - 10) / 5) * (4.71839-(27.23355))); + yy = 4.49933 + (((tickAnim - 10) / 5) * (-31.05942-(4.49933))); + zz = 0.81046 + (((tickAnim - 10) / 5) * (-5.1049-(0.81046))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-50.25-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = -50.25 + (((tickAnim - 3) / 5) * (0-(-50.25))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (30.11605-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (13.56425-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (-10.87267-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 30.11605 + (((tickAnim - 10) / 5) * (0-(30.11605))); + yy = 13.56425 + (((tickAnim - 10) / 5) * (0-(13.56425))); + zz = -10.87267 + (((tickAnim - 10) / 5) * (0-(-10.87267))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightFoot, rightFoot.rotateAngleX + (float) Math.toRadians(xx), rightFoot.rotateAngleY + (float) Math.toRadians(yy), rightFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0.6-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = 0.6 + (((tickAnim - 3) / 5) * (0-(0.6))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 15) { + xx = 0 + (((tickAnim - 8) / 7) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightFoot.rotationPointX = this.rightFoot.rotationPointX + (float)(xx); + this.rightFoot.rotationPointY = this.rightFoot.rotationPointY - (float)(yy); + this.rightFoot.rotationPointZ = this.rightFoot.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(rightWing, rightWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*-1), rightWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-130))*-5), rightWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-120))*-5)); + + + this.setRotateAngle(leftWing, leftWing.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480/0.5-90))*1), leftWing.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-130))*-5), leftWing.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*480-120))*5)); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (7.69903-(0))); + yy = -0.475 + (((tickAnim - 0) / 4) * (29.25881-(-0.475))); + zz = 0 + (((tickAnim - 0) / 4) * (-11.03701-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 7.69903 + (((tickAnim - 4) / 4) * (7.6533-(7.69903))); + yy = 29.25881 + (((tickAnim - 4) / 4) * (57.54768-(29.25881))); + zz = -11.03701 + (((tickAnim - 4) / 4) * (-0.18491-(-11.03701))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 7.6533 + (((tickAnim - 8) / 4) * (4.78017-(7.6533))); + yy = 57.54768 + (((tickAnim - 8) / 4) * (28.82811-(57.54768))); + zz = -0.18491 + (((tickAnim - 8) / 4) * (-2.76755-(-0.18491))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 4.78017 + (((tickAnim - 12) / 3) * (0-(4.78017))); + yy = 28.82811 + (((tickAnim - 12) / 3) * (-0.475-(28.82811))); + zz = -2.76755 + (((tickAnim - 12) / 3) * (0-(-2.76755))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (27.23355-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-4.49933-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-0.81046-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 27.23355 + (((tickAnim - 3) / 5) * (4.71839-(27.23355))); + yy = -4.49933 + (((tickAnim - 3) / 5) * (31.05942-(-4.49933))); + zz = -0.81046 + (((tickAnim - 3) / 5) * (5.1049-(-0.81046))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 4.71839 + (((tickAnim - 8) / 4) * (5.5328-(4.71839))); + yy = 31.05942 + (((tickAnim - 8) / 4) * (15.94246-(31.05942))); + zz = 5.1049 + (((tickAnim - 8) / 4) * (-4.44427-(5.1049))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 5.5328 + (((tickAnim - 12) / 3) * (0-(5.5328))); + yy = 15.94246 + (((tickAnim - 12) / 3) * (0-(15.94246))); + zz = -4.44427 + (((tickAnim - 12) / 3) * (0-(-4.44427))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (30.11605-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-13.56425-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (10.87267-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 30.11605 + (((tickAnim - 3) / 5) * (0-(30.11605))); + yy = -13.56425 + (((tickAnim - 3) / 5) * (0-(-13.56425))); + zz = 10.87267 + (((tickAnim - 3) / 5) * (0-(10.87267))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 0 + (((tickAnim - 8) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 3) * (50.25-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (0-(0))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 0 + (((tickAnim - 11) / 4) * (0-(0))); + yy = 50.25 + (((tickAnim - 11) / 4) * (0-(50.25))); + zz = 0 + (((tickAnim - 11) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftFoot, leftFoot.rotateAngleX + (float) Math.toRadians(xx), leftFoot.rotateAngleY + (float) Math.toRadians(yy), leftFoot.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0.225 + (((tickAnim - 0) / 3) * (0-(0.225))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 3) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 0 + (((tickAnim - 8) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 3) * (0.64-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (0-(0))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 0 + (((tickAnim - 11) / 4) * (0-(0))); + yy = 0.64 + (((tickAnim - 11) / 4) * (0.225-(0.64))); + zz = 0 + (((tickAnim - 11) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftFoot.rotationPointX = this.leftFoot.rotationPointX + (float)(xx); + this.leftFoot.rotationPointY = this.leftFoot.rotationPointY - (float)(yy); + this.leftFoot.rotationPointZ = this.leftFoot.rotationPointZ + (float)(zz); + + + + } + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraLandClimbingGlidingBase e = (EntityPrehistoricFloraLandClimbingGlidingBase) entity; + animator.update(entity); + //N/A + } + +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelMacromyzon.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelMacromyzon.java new file mode 100644 index 0000000000..11e3dad093 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelMacromyzon.java @@ -0,0 +1,543 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.lepidodendron.entity.EntityPrehistoricFloraMacromyzon; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelMacromyzon extends ModelBasePalaeopedia { + private final AdvancedModelRenderer sucker; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer body2; + private final AdvancedModelRenderer body3; + private final AdvancedModelRenderer body4; + private final AdvancedModelRenderer body5; + + public ModelMacromyzon() { + this.textureWidth = 32; + this.textureHeight = 32; + + this.sucker = new AdvancedModelRenderer(this); + this.sucker.setRotationPoint(0.0F, 24.0F, 7.0F); + this.sucker.cubeList.add(new ModelBox(sucker, 0, 15, -1.5F, -1.0F, -2.0F, 3, 1, 3, 0.0F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -0.5F, -0.25F); + this.sucker.addChild(body); + this.setRotateAngle(body, -0.8727F, 0.0F, 0.0F); + this.body.cubeList.add(new ModelBox(body, 12, 15, -2.0F, -1.45F, -1.85F, 4, 2, 2, 0.0F, false)); + + this.body2 = new AdvancedModelRenderer(this); + this.body2.setRotationPoint(0.0F, -1.0F, -1.25F); + this.body.addChild(body2); + this.setRotateAngle(body2, 0.9163F, 0.0F, 0.0F); + this.body2.cubeList.add(new ModelBox(body2, 0, 0, -2.0F, -0.75F, -3.0F, 4, 2, 3, 0.02F, false)); + this.body2.cubeList.add(new ModelBox(body2, 0, 19, -1.5F, -1.0F, -3.0F, 0, 1, 3, 0.0F, false)); + this.body2.cubeList.add(new ModelBox(body2, 0, 19, 1.5F, -1.0F, -3.0F, 0, 1, 3, 0.0F, true)); + this.body2.cubeList.add(new ModelBox(body2, 0, 11, -2.0F, 0.75F, -3.0F, 4, 1, 3, 0.01F, false)); + + this.body3 = new AdvancedModelRenderer(this); + this.body3.setRotationPoint(0.0F, 0.0F, -2.0F); + this.body2.addChild(body3); + this.setRotateAngle(body3, 0.2182F, 0.0F, 0.0F); + this.body3.cubeList.add(new ModelBox(body3, 12, 5, -1.5F, -0.75F, -3.0F, 3, 2, 3, 0.0F, false)); + this.body3.cubeList.add(new ModelBox(body3, 6, 19, -1.25F, -1.0F, -2.5F, 0, 1, 1, 0.0F, false)); + this.body3.cubeList.add(new ModelBox(body3, 6, 19, 1.25F, -1.0F, -2.5F, 0, 1, 1, 0.0F, true)); + + this.body4 = new AdvancedModelRenderer(this); + this.body4.setRotationPoint(0.0F, 0.25F, -2.75F); + this.body3.addChild(body4); + this.setRotateAngle(body4, -0.0873F, 0.0F, 0.0F); + this.body4.cubeList.add(new ModelBox(body4, 14, 0, -1.0F, -0.3282F, -3.249F, 2, 1, 4, 0.0F, false)); + this.body4.cubeList.add(new ModelBox(body4, 14, 10, -1.0F, -0.8782F, -3.249F, 2, 1, 4, 0.01F, false)); + this.body4.cubeList.add(new ModelBox(body4, 8, 19, -0.75F, -1.1282F, -3.249F, 0, 1, 1, 0.0F, false)); + this.body4.cubeList.add(new ModelBox(body4, 12, 19, -0.75F, -1.1282F, -1.499F, 0, 1, 1, 0.0F, false)); + this.body4.cubeList.add(new ModelBox(body4, 8, 19, 0.75F, -1.1282F, -3.249F, 0, 1, 1, 0.0F, true)); + this.body4.cubeList.add(new ModelBox(body4, 12, 19, 0.75F, -1.1282F, -1.499F, 0, 1, 1, 0.0F, true)); + + this.body5 = new AdvancedModelRenderer(this); + this.body5.setRotationPoint(0.0F, -0.0782F, -3.249F); + this.body4.addChild(body5); + this.setRotateAngle(body5, -0.1309F, 0.0F, 0.0F); + this.body5.cubeList.add(new ModelBox(body5, 0, 5, -0.75F, -0.5F, -4.0F, 1, 1, 5, 0.0F, false)); + this.body5.cubeList.add(new ModelBox(body5, 10, 19, -0.5F, -0.75F, -1.5F, 0, 1, 1, 0.0F, false)); + this.body5.cubeList.add(new ModelBox(body5, 14, 19, -0.5F, -0.75F, -3.25F, 0, 1, 1, 0.0F, false)); + this.body5.cubeList.add(new ModelBox(body5, 0, 5, -0.25F, -0.5F, -4.0F, 1, 1, 5, 0.0F, true)); + this.body5.cubeList.add(new ModelBox(body5, 14, 19, 0.5F, -0.75F, -3.25F, 0, 1, 1, 0.0F, true)); + this.body5.cubeList.add(new ModelBox(body5, 10, 19, 0.5F, -0.75F, -1.5F, 0, 1, 1, 0.0F, true)); + + updateDefaultPose(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.sucker.render(f5); + } + public void renderStaticWall(float f) { + resetToDefaultPose(); + } + + public void renderStaticFloor(float f) { + resetToDefaultPose(); + + } + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.sucker.offsetY = -1.6F; + this.sucker.offsetX = 0.2F; + this.sucker.offsetZ = 2.0F; + this.sucker.rotateAngleY = (float)Math.toRadians(120); + this.sucker.rotateAngleX = (float)Math.toRadians(0); + this.sucker.rotateAngleZ = (float)Math.toRadians(0); + this.sucker.scaleChildren = true; + float scaler = 4.0F; + this.sucker.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.sucker.render(f); + //Reset rotations, positions and sizing: + this.sucker.setScale(1.0F, 1.0F, 1.0F); + this.sucker.scaleChildren = false; + resetToDefaultPose(); + + } + + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + this.sucker.offsetZ = -0.3F; + + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraMacromyzon ee = (EntityPrehistoricFloraMacromyzon) entitylivingbaseIn; + + if (ee.isInWater()) {//swimming + if (ee.getIsMoving()) { + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + else { + //land pose: + if (!ee.getIsMoving()) { //static in land + // + } + else { + //moving in water + // + } + } + + } + + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraMacromyzon entity = (EntityPrehistoricFloraMacromyzon) entitylivingbaseIn; + int animCycle = 60; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 0 + (((tickAnim - 0) / 15) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 15) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 15) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 19) { + xx = 0 + (((tickAnim - 15) / 4) * (-2.4905-(0))); + yy = 0 + (((tickAnim - 15) / 4) * (0.21782-(0))); + zz = 0 + (((tickAnim - 15) / 4) * (4.99527-(0))); + } + else if (tickAnim >= 19 && tickAnim < 23) { + xx = -2.4905 + (((tickAnim - 19) / 4) * (-5-(-2.4905))); + yy = 0.21782 + (((tickAnim - 19) / 4) * (0-(0.21782))); + zz = 4.99527 + (((tickAnim - 19) / 4) * (0-(4.99527))); + } + else if (tickAnim >= 23 && tickAnim < 27) { + xx = -5 + (((tickAnim - 23) / 4) * (-14.98637-(-5))); + yy = 0 + (((tickAnim - 23) / 4) * (-0.64686-(0))); + zz = 0 + (((tickAnim - 23) / 4) * (-2.41492-(0))); + } + else if (tickAnim >= 27 && tickAnim < 30) { + xx = -14.98637 + (((tickAnim - 27) / 3) * (-25-(-14.98637))); + yy = -0.64686 + (((tickAnim - 27) / 3) * (0-(-0.64686))); + zz = -2.41492 + (((tickAnim - 27) / 3) * (0-(-2.41492))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = -25 + (((tickAnim - 30) / 8) * (0-(-25))); + yy = 0 + (((tickAnim - 30) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 8) * (0-(0))); + } + else if (tickAnim >= 38 && tickAnim < 60) { + xx = 0 + (((tickAnim - 38) / 22) * (0-(0))); + yy = 0 + (((tickAnim - 38) / 22) * (0-(0))); + zz = 0 + (((tickAnim - 38) / 22) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(sucker, sucker.rotateAngleX + (float) Math.toRadians(xx), sucker.rotateAngleY + (float) Math.toRadians(yy), sucker.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 0 + (((tickAnim - 0) / 15) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 15) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 15) * (3.4-(0))); + } + else if (tickAnim >= 15 && tickAnim < 30) { + xx = 0 + (((tickAnim - 15) / 15) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 15) * (0-(0))); + zz = 3.4 + (((tickAnim - 15) / 15) * (-7.58-(3.4))); + } + else if (tickAnim >= 30 && tickAnim < 60) { + xx = 0 + (((tickAnim - 30) / 30) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 30) * (0-(0))); + zz = -7.58 + (((tickAnim - 30) / 30) * (0-(-7.58))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.sucker.rotationPointX = this.sucker.rotationPointX + (float)(xx); + this.sucker.rotationPointY = this.sucker.rotationPointY - (float)(yy); + this.sucker.rotationPointZ = this.sucker.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-32.5-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 23) { + xx = -32.5 + (((tickAnim - 8) / 15) * (-30-(-32.5))); + yy = 0 + (((tickAnim - 8) / 15) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 15) * (0-(0))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = -30 + (((tickAnim - 23) / 7) * (-14.75-(-30))); + yy = 0 + (((tickAnim - 23) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 23) / 7) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = -14.75 + (((tickAnim - 30) / 8) * (-64.5-(-14.75))); + yy = 0 + (((tickAnim - 30) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 8) * (0-(0))); + } + else if (tickAnim >= 38 && tickAnim < 60) { + xx = -64.5 + (((tickAnim - 38) / 22) * (0-(-64.5))); + yy = 0 + (((tickAnim - 38) / 22) * (0-(0))); + zz = 0 + (((tickAnim - 38) / 22) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(xx), body.rotateAngleY + (float) Math.toRadians(yy), body.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 1 + (((tickAnim - 0) / 15) * (0.76-(1))); + yy = 1 + (((tickAnim - 0) / 15) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 15) * (1-(1))); + } + else if (tickAnim >= 15 && tickAnim < 30) { + xx = 0.76 + (((tickAnim - 15) / 15) * (1.2-(0.76))); + yy = 1 + (((tickAnim - 15) / 15) * (1-(1))); + zz = 1 + (((tickAnim - 15) / 15) * (1-(1))); + } + else if (tickAnim >= 30 && tickAnim < 60) { + xx = 1.2 + (((tickAnim - 30) / 30) * (1-(1.2))); + yy = 1 + (((tickAnim - 30) / 30) * (1-(1))); + zz = 1 + (((tickAnim - 30) / 30) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.body.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 0 + (((tickAnim - 0) / 15) * (10-(0))); + yy = 0 + (((tickAnim - 0) / 15) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 15) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 23) { + xx = 10 + (((tickAnim - 15) / 8) * (23.80439-(10))); + yy = 0 + (((tickAnim - 15) / 8) * (1.68781-(0))); + zz = 0 + (((tickAnim - 15) / 8) * (1.84533-(0))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = 23.80439 + (((tickAnim - 23) / 7) * (-2.39121-(23.80439))); + yy = 1.68781 + (((tickAnim - 23) / 7) * (3.37562-(1.68781))); + zz = 1.84533 + (((tickAnim - 23) / 7) * (3.69066-(1.84533))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = -2.39121 + (((tickAnim - 30) / 8) * (8.75-(-2.39121))); + yy = 3.37562 + (((tickAnim - 30) / 8) * (0-(3.37562))); + zz = 3.69066 + (((tickAnim - 30) / 8) * (0-(3.69066))); + } + else if (tickAnim >= 38 && tickAnim < 49) { + xx = 8.75 + (((tickAnim - 38) / 11) * (18.74756-(8.75))); + yy = 0 + (((tickAnim - 38) / 11) * (6.31745-(0))); + zz = 0 + (((tickAnim - 38) / 11) * (4.07394-(0))); + } + else if (tickAnim >= 49 && tickAnim < 55) { + xx = 18.74756 + (((tickAnim - 49) / 6) * (3.65272-(18.74756))); + yy = 6.31745 + (((tickAnim - 49) / 6) * (2.91575-(6.31745))); + zz = 4.07394 + (((tickAnim - 49) / 6) * (1.88028-(4.07394))); + } + else if (tickAnim >= 55 && tickAnim < 60) { + xx = 3.65272 + (((tickAnim - 55) / 5) * (0-(3.65272))); + yy = 2.91575 + (((tickAnim - 55) / 5) * (0-(2.91575))); + zz = 1.88028 + (((tickAnim - 55) / 5) * (0-(1.88028))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body3, body3.rotateAngleX + (float) Math.toRadians(xx), body3.rotateAngleY + (float) Math.toRadians(yy), body3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 1 + (((tickAnim - 0) / 15) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 15) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 15) * (1.2-(1))); + } + else if (tickAnim >= 15 && tickAnim < 60) { + xx = 1 + (((tickAnim - 15) / 45) * (1-(1))); + yy = 1 + (((tickAnim - 15) / 45) * (1-(1))); + zz = 1.2 + (((tickAnim - 15) / 45) * (1-(1.2))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.body3.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (16.87-(0))); + yy = 0 + (((tickAnim - 0) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 16.87 + (((tickAnim - 4) / 4) * (19.07073-(16.87))); + yy = 0 + (((tickAnim - 4) / 4) * (-12.13624-(0))); + zz = 0 + (((tickAnim - 4) / 4) * (-3.01634-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 19.07073 + (((tickAnim - 8) / 4) * (1.84305-(19.07073))); + yy = -12.13624 + (((tickAnim - 8) / 4) * (-7.48875-(-12.13624))); + zz = -3.01634 + (((tickAnim - 8) / 4) * (0.41186-(-3.01634))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 1.84305 + (((tickAnim - 12) / 3) * (20-(1.84305))); + yy = -7.48875 + (((tickAnim - 12) / 3) * (0-(-7.48875))); + zz = 0.41186 + (((tickAnim - 12) / 3) * (0-(0.41186))); + } + else if (tickAnim >= 15 && tickAnim < 23) { + xx = 20 + (((tickAnim - 15) / 8) * (60.9083-(20))); + yy = 0 + (((tickAnim - 15) / 8) * (5.64448-(0))); + zz = 0 + (((tickAnim - 15) / 8) * (8.2681-(0))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = 60.9083 + (((tickAnim - 23) / 7) * (127.86082-(60.9083))); + yy = 5.64448 + (((tickAnim - 23) / 7) * (8.86042-(5.64448))); + zz = 8.2681 + (((tickAnim - 23) / 7) * (4.65468-(8.2681))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = 127.86082 + (((tickAnim - 30) / 8) * (108.78655-(127.86082))); + yy = 8.86042 + (((tickAnim - 30) / 8) * (-0.37532-(8.86042))); + zz = 4.65468 + (((tickAnim - 30) / 8) * (4.13696-(4.65468))); + } + else if (tickAnim >= 38 && tickAnim < 49) { + xx = 108.78655 + (((tickAnim - 38) / 11) * (-12.01409-(108.78655))); + yy = -0.37532 + (((tickAnim - 38) / 11) * (5.82643-(-0.37532))); + zz = 4.13696 + (((tickAnim - 38) / 11) * (-0.98198-(4.13696))); + } + else if (tickAnim >= 49 && tickAnim < 55) { + xx = -12.01409 + (((tickAnim - 49) / 6) * (6.57042-(-12.01409))); + yy = 5.82643 + (((tickAnim - 49) / 6) * (2.68912-(5.82643))); + zz = -0.98198 + (((tickAnim - 49) / 6) * (-0.45322-(-0.98198))); + } + else if (tickAnim >= 55 && tickAnim < 60) { + xx = 6.57042 + (((tickAnim - 55) / 5) * (0-(6.57042))); + yy = 2.68912 + (((tickAnim - 55) / 5) * (0-(2.68912))); + zz = -0.45322 + (((tickAnim - 55) / 5) * (0-(-0.45322))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body4, body4.rotateAngleX + (float) Math.toRadians(xx), body4.rotateAngleY + (float) Math.toRadians(yy), body4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = -12.5 + (((tickAnim - 0) / 4) * (27.5-(-12.5))); + yy = 0 + (((tickAnim - 0) / 4) * (-25-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 27.5 + (((tickAnim - 4) / 4) * (20.29362-(27.5))); + yy = -25 + (((tickAnim - 4) / 4) * (-12.19908-(-25))); + zz = 0 + (((tickAnim - 4) / 4) * (-2.74715-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 20.29362 + (((tickAnim - 8) / 4) * (0-(20.29362))); + yy = -12.19908 + (((tickAnim - 8) / 4) * (-10-(-12.19908))); + zz = -2.74715 + (((tickAnim - 8) / 4) * (0-(-2.74715))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 0 + (((tickAnim - 12) / 3) * (15-(0))); + yy = -10 + (((tickAnim - 12) / 3) * (0-(-10))); + zz = 0 + (((tickAnim - 12) / 3) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 23) { + xx = 15 + (((tickAnim - 15) / 8) * (28.38852-(15))); + yy = 0 + (((tickAnim - 15) / 8) * (16.41371-(0))); + zz = 0 + (((tickAnim - 15) / 8) * (6.15491-(0))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = 28.38852 + (((tickAnim - 23) / 7) * (54.61041-(28.38852))); + yy = 16.41371 + (((tickAnim - 23) / 7) * (2.86841-(16.41371))); + zz = 6.15491 + (((tickAnim - 23) / 7) * (19.55841-(6.15491))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = 54.61041 + (((tickAnim - 30) / 8) * (66.71369-(54.61041))); + yy = 2.86841 + (((tickAnim - 30) / 8) * (2.56399-(2.86841))); + zz = 19.55841 + (((tickAnim - 30) / 8) * (4.29398-(19.55841))); + } + else if (tickAnim >= 38 && tickAnim < 44) { + xx = 66.71369 + (((tickAnim - 38) / 6) * (23.48-(66.71369))); + yy = 2.56399 + (((tickAnim - 38) / 6) * (-4.53-(2.56399))); + zz = 4.29398 + (((tickAnim - 38) / 6) * (3.54-(4.29398))); + } + else if (tickAnim >= 44 && tickAnim < 49) { + xx = 23.48 + (((tickAnim - 44) / 5) * (-3.08885-(23.48))); + yy = -4.53 + (((tickAnim - 44) / 5) * (9.44627-(-4.53))); + zz = 3.54 + (((tickAnim - 44) / 5) * (3.33379-(3.54))); + } + else if (tickAnim >= 49 && tickAnim < 55) { + xx = -3.08885 + (((tickAnim - 49) / 6) * (28.38207-(-3.08885))); + yy = 9.44627 + (((tickAnim - 49) / 6) * (4.35982-(9.44627))); + zz = 3.33379 + (((tickAnim - 49) / 6) * (1.53867-(3.33379))); + } + else if (tickAnim >= 55 && tickAnim < 60) { + xx = 28.38207 + (((tickAnim - 55) / 5) * (-12.5-(28.38207))); + yy = 4.35982 + (((tickAnim - 55) / 5) * (0-(4.35982))); + zz = 1.53867 + (((tickAnim - 55) / 5) * (0-(1.53867))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body5, body5.rotateAngleX + (float) Math.toRadians(xx), body5.rotateAngleY + (float) Math.toRadians(yy), body5.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-10-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 15) { + xx = -10 + (((tickAnim - 8) / 7) * (10-(-10))); + yy = 0 + (((tickAnim - 8) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 7) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 23) { + xx = 10 + (((tickAnim - 15) / 8) * (-23.33-(10))); + yy = 0 + (((tickAnim - 15) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 8) * (0-(0))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = -23.33 + (((tickAnim - 23) / 7) * (-38.92-(-23.33))); + yy = 0 + (((tickAnim - 23) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 23) / 7) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 38) { + xx = -38.92 + (((tickAnim - 30) / 8) * (-24.5-(-38.92))); + yy = 0 + (((tickAnim - 30) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 8) * (0-(0))); + } + else if (tickAnim >= 38 && tickAnim < 49) { + xx = -24.5 + (((tickAnim - 38) / 11) * (-4.3-(-24.5))); + yy = 0 + (((tickAnim - 38) / 11) * (0-(0))); + zz = 0 + (((tickAnim - 38) / 11) * (0-(0))); + } + else if (tickAnim >= 49 && tickAnim < 60) { + xx = -4.3 + (((tickAnim - 49) / 11) * (0-(-4.3))); + yy = 0 + (((tickAnim - 49) / 11) * (0-(0))); + zz = 0 + (((tickAnim - 49) / 11) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(xx), body2.rotateAngleY + (float) Math.toRadians(yy), body2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 1 + (((tickAnim - 0) / 15) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 15) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 15) * (1.3-(1))); + } + else if (tickAnim >= 15 && tickAnim < 30) { + xx = 1 + (((tickAnim - 15) / 15) * (1-(1))); + yy = 1 + (((tickAnim - 15) / 15) * (1-(1))); + zz = 1.3 + (((tickAnim - 15) / 15) * (1-(1.3))); + } + else if (tickAnim >= 30 && tickAnim < 60) { + xx = 1 + (((tickAnim - 30) / 30) * (1-(1))); + yy = 1 + (((tickAnim - 30) / 30) * (1-(1))); + zz = 1 + (((tickAnim - 30) / 30) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.body2.setScale((float)xx, (float)yy, (float)zz); + + } + +} + + + + diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelPalaeopalaemon.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelPalaeopalaemon.java new file mode 100644 index 0000000000..e3cc4e3b66 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelPalaeopalaemon.java @@ -0,0 +1,2105 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraIcarosaurus; +import net.lepidodendron.entity.EntityPrehistoricFloraPalaeopalaemon; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; + +public class ModelPalaeopalaemon extends ModelBasePalaeopedia { + private final AdvancedModelRenderer Body; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer rightleg3; + private final AdvancedModelRenderer leftleg3; + private final AdvancedModelRenderer rightleg4; + private final AdvancedModelRenderer leftleg4; + private final AdvancedModelRenderer rightleg2; + private final AdvancedModelRenderer leftleg2; + private final AdvancedModelRenderer rightleg; + private final AdvancedModelRenderer leftleg; + private final AdvancedModelRenderer rightantenna; + private final AdvancedModelRenderer leftantenna; + private final AdvancedModelRenderer abdomen1; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer rightpleopod; + private final AdvancedModelRenderer leftpleopod; + private final AdvancedModelRenderer rightpleopod2; + private final AdvancedModelRenderer leftpleopod2; + private final AdvancedModelRenderer abdomen2; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer abdomen3; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer abdomen4; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer cube_r16; + private final AdvancedModelRenderer cube_r17; + private final AdvancedModelRenderer cube_r18; + private final AdvancedModelRenderer rightpleopod5; + private final AdvancedModelRenderer leftpleopod5; + private final AdvancedModelRenderer rightpleopod4; + private final AdvancedModelRenderer leftpleopod4; + private final AdvancedModelRenderer rightpleopod3; + private final AdvancedModelRenderer leftpleopod3; + private final AdvancedModelRenderer rightclaw; + private final AdvancedModelRenderer rightclaw2; + private final AdvancedModelRenderer rightclaw3; + private final AdvancedModelRenderer rightclawfinger; + private final AdvancedModelRenderer leftclaw; + private final AdvancedModelRenderer leftclaw2; + private final AdvancedModelRenderer leftclaw3; + private final AdvancedModelRenderer leftclawfinger; + private final AdvancedModelRenderer rightclawraptorial; + private final AdvancedModelRenderer rightclawraptorial2; + private final AdvancedModelRenderer rightclawraptorial3; + private final AdvancedModelRenderer leftclawraptorial; + private final AdvancedModelRenderer leftclawraptorial2; + private final AdvancedModelRenderer leftclawraptorial3; + + private ModelAnimator animator; + + + public ModelPalaeopalaemon() { + this.textureWidth = 38; + this.textureHeight = 39; + + this.Body = new AdvancedModelRenderer(this); + this.Body.setRotationPoint(0.0F, 20.75F, -2.0F); + this.setRotateAngle(Body, -0.1309F, 0.0F, 0.0F); + this.Body.cubeList.add(new ModelBox(Body, 0, 9, -1.5F, -1.0F, -4.0F, 3, 1, 8, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(1.5F, -1.0F, -4.0F); + this.Body.addChild(cube_r1); + this.setRotateAngle(cube_r1, 0.0F, 0.0F, 0.5672F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 2, 19, 0.0F, 0.001F, 1.0F, 3, 0, 7, 0.0F, true)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(-1.5F, -1.0F, -4.0F); + this.Body.addChild(cube_r2); + this.setRotateAngle(cube_r2, 0.0F, 0.0F, -0.5672F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 2, 19, -3.0F, 0.001F, 1.0F, 3, 0, 7, 0.0F, false)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(0.0F, -1.001F, -4.0F); + this.Body.addChild(cube_r3); + this.setRotateAngle(cube_r3, -0.096F, 0.0F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 12, 8, -0.5F, 0.001F, -4.0F, 1, 0, 4, 0.0F, false)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(0.1F, 0.25F, 4.0F); + this.Body.addChild(cube_r4); + this.setRotateAngle(cube_r4, -0.0688F, -0.0121F, -0.1741F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, -5, 19, -0.2F, 0.5F, -7.0F, 3, 0, 7, 0.0F, true)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(-0.1F, 0.25F, 4.0F); + this.Body.addChild(cube_r5); + this.setRotateAngle(cube_r5, -0.0688F, 0.0121F, 0.1741F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, -5, 19, -2.8F, 0.5F, -7.0F, 3, 0, 7, 0.0F, false)); + + this.rightleg3 = new AdvancedModelRenderer(this); + this.rightleg3.setRotationPoint(-1.1079F, 0.2611F, 1.7914F); + this.Body.addChild(rightleg3); + this.setRotateAngle(rightleg3, 0.7285F, 0.1666F, -0.2155F); + this.rightleg3.cubeList.add(new ModelBox(rightleg3, 26, 7, -5.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, false)); + + this.leftleg3 = new AdvancedModelRenderer(this); + this.leftleg3.setRotationPoint(1.1079F, 0.2611F, 1.7914F); + this.Body.addChild(leftleg3); + this.setRotateAngle(leftleg3, 0.7285F, -0.1666F, 0.2155F); + this.leftleg3.cubeList.add(new ModelBox(leftleg3, 26, 7, 0.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, true)); + + this.rightleg4 = new AdvancedModelRenderer(this); + this.rightleg4.setRotationPoint(-0.9652F, 0.2412F, 2.8056F); + this.Body.addChild(rightleg4); + this.setRotateAngle(rightleg4, 0.9319F, 0.5552F, -0.1626F); + this.rightleg4.cubeList.add(new ModelBox(rightleg4, 19, 27, -7.0F, 0.0F, 0.0F, 7, 2, 0, 0.0F, false)); + + this.leftleg4 = new AdvancedModelRenderer(this); + this.leftleg4.setRotationPoint(0.9652F, 0.2412F, 2.8056F); + this.Body.addChild(leftleg4); + this.setRotateAngle(leftleg4, 0.9319F, -0.5552F, 0.1626F); + this.leftleg4.cubeList.add(new ModelBox(leftleg4, 19, 27, 0.0F, 0.0F, 0.0F, 7, 2, 0, 0.0F, true)); + + this.rightleg2 = new AdvancedModelRenderer(this); + this.rightleg2.setRotationPoint(-0.9186F, 0.3997F, 1.1477F); + this.Body.addChild(rightleg2); + this.setRotateAngle(rightleg2, 0.7511F, -0.2935F, -0.2609F); + this.rightleg2.cubeList.add(new ModelBox(rightleg2, 26, 1, -5.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, false)); + + this.leftleg2 = new AdvancedModelRenderer(this); + this.leftleg2.setRotationPoint(0.9186F, 0.3997F, 1.1477F); + this.Body.addChild(leftleg2); + this.setRotateAngle(leftleg2, 0.7511F, 0.2935F, 0.2609F); + this.leftleg2.cubeList.add(new ModelBox(leftleg2, 26, 1, 0.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, true)); + + this.rightleg = new AdvancedModelRenderer(this); + this.rightleg.setRotationPoint(-0.7144F, 0.2938F, 0.2902F); + this.Body.addChild(rightleg); + this.setRotateAngle(rightleg, 1.2264F, -0.7768F, -0.5774F); + this.rightleg.cubeList.add(new ModelBox(rightleg, 26, 4, -5.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, false)); + + this.leftleg = new AdvancedModelRenderer(this); + this.leftleg.setRotationPoint(0.7144F, 0.2938F, 0.2902F); + this.Body.addChild(leftleg); + this.setRotateAngle(leftleg, 1.2264F, 0.7768F, 0.5774F); + this.leftleg.cubeList.add(new ModelBox(leftleg, 26, 4, 0.0F, 0.0F, 0.0F, 5, 2, 0, 0.0F, true)); + + this.rightantenna = new AdvancedModelRenderer(this); + this.rightantenna.setRotationPoint(-1.2F, -0.35F, -3.0F); + this.Body.addChild(rightantenna); + this.setRotateAngle(rightantenna, -0.4363F, 1.1781F, 0.2618F); + this.rightantenna.cubeList.add(new ModelBox(rightantenna, -6, 0, -3.0F, 0.0F, -8.0F, 6, 0, 8, 0.0F, false)); + + this.leftantenna = new AdvancedModelRenderer(this); + this.leftantenna.setRotationPoint(1.2F, -0.35F, -3.0F); + this.Body.addChild(leftantenna); + this.setRotateAngle(leftantenna, -0.4363F, -1.1781F, -0.2618F); + this.leftantenna.cubeList.add(new ModelBox(leftantenna, -6, 0, -3.0F, 0.0F, -8.0F, 6, 0, 8, 0.0F, true)); + + this.abdomen1 = new AdvancedModelRenderer(this); + this.abdomen1.setRotationPoint(-0.025F, -0.725F, 4.025F); + this.Body.addChild(abdomen1); + this.setRotateAngle(abdomen1, 0.0436F, 0.0F, 0.0F); + this.abdomen1.cubeList.add(new ModelBox(abdomen1, 15, 3, -0.975F, -0.275F, -0.025F, 2, 1, 2, 0.0F, false)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(1.025F, -0.276F, -0.025F); + this.abdomen1.addChild(cube_r6); + this.setRotateAngle(cube_r6, 0.0F, 0.0F, 0.5672F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 31, 16, 0.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, true)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(-0.975F, -0.276F, -0.025F); + this.abdomen1.addChild(cube_r7); + this.setRotateAngle(cube_r7, 0.0F, 0.0F, -0.5672F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 31, 16, -2.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, false)); + + this.rightpleopod = new AdvancedModelRenderer(this); + this.rightpleopod.setRotationPoint(-0.725F, 0.725F, 0.475F); + this.abdomen1.addChild(rightpleopod); + this.setRotateAngle(rightpleopod, 0.3707F, 0.22F, 0.5061F); + this.rightpleopod.cubeList.add(new ModelBox(rightpleopod, 14, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, false)); + + this.leftpleopod = new AdvancedModelRenderer(this); + this.leftpleopod.setRotationPoint(0.775F, 0.725F, 0.475F); + this.abdomen1.addChild(leftpleopod); + this.setRotateAngle(leftpleopod, 0.3707F, -0.22F, -0.5061F); + this.leftpleopod.cubeList.add(new ModelBox(leftpleopod, 14, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, true)); + + this.rightpleopod2 = new AdvancedModelRenderer(this); + this.rightpleopod2.setRotationPoint(-0.725F, 0.725F, 1.875F); + this.abdomen1.addChild(rightpleopod2); + this.setRotateAngle(rightpleopod2, 0.3707F, 0.22F, 0.5061F); + this.rightpleopod2.cubeList.add(new ModelBox(rightpleopod2, 17, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, false)); + + this.leftpleopod2 = new AdvancedModelRenderer(this); + this.leftpleopod2.setRotationPoint(0.775F, 0.725F, 1.875F); + this.abdomen1.addChild(leftpleopod2); + this.setRotateAngle(leftpleopod2, 0.3707F, -0.22F, -0.5061F); + this.leftpleopod2.cubeList.add(new ModelBox(leftpleopod2, 17, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, true)); + + this.abdomen2 = new AdvancedModelRenderer(this); + this.abdomen2.setRotationPoint(0.0F, 0.0F, 2.0F); + this.abdomen1.addChild(abdomen2); + this.setRotateAngle(abdomen2, 0.0873F, 0.0F, 0.0F); + this.abdomen2.cubeList.add(new ModelBox(abdomen2, 24, 10, -0.975F, -0.275F, -0.025F, 2, 1, 2, 0.0F, false)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(1.025F, -0.276F, -0.025F); + this.abdomen2.addChild(cube_r8); + this.setRotateAngle(cube_r8, 0.0F, 0.0F, 0.5672F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 31, 20, 0.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, true)); + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(-0.975F, -0.276F, -0.025F); + this.abdomen2.addChild(cube_r9); + this.setRotateAngle(cube_r9, 0.0F, 0.0F, -0.5672F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 31, 20, -2.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, false)); + + this.abdomen3 = new AdvancedModelRenderer(this); + this.abdomen3.setRotationPoint(0.0F, 0.0F, 2.0F); + this.abdomen2.addChild(abdomen3); + this.setRotateAngle(abdomen3, 0.0873F, 0.0F, 0.0F); + this.abdomen3.cubeList.add(new ModelBox(abdomen3, 0, 33, -0.975F, -0.275F, -0.025F, 2, 1, 2, 0.0F, false)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(1.025F, -0.276F, -0.025F); + this.abdomen3.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.0F, 0.0F, 0.5672F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 31, 24, 0.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, true)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(-0.975F, -0.276F, -0.025F); + this.abdomen3.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.0F, 0.0F, -0.5672F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 31, 24, -2.0F, 0.001F, 0.0F, 2, 0, 2, 0.0F, false)); + + this.abdomen4 = new AdvancedModelRenderer(this); + this.abdomen4.setRotationPoint(0.0F, 0.0F, 2.0F); + this.abdomen3.addChild(abdomen4); + this.setRotateAngle(abdomen4, -0.1745F, 0.0F, 0.0F); + this.abdomen4.cubeList.add(new ModelBox(abdomen4, 24, 14, -0.975F, -0.275F, -0.025F, 2, 1, 2, 0.0F, false)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(-1.6403F, 0.2102F, 1.8307F); + this.abdomen4.addChild(cube_r12); + this.setRotateAngle(cube_r12, -0.076F, -0.8984F, -0.7307F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 8, 35, -0.8628F, 0.4034F, -0.1104F, 1, 0, 3, 0.0F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(-0.3665F, -0.2557F, 2.0051F); + this.abdomen4.addChild(cube_r13); + this.setRotateAngle(cube_r13, -0.3116F, -0.4864F, -0.3716F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 0, 27, -1.7859F, 0.1208F, -0.0483F, 2, 0, 4, 0.0F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(1.6903F, 0.2102F, 1.8307F); + this.abdomen4.addChild(cube_r14); + this.setRotateAngle(cube_r14, -0.076F, 0.8984F, 0.7307F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 8, 35, -0.1372F, 0.4034F, -0.1104F, 1, 0, 3, 0.0F, true)); + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(0.4165F, -0.2557F, 2.0051F); + this.abdomen4.addChild(cube_r15); + this.setRotateAngle(cube_r15, -0.3116F, 0.4864F, 0.3716F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 0, 27, -0.2141F, 0.1208F, -0.0483F, 2, 0, 4, 0.0F, true)); + + this.cube_r16 = new AdvancedModelRenderer(this); + this.cube_r16.setRotationPoint(1.025F, -0.276F, -0.025F); + this.abdomen4.addChild(cube_r16); + this.setRotateAngle(cube_r16, 0.0F, 0.0F, 0.5672F); + this.cube_r16.cubeList.add(new ModelBox(cube_r16, -1, 11, 0.0F, 0.001F, 0.0F, 2, 0, 3, 0.0F, true)); + + this.cube_r17 = new AdvancedModelRenderer(this); + this.cube_r17.setRotationPoint(-0.975F, -0.276F, -0.025F); + this.abdomen4.addChild(cube_r17); + this.setRotateAngle(cube_r17, 0.0F, 0.0F, -0.5672F); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, -1, 11, -2.0F, 0.001F, 0.0F, 2, 0, 3, 0.0F, false)); + + this.cube_r18 = new AdvancedModelRenderer(this); + this.cube_r18.setRotationPoint(0.025F, -0.276F, 1.975F); + this.abdomen4.addChild(cube_r18); + this.setRotateAngle(cube_r18, -0.3491F, 0.0F, 0.0F); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 22, 22, -1.0F, 0.001F, 0.0F, 2, 0, 4, 0.0F, false)); + + this.rightpleopod5 = new AdvancedModelRenderer(this); + this.rightpleopod5.setRotationPoint(-0.725F, 0.725F, 0.075F); + this.abdomen4.addChild(rightpleopod5); + this.setRotateAngle(rightpleopod5, 0.3707F, 0.22F, 0.5061F); + this.rightpleopod5.cubeList.add(new ModelBox(rightpleopod5, 26, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, false)); + + this.leftpleopod5 = new AdvancedModelRenderer(this); + this.leftpleopod5.setRotationPoint(0.775F, 0.725F, 0.075F); + this.abdomen4.addChild(leftpleopod5); + this.setRotateAngle(leftpleopod5, 0.3707F, -0.22F, -0.5061F); + this.leftpleopod5.cubeList.add(new ModelBox(leftpleopod5, 26, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, true)); + + this.rightpleopod4 = new AdvancedModelRenderer(this); + this.rightpleopod4.setRotationPoint(-0.725F, 0.725F, 0.675F); + this.abdomen3.addChild(rightpleopod4); + this.setRotateAngle(rightpleopod4, 0.3707F, 0.22F, 0.5061F); + this.rightpleopod4.cubeList.add(new ModelBox(rightpleopod4, 23, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, false)); + + this.leftpleopod4 = new AdvancedModelRenderer(this); + this.leftpleopod4.setRotationPoint(0.775F, 0.725F, 0.675F); + this.abdomen3.addChild(leftpleopod4); + this.setRotateAngle(leftpleopod4, 0.3707F, -0.22F, -0.5061F); + this.leftpleopod4.cubeList.add(new ModelBox(leftpleopod4, 23, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, true)); + + this.rightpleopod3 = new AdvancedModelRenderer(this); + this.rightpleopod3.setRotationPoint(-0.725F, 0.725F, 1.275F); + this.abdomen2.addChild(rightpleopod3); + this.setRotateAngle(rightpleopod3, 0.3707F, 0.22F, 0.5061F); + this.rightpleopod3.cubeList.add(new ModelBox(rightpleopod3, 20, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, false)); + + this.leftpleopod3 = new AdvancedModelRenderer(this); + this.leftpleopod3.setRotationPoint(0.775F, 0.725F, 1.275F); + this.abdomen2.addChild(leftpleopod3); + this.setRotateAngle(leftpleopod3, 0.3707F, -0.22F, -0.5061F); + this.leftpleopod3.cubeList.add(new ModelBox(leftpleopod3, 20, 36, -0.5F, -0.5F, 0.0F, 1, 2, 0, 0.0F, true)); + + this.rightclaw = new AdvancedModelRenderer(this); + this.rightclaw.setRotationPoint(-0.78F, -0.0211F, -0.2563F); + this.Body.addChild(rightclaw); + this.setRotateAngle(rightclaw, 0.1975F, 0.5131F, -0.127F); + this.rightclaw.cubeList.add(new ModelBox(rightclaw, 10, 24, 0.001F, -0.5F, -3.0F, 0, 1, 3, 0.0F, false)); + + this.rightclaw2 = new AdvancedModelRenderer(this); + this.rightclaw2.setRotationPoint(0.001F, 0.0F, -3.0F); + this.rightclaw.addChild(rightclaw2); + this.setRotateAngle(rightclaw2, 0.0385F, -0.2148F, -0.1787F); + this.rightclaw2.cubeList.add(new ModelBox(rightclaw2, 10, 30, -0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F, false)); + + this.rightclaw3 = new AdvancedModelRenderer(this); + this.rightclaw3.setRotationPoint(0.0F, 0.0F, -3.0F); + this.rightclaw2.addChild(rightclaw3); + this.setRotateAngle(rightclaw3, 0.143F, -0.1868F, -0.2848F); + this.rightclaw3.cubeList.add(new ModelBox(rightclaw3, 20, 30, -0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F, false)); + this.rightclaw3.cubeList.add(new ModelBox(rightclaw3, 33, 9, 0.0F, 0.25F, -3.0F, 0, 1, 2, 0.0F, false)); + + this.rightclawfinger = new AdvancedModelRenderer(this); + this.rightclawfinger.setRotationPoint(0.0F, -0.25F, -3.0F); + this.rightclaw3.addChild(rightclawfinger); + this.setRotateAngle(rightclawfinger, 0.5236F, 0.0F, 0.0F); + this.rightclawfinger.cubeList.add(new ModelBox(rightclawfinger, 33, 13, -0.5F, 0.0F, -1.5F, 1, 0, 2, 0.0F, false)); + + this.leftclaw = new AdvancedModelRenderer(this); + this.leftclaw.setRotationPoint(0.78F, -0.0211F, -0.2563F); + this.Body.addChild(leftclaw); + this.setRotateAngle(leftclaw, 0.1975F, -0.5131F, 0.127F); + this.leftclaw.cubeList.add(new ModelBox(leftclaw, 10, 24, -0.001F, -0.5F, -3.0F, 0, 1, 3, 0.0F, true)); + + this.leftclaw2 = new AdvancedModelRenderer(this); + this.leftclaw2.setRotationPoint(-0.001F, 0.0F, -3.0F); + this.leftclaw.addChild(leftclaw2); + this.setRotateAngle(leftclaw2, 0.0385F, 0.2148F, 0.1787F); + this.leftclaw2.cubeList.add(new ModelBox(leftclaw2, 10, 30, -0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F, true)); + + this.leftclaw3 = new AdvancedModelRenderer(this); + this.leftclaw3.setRotationPoint(0.0F, 0.0F, -3.0F); + this.leftclaw2.addChild(leftclaw3); + this.setRotateAngle(leftclaw3, 0.143F, 0.1868F, 0.2848F); + this.leftclaw3.cubeList.add(new ModelBox(leftclaw3, 20, 30, -0.5F, -0.5F, -3.0F, 1, 1, 3, 0.0F, true)); + this.leftclaw3.cubeList.add(new ModelBox(leftclaw3, 33, 9, 0.0F, 0.25F, -3.0F, 0, 1, 2, 0.0F, true)); + + this.leftclawfinger = new AdvancedModelRenderer(this); + this.leftclawfinger.setRotationPoint(0.0F, -0.25F, -3.0F); + this.leftclaw3.addChild(leftclawfinger); + this.setRotateAngle(leftclawfinger, 0.5236F, 0.0F, 0.0F); + this.leftclawfinger.cubeList.add(new ModelBox(leftclawfinger, 33, 13, -0.5F, 0.0F, -1.5F, 1, 0, 2, 0.0F, true)); + + this.rightclawraptorial = new AdvancedModelRenderer(this); + this.rightclawraptorial.setRotationPoint(-0.6646F, 0.4451F, -1.063F); + this.Body.addChild(rightclawraptorial); + this.setRotateAngle(rightclawraptorial, -0.2419F, 0.0179F, -0.1094F); + this.rightclawraptorial.cubeList.add(new ModelBox(rightclawraptorial, 16, -3, -0.025F, 0.0F, -4.0F, 0, 1, 4, 0.0F, false)); + + this.rightclawraptorial2 = new AdvancedModelRenderer(this); + this.rightclawraptorial2.setRotationPoint(0.0F, 0.5F, -4.0F); + this.rightclawraptorial.addChild(rightclawraptorial2); + this.setRotateAngle(rightclawraptorial2, 2.1817F, 0.0F, 0.0F); + this.rightclawraptorial2.cubeList.add(new ModelBox(rightclawraptorial2, 28, 28, -0.01F, -0.5F, -3.0F, 0, 1, 3, 0.0F, false)); + + this.rightclawraptorial3 = new AdvancedModelRenderer(this); + this.rightclawraptorial3.setRotationPoint(0.0F, -0.2588F, -2.9659F); + this.rightclawraptorial2.addChild(rightclawraptorial3); + this.setRotateAngle(rightclawraptorial3, 1.3963F, 0.0F, 0.0F); + this.rightclawraptorial3.cubeList.add(new ModelBox(rightclawraptorial3, 22, 14, 0.0F, -0.5F, -5.0F, 0, 2, 5, 0.0F, false)); + + this.leftclawraptorial = new AdvancedModelRenderer(this); + this.leftclawraptorial.setRotationPoint(0.6646F, 0.4451F, -1.063F); + this.Body.addChild(leftclawraptorial); + this.setRotateAngle(leftclawraptorial, -0.2419F, -0.0179F, 0.1094F); + this.leftclawraptorial.cubeList.add(new ModelBox(leftclawraptorial, 16, -3, 0.025F, 0.0F, -4.0F, 0, 1, 4, 0.0F, true)); + + this.leftclawraptorial2 = new AdvancedModelRenderer(this); + this.leftclawraptorial2.setRotationPoint(0.0F, 0.5F, -4.0F); + this.leftclawraptorial.addChild(leftclawraptorial2); + this.setRotateAngle(leftclawraptorial2, 2.1817F, 0.0F, 0.0F); + this.leftclawraptorial2.cubeList.add(new ModelBox(leftclawraptorial2, 28, 28, 0.01F, -0.5F, -3.0F, 0, 1, 3, 0.0F, true)); + + this.leftclawraptorial3 = new AdvancedModelRenderer(this); + this.leftclawraptorial3.setRotationPoint(0.0F, -0.2588F, -2.9659F); + this.leftclawraptorial2.addChild(leftclawraptorial3); + this.setRotateAngle(leftclawraptorial3, 1.3963F, 0.0F, 0.0F); + this.leftclawraptorial3.cubeList.add(new ModelBox(leftclawraptorial3, 22, 14, 0.0F, -0.5F, -5.0F, 0, 2, 5, 0.0F, true)); + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.Body.render(f5); + } + public void renderStaticFloor(float f) { + this.Body.render(0.01F); + resetToDefaultPose(); + } + public void renderStaticDisplayCase(float f) { + this.Body.offsetZ = 0.030F; + this.Body.render(0.01f); + resetToDefaultPose(); + } + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.Body.offsetY = -1.6F; + this.Body.offsetX = -1.0F; + this.Body.offsetZ = 2.0F; + this.Body.rotateAngleY = (float)Math.toRadians(200); + this.Body.rotateAngleX = (float)Math.toRadians(8); + this.Body.rotateAngleZ = (float)Math.toRadians(-8); + this.Body.scaleChildren = true; + float scaler = 4.0F; + this.Body.setScale(scaler, scaler, scaler); + //Start of pose: + this.setRotateAngle(Body, 0.6F, 3.8F, -0.2F); + //End of pose, now render the model: + this.Body.render(f); + //Reset rotations, positions and sizing: + this.Body.setScale(1.0F, 1.0F, 1.0F); + this.Body.scaleChildren = false; + resetToDefaultPose(); + } + + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + // this.body.offsetY = 0.4F; + //this.carapace.offsetY = -0.2F; + //this.carapace.offsetZ = 0.1F; + + + AdvancedModelRenderer[] fishBody = {this.abdomen1, this.abdomen2, this.abdomen3, this.abdomen4}; + AdvancedModelRenderer[] fishTail = {this.abdomen3, this.abdomen4}; + + + + //mouthparts: + //this.walk(cheliceraL, 0.35F, -0.15F, false, 0, -0.1F, f2, 0.6F); + //this.walk(cheliceraR, 0.35F, 0.15F, false, -1, 0.1F, f2, 0.6F); + + float speed = 0.2F; + float tailHdegree = 0.0F; + float paddleVdegree = 0.05F; + float paddleHdegree = 0.4F; + float tailSwing = 0.50F; + + EntityPrehistoricFloraPalaeopalaemon slimon = (EntityPrehistoricFloraPalaeopalaemon) e; + + this.Body.offsetZ = 0.1F; + + + if (e instanceof EntityLiving && !((EntityLiving) e).isAIDisabled()) {//on land + if(!slimon.getIsMoving()) { + this.chainWave(fishBody, speed, 0.02F, -0.2F, f2, 0.2F); + this.chainSwing(fishTail, speed, 0.05F, -0.6F, f2, 0.6F); + this.chainWave(fishTail, speed, 0.05F, -0.6F, f2, 0.6F); + } + + //this.chainSwing(fishfinL, speed, -paddleHdegree, -3, f2, 1); + //this.chainWave(fishfinL, speed, paddleVdegree, -3, f2, 2); + //this.chainSwing(fishfinR, speed, paddleHdegree, -3, f2, 1); + //this.chainWave(fishfinR, speed, paddleVdegree, -3, f2, 2); + + //pincers: + //this.swing(cheliceraL, 0.3F, -0.1F, false, 0, -0.1F, f2, 0.6F); + //this.swing(cheliceraR, 0.3F, 0.1F, false, 0, 0.1F, f2, 0.6F); + + if (!e.isInWater()) { + //this.Bodyfront.rotateAngleZ = (float) Math.toRadians(90); + + //this.bob(body, -speed * 1.5F, 2F, false, f2, 1); + this.chainSwing(fishBody, speed, 0.01F, -2, f2, 1); + } + } + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraPalaeopalaemon ee = (EntityPrehistoricFloraPalaeopalaemon) entitylivingbaseIn; + //Swimming pose: + + if (ee.isReallyInWater()) { + if (ee.getIsMoving()) { + //Walk pose: + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, false); + } + else { //in water but not moving: + if (ee.getAnimation() != ee.UNSWIM_ANIMATION && ee.getAnimation() != ee.SWIM_ANIMATION) { + //Walk static pose: + animIdle(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, true); + } + } + } + + if (ee.getAnimation() == ee.ATTACK_ANIMATION) { + animAttack(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + } + + + public void animAttack(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraPalaeopalaemon entity = (EntityPrehistoricFloraPalaeopalaemon) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-52.5-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -52.5 + (((tickAnim - 5) / 3) * (-62.55443-(-52.5))); + yy = 0 + (((tickAnim - 5) / 3) * (-0.91881-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (-3.41232-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -62.55443 + (((tickAnim - 8) / 2) * (-52.60886-(-62.55443))); + yy = -0.91881 + (((tickAnim - 8) / 2) * (-1.83762-(-0.91881))); + zz = -3.41232 + (((tickAnim - 8) / 2) * (-6.82463-(-3.41232))); + } + else if (tickAnim >= 10 && tickAnim < 19) { + xx = -52.60886 + (((tickAnim - 10) / 9) * (-39.6511-(-52.60886))); + yy = -1.83762 + (((tickAnim - 10) / 9) * (-0.77374-(-1.83762))); + zz = -6.82463 + (((tickAnim - 10) / 9) * (-2.87353-(-6.82463))); + } + else if (tickAnim >= 19 && tickAnim < 28) { + xx = -39.6511 + (((tickAnim - 19) / 9) * (-35.46-(-39.6511))); + yy = -0.77374 + (((tickAnim - 19) / 9) * (-0.46-(-0.77374))); + zz = -2.87353 + (((tickAnim - 19) / 9) * (-5.06-(-2.87353))); + } + else if (tickAnim >= 28 && tickAnim < 40) { + xx = -35.46 + (((tickAnim - 28) / 12) * (0-(-35.46))); + yy = -0.46 + (((tickAnim - 28) / 12) * (0-(-0.46))); + zz = -5.06 + (((tickAnim - 28) / 12) * (0-(-5.06))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(Body, Body.rotateAngleX + (float) Math.toRadians(xx), Body.rotateAngleY + (float) Math.toRadians(yy), Body.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (3.50425-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (4.15482-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 3.50425 + (((tickAnim - 5) / 5) * (3.50425-(3.50425))); + zz = 4.15482 + (((tickAnim - 5) / 5) * (3.15482-(4.15482))); + } + else if (tickAnim >= 10 && tickAnim < 19) { + xx = 0 + (((tickAnim - 10) / 9) * (-0.06616-(0))); + yy = 3.50425 + (((tickAnim - 10) / 9) * (3.11506-(3.50425))); + zz = 3.15482 + (((tickAnim - 10) / 9) * (2.31326-(3.15482))); + } + else if (tickAnim >= 19 && tickAnim < 28) { + xx = -0.06616 + (((tickAnim - 19) / 9) * (-0.07-(-0.06616))); + yy = 3.11506 + (((tickAnim - 19) / 9) * (2.83-(3.11506))); + zz = 2.31326 + (((tickAnim - 19) / 9) * (2.09-(2.31326))); + } + else if (tickAnim >= 28 && tickAnim < 40) { + xx = -0.07 + (((tickAnim - 28) / 12) * (0-(-0.07))); + yy = 2.83 + (((tickAnim - 28) / 12) * (0-(2.83))); + zz = 2.09 + (((tickAnim - 28) / 12) * (0-(2.09))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.Body.rotationPointX = this.Body.rotationPointX + (float)(xx); + this.Body.rotationPointY = this.Body.rotationPointY - (float)(yy); + this.Body.rotationPointZ = this.Body.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 13) { + xx = 0 + (((tickAnim - 9) / 4) * (-48.11448-(0))); + yy = 0 + (((tickAnim - 9) / 4) * (-15.03083-(0))); + zz = 0 + (((tickAnim - 9) / 4) * (-59.87999-(0))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = -48.11448 + (((tickAnim - 13) / 3) * (-48.11448-(-48.11448))); + yy = -15.03083 + (((tickAnim - 13) / 3) * (-15.03083-(-15.03083))); + zz = -59.87999 + (((tickAnim - 13) / 3) * (-59.87999-(-59.87999))); + } + else if (tickAnim >= 16 && tickAnim < 18) { + xx = -48.11448 + (((tickAnim - 16) / 2) * (-32.08-(-48.11448))); + yy = -15.03083 + (((tickAnim - 16) / 2) * (-10.02-(-15.03083))); + zz = -59.87999 + (((tickAnim - 16) / 2) * (-27.42-(-59.87999))); + } + else if (tickAnim >= 18 && tickAnim < 23) { + xx = -32.08 + (((tickAnim - 18) / 5) * (-48.11448-(-32.08))); + yy = -10.02 + (((tickAnim - 18) / 5) * (-15.03083-(-10.02))); + zz = -27.42 + (((tickAnim - 18) / 5) * (-59.87999-(-27.42))); + } + else if (tickAnim >= 23 && tickAnim < 26) { + xx = -48.11448 + (((tickAnim - 23) / 3) * (-48.11448-(-48.11448))); + yy = -15.03083 + (((tickAnim - 23) / 3) * (-15.03083-(-15.03083))); + zz = -59.87999 + (((tickAnim - 23) / 3) * (-59.87999-(-59.87999))); + } + else if (tickAnim >= 26 && tickAnim < 28) { + xx = -48.11448 + (((tickAnim - 26) / 2) * (-32.08-(-48.11448))); + yy = -15.03083 + (((tickAnim - 26) / 2) * (-10.02-(-15.03083))); + zz = -59.87999 + (((tickAnim - 26) / 2) * (-27.42-(-59.87999))); + } + else if (tickAnim >= 28 && tickAnim < 33) { + xx = -32.08 + (((tickAnim - 28) / 5) * (-50.13851-(-32.08))); + yy = -10.02 + (((tickAnim - 28) / 5) * (-9.30424-(-10.02))); + zz = -27.42 + (((tickAnim - 28) / 5) * (-17.70348-(-27.42))); + } + else if (tickAnim >= 33 && tickAnim < 37) { + xx = -50.13851 + (((tickAnim - 33) / 4) * (-21.77152-(-50.13851))); + yy = -9.30424 + (((tickAnim - 33) / 4) * (-6.66795-(-9.30424))); + zz = -17.70348 + (((tickAnim - 33) / 4) * (-0.78969-(-17.70348))); + } + else if (tickAnim >= 37 && tickAnim < 40) { + xx = -21.77152 + (((tickAnim - 37) / 3) * (0-(-21.77152))); + yy = -6.66795 + (((tickAnim - 37) / 3) * (0-(-6.66795))); + zz = -0.78969 + (((tickAnim - 37) / 3) * (0-(-0.78969))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (-48.11448-(0))); + yy = 0 + (((tickAnim - 8) / 4) * (15.03083-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (59.87999-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -48.11448 + (((tickAnim - 12) / 3) * (-48.11448-(-48.11448))); + yy = 15.03083 + (((tickAnim - 12) / 3) * (15.03083-(15.03083))); + zz = 59.87999 + (((tickAnim - 12) / 3) * (59.87999-(59.87999))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = -48.11448 + (((tickAnim - 15) / 3) * (-32.08-(-48.11448))); + yy = 15.03083 + (((tickAnim - 15) / 3) * (10.02-(15.03083))); + zz = 59.87999 + (((tickAnim - 15) / 3) * (27.42-(59.87999))); + } + else if (tickAnim >= 18 && tickAnim < 22) { + xx = -32.08 + (((tickAnim - 18) / 4) * (-48.11448-(-32.08))); + yy = 10.02 + (((tickAnim - 18) / 4) * (15.03083-(10.02))); + zz = 27.42 + (((tickAnim - 18) / 4) * (59.87999-(27.42))); + } + else if (tickAnim >= 22 && tickAnim < 25) { + xx = -48.11448 + (((tickAnim - 22) / 3) * (-48.11448-(-48.11448))); + yy = 15.03083 + (((tickAnim - 22) / 3) * (15.03083-(15.03083))); + zz = 59.87999 + (((tickAnim - 22) / 3) * (59.87999-(59.87999))); + } + else if (tickAnim >= 25 && tickAnim < 28) { + xx = -48.11448 + (((tickAnim - 25) / 3) * (-32.08-(-48.11448))); + yy = 15.03083 + (((tickAnim - 25) / 3) * (10.02-(15.03083))); + zz = 59.87999 + (((tickAnim - 25) / 3) * (27.42-(59.87999))); + } + else if (tickAnim >= 28 && tickAnim < 32) { + xx = -32.08 + (((tickAnim - 28) / 4) * (-49.59873-(-32.08))); + yy = 10.02 + (((tickAnim - 28) / 4) * (12.5271-(10.02))); + zz = 27.42 + (((tickAnim - 28) / 4) * (39.98087-(27.42))); + } + else if (tickAnim >= 32 && tickAnim < 36) { + xx = -49.59873 + (((tickAnim - 32) / 4) * (-24.49794-(-49.59873))); + yy = 12.5271 + (((tickAnim - 32) / 4) * (9.95021-(12.5271))); + zz = 39.98087 + (((tickAnim - 32) / 4) * (8.04047-(39.98087))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = -24.49794 + (((tickAnim - 36) / 4) * (0-(-24.49794))); + yy = 9.95021 + (((tickAnim - 36) / 4) * (0-(9.95021))); + zz = 8.04047 + (((tickAnim - 36) / 4) * (0-(8.04047))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-0.73155-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (-1.00304-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (14.49743-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = -0.73155 + (((tickAnim - 2) / 1) * (-16.00235-(-0.73155))); + yy = -1.00304 + (((tickAnim - 2) / 1) * (-31.62562-(-1.00304))); + zz = 14.49743 + (((tickAnim - 2) / 1) * (-7.93703-(14.49743))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -16.00235 + (((tickAnim - 3) / 2) * (-27.05897-(-16.00235))); + yy = -31.62562 + (((tickAnim - 3) / 2) * (-27.12188-(-31.62562))); + zz = -7.93703 + (((tickAnim - 3) / 2) * (-39.08947-(-7.93703))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -27.05897 + (((tickAnim - 5) / 3) * (-26.06923-(-27.05897))); + yy = -27.12188 + (((tickAnim - 5) / 3) * (-24.15475-(-27.12188))); + zz = -39.08947 + (((tickAnim - 5) / 3) * (-47.78292-(-39.08947))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -26.06923 + (((tickAnim - 8) / 2) * (-23.98499-(-26.06923))); + yy = -24.15475 + (((tickAnim - 8) / 2) * (-33.23648-(-24.15475))); + zz = -47.78292 + (((tickAnim - 8) / 2) * (-49.19929-(-47.78292))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = -23.98499 + (((tickAnim - 10) / 8) * (-16.44771-(-23.98499))); + yy = -33.23648 + (((tickAnim - 10) / 8) * (-45.59918-(-33.23648))); + zz = -49.19929 + (((tickAnim - 10) / 8) * (-44.1316-(-49.19929))); + } + else if (tickAnim >= 18 && tickAnim < 28) { + xx = -16.44771 + (((tickAnim - 18) / 10) * (-16.69037-(-16.44771))); + yy = -45.59918 + (((tickAnim - 18) / 10) * (-52.97912-(-45.59918))); + zz = -44.1316 + (((tickAnim - 18) / 10) * (-38.804-(-44.1316))); + } + else if (tickAnim >= 28 && tickAnim < 32) { + xx = -16.69037 + (((tickAnim - 28) / 4) * (12.32406-(-16.69037))); + yy = -52.97912 + (((tickAnim - 28) / 4) * (-47.2594-(-52.97912))); + zz = -38.804 + (((tickAnim - 28) / 4) * (-2.84489-(-38.804))); + } + else if (tickAnim >= 32 && tickAnim < 36) { + xx = 12.32406 + (((tickAnim - 32) / 4) * (0.02567-(12.32406))); + yy = -47.2594 + (((tickAnim - 32) / 4) * (1.15762-(-47.2594))); + zz = -2.84489 + (((tickAnim - 32) / 4) * (9.21075-(-2.84489))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = 0.02567 + (((tickAnim - 36) / 4) * (0-(0.02567))); + yy = 1.15762 + (((tickAnim - 36) / 4) * (0-(1.15762))); + zz = 9.21075 + (((tickAnim - 36) / 4) * (0-(9.21075))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (-0.73155-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (1.00304-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-14.49743-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -0.73155 + (((tickAnim - 3) / 2) * (-16.00235-(-0.73155))); + yy = 1.00304 + (((tickAnim - 3) / 2) * (31.62562-(1.00304))); + zz = -14.49743 + (((tickAnim - 3) / 2) * (7.93703-(-14.49743))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = -16.00235 + (((tickAnim - 5) / 2) * (-27.05897-(-16.00235))); + yy = 31.62562 + (((tickAnim - 5) / 2) * (27.12188-(31.62562))); + zz = 7.93703 + (((tickAnim - 5) / 2) * (39.08947-(7.93703))); + } + else if (tickAnim >= 7 && tickAnim < 9) { + xx = -27.05897 + (((tickAnim - 7) / 2) * (-24.40874-(-27.05897))); + yy = 27.12188 + (((tickAnim - 7) / 2) * (25.71273-(27.12188))); + zz = 39.08947 + (((tickAnim - 7) / 2) * (52.04023-(39.08947))); + } + else if (tickAnim >= 9 && tickAnim < 12) { + xx = -24.40874 + (((tickAnim - 9) / 3) * (-23.95363-(-24.40874))); + yy = 25.71273 + (((tickAnim - 9) / 3) * (31.76229-(25.71273))); + zz = 52.04023 + (((tickAnim - 9) / 3) * (51.81236-(52.04023))); + } + else if (tickAnim >= 12 && tickAnim < 19) { + xx = -23.95363 + (((tickAnim - 12) / 7) * (-17.70727-(-23.95363))); + yy = 31.76229 + (((tickAnim - 12) / 7) * (43.10418-(31.76229))); + zz = 51.81236 + (((tickAnim - 12) / 7) * (43.54539-(51.81236))); + } + else if (tickAnim >= 19 && tickAnim < 28) { + xx = -17.70727 + (((tickAnim - 19) / 9) * (-15.97207-(-17.70727))); + yy = 43.10418 + (((tickAnim - 19) / 9) * (47.7608-(43.10418))); + zz = 43.54539 + (((tickAnim - 19) / 9) * (44.44846-(43.54539))); + } + else if (tickAnim >= 28 && tickAnim < 32) { + xx = -15.97207 + (((tickAnim - 28) / 4) * (-19.26743-(-15.97207))); + yy = 47.7608 + (((tickAnim - 28) / 4) * (58.93071-(47.7608))); + zz = 44.44846 + (((tickAnim - 28) / 4) * (32.08389-(44.44846))); + } + else if (tickAnim >= 32 && tickAnim < 36) { + xx = -19.26743 + (((tickAnim - 32) / 4) * (-5.56543-(-19.26743))); + yy = 58.93071 + (((tickAnim - 32) / 4) * (40.30445-(58.93071))); + zz = 32.08389 + (((tickAnim - 32) / 4) * (-1.88672-(32.08389))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = -5.56543 + (((tickAnim - 36) / 4) * (0-(-5.56543))); + yy = 40.30445 + (((tickAnim - 36) / 4) * (0-(40.30445))); + zz = -1.88672 + (((tickAnim - 36) / 4) * (0-(-1.88672))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-30.2-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = -30.2 + (((tickAnim - 8) / 4) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 8) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (-62.2-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -30.2 + (((tickAnim - 12) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 12) / 3) * (0-(0))); + zz = -62.2 + (((tickAnim - 12) / 3) * (-62.2-(-62.2))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = -30.2 + (((tickAnim - 15) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 15) / 3) * (0-(0))); + zz = -62.2 + (((tickAnim - 15) / 3) * (-34.2-(-62.2))); + } + else if (tickAnim >= 18 && tickAnim < 22) { + xx = -30.2 + (((tickAnim - 18) / 4) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 18) / 4) * (0-(0))); + zz = -34.2 + (((tickAnim - 18) / 4) * (-62.2-(-34.2))); + } + else if (tickAnim >= 22 && tickAnim < 25) { + xx = -30.2 + (((tickAnim - 22) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 22) / 3) * (0-(0))); + zz = -62.2 + (((tickAnim - 22) / 3) * (-62.2-(-62.2))); + } + else if (tickAnim >= 25 && tickAnim < 28) { + xx = -30.2 + (((tickAnim - 25) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 25) / 3) * (0-(0))); + zz = -62.2 + (((tickAnim - 25) / 3) * (-34.2-(-62.2))); + } + else if (tickAnim >= 28 && tickAnim < 32) { + xx = -30.2 + (((tickAnim - 28) / 4) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 28) / 4) * (0-(0))); + zz = -34.2 + (((tickAnim - 28) / 4) * (-62.2-(-34.2))); + } + else if (tickAnim >= 32 && tickAnim < 36) { + xx = -30.2 + (((tickAnim - 32) / 4) * (-21.09279-(-30.2))); + yy = 0 + (((tickAnim - 32) / 4) * (-7.43569-(0))); + zz = -62.2 + (((tickAnim - 32) / 4) * (-14.1587-(-62.2))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = -21.09279 + (((tickAnim - 36) / 4) * (0-(-21.09279))); + yy = -7.43569 + (((tickAnim - 36) / 4) * (0-(-7.43569))); + zz = -14.1587 + (((tickAnim - 36) / 4) * (0-(-14.1587))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-30.2-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = -30.2 + (((tickAnim - 8) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 8) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (62.2-(0))); + } + else if (tickAnim >= 11 && tickAnim < 14) { + xx = -30.2 + (((tickAnim - 11) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 11) / 3) * (0-(0))); + zz = 62.2 + (((tickAnim - 11) / 3) * (62.2-(62.2))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = -30.2 + (((tickAnim - 14) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 14) / 3) * (0-(0))); + zz = 62.2 + (((tickAnim - 14) / 3) * (34.2-(62.2))); + } + else if (tickAnim >= 17 && tickAnim < 21) { + xx = -30.2 + (((tickAnim - 17) / 4) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 17) / 4) * (0-(0))); + zz = 34.2 + (((tickAnim - 17) / 4) * (62.2-(34.2))); + } + else if (tickAnim >= 21 && tickAnim < 24) { + xx = -30.2 + (((tickAnim - 21) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 21) / 3) * (0-(0))); + zz = 62.2 + (((tickAnim - 21) / 3) * (62.2-(62.2))); + } + else if (tickAnim >= 24 && tickAnim < 27) { + xx = -30.2 + (((tickAnim - 24) / 3) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 24) / 3) * (0-(0))); + zz = 62.2 + (((tickAnim - 24) / 3) * (34.2-(62.2))); + } + else if (tickAnim >= 27 && tickAnim < 31) { + xx = -30.2 + (((tickAnim - 27) / 4) * (-30.2-(-30.2))); + yy = 0 + (((tickAnim - 27) / 4) * (0-(0))); + zz = 34.2 + (((tickAnim - 27) / 4) * (62.2-(34.2))); + } + else if (tickAnim >= 31 && tickAnim < 36) { + xx = -30.2 + (((tickAnim - 31) / 5) * (-17.71943-(-30.2))); + yy = 0 + (((tickAnim - 31) / 5) * (5.75633-(0))); + zz = 62.2 + (((tickAnim - 31) / 5) * (16.47865-(62.2))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = -17.71943 + (((tickAnim - 36) / 4) * (0-(-17.71943))); + yy = 5.75633 + (((tickAnim - 36) / 4) * (0-(5.75633))); + zz = 16.47865 + (((tickAnim - 36) / 4) * (0-(16.47865))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-21-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = -21 + (((tickAnim - 8) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 8) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 3) * (-39.9-(0))); + } + else if (tickAnim >= 11 && tickAnim < 14) { + xx = -21 + (((tickAnim - 11) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 11) / 3) * (0-(0))); + zz = -39.9 + (((tickAnim - 11) / 3) * (-39.9-(-39.9))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = -21 + (((tickAnim - 14) / 3) * (-45-(-21))); + yy = 0 + (((tickAnim - 14) / 3) * (0-(0))); + zz = -39.9 + (((tickAnim - 14) / 3) * (-17.7-(-39.9))); + } + else if (tickAnim >= 17 && tickAnim < 21) { + xx = -45 + (((tickAnim - 17) / 4) * (-21-(-45))); + yy = 0 + (((tickAnim - 17) / 4) * (0-(0))); + zz = -17.7 + (((tickAnim - 17) / 4) * (-39.9-(-17.7))); + } + else if (tickAnim >= 21 && tickAnim < 24) { + xx = -21 + (((tickAnim - 21) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 21) / 3) * (0-(0))); + zz = -39.9 + (((tickAnim - 21) / 3) * (-39.9-(-39.9))); + } + else if (tickAnim >= 24 && tickAnim < 27) { + xx = -21 + (((tickAnim - 24) / 3) * (-45-(-21))); + yy = 0 + (((tickAnim - 24) / 3) * (0-(0))); + zz = -39.9 + (((tickAnim - 24) / 3) * (-17.7-(-39.9))); + } + else if (tickAnim >= 27 && tickAnim < 31) { + xx = -45 + (((tickAnim - 27) / 4) * (-21-(-45))); + yy = 0 + (((tickAnim - 27) / 4) * (0-(0))); + zz = -17.7 + (((tickAnim - 27) / 4) * (-39.9-(-17.7))); + } + else if (tickAnim >= 31 && tickAnim < 40) { + xx = -21 + (((tickAnim - 31) / 9) * (0-(-21))); + yy = 0 + (((tickAnim - 31) / 9) * (0-(0))); + zz = -39.9 + (((tickAnim - 31) / 9) * (0-(-39.9))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 7) { + xx = 0 + (((tickAnim - 0) / 7) * (-21-(0))); + yy = 0 + (((tickAnim - 0) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 7) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = -21 + (((tickAnim - 7) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 7) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 7) / 3) * (39.9-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = -21 + (((tickAnim - 10) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 39.9 + (((tickAnim - 10) / 3) * (39.9-(39.9))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = -21 + (((tickAnim - 13) / 3) * (-45-(-21))); + yy = 0 + (((tickAnim - 13) / 3) * (0-(0))); + zz = 39.9 + (((tickAnim - 13) / 3) * (17.7-(39.9))); + } + else if (tickAnim >= 16 && tickAnim < 20) { + xx = -45 + (((tickAnim - 16) / 4) * (-21-(-45))); + yy = 0 + (((tickAnim - 16) / 4) * (0-(0))); + zz = 17.7 + (((tickAnim - 16) / 4) * (39.9-(17.7))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = -21 + (((tickAnim - 20) / 3) * (-21-(-21))); + yy = 0 + (((tickAnim - 20) / 3) * (0-(0))); + zz = 39.9 + (((tickAnim - 20) / 3) * (39.9-(39.9))); + } + else if (tickAnim >= 23 && tickAnim < 26) { + xx = -21 + (((tickAnim - 23) / 3) * (-45-(-21))); + yy = 0 + (((tickAnim - 23) / 3) * (0-(0))); + zz = 39.9 + (((tickAnim - 23) / 3) * (17.7-(39.9))); + } + else if (tickAnim >= 26 && tickAnim < 30) { + xx = -45 + (((tickAnim - 26) / 4) * (-21-(-45))); + yy = 0 + (((tickAnim - 26) / 4) * (0-(0))); + zz = 17.7 + (((tickAnim - 26) / 4) * (39.9-(17.7))); + } + else if (tickAnim >= 30 && tickAnim < 40) { + xx = -21 + (((tickAnim - 30) / 10) * (0-(-21))); + yy = 0 + (((tickAnim - 30) / 10) * (0-(0))); + zz = 39.9 + (((tickAnim - 30) / 10) * (0-(39.9))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (30-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 18) { + xx = 30 + (((tickAnim - 5) / 13) * (19.5-(30))); + yy = 0 + (((tickAnim - 5) / 13) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 13) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 32) { + xx = 19.5 + (((tickAnim - 18) / 14) * (14.07-(19.5))); + yy = 0 + (((tickAnim - 18) / 14) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 14) * (0-(0))); + } + else if (tickAnim >= 32 && tickAnim < 40) { + xx = 14.07 + (((tickAnim - 32) / 8) * (0-(14.07))); + yy = 0 + (((tickAnim - 32) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 32) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(abdomen1, abdomen1.rotateAngleX + (float) Math.toRadians(xx), abdomen1.rotateAngleY + (float) Math.toRadians(yy), abdomen1.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (7.5-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 7.5 + (((tickAnim - 5) / 3) * (29.46-(7.5))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 29.46 + (((tickAnim - 8) / 2) * (7.19-(29.46))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 40) { + xx = 7.19 + (((tickAnim - 10) / 30) * (0-(7.19))); + yy = 0 + (((tickAnim - 10) / 30) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 30) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(abdomen2, abdomen2.rotateAngleX + (float) Math.toRadians(xx), abdomen2.rotateAngleY + (float) Math.toRadians(yy), abdomen2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (2.5-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 2.5 + (((tickAnim - 5) / 5) * (8.14-(2.5))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 19) { + xx = 8.14 + (((tickAnim - 10) / 9) * (-0.35-(8.14))); + yy = 0 + (((tickAnim - 10) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 9) * (0-(0))); + } + else if (tickAnim >= 19 && tickAnim < 28) { + xx = -0.35 + (((tickAnim - 19) / 9) * (9.79-(-0.35))); + yy = 0 + (((tickAnim - 19) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 19) / 9) * (0-(0))); + } + else if (tickAnim >= 28 && tickAnim < 40) { + xx = 9.79 + (((tickAnim - 28) / 12) * (0-(9.79))); + yy = 0 + (((tickAnim - 28) / 12) * (0-(0))); + zz = 0 + (((tickAnim - 28) / 12) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(abdomen3, abdomen3.rotateAngleX + (float) Math.toRadians(xx), abdomen3.rotateAngleY + (float) Math.toRadians(yy), abdomen3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (40-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 18) { + xx = 40 + (((tickAnim - 5) / 13) * (34.71-(40))); + yy = 0 + (((tickAnim - 5) / 13) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 13) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 40) { + xx = 34.71 + (((tickAnim - 18) / 22) * (0-(34.71))); + yy = 0 + (((tickAnim - 18) / 22) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 22) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(abdomen4, abdomen4.rotateAngleX + (float) Math.toRadians(xx), abdomen4.rotateAngleY + (float) Math.toRadians(yy), abdomen4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 9) * (45-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 40) { + xx = 0 + (((tickAnim - 9) / 31) * (0-(0))); + yy = 45 + (((tickAnim - 9) / 31) * (0-(45))); + zz = 0 + (((tickAnim - 9) / 31) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightclaw, rightclaw.rotateAngleX + (float) Math.toRadians(xx), rightclaw.rotateAngleY + (float) Math.toRadians(yy), rightclaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 9) * (-45-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 23) { + xx = 0 + (((tickAnim - 9) / 14) * (0-(0))); + yy = -45 + (((tickAnim - 9) / 14) * (-41.82-(-45))); + zz = 0 + (((tickAnim - 9) / 14) * (0-(0))); + } + else if (tickAnim >= 23 && tickAnim < 40) { + xx = 0 + (((tickAnim - 23) / 17) * (0-(0))); + yy = -41.82 + (((tickAnim - 23) / 17) * (0-(-41.82))); + zz = 0 + (((tickAnim - 23) / 17) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftclaw, leftclaw.rotateAngleX + (float) Math.toRadians(xx), leftclaw.rotateAngleY + (float) Math.toRadians(yy), leftclaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (11.25-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (5-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 11.25 + (((tickAnim - 3) / 2) * (22.5-(11.25))); + yy = 5 + (((tickAnim - 3) / 2) * (10-(5))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 22.5 + (((tickAnim - 5) / 2) * (90.88403-(22.5))); + yy = 10 + (((tickAnim - 5) / 2) * (6.07196-(10))); + zz = 0 + (((tickAnim - 5) / 2) * (6.45114-(0))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = 90.88403 + (((tickAnim - 7) / 5) * (9.75127-(90.88403))); + yy = 6.07196 + (((tickAnim - 7) / 5) * (5.16116-(6.07196))); + zz = 6.45114 + (((tickAnim - 7) / 5) * (5.48346-(6.45114))); + } + else if (tickAnim >= 12 && tickAnim < 40) { + xx = 9.75127 + (((tickAnim - 12) / 28) * (0-(9.75127))); + yy = 5.16116 + (((tickAnim - 12) / 28) * (0-(5.16116))); + zz = 5.48346 + (((tickAnim - 12) / 28) * (0-(5.48346))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightclawraptorial, rightclawraptorial.rotateAngleX + (float) Math.toRadians(xx), rightclawraptorial.rotateAngleY + (float) Math.toRadians(yy), rightclawraptorial.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-90-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -90 + (((tickAnim - 5) / 3) * (-35-(-90))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 40) { + xx = -35 + (((tickAnim - 8) / 32) * (0-(-35))); + yy = 0 + (((tickAnim - 8) / 32) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 32) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightclawraptorial2, rightclawraptorial2.rotateAngleX + (float) Math.toRadians(xx), rightclawraptorial2.rotateAngleY + (float) Math.toRadians(yy), rightclawraptorial2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (33.75-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 33.75 + (((tickAnim - 3) / 2) * (-67.5-(33.75))); + yy = 0 + (((tickAnim - 3) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -67.5 + (((tickAnim - 5) / 3) * (0-(-67.5))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 40) { + xx = 0 + (((tickAnim - 8) / 32) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 32) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 32) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightclawraptorial3, rightclawraptorial3.rotateAngleX + (float) Math.toRadians(xx), rightclawraptorial3.rotateAngleY + (float) Math.toRadians(yy), rightclawraptorial3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (11.25-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (-5-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 11.25 + (((tickAnim - 3) / 2) * (22.5-(11.25))); + yy = -5 + (((tickAnim - 3) / 2) * (-10-(-5))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 22.5 + (((tickAnim - 5) / 2) * (90.88403-(22.5))); + yy = -10 + (((tickAnim - 5) / 2) * (-6.07196-(-10))); + zz = 0 + (((tickAnim - 5) / 2) * (-6.45114-(0))); + } + else if (tickAnim >= 7 && tickAnim < 12) { + xx = 90.88403 + (((tickAnim - 7) / 5) * (9.75127-(90.88403))); + yy = -6.07196 + (((tickAnim - 7) / 5) * (-5.16116-(-6.07196))); + zz = -6.45114 + (((tickAnim - 7) / 5) * (-5.48346-(-6.45114))); + } + else if (tickAnim >= 12 && tickAnim < 40) { + xx = 9.75127 + (((tickAnim - 12) / 28) * (0-(9.75127))); + yy = -5.16116 + (((tickAnim - 12) / 28) * (0-(-5.16116))); + zz = -5.48346 + (((tickAnim - 12) / 28) * (0-(-5.48346))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftclawraptorial, leftclawraptorial.rotateAngleX + (float) Math.toRadians(xx), leftclawraptorial.rotateAngleY + (float) Math.toRadians(yy), leftclawraptorial.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-90-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -90 + (((tickAnim - 5) / 3) * (0-(-90))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 40) { + xx = 0 + (((tickAnim - 8) / 32) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 32) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 32) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftclawraptorial2, leftclawraptorial2.rotateAngleX + (float) Math.toRadians(xx), leftclawraptorial2.rotateAngleY + (float) Math.toRadians(yy), leftclawraptorial2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (26.59-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 9) { + xx = 26.59 + (((tickAnim - 3) / 6) * (-67.5-(26.59))); + yy = 0 + (((tickAnim - 3) / 6) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 6) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 13) { + xx = -67.5 + (((tickAnim - 9) / 4) * (-7.5-(-67.5))); + yy = 0 + (((tickAnim - 9) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 9) / 4) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 40) { + xx = -7.5 + (((tickAnim - 13) / 27) * (0-(-7.5))); + yy = 0 + (((tickAnim - 13) / 27) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 27) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftclawraptorial3, leftclawraptorial3.rotateAngleX + (float) Math.toRadians(xx), leftclawraptorial3.rotateAngleY + (float) Math.toRadians(yy), leftclawraptorial3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (45-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 22) { + xx = 0 + (((tickAnim - 8) / 14) * (0-(0))); + yy = 45 + (((tickAnim - 8) / 14) * (8.55-(45))); + zz = 0 + (((tickAnim - 8) / 14) * (0-(0))); + } + else if (tickAnim >= 22 && tickAnim < 29) { + xx = 0 + (((tickAnim - 22) / 7) * (0-(0))); + yy = 8.55 + (((tickAnim - 22) / 7) * (22.55-(8.55))); + zz = 0 + (((tickAnim - 22) / 7) * (0-(0))); + } + else if (tickAnim >= 29 && tickAnim < 40) { + xx = 0 + (((tickAnim - 29) / 11) * (0-(0))); + yy = 22.55 + (((tickAnim - 29) / 11) * (0-(22.55))); + zz = 0 + (((tickAnim - 29) / 11) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightantenna, rightantenna.rotateAngleX + (float) Math.toRadians(xx), rightantenna.rotateAngleY + (float) Math.toRadians(yy), rightantenna.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (-45-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 32) { + xx = 0 + (((tickAnim - 8) / 24) * (0-(0))); + yy = -45 + (((tickAnim - 8) / 24) * (0.66-(-45))); + zz = 0 + (((tickAnim - 8) / 24) * (0-(0))); + } + else if (tickAnim >= 32 && tickAnim < 40) { + xx = 0 + (((tickAnim - 32) / 8) * (0-(0))); + yy = 0.66 + (((tickAnim - 32) / 8) * (0-(0.66))); + zz = 0 + (((tickAnim - 32) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftantenna, leftantenna.rotateAngleX + (float) Math.toRadians(xx), leftantenna.rotateAngleY + (float) Math.toRadians(yy), leftantenna.rotateAngleZ + (float) Math.toRadians(zz)); + + + + this.setRotateAngle(rightpleopod, rightpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60))*20), rightpleopod.rotateAngleY + (float) Math.toRadians(0), rightpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod, leftpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60))*20), leftpleopod.rotateAngleY + (float) Math.toRadians(0), leftpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod2, rightpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*2))*20), rightpleopod2.rotateAngleY + (float) Math.toRadians(0), rightpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod2, leftpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*2))*20), leftpleopod2.rotateAngleY + (float) Math.toRadians(0), leftpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod5, rightpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*5))*20), rightpleopod5.rotateAngleY + (float) Math.toRadians(0), rightpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod5, leftpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*5))*20), leftpleopod5.rotateAngleY + (float) Math.toRadians(0), leftpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod4, rightpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*4))*20), rightpleopod4.rotateAngleY + (float) Math.toRadians(0), rightpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod4, leftpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*4))*20), leftpleopod4.rotateAngleY + (float) Math.toRadians(0), leftpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod3, rightpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*3))*20), rightpleopod3.rotateAngleY + (float) Math.toRadians(0), rightpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod3, leftpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180/0.25-60*3))*20), leftpleopod3.rotateAngleY + (float) Math.toRadians(0), leftpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + } + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, boolean isStatic) { + EntityPrehistoricFloraPalaeopalaemon entity = (EntityPrehistoricFloraPalaeopalaemon) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(Body, Body.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180))*1), Body.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*1), Body.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*2)); + this.Body.rotationPointX = this.Body.rotationPointX + (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*0.1); + this.Body.rotationPointY = this.Body.rotationPointY - (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.1); + this.Body.rotationPointZ = this.Body.rotationPointZ + (float)(0); + + + this.setRotateAngle(rightantenna, rightantenna.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25+115))*5), rightantenna.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25+60*3))*10), rightantenna.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-90))*5)); + + + this.setRotateAngle(leftantenna, leftantenna.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-115))*5), leftantenna.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25+60))*10), leftantenna.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-90))*5)); + + + this.setRotateAngle(abdomen1, abdomen1.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60*2))*2), abdomen1.rotateAngleY + (float) Math.toRadians(0), abdomen1.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod, rightpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60))*20), rightpleopod.rotateAngleY + (float) Math.toRadians(0), rightpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod2, rightpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*2))*20), rightpleopod2.rotateAngleY + (float) Math.toRadians(0), rightpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(abdomen4, abdomen4.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60*3))*2), abdomen4.rotateAngleY + (float) Math.toRadians(0), abdomen4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod5, rightpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*5))*20), rightpleopod5.rotateAngleY + (float) Math.toRadians(0), rightpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod4, rightpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*4))*20), rightpleopod4.rotateAngleY + (float) Math.toRadians(0), rightpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod3, rightpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*3))*20), rightpleopod3.rotateAngleY + (float) Math.toRadians(0), rightpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightclaw, rightclaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25+115))*2), rightclaw.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25+145))*4), rightclaw.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftclaw, leftclaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-115))*2), leftclaw.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-145))*4), leftclaw.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod, leftpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60))*20), leftpleopod.rotateAngleY + (float) Math.toRadians(0), leftpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod2, leftpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*2))*20), leftpleopod2.rotateAngleY + (float) Math.toRadians(0), leftpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod5, leftpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*5))*20), leftpleopod5.rotateAngleY + (float) Math.toRadians(0), leftpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod4, leftpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*4))*20), leftpleopod4.rotateAngleY + (float) Math.toRadians(0), leftpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod3, leftpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*90/0.25-60*3))*20), leftpleopod3.rotateAngleY + (float) Math.toRadians(0), leftpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 9.52 + (((tickAnim - 0) / 3) * (20.35572-(9.52))); + yy = 5.41 + (((tickAnim - 0) / 3) * (-7.28059-(5.41))); + zz = 1.73 + (((tickAnim - 0) / 3) * (2.07506-(1.73))); + } + else if (tickAnim >= 3 && tickAnim < 7) { + xx = 20.35572 + (((tickAnim - 3) / 4) * (2.80518-(20.35572))); + yy = -7.28059 + (((tickAnim - 3) / 4) * (-12.07342-(-7.28059))); + zz = 2.07506 + (((tickAnim - 3) / 4) * (-1.46529-(2.07506))); + } + else if (tickAnim >= 7 && tickAnim < 17) { + xx = 2.80518 + (((tickAnim - 7) / 10) * (-4.91877-(2.80518))); + yy = -12.07342 + (((tickAnim - 7) / 10) * (22.34025-(-12.07342))); + zz = -1.46529 + (((tickAnim - 7) / 10) * (1.26789-(-1.46529))); + } + else if (tickAnim >= 17 && tickAnim < 23) { + xx = -4.91877 + (((tickAnim - 17) / 6) * (20.35572-(-4.91877))); + yy = 22.34025 + (((tickAnim - 17) / 6) * (-7.28059-(22.34025))); + zz = 1.26789 + (((tickAnim - 17) / 6) * (2.07506-(1.26789))); + } + else if (tickAnim >= 23 && tickAnim < 27) { + xx = 20.35572 + (((tickAnim - 23) / 4) * (2.80518-(20.35572))); + yy = -7.28059 + (((tickAnim - 23) / 4) * (-12.07342-(-7.28059))); + zz = 2.07506 + (((tickAnim - 23) / 4) * (-1.46529-(2.07506))); + } + else if (tickAnim >= 27 && tickAnim < 37) { + xx = 2.80518 + (((tickAnim - 27) / 10) * (-4.91877-(2.80518))); + yy = -12.07342 + (((tickAnim - 27) / 10) * (22.34025-(-12.07342))); + zz = -1.46529 + (((tickAnim - 27) / 10) * (1.26789-(-1.46529))); + } + else if (tickAnim >= 37 && tickAnim < 40) { + xx = -4.91877 + (((tickAnim - 37) / 3) * (9.52-(-4.91877))); + yy = 22.34025 + (((tickAnim - 37) / 3) * (5.41-(22.34025))); + zz = 1.26789 + (((tickAnim - 37) / 3) * (1.73-(1.26789))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 6) { + xx = -0.41 + (((tickAnim - 0) / 6) * (-4.91877-(-0.41))); + yy = -2.27 + (((tickAnim - 0) / 6) * (-22.34025-(-2.27))); + zz = 0.33 + (((tickAnim - 0) / 6) * (-1.26789-(0.33))); + } + else if (tickAnim >= 6 && tickAnim < 12) { + xx = -4.91877 + (((tickAnim - 6) / 6) * (20.35572-(-4.91877))); + yy = -22.34025 + (((tickAnim - 6) / 6) * (7.28059-(-22.34025))); + zz = -1.26789 + (((tickAnim - 6) / 6) * (-2.07506-(-1.26789))); + } + else if (tickAnim >= 12 && tickAnim < 16) { + xx = 20.35572 + (((tickAnim - 12) / 4) * (2.80518-(20.35572))); + yy = 7.28059 + (((tickAnim - 12) / 4) * (12.07342-(7.28059))); + zz = -2.07506 + (((tickAnim - 12) / 4) * (1.46529-(-2.07506))); + } + else if (tickAnim >= 16 && tickAnim < 26) { + xx = 2.80518 + (((tickAnim - 16) / 10) * (-4.91877-(2.80518))); + yy = 12.07342 + (((tickAnim - 16) / 10) * (-22.34025-(12.07342))); + zz = 1.46529 + (((tickAnim - 16) / 10) * (-1.26789-(1.46529))); + } + else if (tickAnim >= 26 && tickAnim < 32) { + xx = -4.91877 + (((tickAnim - 26) / 6) * (20.35572-(-4.91877))); + yy = -22.34025 + (((tickAnim - 26) / 6) * (7.28059-(-22.34025))); + zz = -1.26789 + (((tickAnim - 26) / 6) * (-2.07506-(-1.26789))); + } + else if (tickAnim >= 32 && tickAnim < 36) { + xx = 20.35572 + (((tickAnim - 32) / 4) * (2.80518-(20.35572))); + yy = 7.28059 + (((tickAnim - 32) / 4) * (12.07342-(7.28059))); + zz = -2.07506 + (((tickAnim - 32) / 4) * (1.46529-(-2.07506))); + } + else if (tickAnim >= 36 && tickAnim < 40) { + xx = 2.80518 + (((tickAnim - 36) / 4) * (-0.41-(2.80518))); + yy = 12.07342 + (((tickAnim - 36) / 4) * (-2.27-(12.07342))); + zz = 1.46529 + (((tickAnim - 36) / 4) * (0.33-(1.46529))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0.39 + (((tickAnim - 0) / 5) * (-2.14852-(0.39))); + yy = -1.19 + (((tickAnim - 0) / 5) * (13.25296-(-1.19))); + zz = -0.25 + (((tickAnim - 0) / 5) * (0.39066-(-0.25))); + } + else if (tickAnim >= 5 && tickAnim < 11) { + xx = -2.14852 + (((tickAnim - 5) / 6) * (-4.89928-(-2.14852))); + yy = 13.25296 + (((tickAnim - 5) / 6) * (-6.71319-(13.25296))); + zz = 0.39066 + (((tickAnim - 5) / 6) * (11.91712-(0.39066))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = -4.89928 + (((tickAnim - 11) / 4) * (2.9364-(-4.89928))); + yy = -6.71319 + (((tickAnim - 11) / 4) * (-15.63603-(-6.71319))); + zz = 11.91712 + (((tickAnim - 11) / 4) * (-0.89637-(11.91712))); + } + else if (tickAnim >= 15 && tickAnim < 25) { + xx = 2.9364 + (((tickAnim - 15) / 10) * (-2.14852-(2.9364))); + yy = -15.63603 + (((tickAnim - 15) / 10) * (13.25296-(-15.63603))); + zz = -0.89637 + (((tickAnim - 15) / 10) * (0.39066-(-0.89637))); + } + else if (tickAnim >= 25 && tickAnim < 31) { + xx = -2.14852 + (((tickAnim - 25) / 6) * (-4.89928-(-2.14852))); + yy = 13.25296 + (((tickAnim - 25) / 6) * (-6.71319-(13.25296))); + zz = 0.39066 + (((tickAnim - 25) / 6) * (11.91712-(0.39066))); + } + else if (tickAnim >= 31 && tickAnim < 35) { + xx = -4.89928 + (((tickAnim - 31) / 4) * (2.9364-(-4.89928))); + yy = -6.71319 + (((tickAnim - 31) / 4) * (-15.63603-(-6.71319))); + zz = 11.91712 + (((tickAnim - 31) / 4) * (-0.89637-(11.91712))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 2.9364 + (((tickAnim - 35) / 5) * (0.39-(2.9364))); + yy = -15.63603 + (((tickAnim - 35) / 5) * (-1.19-(-15.63603))); + zz = -0.89637 + (((tickAnim - 35) / 5) * (-0.25-(-0.89637))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -0.5 + (((tickAnim - 0) / 5) * (-1.5-(-0.5))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 15) { + xx = -1.5 + (((tickAnim - 5) / 10) * (0.5-(-1.5))); + yy = 0 + (((tickAnim - 5) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 10) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 25) { + xx = 0.5 + (((tickAnim - 15) / 10) * (-1.5-(0.5))); + yy = 0 + (((tickAnim - 15) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 10) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 35) { + xx = -1.5 + (((tickAnim - 25) / 10) * (0.5-(-1.5))); + yy = 0 + (((tickAnim - 25) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 25) / 10) * (0-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0.5 + (((tickAnim - 35) / 5) * (-0.5-(0.5))); + yy = 0 + (((tickAnim - 35) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 35) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightleg4.rotationPointX = this.rightleg4.rotationPointX + (float)(xx); + this.rightleg4.rotationPointY = this.rightleg4.rotationPointY - (float)(yy); + this.rightleg4.rotationPointZ = this.rightleg4.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = -4.89928 + (((tickAnim - 0) / 4) * (2.9364-(-4.89928))); + yy = 6.71319 + (((tickAnim - 0) / 4) * (15.63603-(6.71319))); + zz = -11.91712 + (((tickAnim - 0) / 4) * (0.89637-(-11.91712))); + } + else if (tickAnim >= 4 && tickAnim < 14) { + xx = 2.9364 + (((tickAnim - 4) / 10) * (-2.14852-(2.9364))); + yy = 15.63603 + (((tickAnim - 4) / 10) * (-13.25296-(15.63603))); + zz = 0.89637 + (((tickAnim - 4) / 10) * (-0.39066-(0.89637))); + } + else if (tickAnim >= 14 && tickAnim < 20) { + xx = -2.14852 + (((tickAnim - 14) / 6) * (-4.89928-(-2.14852))); + yy = -13.25296 + (((tickAnim - 14) / 6) * (6.71319-(-13.25296))); + zz = -0.39066 + (((tickAnim - 14) / 6) * (-11.91712-(-0.39066))); + } + else if (tickAnim >= 20 && tickAnim < 24) { + xx = -4.89928 + (((tickAnim - 20) / 4) * (2.9364-(-4.89928))); + yy = 6.71319 + (((tickAnim - 20) / 4) * (15.63603-(6.71319))); + zz = -11.91712 + (((tickAnim - 20) / 4) * (0.89637-(-11.91712))); + } + else if (tickAnim >= 24 && tickAnim < 34) { + xx = 2.9364 + (((tickAnim - 24) / 10) * (-2.14852-(2.9364))); + yy = 15.63603 + (((tickAnim - 24) / 10) * (-13.25296-(15.63603))); + zz = 0.89637 + (((tickAnim - 24) / 10) * (-0.39066-(0.89637))); + } + else if (tickAnim >= 34 && tickAnim < 40) { + xx = -2.14852 + (((tickAnim - 34) / 6) * (-4.89928-(-2.14852))); + yy = -13.25296 + (((tickAnim - 34) / 6) * (6.71319-(-13.25296))); + zz = -0.39066 + (((tickAnim - 34) / 6) * (-11.91712-(-0.39066))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0.33 + (((tickAnim - 0) / 4) * (-0.5-(0.33))); + yy = 0 + (((tickAnim - 0) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 14) { + xx = -0.5 + (((tickAnim - 4) / 10) * (1.5-(-0.5))); + yy = 0 + (((tickAnim - 4) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 4) / 10) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 24) { + xx = 1.5 + (((tickAnim - 14) / 10) * (-0.5-(1.5))); + yy = 0 + (((tickAnim - 14) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 14) / 10) * (0-(0))); + } + else if (tickAnim >= 24 && tickAnim < 34) { + xx = -0.5 + (((tickAnim - 24) / 10) * (1.5-(-0.5))); + yy = 0 + (((tickAnim - 24) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 24) / 10) * (0-(0))); + } + else if (tickAnim >= 34 && tickAnim < 40) { + xx = 1.5 + (((tickAnim - 34) / 6) * (0.33-(1.5))); + yy = 0 + (((tickAnim - 34) / 6) * (0-(0))); + zz = 0 + (((tickAnim - 34) / 6) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftleg4.rotationPointX = this.leftleg4.rotationPointX + (float)(xx); + this.leftleg4.rotationPointY = this.leftleg4.rotationPointY - (float)(yy); + this.leftleg4.rotationPointZ = this.leftleg4.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 2.46 + (((tickAnim - 0) / 8) * (-4.29558-(2.46))); + yy = -6.93 + (((tickAnim - 0) / 8) * (17.83941-(-6.93))); + zz = -2.11 + (((tickAnim - 0) / 8) * (2.92135-(-2.11))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = -4.29558 + (((tickAnim - 8) / 6) * (20.19099-(-4.29558))); + yy = 17.83941 + (((tickAnim - 8) / 6) * (-3.46445-(17.83941))); + zz = 2.92135 + (((tickAnim - 8) / 6) * (7.63297-(2.92135))); + } + else if (tickAnim >= 14 && tickAnim < 18) { + xx = 20.19099 + (((tickAnim - 14) / 4) * (3.81217-(20.19099))); + yy = -3.46445 + (((tickAnim - 14) / 4) * (-11.88647-(-3.46445))); + zz = 7.63297 + (((tickAnim - 14) / 4) * (-3.12113-(7.63297))); + } + else if (tickAnim >= 18 && tickAnim < 28) { + xx = 3.81217 + (((tickAnim - 18) / 10) * (-4.29558-(3.81217))); + yy = -11.88647 + (((tickAnim - 18) / 10) * (17.83941-(-11.88647))); + zz = -3.12113 + (((tickAnim - 18) / 10) * (2.92135-(-3.12113))); + } + else if (tickAnim >= 28 && tickAnim < 34) { + xx = -4.29558 + (((tickAnim - 28) / 6) * (20.19099-(-4.29558))); + yy = 17.83941 + (((tickAnim - 28) / 6) * (-3.46445-(17.83941))); + zz = 2.92135 + (((tickAnim - 28) / 6) * (7.63297-(2.92135))); + } + else if (tickAnim >= 34 && tickAnim < 38) { + xx = 20.19099 + (((tickAnim - 34) / 4) * (3.81217-(20.19099))); + yy = -3.46445 + (((tickAnim - 34) / 4) * (-11.88647-(-3.46445))); + zz = 7.63297 + (((tickAnim - 34) / 4) * (-3.12113-(7.63297))); + } + else if (tickAnim >= 38 && tickAnim < 40) { + xx = 3.81217 + (((tickAnim - 38) / 2) * (2.46-(3.81217))); + yy = -11.88647 + (((tickAnim - 38) / 2) * (-6.93-(-11.88647))); + zz = -3.12113 + (((tickAnim - 38) / 2) * (-2.11-(-3.12113))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 6.2 + (((tickAnim - 0) / 3) * (20.19099-(6.2))); + yy = -8.71 + (((tickAnim - 0) / 3) * (3.46445-(-8.71))); + zz = -4.94 + (((tickAnim - 0) / 3) * (-7.63297-(-4.94))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 20.19099 + (((tickAnim - 3) / 5) * (3.81217-(20.19099))); + yy = 3.46445 + (((tickAnim - 3) / 5) * (11.88647-(3.46445))); + zz = -7.63297 + (((tickAnim - 3) / 5) * (3.12113-(-7.63297))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = 3.81217 + (((tickAnim - 8) / 10) * (-4.29558-(3.81217))); + yy = 11.88647 + (((tickAnim - 8) / 10) * (-17.83941-(11.88647))); + zz = 3.12113 + (((tickAnim - 8) / 10) * (-2.92135-(3.12113))); + } + else if (tickAnim >= 18 && tickAnim < 23) { + xx = -4.29558 + (((tickAnim - 18) / 5) * (20.19099-(-4.29558))); + yy = -17.83941 + (((tickAnim - 18) / 5) * (3.46445-(-17.83941))); + zz = -2.92135 + (((tickAnim - 18) / 5) * (-7.63297-(-2.92135))); + } + else if (tickAnim >= 23 && tickAnim < 28) { + xx = 20.19099 + (((tickAnim - 23) / 5) * (3.81217-(20.19099))); + yy = 3.46445 + (((tickAnim - 23) / 5) * (11.88647-(3.46445))); + zz = -7.63297 + (((tickAnim - 23) / 5) * (3.12113-(-7.63297))); + } + else if (tickAnim >= 28 && tickAnim < 38) { + xx = 3.81217 + (((tickAnim - 28) / 10) * (-4.29558-(3.81217))); + yy = 11.88647 + (((tickAnim - 28) / 10) * (-17.83941-(11.88647))); + zz = 3.12113 + (((tickAnim - 28) / 10) * (-2.92135-(3.12113))); + } + else if (tickAnim >= 38 && tickAnim < 40) { + xx = -4.29558 + (((tickAnim - 38) / 2) * (6.2-(-4.29558))); + yy = -17.83941 + (((tickAnim - 38) / 2) * (-8.71-(-17.83941))); + zz = -2.92135 + (((tickAnim - 38) / 2) * (-4.94-(-2.92135))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 6) { + xx = -12.6435 + (((tickAnim - 0) / 6) * (-34.26093-(-12.6435))); + yy = 19.79889 + (((tickAnim - 0) / 6) * (-5.07045-(19.79889))); + zz = 10.28356 + (((tickAnim - 0) / 6) * (28.14049-(10.28356))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = -34.26093 + (((tickAnim - 6) / 4) * (14.90089-(-34.26093))); + yy = -5.07045 + (((tickAnim - 6) / 4) * (-11.50299-(-5.07045))); + zz = 28.14049 + (((tickAnim - 6) / 4) * (-13.5107-(28.14049))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 14.90089 + (((tickAnim - 10) / 5) * (8.62869-(14.90089))); + yy = -11.50299 + (((tickAnim - 10) / 5) * (4.14795-(-11.50299))); + zz = -13.5107 + (((tickAnim - 10) / 5) * (-1.61357-(-13.5107))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 8.62869 + (((tickAnim - 15) / 5) * (-12.6435-(8.62869))); + yy = 4.14795 + (((tickAnim - 15) / 5) * (19.79889-(4.14795))); + zz = -1.61357 + (((tickAnim - 15) / 5) * (10.28356-(-1.61357))); + } + else if (tickAnim >= 20 && tickAnim < 26) { + xx = -12.6435 + (((tickAnim - 20) / 6) * (-34.26093-(-12.6435))); + yy = 19.79889 + (((tickAnim - 20) / 6) * (-5.07045-(19.79889))); + zz = 10.28356 + (((tickAnim - 20) / 6) * (28.14049-(10.28356))); + } + else if (tickAnim >= 26 && tickAnim < 30) { + xx = -34.26093 + (((tickAnim - 26) / 4) * (14.90089-(-34.26093))); + yy = -5.07045 + (((tickAnim - 26) / 4) * (-11.50299-(-5.07045))); + zz = 28.14049 + (((tickAnim - 26) / 4) * (-13.5107-(28.14049))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 14.90089 + (((tickAnim - 30) / 5) * (8.62869-(14.90089))); + yy = -11.50299 + (((tickAnim - 30) / 5) * (4.14795-(-11.50299))); + zz = -13.5107 + (((tickAnim - 30) / 5) * (-1.61357-(-13.5107))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 8.62869 + (((tickAnim - 35) / 5) * (-12.6435-(8.62869))); + yy = 4.14795 + (((tickAnim - 35) / 5) * (19.79889-(4.14795))); + zz = -1.61357 + (((tickAnim - 35) / 5) * (10.28356-(-1.61357))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 13.86 + (((tickAnim - 0) / 4) * (8.62869-(13.86))); + yy = 8.89 + (((tickAnim - 0) / 4) * (-4.14795-(8.89))); + zz = 11.53 + (((tickAnim - 0) / 4) * (1.61357-(11.53))); + } + else if (tickAnim >= 4 && tickAnim < 9) { + xx = 8.62869 + (((tickAnim - 4) / 5) * (-12.6435-(8.62869))); + yy = -4.14795 + (((tickAnim - 4) / 5) * (-19.79889-(-4.14795))); + zz = 1.61357 + (((tickAnim - 4) / 5) * (-10.28356-(1.61357))); + } + else if (tickAnim >= 9 && tickAnim < 15) { + xx = -12.6435 + (((tickAnim - 9) / 6) * (-10.71868-(-12.6435))); + yy = -19.79889 + (((tickAnim - 9) / 6) * (3.14907-(-19.79889))); + zz = -10.28356 + (((tickAnim - 9) / 6) * (-30.1424-(-10.28356))); + } + else if (tickAnim >= 15 && tickAnim < 19) { + xx = -10.71868 + (((tickAnim - 15) / 4) * (14.90089-(-10.71868))); + yy = 3.14907 + (((tickAnim - 15) / 4) * (11.50299-(3.14907))); + zz = -30.1424 + (((tickAnim - 15) / 4) * (13.5107-(-30.1424))); + } + else if (tickAnim >= 19 && tickAnim < 24) { + xx = 14.90089 + (((tickAnim - 19) / 5) * (8.62869-(14.90089))); + yy = 11.50299 + (((tickAnim - 19) / 5) * (-4.14795-(11.50299))); + zz = 13.5107 + (((tickAnim - 19) / 5) * (1.61357-(13.5107))); + } + else if (tickAnim >= 24 && tickAnim < 29) { + xx = 8.62869 + (((tickAnim - 24) / 5) * (-12.6435-(8.62869))); + yy = -4.14795 + (((tickAnim - 24) / 5) * (-19.79889-(-4.14795))); + zz = 1.61357 + (((tickAnim - 24) / 5) * (-10.28356-(1.61357))); + } + else if (tickAnim >= 29 && tickAnim < 35) { + xx = -12.6435 + (((tickAnim - 29) / 6) * (-10.71868-(-12.6435))); + yy = -19.79889 + (((tickAnim - 29) / 6) * (3.14907-(-19.79889))); + zz = -10.28356 + (((tickAnim - 29) / 6) * (-30.1424-(-10.28356))); + } + else if (tickAnim >= 35 && tickAnim < 39) { + xx = -10.71868 + (((tickAnim - 35) / 4) * (14.90089-(-10.71868))); + yy = 3.14907 + (((tickAnim - 35) / 4) * (11.50299-(3.14907))); + zz = -30.1424 + (((tickAnim - 35) / 4) * (13.5107-(-30.1424))); + } + else if (tickAnim >= 39 && tickAnim < 40) { + xx = 14.90089 + (((tickAnim - 39) / 1) * (13.86-(14.90089))); + yy = 11.50299 + (((tickAnim - 39) / 1) * (8.89-(11.50299))); + zz = 13.5107 + (((tickAnim - 39) / 1) * (11.53-(13.5107))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animIdle(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, boolean isStatic) { + EntityPrehistoricFloraPalaeopalaemon entity = (EntityPrehistoricFloraPalaeopalaemon) entitylivingbaseIn; + int animCycle = 80; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(rightantenna, rightantenna.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*22.5/0.25+115))*5), rightantenna.rotateAngleY + (float) Math.toRadians(20+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*22.5/0.25+60*3))*20), rightantenna.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-90))*5)); + + + this.setRotateAngle(leftantenna, leftantenna.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*22.5/0.25-115))*5), leftantenna.rotateAngleY + (float) Math.toRadians(-20+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*22.5/0.25+60))*20), leftantenna.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-90))*5)); + + + this.setRotateAngle(rightpleopod, rightpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60))*20), rightpleopod.rotateAngleY + (float) Math.toRadians(0), rightpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod, leftpleopod.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60))*20), leftpleopod.rotateAngleY + (float) Math.toRadians(0), leftpleopod.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod2, rightpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*2))*20), rightpleopod2.rotateAngleY + (float) Math.toRadians(0), rightpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod2, leftpleopod2.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*2))*20), leftpleopod2.rotateAngleY + (float) Math.toRadians(0), leftpleopod2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(abdomen4, abdomen4.rotateAngleX + (float) Math.toRadians(-15), abdomen4.rotateAngleY + (float) Math.toRadians(0), abdomen4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod5, rightpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*5))*20), rightpleopod5.rotateAngleY + (float) Math.toRadians(0), rightpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod5, leftpleopod5.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*5))*20), leftpleopod5.rotateAngleY + (float) Math.toRadians(0), leftpleopod5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod4, rightpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*4))*20), rightpleopod4.rotateAngleY + (float) Math.toRadians(0), rightpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod4, leftpleopod4.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*4))*20), leftpleopod4.rotateAngleY + (float) Math.toRadians(0), leftpleopod4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightpleopod3, rightpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*3))*20), rightpleopod3.rotateAngleY + (float) Math.toRadians(0), rightpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftpleopod3, leftpleopod3.rotateAngleX + (float) Math.toRadians(30+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*45/0.25-60*3))*20), leftpleopod3.rotateAngleY + (float) Math.toRadians(0), leftpleopod3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightclaw, rightclaw.rotateAngleX + (float) Math.toRadians(9.6), rightclaw.rotateAngleY + (float) Math.toRadians(0), rightclaw.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightclaw2, rightclaw2.rotateAngleX + (float) Math.toRadians(0), rightclaw2.rotateAngleY + (float) Math.toRadians(0), rightclaw2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightclaw3, rightclaw3.rotateAngleX + (float) Math.toRadians(0), rightclaw3.rotateAngleY + (float) Math.toRadians(0), rightclaw3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftclaw, leftclaw.rotateAngleX + (float) Math.toRadians(9.6), leftclaw.rotateAngleY + (float) Math.toRadians(0), leftclaw.rotateAngleZ + (float) Math.toRadians(0)); + + } + + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraPalaeopalaemon e = (EntityPrehistoricFloraPalaeopalaemon) entity; + animator.update(entity); + + animator.setAnimation(e.SWIM_ANIMATION); + animator.endKeyframe(); + animator.setStaticKeyframe(0); + animator.resetKeyframe(0); + + animator.setAnimation(e.UNSWIM_ANIMATION); + animator.endKeyframe(); + animator.setStaticKeyframe(0); + animator.resetKeyframe(0); + + } +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelPerikefalea.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelPerikefalea.java index 92a5e6cccb..ed66ddda44 100644 --- a/src/main/java/net/lepidodendron/entity/model/entity/ModelPerikefalea.java +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelPerikefalea.java @@ -220,12 +220,12 @@ else if (tickAnim >= 34 && tickAnim < 40) { if (tickAnim >= 0 && tickAnim < 5) { xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); - zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0.6 + (((tickAnim - 0) / 5) * (0.9-(0.6))); } else if (tickAnim >= 5 && tickAnim < 20) { xx = 0 + (((tickAnim - 5) / 15) * (-0.1-(0))); yy = 0 + (((tickAnim - 5) / 15) * (0.77-(0))); - zz = 0 + (((tickAnim - 5) / 15) * (0-(0))); + zz = 0.9 + (((tickAnim - 5) / 15) * (0-(0.9))); } else if (tickAnim >= 20 && tickAnim < 25) { xx = -0.1 + (((tickAnim - 20) / 5) * (0-(-0.1))); @@ -235,12 +235,12 @@ else if (tickAnim >= 20 && tickAnim < 25) { else if (tickAnim >= 25 && tickAnim < 34) { xx = 0 + (((tickAnim - 25) / 9) * (0-(0))); yy = 0 + (((tickAnim - 25) / 9) * (0.4-(0))); - zz = 0 + (((tickAnim - 25) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 25) / 9) * (0.3-(0))); } else if (tickAnim >= 34 && tickAnim < 40) { xx = 0 + (((tickAnim - 34) / 6) * (0-(0))); yy = 0.4 + (((tickAnim - 34) / 6) * (0-(0.4))); - zz = 0 + (((tickAnim - 34) / 6) * (0-(0))); + zz = 0.3 + (((tickAnim - 34) / 6) * (0.6-(0.3))); } else { xx = 0; @@ -415,7 +415,6 @@ else if (tickAnim >= 36 && tickAnim < 40) { zz = 0; } this.setRotateAngle(arm5, arm5.rotateAngleX + (float) Math.toRadians(xx), arm5.rotateAngleY + (float) Math.toRadians(yy), arm5.rotateAngleZ + (float) Math.toRadians(zz)); - } } diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelThryptodus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelThryptodus.java new file mode 100644 index 0000000000..14437fccc7 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelThryptodus.java @@ -0,0 +1,437 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraThryptodus; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelThryptodus extends ModelBasePalaeopedia { + private final AdvancedModelRenderer main; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer cube_r16; + private final AdvancedModelRenderer cube_r17; + private final AdvancedModelRenderer frontLeftFin; + private final AdvancedModelRenderer frontRightFin; + private final AdvancedModelRenderer backLeftFin; + private final AdvancedModelRenderer backRightFin; + private final AdvancedModelRenderer jaw; + private final AdvancedModelRenderer cube_r18; + private final AdvancedModelRenderer cube_r19; + private final AdvancedModelRenderer cube_r20; + private final AdvancedModelRenderer tail; + private final AdvancedModelRenderer cube_r21; + private final AdvancedModelRenderer cube_r22; + private final AdvancedModelRenderer cube_r23; + private final AdvancedModelRenderer cube_r24; + private final AdvancedModelRenderer tail2; + private final AdvancedModelRenderer cube_r25; + private final AdvancedModelRenderer cube_r26; + private final AdvancedModelRenderer cube_r27; + private final AdvancedModelRenderer tail3; + private final AdvancedModelRenderer cube_r28; + private final AdvancedModelRenderer cube_r29; + private final AdvancedModelRenderer cube_r30; + private final AdvancedModelRenderer tail4; + private final AdvancedModelRenderer bone; + private final AdvancedModelRenderer cube_r31; + + private ModelAnimator animator; + + public ModelThryptodus() { + this.textureWidth = 96; + this.textureHeight = 96; + + this.main = new AdvancedModelRenderer(this); + this.main.setRotationPoint(0.0F, 24.0F, 0.0F); + this.main.cubeList.add(new ModelBox(main, 0, 21, -2.5F, -9.0F, -7.7F, 5, 6, 11, 0.0F, false)); + this.main.cubeList.add(new ModelBox(main, 0, 39, -3.0F, -9.5F, -13.7F, 6, 7, 6, 0.0F, false)); + this.main.cubeList.add(new ModelBox(main, 0, 0, 0.0F, -15.2942F, -11.7735F, 0, 5, 15, 0.0F, false)); + this.main.cubeList.add(new ModelBox(main, 33, 16, -2.0F, -10.4728F, -7.8084F, 4, 3, 11, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(-3.0956F, -6.125F, -12.8904F); + this.main.addChild(cube_r1); + this.setRotateAngle(cube_r1, 0.0F, -0.2225F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 63, 60, -0.15F, -2.5F, -7.0F, 2, 4, 7, 0.0F, true)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(-0.8F, -7.8348F, -19.0049F); + this.main.addChild(cube_r2); + this.setRotateAngle(cube_r2, 0.1564F, -0.2156F, -0.0337F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 25, 44, -1.45F, -0.5F, -0.5F, 2, 1, 1, 0.0F, true)); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 78, 83, -1.35F, -1.0F, -1.0F, 2, 2, 2, 0.0F, true)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(0.1392F, -8.406F, -22.498F); + this.main.addChild(cube_r3); + this.setRotateAngle(cube_r3, -0.5155F, 0.1922F, -0.0278F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 83, 21, 0.2F, 0.0F, 0.0F, 1, 1, 4, 0.0F, false)); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 83, 21, 0.2F, 0.0F, 0.0F, 1, 1, 4, 0.0F, false)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(1.2611F, -8.4424F, -21.6386F); + this.main.addChild(cube_r4); + this.setRotateAngle(cube_r4, 0.044F, 0.1308F, 0.0057F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 58, 44, -0.8F, 0.0F, -2.0F, 1, 1, 1, 0.0F, false)); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 58, 44, -0.8F, 0.0F, -2.0F, 1, 1, 1, 0.0F, false)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(0.8F, -7.8348F, -19.0049F); + this.main.addChild(cube_r5); + this.setRotateAngle(cube_r5, 0.1564F, 0.2156F, 0.0337F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 78, 83, -0.65F, -1.0F, -1.0F, 2, 2, 2, 0.0F, false)); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 25, 44, -0.55F, -0.5F, -0.5F, 2, 1, 1, 0.0F, false)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(0.0F, -8.9475F, -21.2466F); + this.main.addChild(cube_r6); + this.setRotateAngle(cube_r6, -0.6196F, 0.0F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 82, 65, -1.5F, -0.6F, 0.3F, 3, 2, 3, 0.005F, false)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(-0.1392F, -8.406F, -22.498F); + this.main.addChild(cube_r7); + this.setRotateAngle(cube_r7, -0.5155F, -0.1922F, 0.0278F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 83, 21, -1.2F, 0.0F, 0.0F, 1, 1, 4, 0.0F, true)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(-1.2611F, -8.4424F, -21.6386F); + this.main.addChild(cube_r8); + this.setRotateAngle(cube_r8, 0.044F, -0.1308F, -0.0057F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 58, 44, -0.2F, 0.0F, -2.0F, 1, 1, 1, 0.0F, true)); + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(-0.5F, -7.3612F, -22.976F); + this.main.addChild(cube_r9); + this.setRotateAngle(cube_r9, 0.0436F, 0.0F, 0.0F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 49, 83, -0.5F, -1.0F, -0.6F, 2, 1, 3, -0.003F, false)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(-1.0F, -9.6513F, -22.1068F); + this.main.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.1571F, 0.0F, 0.0F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 65, 54, -0.5F, 0.0F, 0.0F, 3, 2, 3, 0.0F, false)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(0.0F, -9.6418F, -22.1295F); + this.main.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.7156F, 0.0F, 0.0F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 60, 83, -1.0F, 0.0043F, -1.9757F, 2, 2, 2, -0.003F, false)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(-1.0F, -10.2297F, -14.1449F); + this.main.addChild(cube_r12); + this.setRotateAngle(cube_r12, 0.0218F, 0.0F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 32, 79, -0.5F, 0.0F, -5.0F, 3, 3, 5, 0.0F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(1.5F, -10.5152F, -8.2586F); + this.main.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.0393F, 0.0F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 0, 53, -3.5F, 0.06F, -6.5519F, 4, 3, 7, 0.0F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(-1.5F, -0.7184F, -2.2981F); + this.main.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.1004F, 0.0F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 42, 60, -0.5F, -3.0F, 0.025F, 4, 3, 6, -0.002F, false)); + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(-1.0F, -1.8158F, -14.1965F); + this.main.addChild(cube_r15); + this.setRotateAngle(cube_r15, -0.3534F, 0.0F, 0.0F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 65, 44, -0.5F, -3.0F, -6.025F, 3, 3, 6, 0.0F, false)); + + this.cube_r16 = new AdvancedModelRenderer(this); + this.cube_r16.setRotationPoint(0.0F, -1.8256F, -14.2709F); + this.main.addChild(cube_r16); + this.setRotateAngle(cube_r16, -0.0916F, 0.0F, 0.0F); + this.cube_r16.cubeList.add(new ModelBox(cube_r16, 31, 0, -2.5F, -3.0F, 0.05F, 5, 3, 12, -0.01F, false)); + + this.cube_r17 = new AdvancedModelRenderer(this); + this.cube_r17.setRotationPoint(3.0956F, -6.125F, -12.8904F); + this.main.addChild(cube_r17); + this.setRotateAngle(cube_r17, 0.0F, 0.2225F, 0.0F); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, 63, 60, -1.85F, -2.5F, -7.0F, 2, 4, 7, 0.0F, false)); + + this.frontLeftFin = new AdvancedModelRenderer(this); + this.frontLeftFin.setRotationPoint(2.9523F, -5.3025F, -13.1358F); + this.main.addChild(frontLeftFin); + this.setRotateAngle(frontLeftFin, -0.0916F, 0.3054F, 0.0F); + this.frontLeftFin.cubeList.add(new ModelBox(frontLeftFin, 33, 31, 0.0F, -3.0F, 0.0F, 0, 3, 12, 0.0F, false)); + + this.frontRightFin = new AdvancedModelRenderer(this); + this.frontRightFin.setRotationPoint(-2.9523F, -5.3025F, -13.1358F); + this.main.addChild(frontRightFin); + this.setRotateAngle(frontRightFin, -0.0916F, -0.3054F, 0.0F); + this.frontRightFin.cubeList.add(new ModelBox(frontRightFin, 33, 31, 0.0F, -3.0F, 0.0F, 0, 3, 12, 0.0F, true)); + + this.backLeftFin = new AdvancedModelRenderer(this); + this.backLeftFin.setRotationPoint(0.8F, -1.9274F, 1.2219F); + this.main.addChild(backLeftFin); + this.setRotateAngle(backLeftFin, -0.3272F, 0.1396F, -0.2793F); + this.backLeftFin.cubeList.add(new ModelBox(backLeftFin, 0, 64, 0.41F, -1.0674F, 0.5027F, 0, 2, 9, 0.0F, false)); + + this.backRightFin = new AdvancedModelRenderer(this); + this.backRightFin.setRotationPoint(-0.8F, -1.9274F, 1.2219F); + this.main.addChild(backRightFin); + this.setRotateAngle(backRightFin, -0.3272F, -0.1396F, 0.2793F); + this.backRightFin.cubeList.add(new ModelBox(backRightFin, 0, 64, -0.41F, -1.0674F, 0.5027F, 0, 2, 9, 0.0F, true)); + + this.jaw = new AdvancedModelRenderer(this); + this.jaw.setRotationPoint(0.0F, -6.375F, -18.2F); + this.main.addChild(jaw); + + + this.cube_r18 = new AdvancedModelRenderer(this); + this.cube_r18.setRotationPoint(-0.5F, 0.5F, -5.55F); + this.jaw.addChild(cube_r18); + this.setRotateAngle(cube_r18, -0.4538F, 0.0F, 0.0F); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 66, 10, -1.0F, -2.0F, 2.0F, 3, 2, 3, -0.003F, false)); + + this.cube_r19 = new AdvancedModelRenderer(this); + this.cube_r19.setRotationPoint(0.0F, 1.3767F, -3.7524F); + this.jaw.addChild(cube_r19); + this.setRotateAngle(cube_r19, -0.7767F, 0.0F, 0.0F); + this.cube_r19.cubeList.add(new ModelBox(cube_r19, 69, 83, -1.0F, -2.0F, -2.0F, 2, 2, 2, 0.0F, false)); + + this.cube_r20 = new AdvancedModelRenderer(this); + this.cube_r20.setRotationPoint(0.0F, -0.5262F, -1.7171F); + this.jaw.addChild(cube_r20); + this.setRotateAngle(cube_r20, -0.0698F, 0.0F, 0.0F); + this.cube_r20.cubeList.add(new ModelBox(cube_r20, 79, 36, -1.0F, -0.025F, -2.775F, 2, 1, 5, -0.006F, false)); + + this.tail = new AdvancedModelRenderer(this); + this.tail.setRotationPoint(-0.0049F, -9.957F, 2.8265F); + this.main.addChild(tail); + + + this.cube_r21 = new AdvancedModelRenderer(this); + this.cube_r21.setRotationPoint(0.0049F, -0.068F, -0.3765F); + this.tail.addChild(cube_r21); + this.setRotateAngle(cube_r21, 0.0567F, 0.0F, 0.0F); + this.cube_r21.cubeList.add(new ModelBox(cube_r21, 58, 31, -2.0F, 1.0F, 0.0F, 4, 6, 6, -0.003F, false)); + + this.cube_r22 = new AdvancedModelRenderer(this); + this.cube_r22.setRotationPoint(0.0049F, -4.2122F, -0.05F); + this.tail.addChild(cube_r22); + this.setRotateAngle(cube_r22, -0.0654F, 0.0F, 0.0F); + this.cube_r22.cubeList.add(new ModelBox(cube_r22, 82, 54, -0.005F, -0.075F, 0.05F, 0, 4, 6, 0.0F, false)); + + this.cube_r23 = new AdvancedModelRenderer(this); + this.cube_r23.setRotationPoint(-0.9951F, 8.8628F, -0.275F); + this.tail.addChild(cube_r23); + this.setRotateAngle(cube_r23, 0.24F, 0.0F, 0.0F); + this.cube_r23.cubeList.add(new ModelBox(cube_r23, 19, 66, -0.5F, -3.025F, 0.975F, 3, 3, 6, 0.0F, false)); + + this.cube_r24 = new AdvancedModelRenderer(this); + this.cube_r24.setRotationPoint(-0.9951F, -0.4764F, -0.2572F); + this.tail.addChild(cube_r24); + this.setRotateAngle(cube_r24, -0.0305F, 0.0F, 0.0F); + this.cube_r24.cubeList.add(new ModelBox(cube_r24, 38, 70, -0.5F, 0.0F, 0.0F, 3, 2, 6, 0.0F, false)); + + this.tail2 = new AdvancedModelRenderer(this); + this.tail2.setRotationPoint(-0.0243F, 2.0101F, 5.6484F); + this.tail.addChild(tail2); + this.tail2.cubeList.add(new ModelBox(tail2, 64, 16, -1.4708F, -1.2031F, -0.3749F, 3, 4, 6, 0.0F, false)); + + this.cube_r25 = new AdvancedModelRenderer(this); + this.cube_r25.setRotationPoint(-0.4708F, 7.4277F, -5.7483F); + this.tail2.addChild(cube_r25); + this.setRotateAngle(cube_r25, 0.3403F, 0.0F, 0.0F); + this.cube_r25.cubeList.add(new ModelBox(cube_r25, 74, 72, -0.5F, -4.025F, 6.425F, 2, 4, 6, -0.003F, false)); + + this.cube_r26 = new AdvancedModelRenderer(this); + this.cube_r26.setRotationPoint(-0.4708F, -2.2801F, -0.435F); + this.tail2.addChild(cube_r26); + this.setRotateAngle(cube_r26, -0.0567F, 0.0F, 0.0F); + this.cube_r26.cubeList.add(new ModelBox(cube_r26, 57, 72, -0.5F, 0.0F, 0.2F, 2, 4, 6, 0.0F, false)); + + this.cube_r27 = new AdvancedModelRenderer(this); + this.cube_r27.setRotationPoint(0.0292F, -5.8473F, -0.0733F); + this.tail2.addChild(cube_r27); + this.setRotateAngle(cube_r27, -0.1047F, 0.0F, 0.0F); + this.cube_r27.cubeList.add(new ModelBox(cube_r27, 83, 10, 0.0F, -0.075F, 0.05F, 0, 4, 6, 0.0F, false)); + + this.tail3 = new AdvancedModelRenderer(this); + this.tail3.setRotationPoint(-0.0958F, -0.0982F, 5.3439F); + this.tail2.addChild(tail3); + this.tail3.cubeList.add(new ModelBox(tail3, 66, 0, -0.875F, -1.0799F, -0.3438F, 2, 2, 7, 0.003F, false)); + + this.cube_r28 = new AdvancedModelRenderer(this); + this.cube_r28.setRotationPoint(0.125F, -1.6351F, 0.0934F); + this.tail3.addChild(cube_r28); + this.setRotateAngle(cube_r28, -0.0654F, 0.0F, 0.0F); + this.cube_r28.cubeList.add(new ModelBox(cube_r28, 79, 27, -0.5F, -0.0679F, -0.3788F, 1, 1, 7, -0.01F, false)); + + this.cube_r29 = new AdvancedModelRenderer(this); + this.cube_r29.setRotationPoint(-1.875F, 3.4536F, -0.0498F); + this.tail3.addChild(cube_r29); + this.setRotateAngle(cube_r29, 0.3447F, 0.0F, 0.0F); + this.cube_r29.cubeList.add(new ModelBox(cube_r29, 0, 76, 1.5F, -3.075F, 0.025F, 1, 3, 7, -0.01F, false)); + + this.cube_r30 = new AdvancedModelRenderer(this); + this.cube_r30.setRotationPoint(0.125F, -5.0741F, 0.5327F); + this.tail3.addChild(cube_r30); + this.setRotateAngle(cube_r30, -0.1047F, 0.0F, 0.0F); + this.cube_r30.cubeList.add(new ModelBox(cube_r30, 17, 76, -0.005F, -0.075F, 0.05F, 0, 4, 7, 0.0F, false)); + + this.tail4 = new AdvancedModelRenderer(this); + this.tail4.setRotationPoint(0.125F, -0.4549F, 6.0062F); + this.tail3.addChild(tail4); + this.tail4.cubeList.add(new ModelBox(tail4, 25, 39, -0.5F, -0.625F, 0.0F, 1, 2, 2, 0.0F, false)); + this.tail4.cubeList.add(new ModelBox(tail4, 25, 47, 0.0F, -4.625F, 1.0F, 0, 10, 8, 0.0F, false)); + + this.bone = new AdvancedModelRenderer(this); + this.bone.setRotationPoint(-0.2351F, 7.875F, 3.525F); + this.tail.addChild(bone); + this.setRotateAngle(bone, -0.0436F, 0.0F, 0.0F); + + + this.cube_r31 = new AdvancedModelRenderer(this); + this.cube_r31.setRotationPoint(-0.51F, 1.3F, 4.975F); + this.bone.addChild(cube_r31); + this.setRotateAngle(cube_r31, -0.0524F, 0.0F, 0.0F); + this.cube_r31.cubeList.add(new ModelBox(cube_r31, 42, 47, 0.99F, -2.0F, -5.0F, 0, 1, 11, 0.0F, false)); + + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.main.render(f5); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.main.offsetY = -0.6F; + this.main.offsetX = 0.2F; + this.main.offsetZ = 2.0F; + this.main.rotateAngleY = (float)Math.toRadians(242); + this.main.rotateAngleX = (float)Math.toRadians(8); + this.main.rotateAngleZ = (float)Math.toRadians(-8); + this.main.scaleChildren = true; + float scaler = 3.2F; + this.main.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.main.render(f); + //Reset rotations, positions and sizing: + this.main.setScale(1.0F, 1.0F, 1.0F); + this.main.scaleChildren = false; + resetToDefaultPose(); + } + + public void renderStaticWall(float f) { + this.main.rotateAngleY = (float) Math.toRadians(90); + this.resetToDefaultPose(); + } + + public void renderStaticFloor(float f) { + this.main.offsetY = -0.18F; + this.main.render(0.01F); + this.resetToDefaultPose(); + } + + public void setRotateAngle(ModelRenderer AdvancedModelRenderer, float x, float y, float z) { + AdvancedModelRenderer.rotateAngleX = x; + AdvancedModelRenderer.rotateAngleY = y; + AdvancedModelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + + //this.head.offsetY = 0.8F; + + AdvancedModelRenderer[] fishTail = {this.tail, this.tail2, this.tail3, this.tail4}; + ((EntityPrehistoricFloraThryptodus)e).tailBuffer.applyChainSwingBuffer(fishTail); + + float speed = 0.223F; + EntityPrehistoricFloraAgeableBase ee = (EntityPrehistoricFloraAgeableBase) e; + if (ee.getIsFast()) { + speed = speed * 2.6F; + } + float still = 1f; + if (f3 == 0.0F) { + still = 0.8F; + } + if (!e.isInWater()) { + speed = 0.26F; + } + + //this.head.rotateAngleY += f3 / (180F / (float) Math.PI); + //this.head.rotateAngleX += f4 / (180F / (float) Math.PI); + + //if (f3 != 0.0F) {this.walk(Jaw, (float) (speed * 1.5), 0.2F, true, 0, 0, f2, 1);} + if (e.isInWater()) { + this.chainWave(fishTail, speed * still, 0.02F * still, -0.2, f2, 0.8F * still); + this.chainSwing(fishTail, speed * still, 0.29F * still, -0.85, f2, 0.5F * still); + this.swing(main, speed, 0.1F, true, 0, 0, f2, 0.8F); + } + else { + this.swing(main, speed, 0.05F, true, 0, 0, f2, 0.5F); + } + this.flap(frontLeftFin, (float) (speed * 0.65), 0.28F, false, 0.8F, 0, f2, 0.5F); + this.swing(frontLeftFin, (float) (speed * 0.65), 0.18F, true, 0, 0, f2, 0.5F); + this.flap(frontRightFin, (float) (speed * 0.65), -0.28F, false, 0.8F, 0, f2, 0.5F); + this.swing(frontRightFin, (float) (speed * 0.65), -0.18F, true, 0, 0, f2, 0.5F); + + this.flap(backLeftFin, (float) (speed * 0.65), 0.28F, false, 1.8F, 0, f2, 0.5F); + this.swing(backLeftFin, (float) (speed * 0.65), 0.18F, true, 1, 0, f2, 0.5F); + this.flap(backRightFin, (float) (speed * 0.65), -0.28F, false, 1.8F, 0, f2, 0.5F); + this.swing(backRightFin, (float) (speed * 0.65), -0.18F, true, 1, 0, f2, 0.5F); + + + if (!e.isInWater()) { + this.main.rotateAngleZ = (float) Math.toRadians(90); + //this.head.offsetY = -0.1F; + this.bob(main, -speed * 1.9F, 2.5F, false, f2, 1); + this.chainWave(fishTail, speed * 1.7F, 0.028F, -0.2, f2, 0.8F * still); + this.chainSwing(fishTail, speed * 1.7F, 0.15F, -0.55, f2, 0.4F * still); + + } + + } + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraAgeableBase e = (EntityPrehistoricFloraAgeableBase) entity; + animator.update(entity); + this.resetToDefaultPose(); + setRotationAngles(f, f1, f2, f3, f4, f5, (Entity) entity); + + animator.setAnimation(e.ATTACK_ANIMATION); + animator.startKeyframe(8); + animator.rotate(this.jaw, (float) Math.toRadians(32.5), (float) Math.toRadians(0), (float) Math.toRadians(0)); + animator.endKeyframe(); + animator.setStaticKeyframe(5); + animator.resetKeyframe(2); + + } +} + diff --git a/src/main/java/net/lepidodendron/entity/render/RenderHandler.java b/src/main/java/net/lepidodendron/entity/render/RenderHandler.java index 3fc3c7f489..ef977f2e73 100644 --- a/src/main/java/net/lepidodendron/entity/render/RenderHandler.java +++ b/src/main/java/net/lepidodendron/entity/render/RenderHandler.java @@ -9257,6 +9257,58 @@ public Render createRenderFor(Rende return new RenderProtoceratops(manager); } }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraPalaeopalaemon.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderPalaeopalaemon(manager); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraMacromyzon.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderMacromyzon(manager); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraThryptodus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderThryptodus(manager); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraIcarosaurus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderIcarosaurus(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraCratosirex.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderCratosirex(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraRafaeliana.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderRafaeliana(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraRaptoblatta.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderRaptoblatta(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraMegalithomerus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderMegalithomerus(manager); + } + }); + diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_jungle.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_jungle.java index 756ff7ca61..cab9bf7c7b 100644 --- a/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_jungle.java +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_jungle.java @@ -36,7 +36,7 @@ protected void applyRotations(EntityPrehistoricFloraArchaeognatha_jungle entityL case WEST: case NORTH: case SOUTH: - GlStateManager.translate(0.0F, 0.1F, -0.08F); + GlStateManager.translate(0.0F, 0.1F, -0.05F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); break; case UP: diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_rocky.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_rocky.java index 0950a7aac2..16d71e0730 100644 --- a/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_rocky.java +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderArchaeognatha_rocky.java @@ -36,7 +36,7 @@ protected void applyRotations(EntityPrehistoricFloraArchaeognatha_rocky entityLi case WEST: case NORTH: case SOUTH: - GlStateManager.translate(0.0F, 0.1F, -0.08F); + GlStateManager.translate(0.0F, 0.1F, -0.05F); GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); break; case UP: diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderIcarosaurus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderIcarosaurus.java new file mode 100644 index 0000000000..9ea036172b --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderIcarosaurus.java @@ -0,0 +1,51 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraIcarosaurus; +import net.lepidodendron.entity.model.entity.ModelIcarosaurus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderIcarosaurus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/icarosaurus.png"); + + public static float getScaler() {return 0.15f; } + + public RenderIcarosaurus(RenderManager mgr) { + super(mgr, new ModelIcarosaurus(), 0.0f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraIcarosaurus entity) { + return RenderIcarosaurus.TEXTURE; + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraIcarosaurus entity, float f) { + float scale = entity.getAgeScale() * this.getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = entity.width * scale * 0.3F; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraIcarosaurus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + + switch (entityLiving.getClimbFacing()) { + case DOWN: + default: + break; + case EAST: case WEST: case NORTH: case SOUTH: + GlStateManager.translate(0.0F, 0.05F, -0.14F); + GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F); + break; + case UP: + GlStateManager.translate(0.0F, 0.5F, 0.0F); + GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderMacromyzon.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderMacromyzon.java new file mode 100644 index 0000000000..d8c6fabd74 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderMacromyzon.java @@ -0,0 +1,37 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraMacromyzon; +import net.lepidodendron.entity.model.entity.ModelMacromyzon; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderMacromyzon extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/macromyzon.png"); + + public static float getScaler() {return 0.3F;} + + public RenderMacromyzon(RenderManager mgr) { + super(mgr, new ModelMacromyzon(), 0.0f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraMacromyzon entity) { + return RenderMacromyzon.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraMacromyzon entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + @Override + protected void preRenderCallback(EntityPrehistoricFloraMacromyzon entity, float f) { + float scale = getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = entity.width * scale * 0.00F; + } + + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderPalaeopalaemon.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderPalaeopalaemon.java new file mode 100644 index 0000000000..cdca1238f5 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderPalaeopalaemon.java @@ -0,0 +1,35 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraPalaeopalaemon; +import net.lepidodendron.entity.model.entity.ModelPalaeopalaemon; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderPalaeopalaemon extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/palaeopalaemon.png"); + + public RenderPalaeopalaemon(RenderManager mgr) { + super(mgr, new ModelPalaeopalaemon(), 0.0f); + } + + public static float getScaler() {return 0.25F; } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraPalaeopalaemon entity) { + return RenderPalaeopalaemon.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraPalaeopalaemon entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraPalaeopalaemon entity, float f) { + float scale = this.getScaler(); + GlStateManager.scale(scale, scale, scale); + } +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderThryptodus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderThryptodus.java new file mode 100644 index 0000000000..20cc7a77ed --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderThryptodus.java @@ -0,0 +1,39 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraThryptodus; +import net.lepidodendron.entity.model.entity.ModelThryptodus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderThryptodus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/thryptodus.png"); + + public RenderThryptodus(RenderManager mgr) { + super(mgr, new ModelThryptodus(), 0.0f); + } + + public static float getScaler() {return 0.619F; } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraThryptodus entity) { + return RenderThryptodus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraThryptodus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + protected void preRenderCallback(EntityPrehistoricFloraThryptodus entity, float f) { + float scale = this.getScaler(); + if (scale < 0.1f) { + scale = 0.1f; + } + GlStateManager.scale(scale, scale, scale); + this.shadowSize = 0; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/item/entities/ItemEggsIcarosaurus.java b/src/main/java/net/lepidodendron/item/entities/ItemEggsIcarosaurus.java new file mode 100644 index 0000000000..96d595789e --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemEggsIcarosaurus.java @@ -0,0 +1,63 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemEggsIcarosaurus extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:eggs_icarosaurus") + public static final Item block = null; + public ItemEggsIcarosaurus(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.eggs_icarosaurus); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/eggs_icarosaurus", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("bakingEgg", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("egg", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("eggCookable", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("foodSimpleEgg", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("ingredientEgg", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("listAllegg", ItemEggsIcarosaurus.block); + OreDictionary.registerOre("objectEgg", ItemEggsIcarosaurus.block); + } + + public static class ItemCustom extends ItemEggsPF { + public ItemCustom() { + super(); + setTranslationKey("pf_eggs_icarosaurus"); + setRegistryName("eggs_icarosaurus"); + setCreativeTab(TabLepidodendronMobile.tab); + } + + @Override + public String getMobString() { + return LepidodendronMod.MODID + ":prehistoric_flora_icarosaurus"; + } + } + +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemIcarosaurusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemIcarosaurusRaw.java new file mode 100644 index 0000000000..73d0916fba --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemIcarosaurusRaw.java @@ -0,0 +1,54 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemIcarosaurusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:icarosaurus_raw") + public static final Item block = null; + public ItemIcarosaurusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.icarosaurus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/icarosaurus_raw", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_icarosaurus", ItemIcarosaurusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemIcarosaurusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemIcarosaurusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemIcarosaurusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_icarosaurus_raw"); + setRegistryName("icarosaurus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemMacromyzonRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemMacromyzonRaw.java new file mode 100644 index 0000000000..2034945ff1 --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemMacromyzonRaw.java @@ -0,0 +1,53 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemMacromyzonRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:macromyzon_raw") + public static final Item block = null; + public ItemMacromyzonRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.macromyzon_raw); + } + + @Override + public void initElements() { + + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/macromyzon_raw", "inventory")); + } + + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_macromyzon", ItemMacromyzonRaw.block); + OreDictionary.registerOre("pnfurnaceSeafood", ItemMacromyzonRaw.block); + OreDictionary.registerOre("pndietCrinoid", ItemMacromyzonRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_macromyzon_raw"); + setRegistryName("macromyzon_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemPalaeopalaemonRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemPalaeopalaemonRaw.java new file mode 100644 index 0000000000..c44ca107cd --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemPalaeopalaemonRaw.java @@ -0,0 +1,51 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemPalaeopalaemonRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:palaeopalaemon_raw") + public static final Item block = null; + public ItemPalaeopalaemonRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.palaeopalaemon_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/palaeopalaemon_raw", "inventory")); + } + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_palaeopalaemon", ItemPalaeopalaemonRaw.block); + OreDictionary.registerOre("pnfurnaceScampi", ItemPalaeopalaemonRaw.block); + OreDictionary.registerOre("pndietCrustacean", ItemPalaeopalaemonRaw.block); + } + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_palaeopalaemon_raw"); + setRegistryName("palaeopalaemon_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemThryptodusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemThryptodusRaw.java new file mode 100644 index 0000000000..ee269f1d1f --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemThryptodusRaw.java @@ -0,0 +1,51 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemThryptodusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:thryptodus_raw") + public static final Item block = null; + public ItemThryptodusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.thryptodus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/thryptodus_raw", "inventory")); + } + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_thryptodus", ItemThryptodusRaw.block); + OreDictionary.registerOre("listAllfishraw", ItemThryptodusRaw.block); + OreDictionary.registerOre("pnfurnaceFish", ItemThryptodusRaw.block); + OreDictionary.registerOre("pndietFish", ItemThryptodusRaw.block); + } + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_thryptodus_raw"); + setRegistryName("thryptodus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java b/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java index fa535c82c5..2de6c44a6b 100644 --- a/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java +++ b/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java @@ -474,6 +474,7 @@ public static String[] getSilurianCleanedFossilsMobs() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraTaeniaster.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraKettneraspis.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraTremataspis.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraMacromyzon.class)).getRegistryName().toString(), }; resLoc = ArrayUtils.addAll(resLoc, LepidodendronConfig.revMobsSilurian); @@ -669,6 +670,7 @@ public static String[] getDevonianCleanedFossilsMobs() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraPerikefalea.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_rocky.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_jungle.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraPalaeopalaemon.class)).getRegistryName().toString(), }; @@ -1252,6 +1254,7 @@ public static String[] getTriassicCleanedFossilsMobs() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraGigamachilis.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_rocky.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_jungle.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraIcarosaurus.class)).getRegistryName().toString(), @@ -2043,6 +2046,7 @@ public static String[] getCretaceousCleanedFossilsMobsLate() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraMegalithomerus.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraRafaeliana.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraRaptoblatta.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraThryptodus.class)).getRegistryName().toString(), }; return resLoc; diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/cratosirex.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/cratosirex.json new file mode 100644 index 0000000000..a40ca864de --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/cratosirex.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "cratosirex", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:cratosirex_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/icarosaurus.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/icarosaurus.json new file mode 100644 index 0000000000..d316c5fb47 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/icarosaurus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "icarosaurus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:icarosaurus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/macromyzon.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/macromyzon.json new file mode 100644 index 0000000000..c0afd1d694 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/macromyzon.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "macromyzon", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:macromyzon_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/megalithomerus.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/megalithomerus.json new file mode 100644 index 0000000000..6546778e2a --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/megalithomerus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "megalithomerus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:megalithomerus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/palaeopalaemon.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/palaeopalaemon.json new file mode 100644 index 0000000000..2f02b7129a --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/palaeopalaemon.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "palaeopalaemon", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:palaeopalaemon_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/rafaeliana.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/rafaeliana.json new file mode 100644 index 0000000000..b109f58a13 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/rafaeliana.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "rafaeliana", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:rafaeliana_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/raptoblatta.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/raptoblatta.json new file mode 100644 index 0000000000..1805aa9845 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/raptoblatta.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "raptoblatta", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:raptoblatta_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/entity/thryptodus.json b/src/main/resources/assets/lepidodendron/loot_tables/entity/thryptodus.json new file mode 100644 index 0000000000..c14d6275cd --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/entity/thryptodus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "thryptodus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:thryptodus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/eggs_icarosaurus.json b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_icarosaurus.json new file mode 100644 index 0000000000..2edfc36b06 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_icarosaurus.json @@ -0,0 +1,6 @@ +{ + "parent": "lepidodendron:block/eggs_small", + "textures": { + "texture": "lepidodendron:entities/eggs_icarosaurus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_cratosirex.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_cratosirex.json new file mode 100644 index 0000000000..b913f584f1 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_cratosirex.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_cratosirex" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_megalithomerus.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_megalithomerus.json new file mode 100644 index 0000000000..1c0f40361c --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_megalithomerus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_megalithomerus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_rafaeliana.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_rafaeliana.json new file mode 100644 index 0000000000..b2bbcea258 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_rafaeliana.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_rafaeliana" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_raptoblatta.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_raptoblatta.json new file mode 100644 index 0000000000..a04f174902 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_raptoblatta.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_raptoblatta" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/textures/entities/eggs_icarosaurus.png b/src/main/resources/assets/lepidodendron/textures/entities/eggs_icarosaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..9162d6a25699fcbe7d845a731ab70959e878c874 GIT binary patch literal 440 zcmV;p0Z0CcP)(10D+8i?;FDLdMPp3 z`}U4!FG7Z(Y_I%XBO#$`1m1D7JN@qDy4&rrcDTO@ekZMqXDVDyyPxm=bi2$7J z+&+gCsh!)Z>hpuZ?0Ac$O6MGr@4bj6CN65{25t~tRCT#_Mv_V}X08Y`6oDX7X=l1c z5E7;8l4As>t66o(A4u#4NQr!!3<(ib&D_|#Q`KD$i^%^{oO@4qclGzQ1f70i>5x1} iknVj&mKsF5;`{}^WK4nB+n7E80000&~kH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/entities/icarosaurus.png b/src/main/resources/assets/lepidodendron/textures/entities/icarosaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..030190d7c370bc57843856bef31739eeb1af0d6b GIT binary patch literal 1856 zcmV-G2fz4c6qASMP-l%X0huslAXqqUvd|p* zz52#aW1=-+VSXk>qo!^9m`x-Iz$^>$YiY^aueCgqgu8YYo9u70)|~t;J32%&?hDb> zY=gq#P@w*{>D`5YQ$RU&Hbxg);?&hO zKsUN?QQPI4qLeilbTDBww)cw13z9VV!S3_p-Ut0?&ai8M|FQP4S*E8G4G!9Gn0DB( zzR3Kf>X%VlG_P6%Y{|8D^wI3ROi`|hn1Wnd8uc^`>Aq&qc4&O9?%pBamhGP z`M9ad)gWU_ZvKocs&BbL#ScxjGLjGt4Gn9~57=ixEH^jeTZ>*Iq7w|Ki3wtuV2YY! z9|oz){q=$PGpqtB7&4VLCDVi=FyDErszaX4GF8nnM$_kH@V?AAR(DmDAd5CnW|^wy zDtDKdiSLlMmd#s#@I>~rFU!Q_U#h6pr(IGyc2sFY-2lVOy#rL3n<)n8cYrhSnx8x9 zQfD9CpOqmd%FRH8CDLW^_v5y>B9((X^p$J$SqPl@Wrw)Y^gUjzc zc_E)1PGsWzF1PC-oA#s8bn=VUtEY?d;9jyNCf9%bJ)jeCu|7@(s7hcG0-6X!+@( zC(PdeVnQR2|^U*{@&Aq_&KAgV;%nZg6(G<$@$&i5I}$_;RyMG zpG;pJ%LxXXVV@NN@5xD?)cLkv`lqX(GOfsnevq-rzOwPV5i8boWjKK?UzA6F;3v~p z$8v(9n`El+vYI*sra7Gu(FyyDn-9S5F$h*s9t;@`WC;243fuWdV4Bkjz3eYQMr1gw zb7|KmBb76nx`;9{UO-vSi>O^mubLb0xGl}eNM%9l>R%H@a@n?dhrAiE?9ky;+U}jB@3xX5?M%)fmqEK zbEte>GjSb&iQ?}{Fy)iKb|pS1Uw6YqWj9Flk?QJpgY8A<8f>n1nhmMM+z5^()PL#8 z(N^_C9YI$DPG7?QDzCI|HFf=TveAa)rJXKHu}ls`{4V!*>c{22Jr_wA&_)Xr`WnFv u2HnB<9{>RV|GyFG1^@s621!IgR09C**|G(;w#0z|0000Wnw3q&|L%Gl5IdN-I zUSUWcroox504Z?3zhuk(?|*BQb7fd^r>Vb_!r@%;e0O(Ci*r+CiqPjAqxoqBVgqBO zQ@{%nkM~CNgOEMGHftkh4&GcOsJ5X^M6|Bz-!_`lTm}>{QNh9~A^YoTlQH})*;9?h zq8;|X@+#WhSS3UT6hIE1Ks?#r6Zz5QBS%j-CZR~)*L*7YS)nyjUvo)HiN@BRRNkur z0m~@~FLVy~ksDARC2ah&Q~x`gylMb3}R$F)iX zgKXB6H$qRP9o=w0?w$L%c?FZlC(gu6 z1w}rQnzQl)&h7abyMbXEATThp+lvyovfuEb;47GhX0B{&y#^MGRdT<#Q`aLUqd?Y2 z1|ujMjvV+}+?6wuX5j_xdC99KmU5DELK)JZm(T7$;*;f8Eqx#N=41<9`R>QN@cYj< z_IhlIfhUo)^*hvVU(&0jmK{5a?F<9tQ5toSy=A-SUFi$v&QHMn(-(VWK_Bhhj0ZM- z!Hp&Nro3ozA{uB5r~?%M?B3&Kl>$zlDBuQYYc)ep!AXih=1nPPEa|h$W@1MDkcH24u|DUQZP_VpFF~7Ie_*><|?l42_L;?s3Xaw6{x34~7T# zxJR$Q0S04*+q*dl({SNC@osbTri+_B6T`#C!O?>|+~TFMcr)I*t%KLbJJP@(x0^Y6 zR@_cWaYd{|2)RQ2$}nEm?%OXq4j*I1=ZdJaB8 z5~QNDiN!!HclP3CVepp}Ul9!Q@NON*m3~}FpsuQeC$)O;6^qxVbBoT|wE}Eb8kBtp z3g+t9rz5hw?n)Eg29NI7aV3GP>g zA@G7ai6ftuG6U<40D0OAk`}Xd{&b8SqJn6R9YU-W__2KlekJ{OD@v@%kcZ|r4b-;S zxO!^xY?KF0fIjv+AQjtBJ7RF|>u+NIt>38kVkUK(?TH&hhYp8R*@rzJNjjqp8VnW~ z5ERPQBh*&VE5g8E(+_+FAw|k#*MI5MS|qk=AKrCq6D2kvPz@TjAJjjo=IS*@IfPOM zurTe=RU|J+z{I2k^hC}pF+?L+O%x1%aR^u6f9f2i()|id|4GnQghVWd@Nw~y^+kyV zYvxi4l^@hL*Ya%}vh%4yEmxqccu1pFDL6rYu^9UWpNehs03$O=_5R1!hceS zo_0+lGC}_E_z?~3vOE9k_j*wjgTAy>l3vyQn}W8aJ<_g2ywbeY8#%M*rf*??jOZaC zAk1w5;uc~lS5m6cqkt~|o0FaHB6`G9uB2S+Qr+tIl|;&dliR>*wLwt-n5UZKC}Jty zy)w7P0mGts`Ap_6p5V0DSiD?P(kq1Jt`m2lNL2adv2U@yDBE zbe7{!;6F>(VpL9sLr&RDv&&q!R009601%F3c00006Nkl7Hrk!SIqdDr!KK6?GvIIYf=F1Vjy@D6$wif@_xSYI4>kXN`&I z9>9gw2#O*n_zFhU$g(Dp#4|>Nm;{UpDk2Z(!MvxZ=UKVm?f#3~)zv-S)z#e$;X7x} zf2-=&t(ot?|GoeH?_(U)k8tm*Cp6=|!NW&VYjYD7dVRXQ>-x)c$VR;N$B*Q9i+nzL zeg4==+sb!PKZ3usBI;h_@j5CVSW3b6fFvK+cEeZVmomSgfb2%UQb2uOb<{nh1wa{g z<5+d*yA@^jm))-v0FsT!gay>sH&D9JuN1KJwO69<&6&S2?H0f_zp=TQ>_)#*fEhAj z0oApkGXL(IATxmcbX$PS<(4wo)k}8cv;~9#R}SJfikP31wYfWCg$a_3vUn`@xcVvQ|Iv`14v{d6GrHR{)crUr-dj zZXzpC3Hv^Le#U*3Hy;vQ-+r)OSu zjqD@%J7#!r#o~yX4f0+21yVBkkm*2H6;NI|RFcE;pXSYv3atI|`7JVUA_SPdua*ya z=(A5u--Xi7yXZ2#DPwd9&j;4^=XbV6G)=#K(UZEtFaYmU><@_{lOT~Js^f!0>K_Un_9E}yx%d->h8dd=zx4hE17 zn0wQ08b*lS!Ut!0(}MXC*VoOP6LD=7AiuG`PX4eW(gBd~cI8RQL?CU zR>1W)FV;|4Z*MP6x!?jRas9;4o}geLKo?&;Rmx|c-Yg}aPoFl8tOCRr7Ww24(tCEl zAMs-sKz^R+Ga#9KNGo72_-}{AHIPy#{LQQ9Xl<=6l5qU|`pq|GN5|Lr+4063QgS}X z*S2pbs{rw>Elqm5z24fut1p23=GHdy7J5>)0OQ}z904gQ;EnAsWxQhr`5>Ot=>o|2 z`--T(sYR0C&}4ls;MHGjjmc9|3Rt!2m8e*V+r&Mzds18l$gi!fmFcpwvb0$MlMe~< zOMKp>m2mb&GqtO4_-Fd*-PhTpfSO~6qwbwQbvk7dAiqxSd~@?C6|lF%Z9dn06$nG` z`>I+tM~`fJSqpY_O793@PwAG~GoncD42A}A@sN}P%wp|z)yF840QrSJzn(4~G?Y?- zr?7~;fgpK{isD{P=NFcJ-W?geeS@3t2vBkbKVh0g#U}fIVy1Y6UJAdBjhF z+f7q`@+i%jF^O*3cR*_u9#EmMlrG`@Tr}}4y}3%+0#YR)S=em>Rz|k5FlpJcsIsR2 z!=$+HB&C4*+URhu9SY#^0uQp-)#MJBNoT@U;?Y6!GswA%?$O{KaT$=s{!$sX2>lHw z!Wb);-JCXW?SoHiq{ldMba~uwB&C41K=h=9w>b4$Sm-S#O$(9f7IUoKB8UfBQc@hs zAUqvJCu1p_pSklK@*TAd$db}>`3?S7CZJB#$3s#IaOOu(H#IjV_Mv#_6tNMPXfqp{ z1M&x8$!@04AA7Q0e;2lflq&3sV8+6WlzB8Z zCl)tKN&()IvZ#A@SU@&`l@5WnkgHhWDWX!*e|S70*R!pyjh1}-8#g3f%NBKU$+1SF2$AI-z`y#`;iIAblb%^`{x|F}DcNx-(;C>fP4_o z>86%8`8xxtjPgs%DiX@)$P=?O@D@OLFzijR2jLUanU_zE)FWzas55MD4^qAu39^}=Bwnd zdFllX*H}r1Rdt=g4t>K1TvW&K(c|doq0gl|>2l{wQXI~JE{nWg;UacZuA2v8HKMsG zSEL9>1e;{O=BDn5_ch^Lf_yY*_zrOB(@$iYWwrt9w)DJ)KFI|YXlEqR0)9eoSuL#0kixa!FE|5%7rEH+$~5)nq{^D^4S8AMszn(3oygm zt5!vX>@QidBK|-OwR7l*(ek5Cr)bCXT#^_^m^4)a-Q9t32ON@sS$<5rp*-{lTt46z z=7?{y%oO15aB~Bx)_fK3SG}b_gNL``!Sxy|NcEQNa-ALNoIE+10P^5$z!^{_aP-U1 zrQ~a49(Eu=JeL&!0Sveh#Y$cdKv zdSa)8CEyQxE!-p;^YEO2T9#diseq<>^PMIIo{5w!Q1d}P&>jfLYow>1GcseAP*Pe( z!LA-+r-Oe0ZsU2r!!$q^>jfo-tzvz4zX3 z3beOTp=g&;TM_lVq_>kOT7hgD*YxFwI}KQYu8GE&U-cKesvRy{_Bt)UY}M+vM=eb-F>DRWb>$l^Kj95U~;4`SPu9}Pz$QP#F9`=3JwAnjA?a?nx)BP3i|9*#_ zo;q`OS}ec;jXFhpX_Np6H%ptn1AuU|^r--KBcPpd_(T{PO+{0Kh>r{&u1lci=poaz zF>ii&{<#LC7c93h9Mji)s%6B>g zA{1S~E5p2m@}koxH_+B|`>r-SDynvFGtIB!zrVjA>ApdRqcMAh`2a)-o7*}gHpH2w zdyn_Z#jM4CKQ-r)KB9z=VU|AG!G9Oz`IpX;vLhV*HRe+{@40MP6Xi%Gh<2)jYqC*V z&6f<~l8=3{>N-p#?Aj~)_l&s9QjF^`&6IGeVdObev>q|1ohv4ravdl7umc~wotDZL zcat8kxy%;%H{7~JTl&2pXp})P`H*~_PV{L3-@Ef>nSNybGZ|CDjSH8^i5mpf9{bo!I_Pe&i{t#99;eOJVAUfupHY7z1I zXP;c3_I^ffc8oB)|M}i`Gjnk3vgP;aA4huBxCxX_fc%ouQn{x%U$}U_k`l54gsTxP zMQ{$~U|0GjQ>W6~RaJ7AI_@u6FrR+0?U(e>%74%4tG1`p3gT*#YX<)kXN-zm$781j zV8eI22rbKLOF^2au#nb0^1vzYWjWZ@^4&0H6mH%fb`y;9=i0>OX#DI_a{vL(>r!YbkbN3<1P#>A`7-Q(XCfpXf5O|nqSDx zTVJCgW6w@_4#5bV6Mc`)3Y*i)WeNb91c%d8!>eFNJ<1&tOHFDHyepsfbkr+ zQD;w-!~;;ojsG~#5^-ZDUZSBAVge^90+By^V7aAo;85Vy7@Q)b$`_w~QkEC94@i_~ zJAobLPy&9*E3ce|TUxTs5Xk2c2rI%0Kt8M;Y1|Yxs*b$kos2oC80rH^)kRNQb9syO)iBQkdV4ReP_OTLvxa=;{ za!BJjT{HL%%fLZ?iGQG;whFcYAQcOUcTNOw(w>@#UtIk3nXk3EG2*(kVz9oxhZSKJ z?1&_50mILnr1widU-TUci0N7EA2wUYk`V=Ld3Bfm3+1?r#H4vX^>nt=cP>wSk1o8O z!v{aruTk@jBoN#4b zf_$v8EJ*T?3beJ-@Uau9wXsgb;XQP``bf+zr%+7g@KGXm-$sSSrScs!V3`WH^+x&Q zmG|lS3i91_nQ%*;j$Glv^vLT#dypPp6AF|3{`Kb~l*yI@$Q5&OR?cNa0lB>=IvtP? z_b`y8hk~6u=)fQ`g_`Sh#oRaC-ri0wkw zYopw=`^16YR_6;c-UK;)11(tqgUN?X6(7E{Gbhe7$^>jx0KA=pN4|=>A8}7fa~NU7 zkWhPzrV7fM|E*~;iDB}M7GMQGeSE9@es_3Y%8C{7-*Eo9XUXd;E)Bh0<$>^h$V2=0>F+s2psKqw{_mk$0B@bO3U^+v zl&zhqPr4N+xG&g+9nD!iRJJs8X)$w+Bb?Wzx z-Vvwcwd-~e&q#{}0A8OpZ^cfarprCZ;Tn%oF{jo0DiR@=6`D;8h+DH!tFFCbCS}6{ z>;$|Wbhv2q(d?L66W<#(dMx#Jig|#}6Z_cyZOIKe@&18NB8X*)eOf>&NA_9;hU~mN zl^!rwK)WFS@o=#_*Ufa!TJ?`Ob&=BIEYd&H8SbZ}J1DjIzeY~HNL7xg}Y010- zjB9g-h`7v=>aQra>#q7-(Uut;dreAypWk@!%{T;woUzpZC&*ljEOznGP5&AXV6Lutu^Y+(e-(K<#8u z^FcoF-tIm0dew&-UjxbfLGOIzL&0Uyn#l`oqS!2uQr{&4GlP8QxE)=20GW>o&efi}P zaykak_)#PDOng0T*bsT%g8EKhHADW}4nbsxMkl0le6QN!nk|Zbuj)`76?x?$ z)|~&);lq6@05K$lF{VwMM!R+e4Xg}QAfIcd|s9T@*!370pq&NzSd`&J?Ca; z)5gd3dsj{!Lkkxz(VqbzMJ1o_sd)fTkuR#&<9~^%z_)ngH`n|^6j37R*8{9m z0sa2JsrGlARzQ|Px$%Sl8*R5*>Lliy2|Q5?oUM^nbObg!YclEl`9&JqS`*DaBd(ZEl!1D)2Eg&sV8L$HD-6My^GeP9c*oE?&Q;o z`sRH0M4#@LUZ2l;ri0OFRewO4WY38RYpWkvnNM30szRUc7l2-$&vLNa$-nRikzu4- tU>$<#0000EWmrjOO-%qQ00008000000002eQ Date: Sun, 5 Apr 2026 00:08:56 -0400 Subject: [PATCH 2/2] Litorosuchus, Frogs, Langobardi --- .../net/lepidodendron/EntityRegistries.java | 11 +- .../net/lepidodendron/LepidodendronMod.java | 1 + .../EntityPrehistoricFloraIberobatrachus.java | 431 +++ ...ntityPrehistoricFloraLangobardisaurus.java | 255 ++ .../EntityPrehistoricFloraLiaobatrachus.java | 431 +++ .../EntityPrehistoricFloraLitorosuchus.java | 394 +++ .../EntityPrehistoricFloraPeltobatrachus.java | 307 ++ .../entity/EntityPrehistoricFloraTadpole.java | 22 +- .../model/entity/ModelIberobatrachus.java | 2290 +++++++++++++++ .../model/entity/ModelLangobardisaurus.java | 1727 ++++++++++++ .../model/entity/ModelLiaobatrachus.java | 2342 ++++++++++++++++ .../model/entity/ModelLitorosuchus.java | 2498 +++++++++++++++++ .../model/entity/ModelPeltobatrachus.java | 2082 ++++++++++++++ .../entity/render/RenderHandler.java | 30 + .../render/entity/RenderIberobatrachus.java | 37 + .../render/entity/RenderLangobardisaurus.java | 36 + .../render/entity/RenderLiaobatrachus.java | 37 + .../render/entity/RenderLitorosuchus.java | 36 + .../render/entity/RenderPeltobatrachus.java | 36 + .../net/lepidodendron/item/ItemPhialFull.java | 5 +- .../entities/ItemEggsLangobardisaurus.java | 63 + .../item/entities/ItemEggsLitorosuchus.java | 63 + .../item/entities/ItemIberobatrachusRaw.java | 52 + .../entities/ItemLangobardisaurusRaw.java | 54 + .../item/entities/ItemLiaobatrachusRaw.java | 52 + .../item/entities/ItemLitorosuchusRaw.java | 54 + .../item/entities/ItemPeltobatrachusRaw.java | 52 + .../util/AcidBathOutputMobs.java | 5 + .../loot_tables/iberobatrachus.json | 24 + .../loot_tables/langobardisaurus.json | 24 + .../loot_tables/liaobatrachus.json | 24 + .../loot_tables/litorosuchus.json | 24 + .../loot_tables/peltobatrachus.json | 24 + .../item/entities/eggs_langobardisaurus.json | 6 + .../item/entities/eggs_litorosuchus.json | 6 + .../entities/phial_eggs_iberobatrachus.json | 6 + .../entities/phial_eggs_liaobatrachus.json | 6 + .../entities/phial_eggs_peltobatrachus.json | 6 + .../textures/entities/Iberobatrachus.png | Bin 0 -> 1204 bytes .../textures/entities/eggs_iberobatrachus.png | Bin 0 -> 4364 bytes .../entities/eggs_langobardisaurus.png | Bin 0 -> 348 bytes .../textures/entities/eggs_liaobatrachus.png | Bin 0 -> 4364 bytes .../textures/entities/eggs_litorosuchus.png | Bin 0 -> 348 bytes .../textures/entities/eggs_peltobatrachus.png | Bin 0 -> 259 bytes .../textures/entities/langobardisaurus.png | Bin 0 -> 1881 bytes .../textures/entities/liaboatrachus.png | Bin 0 -> 2480 bytes .../textures/entities/litorosuchus.png | Bin 0 -> 2382 bytes .../textures/entities/peltobatrachus.png | Bin 0 -> 2943 bytes .../items/entities/phial_iberobatrachus.png | Bin 0 -> 5294 bytes .../items/entities/phial_liaobatrachus.png | Bin 0 -> 5294 bytes .../items/entities/phial_peltobatrachus.png | Bin 0 -> 344 bytes 51 files changed, 13542 insertions(+), 11 deletions(-) create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIberobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLangobardisaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLiaobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLitorosuchus.java create mode 100644 src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPeltobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelIberobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelLangobardisaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelLiaobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelLitorosuchus.java create mode 100644 src/main/java/net/lepidodendron/entity/model/entity/ModelPeltobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderIberobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderLangobardisaurus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderLiaobatrachus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderLitorosuchus.java create mode 100644 src/main/java/net/lepidodendron/entity/render/entity/RenderPeltobatrachus.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemEggsLangobardisaurus.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemEggsLitorosuchus.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemIberobatrachusRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemLangobardisaurusRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemLiaobatrachusRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemLitorosuchusRaw.java create mode 100644 src/main/java/net/lepidodendron/item/entities/ItemPeltobatrachusRaw.java create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/iberobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/langobardisaurus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/liaobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/litorosuchus.json create mode 100644 src/main/resources/assets/lepidodendron/loot_tables/peltobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/eggs_langobardisaurus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/eggs_litorosuchus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_iberobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_liaobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_peltobatrachus.json create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/Iberobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_iberobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_langobardisaurus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_liaobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_litorosuchus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/eggs_peltobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/langobardisaurus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/liaboatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/litorosuchus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/entities/peltobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/items/entities/phial_iberobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/items/entities/phial_liaobatrachus.png create mode 100644 src/main/resources/assets/lepidodendron/textures/items/entities/phial_peltobatrachus.png diff --git a/src/main/java/net/lepidodendron/EntityRegistries.java b/src/main/java/net/lepidodendron/EntityRegistries.java index 626d24705b..57377a24fe 100644 --- a/src/main/java/net/lepidodendron/EntityRegistries.java +++ b/src/main/java/net/lepidodendron/EntityRegistries.java @@ -1475,9 +1475,10 @@ public static void registerEntities() { registerEntity("prehistoric_flora_palaeopalaemon", EntityPrehistoricFloraPalaeopalaemon.class, LepidodendronMod.ENTITY_PALAEOPALAEMON, 48,-11571611,-4998023); registerEntity("prehistoric_flora_macromyzon", EntityPrehistoricFloraMacromyzon.class, LepidodendronMod.ENTITY_MACROMYZON, 48,-9417678,-2569805); -// registerEntity("prehistoric_flora_litorosuchus", EntityPrehistoricFloraLitorosuchus.class, LepidodendronMod.ENTITY_LITOROSUCHUS, 64,-11354642,-15131876); -// registerEntity("prehistoric_flora_langobardisaurus", EntityPrehistoricFloraLangobardisaurus.class, LepidodendronMod.ENTITY_LANGOBARDISAURUS, 48,-11354642,-15131876); -// registerEntity("prehistoric_flora_eusaurosphargis", EntityPrehistoricFloraEusaurosphargis.class, LepidodendronMod.ENTITY_EUSAUROSPHARGIS, 48,-11354642,-15131876); + registerEntity("prehistoric_flora_litorosuchus", EntityPrehistoricFloraLitorosuchus.class, LepidodendronMod.ENTITY_LITOROSUCHUS, 64,-4864849,-2694958); + registerEntity("prehistoric_flora_langobardisaurus", EntityPrehistoricFloraLangobardisaurus.class, LepidodendronMod.ENTITY_LANGOBARDISAURUS, 48,-14738150,-3062752); + registerEntity("prehistoric_flora_peltobatrachus", EntityPrehistoricFloraPeltobatrachus.class, LepidodendronMod.ENTITY_PELTOBATRACHUS, 48,-10790320,-15132397); + // registerEntity("prehistoric_flora_eusaurosphargis", EntityPrehistoricFloraEusaurosphargis.class, LepidodendronMod.ENTITY_EUSAUROSPHARGIS, 48,-11354642,-15131876); registerEntity("prehistoric_flora_tremataspis", EntityPrehistoricFloraTremataspis.class, LepidodendronMod.ENTITY_TREMATASPIS, 48,-6975093,-5530509); registerEntity("prehistoric_flora_cratosirex", EntityPrehistoricFloraCratosirex.class, LepidodendronMod.ENTITY_CRATOSIREX, 48,-3032472,-15527150); registerEntity("prehistoric_flora_rafaeliana", EntityPrehistoricFloraRafaeliana.class, LepidodendronMod.ENTITY_RAFAELIANA, 48,-1075077,-14214120); @@ -1498,8 +1499,8 @@ public static void registerEntities() { // registerEntity("prehistoric_flora_abyssosaurus", EntityPrehistoricFloraAbyssosaurus.class, LepidodendronMod.ENTITY_ABYSSOSAURUS, 128,-11354642,-15131876); // registerEntity("prehistoric_flora_phuwiangvenator", EntityPrehistoricFloraPhuwiangvenator.class, LepidodendronMod.ENTITY_PHUWIANGVENATOR, 84,-11354642,-15131876); // registerEntity("prehistoric_flora_neovenator", EntityPrehistoricFloraNeovenator.class, LepidodendronMod.ENTITY_NEOVENATOR, 84,-11354642,-15131876); -// registerEntity("prehistoric_flora_iberobatrachus", EntityPrehistoricFloraIberobatrachus.class, LepidodendronMod.ENTITY_IBEROBATRACHUS, 48,-11354642,-15131876); -// registerEntity("prehistoric_flora_liaobatrachus", EntityPrehistoricFloraLiaobatrachus.class, LepidodendronMod.ENTITY_LIAOBATRACHUS, 48,-11354642,-15131876); + registerEntity("prehistoric_flora_iberobatrachus", EntityPrehistoricFloraIberobatrachus.class, LepidodendronMod.ENTITY_IBEROBATRACHUS, 48,-2045849,-2393268); + registerEntity("prehistoric_flora_liaobatrachus", EntityPrehistoricFloraLiaobatrachus.class, LepidodendronMod.ENTITY_LIAOBATRACHUS, 48,-8941134,-5014960); // registerEntity("prehistoric_flora_varanosuchus", EntityPrehistoricFloraVaranosuchus.class, LepidodendronMod.ENTITY_VARANOSUCHUS, 64,-11354642,-15131876); // registerEntity("prehistoric_flora_susisuchus", EntityPrehistoricFloraSusisuchus.class, LepidodendronMod.ENTITY_SUSISUCHUS, 48,-11354642,-15131876); // registerEntity("prehistoric_flora_bernissartia", EntityPrehistoricFloraBernissartia.class, LepidodendronMod.ENTITY_BERNISSARTIA, 48,-11354642,-15131876); diff --git a/src/main/java/net/lepidodendron/LepidodendronMod.java b/src/main/java/net/lepidodendron/LepidodendronMod.java index 86d3badfa9..a54efb0251 100644 --- a/src/main/java/net/lepidodendron/LepidodendronMod.java +++ b/src/main/java/net/lepidodendron/LepidodendronMod.java @@ -3592,6 +3592,7 @@ public class LepidodendronMod { public static final ResourceLocation PETROLACOSAURUS_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/petrolacosaurus")); static final int ENTITY_TUDITANUS = 1474; static final int ENTITY_PELTOBATRACHUS = 1475; + public static final ResourceLocation PELTOBATRACHUS_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/peltobatrachus")); static final int ENTITY_GAIASIA = 1476; public static final ResourceLocation GAIASIA_LOOT = LootTableList.register(new ResourceLocation(LepidodendronMod.MODID, "entity/gaiasia")); static final int ENTITY_XINJIANGTITAN = 1477; diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIberobatrachus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIberobatrachus.java new file mode 100644 index 0000000000..97b1ccea7b --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraIberobatrachus.java @@ -0,0 +1,431 @@ + +package net.lepidodendron.entity; + +import com.google.common.base.Predicate; +import net.ilexiconn.llibrary.server.animation.Animation; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronConfig; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraFishBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraSwimmingAmphibianBase; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.entity.util.IWaterSurfaceEggsAmphibian; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.*; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.World; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraIberobatrachus extends EntityPrehistoricFloraSwimmingAmphibianBase implements ITrappableWater, ITrappableLand, IAdvancementGranter, IWaterSurfaceEggsAmphibian { + + public BlockPos currentTarget; + public Animation STAND_ANIMATION;//blink animation + public Animation JUMP_ANIMATION; + private Animation currentAnimation; + private int animationTick; + private Animation animation = NO_ANIMATION; + public int jumpCooldown; + public int walkCooldown; + private int standCooldown; + public int ambientSoundTime; + public boolean isWalking = false; + + public EntityPrehistoricFloraIberobatrachus(World world) { + super(world); + setSize(0.15F, 0.20F); + minWidth = 0.12F; + maxWidth = 0.15F; + maxHeight = 0.20F; + maxHealthAgeable = 2.0D; + STAND_ANIMATION = Animation.create(14); + JUMP_ANIMATION = Animation.create(this.getJumpLength()); + } + + public int getJumpLength() { + return 17; + } + + //TODO OTHER ANIMS: STAND_ANIMATION = Relax, IDLE1 = Scratch, A_GRAZE = Arboreal Graze, GRAZE = Graze, DRINK = Drink, NOISE = Call, NOISE2 = Call1Variant, ROAR = Call2 + @Override + public Animation[] getAnimations() { + return new Animation[]{ATTACK_ANIMATION, ROAR_ANIMATION, LAY_ANIMATION, STAND_ANIMATION, JUMP_ANIMATION}; + } + + @Override + public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) { + livingdata = super.onInitialSpawn(difficulty, livingdata); + this.standCooldown = rand.nextInt(2000); + this.jumpCooldown = 0; + this.walkCooldown = (rand.nextInt(800)); + return livingdata; + } + @Override + public int getRoarLength() { + return 20; + } + + @Override + public int getEggType(@Nullable String variantIn) { + return 47; //Surface spawn + } + + @Override + public int getAnimationTick() { + return animationTick; + } + + @Override + public void setAnimationTick(int tick) { + animationTick = tick; + } + + @Override + public int getAttackLength() { + return 20; + } + + @Override + public boolean isSmall() { + return true; + } + + public static String getPeriod() {return "Early Cretaceous";} + + //public static String getHabitat() {return "Amphibious";} + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean hasNest() { + return false; + } + + @Override + public boolean laysEggs() { + return false; + } + + protected float getAISpeedSwimmingAmphibian() { + //return 0; + float calcSpeed = 0.15F; + if (this.isReallyInWater()) { + calcSpeed= 0.185f; + } + if ( this.getAnimation() == ROAR_ANIMATION) { + return 0.0F; + } + if (this.getTicks() < 0) { + return 0.0F; //Is laying eggs + } + //this is needed to control the distance of the jump, higher number = larger blocks jumped + if (!this.isWalking && (!this.isReallyInWater())) { + calcSpeed = 0.3F; + } + if(this.getIsFast()){ + calcSpeed *=1.4F; + } + return Math.min(1F, (this.getAgeScale() * 2F)) * calcSpeed; + } + + //start of the methods needed for jump + + //Collision check causes the mob to jump when it is collided with + @Override + protected void collideWithEntity(Entity entityIn) { + super.collideWithEntity(entityIn); + if(this.getIsMoving() && (!this.isJumping) && this.onGround && !this.isReallyInWater()){ + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + + } + + //control jump height + protected void jumpPN() + { + this.motionY = (double)this.getJumpUpwardsMotion()*0.3f; //edit this to be a diff value + this.isAirBorne = true; + } + + @Override + public String getEntityId(Entity entity) { + return "lepidodendron:prehistoric_flora_tadpole@iberobatrachus"; + } + + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 11 && this.getAttackTarget() != null) { + launchAttack(); + } + + //is walking, decrease jumping cooldown + if(this.jumpCooldown > 0 && this.isWalking) { + this.jumpCooldown--; + } + + //is jumping, decrease walking cooldown + if(this.walkCooldown > 0 && !this.isWalking) { + this.walkCooldown--; + } + + //switch to jumping + if(this.getIsMoving() && this.onGround && !this.isReallyInWater() && this.getAnimation() != JUMP_ANIMATION && !this.isWalking){ + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + + //switch to walking if currently in jump mode + if(this.walkCooldown <= 0 && this.jumpCooldown <=0 && !this.isWalking && !this.world.isRemote) { + this.jumpCooldown = rand.nextInt(1000); + this.isWalking = true; + this.getNavigator().clearPath(); + } + //switch to jumping if currently in walk mode + else if(this.walkCooldown <= 0 && this.jumpCooldown <=0 && this.isWalking && !this.world.isRemote) { + this.walkCooldown = rand.nextInt(800); + this.isWalking = false; + this.getNavigator().clearPath(); + } + + if (this.standCooldown > 0) { + this.standCooldown -= rand.nextInt(3) + 1; + } + if (this.standCooldown < 0) { + this.standCooldown = 0; + } + + //System.err.println("this.getMateable() " + this.getMateable() + " inPFLove " + this.inPFLove); + + AnimationHandler.INSTANCE.updateAnimations(this); + + } + + //this causes the mob to jump away if attacked, with a lower cooldown to next jump + @Override + public boolean attackEntityFrom(DamageSource ds, float i) { + Entity e = ds.getTrueSource(); + if (e instanceof EntityLivingBase && this.getAnimation() != JUMP_ANIMATION) { + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + return super.attackEntityFrom(ds, i); + } + + //end methods needed for jumping + + @Override + public int getAdultAge() { + return 20000; + } + + @Override + public int WaterDist() { + int i = (int) LepidodendronConfig.waterBalanerpeton; + if (i > 16) {i = 16;} + if (i < 1) {i = 1;} + return i; + } + + public void writeEntityToNBT(NBTTagCompound compound) + { + super.writeEntityToNBT(compound); + compound.setInteger("standCooldown", this.standCooldown); + } + + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.standCooldown = compound.getInteger("standCooldown"); + } + + public AxisAlignedBB getAttackBoundingBox() { + float size = this.getRenderSizeModifier() * 0.25F; + return this.getEntityBoundingBox().grow(0.0F + size, 0.0F + size, 0.0F + size); + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new EntityTemptAI(this, 1, false, true, 0)); + tasks.addTask(2, new AttackAI(this, 1.0D, false, this.getAttackLength())); + tasks.addTask(3, new AmphibianWander(this, NO_ANIMATION, 0.025, 20)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPlayer.class, 6.0F)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPrehistoricFloraFishBase.class, 8.0F)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPrehistoricFloraAgeableBase.class, 8.0F)); + tasks.addTask(5, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + this.targetTasks.addTask(1, new HuntForDietEntityPrehistoricFloraAgeableBaseAI(this, EntityLivingBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, this.getEntityBoundingBox().getAverageEdgeLength() * 10F, this.getEntityBoundingBox().getAverageEdgeLength() * 1.2F, false)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.BUG); + } + + @Override + public boolean isAIDisabled() { + return false; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + protected boolean canTriggerWalking() { + return true; + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:iberobatrachus_idle")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:iberobatrachus_hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:iberobatrachus_death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public boolean canBreatheUnderwater() { + return true; + } + + @Override + public boolean getCanSpawnHere() { + return this.posY < (double) this.world.getSeaLevel() && this.isInWater(); + } + + public boolean isNotColliding() { + return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this); + } + + @Override + public boolean isOnLadder() { + return false; + } + + + + public int getAmbientTalkInterval() { + return 160; + } + + @Override + public void onEntityUpdate() { + + super.onEntityUpdate(); + if (this.isEntityAlive() && this.rand.nextInt(1000) < this.ambientSoundTime++ && !this.world.isRemote) + { + //random idle animations + if ((!this.world.isRemote) && this.getEatTarget() == null && this.getAttackTarget() == null && this.getRevengeTarget() == null + && !this.getIsMoving() && this.getAnimation() == NO_ANIMATION && standCooldown == 0) { + int next = rand.nextInt(10); + this.setAnimation(STAND_ANIMATION); + this.standCooldown = 100; + } + if ((!this.world.isRemote) && this.getAnimation() == STAND_ANIMATION && this.getAnimationTick() == STAND_ANIMATION.getDuration() - 1) { + this.standCooldown = 100; + this.setAnimation(NO_ANIMATION); + } + } + + } + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.IBEROBATRACHUS_LOOT; + } + + //Rendering taxidermy: + //-------------------- +// public static double offsetWall(@Nullable String variant) {return -0.45;} +// public static double upperfrontverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double upperbackverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double upperfrontlineoffset(@Nullable String variant) {return 0.0;} +// public static double upperfrontlineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double upperbacklineoffset(@Nullable String variant) {return 0.0;} +// public static double upperbacklineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double lowerfrontverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double lowerbackverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double lowerfrontlineoffset(@Nullable String variant) {return 0.0;} +// public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double lowerbacklineoffset(@Nullable String variant) {return 0.0;} +// public static double lowerbacklineoffsetperpendiular(@Nullable String variant) {return -0.0;} +// @SideOnly(Side.CLIENT) +// public static ResourceLocation textureDisplay(@Nullable String variant) {return RenderTriadobatrachus.TEXTURE;} +// @SideOnly(Side.CLIENT) +// public static ModelBase modelDisplay(@Nullable String variant) {return RenderDisplays.modelTriadobatrachus;} +// public static float getScaler(@Nullable String variant) {return RenderTriadobatrachus.getScaler();} +// public static float widthSupport(@Nullable String variant) {return 0.04F;} + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_IBEROBATRACHUS; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLangobardisaurus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLangobardisaurus.java new file mode 100644 index 0000000000..ebc9a2292e --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLangobardisaurus.java @@ -0,0 +1,255 @@ + +package net.lepidodendron.entity; + +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraLandBase; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraLangobardisaurus extends EntityPrehistoricFloraLandBase implements ITrappableLand, IAdvancementGranter { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer tailBuffer; + + public EntityPrehistoricFloraLangobardisaurus(World world) { + super(world); + setSize(0.46F, 0.55F); + minWidth = 0.10F; + maxWidth = 0.3F; + maxHeight = 0.3F; + maxHealthAgeable = 8.0D; + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(120, 5, 5F, this); + } + } + + @Override + public boolean placesNest() { + return true; + } + + @Override + public boolean isNestMound() { + return true; + } + + public boolean testLay(World world, BlockPos pos) { + return ( + nestBlockMatch(world, pos) + ); + } + + @Override + public int getEatLength() { + return 20; + } + + public static String getPeriod() {return "Triassic";} + + //public static String getHabitat() {return "Terrestrial Synapsid";} + + @Override + public boolean hasNest() { + return true; + } + + @Override + public int getAttackLength() { + return 20; + } + + @Override + public String getTexture() { + return this.getTexture(); + } + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean laysEggs() { + return true; + } + + public float getAISpeedLand() { + float speedBase = 0.26F; + if (this.getTicks() < 0) { + return 0.0F; //Is laying eggs + } + if (this.getIsFast()) { + speedBase = speedBase * 1.67F; + } + return speedBase; + } + + @Override + public int getTalkInterval() { + return 180; + } + + @Override + public int getAdultAge() { + return 48000; + } + + public AxisAlignedBB getAttackBoundingBox() { + float size = this.getRenderSizeModifier() * 0.25F; + return this.getEntityBoundingBox().grow(1.0F + size, 1.0F + size, 1.0F + size); + } + + @Override + public float getEyeHeight() + { + return Math.max(super.getEyeHeight(), this.height * 1.05F); + } + + @Override + public float getSwimHeight() { + return this.height * 0.75F; + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new EntityTemptAI(this, 1, false, true, 0)); + tasks.addTask(2, new LandEntitySwimmingAI(this, 0.75, false)); + tasks.addTask(3, new AttackAI(this, 1.6D, false, this.getAttackLength())); + tasks.addTask(4, new AvoidEntityPN<>(this, EntityLivingBase.class, 6.0F, true)); + tasks.addTask(5, new LandWanderNestInBlockAI(this)); + tasks.addTask(6, new LandWanderAvoidWaterAI(this, 1.0D, 45)); + tasks.addTask(7, new EntityWatchClosestAI(this, EntityPlayer.class, 6.0F)); + tasks.addTask(8, new EntityWatchClosestAI(this, EntityPrehistoricFloraAgeableBase.class, 8.0F)); + tasks.addTask(9, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1.0)); + this.targetTasks.addTask(1, new EntityHurtByTargetSmallerThanMeAI(this, false)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.BUG); + } + + + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(2.5D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:langobardisaurus_idle")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:langobardisaurus_hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:langobardisaurus_death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public boolean getCanSpawnHere() { + return this.posY < (double) this.world.getSeaLevel() && this.isInWater(); + } + + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 11 && this.getAttackTarget() != null) { + launchAttack(); + } + + AnimationHandler.INSTANCE.updateAnimations(this); + + //System.err.println("Eating: " + this.getEatTarget() + " isFast " + this.getIsFast()); + + } + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.LANGOBARDISAURUS_LOOT; + } + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_LANGOBARDISAURUS; + } +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLiaobatrachus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLiaobatrachus.java new file mode 100644 index 0000000000..2539c06003 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLiaobatrachus.java @@ -0,0 +1,431 @@ + +package net.lepidodendron.entity; + +import com.google.common.base.Predicate; +import net.ilexiconn.llibrary.server.animation.Animation; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronConfig; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraFishBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraSwimmingAmphibianBase; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.entity.util.IWaterSurfaceEggsAmphibian; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.entity.*; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.World; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraLiaobatrachus extends EntityPrehistoricFloraSwimmingAmphibianBase implements ITrappableWater, ITrappableLand, IAdvancementGranter, IWaterSurfaceEggsAmphibian { + + public BlockPos currentTarget; + public Animation STAND_ANIMATION;//blink animation + public Animation JUMP_ANIMATION; + private Animation currentAnimation; + private int animationTick; + private Animation animation = NO_ANIMATION; + public int jumpCooldown; + public int walkCooldown; + private int standCooldown; + public int ambientSoundTime; + public boolean isWalking = false; + + public EntityPrehistoricFloraLiaobatrachus(World world) { + super(world); + setSize(0.15F, 0.20F); + minWidth = 0.12F; + maxWidth = 0.15F; + maxHeight = 0.20F; + maxHealthAgeable = 2.0D; + STAND_ANIMATION = Animation.create(14); + JUMP_ANIMATION = Animation.create(this.getJumpLength()); + } + + public int getJumpLength() { + return 17; + } + + //TODO OTHER ANIMS: STAND_ANIMATION = Relax, IDLE1 = Scratch, A_GRAZE = Arboreal Graze, GRAZE = Graze, DRINK = Drink, NOISE = Call, NOISE2 = Call1Variant, ROAR = Call2 + @Override + public Animation[] getAnimations() { + return new Animation[]{ATTACK_ANIMATION, ROAR_ANIMATION, LAY_ANIMATION, STAND_ANIMATION, JUMP_ANIMATION}; + } + + @Override + public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) { + livingdata = super.onInitialSpawn(difficulty, livingdata); + this.standCooldown = rand.nextInt(2000); + this.jumpCooldown = 0; + this.walkCooldown = (rand.nextInt(800)); + return livingdata; + } + @Override + public int getRoarLength() { + return 20; + } + + @Override + public int getEggType(@Nullable String variantIn) { + return 47; //Surface spawn + } + + @Override + public int getAnimationTick() { + return animationTick; + } + + @Override + public void setAnimationTick(int tick) { + animationTick = tick; + } + + @Override + public int getAttackLength() { + return 20; + } + + @Override + public boolean isSmall() { + return true; + } + + public static String getPeriod() {return "Early Cretaceous";} + + //public static String getHabitat() {return "Amphibious";} + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean hasNest() { + return false; + } + + @Override + public boolean laysEggs() { + return false; + } + + protected float getAISpeedSwimmingAmphibian() { + //return 0; + float calcSpeed = 0.15F; + if (this.isReallyInWater()) { + calcSpeed= 0.185f; + } + if ( this.getAnimation() == ROAR_ANIMATION) { + return 0.0F; + } + if (this.getTicks() < 0) { + return 0.0F; //Is laying eggs + } + //this is needed to control the distance of the jump, higher number = larger blocks jumped + if (!this.isWalking && (!this.isReallyInWater())) { + calcSpeed = 0.3F; + } + if(this.getIsFast()){ + calcSpeed *=1.4F; + } + return Math.min(1F, (this.getAgeScale() * 2F)) * calcSpeed; + } + + //start of the methods needed for jump + + //Collision check causes the mob to jump when it is collided with + @Override + protected void collideWithEntity(Entity entityIn) { + super.collideWithEntity(entityIn); + if(this.getIsMoving() && (!this.isJumping) && this.onGround && !this.isReallyInWater()){ + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + + } + + //control jump height + protected void jumpPN() + { + this.motionY = (double)this.getJumpUpwardsMotion()*0.3f; //edit this to be a diff value + this.isAirBorne = true; + } + + @Override + public String getEntityId(Entity entity) { + return "lepidodendron:prehistoric_flora_tadpole@liaobatrachus"; + } + + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 11 && this.getAttackTarget() != null) { + launchAttack(); + } + + //is walking, decrease jumping cooldown + if(this.jumpCooldown > 0 && this.isWalking) { + this.jumpCooldown--; + } + + //is jumping, decrease walking cooldown + if(this.walkCooldown > 0 && !this.isWalking) { + this.walkCooldown--; + } + + //switch to jumping + if(this.getIsMoving() && this.onGround && !this.isReallyInWater() && this.getAnimation() != JUMP_ANIMATION && !this.isWalking){ + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + + //switch to walking if currently in jump mode + if(this.walkCooldown <= 0 && this.jumpCooldown <=0 && !this.isWalking && !this.world.isRemote) { + this.jumpCooldown = rand.nextInt(1000); + this.isWalking = true; + this.getNavigator().clearPath(); + } + //switch to jumping if currently in walk mode + else if(this.walkCooldown <= 0 && this.jumpCooldown <=0 && this.isWalking && !this.world.isRemote) { + this.walkCooldown = rand.nextInt(800); + this.isWalking = false; + this.getNavigator().clearPath(); + } + + if (this.standCooldown > 0) { + this.standCooldown -= rand.nextInt(3) + 1; + } + if (this.standCooldown < 0) { + this.standCooldown = 0; + } + + //System.err.println("this.getMateable() " + this.getMateable() + " inPFLove " + this.inPFLove); + + AnimationHandler.INSTANCE.updateAnimations(this); + + } + + //this causes the mob to jump away if attacked, with a lower cooldown to next jump + @Override + public boolean attackEntityFrom(DamageSource ds, float i) { + Entity e = ds.getTrueSource(); + if (e instanceof EntityLivingBase && this.getAnimation() != JUMP_ANIMATION) { + this.jumpPN(); + this.setAnimation(JUMP_ANIMATION); + } + return super.attackEntityFrom(ds, i); + } + + //end methods needed for jumping + + @Override + public int getAdultAge() { + return 20000; + } + + @Override + public int WaterDist() { + int i = (int) LepidodendronConfig.waterBalanerpeton; + if (i > 16) {i = 16;} + if (i < 1) {i = 1;} + return i; + } + + public void writeEntityToNBT(NBTTagCompound compound) + { + super.writeEntityToNBT(compound); + compound.setInteger("standCooldown", this.standCooldown); + } + + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.standCooldown = compound.getInteger("standCooldown"); + } + + public AxisAlignedBB getAttackBoundingBox() { + float size = this.getRenderSizeModifier() * 0.25F; + return this.getEntityBoundingBox().grow(0.0F + size, 0.0F + size, 0.0F + size); + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new EntityTemptAI(this, 1, false, true, 0)); + tasks.addTask(2, new AttackAI(this, 1.0D, false, this.getAttackLength())); + tasks.addTask(3, new AmphibianWander(this, NO_ANIMATION, 0.025, 20)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPlayer.class, 6.0F)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPrehistoricFloraFishBase.class, 8.0F)); + tasks.addTask(4, new EntityWatchClosestAI(this, EntityPrehistoricFloraAgeableBase.class, 8.0F)); + tasks.addTask(5, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + this.targetTasks.addTask(1, new HuntForDietEntityPrehistoricFloraAgeableBaseAI(this, EntityLivingBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, this.getEntityBoundingBox().getAverageEdgeLength() * 10F, this.getEntityBoundingBox().getAverageEdgeLength() * 1.2F, false)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.BUG); + } + + @Override + public boolean isAIDisabled() { + return false; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + protected boolean canTriggerWalking() { + return true; + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:hyogobatrachus_idle")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:hyogobatrachus_hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:hyogobatrachus_death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public boolean canBreatheUnderwater() { + return true; + } + + @Override + public boolean getCanSpawnHere() { + return this.posY < (double) this.world.getSeaLevel() && this.isInWater(); + } + + public boolean isNotColliding() { + return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this); + } + + @Override + public boolean isOnLadder() { + return false; + } + + + + public int getAmbientTalkInterval() { + return 160; + } + + @Override + public void onEntityUpdate() { + + super.onEntityUpdate(); + if (this.isEntityAlive() && this.rand.nextInt(1000) < this.ambientSoundTime++ && !this.world.isRemote) + { + //random idle animations + if ((!this.world.isRemote) && this.getEatTarget() == null && this.getAttackTarget() == null && this.getRevengeTarget() == null + && !this.getIsMoving() && this.getAnimation() == NO_ANIMATION && standCooldown == 0) { + int next = rand.nextInt(10); + this.setAnimation(STAND_ANIMATION); + this.standCooldown = 100; + } + if ((!this.world.isRemote) && this.getAnimation() == STAND_ANIMATION && this.getAnimationTick() == STAND_ANIMATION.getDuration() - 1) { + this.standCooldown = 100; + this.setAnimation(NO_ANIMATION); + } + } + + } + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.LIAOBATRACHUS_LOOT; + } + + //Rendering taxidermy: + //-------------------- +// public static double offsetWall(@Nullable String variant) {return -0.45;} +// public static double upperfrontverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double upperbackverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double upperfrontlineoffset(@Nullable String variant) {return 0.0;} +// public static double upperfrontlineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double upperbacklineoffset(@Nullable String variant) {return 0.0;} +// public static double upperbacklineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double lowerfrontverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double lowerbackverticallinedepth(@Nullable String variant) {return 0.0;} +// public static double lowerfrontlineoffset(@Nullable String variant) {return 0.0;} +// public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) {return 0.0;} +// public static double lowerbacklineoffset(@Nullable String variant) {return 0.0;} +// public static double lowerbacklineoffsetperpendiular(@Nullable String variant) {return -0.0;} +// @SideOnly(Side.CLIENT) +// public static ResourceLocation textureDisplay(@Nullable String variant) {return RenderTriadobatrachus.TEXTURE;} +// @SideOnly(Side.CLIENT) +// public static ModelBase modelDisplay(@Nullable String variant) {return RenderDisplays.modelTriadobatrachus;} +// public static float getScaler(@Nullable String variant) {return RenderTriadobatrachus.getScaler();} +// public static float widthSupport(@Nullable String variant) {return 0.04F;} + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_LIAOBATRACHUS; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLitorosuchus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLitorosuchus.java new file mode 100644 index 0000000000..f0d135bb27 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraLitorosuchus.java @@ -0,0 +1,394 @@ + +package net.lepidodendron.entity; + +import com.google.common.base.Predicate; +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.Animation; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraFishBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraSwimmingAmphibianBase; +import net.lepidodendron.entity.render.entity.RenderQianosuchus; +import net.lepidodendron.entity.render.tile.RenderDisplays; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.entity.util.ITrappableWater; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.client.model.ModelBase; +import net.minecraft.entity.*; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraLitorosuchus extends EntityPrehistoricFloraSwimmingAmphibianBase implements IAdvancementGranter, ITrappableWater, ITrappableLand { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer tailBuffer; + public Animation EAT_ANIMATION; + public Animation STAND_ANIMATION; + private int standCooldown; + + public EntityPrehistoricFloraLitorosuchus(World world) { + super(world); + setSize(0.8F, 0.85F); + minWidth = 0.1F; + maxWidth = 0.5F; + maxHeight = 0.4F; + maxHealthAgeable = 18.0D; + EAT_ANIMATION = Animation.create(20); + STAND_ANIMATION = Animation.create(20); + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(120, 10, 5F, this); + } + } + + @Override + public int getRoarLength() { + return 20; + } + + @Override + public Animation[] getAnimations() { + return new Animation[]{ATTACK_ANIMATION, ROAR_ANIMATION, LAY_ANIMATION, EAT_ANIMATION, MAKE_NEST_ANIMATION, STAND_ANIMATION}; + } + + @Override + public boolean isSmall() { + return getAgeScale() < 0.50; + } + + + public static String getPeriod() { + return "Triassic"; + } + + //public static String getHabitat() { + // return "Amphibious Archosauromorph Reptile"; + //} + + @Override + public boolean hasNest() { + return true; + } + + @Override + public boolean breathesAir() { + return true; + } + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean laysEggs() { + return true; + } + + @Override + public boolean placesNest() { + return true; + } + + @Override + public boolean isNestMound() { + return true; + } + + protected float getAISpeedSwimmingAmphibian() { + float calcSpeed = 0.16F; + if (this.isReallyInWater()) { + calcSpeed = 0.275f; + } + //Lemon - here is the fast stuff, if we get animations: + if (this.getIsFast()) { + calcSpeed = calcSpeed * 1.7F; + } + if (this.getTicks() < 0) { + return 0.0F; //Is laying eggs + } + if (this.getAnimation() == MAKE_NEST_ANIMATION || this.getAnimation() == STAND_ANIMATION) { + return 0.0F; + } + //System.err.println("Speed " + (Math.min(1F, (this.getAgeScale() * 2F)) * calcSpeed)); + return Math.min(1F, (this.getAgeScale() * 2F)) * calcSpeed; + } + + @Override + public void eatItem(ItemStack stack) { + if (stack != null && stack.getItem() != null) { + float itemHealth = 0.5F; //Default minimal nutrition + if (stack.getItem() instanceof ItemFood) { + itemHealth = ((ItemFood) stack.getItem()).getHealAmount(stack); + } + this.setHealth(Math.min(this.getHealth() + itemHealth, (float) this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).getBaseValue())); + stack.shrink(1); + if (this.getAnimation() == NO_ANIMATION && !world.isRemote) { + this.setAnimation(EAT_ANIMATION); + SoundEvent soundevent = SoundEvents.ENTITY_GENERIC_EAT; + this.getEntityWorld().playSound(null, this.getPosition(), soundevent, SoundCategory.BLOCKS, 1.0F, 1.0F); + } + } + } + + @Override + public int getAdultAge() { + return 64000; + } + + @Override + public int WaterDist() { + return 0; + } + + @Override + public boolean isNearWater(Entity e, BlockPos pos) { + return true; + } + + public AxisAlignedBB getAttackBoundingBox() { + float size = this.getRenderSizeModifier() * 0.25F; + return this.getEntityBoundingBox().grow(1.0F + size, 1.0F + size, 1.0F + size); + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new EntityTemptAI(this, 1, false, true, 1F)); + tasks.addTask(2, new AttackAI(this, 1.0D, false, this.getAttackLength())); + tasks.addTask(3, new AmphibianWanderNestInBlockAI(this)); + tasks.addTask(4, new AmphibianWanderNotBound(this, NO_ANIMATION, 0.7, 90)); + tasks.addTask(5, new EntityWatchClosestAI(this, EntityPlayer.class, 6.0F)); + tasks.addTask(5, new EntityWatchClosestAI(this, EntityPrehistoricFloraFishBase.class, 8.0F)); + tasks.addTask(5, new EntityWatchClosestAI(this, EntityPrehistoricFloraAgeableBase.class, 8.0F)); + tasks.addTask(6, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); +// this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + this.targetTasks.addTask(1, new EntityHurtByTargetSmallerThanMeAI(this, false)); + this.targetTasks.addTask(2, new HuntPlayerAlwaysAI(this, EntityPlayer.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); + this.targetTasks.addTask(3, new HuntForDietEntityPrehistoricFloraAgeableBaseAI(this, EntityLivingBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0.1F, 1.2F, false)); +// this.targetTasks.addTask(3, new HuntAI(this, EntityPrehistoricFloraFishBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase)); +// this.targetTasks.addTask(4, new HuntSmallerThanMeAIAgeable(this, EntityPrehistoricFloraAgeableFishBase.class, true, (Predicate) entity -> entity instanceof EntityLivingBase, 0)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.MEAT, DietString.FISH); + } + + @Override + public boolean isAIDisabled() { + return false; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(6.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + protected boolean canTriggerWalking() { + return true; + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:vancleavea_idle")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:vancleavea_hurt")); + } + + //@Override + //public SoundEvent getHurtSound(DamageSource ds) { + // return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.hurt")); + //} + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:vancleavea_death")); + } + + //@Override + //public SoundEvent getDeathSound() { + // return (SoundEvent) SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.death")); + //} + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public boolean canBreatheUnderwater() { + return true; + } + + @Override + public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty, @Nullable IEntityLivingData livingdata) { + livingdata = super.onInitialSpawn(difficulty, livingdata); + this.standCooldown = rand.nextInt(2000); + return livingdata; + } + + public void writeEntityToNBT(NBTTagCompound compound) + { + super.writeEntityToNBT(compound); + compound.setInteger("standCooldown", this.standCooldown); + } + + public void readEntityFromNBT(NBTTagCompound compound) { + super.readEntityFromNBT(compound); + this.standCooldown = compound.getInteger("standCooldown"); + } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 11 && this.getAttackTarget() != null) { + launchAttack(); + } + + if (this.standCooldown > 0) { + this.standCooldown -= rand.nextInt(3) + 1; + } + if (this.standCooldown < 0) { + this.standCooldown = 0; + } + AnimationHandler.INSTANCE.updateAnimations(this); + + //System.err.println("Eating: " + this.getEatTarget() + " isFast " + this.getIsFast()); + + } + + @Override + public void onEntityUpdate() { + super.onEntityUpdate(); + + //Sometimes stand up and look around: + if ((!this.world.isRemote) && this.getEatTarget() == null && this.getAttackTarget() == null && this.getRevengeTarget() == null && this.getAlarmTarget() == null + && !this.getIsMoving() && this.getAnimation() == NO_ANIMATION && standCooldown == 0) { + this.setAnimation(STAND_ANIMATION); + this.standCooldown = 2000; + } + //forces animation to return to base pose by grabbing the last tick and setting it to that. + if ((!this.world.isRemote) && this.getAnimation() == STAND_ANIMATION + && (this.getAnimationTick() == STAND_ANIMATION.getDuration() - 1) || this.isReallyInWater()) { + this.standCooldown = 2000; + this.setAnimation(NO_ANIMATION); + } + + } + + @Override + public boolean getCanSpawnHere() { + return this.posY < (double) this.world.getSeaLevel() && this.isInWater(); + } + + public boolean isNotColliding() { + return this.world.checkNoEntityCollision(this.getEntityBoundingBox(), this); + } + + + @Override + public boolean isOnLadder() { + return false; + } + + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + public boolean testLay(World world, BlockPos pos) { + return ( + nestBlockMatch(world, pos) + ); + } + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_LITOROSUCHUS; + } + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.LITOROSUCHUS_LOOT; + } + //Rendering taxidermy: + //-------------------- + public static double offsetWall(@Nullable String variant) {return -0.45;} + public static double upperfrontverticallinedepth(@Nullable String variant) {return 0.7;} + public static double upperbackverticallinedepth(@Nullable String variant) {return 0.5;} + public static double upperfrontlineoffset(@Nullable String variant) {return 0.17;} + public static double upperfrontlineoffsetperpendiular(@Nullable String variant) {return -0.5;} + public static double upperbacklineoffset(@Nullable String variant) {return 0.0;} + public static double upperbacklineoffsetperpendiular(@Nullable String variant) {return 0.5;} + public static double lowerfrontverticallinedepth(@Nullable String variant) {return 0.5;} + public static double lowerbackverticallinedepth(@Nullable String variant) {return 0.5;} + public static double lowerfrontlineoffset(@Nullable String variant) {return 0.0;} + public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) {return 0.5;} + public static double lowerbacklineoffset(@Nullable String variant) {return -0.04;} + public static double lowerbacklineoffsetperpendiular(@Nullable String variant) {return -0.3;} + + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPeltobatrachus.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPeltobatrachus.java new file mode 100644 index 0000000000..05c91eba4a --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraPeltobatrachus.java @@ -0,0 +1,307 @@ + +package net.lepidodendron.entity; + +import net.ilexiconn.llibrary.client.model.tools.ChainBuffer; +import net.ilexiconn.llibrary.server.animation.AnimationHandler; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.block.base.IAdvancementGranter; +import net.lepidodendron.entity.ai.*; +import net.lepidodendron.entity.base.EntityPrehistoricFloraAgeableBase; +import net.lepidodendron.entity.base.EntityPrehistoricFloraLandBase; +import net.lepidodendron.entity.render.entity.RenderDiadectes; +import net.lepidodendron.entity.render.tile.RenderDisplays; +import net.lepidodendron.entity.util.ITrappableLand; +import net.lepidodendron.util.CustomTrigger; +import net.lepidodendron.util.EggLayingConditions; +import net.lepidodendron.util.ModTriggers; +import net.minecraft.block.BlockDirectional; +import net.minecraft.block.properties.PropertyDirection; +import net.minecraft.client.model.ModelBase; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import net.minecraftforge.fml.common.FMLCommonHandler; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import org.apache.commons.lang3.ArrayUtils; + +import javax.annotation.Nullable; + +public class EntityPrehistoricFloraPeltobatrachus extends EntityPrehistoricFloraLandBase implements IAdvancementGranter, ITrappableLand { + + public BlockPos currentTarget; + @SideOnly(Side.CLIENT) + public ChainBuffer tailBuffer; + + public EntityPrehistoricFloraPeltobatrachus(World world) { + super(world); + setSize(1.1F, 1.1F); + minWidth = 0.2F; + maxWidth = 0.7F; + maxHeight = 0.3F; + maxHealthAgeable = 9.0D; + if (FMLCommonHandler.instance().getSide().isClient()) { + tailBuffer = new ChainBuffer(); + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + if (world.isRemote && !this.isAIDisabled()) { + tailBuffer.calculateChainSwingBuffer(120, 10, 5F, this); + } + } + + @Override + public int getEggType(@Nullable String variantIn) { + return 47; //surface spawn + } + + public static String getPeriod() {return "Permian";} + + //public static String getHabitat() {return "Terrestrial Diadectomorph";} + + @Override + public boolean hasNest() { + return false; + } + + @Override + public String getTexture() { + return this.getTexture(); + } + + @Override + public boolean dropsEggs() { + return false; + } + + @Override + public boolean laysEggs() { + return false; + } + + public float getAISpeedLand() { + float speedBase = 0.285F; + if (this.getTicks() < 0) { + return 0.0F; //Is laying eggs + } + if (this.getAnimation() == DRINK_ANIMATION || this.getAnimation() == MAKE_NEST_ANIMATION) { + return 0.0F; + } + if (this.getIsFast()) { + speedBase = speedBase * 1.46F; + } + return speedBase; + } + + @Override + public int getTalkInterval() { + return 100; + } + + @Override + public int getAdultAge() { + return 72000; + } + + public AxisAlignedBB getAttackBoundingBox() { + float size = this.getRenderSizeModifier() * 0.25F; + return this.getEntityBoundingBox().grow(1.0F + size, 1.0F + size, 1.0F + size); + } + + @Override + public float getEyeHeight() + { + return Math.max(super.getEyeHeight(), this.height * 1.05F); + } + + public int getAttackLength() { + return 15; + } + + @Override + public int getRoarLength() { + return 30; + } + + @Override + public int getEatLength() { + return 20; + } + + protected void initEntityAI() { + tasks.addTask(0, new EntityMateAIAgeableBase(this, 1.0D)); + tasks.addTask(1, new EntityTemptAI(this, 1, false, false, 0)); + tasks.addTask(2, new LandEntitySwimmingAI(this, 0.75, false)); + tasks.addTask(3, new AttackAI(this, 1.6D, false, this.getAttackLength())); + tasks.addTask(4, new PanicAI(this, 1.0)); + tasks.addTask(5, new LandWanderLayInWater(this)); + tasks.addTask(6, new LandWanderFollowParent(this, 1.05D)); + tasks.addTask(7, new LandWanderAvoidWaterAI(this, 1.0D, 60)); + tasks.addTask(8, new EntityWatchClosestAI(this, EntityPlayer.class, 6.0F)); + tasks.addTask(9, new EntityWatchClosestAI(this, EntityPrehistoricFloraAgeableBase.class, 8.0F)); + tasks.addTask(10, new EntityLookIdleAI(this)); + this.targetTasks.addTask(0, new EatItemsEntityPrehistoricFloraAgeableBaseAI(this, 1)); + } + + @Override + public String[] getFoodOreDicts() { + return ArrayUtils.addAll(DietString.PLANTS, DietString.ALGAE); + } + + @Override + public boolean panics() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + protected boolean canDespawn() { + return false; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE); + this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.0D); + this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D); + } + + @Override + public SoundEvent getAmbientSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:diadectes_idle")); + } + + @Override + public SoundEvent getHurtSound(DamageSource ds) { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:diadectes_hurt")); + } + + @Override + public SoundEvent getDeathSound() { + return (SoundEvent) SoundEvent.REGISTRY + .getObject(new ResourceLocation("lepidodendron:diadectes_death")); + } + + @Override + protected float getSoundVolume() { + return 1.0F; + } + + @Override + public boolean getCanSpawnHere() { + return this.posY < (double) this.world.getSeaLevel() && this.isInWater(); + } + + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + //this.renderYawOffset = this.rotationYaw; + + if (this.getAnimation() == ATTACK_ANIMATION && this.getAnimationTick() == 11 && this.getAttackTarget() != null) { + launchAttack(); + } + + AnimationHandler.INSTANCE.updateAnimations(this); + + } + + public static final PropertyDirection FACING = BlockDirectional.FACING; + + @Override + public boolean attackEntityAsMob(Entity entity) { + if (this.getAnimation() == NO_ANIMATION) { + this.setAnimation(ATTACK_ANIMATION); + //System.err.println("set attack"); + } + return false; + } + + public void onEntityUpdate() + { + super.onEntityUpdate(); + + //Lay eggs perhaps: + EggLayingConditions.layWaterSurfaceEggs(this); + + } + + public boolean isDirectPathBetweenPoints(Vec3d vec1, Vec3d vec2) { + RayTraceResult movingobjectposition = this.world.rayTraceBlocks(vec1, new Vec3d(vec2.x, vec2.y, vec2.z), false, true, false); + return movingobjectposition == null || movingobjectposition.typeOfHit != RayTraceResult.Type.BLOCK; + } + + @Nullable + protected ResourceLocation getLootTable() { + return LepidodendronMod.PELTOBATRACHUS_LOOT; + } + + //Rendering taxidermy: + //-------------------- + public static double offsetWall(@Nullable String variant) { + return 0.0; + } + public static double upperfrontverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double upperbackverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double upperfrontlineoffset(@Nullable String variant) { + return 0.0; + } + public static double upperfrontlineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double upperbacklineoffset(@Nullable String variant) { + return 0.0; + } + public static double upperbacklineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double lowerbackverticallinedepth(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontlineoffset(@Nullable String variant) { + return 0.0; + } + public static double lowerfrontlineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + public static double lowerbacklineoffset(@Nullable String variant) { + return 0.0; + } + public static double lowerbacklineoffsetperpendiular(@Nullable String variant) { + return 0.0; + } + + @Nullable + @Override + public CustomTrigger getModTrigger() { + return ModTriggers.CLICK_PELTOBATRACHUS; + } + + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTadpole.java b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTadpole.java index dc87e93a6f..b50e1f0d66 100644 --- a/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTadpole.java +++ b/src/main/java/net/lepidodendron/entity/EntityPrehistoricFloraTadpole.java @@ -33,6 +33,8 @@ public class EntityPrehistoricFloraTadpole extends EntityPrehistoricFloraAgeable private static final float[] HYOGOBATRACHUS_SIZE = new float[]{0.2F, 0.2F}; private static final float[] KURURUBATRACHUS_SIZE = new float[]{0.2F, 0.2F}; private static final float[] GENIBATRACHUS_SIZE = new float[]{0.2F, 0.2F}; + private static final float[] IBEROBATRACHUS_SIZE = new float[]{0.2F, 0.2F}; + private static final float[] LIAOBATRACHUS_SIZE = new float[]{0.2F, 0.2F}; private static final DataParameter TADPOLE_TYPE = EntityDataManager.createKey(EntityPrehistoricFloraTadpole.class, DataSerializers.VARINT); @@ -71,7 +73,9 @@ public enum Type RHADINOSTEUS(4, "rhadinosteus"), HYOGOBATRACHUS(5, "hyogobatrachus"), GENIBATRACHUS(6, "genibatrachus"), - KURURUBATRACHUS(7, "kururubatrachus") + KURURUBATRACHUS(7, "kururubatrachus"), + IBEROBATRACHUS(8, "iberobatrachus"), + LIAOBATRACHUS(9, "liaobatrachus"), ; private final String name; @@ -135,10 +139,14 @@ public float[] getHitBoxSize() { return RHADINOSTEUS_SIZE; case HYOGOBATRACHUS: return HYOGOBATRACHUS_SIZE; - case KURURUBATRACHUS: - return KURURUBATRACHUS_SIZE; + case KURURUBATRACHUS: + return KURURUBATRACHUS_SIZE; case GENIBATRACHUS: return GENIBATRACHUS_SIZE; + case LIAOBATRACHUS: + return LIAOBATRACHUS_SIZE; + case IBEROBATRACHUS: + return IBEROBATRACHUS_SIZE; } } @@ -325,10 +333,14 @@ public Class getEntityIn() { return EntityPrehistoricFloraRhadinosteus.class; case HYOGOBATRACHUS: return EntityPrehistoricFloraHyogobatrachus.class; - case KURURUBATRACHUS: - return EntityPrehistoricFloraKururubatrachus.class; + case KURURUBATRACHUS: + return EntityPrehistoricFloraKururubatrachus.class; case GENIBATRACHUS: return EntityPrehistoricFloraGenibatrachus.class; + case IBEROBATRACHUS: + return EntityPrehistoricFloraIberobatrachus.class; + case LIAOBATRACHUS: + return EntityPrehistoricFloraLiaobatrachus.class; } } diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelIberobatrachus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelIberobatrachus.java new file mode 100644 index 0000000000..9b0070673f --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelIberobatrachus.java @@ -0,0 +1,2290 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraIberobatrachus; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelIberobatrachus extends ModelBasePalaeopedia { + + private final AdvancedModelRenderer hips; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer neck; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer righteye; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer lefteye; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer lowerjaw; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer tongue; + private final AdvancedModelRenderer throat; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer rightarm; + private final AdvancedModelRenderer rightarm2; + private final AdvancedModelRenderer rightarm3; + private final AdvancedModelRenderer leftarm; + private final AdvancedModelRenderer leftarm2; + private final AdvancedModelRenderer leftarm3; + private final AdvancedModelRenderer Belly; + private final AdvancedModelRenderer rightleg; + private final AdvancedModelRenderer rightleg2; + private final AdvancedModelRenderer rightleg3; + private final AdvancedModelRenderer rightleg4; + private final AdvancedModelRenderer leftleg; + private final AdvancedModelRenderer leftleg2; + private final AdvancedModelRenderer leftleg3; + private final AdvancedModelRenderer leftleg4; + + private ModelAnimator animator; + + public ModelIberobatrachus() { + this.textureWidth = 40; + this.textureHeight = 32; + + this.hips = new AdvancedModelRenderer(this); + this.hips.setRotationPoint(0.0F, 23.75F, -2.0F); + this.setRotateAngle(hips, -0.1309F, 0.0F, 0.0F); + this.hips.cubeList.add(new ModelBox(hips, 0, 6, -1.5F, -1.9F, 0.05F, 3, 1, 4, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(0.5F, 0.0F, 5.0F); + this.hips.addChild(cube_r1); + this.setRotateAngle(cube_r1, -0.1789F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 20, 17, -1.5F, -1.75F, -4.5F, 2, 1, 3, 0.0F, false)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(-0.5F, 0.0F, 5.0F); + this.hips.addChild(cube_r2); + this.setRotateAngle(cube_r2, -0.1658F, 0.0F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 16, 24, 0.0F, -1.75F, -1.5F, 1, 1, 1, 0.0F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -1.5F, 0.5F); + this.hips.addChild(body); + this.setRotateAngle(body, 0.0436F, 0.0F, 0.0F); + this.body.cubeList.add(new ModelBox(body, 0, 17, -1.0F, -1.025F, -2.5F, 2, 2, 3, -0.01F, false)); + + this.neck = new AdvancedModelRenderer(this); + this.neck.setRotationPoint(0.0F, 0.0F, -1.55F); + this.body.addChild(neck); + this.setRotateAngle(neck, -0.1309F, 0.0F, 0.0F); + this.neck.cubeList.add(new ModelBox(neck, 20, 23, -1.0F, -0.85F, -2.55F, 2, 2, 2, 0.0F, false)); + this.neck.cubeList.add(new ModelBox(neck, 0, 27, -1.85F, -0.85F, -2.55F, 1, 2, 2, -0.02F, false)); + this.neck.cubeList.add(new ModelBox(neck, 0, 27, 0.85F, -0.85F, -2.55F, 1, 2, 2, -0.02F, true)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.0F, -0.125F, -2.25F); + this.neck.addChild(head); + this.setRotateAngle(head, 0.0873F, 0.0F, 0.0F); + this.head.cubeList.add(new ModelBox(head, 0, 11, -0.5F, -0.5F, -3.95F, 1, 1, 5, 0.01F, false)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(0.5F, 0.5F, -3.95F); + this.head.addChild(cube_r3); + this.setRotateAngle(cube_r3, 0.0F, 0.4712F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 12, 27, -0.975F, -1.0F, 0.0F, 1, 1, 2, 0.0F, true)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(0.4F, 0.5F, -2.775F); + this.head.addChild(cube_r4); + this.setRotateAngle(cube_r4, 0.0F, 0.2182F, 0.0F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 8, 24, -1.125F, -1.0F, 0.8F, 2, 1, 2, -0.01F, true)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(-0.5F, 0.5F, -3.95F); + this.head.addChild(cube_r5); + this.setRotateAngle(cube_r5, 0.0F, -0.4712F, 0.0F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 12, 27, -0.025F, -1.0F, 0.0F, 1, 1, 2, 0.0F, false)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(-0.4F, 0.5F, -2.775F); + this.head.addChild(cube_r6); + this.setRotateAngle(cube_r6, 0.0F, -0.2182F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 8, 24, -0.875F, -1.0F, 0.8F, 2, 1, 2, -0.01F, false)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(0.0F, -0.5F, -3.95F); + this.head.addChild(cube_r7); + this.setRotateAngle(cube_r7, 0.1745F, 0.0F, 0.0F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 18, 27, -0.5F, 0.0F, 0.0F, 1, 1, 2, 0.0F, false)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(0.0F, -0.825F, -2.05F); + this.head.addChild(cube_r8); + this.setRotateAngle(cube_r8, -0.0436F, 0.0F, 0.0F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 0, 24, -1.0F, -0.025F, 0.0F, 2, 1, 2, 0.0F, false)); + + this.righteye = new AdvancedModelRenderer(this); + this.righteye.setRotationPoint(-0.55F, -0.85F, -2.525F); + this.head.addChild(righteye); + this.setRotateAngle(righteye, 0.0F, -0.0436F, 0.1745F); + + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(0.0F, 0.0F, 0.0F); + this.righteye.addChild(cube_r9); + this.setRotateAngle(cube_r9, -0.0436F, -0.3491F, 0.2182F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 28, 25, -0.5043F, 0.0004F, -0.1642F, 1, 1, 1, 0.0F, false)); + + this.lefteye = new AdvancedModelRenderer(this); + this.lefteye.setRotationPoint(0.55F, -0.85F, -2.525F); + this.head.addChild(lefteye); + this.setRotateAngle(lefteye, 0.0F, 0.0436F, -0.1745F); + + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(0.0F, 0.0F, 0.0F); + this.lefteye.addChild(cube_r10); + this.setRotateAngle(cube_r10, -0.0436F, 0.3491F, -0.2182F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 28, 25, -0.4957F, 0.0004F, -0.1642F, 1, 1, 1, 0.0F, true)); + + this.lowerjaw = new AdvancedModelRenderer(this); + this.lowerjaw.setRotationPoint(0.0F, 0.55F, -0.15F); + this.head.addChild(lowerjaw); + this.setRotateAngle(lowerjaw, -0.0873F, 0.0F, 0.0F); + this.lowerjaw.cubeList.add(new ModelBox(lowerjaw, 12, 11, -0.5F, -0.45F, -3.775F, 1, 1, 5, 0.01F, false)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(0.5F, 0.55F, -3.775F); + this.lowerjaw.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.0F, 0.4538F, 0.0F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 24, 27, -0.975F, -1.0F, 0.0F, 1, 1, 2, 0.0F, true)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(0.375F, 0.55F, -2.6F); + this.lowerjaw.addChild(cube_r12); + this.setRotateAngle(cube_r12, 0.0F, 0.2182F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 26, 3, -1.125F, -1.0F, 0.8F, 2, 1, 2, -0.01F, true)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(-0.375F, 0.55F, -2.6F); + this.lowerjaw.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.0F, -0.2182F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 26, 3, -0.875F, -1.0F, 0.8F, 2, 1, 2, -0.01F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(-0.5F, 0.55F, -3.775F); + this.lowerjaw.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.0F, -0.4538F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 24, 27, -0.025F, -1.0F, 0.0F, 1, 1, 2, 0.0F, false)); + + this.tongue = new AdvancedModelRenderer(this); + this.tongue.setRotationPoint(0.0F, -0.15F, 0.2F); + this.lowerjaw.addChild(tongue); + this.tongue.cubeList.add(new ModelBox(tongue, 6, 27, -0.5F, -0.5F, -2.0F, 1, 1, 2, 0.0F, false)); + + this.throat = new AdvancedModelRenderer(this); + this.throat.setRotationPoint(0.0F, 0.625F, -2.0F); + this.lowerjaw.addChild(throat); + this.setRotateAngle(throat, -0.2182F, 0.0F, 0.0F); + this.throat.cubeList.add(new ModelBox(throat, 24, 14, -1.0F, -1.025F, -0.25F, 2, 1, 2, -0.01F, false)); + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(0.0F, -0.025F, 1.75F); + this.throat.addChild(cube_r15); + this.setRotateAngle(cube_r15, 0.5236F, 0.0F, 0.0F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 24, 11, -1.0F, -1.0F, 0.0F, 2, 1, 2, 0.0F, false)); + + this.rightarm = new AdvancedModelRenderer(this); + this.rightarm.setRotationPoint(-1.0F, 0.4F, -2.7F); + this.body.addChild(rightarm); + this.setRotateAngle(rightarm, -0.0175F, 0.6109F, -0.4974F); + this.rightarm.cubeList.add(new ModelBox(rightarm, 26, 9, -1.5F, -0.5F, -1.0F, 2, 1, 1, 0.01F, false)); + + this.rightarm2 = new AdvancedModelRenderer(this); + this.rightarm2.setRotationPoint(-1.5F, 0.0F, -0.5F); + this.rightarm.addChild(rightarm2); + this.setRotateAngle(rightarm2, 0.0F, -1.2654F, 0.1309F); + this.rightarm2.cubeList.add(new ModelBox(rightarm2, 28, 6, -1.5F, -0.5F, -0.5F, 2, 1, 1, 0.0F, false)); + + this.rightarm3 = new AdvancedModelRenderer(this); + this.rightarm3.setRotationPoint(-1.75F, 0.25F, 0.0F); + this.rightarm2.addChild(rightarm3); + this.setRotateAngle(rightarm3, 0.2618F, -0.3927F, 0.2182F); + this.rightarm3.cubeList.add(new ModelBox(rightarm3, 16, 3, -1.5F, 0.0F, -1.6F, 2, 0, 3, 0.0F, false)); + + this.leftarm = new AdvancedModelRenderer(this); + this.leftarm.setRotationPoint(1.0F, 0.4F, -2.7F); + this.body.addChild(leftarm); + this.setRotateAngle(leftarm, -0.0175F, -0.6109F, 0.4974F); + this.leftarm.cubeList.add(new ModelBox(leftarm, 26, 9, -0.5F, -0.5F, -1.0F, 2, 1, 1, 0.01F, true)); + + this.leftarm2 = new AdvancedModelRenderer(this); + this.leftarm2.setRotationPoint(1.5F, 0.0F, -0.5F); + this.leftarm.addChild(leftarm2); + this.setRotateAngle(leftarm2, 0.0F, 1.2654F, -0.1309F); + this.leftarm2.cubeList.add(new ModelBox(leftarm2, 28, 6, -0.5F, -0.5F, -0.5F, 2, 1, 1, 0.0F, true)); + + this.leftarm3 = new AdvancedModelRenderer(this); + this.leftarm3.setRotationPoint(1.75F, 0.25F, 0.0F); + this.leftarm2.addChild(leftarm3); + this.setRotateAngle(leftarm3, 0.2618F, 0.3927F, -0.2182F); + this.leftarm3.cubeList.add(new ModelBox(leftarm3, 16, 3, -0.5F, 0.0F, -1.6F, 2, 0, 3, 0.0F, true)); + + this.Belly = new AdvancedModelRenderer(this); + this.Belly.setRotationPoint(0.0F, 0.75F, -2.0F); + this.body.addChild(Belly); + this.Belly.cubeList.add(new ModelBox(Belly, 0, 0, -2.0F, -1.5F, -0.5F, 4, 2, 4, 0.01F, false)); + + this.rightleg = new AdvancedModelRenderer(this); + this.rightleg.setRotationPoint(-0.5F, -0.75F, 3.85F); + this.hips.addChild(rightleg); + this.setRotateAngle(rightleg, 0.0F, -0.6545F, -0.0611F); + this.rightleg.cubeList.add(new ModelBox(rightleg, 20, 21, -3.25F, -1.0F, -0.75F, 4, 1, 1, 0.01F, false)); + this.rightleg.cubeList.add(new ModelBox(rightleg, 0, 22, -3.25F, -1.0F, -0.25F, 4, 1, 1, 0.0F, false)); + + this.rightleg2 = new AdvancedModelRenderer(this); + this.rightleg2.setRotationPoint(-2.85F, 0.05F, 0.6F); + this.rightleg.addChild(rightleg2); + this.setRotateAngle(rightleg2, 0.0F, 2.4435F, 0.0F); + this.rightleg2.cubeList.add(new ModelBox(rightleg2, 14, 9, -4.5F, -1.0F, -0.5F, 5, 1, 1, 0.0F, false)); + + this.rightleg3 = new AdvancedModelRenderer(this); + this.rightleg3.setRotationPoint(-4.5F, 0.025F, -0.1F); + this.rightleg2.addChild(rightleg3); + this.setRotateAngle(rightleg3, 0.0873F, -2.3126F, 0.0349F); + this.rightleg3.cubeList.add(new ModelBox(rightleg3, 28, 23, -2.0F, -1.0F, -0.75F, 2, 1, 1, -0.01F, false)); + + this.rightleg4 = new AdvancedModelRenderer(this); + this.rightleg4.setRotationPoint(-2.0F, -0.25F, 0.0F); + this.rightleg3.addChild(rightleg4); + this.setRotateAngle(rightleg4, 0.0F, -0.5236F, -0.0262F); + this.rightleg4.cubeList.add(new ModelBox(rightleg4, 14, 6, -3.0F, 0.0F, -1.5F, 4, 0, 3, 0.0F, false)); + + this.leftleg = new AdvancedModelRenderer(this); + this.leftleg.setRotationPoint(0.5F, -0.75F, 3.85F); + this.hips.addChild(leftleg); + this.setRotateAngle(leftleg, 0.0F, 0.6545F, 0.0611F); + this.leftleg.cubeList.add(new ModelBox(leftleg, 20, 21, -0.75F, -1.0F, -0.75F, 4, 1, 1, 0.01F, true)); + this.leftleg.cubeList.add(new ModelBox(leftleg, 0, 22, -0.75F, -1.0F, -0.25F, 4, 1, 1, 0.0F, true)); + + this.leftleg2 = new AdvancedModelRenderer(this); + this.leftleg2.setRotationPoint(2.85F, 0.05F, 0.6F); + this.leftleg.addChild(leftleg2); + this.setRotateAngle(leftleg2, 0.0F, -2.4435F, 0.0F); + this.leftleg2.cubeList.add(new ModelBox(leftleg2, 14, 9, -0.5F, -1.0F, -0.5F, 5, 1, 1, 0.0F, true)); + + this.leftleg3 = new AdvancedModelRenderer(this); + this.leftleg3.setRotationPoint(4.5F, 0.025F, -0.1F); + this.leftleg2.addChild(leftleg3); + this.setRotateAngle(leftleg3, 0.0873F, 2.3126F, -0.0349F); + this.leftleg3.cubeList.add(new ModelBox(leftleg3, 28, 23, 0.0F, -1.0F, -0.75F, 2, 1, 1, -0.01F, true)); + + this.leftleg4 = new AdvancedModelRenderer(this); + this.leftleg4.setRotationPoint(2.0F, -0.25F, 0.0F); + this.leftleg3.addChild(leftleg4); + this.setRotateAngle(leftleg4, 0.0F, 0.5236F, 0.0262F); + this.leftleg4.cubeList.add(new ModelBox(leftleg4, 14, 6, -1.0F, 0.0F, -1.5F, 4, 0, 3, 0.0F, true)); + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.hips.render(f5); + } + + public void renderStaticFloor(float f) { + resetToDefaultPose(); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.hips.offsetY = -1.8F; + this.hips.offsetX = -0.0F; + this.hips.rotateAngleY = (float)Math.toRadians(200); + this.hips.rotateAngleX = (float)Math.toRadians(48); + this.hips.rotateAngleZ = (float)Math.toRadians(-8); + this.hips.scaleChildren = true; + float scaler = 4.2F; + this.hips.setScale(scaler, scaler, scaler); + //Start of pose: + this.setRotateAngle(hips, 0.6F, 3.8F, -0.2F); + //End of pose, now render the model: + this.hips.render(f); + //Reset rotations, positions and sizing: + this.hips.setScale(1.0F, 1.0F, 1.0F); + this.hips.scaleChildren = false; + resetToDefaultPose(); + + } + + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + //this.Hip.offsetZ = -0.4F; + //this.faceTarget(f3, f4, 5, neck); + this.faceTarget(f3, f4, 6, head); + + + EntityPrehistoricFloraIberobatrachus entitySilesaurus = (EntityPrehistoricFloraIberobatrachus) e; + if (entitySilesaurus.getAnimation() == entitySilesaurus.LAY_ANIMATION) { + + } + else { + if (!entitySilesaurus.isReallyInWater()) { + + if (f3 == 0.0F || !entitySilesaurus.getIsMoving()) { + + return; + } + + if (entitySilesaurus.getIsFast()) { //Running + + + } else { //Walking + + } + } else { + //Swimming pose: + if (f3 == 0.0F) { //static in water + return; + } + //moving in water + return; + } + } + + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraIberobatrachus ee = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getIsMoving() && ee.getAnimation() != ee.JUMP_ANIMATION && ee.isWalking && ee.onGround) { + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + else { + //Swimming pose: + animSwim(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + + } + + if (ee.getAnimation() == ee.ATTACK_ANIMATION) { + animTongue(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.ROAR_ANIMATION) { + //animCroak(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.STAND_ANIMATION) { + animBlink(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.JUMP_ANIMATION) { + animJump(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + } + + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(2+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*1), hips.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+60))*-10), hips.rotateAngleZ + (float) Math.toRadians(0)); + this.hips.rotationPointX = this.hips.rotationPointX + (float)(0); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-120))*-0.5); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 4.11883 + (((tickAnim - 0) / 5) * (4.38789-(4.11883))); + yy = 115.3637 + (((tickAnim - 0) / 5) * (102.86137-(115.3637))); + zz = 4.09069 + (((tickAnim - 0) / 5) * (4.39996-(4.09069))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 4.38789 + (((tickAnim - 5) / 5) * (5.78673-(4.38789))); + yy = 102.86137 + (((tickAnim - 5) / 5) * (72.21784-(102.86137))); + zz = 4.39996 + (((tickAnim - 5) / 5) * (16.80273-(4.39996))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 5.78673 + (((tickAnim - 10) / 5) * (-2.01352-(5.78673))); + yy = 72.21784 + (((tickAnim - 10) / 5) * (3.84373-(72.21784))); + zz = 16.80273 + (((tickAnim - 10) / 5) * (22.08714-(16.80273))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -2.01352 + (((tickAnim - 15) / 5) * (0-(-2.01352))); + yy = 3.84373 + (((tickAnim - 15) / 5) * (-10-(3.84373))); + zz = 22.08714 + (((tickAnim - 15) / 5) * (0-(22.08714))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (-4.79151-(0))); + yy = -10 + (((tickAnim - 20) / 5) * (15.53573-(-10))); + zz = 0 + (((tickAnim - 20) / 5) * (5.47366-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -4.79151 + (((tickAnim - 25) / 5) * (3.36162-(-4.79151))); + yy = 15.53573 + (((tickAnim - 25) / 5) * (37.87424-(15.53573))); + zz = 5.47366 + (((tickAnim - 25) / 5) * (5.18783-(5.47366))); + } + else if (tickAnim >= 30 && tickAnim < 32) { + xx = 3.36162 + (((tickAnim - 30) / 2) * (3.88632-(3.36162))); + yy = 37.87424 + (((tickAnim - 30) / 2) * (50.3195-(37.87424))); + zz = 5.18783 + (((tickAnim - 30) / 2) * (7.9408-(5.18783))); + } + else if (tickAnim >= 32 && tickAnim < 35) { + xx = 3.88632 + (((tickAnim - 32) / 3) * (3.55593-(3.88632))); + yy = 50.3195 + (((tickAnim - 32) / 3) * (82.8694-(50.3195))); + zz = 7.9408 + (((tickAnim - 32) / 3) * (5.8311-(7.9408))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 3.55593 + (((tickAnim - 35) / 5) * (4.11883-(3.55593))); + yy = 82.8694 + (((tickAnim - 35) / 5) * (115.3637-(82.8694))); + zz = 5.8311 + (((tickAnim - 35) / 5) * (4.09069-(5.8311))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 5 + (((tickAnim - 0) / 5) * (0-(5))); + yy = -87.5 + (((tickAnim - 0) / 5) * (-90-(-87.5))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-5-(0))); + yy = -90 + (((tickAnim - 5) / 5) * (-12.5-(-90))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -5 + (((tickAnim - 10) / 5) * (0-(-5))); + yy = -12.5 + (((tickAnim - 10) / 5) * (20-(-12.5))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 20 + (((tickAnim - 15) / 5) * (-32.5-(20))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = -32.5 + (((tickAnim - 20) / 5) * (-32.5-(-32.5))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-13.89476-(0))); + yy = -32.5 + (((tickAnim - 25) / 5) * (-42.80468-(-32.5))); + zz = 0 + (((tickAnim - 25) / 5) * (-14.11351-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -13.89476 + (((tickAnim - 30) / 5) * (0.92225-(-13.89476))); + yy = -42.80468 + (((tickAnim - 30) / 5) * (-75.03205-(-42.80468))); + zz = -14.11351 + (((tickAnim - 30) / 5) * (0.15503-(-14.11351))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0.92225 + (((tickAnim - 35) / 5) * (5-(0.92225))); + yy = -75.03205 + (((tickAnim - 35) / 5) * (-87.5-(-75.03205))); + zz = 0.15503 + (((tickAnim - 35) / 5) * (0-(0.15503))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -11.55275 + (((tickAnim - 0) / 5) * (-11.55275-(-11.55275))); + yy = 69.41279 + (((tickAnim - 0) / 5) * (64.41279-(69.41279))); + zz = 9.19372 + (((tickAnim - 0) / 5) * (9.19372-(9.19372))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -11.55275 + (((tickAnim - 5) / 5) * (-29.05275-(-11.55275))); + yy = 64.41279 + (((tickAnim - 5) / 5) * (26.91279-(64.41279))); + zz = 9.19372 + (((tickAnim - 5) / 5) * (9.19372-(9.19372))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -29.05275 + (((tickAnim - 10) / 5) * (111.59527-(-29.05275))); + yy = 26.91279 + (((tickAnim - 10) / 5) * (12.2991-(26.91279))); + zz = 9.19372 + (((tickAnim - 10) / 5) * (-111.0043-(9.19372))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 111.59527 + (((tickAnim - 15) / 5) * (-21.58948-(111.59527))); + yy = 12.2991 + (((tickAnim - 15) / 5) * (15.96195-(12.2991))); + zz = -111.0043 + (((tickAnim - 15) / 5) * (20.80651-(-111.0043))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -21.58948 + (((tickAnim - 20) / 5) * (-21.58948-(-21.58948))); + yy = 15.96195 + (((tickAnim - 20) / 5) * (15.96195-(15.96195))); + zz = 20.80651 + (((tickAnim - 20) / 5) * (20.80651-(20.80651))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -21.58948 + (((tickAnim - 25) / 5) * (-16.55275-(-21.58948))); + yy = 15.96195 + (((tickAnim - 25) / 5) * (51.91279-(15.96195))); + zz = 20.80651 + (((tickAnim - 25) / 5) * (11.69372-(20.80651))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -16.55275 + (((tickAnim - 30) / 5) * (-11.55275-(-16.55275))); + yy = 51.91279 + (((tickAnim - 30) / 5) * (94.41279-(51.91279))); + zz = 11.69372 + (((tickAnim - 30) / 5) * (9.19372-(11.69372))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -11.55275 + (((tickAnim - 35) / 5) * (-11.55275-(-11.55275))); + yy = 94.41279 + (((tickAnim - 35) / 5) * (69.41279-(94.41279))); + zz = 9.19372 + (((tickAnim - 35) / 5) * (9.19372-(9.19372))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -6.96072 + (((tickAnim - 0) / 5) * (1.7329-(-6.96072))); + yy = -54.61005 + (((tickAnim - 0) / 5) * (-12.42612-(-54.61005))); + zz = 6.74718 + (((tickAnim - 0) / 5) * (-0.63439-(6.74718))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 1.7329 + (((tickAnim - 5) / 5) * (1.95834-(1.7329))); + yy = -12.42612 + (((tickAnim - 5) / 5) * (-39.92098-(-12.42612))); + zz = -0.63439 + (((tickAnim - 5) / 5) * (-1.0267-(-0.63439))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 1.95834 + (((tickAnim - 10) / 5) * (3.24288-(1.95834))); + yy = -39.92098 + (((tickAnim - 10) / 5) * (-62.39977-(-39.92098))); + zz = -1.0267 + (((tickAnim - 10) / 5) * (-2.64418-(-1.0267))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 3.24288 + (((tickAnim - 15) / 5) * (0-(3.24288))); + yy = -62.39977 + (((tickAnim - 15) / 5) * (0-(-62.39977))); + zz = -2.64418 + (((tickAnim - 15) / 5) * (5-(-2.64418))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (-0.78795-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (-17.48281-(0))); + zz = 5 + (((tickAnim - 20) / 5) * (7.62116-(5))); + } + else if (tickAnim >= 25 && tickAnim < 27) { + xx = -0.78795 + (((tickAnim - 25) / 2) * (-1.54904-(-0.78795))); + yy = -17.48281 + (((tickAnim - 25) / 2) * (-27.43821-(-17.48281))); + zz = 7.62116 + (((tickAnim - 25) / 2) * (10.24474-(7.62116))); + } + else if (tickAnim >= 27 && tickAnim < 30) { + xx = -1.54904 + (((tickAnim - 27) / 3) * (-1.03031-(-1.54904))); + yy = -27.43821 + (((tickAnim - 27) / 3) * (-47.41602-(-27.43821))); + zz = 10.24474 + (((tickAnim - 27) / 3) * (-1.40438-(10.24474))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -1.03031 + (((tickAnim - 30) / 5) * (2.78873-(-1.03031))); + yy = -47.41602 + (((tickAnim - 30) / 5) * (-57.40665-(-47.41602))); + zz = -1.40438 + (((tickAnim - 30) / 5) * (-2.11976-(-1.40438))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 2.78873 + (((tickAnim - 35) / 5) * (-6.96072-(2.78873))); + yy = -57.40665 + (((tickAnim - 35) / 5) * (-54.61005-(-57.40665))); + zz = -2.11976 + (((tickAnim - 35) / 5) * (6.74718-(-2.11976))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-90))*-1), body.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-60))*5), body.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-30))*3)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(0), neck.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*-10), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*3), lowerjaw.rotateAngleY + (float) Math.toRadians(0), lowerjaw.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 17.5 + (((tickAnim - 0) / 5) * (-2.60943-(17.5))); + yy = -70 + (((tickAnim - 0) / 5) * (-27.49763-(-70))); + zz = -15 + (((tickAnim - 0) / 5) * (-10.01192-(-15))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -2.60943 + (((tickAnim - 5) / 5) * (2.31162-(-2.60943))); + yy = -27.49763 + (((tickAnim - 5) / 5) * (-4.82577-(-27.49763))); + zz = -10.01192 + (((tickAnim - 5) / 5) * (12.2656-(-10.01192))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 2.31162 + (((tickAnim - 10) / 5) * (2.13902-(2.31162))); + yy = -4.82577 + (((tickAnim - 10) / 5) * (10.10542-(-4.82577))); + zz = 12.2656 + (((tickAnim - 10) / 5) * (9.16506-(12.2656))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 2.13902 + (((tickAnim - 15) / 5) * (6.79289-(2.13902))); + yy = 10.10542 + (((tickAnim - 15) / 5) * (22.38822-(10.10542))); + zz = 9.16506 + (((tickAnim - 15) / 5) * (21.10165-(9.16506))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 6.79289 + (((tickAnim - 20) / 5) * (-2.6229-(6.79289))); + yy = 22.38822 + (((tickAnim - 20) / 5) * (25.00232-(22.38822))); + zz = 21.10165 + (((tickAnim - 20) / 5) * (9.94087-(21.10165))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -2.6229 + (((tickAnim - 25) / 5) * (17.3771-(-2.6229))); + yy = 25.00232 + (((tickAnim - 25) / 5) * (10.00232-(25.00232))); + zz = 9.94087 + (((tickAnim - 25) / 5) * (24.94087-(9.94087))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 17.3771 + (((tickAnim - 30) / 5) * (7.3771-(17.3771))); + yy = 10.00232 + (((tickAnim - 30) / 5) * (-14.99768-(10.00232))); + zz = 24.94087 + (((tickAnim - 30) / 5) * (24.94087-(24.94087))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 7.3771 + (((tickAnim - 35) / 5) * (17.5-(7.3771))); + yy = -14.99768 + (((tickAnim - 35) / 5) * (-70-(-14.99768))); + zz = 24.94087 + (((tickAnim - 35) / 5) * (-15-(24.94087))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(xx), rightarm.rotateAngleY + (float) Math.toRadians(yy), rightarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (-0.5-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 15) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 20) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 25) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 30) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 35) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 35) / 5) * (0-(-0.5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightarm.rotationPointX = this.rightarm.rotationPointX + (float)(xx); + this.rightarm.rotationPointY = this.rightarm.rotationPointY - (float)(yy); + this.rightarm.rotationPointZ = this.rightarm.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -3.16293 + (((tickAnim - 0) / 5) * (-13.49905-(-3.16293))); + yy = 74.28587 + (((tickAnim - 0) / 5) * (49.69195-(74.28587))); + zz = 9.71104 + (((tickAnim - 0) / 5) * (27.63836-(9.71104))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -13.49905 + (((tickAnim - 5) / 5) * (7.5-(-13.49905))); + yy = 49.69195 + (((tickAnim - 5) / 5) * (27.53834-(49.69195))); + zz = 27.63836 + (((tickAnim - 5) / 5) * (-7.5-(27.63836))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 7.5 + (((tickAnim - 10) / 5) * (5-(7.5))); + yy = 27.53834 + (((tickAnim - 10) / 5) * (27.53834-(27.53834))); + zz = -7.5 + (((tickAnim - 10) / 5) * (-5-(-7.5))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 5 + (((tickAnim - 15) / 5) * (45-(5))); + yy = 27.53834 + (((tickAnim - 15) / 5) * (32.53834-(27.53834))); + zz = -5 + (((tickAnim - 15) / 5) * (-55-(-5))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = 45 + (((tickAnim - 20) / 3) * (22.5-(45))); + yy = 32.53834 + (((tickAnim - 20) / 3) * (41.29-(32.53834))); + zz = -55 + (((tickAnim - 20) / 3) * (-31.25-(-55))); + } + else if (tickAnim >= 23 && tickAnim < 25) { + xx = 22.5 + (((tickAnim - 23) / 2) * (0-(22.5))); + yy = 41.29 + (((tickAnim - 23) / 2) * (60.03834-(41.29))); + zz = -31.25 + (((tickAnim - 23) / 2) * (-12.5-(-31.25))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-22.5-(0))); + yy = 60.03834 + (((tickAnim - 25) / 5) * (62.53834-(60.03834))); + zz = -12.5 + (((tickAnim - 25) / 5) * (-10-(-12.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -22.5 + (((tickAnim - 30) / 5) * (-22.5-(-22.5))); + yy = 62.53834 + (((tickAnim - 30) / 5) * (35.03834-(62.53834))); + zz = -10 + (((tickAnim - 30) / 5) * (-10-(-10))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -22.5 + (((tickAnim - 35) / 5) * (-3.16293-(-22.5))); + yy = 35.03834 + (((tickAnim - 35) / 5) * (74.28587-(35.03834))); + zz = -10 + (((tickAnim - 35) / 5) * (9.71104-(-10))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(xx), rightarm2.rotateAngleY + (float) Math.toRadians(yy), rightarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (-23.5-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-15.03435-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (-7.37384-(0))); + zz = -23.5 + (((tickAnim - 5) / 5) * (7.6171-(-23.5))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -15.03435 + (((tickAnim - 10) / 5) * (-19.03435-(-15.03435))); + yy = -7.37384 + (((tickAnim - 10) / 5) * (-29.87384-(-7.37384))); + zz = 7.6171 + (((tickAnim - 10) / 5) * (15.1171-(7.6171))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -19.03435 + (((tickAnim - 15) / 5) * (-19.36939-(-19.03435))); + yy = -29.87384 + (((tickAnim - 15) / 5) * (-23.39931-(-29.87384))); + zz = 15.1171 + (((tickAnim - 15) / 5) * (37.5697-(15.1171))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = -19.36939 + (((tickAnim - 20) / 3) * (-3.28-(-19.36939))); + yy = -23.39931 + (((tickAnim - 20) / 3) * (-11.12-(-23.39931))); + zz = 37.5697 + (((tickAnim - 20) / 3) * (16.37-(37.5697))); + } + else if (tickAnim >= 23 && tickAnim < 25) { + xx = -3.28 + (((tickAnim - 23) / 2) * (-3.28435-(-3.28))); + yy = -11.12 + (((tickAnim - 23) / 2) * (0.12616-(-11.12))); + zz = 16.37 + (((tickAnim - 23) / 2) * (12.6171-(16.37))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -3.28435 + (((tickAnim - 25) / 5) * (-13.28435-(-3.28435))); + yy = 0.12616 + (((tickAnim - 25) / 5) * (-14.87384-(0.12616))); + zz = 12.6171 + (((tickAnim - 25) / 5) * (30.1171-(12.6171))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -13.28435 + (((tickAnim - 30) / 5) * (-13.28435-(-13.28435))); + yy = -14.87384 + (((tickAnim - 30) / 5) * (-14.87384-(-14.87384))); + zz = 30.1171 + (((tickAnim - 30) / 5) * (30.1171-(30.1171))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -13.28435 + (((tickAnim - 35) / 5) * (0-(-13.28435))); + yy = -14.87384 + (((tickAnim - 35) / 5) * (0-(-14.87384))); + zz = 30.1171 + (((tickAnim - 35) / 5) * (0-(30.1171))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(xx), rightarm3.rotateAngleY + (float) Math.toRadians(yy), rightarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0.175-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0.175 + (((tickAnim - 10) / 5) * (0.25-(0.175))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0.25 + (((tickAnim - 15) / 5) * (0-(0.25))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightarm3.rotationPointX = this.rightarm3.rotationPointX + (float)(xx); + this.rightarm3.rotationPointY = this.rightarm3.rotationPointY - (float)(yy); + this.rightarm3.rotationPointZ = this.rightarm3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -16.1229 + (((tickAnim - 0) / 5) * (-2.6229-(-16.1229))); + yy = -22.50232 + (((tickAnim - 0) / 5) * (-25.00232-(-22.50232))); + zz = -9.94087 + (((tickAnim - 0) / 5) * (-9.94087-(-9.94087))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -2.6229 + (((tickAnim - 5) / 5) * (17.3771-(-2.6229))); + yy = -25.00232 + (((tickAnim - 5) / 5) * (-10.00232-(-25.00232))); + zz = -9.94087 + (((tickAnim - 5) / 5) * (-24.94087-(-9.94087))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 17.3771 + (((tickAnim - 10) / 5) * (7.3771-(17.3771))); + yy = -10.00232 + (((tickAnim - 10) / 5) * (14.99768-(-10.00232))); + zz = -24.94087 + (((tickAnim - 10) / 5) * (-24.94087-(-24.94087))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 7.3771 + (((tickAnim - 15) / 5) * (17.5-(7.3771))); + yy = 14.99768 + (((tickAnim - 15) / 5) * (70-(14.99768))); + zz = -24.94087 + (((tickAnim - 15) / 5) * (15-(-24.94087))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 17.5 + (((tickAnim - 20) / 5) * (-1.31553-(17.5))); + yy = 70 + (((tickAnim - 20) / 5) * (27.00546-(70))); + zz = 15 + (((tickAnim - 20) / 5) * (0.437-(15))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -1.31553 + (((tickAnim - 25) / 5) * (-15.1229-(-1.31553))); + yy = 27.00546 + (((tickAnim - 25) / 5) * (4.99768-(27.00546))); + zz = 0.437 + (((tickAnim - 25) / 5) * (-2.44087-(0.437))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -15.1229 + (((tickAnim - 30) / 5) * (-9.6229-(-15.1229))); + yy = 4.99768 + (((tickAnim - 30) / 5) * (-10.00232-(4.99768))); + zz = -2.44087 + (((tickAnim - 30) / 5) * (-2.44087-(-2.44087))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -9.6229 + (((tickAnim - 35) / 5) * (-16.1229-(-9.6229))); + yy = -10.00232 + (((tickAnim - 35) / 5) * (-22.50232-(-10.00232))); + zz = -2.44087 + (((tickAnim - 35) / 5) * (-9.94087-(-2.44087))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(xx), leftarm.rotateAngleY + (float) Math.toRadians(yy), leftarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 0) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 5) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 10) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 15) / 5) * (0-(-0.5))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 5) * (-0.5-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 35) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 35) / 5) * (-0.5-(-0.5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftarm.rotationPointX = this.leftarm.rotationPointX + (float)(xx); + this.leftarm.rotationPointY = this.leftarm.rotationPointY - (float)(yy); + this.leftarm.rotationPointZ = this.leftarm.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 45 + (((tickAnim - 0) / 3) * (22.5-(45))); + yy = -32.53834 + (((tickAnim - 0) / 3) * (-41.29-(-32.53834))); + zz = 55 + (((tickAnim - 0) / 3) * (31.25-(55))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 22.5 + (((tickAnim - 3) / 2) * (0-(22.5))); + yy = -41.29 + (((tickAnim - 3) / 2) * (-60.03834-(-41.29))); + zz = 31.25 + (((tickAnim - 3) / 2) * (12.5-(31.25))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-22.5-(0))); + yy = -60.03834 + (((tickAnim - 5) / 5) * (-62.53834-(-60.03834))); + zz = 12.5 + (((tickAnim - 5) / 5) * (10-(12.5))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -22.5 + (((tickAnim - 10) / 5) * (-22.5-(-22.5))); + yy = -62.53834 + (((tickAnim - 10) / 5) * (-35.03834-(-62.53834))); + zz = 10 + (((tickAnim - 10) / 5) * (10-(10))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -22.5 + (((tickAnim - 15) / 5) * (-3.16293-(-22.5))); + yy = -35.03834 + (((tickAnim - 15) / 5) * (-74.28587-(-35.03834))); + zz = 10 + (((tickAnim - 15) / 5) * (-9.71104-(10))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -3.16293 + (((tickAnim - 20) / 5) * (-3.34402-(-3.16293))); + yy = -74.28587 + (((tickAnim - 20) / 5) * (-46.37968-(-74.28587))); + zz = -9.71104 + (((tickAnim - 20) / 5) * (-3.42928-(-9.71104))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -3.34402 + (((tickAnim - 25) / 5) * (7.5-(-3.34402))); + yy = -46.37968 + (((tickAnim - 25) / 5) * (-27.53834-(-46.37968))); + zz = -3.42928 + (((tickAnim - 25) / 5) * (7.5-(-3.42928))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 7.5 + (((tickAnim - 30) / 5) * (5-(7.5))); + yy = -27.53834 + (((tickAnim - 30) / 5) * (-27.53834-(-27.53834))); + zz = 7.5 + (((tickAnim - 30) / 5) * (5-(7.5))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 5 + (((tickAnim - 35) / 5) * (45-(5))); + yy = -27.53834 + (((tickAnim - 35) / 5) * (-32.53834-(-27.53834))); + zz = 5 + (((tickAnim - 35) / 5) * (55-(5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(xx), leftarm2.rotateAngleY + (float) Math.toRadians(yy), leftarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = -3.28435 + (((tickAnim - 0) / 3) * (-3.28-(-3.28435))); + yy = 22.37384 + (((tickAnim - 0) / 3) * (11.12-(22.37384))); + zz = -15.1171 + (((tickAnim - 0) / 3) * (-16.37-(-15.1171))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -3.28 + (((tickAnim - 3) / 2) * (-3.28435-(-3.28))); + yy = 11.12 + (((tickAnim - 3) / 2) * (-0.12616-(11.12))); + zz = -16.37 + (((tickAnim - 3) / 2) * (-12.6171-(-16.37))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -3.28435 + (((tickAnim - 5) / 5) * (-13.28435-(-3.28435))); + yy = -0.12616 + (((tickAnim - 5) / 5) * (14.87384-(-0.12616))); + zz = -12.6171 + (((tickAnim - 5) / 5) * (-30.1171-(-12.6171))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -13.28435 + (((tickAnim - 10) / 5) * (-13.28435-(-13.28435))); + yy = 14.87384 + (((tickAnim - 10) / 5) * (14.87384-(14.87384))); + zz = -30.1171 + (((tickAnim - 10) / 5) * (-30.1171-(-30.1171))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -13.28435 + (((tickAnim - 15) / 5) * (0-(-13.28435))); + yy = 14.87384 + (((tickAnim - 15) / 5) * (0-(14.87384))); + zz = -30.1171 + (((tickAnim - 15) / 5) * (0-(-30.1171))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (-7.5-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-3.28435-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (7.37384-(0))); + zz = -7.5 + (((tickAnim - 25) / 5) * (-7.6171-(-7.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -3.28435 + (((tickAnim - 30) / 5) * (-11.63659-(-3.28435))); + yy = 7.37384 + (((tickAnim - 30) / 5) * (30.43901-(7.37384))); + zz = -7.6171 + (((tickAnim - 30) / 5) * (1.37857-(-7.6171))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -11.63659 + (((tickAnim - 35) / 5) * (-3.28435-(-11.63659))); + yy = 30.43901 + (((tickAnim - 35) / 5) * (22.37384-(30.43901))); + zz = 1.37857 + (((tickAnim - 35) / 5) * (-15.1171-(1.37857))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(xx), leftarm3.rotateAngleY + (float) Math.toRadians(yy), leftarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (0.225-(0))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0.225 + (((tickAnim - 30) / 5) * (0.355-(0.225))); + zz = 0 + (((tickAnim - 30) / 5) * (0-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0.355 + (((tickAnim - 35) / 5) * (0-(0.355))); + zz = 0 + (((tickAnim - 35) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftarm3.rotationPointX = this.leftarm3.rotationPointX + (float)(xx); + this.leftarm3.rotationPointY = this.leftarm3.rotationPointY - (float)(yy); + this.leftarm3.rotationPointZ = this.leftarm3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-4.79151-(0))); + yy = 10 + (((tickAnim - 0) / 5) * (-15.53573-(10))); + zz = 0 + (((tickAnim - 0) / 5) * (-5.47366-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -4.79151 + (((tickAnim - 5) / 5) * (3.36162-(-4.79151))); + yy = -15.53573 + (((tickAnim - 5) / 5) * (-37.87424-(-15.53573))); + zz = -5.47366 + (((tickAnim - 5) / 5) * (-5.18783-(-5.47366))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 3.36162 + (((tickAnim - 10) / 2) * (3.88632-(3.36162))); + yy = -37.87424 + (((tickAnim - 10) / 2) * (-50.3195-(-37.87424))); + zz = -5.18783 + (((tickAnim - 10) / 2) * (-7.9408-(-5.18783))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 3.88632 + (((tickAnim - 12) / 3) * (3.55593-(3.88632))); + yy = -50.3195 + (((tickAnim - 12) / 3) * (-82.8694-(-50.3195))); + zz = -7.9408 + (((tickAnim - 12) / 3) * (-5.8311-(-7.9408))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 3.55593 + (((tickAnim - 15) / 5) * (4.11883-(3.55593))); + yy = -82.8694 + (((tickAnim - 15) / 5) * (-115.3637-(-82.8694))); + zz = -5.8311 + (((tickAnim - 15) / 5) * (-4.09069-(-5.8311))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 4.11883 + (((tickAnim - 20) / 5) * (4.38789-(4.11883))); + yy = -115.3637 + (((tickAnim - 20) / 5) * (-102.86137-(-115.3637))); + zz = -4.09069 + (((tickAnim - 20) / 5) * (-4.39996-(-4.09069))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 4.38789 + (((tickAnim - 25) / 5) * (5.78673-(4.38789))); + yy = -102.86137 + (((tickAnim - 25) / 5) * (-72.21784-(-102.86137))); + zz = -4.39996 + (((tickAnim - 25) / 5) * (-16.80273-(-4.39996))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 5.78673 + (((tickAnim - 30) / 5) * (-2.01352-(5.78673))); + yy = -72.21784 + (((tickAnim - 30) / 5) * (-3.84373-(-72.21784))); + zz = -16.80273 + (((tickAnim - 30) / 5) * (-22.08714-(-16.80273))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -2.01352 + (((tickAnim - 35) / 5) * (0-(-2.01352))); + yy = -3.84373 + (((tickAnim - 35) / 5) * (10-(-3.84373))); + zz = -22.08714 + (((tickAnim - 35) / 5) * (0-(-22.08714))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 32.5 + (((tickAnim - 0) / 5) * (32.5-(32.5))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-13.89476-(0))); + yy = 32.5 + (((tickAnim - 5) / 5) * (42.80468-(32.5))); + zz = 0 + (((tickAnim - 5) / 5) * (14.11351-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -13.89476 + (((tickAnim - 10) / 5) * (-2.28888-(-13.89476))); + yy = 42.80468 + (((tickAnim - 10) / 5) * (75.04995-(42.80468))); + zz = 14.11351 + (((tickAnim - 10) / 5) * (3.38905-(14.11351))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -2.28888 + (((tickAnim - 15) / 5) * (5-(-2.28888))); + yy = 75.04995 + (((tickAnim - 15) / 5) * (87.5-(75.04995))); + zz = 3.38905 + (((tickAnim - 15) / 5) * (0-(3.38905))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 5 + (((tickAnim - 20) / 5) * (0-(5))); + yy = 87.5 + (((tickAnim - 20) / 5) * (90-(87.5))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-5-(0))); + yy = 90 + (((tickAnim - 25) / 5) * (12.5-(90))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -5 + (((tickAnim - 30) / 5) * (0-(-5))); + yy = 12.5 + (((tickAnim - 30) / 5) * (-20-(12.5))); + zz = 0 + (((tickAnim - 30) / 5) * (0-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = -20 + (((tickAnim - 35) / 5) * (32.5-(-20))); + zz = 0 + (((tickAnim - 35) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -21.58948 + (((tickAnim - 0) / 5) * (-21.58948-(-21.58948))); + yy = -15.96195 + (((tickAnim - 0) / 5) * (-15.96195-(-15.96195))); + zz = -20.80651 + (((tickAnim - 0) / 5) * (-20.80651-(-20.80651))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -21.58948 + (((tickAnim - 5) / 5) * (-16.55275-(-21.58948))); + yy = -15.96195 + (((tickAnim - 5) / 5) * (-51.91279-(-15.96195))); + zz = -20.80651 + (((tickAnim - 5) / 5) * (-11.69372-(-20.80651))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -16.55275 + (((tickAnim - 10) / 5) * (-11.55275-(-16.55275))); + yy = -51.91279 + (((tickAnim - 10) / 5) * (-94.41279-(-51.91279))); + zz = -11.69372 + (((tickAnim - 10) / 5) * (-9.19372-(-11.69372))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -11.55275 + (((tickAnim - 15) / 5) * (-11.55275-(-11.55275))); + yy = -94.41279 + (((tickAnim - 15) / 5) * (-69.41279-(-94.41279))); + zz = -9.19372 + (((tickAnim - 15) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -11.55275 + (((tickAnim - 20) / 5) * (-11.55275-(-11.55275))); + yy = -69.41279 + (((tickAnim - 20) / 5) * (-64.41279-(-69.41279))); + zz = -9.19372 + (((tickAnim - 20) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -11.55275 + (((tickAnim - 25) / 5) * (-29.05275-(-11.55275))); + yy = -64.41279 + (((tickAnim - 25) / 5) * (-26.91279-(-64.41279))); + zz = -9.19372 + (((tickAnim - 25) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -29.05275 + (((tickAnim - 30) / 5) * (111.59527-(-29.05275))); + yy = -26.91279 + (((tickAnim - 30) / 5) * (-12.2991-(-26.91279))); + zz = -9.19372 + (((tickAnim - 30) / 5) * (111.0043-(-9.19372))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 111.59527 + (((tickAnim - 35) / 5) * (-21.58948-(111.59527))); + yy = -12.2991 + (((tickAnim - 35) / 5) * (-15.96195-(-12.2991))); + zz = 111.0043 + (((tickAnim - 35) / 5) * (-20.80651-(111.0043))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0.15619-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (17.81549-(0))); + zz = -5 + (((tickAnim - 0) / 5) * (-16.14657-(-5))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0.15619 + (((tickAnim - 5) / 2) * (-1.54904-(0.15619))); + yy = 17.81549 + (((tickAnim - 5) / 2) * (27.43821-(17.81549))); + zz = -16.14657 + (((tickAnim - 5) / 2) * (-10.24474-(-16.14657))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = -1.54904 + (((tickAnim - 7) / 3) * (4.71969-(-1.54904))); + yy = 27.43821 + (((tickAnim - 7) / 3) * (47.41602-(27.43821))); + zz = -10.24474 + (((tickAnim - 7) / 3) * (1.40438-(-10.24474))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 4.71969 + (((tickAnim - 10) / 5) * (2.78873-(4.71969))); + yy = 47.41602 + (((tickAnim - 10) / 5) * (57.40665-(47.41602))); + zz = 1.40438 + (((tickAnim - 10) / 5) * (2.11976-(1.40438))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 2.78873 + (((tickAnim - 15) / 5) * (-6.96072-(2.78873))); + yy = 57.40665 + (((tickAnim - 15) / 5) * (54.61005-(57.40665))); + zz = 2.11976 + (((tickAnim - 15) / 5) * (-6.74718-(2.11976))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -6.96072 + (((tickAnim - 20) / 5) * (1.7329-(-6.96072))); + yy = 54.61005 + (((tickAnim - 20) / 5) * (12.42612-(54.61005))); + zz = -6.74718 + (((tickAnim - 20) / 5) * (0.63439-(-6.74718))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 1.7329 + (((tickAnim - 25) / 5) * (1.95834-(1.7329))); + yy = 12.42612 + (((tickAnim - 25) / 5) * (39.92098-(12.42612))); + zz = 0.63439 + (((tickAnim - 25) / 5) * (1.0267-(0.63439))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 1.95834 + (((tickAnim - 30) / 5) * (3.24288-(1.95834))); + yy = 39.92098 + (((tickAnim - 30) / 5) * (62.39977-(39.92098))); + zz = 1.0267 + (((tickAnim - 30) / 5) * (2.64418-(1.0267))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 3.24288 + (((tickAnim - 35) / 5) * (0-(3.24288))); + yy = 62.39977 + (((tickAnim - 35) / 5) * (0-(62.39977))); + zz = 2.64418 + (((tickAnim - 35) / 5) * (-5-(2.64418))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animSwim(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(-5.7897+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10), rightleg.rotateAngleY + (float) Math.toRadians(48.5313+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*50), rightleg.rotateAngleZ + (float) Math.toRadians(-3.0893+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-10)); + + + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(0), rightleg2.rotateAngleY + (float) Math.toRadians(-55+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-160))*70), rightleg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), rightleg3.rotateAngleY + (float) Math.toRadians(60+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*50), rightleg3.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*10)); + this.rightleg3.rotationPointX = this.rightleg3.rotationPointX + (float)(0); + this.rightleg3.rotationPointY = this.rightleg3.rotationPointY - (float)(0); + this.rightleg3.rotationPointZ = this.rightleg3.rotationPointZ + (float)(0.65); + + + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(43.25), rightleg4.rotateAngleY + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), rightleg4.rotateAngleZ + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-40)); + + + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(-3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*-3), hips.rotateAngleY + (float) Math.toRadians(0), hips.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180))*3)); + this.hips.rotationPointX = this.hips.rotationPointX + (float)(0); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.25); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*-4); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*3), body.rotateAngleY + (float) Math.toRadians(0), body.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+30))*-3)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*3), neck.rotateAngleY + (float) Math.toRadians(0), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-60))*3), lowerjaw.rotateAngleY + (float) Math.toRadians(0), lowerjaw.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(-5+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*-3), throat.rotateAngleY + (float) Math.toRadians(0), throat.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(82.40403), rightarm.rotateAngleY + (float) Math.toRadians(19.2788+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+120))*-5), rightarm.rotateAngleZ + (float) Math.toRadians(-19.261+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+90))*5)); + this.rightarm.rotationPointX = this.rightarm.rotationPointX + (float)(-0.5); + this.rightarm.rotationPointY = this.rightarm.rotationPointY - (float)(0.5); + this.rightarm.rotationPointZ = this.rightarm.rotationPointZ + (float)(-1.5); + + + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(5), rightarm2.rotateAngleY + (float) Math.toRadians(65+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-5), rightarm2.rotateAngleZ + (float) Math.toRadians(-15+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*5)); + + + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(-10), rightarm3.rotateAngleY + (float) Math.toRadians(45+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*5), rightarm3.rotateAngleZ + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*5)); + + + this.setRotateAngle(Belly, Belly.rotateAngleX + (float) Math.toRadians(0), Belly.rotateAngleY + (float) Math.toRadians(0), Belly.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-30))*3)); + this.Belly.rotationPointX = this.Belly.rotationPointX + (float)(0); + this.Belly.rotationPointY = this.Belly.rotationPointY - (float)(0); + this.Belly.rotationPointZ = this.Belly.rotationPointZ + (float)(-0.1+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*0.1); + + + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(85.55538), leftarm.rotateAngleY + (float) Math.toRadians(-18.8642+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+120))*5), leftarm.rotateAngleZ + (float) Math.toRadians(21.305+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+90))*-5)); + this.leftarm.rotationPointX = this.leftarm.rotationPointX + (float)(0.5); + this.leftarm.rotationPointY = this.leftarm.rotationPointY - (float)(0.5); + this.leftarm.rotationPointZ = this.leftarm.rotationPointZ + (float)(-1.5); + + + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(5), leftarm2.rotateAngleY + (float) Math.toRadians(-65+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*5), leftarm2.rotateAngleZ + (float) Math.toRadians(15+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*-5)); + + + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(-10), leftarm3.rotateAngleY + (float) Math.toRadians(-45+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-5), leftarm3.rotateAngleZ + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-5)); + + + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(-5.7897+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10), leftleg.rotateAngleY + (float) Math.toRadians(-48.5313+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*-50), leftleg.rotateAngleZ + (float) Math.toRadians(3.0893+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10)); + + + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(0), leftleg2.rotateAngleY + (float) Math.toRadians(55+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-160))*-70), leftleg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), leftleg3.rotateAngleY + (float) Math.toRadians(-60+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-50), leftleg3.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*10)); + this.leftleg3.rotationPointX = this.leftleg3.rotationPointX + (float)(0); + this.leftleg3.rotationPointY = this.leftleg3.rotationPointY - (float)(0); + this.leftleg3.rotationPointZ = this.leftleg3.rotationPointZ + (float)(0.65); + + + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(43.25), leftleg4.rotateAngleY + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-30), leftleg4.rotateAngleZ + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*40)); + + } + public void animJump(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 17; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5 + (((tickAnim - 0) / 5) * (0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (-20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (3.13719-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20 + (((tickAnim - 5) / 5) * (12.42066-(0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20))); + yy = -20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100 + (((tickAnim - 5) / 5) * (80.2564-(-20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100))); + zz = 3.13719 + (((tickAnim - 5) / 5) * (-9.38864-(3.13719))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 12.42066 + (((tickAnim - 10) / 8) * (0-(12.42066))); + yy = 80.2564 + (((tickAnim - 10) / 8) * (0-(80.2564))); + zz = -9.38864 + (((tickAnim - 10) / 8) * (0-(-9.38864))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80 + (((tickAnim - 5) / 5) * (-80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -80 + (((tickAnim - 10) / 8) * (0-(-80))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120 + (((tickAnim - 5) / 5) * (120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 120 + (((tickAnim - 10) / 8) * (0-(120))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0.225-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0.225 + (((tickAnim - 5) / 5) * (0.225-(0.225))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0.225 + (((tickAnim - 10) / 8) * (0-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightleg3.rotationPointX = this.rightleg3.rotationPointX + (float)(xx); + this.rightleg3.rotationPointY = this.rightleg3.rotationPointY - (float)(yy); + this.rightleg3.rotationPointZ = this.rightleg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-20 + (((tickAnim - 5) / 5) * (-20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-20))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -20 + (((tickAnim - 10) / 8) * (0-(-20))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*5 + (((tickAnim - 0) / 1) * (-1.11-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*5))); + yy = 0 + (((tickAnim - 0) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 5) { + xx = -1.11 + (((tickAnim - 1) / 4) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30-(-1.11))); + yy = 0 + (((tickAnim - 1) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 1) / 4) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30 + (((tickAnim - 5) / 5) * (-3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20 + (((tickAnim - 10) / 5) * (57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35-(-3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35 + (((tickAnim - 15) / 3) * (0-(57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35))); + yy = 0 + (((tickAnim - 15) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(xx), hips.rotateAngleY + (float) Math.toRadians(yy), hips.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 1) * (0.475-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 0 + (((tickAnim - 1) / 2) * (0-(0))); + yy = 0.475 + (((tickAnim - 1) / 2) * (0.485-(0.475))); + zz = 0 + (((tickAnim - 1) / 2) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = 0.485 + (((tickAnim - 3) / 2) * (5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10-(0.485))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10 + (((tickAnim - 5) / 5) * (9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20-(5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20 + (((tickAnim - 10) / 5) * (5.07-(9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 0 + (((tickAnim - 15) / 3) * (0-(0))); + yy = 5.07 + (((tickAnim - 15) / 3) * (0-(5.07))); + zz = 0 + (((tickAnim - 15) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.hips.rotationPointX = this.hips.rotationPointX + (float)(xx); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(yy); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10 + (((tickAnim - 5) / 5) * (-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = -10 + (((tickAnim - 10) / 8) * (0-(-10))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(xx), body.rotateAngleY + (float) Math.toRadians(yy), body.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 10 + (((tickAnim - 10) / 8) * (0-(10))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40 + (((tickAnim - 5) / 5) * (40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 10 + (((tickAnim - 10) / 5) * (2.06864-(10))); + yy = 40 + (((tickAnim - 10) / 5) * (-36.49981-(40))); + zz = 10 + (((tickAnim - 10) / 5) * (1.2821-(10))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 2.06864 + (((tickAnim - 15) / 3) * (0-(2.06864))); + yy = -36.49981 + (((tickAnim - 15) / 3) * (0-(-36.49981))); + zz = 1.2821 + (((tickAnim - 15) / 3) * (0-(1.2821))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(xx), rightarm.rotateAngleY + (float) Math.toRadians(yy), rightarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100 + (((tickAnim - 5) / 5) * (100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 100 + (((tickAnim - 10) / 8) * (0-(100))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(xx), rightarm2.rotateAngleY + (float) Math.toRadians(yy), rightarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30 + (((tickAnim - 5) / 5) * (30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 30 + (((tickAnim - 10) / 8) * (0-(30))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(xx), rightarm3.rotateAngleY + (float) Math.toRadians(yy), rightarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40 + (((tickAnim - 5) / 5) * (-40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10 + (((tickAnim - 5) / 5) * (-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 10 + (((tickAnim - 10) / 5) * (2.06864-(10))); + yy = -40 + (((tickAnim - 10) / 5) * (36.49981-(-40))); + zz = -10 + (((tickAnim - 10) / 5) * (1.2821-(-10))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 2.06864 + (((tickAnim - 15) / 3) * (0-(2.06864))); + yy = 36.49981 + (((tickAnim - 15) / 3) * (0-(36.49981))); + zz = 1.2821 + (((tickAnim - 15) / 3) * (0-(1.2821))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(xx), leftarm.rotateAngleY + (float) Math.toRadians(yy), leftarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100 + (((tickAnim - 5) / 5) * (-100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -100 + (((tickAnim - 10) / 8) * (0-(-100))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(xx), leftarm2.rotateAngleY + (float) Math.toRadians(yy), leftarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30 + (((tickAnim - 5) / 5) * (-30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -30 + (((tickAnim - 10) / 8) * (0-(-30))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(xx), leftarm3.rotateAngleY + (float) Math.toRadians(yy), leftarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5 + (((tickAnim - 0) / 5) * (0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (-3.68107-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20 + (((tickAnim - 5) / 5) * (13.123-(0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271 + (((tickAnim - 5) / 5) * (-83.42609-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271))); + zz = -3.68107 + (((tickAnim - 5) / 5) * (8.38417-(-3.68107))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 13.123 + (((tickAnim - 10) / 8) * (0-(13.123))); + yy = -83.42609 + (((tickAnim - 10) / 8) * (0-(-83.42609))); + zz = 8.38417 + (((tickAnim - 10) / 8) * (0-(8.38417))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80 + (((tickAnim - 5) / 5) * (80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 80 + (((tickAnim - 10) / 8) * (0-(80))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120 + (((tickAnim - 5) / 5) * (-120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -120 + (((tickAnim - 10) / 8) * (0-(-120))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0.2-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0.2 + (((tickAnim - 5) / 5) * (0.2-(0.2))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0.2 + (((tickAnim - 10) / 8) * (0-(0.2))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftleg3.rotationPointX = this.leftleg3.rotationPointX + (float)(xx); + this.leftleg3.rotationPointY = this.leftleg3.rotationPointY - (float)(yy); + this.leftleg3.rotationPointZ = this.leftleg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20 + (((tickAnim - 5) / 5) * (20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 20 + (((tickAnim - 10) / 8) * (0-(20))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animTongue(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (10-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 12) { + xx = 10 + (((tickAnim - 5) / 7) * (10-(10))); + yy = 0 + (((tickAnim - 5) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 7) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 20) { + xx = 10 + (((tickAnim - 12) / 8) * (0-(10))); + yy = 0 + (((tickAnim - 12) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (40-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 40 + (((tickAnim - 5) / 5) * (40-(40))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 40 + (((tickAnim - 10) / 5) * (0-(40))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(xx), lowerjaw.rotateAngleY + (float) Math.toRadians(yy), lowerjaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (-27.5-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = -27.5 + (((tickAnim - 8) / 4) * (-20-(-27.5))); + yy = 0 + (((tickAnim - 8) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -20 + (((tickAnim - 12) / 3) * (0-(-20))); + yy = 0 + (((tickAnim - 12) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tongue, tongue.rotateAngleX + (float) Math.toRadians(xx), tongue.rotateAngleY + (float) Math.toRadians(yy), tongue.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (-0.25-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (0-(0))); + yy = -0.25 + (((tickAnim - 8) / 4) * (0-(-0.25))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.tongue.rotationPointX = this.tongue.rotationPointX + (float)(xx); + this.tongue.rotationPointY = this.tongue.rotationPointY - (float)(yy); + this.tongue.rotationPointZ = this.tongue.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 1 + (((tickAnim - 0) / 5) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 5) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 5) * (1-(1))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 1 + (((tickAnim - 5) / 3) * (1-(1))); + yy = 1 + (((tickAnim - 5) / 3) * (0.5-(1))); + zz = 1 + (((tickAnim - 5) / 3) * (3-(1))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 1 + (((tickAnim - 8) / 4) * (1-(1))); + yy = 0.5 + (((tickAnim - 8) / 4) * (1-(0.5))); + zz = 3 + (((tickAnim - 8) / 4) * (1-(3))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.tongue.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-22.5-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -22.5 + (((tickAnim - 5) / 5) * (-22.5-(-22.5))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -22.5 + (((tickAnim - 10) / 5) * (0-(-22.5))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(xx), throat.rotateAngleY + (float) Math.toRadians(yy), throat.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animCroak(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (-11-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -11 + (((tickAnim - 10) / 10) * (0-(-11))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(xx), throat.rotateAngleY + (float) Math.toRadians(yy), throat.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 1 + (((tickAnim - 0) / 10) * (1.2-(1))); + yy = 1 + (((tickAnim - 0) / 10) * (1.67-(1))); + zz = 1 + (((tickAnim - 0) / 10) * (1-(1))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 1.2 + (((tickAnim - 10) / 10) * (1-(1.2))); + yy = 1.67 + (((tickAnim - 10) / 10) * (1-(1.67))); + zz = 1 + (((tickAnim - 10) / 10) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.throat.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = -0.1 + (((tickAnim - 0) / 10) * (0-(-0.1))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (-0.1-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.Belly.rotationPointX = this.Belly.rotationPointX + (float)(xx); + this.Belly.rotationPointY = this.Belly.rotationPointY - (float)(yy); + this.Belly.rotationPointZ = this.Belly.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + yy = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + zz = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + yy = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + zz = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.Belly.setScale((float)xx, (float)yy, (float)zz); + + + } + public void animBlink(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraIberobatrachus entity = (EntityPrehistoricFloraIberobatrachus) entitylivingbaseIn; + int animCycle = 14; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0.275-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (-0.475-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 0.275 + (((tickAnim - 8) / 6) * (0-(0.275))); + yy = -0.475 + (((tickAnim - 8) / 6) * (0-(-0.475))); + zz = 0 + (((tickAnim - 8) / 6) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.righteye.rotationPointX = this.righteye.rotationPointX + (float)(xx); + this.righteye.rotationPointY = this.righteye.rotationPointY - (float)(yy); + this.righteye.rotationPointZ = this.righteye.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (0.0125-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 1 + (((tickAnim - 8) / 6) * (1-(1))); + yy = 0.0125 + (((tickAnim - 8) / 6) * (1-(0.0125))); + zz = 1 + (((tickAnim - 8) / 6) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.righteye.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-0.275-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (-0.475-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = -0.275 + (((tickAnim - 8) / 6) * (0-(-0.275))); + yy = -0.475 + (((tickAnim - 8) / 6) * (0-(-0.475))); + zz = 0 + (((tickAnim - 8) / 6) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.lefteye.rotationPointX = this.lefteye.rotationPointX + (float)(xx); + this.lefteye.rotationPointY = this.lefteye.rotationPointY - (float)(yy); + this.lefteye.rotationPointZ = this.lefteye.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (0.0125-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 1 + (((tickAnim - 8) / 6) * (1-(1))); + yy = 0.0125 + (((tickAnim - 8) / 6) * (1-(0.0125))); + zz = 1 + (((tickAnim - 8) / 6) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.lefteye.setScale((float)xx, (float)yy, (float)zz); + + } + + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraIberobatrachus e = (EntityPrehistoricFloraIberobatrachus) entity; + animator.update(entity); + //this.resetToDefaultPose(); + } +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelLangobardisaurus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelLangobardisaurus.java new file mode 100644 index 0000000000..7389baf628 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelLangobardisaurus.java @@ -0,0 +1,1727 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraLangobardisaurus; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelLangobardisaurus extends ModelBasePalaeopedia { + private final AdvancedModelRenderer root; + private final AdvancedModelRenderer backLeftLeg; + private final AdvancedModelRenderer backLeftLeg2; + private final AdvancedModelRenderer backLeftLeg3; + private final AdvancedModelRenderer backLeftLeg4; + private final AdvancedModelRenderer backRightLeg; + private final AdvancedModelRenderer backRightLeg2; + private final AdvancedModelRenderer backRightLeg3; + private final AdvancedModelRenderer backRightLeg4; + private final AdvancedModelRenderer hip; + private final AdvancedModelRenderer tail; + private final AdvancedModelRenderer tail2; + private final AdvancedModelRenderer tail3; + private final AdvancedModelRenderer tail4; + private final AdvancedModelRenderer tail5; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer body2; + private final AdvancedModelRenderer frontLeftLeg; + private final AdvancedModelRenderer frontLeftLeg2; + private final AdvancedModelRenderer frontLeftLeg3; + private final AdvancedModelRenderer frontRightLeg; + private final AdvancedModelRenderer frontRightLeg2; + private final AdvancedModelRenderer frontRightLeg3; + private final AdvancedModelRenderer neck; + private final AdvancedModelRenderer neck2; + private final AdvancedModelRenderer neck3; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer neck4; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer jaw; + private final AdvancedModelRenderer eye; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + + private ModelAnimator animator; + + public ModelLangobardisaurus() { + this.textureWidth = 44; + this.textureHeight = 44; + + this.root = new AdvancedModelRenderer(this); + this.root.setRotationPoint(0.0F, 15.5833F, 3.8333F); + + + this.backLeftLeg = new AdvancedModelRenderer(this); + this.backLeftLeg.setRotationPoint(1.5F, -0.0833F, 0.1667F); + this.root.addChild(backLeftLeg); + this.setRotateAngle(backLeftLeg, 0.0288F, 0.1298F, -0.228F); + this.backLeftLeg.cubeList.add(new ModelBox(backLeftLeg, 18, 33, -1.0F, -0.5F, -1.0F, 2, 4, 2, 0.0F, false)); + + this.backLeftLeg2 = new AdvancedModelRenderer(this); + this.backLeftLeg2.setRotationPoint(0.25F, 2.9F, -0.3F); + this.backLeftLeg.addChild(backLeftLeg2); + this.setRotateAngle(backLeftLeg2, 0.762F, -0.2324F, 0.2F); + this.backLeftLeg2.cubeList.add(new ModelBox(backLeftLeg2, 0, 0, -0.5F, 0.0F, -0.7F, 1, 5, 1, 0.001F, false)); + this.backLeftLeg2.cubeList.add(new ModelBox(backLeftLeg2, 0, 38, -0.5F, 0.0F, -0.3F, 1, 5, 1, 0.0F, false)); + + this.backLeftLeg3 = new AdvancedModelRenderer(this); + this.backLeftLeg3.setRotationPoint(0.0F, 4.5F, 0.0F); + this.backLeftLeg2.addChild(backLeftLeg3); + this.setRotateAngle(backLeftLeg3, -0.5672F, 0.0F, 0.0F); + this.backLeftLeg3.cubeList.add(new ModelBox(backLeftLeg3, 0, 13, -0.5F, 0.0F, -0.5F, 1, 3, 1, -0.001F, false)); + + this.backLeftLeg4 = new AdvancedModelRenderer(this); + this.backLeftLeg4.setRotationPoint(0.0F, 2.75F, 0.25F); + this.backLeftLeg3.addChild(backLeftLeg4); + this.setRotateAngle(backLeftLeg4, -0.244F, 0.0149F, 0.041F); + this.backLeftLeg4.cubeList.add(new ModelBox(backLeftLeg4, 25, 0, -1.5F, 0.0F, -3.0F, 3, 0, 3, 0.0F, false)); + + this.backRightLeg = new AdvancedModelRenderer(this); + this.backRightLeg.setRotationPoint(-1.5F, -0.0833F, 0.1667F); + this.root.addChild(backRightLeg); + this.setRotateAngle(backRightLeg, 0.0288F, -0.1298F, 0.228F); + this.backRightLeg.cubeList.add(new ModelBox(backRightLeg, 18, 33, -1.0F, -0.5F, -1.0F, 2, 4, 2, 0.0F, true)); + + this.backRightLeg2 = new AdvancedModelRenderer(this); + this.backRightLeg2.setRotationPoint(-0.25F, 2.9F, -0.3F); + this.backRightLeg.addChild(backRightLeg2); + this.setRotateAngle(backRightLeg2, 0.762F, 0.2324F, -0.2F); + this.backRightLeg2.cubeList.add(new ModelBox(backRightLeg2, 0, 0, -0.5F, 0.0F, -0.7F, 1, 5, 1, 0.001F, true)); + this.backRightLeg2.cubeList.add(new ModelBox(backRightLeg2, 0, 38, -0.5F, 0.0F, -0.3F, 1, 5, 1, 0.0F, true)); + + this.backRightLeg3 = new AdvancedModelRenderer(this); + this.backRightLeg3.setRotationPoint(0.0F, 4.5F, 0.0F); + this.backRightLeg2.addChild(backRightLeg3); + this.setRotateAngle(backRightLeg3, -0.5672F, 0.0F, 0.0F); + this.backRightLeg3.cubeList.add(new ModelBox(backRightLeg3, 0, 13, -0.5F, 0.0F, -0.5F, 1, 3, 1, -0.001F, true)); + + this.backRightLeg4 = new AdvancedModelRenderer(this); + this.backRightLeg4.setRotationPoint(0.0F, 2.75F, 0.25F); + this.backRightLeg3.addChild(backRightLeg4); + this.setRotateAngle(backRightLeg4, -0.244F, -0.0149F, -0.041F); + this.backRightLeg4.cubeList.add(new ModelBox(backRightLeg4, 25, 0, -1.5F, 0.0F, -3.0F, 3, 0, 3, 0.0F, true)); + + this.hip = new AdvancedModelRenderer(this); + this.hip.setRotationPoint(0.0F, 0.1667F, -0.3333F); + this.root.addChild(hip); + this.hip.cubeList.add(new ModelBox(hip, 21, 20, -1.5F, -1.5F, -1.5F, 3, 3, 3, 0.0F, false)); + + this.tail = new AdvancedModelRenderer(this); + this.tail.setRotationPoint(0.0F, -1.35F, 1.0F); + this.hip.addChild(tail); + this.tail.cubeList.add(new ModelBox(tail, 16, 27, -1.0F, 0.0F, 0.0F, 2, 2, 3, 0.0F, false)); + + this.tail2 = new AdvancedModelRenderer(this); + this.tail2.setRotationPoint(0.0F, 0.75F, 2.5F); + this.tail.addChild(tail2); + this.tail2.cubeList.add(new ModelBox(tail2, 0, 27, -0.5F, -0.5F, 0.0F, 1, 1, 4, 0.0F, false)); + + this.tail3 = new AdvancedModelRenderer(this); + this.tail3.setRotationPoint(0.0F, 0.0F, 3.5F); + this.tail2.addChild(tail3); + this.tail3.cubeList.add(new ModelBox(tail3, 25, 7, -0.5F, -0.5F, 0.0F, 1, 1, 4, 0.001F, false)); + + this.tail4 = new AdvancedModelRenderer(this); + this.tail4.setRotationPoint(0.0F, 0.0F, 3.5F); + this.tail3.addChild(tail4); + this.tail4.cubeList.add(new ModelBox(tail4, 9, 15, -0.5F, -0.5F, 0.0F, 1, 1, 6, 0.0F, false)); + + this.tail5 = new AdvancedModelRenderer(this); + this.tail5.setRotationPoint(0.0F, 0.0F, 5.5F); + this.tail4.addChild(tail5); + this.tail5.cubeList.add(new ModelBox(tail5, 0, 13, -0.5F, -0.5F, 0.0F, 1, 1, 6, -0.001F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -1.2F, -0.75F); + this.hip.addChild(body); + this.body.cubeList.add(new ModelBox(body, 0, 0, -2.0F, -0.4891F, -8.0002F, 4, 4, 8, 0.0F, false)); + + this.body2 = new AdvancedModelRenderer(this); + this.body2.setRotationPoint(-0.5F, 0.0109F, -7.5002F); + this.body.addChild(body2); + this.body2.cubeList.add(new ModelBox(body2, 18, 13, -1.0F, -0.3154F, -2.7471F, 3, 3, 3, 0.0F, false)); + + this.frontLeftLeg = new AdvancedModelRenderer(this); + this.frontLeftLeg.setRotationPoint(1.65F, 1.9346F, -1.2471F); + this.body2.addChild(frontLeftLeg); + this.setRotateAngle(frontLeftLeg, -0.9599F, 0.7854F, 0.0F); + this.frontLeftLeg.cubeList.add(new ModelBox(frontLeftLeg, 17, 0, -0.4697F, -0.4184F, -0.1568F, 1, 1, 5, 0.0F, false)); + + this.frontLeftLeg2 = new AdvancedModelRenderer(this); + this.frontLeftLeg2.setRotationPoint(0.0303F, -0.0184F, 4.5432F); + this.frontLeftLeg.addChild(frontLeftLeg2); + this.setRotateAngle(frontLeftLeg2, -0.5673F, 0.6092F, 0.6147F); + this.frontLeftLeg2.cubeList.add(new ModelBox(frontLeftLeg2, 32, 4, -0.5F, -0.5F, 0.0F, 1, 1, 4, -0.001F, false)); + + this.frontLeftLeg3 = new AdvancedModelRenderer(this); + this.frontLeftLeg3.setRotationPoint(0.0F, 0.0F, 3.75F); + this.frontLeftLeg2.addChild(frontLeftLeg3); + this.setRotateAngle(frontLeftLeg3, 0.0852F, -0.2185F, 0.0078F); + this.frontLeftLeg3.cubeList.add(new ModelBox(frontLeftLeg3, 9, 36, -0.5F, -1.5F, 0.0F, 4, 3, 0, 0.0F, false)); + + this.frontRightLeg = new AdvancedModelRenderer(this); + this.frontRightLeg.setRotationPoint(-0.65F, 1.9346F, -1.2471F); + this.body2.addChild(frontRightLeg); + this.setRotateAngle(frontRightLeg, -0.9599F, -0.7854F, 0.0F); + this.frontRightLeg.cubeList.add(new ModelBox(frontRightLeg, 17, 0, -0.5303F, -0.4184F, -0.1568F, 1, 1, 5, 0.0F, true)); + + this.frontRightLeg2 = new AdvancedModelRenderer(this); + this.frontRightLeg2.setRotationPoint(-0.0303F, -0.0184F, 4.5432F); + this.frontRightLeg.addChild(frontRightLeg2); + this.setRotateAngle(frontRightLeg2, -0.5673F, -0.6092F, -0.6147F); + this.frontRightLeg2.cubeList.add(new ModelBox(frontRightLeg2, 32, 4, -0.5F, -0.5F, 0.0F, 1, 1, 4, -0.001F, true)); + + this.frontRightLeg3 = new AdvancedModelRenderer(this); + this.frontRightLeg3.setRotationPoint(0.0F, 0.0F, 3.75F); + this.frontRightLeg2.addChild(frontRightLeg3); + this.setRotateAngle(frontRightLeg3, 0.0852F, 0.2185F, -0.0078F); + this.frontRightLeg3.cubeList.add(new ModelBox(frontRightLeg3, 9, 36, -3.5F, -1.5F, 0.0F, 4, 3, 0, 0.0F, true)); + + this.neck = new AdvancedModelRenderer(this); + this.neck.setRotationPoint(0.0F, -0.0654F, -2.0721F); + this.body2.addChild(neck); + this.setRotateAngle(neck, -0.3491F, 0.0F, 0.0F); + this.neck.cubeList.add(new ModelBox(neck, 8, 24, -0.5F, -0.0197F, -2.9901F, 2, 2, 3, 0.0F, false)); + + this.neck2 = new AdvancedModelRenderer(this); + this.neck2.setRotationPoint(0.0F, 0.0F, -2.5F); + this.neck.addChild(neck2); + this.setRotateAngle(neck2, -0.2007F, 0.0F, 0.0F); + this.neck2.cubeList.add(new ModelBox(neck2, 0, 21, -0.5F, -0.0197F, -2.9901F, 2, 2, 3, 0.001F, false)); + + this.neck3 = new AdvancedModelRenderer(this); + this.neck3.setRotationPoint(0.0F, 0.0F, -2.5F); + this.neck2.addChild(neck3); + this.setRotateAngle(neck3, 0.1745F, 0.0F, 0.0F); + this.neck3.cubeList.add(new ModelBox(neck3, 31, 13, -0.5F, 0.1303F, -2.9401F, 2, 2, 3, -0.001F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(0.0F, -0.7447F, -1.8401F); + this.neck3.addChild(cube_r1); + this.setRotateAngle(cube_r1, -0.1134F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 24, 27, -0.5F, -0.0027F, -0.9957F, 2, 1, 1, 0.001F, false)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(0.0F, -0.5197F, -0.9901F); + this.neck3.addChild(cube_r2); + this.setRotateAngle(cube_r2, -0.2618F, 0.0F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 6, 40, -0.5F, 0.0F, -0.875F, 2, 1, 2, 0.0F, false)); + + this.neck4 = new AdvancedModelRenderer(this); + this.neck4.setRotationPoint(0.0F, -0.8697F, -2.7651F); + this.neck3.addChild(neck4); + this.setRotateAngle(neck4, 0.1309F, 0.0F, 0.0F); + this.neck4.cubeList.add(new ModelBox(neck4, 27, 33, -0.5F, 0.0F, -2.0F, 2, 3, 2, 0.0F, false)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.0F, 0.0F, -2.0F); + this.neck4.addChild(head); + this.setRotateAngle(head, 0.3054F, 0.0F, 0.0F); + this.head.cubeList.add(new ModelBox(head, 34, 19, -0.5F, 0.0F, -2.0F, 2, 2, 2, 0.002F, false)); + this.head.cubeList.add(new ModelBox(head, 0, 33, 0.0F, 1.0F, -4.6F, 1, 1, 3, -0.001F, false)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(0.5F, 0.0F, -2.0F); + this.head.addChild(cube_r3); + this.setRotateAngle(cube_r3, 0.3491F, 0.0F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 27, 27, -0.5F, 0.0F, -4.0F, 1, 1, 4, 0.0F, false)); + + this.jaw = new AdvancedModelRenderer(this); + this.jaw.setRotationPoint(0.0F, 2.0F, 0.0F); + this.head.addChild(jaw); + this.jaw.cubeList.add(new ModelBox(jaw, 7, 30, 0.0F, 0.0F, -5.5F, 1, 1, 4, -0.001F, false)); + this.jaw.cubeList.add(new ModelBox(jaw, 20, 40, -0.5F, 0.0F, -2.0F, 2, 1, 2, 0.001F, false)); + this.jaw.cubeList.add(new ModelBox(jaw, 34, 24, -0.5F, -1.5F, -1.4F, 2, 2, 2, -0.01F, false)); + + this.eye = new AdvancedModelRenderer(this); + this.eye.setRotationPoint(0.5F, 0.8012F, -1.9176F); + this.head.addChild(eye); + + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(-0.625F, 0.0022F, -0.0083F); + this.eye.addChild(cube_r4); + this.setRotateAngle(cube_r4, 0.2778F, -0.3367F, -0.0939F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 9, 13, -0.475F, -0.5F, -0.5F, 1, 1, 1, 0.0F, true)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(0.625F, 0.0022F, -0.0083F); + this.eye.addChild(cube_r5); + this.setRotateAngle(cube_r5, 0.2778F, 0.3367F, 0.0939F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 9, 13, -0.525F, -0.5F, -0.5F, 1, 1, 1, 0.0F, false)); + + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.root.render(f5); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.root.offsetY = 0.2F; + this.root.offsetX = 0.35F; + this.root.offsetZ = 2.0F; + this.root.rotateAngleY = (float)Math.toRadians(120); + this.root.rotateAngleX = (float)Math.toRadians(1); + this.root.rotateAngleZ = (float)Math.toRadians(0); + this.root.scaleChildren = true; + float scaler = 0.6F; + this.root.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.root.render(f); + //Reset rotations, positions and sizing: + this.root.setScale(1.0F, 1.0F, 1.0F); + this.root.scaleChildren = false; + resetToDefaultPose(); + + } + + public void renderStaticWall(float f) { + resetToDefaultPose(); + } + + public void renderStaticFloor(float f) { + this.root.offsetY = -0.105F; + this.root.render(0.01F); + resetToDefaultPose(); + } + + public void setRotateAngle(AdvancedModelRenderer AdvancedModelRenderer, float x, float y, float z) { + AdvancedModelRenderer.rotateAngleX = x; + AdvancedModelRenderer.rotateAngleY = y; + AdvancedModelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + + EntityPrehistoricFloraLangobardisaurus EntityMegalosaurus = (EntityPrehistoricFloraLangobardisaurus) e; + + this.faceTarget(f3, f4, 8, head); + + AdvancedModelRenderer[] Tail = {this.tail, this.tail2, this.tail3}; + AdvancedModelRenderer[] Neck = {this.head}; + + EntityMegalosaurus.tailBuffer.applyChainSwingBuffer(Tail); + + if (EntityMegalosaurus.getAnimation() == EntityMegalosaurus.LAY_ANIMATION) { + this.chainSwing(Neck, 0.5F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.5F * 2, -0.02F, 0.5F, f2, 0.8F); + } + else { + if (!EntityMegalosaurus.isReallyInWater()) { + + if (f3 == 0.0F || !EntityMegalosaurus.getIsMoving()) { + this.chainSwing(Neck, 0.05F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.05F * 2, -0.02F, 0.5F, f2, 0.8F); + + this.chainWave(Tail, (0.15F * 0.35F), 0.125F * 0.15F, 0.2F, f2, 1F); + this.chainSwing(Tail, (0.15F * 0.35F) * 4F, 0.05F * 0.35F, 0.12F, f2, 1F); + + return; + } + + if (EntityMegalosaurus.getIsFast()) { //Running + + + } else { //Walking + + } + } else { + //Swimming pose: + if (f3 == 0.0F) { //static in water + return; + } + //moving in water + return; + } + } + } + + public void animEat(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLangobardisaurus entity = (EntityPrehistoricFloraLangobardisaurus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (21-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 21 + (((tickAnim - 10) / 10) * (0-(21))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (11-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 11 + (((tickAnim - 10) / 10) * (0-(11))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(xx), neck2.rotateAngleY + (float) Math.toRadians(yy), neck2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (29-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 29 + (((tickAnim - 10) / 10) * (0-(29))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(xx), neck3.rotateAngleY + (float) Math.toRadians(yy), neck3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (20.75-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 20.75 + (((tickAnim - 5) / 5) * (0-(20.75))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck4, neck4.rotateAngleX + (float) Math.toRadians(xx), neck4.rotateAngleY + (float) Math.toRadians(yy), neck4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (30.5-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 30.5 + (((tickAnim - 8) / 2) * (0-(30.5))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + } + public void animRunning(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLangobardisaurus entity = (EntityPrehistoricFloraLangobardisaurus) entitylivingbaseIn; + int animCycle = 10; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(-23.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5))*-10), root.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*10), root.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-100))*10)); + this.root.rotationPointX = this.root.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*-1); + this.root.rotationPointY = this.root.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*-1.5); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -25.75 + (((tickAnim - 0) / 5) * (49.05333-(-25.75))); + yy = 0 + (((tickAnim - 0) / 5) * (14.22637-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (-18.40342-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 49.05333 + (((tickAnim - 5) / 3) * (-9.11141-(49.05333))); + yy = 14.22637 + (((tickAnim - 5) / 3) * (6.39844-(14.22637))); + zz = -18.40342 + (((tickAnim - 5) / 3) * (-60.36532-(-18.40342))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -9.11141 + (((tickAnim - 8) / 2) * (-25.75-(-9.11141))); + yy = 6.39844 + (((tickAnim - 8) / 2) * (0-(6.39844))); + zz = -60.36532 + (((tickAnim - 8) / 2) * (0-(-60.36532))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg, backLeftLeg.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = -8.25 + (((tickAnim - 0) / 3) * (23.12-(-8.25))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 23.12 + (((tickAnim - 3) / 2) * (16.25-(23.12))); + yy = 0 + (((tickAnim - 3) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 16.25 + (((tickAnim - 5) / 2) * (35.12-(16.25))); + yy = 0 + (((tickAnim - 5) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = 35.12 + (((tickAnim - 7) / 3) * (-8.25-(35.12))); + yy = 0 + (((tickAnim - 7) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 7) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg2, backLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = -2.5 + (((tickAnim - 0) / 1) * (-34.96-(-2.5))); + yy = 0 + (((tickAnim - 0) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 2) { + xx = -34.96 + (((tickAnim - 1) / 1) * (-57.22-(-34.96))); + yy = 0 + (((tickAnim - 1) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 1) / 1) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = -57.22 + (((tickAnim - 2) / 3) * (0-(-57.22))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 3) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (-66.13-(0))); + yy = 0 + (((tickAnim - 5) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = -66.13 + (((tickAnim - 7) / 1) * (-66.13-(-66.13))); + yy = 0 + (((tickAnim - 7) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 7) / 1) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = -66.13 + (((tickAnim - 8) / 2) * (-2.5-(-66.13))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg3, backLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0.5-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 0 + (((tickAnim - 2) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = 0.5 + (((tickAnim - 2) / 3) * (0-(0.5))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 2) * (-0.275-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 0 + (((tickAnim - 7) / 1) * (0-(0))); + yy = -0.275 + (((tickAnim - 7) / 1) * (-0.275-(-0.275))); + zz = 0 + (((tickAnim - 7) / 1) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = -0.275 + (((tickAnim - 8) / 2) * (0-(-0.275))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg3.rotationPointX = this.backLeftLeg3.rotationPointX + (float)(xx); + this.backLeftLeg3.rotationPointY = this.backLeftLeg3.rotationPointY - (float)(yy); + this.backLeftLeg3.rotationPointZ = this.backLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 27 + (((tickAnim - 0) / 1) * (64.95285-(27))); + yy = 0 + (((tickAnim - 0) / 1) * (-7.40199-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (5.96643-(0))); + } + else if (tickAnim >= 1 && tickAnim < 2) { + xx = 64.95285 + (((tickAnim - 1) / 1) * (57.00879-(64.95285))); + yy = -7.40199 + (((tickAnim - 1) / 1) * (-5.70398-(-7.40199))); + zz = 5.96643 + (((tickAnim - 1) / 1) * (7.81892-(5.96643))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 57.00879 + (((tickAnim - 2) / 1) * (31.86986-(57.00879))); + yy = -5.70398 + (((tickAnim - 2) / 1) * (-2.99184-(-5.70398))); + zz = 7.81892 + (((tickAnim - 2) / 1) * (7.15048-(7.81892))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 31.86986 + (((tickAnim - 3) / 2) * (144.5-(31.86986))); + yy = -2.99184 + (((tickAnim - 3) / 2) * (0-(-2.99184))); + zz = 7.15048 + (((tickAnim - 3) / 2) * (0-(7.15048))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 144.5 + (((tickAnim - 5) / 2) * (181.5-(144.5))); + yy = 0 + (((tickAnim - 5) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 2) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 181.5 + (((tickAnim - 7) / 1) * (100.17-(181.5))); + yy = 0 + (((tickAnim - 7) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 7) / 1) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 100.17 + (((tickAnim - 8) / 2) * (27-(100.17))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg4, backLeftLeg4.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg4.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0.575-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 0 + (((tickAnim - 2) / 1) * (0-(0))); + yy = 0.575 + (((tickAnim - 2) / 1) * (0-(0.575))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 3) { + xx = 0 + (((tickAnim - 3) / 0) * (0-(0))); + yy = 0 + (((tickAnim - 3) / 0) * (0.63-(0))); + zz = 0 + (((tickAnim - 3) / 0) * (-0.12-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = 0.63 + (((tickAnim - 3) / 2) * (-0.175-(0.63))); + zz = -0.12 + (((tickAnim - 3) / 2) * (-0.175-(-0.12))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0 + (((tickAnim - 5) / 2) * (0-(0))); + yy = -0.175 + (((tickAnim - 5) / 2) * (-0.175-(-0.175))); + zz = -0.175 + (((tickAnim - 5) / 2) * (-0.175-(-0.175))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = 0 + (((tickAnim - 7) / 3) * (0-(0))); + yy = -0.175 + (((tickAnim - 7) / 3) * (0-(-0.175))); + zz = -0.175 + (((tickAnim - 7) / 3) * (0-(-0.175))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg4.rotationPointX = this.backLeftLeg4.rotationPointX + (float)(xx); + this.backLeftLeg4.rotationPointY = this.backLeftLeg4.rotationPointY - (float)(yy); + this.backLeftLeg4.rotationPointZ = this.backLeftLeg4.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 51.30333 + (((tickAnim - 0) / 3) * (-8.49332-(51.30333))); + yy = -14.22637 + (((tickAnim - 0) / 3) * (-6.70988-(-14.22637))); + zz = 18.40342 + (((tickAnim - 0) / 3) * (57.80895-(18.40342))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -8.49332 + (((tickAnim - 3) / 2) * (-25.75-(-8.49332))); + yy = -6.70988 + (((tickAnim - 3) / 2) * (0-(-6.70988))); + zz = 57.80895 + (((tickAnim - 3) / 2) * (0-(57.80895))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -25.75 + (((tickAnim - 5) / 5) * (51.30333-(-25.75))); + yy = 0 + (((tickAnim - 5) / 5) * (-14.22637-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (18.40342-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg, backRightLeg.rotateAngleX + (float) Math.toRadians(xx), backRightLeg.rotateAngleY + (float) Math.toRadians(yy), backRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 16.25 + (((tickAnim - 0) / 2) * (35.12-(16.25))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 35.12 + (((tickAnim - 2) / 3) * (-8.25-(35.12))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 3) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -8.25 + (((tickAnim - 5) / 3) * (23.12-(-8.25))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 23.12 + (((tickAnim - 8) / 2) * (16.25-(23.12))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg2, backRightLeg2.rotateAngleX + (float) Math.toRadians(xx), backRightLeg2.rotateAngleY + (float) Math.toRadians(yy), backRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-66.13-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = -66.13 + (((tickAnim - 2) / 1) * (-66.13-(-66.13))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -66.13 + (((tickAnim - 3) / 2) * (-2.5-(-66.13))); + yy = 0 + (((tickAnim - 3) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 6) { + xx = -2.5 + (((tickAnim - 5) / 1) * (-34.96-(-2.5))); + yy = 0 + (((tickAnim - 5) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 1) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 7) { + xx = -34.96 + (((tickAnim - 6) / 1) * (-49.22-(-34.96))); + yy = 0 + (((tickAnim - 6) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 6) / 1) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = -49.22 + (((tickAnim - 7) / 3) * (0-(-49.22))); + yy = 0 + (((tickAnim - 7) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 7) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg3, backRightLeg3.rotateAngleX + (float) Math.toRadians(xx), backRightLeg3.rotateAngleY + (float) Math.toRadians(yy), backRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (-0.275-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 0 + (((tickAnim - 2) / 1) * (0-(0))); + yy = -0.275 + (((tickAnim - 2) / 1) * (-0.275-(-0.275))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = -0.275 + (((tickAnim - 3) / 2) * (0-(-0.275))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg3.rotationPointX = this.backRightLeg3.rotationPointX + (float)(xx); + this.backRightLeg3.rotationPointY = this.backRightLeg3.rotationPointY - (float)(yy); + this.backRightLeg3.rotationPointZ = this.backRightLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 144.5 + (((tickAnim - 0) / 2) * (181.5-(144.5))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 3) { + xx = 181.5 + (((tickAnim - 2) / 1) * (100.17-(181.5))); + yy = 0 + (((tickAnim - 2) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 1) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 100.17 + (((tickAnim - 3) / 2) * (27-(100.17))); + yy = 0 + (((tickAnim - 3) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 6) { + xx = 27 + (((tickAnim - 5) / 1) * (64.95285-(27))); + yy = 0 + (((tickAnim - 5) / 1) * (7.40199-(0))); + zz = 0 + (((tickAnim - 5) / 1) * (-5.96643-(0))); + } + else if (tickAnim >= 6 && tickAnim < 7) { + xx = 64.95285 + (((tickAnim - 6) / 1) * (56.00879-(64.95285))); + yy = 7.40199 + (((tickAnim - 6) / 1) * (5.70398-(7.40199))); + zz = -5.96643 + (((tickAnim - 6) / 1) * (-7.81892-(-5.96643))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 56.00879 + (((tickAnim - 7) / 1) * (31.86986-(56.00879))); + yy = 5.70398 + (((tickAnim - 7) / 1) * (2.99184-(5.70398))); + zz = -7.81892 + (((tickAnim - 7) / 1) * (-7.15048-(-7.81892))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 31.86986 + (((tickAnim - 8) / 2) * (144.5-(31.86986))); + yy = 2.99184 + (((tickAnim - 8) / 2) * (0-(2.99184))); + zz = -7.15048 + (((tickAnim - 8) / 2) * (0-(-7.15048))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg4, backRightLeg4.rotateAngleX + (float) Math.toRadians(xx), backRightLeg4.rotateAngleY + (float) Math.toRadians(yy), backRightLeg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = -0.175 + (((tickAnim - 0) / 2) * (-0.175-(-0.175))); + zz = -0.175 + (((tickAnim - 0) / 2) * (-0.175-(-0.175))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 0 + (((tickAnim - 2) / 3) * (0-(0))); + yy = -0.175 + (((tickAnim - 2) / 3) * (0-(-0.175))); + zz = -0.175 + (((tickAnim - 2) / 3) * (0-(-0.175))); + } + else if (tickAnim >= 5 && tickAnim < 6) { + xx = 0 + (((tickAnim - 5) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 1) * (1.15-(0))); + zz = 0 + (((tickAnim - 5) / 1) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 7) { + xx = 0 + (((tickAnim - 6) / 1) * (0-(0))); + yy = 1.15 + (((tickAnim - 6) / 1) * (1.35-(1.15))); + zz = 0 + (((tickAnim - 6) / 1) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 0 + (((tickAnim - 7) / 1) * (0-(0))); + yy = 1.35 + (((tickAnim - 7) / 1) * (1.055-(1.35))); + zz = 0 + (((tickAnim - 7) / 1) * (-0.12-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 1.055 + (((tickAnim - 8) / 2) * (-0.175-(1.055))); + zz = -0.12 + (((tickAnim - 8) / 2) * (-0.175-(-0.12))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg4.rotationPointX = this.backRightLeg4.rotationPointX + (float)(xx); + this.backRightLeg4.rotationPointY = this.backRightLeg4.rotationPointY - (float)(yy); + this.backRightLeg4.rotationPointZ = this.backRightLeg4.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(8.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5))*-10), tail.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-100))*10), tail.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*10)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(7-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*-10), tail2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*10), tail2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-200))*10)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(7.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-100))*-10), tail3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-200))*20), tail3.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-200))*10)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(6.1356282328-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*-10), tail4.rotateAngleY + (float) Math.toRadians(1.7058476961-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-250))*30), tail4.rotateAngleZ + (float) Math.toRadians(-1.2151061328+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-250))*10)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(-7.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-100))*-10), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*-40), tail5.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*-10)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-2.5-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*10), body.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-100))*-12), body.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-100))*-12)); + + + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(-7-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-250))*5), body2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-50))*-12), body2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-150))*12)); + + + this.setRotateAngle(frontLeftLeg, frontLeftLeg.rotateAngleX + (float) Math.toRadians(57.5), frontLeftLeg.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*5), frontLeftLeg.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-250))*15)); + + + this.setRotateAngle(frontLeftLeg2, frontLeftLeg2.rotateAngleX + (float) Math.toRadians(0), frontLeftLeg2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-50))*10), frontLeftLeg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(frontLeftLeg3, frontLeftLeg3.rotateAngleX + (float) Math.toRadians(0), frontLeftLeg3.rotateAngleY + (float) Math.toRadians(-110.25), frontLeftLeg3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(frontRightLeg, frontRightLeg.rotateAngleX + (float) Math.toRadians(57.5), frontRightLeg.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*5), frontRightLeg.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-250))*15)); + + + this.setRotateAngle(frontRightLeg2, frontRightLeg2.rotateAngleX + (float) Math.toRadians(0), frontRightLeg2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720/0.5-150))*10), frontRightLeg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(frontRightLeg3, frontRightLeg3.rotateAngleX + (float) Math.toRadians(0), frontRightLeg3.rotateAngleY + (float) Math.toRadians(110.25), frontRightLeg3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-2.5), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-80))*-12), neck.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-80))*-12)); + + + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(-3.25), neck2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-140))*12), neck2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(17.25), neck3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-200))*-12), neck3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck4, neck4.rotateAngleX + (float) Math.toRadians(12.5), neck4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*720-250))*-12), neck4.rotateAngleZ + (float) Math.toRadians(0)); + + + } + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLangobardisaurus entity = (EntityPrehistoricFloraLangobardisaurus) entitylivingbaseIn;int animCycle = 20; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(root, root.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-70))*-1.5), root.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-70))*3), root.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-70))*-4)); + this.root.rotationPointX = this.root.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-70))*0.3); + this.root.rotationPointY = this.root.rotationPointY - (float)(0); + this.root.rotationPointZ = this.root.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-70))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 19.87631 + (((tickAnim - 0) / 5) * (-13.22946-(19.87631))); + yy = -11.86245 + (((tickAnim - 0) / 5) * (-14.32267-(-11.86245))); + zz = -4.68385 + (((tickAnim - 0) / 5) * (-17.97773-(-4.68385))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -13.22946 + (((tickAnim - 5) / 5) * (-46.29537-(-13.22946))); + yy = -14.32267 + (((tickAnim - 5) / 5) * (-2.31163-(-14.32267))); + zz = -17.97773 + (((tickAnim - 5) / 5) * (-17.90027-(-17.97773))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -46.29537 + (((tickAnim - 10) / 10) * (19.87631-(-46.29537))); + yy = -2.31163 + (((tickAnim - 10) / 10) * (-11.86245-(-2.31163))); + zz = -17.90027 + (((tickAnim - 10) / 10) * (-4.68385-(-17.90027))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg, backLeftLeg.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 8.25 + (((tickAnim - 0) / 3) * (34.19-(8.25))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 10) { + xx = 34.19 + (((tickAnim - 3) / 7) * (0-(34.19))); + yy = 0 + (((tickAnim - 3) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 7) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (14.37-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 14.37 + (((tickAnim - 15) / 5) * (8.25-(14.37))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg2, backLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (-52.75-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = -52.75 + (((tickAnim - 3) / 3) * (-100.25-(-52.75))); + yy = 0 + (((tickAnim - 3) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 3) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = -100.25 + (((tickAnim - 6) / 4) * (0-(-100.25))); + yy = 0 + (((tickAnim - 6) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 6) / 4) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 0 + (((tickAnim - 10) / 2) * (-27.25-(0))); + yy = 0 + (((tickAnim - 10) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 2) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -27.25 + (((tickAnim - 12) / 3) * (-46.3-(-27.25))); + yy = 0 + (((tickAnim - 12) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 3) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -46.3 + (((tickAnim - 15) / 5) * (0-(-46.3))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg3, backLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 0 + (((tickAnim - 3) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 3) / 3) * (-0.65-(0))); + zz = 0 + (((tickAnim - 3) / 3) * (0-(0))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = 0 + (((tickAnim - 6) / 4) * (0-(0))); + yy = -0.65 + (((tickAnim - 6) / 4) * (0-(-0.65))); + zz = 0 + (((tickAnim - 6) / 4) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg3.rotationPointX = this.backLeftLeg3.rotationPointX + (float)(xx); + this.backLeftLeg3.rotationPointY = this.backLeftLeg3.rotationPointY - (float)(yy); + this.backLeftLeg3.rotationPointZ = this.backLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 97.25 + (((tickAnim - 0) / 3) * (173.66403-(97.25))); + yy = 0 + (((tickAnim - 0) / 3) * (1.66705-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-2.98456-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 173.66403 + (((tickAnim - 3) / 3) * (143.41403-(173.66403))); + yy = 1.66705 + (((tickAnim - 3) / 3) * (-1.66705-(1.66705))); + zz = -2.98456 + (((tickAnim - 3) / 3) * (2.98456-(-2.98456))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = 143.41403 + (((tickAnim - 6) / 4) * (42.99208-(143.41403))); + yy = -1.66705 + (((tickAnim - 6) / 4) * (-5.00115-(-1.66705))); + zz = 2.98456 + (((tickAnim - 6) / 4) * (8.95367-(2.98456))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 42.99208 + (((tickAnim - 10) / 2) * (58.03507-(42.99208))); + yy = -5.00115 + (((tickAnim - 10) / 2) * (-4.16763-(-5.00115))); + zz = 8.95367 + (((tickAnim - 10) / 2) * (7.46139-(8.95367))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 58.03507 + (((tickAnim - 12) / 3) * (52.99011-(58.03507))); + yy = -4.16763 + (((tickAnim - 12) / 3) * (-6.07391-(-4.16763))); + zz = 7.46139 + (((tickAnim - 12) / 3) * (8.33066-(7.46139))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 52.99011 + (((tickAnim - 15) / 3) * (22.87005-(52.99011))); + yy = -6.07391 + (((tickAnim - 15) / 3) * (-3.03695-(-6.07391))); + zz = 8.33066 + (((tickAnim - 15) / 3) * (4.16533-(8.33066))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 22.87005 + (((tickAnim - 18) / 2) * (97.25-(22.87005))); + yy = -3.03695 + (((tickAnim - 18) / 2) * (0-(-3.03695))); + zz = 4.16533 + (((tickAnim - 18) / 2) * (0-(4.16533))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg4, backLeftLeg4.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg4.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0.225-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-0.45-(0))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 0 + (((tickAnim - 3) / 3) * (0-(0))); + yy = 0.225 + (((tickAnim - 3) / 3) * (0.225-(0.225))); + zz = -0.45 + (((tickAnim - 3) / 3) * (-0.625-(-0.45))); + } + else if (tickAnim >= 6 && tickAnim < 10) { + xx = 0 + (((tickAnim - 6) / 4) * (0-(0))); + yy = 0.225 + (((tickAnim - 6) / 4) * (0-(0.225))); + zz = -0.625 + (((tickAnim - 6) / 4) * (0-(-0.625))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg4.rotationPointX = this.backLeftLeg4.rotationPointX + (float)(xx); + this.backLeftLeg4.rotationPointY = this.backLeftLeg4.rotationPointY - (float)(yy); + this.backLeftLeg4.rotationPointZ = this.backLeftLeg4.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = -46.29537 + (((tickAnim - 0) / 10) * (19.87631-(-46.29537))); + yy = 2.31163 + (((tickAnim - 0) / 10) * (11.86245-(2.31163))); + zz = 17.90027 + (((tickAnim - 0) / 10) * (4.68385-(17.90027))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 19.87631 + (((tickAnim - 10) / 5) * (-13.22946-(19.87631))); + yy = 11.86245 + (((tickAnim - 10) / 5) * (14.32267-(11.86245))); + zz = 4.68385 + (((tickAnim - 10) / 5) * (17.97773-(4.68385))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -13.22946 + (((tickAnim - 15) / 5) * (-46.29537-(-13.22946))); + yy = 14.32267 + (((tickAnim - 15) / 5) * (2.31163-(14.32267))); + zz = 17.97773 + (((tickAnim - 15) / 5) * (17.90027-(17.97773))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg, backRightLeg.rotateAngleX + (float) Math.toRadians(xx), backRightLeg.rotateAngleY + (float) Math.toRadians(yy), backRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (14.37-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 14.37 + (((tickAnim - 5) / 5) * (8.25-(14.37))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 8.25 + (((tickAnim - 10) / 3) * (34.19-(8.25))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 34.19 + (((tickAnim - 13) / 7) * (0-(34.19))); + yy = 0 + (((tickAnim - 13) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg2, backRightLeg2.rotateAngleX + (float) Math.toRadians(xx), backRightLeg2.rotateAngleY + (float) Math.toRadians(yy), backRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-27.25-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (0-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = -27.25 + (((tickAnim - 2) / 3) * (-46.3-(-27.25))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 2) / 3) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -46.3 + (((tickAnim - 5) / 5) * (0-(-46.3))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (-52.75-(0))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = -52.75 + (((tickAnim - 13) / 3) * (-100.25-(-52.75))); + yy = 0 + (((tickAnim - 13) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 3) * (0-(0))); + } + else if (tickAnim >= 16 && tickAnim < 20) { + xx = -100.25 + (((tickAnim - 16) / 4) * (0-(-100.25))); + yy = 0 + (((tickAnim - 16) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 16) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg3, backRightLeg3.rotateAngleX + (float) Math.toRadians(xx), backRightLeg3.rotateAngleY + (float) Math.toRadians(yy), backRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 13) { + xx = 0 + (((tickAnim - 0) / 13) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 13) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 13) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = 0 + (((tickAnim - 13) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 13) / 3) * (-0.65-(0))); + zz = 0 + (((tickAnim - 13) / 3) * (0-(0))); + } + else if (tickAnim >= 16 && tickAnim < 20) { + xx = 0 + (((tickAnim - 16) / 4) * (0-(0))); + yy = -0.65 + (((tickAnim - 16) / 4) * (0-(-0.65))); + zz = 0 + (((tickAnim - 16) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg3.rotationPointX = this.backRightLeg3.rotationPointX + (float)(xx); + this.backRightLeg3.rotationPointY = this.backRightLeg3.rotationPointY - (float)(yy); + this.backRightLeg3.rotationPointZ = this.backRightLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 42.99208 + (((tickAnim - 0) / 2) * (58.03507-(42.99208))); + yy = 5.00115 + (((tickAnim - 0) / 2) * (4.16763-(5.00115))); + zz = -8.95367 + (((tickAnim - 0) / 2) * (-7.46139-(-8.95367))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 58.03507 + (((tickAnim - 2) / 3) * (52.99011-(58.03507))); + yy = 4.16763 + (((tickAnim - 2) / 3) * (6.07391-(4.16763))); + zz = -7.46139 + (((tickAnim - 2) / 3) * (-8.33066-(-7.46139))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 52.99011 + (((tickAnim - 5) / 3) * (22.87005-(52.99011))); + yy = 6.07391 + (((tickAnim - 5) / 3) * (3.03695-(6.07391))); + zz = -8.33066 + (((tickAnim - 5) / 3) * (-4.16533-(-8.33066))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 22.87005 + (((tickAnim - 8) / 2) * (97.25-(22.87005))); + yy = 3.03695 + (((tickAnim - 8) / 2) * (0-(3.03695))); + zz = -4.16533 + (((tickAnim - 8) / 2) * (0-(-4.16533))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 97.25 + (((tickAnim - 10) / 3) * (173.66403-(97.25))); + yy = 0 + (((tickAnim - 10) / 3) * (1.66705-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (-2.98456-(0))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = 173.66403 + (((tickAnim - 13) / 3) * (143.41403-(173.66403))); + yy = 1.66705 + (((tickAnim - 13) / 3) * (1.66705-(1.66705))); + zz = -2.98456 + (((tickAnim - 13) / 3) * (-2.98456-(-2.98456))); + } + else if (tickAnim >= 16 && tickAnim < 20) { + xx = 143.41403 + (((tickAnim - 16) / 4) * (42.99208-(143.41403))); + yy = 1.66705 + (((tickAnim - 16) / 4) * (5.00115-(1.66705))); + zz = -2.98456 + (((tickAnim - 16) / 4) * (-8.95367-(-2.98456))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg4, backRightLeg4.rotateAngleX + (float) Math.toRadians(xx), backRightLeg4.rotateAngleY + (float) Math.toRadians(yy), backRightLeg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 3) * (0.225-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (-0.45-(0))); + } + else if (tickAnim >= 13 && tickAnim < 16) { + xx = 0 + (((tickAnim - 13) / 3) * (0-(0))); + yy = 0.225 + (((tickAnim - 13) / 3) * (0.225-(0.225))); + zz = -0.45 + (((tickAnim - 13) / 3) * (-0.625-(-0.45))); + } + else if (tickAnim >= 16 && tickAnim < 20) { + xx = 0 + (((tickAnim - 16) / 4) * (0-(0))); + yy = 0.225 + (((tickAnim - 16) / 4) * (0-(0.225))); + zz = -0.625 + (((tickAnim - 16) / 4) * (0-(-0.625))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg4.rotationPointX = this.backRightLeg4.rotationPointX + (float)(xx); + this.backRightLeg4.rotationPointY = this.backRightLeg4.rotationPointY - (float)(yy); + this.backRightLeg4.rotationPointZ = this.backRightLeg4.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(hip, hip.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-80))*-2), hip.rotateAngleY + (float) Math.toRadians(0), hip.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-80))*5)); + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-80))*-2), tail.rotateAngleY + (float) Math.toRadians(0), tail.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-80))*5)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-150))*-2), tail2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*5), tail2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*5)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-200))*-2), tail3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*5), tail3.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*5)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-250))*-2), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*5), tail4.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*5)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-300))*-2), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-300))*5), tail5.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-300))*5)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-80))*3), body.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-120))*-4), body.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-120))*-4)); + this.body.rotationPointX = this.body.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-70))*0.15); + this.body.rotationPointY = this.body.rotationPointY - (float)(0); + this.body.rotationPointZ = this.body.rotationPointZ + (float)(0); + + + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-80))*-3), body2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*6), body2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-120))*4)); + this.body2.rotationPointX = this.body2.rotationPointX + (float)(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-70))*-0.15); + this.body2.rotationPointY = this.body2.rotationPointY - (float)(0); + this.body2.rotationPointZ = this.body2.rotationPointZ + (float)(0); + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = -53.94683 + (((tickAnim - 0) / 10) * (37.75-(-53.94683))); + yy = -13.4826 + (((tickAnim - 0) / 10) * (0-(-13.4826))); + zz = -44.30972 + (((tickAnim - 0) / 10) * (0-(-44.30972))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 37.75 + (((tickAnim - 10) / 5) * (-22.40691-(37.75))); + yy = 0 + (((tickAnim - 10) / 5) * (-0.53995-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (-77.21128-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -22.40691 + (((tickAnim - 15) / 5) * (-53.94683-(-22.40691))); + yy = -0.53995 + (((tickAnim - 15) / 5) * (-13.4826-(-0.53995))); + zz = -77.21128 + (((tickAnim - 15) / 5) * (-44.30972-(-77.21128))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg, frontLeftLeg.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-1.91532-(0))); + yy = -35 + (((tickAnim - 0) / 2) * (-20.2333-(-35))); + zz = 0 + (((tickAnim - 0) / 2) * (-6.08274-(0))); + } + else if (tickAnim >= 2 && tickAnim < 10) { + xx = -1.91532 + (((tickAnim - 2) / 8) * (-5-(-1.91532))); + yy = -20.2333 + (((tickAnim - 2) / 8) * (0-(-20.2333))); + zz = -6.08274 + (((tickAnim - 2) / 8) * (0-(-6.08274))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -5 + (((tickAnim - 10) / 5) * (-31.74253-(-5))); + yy = 0 + (((tickAnim - 10) / 5) * (-16.76929-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (-34.53636-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -31.74253 + (((tickAnim - 15) / 5) * (0-(-31.74253))); + yy = -16.76929 + (((tickAnim - 15) / 5) * (-35-(-16.76929))); + zz = -34.53636 + (((tickAnim - 15) / 5) * (0-(-34.53636))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg2, frontLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = -0.075 + (((tickAnim - 0) / 20) * (-0.075-(-0.075))); + zz = 0.225 + (((tickAnim - 0) / 20) * (0.225-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg2.rotationPointX = this.frontLeftLeg2.rotationPointX + (float)(xx); + this.frontLeftLeg2.rotationPointY = this.frontLeftLeg2.rotationPointY - (float)(yy); + this.frontLeftLeg2.rotationPointZ = this.frontLeftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (-14.89309-(0))); + yy = -13.75 + (((tickAnim - 0) / 2) * (-14.54222-(-13.75))); + zz = 0 + (((tickAnim - 0) / 2) * (12.26805-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = -14.89309 + (((tickAnim - 2) / 3) * (-15.91901-(-14.89309))); + yy = -14.54222 + (((tickAnim - 2) / 3) * (-4.63559-(-14.54222))); + zz = 12.26805 + (((tickAnim - 2) / 3) * (4.66501-(12.26805))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -15.91901 + (((tickAnim - 5) / 5) * (0-(-15.91901))); + yy = -4.63559 + (((tickAnim - 5) / 5) * (-98.25-(-4.63559))); + zz = 4.66501 + (((tickAnim - 5) / 5) * (0-(4.66501))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = -98.25 + (((tickAnim - 10) / 5) * (-145-(-98.25))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 0 + (((tickAnim - 15) / 3) * (0-(0))); + yy = -145 + (((tickAnim - 15) / 3) * (0-(-145))); + zz = 0 + (((tickAnim - 15) / 3) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 0 + (((tickAnim - 18) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 18) / 2) * (-13.75-(0))); + zz = 0 + (((tickAnim - 18) / 2) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg3, frontLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 2) * (-0.15-(0))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 0 + (((tickAnim - 2) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 2) / 3) * (0-(0))); + zz = -0.15 + (((tickAnim - 2) / 3) * (-0.35-(-0.15))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = -0.35 + (((tickAnim - 5) / 5) * (0-(-0.35))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg3.rotationPointX = this.frontLeftLeg3.rotationPointX + (float)(xx); + this.frontLeftLeg3.rotationPointY = this.frontLeftLeg3.rotationPointY - (float)(yy); + this.frontLeftLeg3.rotationPointZ = this.frontLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 37.75 + (((tickAnim - 0) / 5) * (-22.40691-(37.75))); + yy = 0 + (((tickAnim - 0) / 5) * (0.53995-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (77.21128-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -22.40691 + (((tickAnim - 5) / 5) * (-53.94683-(-22.40691))); + yy = 0.53995 + (((tickAnim - 5) / 5) * (13.4826-(0.53995))); + zz = 77.21128 + (((tickAnim - 5) / 5) * (44.30972-(77.21128))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -53.94683 + (((tickAnim - 10) / 10) * (37.75-(-53.94683))); + yy = 13.4826 + (((tickAnim - 10) / 10) * (0-(13.4826))); + zz = 44.30972 + (((tickAnim - 10) / 10) * (0-(44.30972))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg, frontRightLeg.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -5 + (((tickAnim - 0) / 5) * (-31.74253-(-5))); + yy = 0 + (((tickAnim - 0) / 5) * (16.76929-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (34.53636-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -31.74253 + (((tickAnim - 5) / 5) * (0-(-31.74253))); + yy = 16.76929 + (((tickAnim - 5) / 5) * (35-(16.76929))); + zz = 34.53636 + (((tickAnim - 5) / 5) * (0-(34.53636))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (-5-(0))); + yy = 35 + (((tickAnim - 10) / 10) * (0-(35))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg2, frontRightLeg2.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg2.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (-0.075-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0.225-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = -0.075 + (((tickAnim - 10) / 10) * (0-(-0.075))); + zz = 0.225 + (((tickAnim - 10) / 10) * (0-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg2.rotationPointX = this.frontRightLeg2.rotationPointX + (float)(xx); + this.frontRightLeg2.rotationPointY = this.frontRightLeg2.rotationPointY - (float)(yy); + this.frontRightLeg2.rotationPointZ = this.frontRightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 98.25 + (((tickAnim - 0) / 5) * (145-(98.25))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (0-(0))); + yy = 145 + (((tickAnim - 5) / 3) * (0-(145))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (13.75-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 0 + (((tickAnim - 10) / 2) * (-8.89695-(0))); + yy = 13.75 + (((tickAnim - 10) / 2) * (6.56297-(13.75))); + zz = 0 + (((tickAnim - 10) / 2) * (-11.64147-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -8.89695 + (((tickAnim - 12) / 3) * (-15.91901-(-8.89695))); + yy = 6.56297 + (((tickAnim - 12) / 3) * (-4.63559-(6.56297))); + zz = -11.64147 + (((tickAnim - 12) / 3) * (4.66501-(-11.64147))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -15.91901 + (((tickAnim - 15) / 5) * (0-(-15.91901))); + yy = -4.63559 + (((tickAnim - 15) / 5) * (98.25-(-4.63559))); + zz = 4.66501 + (((tickAnim - 15) / 5) * (0-(4.66501))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg3, frontRightLeg3.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg3.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 0 + (((tickAnim - 10) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 2) * (-0.15-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 0 + (((tickAnim - 12) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 12) / 3) * (0-(0))); + zz = -0.15 + (((tickAnim - 12) / 3) * (-0.35-(-0.15))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = -0.35 + (((tickAnim - 15) / 5) * (0-(-0.35))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg3.rotationPointX = this.frontRightLeg3.rotationPointX + (float)(xx); + this.frontRightLeg3.rotationPointY = this.frontRightLeg3.rotationPointY - (float)(yy); + this.frontRightLeg3.rotationPointZ = this.frontRightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-80))*3), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*6), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(0), neck2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-300))*-6), neck2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(0), neck3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-350))*6), neck3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck4, neck4.rotateAngleX + (float) Math.toRadians(0), neck4.rotateAngleY + (float) Math.toRadians(0), neck4.rotateAngleZ + (float) Math.toRadians(0)); + + + + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraLangobardisaurus ee = (EntityPrehistoricFloraLangobardisaurus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getIsMoving()) { + if (ee.getIsFast()) { //Running + animRunning(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + + } else { //Walking + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + } + else { + //Swimming pose: + if (!ee.getIsMoving()) { //static in water + // + } + //moving in water + // + } + if (ee.getAnimation() == ee.EAT_ANIMATION) { + animEat(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + } + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraLangobardisaurus e = (EntityPrehistoricFloraLangobardisaurus) entity; + + } +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelLiaobatrachus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelLiaobatrachus.java new file mode 100644 index 0000000000..3eb314e273 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelLiaobatrachus.java @@ -0,0 +1,2342 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraLiaobatrachus; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelLiaobatrachus extends ModelBasePalaeopedia { + + private final AdvancedModelRenderer hips; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer neck; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer righteye; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer lefteye; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer lowerjaw; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer tongue; + private final AdvancedModelRenderer throat; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer rightarm; + private final AdvancedModelRenderer rightarm2; + private final AdvancedModelRenderer rightarm3; + private final AdvancedModelRenderer leftarm; + private final AdvancedModelRenderer leftarm2; + private final AdvancedModelRenderer leftarm3; + private final AdvancedModelRenderer Belly; + private final AdvancedModelRenderer rightleg; + private final AdvancedModelRenderer rightleg2; + private final AdvancedModelRenderer rightleg3; + private final AdvancedModelRenderer rightleg4; + private final AdvancedModelRenderer leftleg; + private final AdvancedModelRenderer leftleg2; + private final AdvancedModelRenderer leftleg3; + private final AdvancedModelRenderer leftleg4; + + private ModelAnimator animator; + + public ModelLiaobatrachus() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.hips = new AdvancedModelRenderer(this); + this.hips.setRotationPoint(0.0F, 23.15F, 0.75F); + this.setRotateAngle(hips, -0.1309F, 0.0F, 0.0F); + this.hips.cubeList.add(new ModelBox(hips, 18, 13, -2.5F, -2.0F, 0.05F, 5, 2, 3, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(0.5F, 0.0F, 5.0F); + this.hips.addChild(cube_r1); + this.setRotateAngle(cube_r1, -0.1658F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 22, 0, -2.0F, -1.25F, -4.5F, 3, 1, 4, -0.01F, false)); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 18, 21, -2.0F, -1.75F, -4.5F, 3, 1, 4, 0.0F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -2.0F, 1.0F); + this.hips.addChild(body); + this.setRotateAngle(body, 0.1265F, 0.0F, 0.0F); + this.body.cubeList.add(new ModelBox(body, 0, 13, -2.0F, -0.525F, -5.0F, 4, 2, 5, -0.01F, false)); + + this.neck = new AdvancedModelRenderer(this); + this.neck.setRotationPoint(0.0F, -0.175F, -4.8F); + this.body.addChild(neck); + this.setRotateAngle(neck, -0.0873F, 0.0F, 0.0F); + this.neck.cubeList.add(new ModelBox(neck, 22, 5, -2.5F, -0.35F, -1.45F, 5, 2, 2, 0.0F, false)); + this.neck.cubeList.add(new ModelBox(neck, 22, 9, -2.5F, 1.4F, -1.45F, 5, 1, 2, -0.01F, false)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.0F, 0.45F, -1.5F); + this.neck.addChild(head); + this.setRotateAngle(head, 0.0873F, 0.0F, 0.0F); + this.head.cubeList.add(new ModelBox(head, 0, 23, -1.0F, -0.5F, -3.2F, 2, 1, 4, 0.01F, false)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(1.0F, 0.5F, -3.2F); + this.head.addChild(cube_r2); + this.setRotateAngle(cube_r2, 0.0F, 0.6981F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 0, 34, -1.975F, -1.0F, 0.0F, 2, 1, 2, 0.0F, true)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(1.275F, 0.5F, -2.275F); + this.head.addChild(cube_r3); + this.setRotateAngle(cube_r3, 0.0F, 0.2182F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 34, 12, -1.125F, -1.0F, 0.8F, 2, 1, 2, -0.01F, true)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(-1.0F, 0.5F, -3.2F); + this.head.addChild(cube_r4); + this.setRotateAngle(cube_r4, 0.0F, -0.6981F, 0.0F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 0, 34, -0.025F, -1.0F, 0.0F, 2, 1, 2, 0.0F, false)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(-1.275F, 0.5F, -2.275F); + this.head.addChild(cube_r5); + this.setRotateAngle(cube_r5, 0.0F, -0.2182F, 0.0F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 34, 12, -0.875F, -1.0F, 0.8F, 2, 1, 2, -0.01F, false)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(0.0F, -0.7F, -2.225F); + this.head.addChild(cube_r6); + this.setRotateAngle(cube_r6, 0.1745F, 0.0F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 34, 15, -1.0F, 0.0F, -1.0F, 2, 1, 2, 0.0F, false)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(0.0F, -0.85F, -1.325F); + this.head.addChild(cube_r7); + this.setRotateAngle(cube_r7, -0.0436F, 0.0F, 0.0F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 32, 23, -1.5F, -0.025F, 0.0F, 3, 1, 2, 0.0F, false)); + + this.righteye = new AdvancedModelRenderer(this); + this.righteye.setRotationPoint(-0.7F, -0.9F, -1.2F); + this.head.addChild(righteye); + this.setRotateAngle(righteye, 0.0F, 0.0F, 0.1745F); + + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(-0.55F, -0.05F, -0.5F); + this.righteye.addChild(cube_r8); + this.setRotateAngle(cube_r8, -0.0436F, -0.3491F, 0.2182F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 8, 34, -0.275F, -0.05F, -0.25F, 1, 1, 1, 0.0F, false)); + + this.lefteye = new AdvancedModelRenderer(this); + this.lefteye.setRotationPoint(0.7F, -0.9F, -1.2F); + this.head.addChild(lefteye); + this.setRotateAngle(lefteye, 0.0F, 0.0F, -0.1745F); + + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(0.55F, -0.05F, -0.5F); + this.lefteye.addChild(cube_r9); + this.setRotateAngle(cube_r9, -0.0436F, 0.3491F, -0.2182F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 8, 34, -0.725F, -0.05F, -0.25F, 1, 1, 1, 0.0F, true)); + + this.lowerjaw = new AdvancedModelRenderer(this); + this.lowerjaw.setRotationPoint(0.0F, 0.45F, 0.0F); + this.head.addChild(lowerjaw); + this.setRotateAngle(lowerjaw, -0.0873F, 0.0F, 0.0F); + this.lowerjaw.cubeList.add(new ModelBox(lowerjaw, 12, 26, -1.0F, -0.2F, -3.15F, 2, 1, 4, 0.01F, false)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(1.225F, 0.8F, -2.225F); + this.lowerjaw.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.0F, 0.2182F, 0.0F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 30, 35, -1.125F, -1.0F, 0.8F, 2, 1, 2, -0.01F, true)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(1.0F, 0.8F, -3.15F); + this.lowerjaw.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.0F, 0.6632F, 0.0F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 22, 35, -1.975F, -1.0F, 0.0F, 2, 1, 2, 0.0F, true)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(-1.225F, 0.8F, -2.225F); + this.lowerjaw.addChild(cube_r12); + this.setRotateAngle(cube_r12, 0.0F, -0.2182F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 30, 35, -0.875F, -1.0F, 0.8F, 2, 1, 2, -0.01F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(-1.0F, 0.8F, -3.15F); + this.lowerjaw.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.0F, -0.6632F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 22, 35, -0.025F, -1.0F, 0.0F, 2, 1, 2, 0.0F, false)); + + this.tongue = new AdvancedModelRenderer(this); + this.tongue.setRotationPoint(0.0F, 0.05F, 0.05F); + this.lowerjaw.addChild(tongue); + this.tongue.cubeList.add(new ModelBox(tongue, 12, 23, -0.5F, -0.5F, -2.0F, 1, 1, 2, 0.0F, false)); + + this.throat = new AdvancedModelRenderer(this); + this.throat.setRotationPoint(0.0F, 0.875F, -2.325F); + this.lowerjaw.addChild(throat); + this.setRotateAngle(throat, -0.2269F, 0.0F, 0.0F); + this.throat.cubeList.add(new ModelBox(throat, 24, 26, -1.5F, -1.025F, -0.25F, 3, 1, 3, -0.01F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(-0.5F, -0.025F, 2.75F); + this.throat.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.5585F, 0.0F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 12, 33, -1.0F, -2.0F, 0.0F, 3, 2, 2, 0.0F, false)); + + this.rightarm = new AdvancedModelRenderer(this); + this.rightarm.setRotationPoint(-1.5F, 1.15F, -4.7F); + this.body.addChild(rightarm); + this.setRotateAngle(rightarm, -0.1484F, 0.4363F, -0.4538F); + this.rightarm.cubeList.add(new ModelBox(rightarm, 22, 33, -3.0F, -0.5F, -0.75F, 4, 1, 1, 0.0F, false)); + this.rightarm.cubeList.add(new ModelBox(rightarm, 32, 33, -3.0F, -0.5F, -1.25F, 4, 1, 1, 0.01F, false)); + + this.rightarm2 = new AdvancedModelRenderer(this); + this.rightarm2.setRotationPoint(-3.0F, 0.0F, -0.5F); + this.rightarm.addChild(rightarm2); + this.setRotateAngle(rightarm2, 0.0436F, -1.6581F, 0.2618F); + this.rightarm2.cubeList.add(new ModelBox(rightarm2, 36, 6, -2.75F, -0.5F, -0.6F, 3, 1, 1, 0.0F, false)); + this.rightarm2.cubeList.add(new ModelBox(rightarm2, 36, 4, -2.75F, -0.5F, -0.25F, 3, 1, 1, -0.01F, false)); + + this.rightarm3 = new AdvancedModelRenderer(this); + this.rightarm3.setRotationPoint(-2.5F, 0.2F, 0.3F); + this.rightarm2.addChild(rightarm3); + this.setRotateAngle(rightarm3, 0.1222F, -0.3927F, -0.0131F); + this.rightarm3.cubeList.add(new ModelBox(rightarm3, 24, 30, -2.5F, 0.025F, -1.6F, 3, 0, 3, 0.0F, false)); + this.rightarm3.cubeList.add(new ModelBox(rightarm3, 0, 28, -2.5F, 0.045F, -1.6F, 3, 0, 3, 0.0F, false)); + + this.leftarm = new AdvancedModelRenderer(this); + this.leftarm.setRotationPoint(1.5F, 1.15F, -4.7F); + this.body.addChild(leftarm); + this.setRotateAngle(leftarm, -0.1484F, -0.4363F, 0.4538F); + this.leftarm.cubeList.add(new ModelBox(leftarm, 22, 33, -1.0F, -0.5F, -0.75F, 4, 1, 1, 0.0F, true)); + this.leftarm.cubeList.add(new ModelBox(leftarm, 32, 33, -1.0F, -0.5F, -1.25F, 4, 1, 1, 0.01F, true)); + + this.leftarm2 = new AdvancedModelRenderer(this); + this.leftarm2.setRotationPoint(3.0F, 0.0F, -0.5F); + this.leftarm.addChild(leftarm2); + this.setRotateAngle(leftarm2, 0.0436F, 1.6581F, -0.2618F); + this.leftarm2.cubeList.add(new ModelBox(leftarm2, 36, 6, -0.25F, -0.5F, -0.6F, 3, 1, 1, 0.0F, true)); + this.leftarm2.cubeList.add(new ModelBox(leftarm2, 36, 4, -0.25F, -0.5F, -0.25F, 3, 1, 1, -0.01F, true)); + + this.leftarm3 = new AdvancedModelRenderer(this); + this.leftarm3.setRotationPoint(2.5F, 0.2F, 0.3F); + this.leftarm2.addChild(leftarm3); + this.setRotateAngle(leftarm3, 0.1222F, 0.3927F, 0.0131F); + this.leftarm3.cubeList.add(new ModelBox(leftarm3, 24, 30, -0.5F, 0.025F, -1.6F, 3, 0, 3, 0.0F, true)); + this.leftarm3.cubeList.add(new ModelBox(leftarm3, 0, 28, -0.5F, 0.045F, -1.6F, 3, 0, 3, 0.0F, true)); + + this.Belly = new AdvancedModelRenderer(this); + this.Belly.setRotationPoint(0.0F, 1.75F, -2.5F); + this.body.addChild(Belly); + this.Belly.cubeList.add(new ModelBox(Belly, 0, 0, -3.0F, -1.9F, -2.5F, 6, 2, 5, 0.01F, false)); + this.Belly.cubeList.add(new ModelBox(Belly, 0, 7, -3.0F, -0.25F, -2.5F, 6, 1, 5, 0.0F, false)); + + this.rightleg = new AdvancedModelRenderer(this); + this.rightleg.setRotationPoint(-1.5F, -0.5F, 3.6F); + this.hips.addChild(rightleg); + this.setRotateAngle(rightleg, 0.0F, -0.6109F, -0.2007F); + this.rightleg.cubeList.add(new ModelBox(rightleg, 0, 31, -3.25F, -1.0F, -1.25F, 4, 1, 2, 0.01F, false)); + + this.rightleg2 = new AdvancedModelRenderer(this); + this.rightleg2.setRotationPoint(-3.1F, 0.05F, 0.1F); + this.rightleg.addChild(rightleg2); + this.setRotateAngle(rightleg2, 0.0F, 2.5307F, 0.0F); + this.rightleg2.cubeList.add(new ModelBox(rightleg2, 32, 21, -4.5F, -1.0F, 0.0F, 5, 1, 1, -0.01F, false)); + this.rightleg2.cubeList.add(new ModelBox(rightleg2, 12, 31, -4.5F, -1.0F, -0.75F, 5, 1, 1, 0.0F, false)); + + this.rightleg3 = new AdvancedModelRenderer(this); + this.rightleg3.setRotationPoint(-4.5F, -0.475F, 0.15F); + this.rightleg2.addChild(rightleg3); + this.setRotateAngle(rightleg3, 0.0F, -2.5307F, 0.0698F); + this.rightleg3.cubeList.add(new ModelBox(rightleg3, 36, 2, -2.9825F, -0.4677F, -0.2521F, 3, 1, 1, -0.02F, false)); + this.rightleg3.cubeList.add(new ModelBox(rightleg3, 36, 0, -2.9825F, -0.4677F, -0.7521F, 3, 1, 1, -0.01F, false)); + + this.rightleg4 = new AdvancedModelRenderer(this); + this.rightleg4.setRotationPoint(-2.9825F, 0.2823F, 0.2479F); + this.rightleg3.addChild(rightleg4); + this.setRotateAngle(rightleg4, 0.2531F, -0.7854F, -0.0436F); + this.rightleg4.cubeList.add(new ModelBox(rightleg4, 18, 18, -5.0F, 0.0F, -1.5F, 6, 0, 3, 0.0F, false)); + this.rightleg4.cubeList.add(new ModelBox(rightleg4, 0, 20, -5.0F, 0.025F, -1.5F, 6, 0, 3, 0.0F, false)); + + this.leftleg = new AdvancedModelRenderer(this); + this.leftleg.setRotationPoint(1.5F, -0.5F, 3.6F); + this.hips.addChild(leftleg); + this.setRotateAngle(leftleg, 0.0F, 0.6109F, 0.2007F); + this.leftleg.cubeList.add(new ModelBox(leftleg, 0, 31, -0.75F, -1.0F, -1.25F, 4, 1, 2, 0.01F, true)); + + this.leftleg2 = new AdvancedModelRenderer(this); + this.leftleg2.setRotationPoint(3.1F, 0.05F, 0.1F); + this.leftleg.addChild(leftleg2); + this.setRotateAngle(leftleg2, 0.0F, -2.5307F, 0.0F); + this.leftleg2.cubeList.add(new ModelBox(leftleg2, 32, 21, -0.5F, -1.0F, 0.0F, 5, 1, 1, -0.01F, true)); + this.leftleg2.cubeList.add(new ModelBox(leftleg2, 12, 31, -0.5F, -1.0F, -0.75F, 5, 1, 1, 0.0F, true)); + + this.leftleg3 = new AdvancedModelRenderer(this); + this.leftleg3.setRotationPoint(4.5F, -0.475F, 0.15F); + this.leftleg2.addChild(leftleg3); + this.setRotateAngle(leftleg3, 0.0F, 2.5307F, -0.0698F); + this.leftleg3.cubeList.add(new ModelBox(leftleg3, 36, 2, -0.0175F, -0.4677F, -0.2521F, 3, 1, 1, -0.02F, true)); + this.leftleg3.cubeList.add(new ModelBox(leftleg3, 36, 0, -0.0175F, -0.4677F, -0.7521F, 3, 1, 1, -0.01F, true)); + + this.leftleg4 = new AdvancedModelRenderer(this); + this.leftleg4.setRotationPoint(2.9825F, 0.2823F, 0.2479F); + this.leftleg3.addChild(leftleg4); + this.setRotateAngle(leftleg4, 0.2531F, 0.7854F, 0.0436F); + this.leftleg4.cubeList.add(new ModelBox(leftleg4, 18, 18, -1.0F, 0.0F, -1.5F, 6, 0, 3, 0.0F, true)); + this.leftleg4.cubeList.add(new ModelBox(leftleg4, 0, 20, -1.0F, 0.025F, -1.5F, 6, 0, 3, 0.0F, true)); + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.hips.render(f5); + } + + public void renderStaticFloor(float f) { + resetToDefaultPose(); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.hips.offsetY = -1.8F; + this.hips.offsetX = -0.0F; + this.hips.rotateAngleY = (float)Math.toRadians(200); + this.hips.rotateAngleX = (float)Math.toRadians(48); + this.hips.rotateAngleZ = (float)Math.toRadians(-8); + this.hips.scaleChildren = true; + float scaler = 4.2F; + this.hips.setScale(scaler, scaler, scaler); + //Start of pose: + this.setRotateAngle(hips, 0.6F, 3.8F, -0.2F); + //End of pose, now render the model: + this.hips.render(f); + //Reset rotations, positions and sizing: + this.hips.setScale(1.0F, 1.0F, 1.0F); + this.hips.scaleChildren = false; + resetToDefaultPose(); + + } + + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + //this.Hip.offsetZ = -0.4F; + //this.faceTarget(f3, f4, 5, neck); + this.faceTarget(f3, f4, 6, head); + + + EntityPrehistoricFloraLiaobatrachus entitySilesaurus = (EntityPrehistoricFloraLiaobatrachus) e; + if (entitySilesaurus.getAnimation() == entitySilesaurus.LAY_ANIMATION) { + + } + else { + if (!entitySilesaurus.isReallyInWater()) { + + if (f3 == 0.0F || !entitySilesaurus.getIsMoving()) { + + return; + } + + if (entitySilesaurus.getIsFast()) { //Running + + + } else { //Walking + + } + } else { + //Swimming pose: + if (f3 == 0.0F) { //static in water + return; + } + //moving in water + return; + } + } + + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraLiaobatrachus ee = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getIsMoving() && ee.getAnimation() != ee.JUMP_ANIMATION && ee.isWalking && ee.onGround) { + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + else { + //Swimming pose: + animSwim(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + + } + + if (ee.getAnimation() == ee.ATTACK_ANIMATION) { + animTongue(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.ROAR_ANIMATION) { + //animCroak(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.STAND_ANIMATION) { + animBlink(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.JUMP_ANIMATION) { + animJump(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + } + + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(2+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*1), hips.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+60))*-10), hips.rotateAngleZ + (float) Math.toRadians(0)); + this.hips.rotationPointX = this.hips.rotationPointX + (float)(0); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-120))*-0.5); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 4.11883 + (((tickAnim - 0) / 5) * (4.38789-(4.11883))); + yy = 115.3637 + (((tickAnim - 0) / 5) * (102.86137-(115.3637))); + zz = 4.09069 + (((tickAnim - 0) / 5) * (4.39996-(4.09069))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 4.38789 + (((tickAnim - 5) / 5) * (5.78673-(4.38789))); + yy = 102.86137 + (((tickAnim - 5) / 5) * (72.21784-(102.86137))); + zz = 4.39996 + (((tickAnim - 5) / 5) * (16.80273-(4.39996))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 5.78673 + (((tickAnim - 10) / 5) * (-2.01352-(5.78673))); + yy = 72.21784 + (((tickAnim - 10) / 5) * (3.84373-(72.21784))); + zz = 16.80273 + (((tickAnim - 10) / 5) * (22.08714-(16.80273))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -2.01352 + (((tickAnim - 15) / 5) * (0-(-2.01352))); + yy = 3.84373 + (((tickAnim - 15) / 5) * (-10-(3.84373))); + zz = 22.08714 + (((tickAnim - 15) / 5) * (0-(22.08714))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (-4.79151-(0))); + yy = -10 + (((tickAnim - 20) / 5) * (15.53573-(-10))); + zz = 0 + (((tickAnim - 20) / 5) * (5.47366-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -4.79151 + (((tickAnim - 25) / 5) * (3.36162-(-4.79151))); + yy = 15.53573 + (((tickAnim - 25) / 5) * (37.87424-(15.53573))); + zz = 5.47366 + (((tickAnim - 25) / 5) * (5.18783-(5.47366))); + } + else if (tickAnim >= 30 && tickAnim < 32) { + xx = 3.36162 + (((tickAnim - 30) / 2) * (3.88632-(3.36162))); + yy = 37.87424 + (((tickAnim - 30) / 2) * (50.3195-(37.87424))); + zz = 5.18783 + (((tickAnim - 30) / 2) * (7.9408-(5.18783))); + } + else if (tickAnim >= 32 && tickAnim < 35) { + xx = 3.88632 + (((tickAnim - 32) / 3) * (3.55593-(3.88632))); + yy = 50.3195 + (((tickAnim - 32) / 3) * (82.8694-(50.3195))); + zz = 7.9408 + (((tickAnim - 32) / 3) * (5.8311-(7.9408))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 3.55593 + (((tickAnim - 35) / 5) * (4.11883-(3.55593))); + yy = 82.8694 + (((tickAnim - 35) / 5) * (115.3637-(82.8694))); + zz = 5.8311 + (((tickAnim - 35) / 5) * (4.09069-(5.8311))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 5 + (((tickAnim - 0) / 5) * (0-(5))); + yy = -87.5 + (((tickAnim - 0) / 5) * (-90-(-87.5))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-5-(0))); + yy = -90 + (((tickAnim - 5) / 5) * (-12.5-(-90))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -5 + (((tickAnim - 10) / 5) * (0-(-5))); + yy = -12.5 + (((tickAnim - 10) / 5) * (20-(-12.5))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 20 + (((tickAnim - 15) / 5) * (-32.5-(20))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = -32.5 + (((tickAnim - 20) / 5) * (-32.5-(-32.5))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-13.89476-(0))); + yy = -32.5 + (((tickAnim - 25) / 5) * (-42.80468-(-32.5))); + zz = 0 + (((tickAnim - 25) / 5) * (-14.11351-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -13.89476 + (((tickAnim - 30) / 5) * (0.92225-(-13.89476))); + yy = -42.80468 + (((tickAnim - 30) / 5) * (-75.03205-(-42.80468))); + zz = -14.11351 + (((tickAnim - 30) / 5) * (0.15503-(-14.11351))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0.92225 + (((tickAnim - 35) / 5) * (5-(0.92225))); + yy = -75.03205 + (((tickAnim - 35) / 5) * (-87.5-(-75.03205))); + zz = 0.15503 + (((tickAnim - 35) / 5) * (0-(0.15503))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -11.55275 + (((tickAnim - 0) / 5) * (-11.55275-(-11.55275))); + yy = 69.41279 + (((tickAnim - 0) / 5) * (64.41279-(69.41279))); + zz = 9.19372 + (((tickAnim - 0) / 5) * (9.19372-(9.19372))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -11.55275 + (((tickAnim - 5) / 5) * (-29.05275-(-11.55275))); + yy = 64.41279 + (((tickAnim - 5) / 5) * (26.91279-(64.41279))); + zz = 9.19372 + (((tickAnim - 5) / 5) * (9.19372-(9.19372))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -29.05275 + (((tickAnim - 10) / 5) * (111.59527-(-29.05275))); + yy = 26.91279 + (((tickAnim - 10) / 5) * (12.2991-(26.91279))); + zz = 9.19372 + (((tickAnim - 10) / 5) * (-111.0043-(9.19372))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 111.59527 + (((tickAnim - 15) / 5) * (-21.58948-(111.59527))); + yy = 12.2991 + (((tickAnim - 15) / 5) * (15.96195-(12.2991))); + zz = -111.0043 + (((tickAnim - 15) / 5) * (20.80651-(-111.0043))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -21.58948 + (((tickAnim - 20) / 5) * (-21.58948-(-21.58948))); + yy = 15.96195 + (((tickAnim - 20) / 5) * (15.96195-(15.96195))); + zz = 20.80651 + (((tickAnim - 20) / 5) * (20.80651-(20.80651))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -21.58948 + (((tickAnim - 25) / 5) * (-16.55275-(-21.58948))); + yy = 15.96195 + (((tickAnim - 25) / 5) * (51.91279-(15.96195))); + zz = 20.80651 + (((tickAnim - 25) / 5) * (11.69372-(20.80651))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -16.55275 + (((tickAnim - 30) / 5) * (-11.55275-(-16.55275))); + yy = 51.91279 + (((tickAnim - 30) / 5) * (94.41279-(51.91279))); + zz = 11.69372 + (((tickAnim - 30) / 5) * (9.19372-(11.69372))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -11.55275 + (((tickAnim - 35) / 5) * (-11.55275-(-11.55275))); + yy = 94.41279 + (((tickAnim - 35) / 5) * (69.41279-(94.41279))); + zz = 9.19372 + (((tickAnim - 35) / 5) * (9.19372-(9.19372))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -6.96072 + (((tickAnim - 0) / 5) * (1.7329-(-6.96072))); + yy = -54.61005 + (((tickAnim - 0) / 5) * (-12.42612-(-54.61005))); + zz = 6.74718 + (((tickAnim - 0) / 5) * (-0.63439-(6.74718))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 1.7329 + (((tickAnim - 5) / 5) * (1.95834-(1.7329))); + yy = -12.42612 + (((tickAnim - 5) / 5) * (-39.92098-(-12.42612))); + zz = -0.63439 + (((tickAnim - 5) / 5) * (-1.0267-(-0.63439))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 1.95834 + (((tickAnim - 10) / 5) * (3.24288-(1.95834))); + yy = -39.92098 + (((tickAnim - 10) / 5) * (-62.39977-(-39.92098))); + zz = -1.0267 + (((tickAnim - 10) / 5) * (-2.64418-(-1.0267))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 3.24288 + (((tickAnim - 15) / 5) * (0-(3.24288))); + yy = -62.39977 + (((tickAnim - 15) / 5) * (0-(-62.39977))); + zz = -2.64418 + (((tickAnim - 15) / 5) * (5-(-2.64418))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (-0.78795-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (-17.48281-(0))); + zz = 5 + (((tickAnim - 20) / 5) * (7.62116-(5))); + } + else if (tickAnim >= 25 && tickAnim < 27) { + xx = -0.78795 + (((tickAnim - 25) / 2) * (-1.54904-(-0.78795))); + yy = -17.48281 + (((tickAnim - 25) / 2) * (-27.43821-(-17.48281))); + zz = 7.62116 + (((tickAnim - 25) / 2) * (10.24474-(7.62116))); + } + else if (tickAnim >= 27 && tickAnim < 30) { + xx = -1.54904 + (((tickAnim - 27) / 3) * (-1.03031-(-1.54904))); + yy = -27.43821 + (((tickAnim - 27) / 3) * (-47.41602-(-27.43821))); + zz = 10.24474 + (((tickAnim - 27) / 3) * (-1.40438-(10.24474))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -1.03031 + (((tickAnim - 30) / 5) * (2.78873-(-1.03031))); + yy = -47.41602 + (((tickAnim - 30) / 5) * (-57.40665-(-47.41602))); + zz = -1.40438 + (((tickAnim - 30) / 5) * (-2.11976-(-1.40438))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 2.78873 + (((tickAnim - 35) / 5) * (-6.96072-(2.78873))); + yy = -57.40665 + (((tickAnim - 35) / 5) * (-54.61005-(-57.40665))); + zz = -2.11976 + (((tickAnim - 35) / 5) * (6.74718-(-2.11976))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0.575-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0.575 + (((tickAnim - 20) / 5) * (0.475-(0.575))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 35) { + xx = 0 + (((tickAnim - 25) / 10) * (0-(0))); + yy = 0.475 + (((tickAnim - 25) / 10) * (0-(0.475))); + zz = 0 + (((tickAnim - 25) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightleg4.rotationPointX = this.rightleg4.rotationPointX + (float)(xx); + this.rightleg4.rotationPointY = this.rightleg4.rotationPointY - (float)(yy); + this.rightleg4.rotationPointZ = this.rightleg4.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-90))*-1), body.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-60))*5), body.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-30))*3)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(0), neck.rotateAngleY + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*-10), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*3), lowerjaw.rotateAngleY + (float) Math.toRadians(0), lowerjaw.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 17.5 + (((tickAnim - 0) / 5) * (-2.60943-(17.5))); + yy = -70 + (((tickAnim - 0) / 5) * (-27.49763-(-70))); + zz = -15 + (((tickAnim - 0) / 5) * (-10.01192-(-15))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -2.60943 + (((tickAnim - 5) / 5) * (2.31162-(-2.60943))); + yy = -27.49763 + (((tickAnim - 5) / 5) * (-4.82577-(-27.49763))); + zz = -10.01192 + (((tickAnim - 5) / 5) * (12.2656-(-10.01192))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 2.31162 + (((tickAnim - 10) / 5) * (2.13902-(2.31162))); + yy = -4.82577 + (((tickAnim - 10) / 5) * (10.10542-(-4.82577))); + zz = 12.2656 + (((tickAnim - 10) / 5) * (9.16506-(12.2656))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 2.13902 + (((tickAnim - 15) / 5) * (6.79289-(2.13902))); + yy = 10.10542 + (((tickAnim - 15) / 5) * (22.38822-(10.10542))); + zz = 9.16506 + (((tickAnim - 15) / 5) * (21.10165-(9.16506))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 6.79289 + (((tickAnim - 20) / 5) * (-2.6229-(6.79289))); + yy = 22.38822 + (((tickAnim - 20) / 5) * (25.00232-(22.38822))); + zz = 21.10165 + (((tickAnim - 20) / 5) * (9.94087-(21.10165))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -2.6229 + (((tickAnim - 25) / 5) * (17.3771-(-2.6229))); + yy = 25.00232 + (((tickAnim - 25) / 5) * (10.00232-(25.00232))); + zz = 9.94087 + (((tickAnim - 25) / 5) * (24.94087-(9.94087))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 17.3771 + (((tickAnim - 30) / 5) * (7.3771-(17.3771))); + yy = 10.00232 + (((tickAnim - 30) / 5) * (-14.99768-(10.00232))); + zz = 24.94087 + (((tickAnim - 30) / 5) * (24.94087-(24.94087))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 7.3771 + (((tickAnim - 35) / 5) * (17.5-(7.3771))); + yy = -14.99768 + (((tickAnim - 35) / 5) * (-70-(-14.99768))); + zz = 24.94087 + (((tickAnim - 35) / 5) * (-15-(24.94087))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(xx), rightarm.rotateAngleY + (float) Math.toRadians(yy), rightarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (-0.5-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 15) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 20) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 25) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 30) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 35) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 35) / 5) * (0-(-0.5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightarm.rotationPointX = this.rightarm.rotationPointX + (float)(xx); + this.rightarm.rotationPointY = this.rightarm.rotationPointY - (float)(yy); + this.rightarm.rotationPointZ = this.rightarm.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -3.16293 + (((tickAnim - 0) / 5) * (-13.49905-(-3.16293))); + yy = 74.28587 + (((tickAnim - 0) / 5) * (49.69195-(74.28587))); + zz = 9.71104 + (((tickAnim - 0) / 5) * (27.63836-(9.71104))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -13.49905 + (((tickAnim - 5) / 5) * (7.5-(-13.49905))); + yy = 49.69195 + (((tickAnim - 5) / 5) * (27.53834-(49.69195))); + zz = 27.63836 + (((tickAnim - 5) / 5) * (-7.5-(27.63836))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 7.5 + (((tickAnim - 10) / 5) * (5-(7.5))); + yy = 27.53834 + (((tickAnim - 10) / 5) * (27.53834-(27.53834))); + zz = -7.5 + (((tickAnim - 10) / 5) * (-5-(-7.5))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 5 + (((tickAnim - 15) / 5) * (45-(5))); + yy = 27.53834 + (((tickAnim - 15) / 5) * (32.53834-(27.53834))); + zz = -5 + (((tickAnim - 15) / 5) * (-55-(-5))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = 45 + (((tickAnim - 20) / 3) * (22.5-(45))); + yy = 32.53834 + (((tickAnim - 20) / 3) * (41.29-(32.53834))); + zz = -55 + (((tickAnim - 20) / 3) * (-31.25-(-55))); + } + else if (tickAnim >= 23 && tickAnim < 25) { + xx = 22.5 + (((tickAnim - 23) / 2) * (0-(22.5))); + yy = 41.29 + (((tickAnim - 23) / 2) * (60.03834-(41.29))); + zz = -31.25 + (((tickAnim - 23) / 2) * (-12.5-(-31.25))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-22.5-(0))); + yy = 60.03834 + (((tickAnim - 25) / 5) * (62.53834-(60.03834))); + zz = -12.5 + (((tickAnim - 25) / 5) * (-10-(-12.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -22.5 + (((tickAnim - 30) / 5) * (-22.5-(-22.5))); + yy = 62.53834 + (((tickAnim - 30) / 5) * (35.03834-(62.53834))); + zz = -10 + (((tickAnim - 30) / 5) * (-10-(-10))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -22.5 + (((tickAnim - 35) / 5) * (-3.16293-(-22.5))); + yy = 35.03834 + (((tickAnim - 35) / 5) * (74.28587-(35.03834))); + zz = -10 + (((tickAnim - 35) / 5) * (9.71104-(-10))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(xx), rightarm2.rotateAngleY + (float) Math.toRadians(yy), rightarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 15.25 + (((tickAnim - 0) / 5) * (5.5-(15.25))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (-14.25-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 5.5 + (((tickAnim - 5) / 5) * (-15.03435-(5.5))); + yy = 0 + (((tickAnim - 5) / 5) * (-7.37384-(0))); + zz = -14.25 + (((tickAnim - 5) / 5) * (7.6171-(-14.25))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -15.03435 + (((tickAnim - 10) / 5) * (-19.03435-(-15.03435))); + yy = -7.37384 + (((tickAnim - 10) / 5) * (-29.87384-(-7.37384))); + zz = 7.6171 + (((tickAnim - 10) / 5) * (15.1171-(7.6171))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -19.03435 + (((tickAnim - 15) / 5) * (-19.36939-(-19.03435))); + yy = -29.87384 + (((tickAnim - 15) / 5) * (-23.39931-(-29.87384))); + zz = 15.1171 + (((tickAnim - 15) / 5) * (37.5697-(15.1171))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = -19.36939 + (((tickAnim - 20) / 3) * (-3.28-(-19.36939))); + yy = -23.39931 + (((tickAnim - 20) / 3) * (-11.12-(-23.39931))); + zz = 37.5697 + (((tickAnim - 20) / 3) * (16.37-(37.5697))); + } + else if (tickAnim >= 23 && tickAnim < 25) { + xx = -3.28 + (((tickAnim - 23) / 2) * (-3.28435-(-3.28))); + yy = -11.12 + (((tickAnim - 23) / 2) * (0.12616-(-11.12))); + zz = 16.37 + (((tickAnim - 23) / 2) * (12.6171-(16.37))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -3.28435 + (((tickAnim - 25) / 5) * (-13.28435-(-3.28435))); + yy = 0.12616 + (((tickAnim - 25) / 5) * (-14.87384-(0.12616))); + zz = 12.6171 + (((tickAnim - 25) / 5) * (30.1171-(12.6171))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -13.28435 + (((tickAnim - 30) / 5) * (-13.28435-(-13.28435))); + yy = -14.87384 + (((tickAnim - 30) / 5) * (-14.87384-(-14.87384))); + zz = 30.1171 + (((tickAnim - 30) / 5) * (30.1171-(30.1171))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -13.28435 + (((tickAnim - 35) / 5) * (15.25-(-13.28435))); + yy = -14.87384 + (((tickAnim - 35) / 5) * (0-(-14.87384))); + zz = 30.1171 + (((tickAnim - 35) / 5) * (0-(30.1171))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(xx), rightarm3.rotateAngleY + (float) Math.toRadians(yy), rightarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0.175-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0.175 + (((tickAnim - 10) / 5) * (0.25-(0.175))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0.25 + (((tickAnim - 15) / 5) * (0-(0.25))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 40) { + xx = 0 + (((tickAnim - 20) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightarm3.rotationPointX = this.rightarm3.rotationPointX + (float)(xx); + this.rightarm3.rotationPointY = this.rightarm3.rotationPointY - (float)(yy); + this.rightarm3.rotationPointZ = this.rightarm3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -16.1229 + (((tickAnim - 0) / 5) * (-2.6229-(-16.1229))); + yy = -22.50232 + (((tickAnim - 0) / 5) * (-25.00232-(-22.50232))); + zz = -9.94087 + (((tickAnim - 0) / 5) * (-9.94087-(-9.94087))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -2.6229 + (((tickAnim - 5) / 5) * (17.3771-(-2.6229))); + yy = -25.00232 + (((tickAnim - 5) / 5) * (-10.00232-(-25.00232))); + zz = -9.94087 + (((tickAnim - 5) / 5) * (-24.94087-(-9.94087))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 17.3771 + (((tickAnim - 10) / 5) * (7.3771-(17.3771))); + yy = -10.00232 + (((tickAnim - 10) / 5) * (14.99768-(-10.00232))); + zz = -24.94087 + (((tickAnim - 10) / 5) * (-24.94087-(-24.94087))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 7.3771 + (((tickAnim - 15) / 5) * (17.5-(7.3771))); + yy = 14.99768 + (((tickAnim - 15) / 5) * (70-(14.99768))); + zz = -24.94087 + (((tickAnim - 15) / 5) * (15-(-24.94087))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 17.5 + (((tickAnim - 20) / 5) * (-1.31553-(17.5))); + yy = 70 + (((tickAnim - 20) / 5) * (27.00546-(70))); + zz = 15 + (((tickAnim - 20) / 5) * (0.437-(15))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -1.31553 + (((tickAnim - 25) / 5) * (-15.1229-(-1.31553))); + yy = 27.00546 + (((tickAnim - 25) / 5) * (4.99768-(27.00546))); + zz = 0.437 + (((tickAnim - 25) / 5) * (-2.44087-(0.437))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -15.1229 + (((tickAnim - 30) / 5) * (-9.6229-(-15.1229))); + yy = 4.99768 + (((tickAnim - 30) / 5) * (-10.00232-(4.99768))); + zz = -2.44087 + (((tickAnim - 30) / 5) * (-2.44087-(-2.44087))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -9.6229 + (((tickAnim - 35) / 5) * (-16.1229-(-9.6229))); + yy = -10.00232 + (((tickAnim - 35) / 5) * (-22.50232-(-10.00232))); + zz = -2.44087 + (((tickAnim - 35) / 5) * (-9.94087-(-2.44087))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(xx), leftarm.rotateAngleY + (float) Math.toRadians(yy), leftarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 0) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 5) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 10) / 5) * (-0.5-(-0.5))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 15) / 5) * (0-(-0.5))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 5) * (-0.5-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 35) / 5) * (0-(0))); + zz = -0.5 + (((tickAnim - 35) / 5) * (-0.5-(-0.5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftarm.rotationPointX = this.leftarm.rotationPointX + (float)(xx); + this.leftarm.rotationPointY = this.leftarm.rotationPointY - (float)(yy); + this.leftarm.rotationPointZ = this.leftarm.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 45 + (((tickAnim - 0) / 3) * (22.5-(45))); + yy = -32.53834 + (((tickAnim - 0) / 3) * (-41.29-(-32.53834))); + zz = 55 + (((tickAnim - 0) / 3) * (31.25-(55))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 22.5 + (((tickAnim - 3) / 2) * (0-(22.5))); + yy = -41.29 + (((tickAnim - 3) / 2) * (-60.03834-(-41.29))); + zz = 31.25 + (((tickAnim - 3) / 2) * (12.5-(31.25))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-22.5-(0))); + yy = -60.03834 + (((tickAnim - 5) / 5) * (-62.53834-(-60.03834))); + zz = 12.5 + (((tickAnim - 5) / 5) * (10-(12.5))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -22.5 + (((tickAnim - 10) / 5) * (-22.5-(-22.5))); + yy = -62.53834 + (((tickAnim - 10) / 5) * (-35.03834-(-62.53834))); + zz = 10 + (((tickAnim - 10) / 5) * (10-(10))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -22.5 + (((tickAnim - 15) / 5) * (-3.16293-(-22.5))); + yy = -35.03834 + (((tickAnim - 15) / 5) * (-74.28587-(-35.03834))); + zz = 10 + (((tickAnim - 15) / 5) * (-9.71104-(10))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -3.16293 + (((tickAnim - 20) / 5) * (-3.34402-(-3.16293))); + yy = -74.28587 + (((tickAnim - 20) / 5) * (-46.37968-(-74.28587))); + zz = -9.71104 + (((tickAnim - 20) / 5) * (-3.42928-(-9.71104))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -3.34402 + (((tickAnim - 25) / 5) * (7.5-(-3.34402))); + yy = -46.37968 + (((tickAnim - 25) / 5) * (-27.53834-(-46.37968))); + zz = -3.42928 + (((tickAnim - 25) / 5) * (7.5-(-3.42928))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 7.5 + (((tickAnim - 30) / 5) * (5-(7.5))); + yy = -27.53834 + (((tickAnim - 30) / 5) * (-27.53834-(-27.53834))); + zz = 7.5 + (((tickAnim - 30) / 5) * (5-(7.5))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 5 + (((tickAnim - 35) / 5) * (45-(5))); + yy = -27.53834 + (((tickAnim - 35) / 5) * (-32.53834-(-27.53834))); + zz = 5 + (((tickAnim - 35) / 5) * (55-(5))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(xx), leftarm2.rotateAngleY + (float) Math.toRadians(yy), leftarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = -3.28435 + (((tickAnim - 0) / 3) * (-3.28-(-3.28435))); + yy = 22.37384 + (((tickAnim - 0) / 3) * (11.12-(22.37384))); + zz = -15.1171 + (((tickAnim - 0) / 3) * (-16.37-(-15.1171))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -3.28 + (((tickAnim - 3) / 2) * (-3.28435-(-3.28))); + yy = 11.12 + (((tickAnim - 3) / 2) * (-0.12616-(11.12))); + zz = -16.37 + (((tickAnim - 3) / 2) * (-12.6171-(-16.37))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -3.28435 + (((tickAnim - 5) / 5) * (-13.28435-(-3.28435))); + yy = -0.12616 + (((tickAnim - 5) / 5) * (14.87384-(-0.12616))); + zz = -12.6171 + (((tickAnim - 5) / 5) * (-30.1171-(-12.6171))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -13.28435 + (((tickAnim - 10) / 5) * (-13.28435-(-13.28435))); + yy = 14.87384 + (((tickAnim - 10) / 5) * (14.87384-(14.87384))); + zz = -30.1171 + (((tickAnim - 10) / 5) * (-30.1171-(-30.1171))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -13.28435 + (((tickAnim - 15) / 5) * (11.25-(-13.28435))); + yy = 14.87384 + (((tickAnim - 15) / 5) * (0-(14.87384))); + zz = -30.1171 + (((tickAnim - 15) / 5) * (0-(-30.1171))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 11.25 + (((tickAnim - 20) / 5) * (0-(11.25))); + yy = 0 + (((tickAnim - 20) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (-7.5-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-3.28435-(0))); + yy = 0 + (((tickAnim - 25) / 5) * (7.37384-(0))); + zz = -7.5 + (((tickAnim - 25) / 5) * (-7.6171-(-7.5))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -3.28435 + (((tickAnim - 30) / 5) * (-11.63659-(-3.28435))); + yy = 7.37384 + (((tickAnim - 30) / 5) * (30.43901-(7.37384))); + zz = -7.6171 + (((tickAnim - 30) / 5) * (1.37857-(-7.6171))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -11.63659 + (((tickAnim - 35) / 5) * (-3.28435-(-11.63659))); + yy = 30.43901 + (((tickAnim - 35) / 5) * (22.37384-(30.43901))); + zz = 1.37857 + (((tickAnim - 35) / 5) * (-15.1171-(1.37857))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(xx), leftarm3.rotateAngleY + (float) Math.toRadians(yy), leftarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0.2-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (0-(0))); + yy = 0.2 + (((tickAnim - 25) / 5) * (0.225-(0.2))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 0 + (((tickAnim - 30) / 5) * (0-(0))); + yy = 0.225 + (((tickAnim - 30) / 5) * (0.355-(0.225))); + zz = 0 + (((tickAnim - 30) / 5) * (0-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = 0.355 + (((tickAnim - 35) / 5) * (0-(0.355))); + zz = 0 + (((tickAnim - 35) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftarm3.rotationPointX = this.leftarm3.rotationPointX + (float)(xx); + this.leftarm3.rotationPointY = this.leftarm3.rotationPointY - (float)(yy); + this.leftarm3.rotationPointZ = this.leftarm3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-4.79151-(0))); + yy = 10 + (((tickAnim - 0) / 5) * (-15.53573-(10))); + zz = 0 + (((tickAnim - 0) / 5) * (-5.47366-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -4.79151 + (((tickAnim - 5) / 5) * (3.36162-(-4.79151))); + yy = -15.53573 + (((tickAnim - 5) / 5) * (-37.87424-(-15.53573))); + zz = -5.47366 + (((tickAnim - 5) / 5) * (-5.18783-(-5.47366))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 3.36162 + (((tickAnim - 10) / 2) * (3.88632-(3.36162))); + yy = -37.87424 + (((tickAnim - 10) / 2) * (-50.3195-(-37.87424))); + zz = -5.18783 + (((tickAnim - 10) / 2) * (-7.9408-(-5.18783))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 3.88632 + (((tickAnim - 12) / 3) * (3.55593-(3.88632))); + yy = -50.3195 + (((tickAnim - 12) / 3) * (-82.8694-(-50.3195))); + zz = -7.9408 + (((tickAnim - 12) / 3) * (-5.8311-(-7.9408))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 3.55593 + (((tickAnim - 15) / 5) * (4.11883-(3.55593))); + yy = -82.8694 + (((tickAnim - 15) / 5) * (-115.3637-(-82.8694))); + zz = -5.8311 + (((tickAnim - 15) / 5) * (-4.09069-(-5.8311))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 4.11883 + (((tickAnim - 20) / 5) * (4.38789-(4.11883))); + yy = -115.3637 + (((tickAnim - 20) / 5) * (-102.86137-(-115.3637))); + zz = -4.09069 + (((tickAnim - 20) / 5) * (-4.39996-(-4.09069))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 4.38789 + (((tickAnim - 25) / 5) * (5.78673-(4.38789))); + yy = -102.86137 + (((tickAnim - 25) / 5) * (-72.21784-(-102.86137))); + zz = -4.39996 + (((tickAnim - 25) / 5) * (-16.80273-(-4.39996))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 5.78673 + (((tickAnim - 30) / 5) * (-2.01352-(5.78673))); + yy = -72.21784 + (((tickAnim - 30) / 5) * (-3.84373-(-72.21784))); + zz = -16.80273 + (((tickAnim - 30) / 5) * (-22.08714-(-16.80273))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -2.01352 + (((tickAnim - 35) / 5) * (0-(-2.01352))); + yy = -3.84373 + (((tickAnim - 35) / 5) * (10-(-3.84373))); + zz = -22.08714 + (((tickAnim - 35) / 5) * (0-(-22.08714))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 32.5 + (((tickAnim - 0) / 5) * (32.5-(32.5))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (-13.89476-(0))); + yy = 32.5 + (((tickAnim - 5) / 5) * (42.80468-(32.5))); + zz = 0 + (((tickAnim - 5) / 5) * (14.11351-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -13.89476 + (((tickAnim - 10) / 5) * (-2.28888-(-13.89476))); + yy = 42.80468 + (((tickAnim - 10) / 5) * (75.04995-(42.80468))); + zz = 14.11351 + (((tickAnim - 10) / 5) * (3.38905-(14.11351))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -2.28888 + (((tickAnim - 15) / 5) * (5-(-2.28888))); + yy = 75.04995 + (((tickAnim - 15) / 5) * (87.5-(75.04995))); + zz = 3.38905 + (((tickAnim - 15) / 5) * (0-(3.38905))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 5 + (((tickAnim - 20) / 5) * (0-(5))); + yy = 87.5 + (((tickAnim - 20) / 5) * (90-(87.5))); + zz = 0 + (((tickAnim - 20) / 5) * (0-(0))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 0 + (((tickAnim - 25) / 5) * (-5-(0))); + yy = 90 + (((tickAnim - 25) / 5) * (12.5-(90))); + zz = 0 + (((tickAnim - 25) / 5) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -5 + (((tickAnim - 30) / 5) * (0-(-5))); + yy = 12.5 + (((tickAnim - 30) / 5) * (-20-(12.5))); + zz = 0 + (((tickAnim - 30) / 5) * (0-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 0 + (((tickAnim - 35) / 5) * (0-(0))); + yy = -20 + (((tickAnim - 35) / 5) * (32.5-(-20))); + zz = 0 + (((tickAnim - 35) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -21.58948 + (((tickAnim - 0) / 5) * (-21.58948-(-21.58948))); + yy = -15.96195 + (((tickAnim - 0) / 5) * (-15.96195-(-15.96195))); + zz = -20.80651 + (((tickAnim - 0) / 5) * (-20.80651-(-20.80651))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -21.58948 + (((tickAnim - 5) / 5) * (-16.55275-(-21.58948))); + yy = -15.96195 + (((tickAnim - 5) / 5) * (-51.91279-(-15.96195))); + zz = -20.80651 + (((tickAnim - 5) / 5) * (-11.69372-(-20.80651))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -16.55275 + (((tickAnim - 10) / 5) * (-11.55275-(-16.55275))); + yy = -51.91279 + (((tickAnim - 10) / 5) * (-94.41279-(-51.91279))); + zz = -11.69372 + (((tickAnim - 10) / 5) * (-9.19372-(-11.69372))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -11.55275 + (((tickAnim - 15) / 5) * (-11.55275-(-11.55275))); + yy = -94.41279 + (((tickAnim - 15) / 5) * (-69.41279-(-94.41279))); + zz = -9.19372 + (((tickAnim - 15) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -11.55275 + (((tickAnim - 20) / 5) * (-11.55275-(-11.55275))); + yy = -69.41279 + (((tickAnim - 20) / 5) * (-64.41279-(-69.41279))); + zz = -9.19372 + (((tickAnim - 20) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = -11.55275 + (((tickAnim - 25) / 5) * (-29.05275-(-11.55275))); + yy = -64.41279 + (((tickAnim - 25) / 5) * (-26.91279-(-64.41279))); + zz = -9.19372 + (((tickAnim - 25) / 5) * (-9.19372-(-9.19372))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = -29.05275 + (((tickAnim - 30) / 5) * (111.59527-(-29.05275))); + yy = -26.91279 + (((tickAnim - 30) / 5) * (-12.2991-(-26.91279))); + zz = -9.19372 + (((tickAnim - 30) / 5) * (111.0043-(-9.19372))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 111.59527 + (((tickAnim - 35) / 5) * (-21.58948-(111.59527))); + yy = -12.2991 + (((tickAnim - 35) / 5) * (-15.96195-(-12.2991))); + zz = 111.0043 + (((tickAnim - 35) / 5) * (-20.80651-(111.0043))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0.15619-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (17.81549-(0))); + zz = -5 + (((tickAnim - 0) / 5) * (-16.14657-(-5))); + } + else if (tickAnim >= 5 && tickAnim < 7) { + xx = 0.15619 + (((tickAnim - 5) / 2) * (-1.54904-(0.15619))); + yy = 17.81549 + (((tickAnim - 5) / 2) * (27.43821-(17.81549))); + zz = -16.14657 + (((tickAnim - 5) / 2) * (-10.24474-(-16.14657))); + } + else if (tickAnim >= 7 && tickAnim < 10) { + xx = -1.54904 + (((tickAnim - 7) / 3) * (4.71969-(-1.54904))); + yy = 27.43821 + (((tickAnim - 7) / 3) * (47.41602-(27.43821))); + zz = -10.24474 + (((tickAnim - 7) / 3) * (1.40438-(-10.24474))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 4.71969 + (((tickAnim - 10) / 5) * (2.78873-(4.71969))); + yy = 47.41602 + (((tickAnim - 10) / 5) * (57.40665-(47.41602))); + zz = 1.40438 + (((tickAnim - 10) / 5) * (2.11976-(1.40438))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 2.78873 + (((tickAnim - 15) / 5) * (-6.96072-(2.78873))); + yy = 57.40665 + (((tickAnim - 15) / 5) * (54.61005-(57.40665))); + zz = 2.11976 + (((tickAnim - 15) / 5) * (-6.74718-(2.11976))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = -6.96072 + (((tickAnim - 20) / 5) * (1.7329-(-6.96072))); + yy = 54.61005 + (((tickAnim - 20) / 5) * (12.42612-(54.61005))); + zz = -6.74718 + (((tickAnim - 20) / 5) * (0.63439-(-6.74718))); + } + else if (tickAnim >= 25 && tickAnim < 30) { + xx = 1.7329 + (((tickAnim - 25) / 5) * (1.95834-(1.7329))); + yy = 12.42612 + (((tickAnim - 25) / 5) * (39.92098-(12.42612))); + zz = 0.63439 + (((tickAnim - 25) / 5) * (1.0267-(0.63439))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 1.95834 + (((tickAnim - 30) / 5) * (3.24288-(1.95834))); + yy = 39.92098 + (((tickAnim - 30) / 5) * (62.39977-(39.92098))); + zz = 1.0267 + (((tickAnim - 30) / 5) * (2.64418-(1.0267))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = 3.24288 + (((tickAnim - 35) / 5) * (0-(3.24288))); + yy = 62.39977 + (((tickAnim - 35) / 5) * (0-(62.39977))); + zz = 2.64418 + (((tickAnim - 35) / 5) * (-5-(2.64418))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + this.leftleg4.rotationPointX = this.leftleg4.rotationPointX + (float)(0); + this.leftleg4.rotationPointY = this.leftleg4.rotationPointY - (float)(0.45); + this.leftleg4.rotationPointZ = this.leftleg4.rotationPointZ + (float)(0); + + } + public void animSwim(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(-5.7897+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10), rightleg.rotateAngleY + (float) Math.toRadians(48.5313+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*50), rightleg.rotateAngleZ + (float) Math.toRadians(-3.0893+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-10)); + + + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(0), rightleg2.rotateAngleY + (float) Math.toRadians(-55+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-160))*70), rightleg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), rightleg3.rotateAngleY + (float) Math.toRadians(60+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*50), rightleg3.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*10)); + this.rightleg3.rotationPointX = this.rightleg3.rotationPointX + (float)(0); + this.rightleg3.rotationPointY = this.rightleg3.rotationPointY - (float)(0); + this.rightleg3.rotationPointZ = this.rightleg3.rotationPointZ + (float)(0.65); + + + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(43.25), rightleg4.rotateAngleY + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), rightleg4.rotateAngleZ + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-40)); + + + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(-3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*-3), hips.rotateAngleY + (float) Math.toRadians(0), hips.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180))*3)); + this.hips.rotationPointX = this.hips.rotationPointX + (float)(0); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.25); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*-4); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*3), body.rotateAngleY + (float) Math.toRadians(0), body.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+30))*-3)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(3+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*3), neck.rotateAngleY + (float) Math.toRadians(0), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-60))*3), lowerjaw.rotateAngleY + (float) Math.toRadians(0), lowerjaw.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(-5+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-60))*-3), throat.rotateAngleY + (float) Math.toRadians(0), throat.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(91.99792), rightarm.rotateAngleY + (float) Math.toRadians(36.9472+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+120))*5), rightarm.rotateAngleZ + (float) Math.toRadians(15.3247+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+90))*5)); + this.rightarm.rotationPointX = this.rightarm.rotationPointX + (float)(-0.5); + this.rightarm.rotationPointY = this.rightarm.rotationPointY - (float)(0.5); + this.rightarm.rotationPointZ = this.rightarm.rotationPointZ + (float)(-1.5); + + + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(5), rightarm2.rotateAngleY + (float) Math.toRadians(65+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-5), rightarm2.rotateAngleZ + (float) Math.toRadians(-15+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*5)); + + + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(-10), rightarm3.rotateAngleY + (float) Math.toRadians(45+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*5), rightarm3.rotateAngleZ + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*5)); + + + this.setRotateAngle(Belly, Belly.rotateAngleX + (float) Math.toRadians(0), Belly.rotateAngleY + (float) Math.toRadians(0), Belly.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-30))*3)); + this.Belly.rotationPointX = this.Belly.rotationPointX + (float)(0); + this.Belly.rotationPointY = this.Belly.rotationPointY - (float)(0); + this.Belly.rotationPointZ = this.Belly.rotationPointZ + (float)(-0.1+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-30))*0.1); + + + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(91.99792), leftarm.rotateAngleY + (float) Math.toRadians(-36.9472+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+120))*5), leftarm.rotateAngleZ + (float) Math.toRadians(-15.3247+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180+90))*-5)); + this.leftarm.rotationPointX = this.leftarm.rotationPointX + (float)(0.5); + this.leftarm.rotationPointY = this.leftarm.rotationPointY - (float)(0.5); + this.leftarm.rotationPointZ = this.leftarm.rotationPointZ + (float)(-1.5); + + + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(5), leftarm2.rotateAngleY + (float) Math.toRadians(-65+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*5), leftarm2.rotateAngleZ + (float) Math.toRadians(15+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-90))*-5)); + + + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(-10), leftarm3.rotateAngleY + (float) Math.toRadians(-45+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-5), leftarm3.rotateAngleZ + (float) Math.toRadians(10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*-5)); + + + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(-5.7897+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10), leftleg.rotateAngleY + (float) Math.toRadians(-48.5313+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*-50), leftleg.rotateAngleZ + (float) Math.toRadians(3.0893+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*10)); + + + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(0), leftleg2.rotateAngleY + (float) Math.toRadians(55+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-160))*-70), leftleg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*30), leftleg3.rotateAngleY + (float) Math.toRadians(-60+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-50), leftleg3.rotateAngleZ + (float) Math.toRadians(Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+60))*10)); + this.leftleg3.rotationPointX = this.leftleg3.rotationPointX + (float)(0); + this.leftleg3.rotationPointY = this.leftleg3.rotationPointY - (float)(0); + this.leftleg3.rotationPointZ = this.leftleg3.rotationPointZ + (float)(0.65); + + + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(43.25), leftleg4.rotateAngleY + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+30))*-30), leftleg4.rotateAngleZ + (float) Math.toRadians(-10+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360+90))*40)); + + } + public void animJump(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 17; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5 + (((tickAnim - 0) / 5) * (0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (-20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (3.13719-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20 + (((tickAnim - 5) / 5) * (12.42066-(0.8921+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20))); + yy = -20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100 + (((tickAnim - 5) / 5) * (80.2564-(-20.7765+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100))); + zz = 3.13719 + (((tickAnim - 5) / 5) * (-9.38864-(3.13719))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 12.42066 + (((tickAnim - 10) / 8) * (0-(12.42066))); + yy = 80.2564 + (((tickAnim - 10) / 8) * (0-(80.2564))); + zz = -9.38864 + (((tickAnim - 10) / 8) * (0-(-9.38864))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg, rightleg.rotateAngleX + (float) Math.toRadians(xx), rightleg.rotateAngleY + (float) Math.toRadians(yy), rightleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80 + (((tickAnim - 5) / 5) * (-80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-80))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -80 + (((tickAnim - 10) / 8) * (0-(-80))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg2, rightleg2.rotateAngleX + (float) Math.toRadians(xx), rightleg2.rotateAngleY + (float) Math.toRadians(yy), rightleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120 + (((tickAnim - 5) / 5) * (120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*120))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 120 + (((tickAnim - 10) / 8) * (0-(120))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg3, rightleg3.rotateAngleX + (float) Math.toRadians(xx), rightleg3.rotateAngleY + (float) Math.toRadians(yy), rightleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0.225-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0.225 + (((tickAnim - 5) / 5) * (0.225-(0.225))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0.225 + (((tickAnim - 10) / 8) * (0-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightleg3.rotationPointX = this.rightleg3.rotationPointX + (float)(xx); + this.rightleg3.rotationPointY = this.rightleg3.rotationPointY - (float)(yy); + this.rightleg3.rotationPointZ = this.rightleg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -3.71389 + (((tickAnim - 0) / 5) * (-29.88531-(-3.71389))); + yy = -0.8214+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-19.8749-(-0.8214+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 5.21307 + (((tickAnim - 0) / 5) * (33.58405-(5.21307))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -29.88531 + (((tickAnim - 5) / 5) * (0-(-29.88531))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-19.8749 + (((tickAnim - 5) / 5) * (-20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-19.8749))); + zz = 33.58405 + (((tickAnim - 5) / 5) * (0-(33.58405))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -20 + (((tickAnim - 10) / 8) * (0-(-20))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightleg4, rightleg4.rotateAngleX + (float) Math.toRadians(xx), rightleg4.rotateAngleY + (float) Math.toRadians(yy), rightleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*5 + (((tickAnim - 0) / 1) * (-1.11-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*5))); + yy = 0 + (((tickAnim - 0) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 5) { + xx = -1.11 + (((tickAnim - 1) / 4) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30-(-1.11))); + yy = 0 + (((tickAnim - 1) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 1) / 4) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30 + (((tickAnim - 5) / 5) * (-3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-30))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20 + (((tickAnim - 10) / 5) * (57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35-(-3.35+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180-80))*20))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35 + (((tickAnim - 15) / 3) * (0-(57.155+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180+100))*35))); + yy = 0 + (((tickAnim - 15) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(hips, hips.rotateAngleX + (float) Math.toRadians(xx), hips.rotateAngleY + (float) Math.toRadians(yy), hips.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 1) * (0.475-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 0 + (((tickAnim - 1) / 2) * (0-(0))); + yy = 0.475 + (((tickAnim - 1) / 2) * (0.485-(0.475))); + zz = 0 + (((tickAnim - 1) / 2) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 0 + (((tickAnim - 3) / 2) * (0-(0))); + yy = 0.485 + (((tickAnim - 3) / 2) * (5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10-(0.485))); + zz = 0 + (((tickAnim - 3) / 2) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10 + (((tickAnim - 5) / 5) * (9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20-(5+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-90))*10))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 0 + (((tickAnim - 10) / 5) * (0-(0))); + yy = 9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20 + (((tickAnim - 10) / 5) * (5.07-(9.725+Math.sin((Math.PI/180)*(((double)tickAnim/20)*150-50))*20))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 0 + (((tickAnim - 15) / 3) * (0-(0))); + yy = 5.07 + (((tickAnim - 15) / 3) * (0-(5.07))); + zz = 0 + (((tickAnim - 15) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.hips.rotationPointX = this.hips.rotationPointX + (float)(xx); + this.hips.rotationPointY = this.hips.rotationPointY - (float)(yy); + this.hips.rotationPointZ = this.hips.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10 + (((tickAnim - 5) / 5) * (-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5))*-10))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = -10 + (((tickAnim - 10) / 8) * (0-(-10))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(xx), body.rotateAngleY + (float) Math.toRadians(yy), body.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5+60))*10))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 10 + (((tickAnim - 10) / 8) * (0-(10))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40 + (((tickAnim - 5) / 5) * (40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*40))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 10 + (((tickAnim - 10) / 5) * (2.06864-(10))); + yy = 40 + (((tickAnim - 10) / 5) * (-36.49981-(40))); + zz = 10 + (((tickAnim - 10) / 5) * (1.2821-(10))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 2.06864 + (((tickAnim - 15) / 3) * (0-(2.06864))); + yy = -36.49981 + (((tickAnim - 15) / 3) * (0-(-36.49981))); + zz = 1.2821 + (((tickAnim - 15) / 3) * (0-(1.2821))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm, rightarm.rotateAngleX + (float) Math.toRadians(xx), rightarm.rotateAngleY + (float) Math.toRadians(yy), rightarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100 + (((tickAnim - 5) / 5) * (100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*100))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 100 + (((tickAnim - 10) / 8) * (0-(100))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm2, rightarm2.rotateAngleX + (float) Math.toRadians(xx), rightarm2.rotateAngleY + (float) Math.toRadians(yy), rightarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30 + (((tickAnim - 5) / 5) * (30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*30))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 30 + (((tickAnim - 10) / 8) * (0-(30))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightarm3, rightarm3.rotateAngleX + (float) Math.toRadians(xx), rightarm3.rotateAngleY + (float) Math.toRadians(yy), rightarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*20))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10 + (((tickAnim - 5) / 5) * (10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*10))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40 + (((tickAnim - 5) / 5) * (-40-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-40))); + zz = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10 + (((tickAnim - 5) / 5) * (-10-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*-10))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 10 + (((tickAnim - 10) / 5) * (2.06864-(10))); + yy = -40 + (((tickAnim - 10) / 5) * (36.49981-(-40))); + zz = -10 + (((tickAnim - 10) / 5) * (1.2821-(-10))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 2.06864 + (((tickAnim - 15) / 3) * (0-(2.06864))); + yy = 36.49981 + (((tickAnim - 15) / 3) * (0-(36.49981))); + zz = 1.2821 + (((tickAnim - 15) / 3) * (0-(1.2821))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm, leftarm.rotateAngleX + (float) Math.toRadians(xx), leftarm.rotateAngleY + (float) Math.toRadians(yy), leftarm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100 + (((tickAnim - 5) / 5) * (-100-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-100))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -100 + (((tickAnim - 10) / 8) * (0-(-100))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm2, leftarm2.rotateAngleX + (float) Math.toRadians(xx), leftarm2.rotateAngleY + (float) Math.toRadians(yy), leftarm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*30))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30 + (((tickAnim - 5) / 5) * (-30-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-30))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -30 + (((tickAnim - 10) / 8) * (0-(-30))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftarm3, leftarm3.rotateAngleX + (float) Math.toRadians(xx), leftarm3.rotateAngleY + (float) Math.toRadians(yy), leftarm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5 + (((tickAnim - 0) / 5) * (0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-5))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*50))); + zz = 0 + (((tickAnim - 0) / 5) * (-3.68107-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20 + (((tickAnim - 5) / 5) * (13.123-(0.72+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-60))*20))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271 + (((tickAnim - 5) / 5) * (-83.42609-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-72.8271))); + zz = -3.68107 + (((tickAnim - 5) / 5) * (8.38417-(-3.68107))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 13.123 + (((tickAnim - 10) / 8) * (0-(13.123))); + yy = -83.42609 + (((tickAnim - 10) / 8) * (0-(-83.42609))); + zz = 8.38417 + (((tickAnim - 10) / 8) * (0-(8.38417))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg, leftleg.rotateAngleX + (float) Math.toRadians(xx), leftleg.rotateAngleY + (float) Math.toRadians(yy), leftleg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80 + (((tickAnim - 5) / 5) * (80-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*80))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 80 + (((tickAnim - 10) / 8) * (0-(80))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg2, leftleg2.rotateAngleX + (float) Math.toRadians(xx), leftleg2.rotateAngleY + (float) Math.toRadians(yy), leftleg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50 + (((tickAnim - 0) / 5) * (Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-50))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120 + (((tickAnim - 5) / 5) * (-120-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*-120))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = -120 + (((tickAnim - 10) / 8) * (0-(-120))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg3, leftleg3.rotateAngleX + (float) Math.toRadians(xx), leftleg3.rotateAngleY + (float) Math.toRadians(yy), leftleg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0.2-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0.2 + (((tickAnim - 5) / 5) * (0.2-(0.2))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 8) * (0-(0))); + zz = 0.2 + (((tickAnim - 10) / 8) * (0-(0.2))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftleg3.rotationPointX = this.leftleg3.rotationPointX + (float)(xx); + this.leftleg3.rotationPointY = this.leftleg3.rotationPointY - (float)(yy); + this.leftleg3.rotationPointZ = this.leftleg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -2.43586 + (((tickAnim - 0) / 5) * (-25.78719-(-2.43586))); + yy = Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-49.4255 + (((tickAnim - 0) / 5) * (0.3829+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20-(Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.25))*-49.4255))); + zz = -3.44275 + (((tickAnim - 0) / 5) * (-28.93824-(-3.44275))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -25.78719 + (((tickAnim - 5) / 5) * (0-(-25.78719))); + yy = 0.3829+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20 + (((tickAnim - 5) / 5) * (20-(0.3829+Math.sin((Math.PI/180)*(((double)tickAnim/20)*180/0.5-30))*20))); + zz = -28.93824 + (((tickAnim - 5) / 5) * (0-(-28.93824))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = 0 + (((tickAnim - 10) / 8) * (0-(0))); + yy = 20 + (((tickAnim - 10) / 8) * (0-(20))); + zz = 0 + (((tickAnim - 10) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftleg4, leftleg4.rotateAngleX + (float) Math.toRadians(xx), leftleg4.rotateAngleY + (float) Math.toRadians(yy), leftleg4.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animTongue(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (10-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 12) { + xx = 10 + (((tickAnim - 5) / 7) * (10-(10))); + yy = 0 + (((tickAnim - 5) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 7) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 20) { + xx = 10 + (((tickAnim - 12) / 8) * (0-(10))); + yy = 0 + (((tickAnim - 12) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (40-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 40 + (((tickAnim - 5) / 5) * (40-(40))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 40 + (((tickAnim - 10) / 5) * (0-(40))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(lowerjaw, lowerjaw.rotateAngleX + (float) Math.toRadians(xx), lowerjaw.rotateAngleY + (float) Math.toRadians(yy), lowerjaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (-27.5-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = -27.5 + (((tickAnim - 8) / 4) * (-20-(-27.5))); + yy = 0 + (((tickAnim - 8) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = -20 + (((tickAnim - 12) / 3) * (0-(-20))); + yy = 0 + (((tickAnim - 12) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tongue, tongue.rotateAngleX + (float) Math.toRadians(xx), tongue.rotateAngleY + (float) Math.toRadians(yy), tongue.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 0 + (((tickAnim - 5) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 5) / 3) * (-0.25-(0))); + zz = 0 + (((tickAnim - 5) / 3) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (0-(0))); + yy = -0.25 + (((tickAnim - 8) / 4) * (0-(-0.25))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.tongue.rotationPointX = this.tongue.rotationPointX + (float)(xx); + this.tongue.rotationPointY = this.tongue.rotationPointY - (float)(yy); + this.tongue.rotationPointZ = this.tongue.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 1 + (((tickAnim - 0) / 5) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 5) * (1-(1))); + zz = 1 + (((tickAnim - 0) / 5) * (1-(1))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = 1 + (((tickAnim - 5) / 3) * (1-(1))); + yy = 1 + (((tickAnim - 5) / 3) * (0.5-(1))); + zz = 1 + (((tickAnim - 5) / 3) * (3-(1))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 1 + (((tickAnim - 8) / 4) * (1-(1))); + yy = 0.5 + (((tickAnim - 8) / 4) * (1-(0.5))); + zz = 3 + (((tickAnim - 8) / 4) * (1-(3))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.tongue.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-22.5-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -22.5 + (((tickAnim - 5) / 5) * (-22.5-(-22.5))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -22.5 + (((tickAnim - 10) / 5) * (0-(-22.5))); + yy = 0 + (((tickAnim - 10) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(xx), throat.rotateAngleY + (float) Math.toRadians(yy), throat.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animCroak(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (-11-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -11 + (((tickAnim - 10) / 10) * (0-(-11))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(throat, throat.rotateAngleX + (float) Math.toRadians(xx), throat.rotateAngleY + (float) Math.toRadians(yy), throat.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 1 + (((tickAnim - 0) / 10) * (1.2-(1))); + yy = 1 + (((tickAnim - 0) / 10) * (1.2625-(1))); + zz = 1 + (((tickAnim - 0) / 10) * (1-(1))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 1.2 + (((tickAnim - 10) / 10) * (1-(1.2))); + yy = 1.2625 + (((tickAnim - 10) / 10) * (1-(1.2625))); + zz = 1 + (((tickAnim - 10) / 10) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.throat.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (0-(0))); + yy = -0.1 + (((tickAnim - 0) / 10) * (0-(-0.1))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (-0.1-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.Belly.rotationPointX = this.Belly.rotationPointX + (float)(xx); + this.Belly.rotationPointY = this.Belly.rotationPointY - (float)(yy); + this.Belly.rotationPointZ = this.Belly.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + yy = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + zz = 1.2 + (((tickAnim - 0) / 10) * (1-(1.2))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + yy = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + zz = 1 + (((tickAnim - 10) / 10) * (1.2-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.Belly.setScale((float)xx, (float)yy, (float)zz); + + } + public void animBlink(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLiaobatrachus entity = (EntityPrehistoricFloraLiaobatrachus) entitylivingbaseIn; + int animCycle = 14; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0.275-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (-0.475-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 0.275 + (((tickAnim - 8) / 6) * (0-(0.275))); + yy = -0.475 + (((tickAnim - 8) / 6) * (0-(-0.475))); + zz = 0 + (((tickAnim - 8) / 6) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.righteye.rotationPointX = this.righteye.rotationPointX + (float)(xx); + this.righteye.rotationPointY = this.righteye.rotationPointY - (float)(yy); + this.righteye.rotationPointZ = this.righteye.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (0.0125-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 1 + (((tickAnim - 8) / 6) * (1-(1))); + yy = 0.0125 + (((tickAnim - 8) / 6) * (1-(0.0125))); + zz = 1 + (((tickAnim - 8) / 6) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.righteye.setScale((float)xx, (float)yy, (float)zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (-0.275-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (-0.475-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = -0.275 + (((tickAnim - 8) / 6) * (0-(-0.275))); + yy = -0.475 + (((tickAnim - 8) / 6) * (0-(-0.475))); + zz = 0 + (((tickAnim - 8) / 6) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.lefteye.rotationPointX = this.lefteye.rotationPointX + (float)(xx); + this.lefteye.rotationPointY = this.lefteye.rotationPointY - (float)(yy); + this.lefteye.rotationPointZ = this.lefteye.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (0.0125-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 14) { + xx = 1 + (((tickAnim - 8) / 6) * (1-(1))); + yy = 0.0125 + (((tickAnim - 8) / 6) * (1-(0.0125))); + zz = 1 + (((tickAnim - 8) / 6) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.lefteye.setScale((float)xx, (float)yy, (float)zz); + + } + + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraLiaobatrachus e = (EntityPrehistoricFloraLiaobatrachus) entity; + animator.update(entity); + //this.resetToDefaultPose(); + } +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelLitorosuchus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelLitorosuchus.java new file mode 100644 index 0000000000..04c2b4b8c0 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelLitorosuchus.java @@ -0,0 +1,2498 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraLitorosuchus; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelLitorosuchus extends ModelBasePalaeopedia { + private final AdvancedModelRenderer main; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer leftLeg; + private final AdvancedModelRenderer leftLeg2; + private final AdvancedModelRenderer leftLeg3; + private final AdvancedModelRenderer rightLeg; + private final AdvancedModelRenderer rightLeg2; + private final AdvancedModelRenderer rightLeg3; + private final AdvancedModelRenderer tail; + private final AdvancedModelRenderer tail2; + private final AdvancedModelRenderer tail3; + private final AdvancedModelRenderer tail4; + private final AdvancedModelRenderer tail5; + private final AdvancedModelRenderer tail6; + private final AdvancedModelRenderer tail7; + private final AdvancedModelRenderer tail8; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer body2; + private final AdvancedModelRenderer body3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer neck; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer neck2; + private final AdvancedModelRenderer neck3; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer cube_r16; + private final AdvancedModelRenderer cube_r17; + private final AdvancedModelRenderer cube_r18; + private final AdvancedModelRenderer cube_r19; + private final AdvancedModelRenderer cube_r20; + private final AdvancedModelRenderer cube_r21; + private final AdvancedModelRenderer cube_r22; + private final AdvancedModelRenderer jaw; + private final AdvancedModelRenderer cube_r23; + private final AdvancedModelRenderer cube_r24; + private final AdvancedModelRenderer cube_r25; + private final AdvancedModelRenderer cube_r26; + private final AdvancedModelRenderer eye; + private final AdvancedModelRenderer cube_r27; + private final AdvancedModelRenderer cube_r28; + private final AdvancedModelRenderer rightArm; + private final AdvancedModelRenderer rightArm2; + private final AdvancedModelRenderer rightArm3; + private final AdvancedModelRenderer leftArm; + private final AdvancedModelRenderer leftArm2; + private final AdvancedModelRenderer leftArm3; + + private ModelAnimator animator; + + public ModelLitorosuchus() { + this.textureWidth = 64; + this.textureHeight = 64; + + this.main = new AdvancedModelRenderer(this); + this.main.setRotationPoint(0.0F, 17.6702F, 1.7521F); + this.main.cubeList.add(new ModelBox(main, 21, 0, -1.5F, -1.4702F, -2.0521F, 3, 3, 4, 0.006F, false)); + this.main.cubeList.add(new ModelBox(main, 20, 54, -0.5F, -1.9702F, -1.0521F, 1, 1, 3, -0.003F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(1.0F, 1.5298F, 1.9479F); + this.main.addChild(cube_r1); + this.setRotateAngle(cube_r1, 0.0873F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 30, 27, -2.5F, -0.6F, -4.0F, 3, 1, 4, 0.003F, false)); + + this.leftLeg = new AdvancedModelRenderer(this); + this.leftLeg.setRotationPoint(1.2881F, 0.2495F, -0.1638F); + this.main.addChild(leftLeg); + this.setRotateAngle(leftLeg, -0.2884F, -0.2207F, -0.4468F); + this.leftLeg.cubeList.add(new ModelBox(leftLeg, 49, 6, -1.0F, -0.25F, -1.0F, 2, 4, 2, 0.003F, true)); + + this.leftLeg2 = new AdvancedModelRenderer(this); + this.leftLeg2.setRotationPoint(0.0F, 3.75F, -1.0F); + this.leftLeg.addChild(leftLeg2); + this.setRotateAngle(leftLeg2, 0.4702F, -0.1001F, 0.1942F); + this.leftLeg2.cubeList.add(new ModelBox(leftLeg2, 50, 39, -1.0F, 0.0F, 0.0F, 2, 3, 2, 0.0F, true)); + + this.leftLeg3 = new AdvancedModelRenderer(this); + this.leftLeg3.setRotationPoint(0.1049F, 2.4253F, 1.0246F); + this.leftLeg2.addChild(leftLeg3); + this.setRotateAngle(leftLeg3, -1.6425F, 0.0226F, 0.217F); + this.leftLeg3.cubeList.add(new ModelBox(leftLeg3, 29, 54, -1.5F, -0.5F, 0.0F, 3, 3, 1, 0.0F, true)); + + this.rightLeg = new AdvancedModelRenderer(this); + this.rightLeg.setRotationPoint(-1.2881F, 0.2495F, -0.1638F); + this.main.addChild(rightLeg); + this.setRotateAngle(rightLeg, -0.2884F, 0.2207F, 0.4468F); + this.rightLeg.cubeList.add(new ModelBox(rightLeg, 49, 6, -1.0F, -0.25F, -1.0F, 2, 4, 2, 0.003F, false)); + + this.rightLeg2 = new AdvancedModelRenderer(this); + this.rightLeg2.setRotationPoint(0.0F, 3.75F, -1.0F); + this.rightLeg.addChild(rightLeg2); + this.setRotateAngle(rightLeg2, 0.4702F, 0.1001F, -0.1942F); + this.rightLeg2.cubeList.add(new ModelBox(rightLeg2, 50, 39, -1.0F, 0.0F, 0.0F, 2, 3, 2, 0.0F, false)); + + this.rightLeg3 = new AdvancedModelRenderer(this); + this.rightLeg3.setRotationPoint(-0.1049F, 2.4253F, 1.0246F); + this.rightLeg2.addChild(rightLeg3); + this.setRotateAngle(rightLeg3, -1.6425F, -0.0226F, -0.217F); + this.rightLeg3.cubeList.add(new ModelBox(rightLeg3, 29, 54, -1.5F, -0.5F, 0.0F, 3, 3, 1, 0.0F, false)); + + this.tail = new AdvancedModelRenderer(this); + this.tail.setRotationPoint(0.0F, -0.0452F, 1.2452F); + this.main.addChild(tail); + this.setRotateAngle(tail, 0.0654F, 0.0F, 0.0F); + this.tail.cubeList.add(new ModelBox(tail, 0, 30, -1.5F, -1.25F, 0.0F, 3, 3, 4, 0.0F, false)); + this.tail.cubeList.add(new ModelBox(tail, 22, 48, -0.5F, -2.25F, 0.0F, 1, 1, 4, 0.0F, false)); + + this.tail2 = new AdvancedModelRenderer(this); + this.tail2.setRotationPoint(0.0F, -0.55F, 3.5F); + this.tail.addChild(tail2); + this.setRotateAngle(tail2, -0.0873F, 0.0F, 0.0F); + this.tail2.cubeList.add(new ModelBox(tail2, 19, 18, -1.0F, -0.7F, 0.0F, 2, 3, 5, -0.003F, false)); + this.tail2.cubeList.add(new ModelBox(tail2, 30, 33, -0.5F, -1.8F, 0.0F, 1, 2, 5, 0.003F, false)); + + this.tail3 = new AdvancedModelRenderer(this); + this.tail3.setRotationPoint(0.0F, 0.55F, 4.5F); + this.tail2.addChild(tail3); + this.setRotateAngle(tail3, -0.0436F, 0.0F, 0.0F); + this.tail3.cubeList.add(new ModelBox(tail3, 0, 21, -1.0F, -1.25F, 0.0F, 2, 3, 5, 0.0F, false)); + this.tail3.cubeList.add(new ModelBox(tail3, 36, 7, -0.5F, -2.15F, 0.0F, 1, 1, 5, -0.003F, false)); + + this.tail4 = new AdvancedModelRenderer(this); + this.tail4.setRotationPoint(0.0F, -0.075F, 4.5F); + this.tail3.addChild(tail4); + this.setRotateAngle(tail4, -0.0654F, 0.0F, 0.0F); + this.tail4.cubeList.add(new ModelBox(tail4, 33, 48, -0.5F, -1.9F, 0.0F, 1, 1, 4, -0.006F, false)); + this.tail4.cubeList.add(new ModelBox(tail4, 36, 0, -1.0F, -1.0F, 0.0F, 2, 2, 4, -0.003F, false)); + + this.tail5 = new AdvancedModelRenderer(this); + this.tail5.setRotationPoint(0.0F, -1.025F, 3.5F); + this.tail4.addChild(tail5); + this.setRotateAngle(tail5, 0.0436F, 0.0F, 0.0F); + this.tail5.cubeList.add(new ModelBox(tail5, 28, 41, -0.5F, 0.0F, 0.0F, 1, 2, 4, 0.006F, false)); + this.tail5.cubeList.add(new ModelBox(tail5, 44, 48, -0.5F, -0.6F, 0.0F, 1, 1, 4, 0.0F, false)); + + this.tail6 = new AdvancedModelRenderer(this); + this.tail6.setRotationPoint(0.0F, 1.35F, 3.75F); + this.tail5.addChild(tail6); + this.setRotateAngle(tail6, 0.0436F, 0.0F, 0.0F); + this.tail6.cubeList.add(new ModelBox(tail6, 45, 25, -0.5F, -1.1F, 0.0F, 1, 1, 4, 0.0F, false)); + this.tail6.cubeList.add(new ModelBox(tail6, 0, 49, -0.5F, -1.725F, 0.0F, 1, 1, 4, -0.006F, false)); + this.tail6.cubeList.add(new ModelBox(tail6, 47, 14, -0.5F, -0.6F, 0.0F, 1, 1, 4, -0.003F, false)); + + this.tail7 = new AdvancedModelRenderer(this); + this.tail7.setRotationPoint(0.0F, -0.6749F, 3.4939F); + this.tail6.addChild(tail7); + this.setRotateAngle(tail7, 0.0262F, 0.0F, 0.0F); + this.tail7.cubeList.add(new ModelBox(tail7, 15, 35, -0.5F, -0.4F, 0.0F, 1, 1, 5, -0.006F, false)); + this.tail7.cubeList.add(new ModelBox(tail7, 39, 41, 0.0F, -1.0F, 0.0F, 0, 1, 5, 0.0F, false)); + + this.tail8 = new AdvancedModelRenderer(this); + this.tail8.setRotationPoint(0.0F, 0.0F, 5.0F); + this.tail7.addChild(tail8); + this.setRotateAngle(tail8, 0.0436F, 0.0F, 0.0F); + this.tail8.cubeList.add(new ModelBox(tail8, 49, 0, -0.5F, -0.4F, -0.025F, 1, 1, 4, 0.0F, false)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(-0.475F, -0.9F, -0.025F); + this.tail8.addChild(cube_r2); + this.setRotateAngle(cube_r2, -0.0785F, 0.0F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 11, 54, 0.5F, 0.0F, 0.0F, 0, 1, 4, 0.0F, false)); + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, -0.6179F, -1.2602F); + this.main.addChild(body); + this.setRotateAngle(body, 0.0873F, 0.0F, 0.0F); + this.body.cubeList.add(new ModelBox(body, 0, 11, -2.0F, -0.9523F, -4.9919F, 4, 4, 5, 0.0F, false)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(0.0F, 2.8046F, -2.6842F); + this.body.addChild(cube_r3); + this.setRotateAngle(cube_r3, 0.1745F, 0.0F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 19, 11, -1.5F, -0.35F, -2.5F, 3, 1, 5, 0.0F, false)); + + this.body2 = new AdvancedModelRenderer(this); + this.body2.setRotationPoint(0.0F, -0.5523F, -4.4919F); + this.body.addChild(body2); + this.setRotateAngle(body2, 0.0524F, 0.0F, 0.0F); + this.body2.cubeList.add(new ModelBox(body2, 0, 0, -2.5F, -0.55F, -5.0F, 5, 5, 5, 0.0F, false)); + + this.body3 = new AdvancedModelRenderer(this); + this.body3.setRotationPoint(0.0F, 0.05F, -4.25F); + this.body2.addChild(body3); + this.body3.cubeList.add(new ModelBox(body3, 15, 27, -2.0F, -0.45F, -3.0F, 4, 4, 3, 0.0F, false)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(1.0F, 3.55F, -3.0F); + this.body3.addChild(cube_r4); + this.setRotateAngle(cube_r4, -0.2618F, 0.0F, 0.0F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 0, 38, -2.5F, -1.0F, 0.0F, 3, 1, 3, 0.0F, false)); + + this.neck = new AdvancedModelRenderer(this); + this.neck.setRotationPoint(0.0F, 0.1F, -2.5F); + this.body3.addChild(neck); + this.setRotateAngle(neck, -0.1222F, 0.0F, 0.0F); + this.neck.cubeList.add(new ModelBox(neck, 34, 18, -1.5F, -0.35F, -3.0F, 3, 3, 3, 0.0F, false)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(0.5F, 2.65F, -2.0F); + this.neck.addChild(cube_r5); + this.setRotateAngle(cube_r5, -0.3054F, 0.0F, 0.0F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 54, 31, -1.5F, -1.0F, 0.0F, 2, 1, 2, 0.0F, false)); + + this.neck2 = new AdvancedModelRenderer(this); + this.neck2.setRotationPoint(0.0F, 0.8001F, -2.4795F); + this.neck.addChild(neck2); + this.setRotateAngle(neck2, -0.2269F, 0.0F, 0.0F); + this.neck2.cubeList.add(new ModelBox(neck2, 13, 42, -1.0F, -1.0F, -3.0F, 2, 2, 3, -0.006F, false)); + + this.neck3 = new AdvancedModelRenderer(this); + this.neck3.setRotationPoint(0.0F, 0.0F, -2.5F); + this.neck2.addChild(neck3); + this.setRotateAngle(neck3, -0.0873F, 0.0F, 0.0F); + this.neck3.cubeList.add(new ModelBox(neck3, 0, 43, -1.0F, -1.0F, -3.0F, 2, 2, 3, -0.003F, false)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(1.0F, 1.3432F, -2.9477F); + this.neck3.addChild(cube_r6); + this.setRotateAngle(cube_r6, 0.2094F, 0.0F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 38, 54, -2.0F, -1.0F, 0.0F, 2, 1, 2, -0.006F, false)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.002F, -1.0018F, -2.967F); + this.neck3.addChild(head); + + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(-0.002F, 2.1045F, -4.5427F); + this.head.addChild(cube_r7); + this.setRotateAngle(cube_r7, 0.5061F, 0.0F, 0.0F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 47, 20, -0.5F, 0.0F, 0.0F, 1, 1, 3, 0.003F, false)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(0.498F, 3.2082F, -4.3643F); + this.head.addChild(cube_r8); + this.setRotateAngle(cube_r8, 0.8684F, 0.1936F, -0.2052F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 24, 42, 0.0F, -0.875F, -0.275F, 0, 1, 1, 0.0F, true)); + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(0.9044F, 2.7546F, -3.0631F); + this.head.addChild(cube_r9); + this.setRotateAngle(cube_r9, -1.0101F, 0.3144F, -0.4426F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 15, 24, -0.2F, -0.375F, -1.25F, 0, 1, 1, 0.0F, true)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(1.2926F, 1.0847F, 0.5565F); + this.head.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.391F, 0.113F, 0.0465F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 15, 21, 0.0F, -0.725F, -4.0F, 0, 1, 1, 0.0F, true)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(-0.502F, 3.2082F, -4.3643F); + this.head.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.8684F, -0.1936F, 0.2052F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 24, 42, 0.0F, -0.875F, -0.275F, 0, 1, 1, 0.0F, false)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(-0.002F, 2.1045F, -4.5427F); + this.head.addChild(cube_r12); + this.setRotateAngle(cube_r12, 0.624F, 0.0F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 50, 45, -0.5F, 0.0F, -1.0F, 1, 1, 1, 0.0F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(0.498F, -0.0059F, -0.0175F); + this.head.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.3316F, 0.0F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 36, 14, -1.5F, 0.0F, -2.0F, 2, 1, 2, 0.006F, false)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(-0.002F, 1.7212F, -1.7916F); + this.head.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.3229F, 0.0F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 11, 48, -0.5F, -0.55F, -2.35F, 1, 1, 4, 0.0F, false)); + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(-0.9084F, 2.7546F, -3.0631F); + this.head.addChild(cube_r15); + this.setRotateAngle(cube_r15, -1.0101F, -0.3144F, 0.4426F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 15, 24, 0.2F, -0.375F, -1.25F, 0, 1, 1, 0.0F, false)); + + this.cube_r16 = new AdvancedModelRenderer(this); + this.cube_r16.setRotationPoint(1.2594F, 1.5488F, -1.4361F); + this.head.addChild(cube_r16); + this.setRotateAngle(cube_r16, 0.3895F, -0.0767F, -0.0315F); + this.cube_r16.cubeList.add(new ModelBox(cube_r16, 56, 20, -1.0F, -0.5F, 0.0F, 1, 1, 2, 0.003F, true)); + + this.cube_r17 = new AdvancedModelRenderer(this); + this.cube_r17.setRotationPoint(0.8051F, 2.588F, -3.1181F); + this.head.addChild(cube_r17); + this.setRotateAngle(cube_r17, 0.3953F, 0.1621F, 0.0765F); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, 54, 54, -0.9F, -0.825F, 0.0F, 1, 1, 2, 0.0F, true)); + + this.cube_r18 = new AdvancedModelRenderer(this); + this.cube_r18.setRotationPoint(0.9044F, 2.7546F, -3.0631F); + this.head.addChild(cube_r18); + this.setRotateAngle(cube_r18, 0.2553F, 0.3897F, 0.1698F); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 58, 16, -1.0F, -1.0F, -1.0F, 1, 1, 1, 0.0F, true)); + + this.cube_r19 = new AdvancedModelRenderer(this); + this.cube_r19.setRotationPoint(-0.9084F, 2.7546F, -3.0631F); + this.head.addChild(cube_r19); + this.setRotateAngle(cube_r19, 0.2553F, -0.3897F, -0.1698F); + this.cube_r19.cubeList.add(new ModelBox(cube_r19, 58, 16, 0.0F, -1.0F, -1.0F, 1, 1, 1, 0.0F, false)); + + this.cube_r20 = new AdvancedModelRenderer(this); + this.cube_r20.setRotationPoint(-1.2966F, 1.0847F, 0.5565F); + this.head.addChild(cube_r20); + this.setRotateAngle(cube_r20, 0.391F, -0.113F, -0.0465F); + this.cube_r20.cubeList.add(new ModelBox(cube_r20, 15, 21, 0.0F, -0.725F, -4.0F, 0, 1, 1, 0.0F, false)); + + this.cube_r21 = new AdvancedModelRenderer(this); + this.cube_r21.setRotationPoint(-1.2634F, 1.5488F, -1.4361F); + this.head.addChild(cube_r21); + this.setRotateAngle(cube_r21, 0.3895F, 0.0767F, 0.0315F); + this.cube_r21.cubeList.add(new ModelBox(cube_r21, 56, 20, 0.0F, -0.5F, 0.0F, 1, 1, 2, 0.003F, false)); + + this.cube_r22 = new AdvancedModelRenderer(this); + this.cube_r22.setRotationPoint(-0.8091F, 2.588F, -3.1181F); + this.head.addChild(cube_r22); + this.setRotateAngle(cube_r22, 0.394F, -0.1654F, -0.0684F); + this.cube_r22.cubeList.add(new ModelBox(cube_r22, 54, 54, -0.1F, -0.825F, 0.0F, 1, 1, 2, 0.0F, false)); + + this.jaw = new AdvancedModelRenderer(this); + this.jaw.setRotationPoint(-0.002F, 1.4041F, -0.2376F); + this.head.addChild(jaw); + this.setRotateAngle(jaw, -0.0873F, 0.0F, 0.0F); + + + this.cube_r23 = new AdvancedModelRenderer(this); + this.cube_r23.setRotationPoint(1.0F, 0.9878F, -0.5607F); + this.jaw.addChild(cube_r23); + this.setRotateAngle(cube_r23, 0.096F, 0.0F, 0.0F); + this.cube_r23.cubeList.add(new ModelBox(cube_r23, 21, 8, -2.0F, -1.0F, 0.0F, 2, 1, 1, -0.009F, false)); + + this.cube_r24 = new AdvancedModelRenderer(this); + this.cube_r24.setRotationPoint(1.0F, 0.7893F, -1.3878F); + this.jaw.addChild(cube_r24); + this.setRotateAngle(cube_r24, 0.4002F, 0.2379F, 0.0994F); + this.cube_r24.cubeList.add(new ModelBox(cube_r24, 55, 45, -1.0F, -0.5F, -2.0F, 1, 1, 2, -0.006F, true)); + this.cube_r24.cubeList.add(new ModelBox(cube_r24, 47, 54, -0.1F, -0.65F, -3.0F, 0, 1, 3, 0.0F, true)); + + this.cube_r25 = new AdvancedModelRenderer(this); + this.cube_r25.setRotationPoint(-1.0F, 0.7893F, -1.3878F); + this.jaw.addChild(cube_r25); + this.setRotateAngle(cube_r25, 0.4002F, -0.2379F, -0.0994F); + this.cube_r25.cubeList.add(new ModelBox(cube_r25, 55, 45, 0.0F, -0.5F, -2.0F, 1, 1, 2, -0.006F, false)); + this.cube_r25.cubeList.add(new ModelBox(cube_r25, 47, 54, 0.1F, -0.65F, -3.0F, 0, 1, 3, 0.0F, false)); + + this.cube_r26 = new AdvancedModelRenderer(this); + this.cube_r26.setRotationPoint(1.0F, -0.4023F, 0.2046F); + this.jaw.addChild(cube_r26); + this.setRotateAngle(cube_r26, 0.3883F, 0.0F, 0.0F); + this.cube_r26.cubeList.add(new ModelBox(cube_r26, 28, 8, -2.0F, -0.35F, -1.85F, 2, 1, 1, -0.006F, false)); + this.cube_r26.cubeList.add(new ModelBox(cube_r26, 54, 35, -2.0F, 0.0F, -1.925F, 2, 1, 2, 0.0F, false)); + this.cube_r26.cubeList.add(new ModelBox(cube_r26, 43, 33, -1.5F, 0.0F, -5.175F, 1, 1, 4, -0.003F, false)); + + this.eye = new AdvancedModelRenderer(this); + this.eye.setRotationPoint(-0.002F, 1.1128F, -1.3884F); + this.head.addChild(eye); + + + this.cube_r27 = new AdvancedModelRenderer(this); + this.cube_r27.setRotationPoint(0.6913F, 0.0096F, -0.0156F); + this.eye.addChild(cube_r27); + this.setRotateAngle(cube_r27, 0.4351F, 0.1307F, 0.0499F); + this.cube_r27.cubeList.add(new ModelBox(cube_r27, 0, 59, -0.275F, -0.5F, -0.45F, 1, 1, 1, 0.0F, true)); + + this.cube_r28 = new AdvancedModelRenderer(this); + this.cube_r28.setRotationPoint(-0.6913F, 0.0096F, -0.0156F); + this.eye.addChild(cube_r28); + this.setRotateAngle(cube_r28, 0.4351F, -0.1307F, -0.0499F); + this.cube_r28.cubeList.add(new ModelBox(cube_r28, 0, 59, -0.725F, -0.5F, -0.45F, 1, 1, 1, 0.0F, false)); + + this.rightArm = new AdvancedModelRenderer(this); + this.rightArm.setRotationPoint(-1.9583F, 2.5665F, -1.7718F); + this.body3.addChild(rightArm); + this.setRotateAngle(rightArm, 0.3146F, -0.4046F, 1.1126F); + this.rightArm.cubeList.add(new ModelBox(rightArm, 56, 24, 0.0F, -0.5F, -0.8F, 1, 3, 1, -0.006F, false)); + this.rightArm.cubeList.add(new ModelBox(rightArm, 38, 58, -0.5F, -0.5F, -0.8F, 1, 3, 1, 0.003F, false)); + this.rightArm.cubeList.add(new ModelBox(rightArm, 58, 11, -0.5F, -0.5F, -0.2F, 1, 3, 1, 0.0F, false)); + this.rightArm.cubeList.add(new ModelBox(rightArm, 54, 58, 0.0F, -0.5F, -0.2F, 1, 3, 1, -0.003F, false)); + + this.rightArm2 = new AdvancedModelRenderer(this); + this.rightArm2.setRotationPoint(0.25F, 2.25F, 0.15F); + this.rightArm.addChild(rightArm2); + this.setRotateAngle(rightArm2, -0.8855F, -0.328F, -0.7327F); + this.rightArm2.cubeList.add(new ModelBox(rightArm2, 58, 6, -0.5F, 0.0F, -0.5F, 1, 3, 1, 0.0F, false)); + + this.rightArm3 = new AdvancedModelRenderer(this); + this.rightArm3.setRotationPoint(-0.0653F, 2.2642F, -0.1296F); + this.rightArm2.addChild(rightArm3); + this.setRotateAngle(rightArm3, -1.4014F, 0.5843F, -0.0449F); + this.rightArm3.cubeList.add(new ModelBox(rightArm3, 55, 49, -1.0F, -0.1F, -0.25F, 2, 2, 1, 0.0F, false)); + + this.leftArm = new AdvancedModelRenderer(this); + this.leftArm.setRotationPoint(1.9583F, 2.5665F, -1.7718F); + this.body3.addChild(leftArm); + this.setRotateAngle(leftArm, 0.3146F, 0.4046F, -1.1126F); + this.leftArm.cubeList.add(new ModelBox(leftArm, 56, 24, -1.0F, -0.5F, -0.8F, 1, 3, 1, -0.006F, true)); + this.leftArm.cubeList.add(new ModelBox(leftArm, 38, 58, -0.5F, -0.5F, -0.8F, 1, 3, 1, 0.003F, true)); + this.leftArm.cubeList.add(new ModelBox(leftArm, 58, 11, -0.5F, -0.5F, -0.2F, 1, 3, 1, 0.0F, true)); + this.leftArm.cubeList.add(new ModelBox(leftArm, 54, 58, -1.0F, -0.5F, -0.2F, 1, 3, 1, -0.003F, true)); + + this.leftArm2 = new AdvancedModelRenderer(this); + this.leftArm2.setRotationPoint(-0.25F, 2.25F, 0.15F); + this.leftArm.addChild(leftArm2); + this.setRotateAngle(leftArm2, -0.8855F, 0.328F, 0.7327F); + this.leftArm2.cubeList.add(new ModelBox(leftArm2, 58, 6, -0.5F, 0.0F, -0.5F, 1, 3, 1, 0.0F, true)); + + this.leftArm3 = new AdvancedModelRenderer(this); + this.leftArm3.setRotationPoint(0.0653F, 2.2642F, -0.1296F); + this.leftArm2.addChild(leftArm3); + this.setRotateAngle(leftArm3, -1.4014F, -0.5843F, 0.0449F); + this.leftArm3.cubeList.add(new ModelBox(leftArm3, 55, 49, -1.0F, -0.1F, -0.25F, 2, 2, 1, 0.0F, true)); + + + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.main.render(f5); + } + + public void renderStaticWall(float f) { + this.setRotateAngle(neck2, 0.15F, 0.05F, 0.05F); + this.setRotateAngle(head, 0.15F, 0.1F, 0.05F); + this.setRotateAngle(jaw, 0.3F, 0.0F, 0.0F); + this.neck.offsetZ = 0.02F; + this.neck.offsetY = -0.01F; + this.neck.offsetX = -0.0F; + this.neck.render(0.01F); + resetToDefaultPose(); + } + public void renderStaticFloor(float f) { + this.main.offsetY = -0.11F; + this.main.render(0.01F); + resetToDefaultPose(); + } + public void renderStaticSuspended(float f) { + this.main.offsetY = -0.11F; + this.main.render(0.01F); + resetToDefaultPose(); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.main.offsetY = -0.20F; + this.main.offsetX = 0.075F; + this.main.offsetZ = 2.0F; + this.main.rotateAngleY = (float)Math.toRadians(212); + this.main.rotateAngleX = (float)Math.toRadians(22); + this.main.rotateAngleZ = (float)Math.toRadians(-12); + this.main.scaleChildren = true; + float scaler = 0.4F; + this.main.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.main.render(f); + //Reset rotations, positions and sizing: + this.main.setScale(1.0F, 1.0F, 1.0F); + this.main.scaleChildren = false; + resetToDefaultPose(); + } + + public void setRotateAngle(AdvancedModelRenderer AdvancedModelRenderer, float x, float y, float z) { + AdvancedModelRenderer.rotateAngleX = x; + AdvancedModelRenderer.rotateAngleY = y; + AdvancedModelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + this.main.offsetY = 0.0F; + + EntityPrehistoricFloraLitorosuchus proteros = (EntityPrehistoricFloraLitorosuchus) e; + + this.faceTarget(f3, f4, 10, neck); + this.faceTarget(f3, f4, 10, neck2); + this.faceTarget(f3, f4, 10, head); + + AdvancedModelRenderer[] Tail = {this.tail, this.tail2, this.tail3, this.tail4}; + AdvancedModelRenderer[] Neck = {this.neck, this.neck2, this.head}; + //AdvancedModelRenderer[] ArmL = {this.leftarm, this.leftarm2, this.leftarm3}; + //AdvancedModelRenderer[] ArmR = {this.rightarm, this.rightarm2, this.rightarm3}; + + proteros.tailBuffer.applyChainSwingBuffer(Tail); + + if (proteros.getAnimation() == proteros.LAY_ANIMATION) { + this.chainSwing(Neck, 0.5F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.5F * 2, -0.02F, 0.5F, f2, 0.8F); + } + else { + if (!proteros.isReallyInWater()) { + + if (f3 == 0.0F || !proteros.getIsMoving()) { + if (proteros.getAnimation() != proteros.EAT_ANIMATION) { + this.chainSwing(Neck, 0.05F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.05F * 2, -0.02F, 0.5F, f2, 0.8F); + } + + this.chainWave(Tail, (0.15F * 0.35F), 0.125F * 0.15F, 0.2F, f2, 1F); + this.chainSwing(Tail, (0.15F * 0.35F) * 4F, 0.05F * 0.35F, 0.12F, f2, 1F); + + + return; + } + + } + } + } + + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraLitorosuchus ee = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getIsMoving()) { + if(ee.getIsFast()){ + animRunning(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } else { + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + } + else { + //Swimming pose: + animSwim(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + if (ee.getAnimation() == ee.EAT_ANIMATION) { + animEat(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + else if (ee.getAnimation() == ee.ATTACK_ANIMATION) { + animEat(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + else if (ee.getAnimation() == ee.LAY_ANIMATION) { + animLay(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + else if (ee.getAnimation() == ee.MAKE_NEST_ANIMATION) { + animNest(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + else if (ee.getAnimation() == ee.STAND_ANIMATION) { //The noise anim + animIdle(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + + } + public void animNest(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 50; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (63.25-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 38) { + xx = 63.25 + (((tickAnim - 18) / 20) * (-17.25-(63.25))); + yy = 0 + (((tickAnim - 18) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 20) * (0-(0))); + } + else if (tickAnim >= 38 && tickAnim < 50) { + xx = -17.25 + (((tickAnim - 38) / 12) * (0-(-17.25))); + yy = 0 + (((tickAnim - 38) / 12) * (0-(0))); + zz = 0 + (((tickAnim - 38) / 12) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (19-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 19 + (((tickAnim - 18) / 9) * (31.94827-(19))); + yy = 0 + (((tickAnim - 18) / 9) * (-2.36864-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (-10.22755-(0))); + } + else if (tickAnim >= 27 && tickAnim < 38) { + xx = 31.94827 + (((tickAnim - 27) / 11) * (6.27045-(31.94827))); + yy = -2.36864 + (((tickAnim - 27) / 11) * (-6.636-(-2.36864))); + zz = -10.22755 + (((tickAnim - 27) / 11) * (0.8015-(-10.22755))); + } + else if (tickAnim >= 38 && tickAnim < 50) { + xx = 6.27045 + (((tickAnim - 38) / 12) * (0-(6.27045))); + yy = -6.636 + (((tickAnim - 38) / 12) * (0-(-6.636))); + zz = 0.8015 + (((tickAnim - 38) / 12) * (0-(0.8015))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 33) { + xx = 0 + (((tickAnim - 0) / 33) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 33) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 33) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 38) { + xx = 0 + (((tickAnim - 33) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 33) / 5) * (-0.175-(0))); + zz = 0 + (((tickAnim - 33) / 5) * (0.2-(0))); + } + else if (tickAnim >= 38 && tickAnim < 50) { + xx = 0 + (((tickAnim - 38) / 12) * (0-(0))); + yy = -0.175 + (((tickAnim - 38) / 12) * (0-(-0.175))); + zz = 0.2 + (((tickAnim - 38) / 12) * (0-(0.2))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg2.rotationPointX = this.leftLeg2.rotationPointX + (float)(xx); + this.leftLeg2.rotationPointY = this.leftLeg2.rotationPointY - (float)(yy); + this.leftLeg2.rotationPointZ = this.leftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (50.5-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 50.5 + (((tickAnim - 18) / 9) * (67.3-(50.5))); + yy = 0 + (((tickAnim - 18) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (0-(0))); + } + else if (tickAnim >= 27 && tickAnim < 33) { + xx = 67.3 + (((tickAnim - 27) / 6) * (0-(67.3))); + yy = 0 + (((tickAnim - 27) / 6) * (0-(0))); + zz = 0 + (((tickAnim - 27) / 6) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 38) { + xx = 0 + (((tickAnim - 33) / 5) * (9.38218-(0))); + yy = 0 + (((tickAnim - 33) / 5) * (0.41841-(0))); + zz = 0 + (((tickAnim - 33) / 5) * (-4.48206-(0))); + } + else if (tickAnim >= 38 && tickAnim < 50) { + xx = 9.38218 + (((tickAnim - 38) / 12) * (0-(9.38218))); + yy = 0.41841 + (((tickAnim - 38) / 12) * (0-(0.41841))); + zz = -4.48206 + (((tickAnim - 38) / 12) * (0-(-4.48206))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg3, leftLeg3.rotateAngleX + (float) Math.toRadians(xx), leftLeg3.rotateAngleY + (float) Math.toRadians(yy), leftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 27) { + xx = 0 + (((tickAnim - 0) / 27) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 27) * (0.525-(0))); + zz = 0 + (((tickAnim - 0) / 27) * (0-(0))); + } + else if (tickAnim >= 27 && tickAnim < 33) { + xx = 0 + (((tickAnim - 27) / 6) * (0-(0))); + yy = 0.525 + (((tickAnim - 27) / 6) * (0-(0.525))); + zz = 0 + (((tickAnim - 27) / 6) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 38) { + xx = 0 + (((tickAnim - 33) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 33) / 5) * (-0.4-(0))); + zz = 0 + (((tickAnim - 33) / 5) * (0-(0))); + } + else if (tickAnim >= 38 && tickAnim < 50) { + xx = 0 + (((tickAnim - 38) / 12) * (0-(0))); + yy = -0.4 + (((tickAnim - 38) / 12) * (0-(-0.4))); + zz = 0 + (((tickAnim - 38) / 12) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg3.rotationPointX = this.leftLeg3.rotationPointX + (float)(xx); + this.leftLeg3.rotationPointY = this.leftLeg3.rotationPointY - (float)(yy); + this.leftLeg3.rotationPointZ = this.leftLeg3.rotationPointZ + (float)(zz); + + } + public void animLay(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 50; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (-9.25-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = -9.25 + (((tickAnim - 20) / 10) * (-9.25-(-9.25))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = -9.25 + (((tickAnim - 30) / 20) * (0-(-9.25))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(main, main.rotateAngleX + (float) Math.toRadians(xx), main.rotateAngleY + (float) Math.toRadians(yy), main.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (-1.275-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = -1.275 + (((tickAnim - 20) / 10) * (-1.275-(-1.275))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = -1.275 + (((tickAnim - 30) / 20) * (0-(-1.275))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.main.rotationPointX = this.main.rotationPointX + (float)(xx); + this.main.rotationPointY = this.main.rotationPointY - (float)(yy); + this.main.rotationPointZ = this.main.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (-14.75-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = -14.75 + (((tickAnim - 20) / 10) * (-14.75-(-14.75))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = -14.75 + (((tickAnim - 30) / 20) * (0-(-14.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (9-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (25.75-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 9 + (((tickAnim - 20) / 10) * (9-(9))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 25.75 + (((tickAnim - 20) / 10) * (25.75-(25.75))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 9 + (((tickAnim - 30) / 20) * (0-(9))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 25.75 + (((tickAnim - 30) / 20) * (0-(25.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0.225-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0.225 + (((tickAnim - 20) / 10) * (0.225-(0.225))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0.225 + (((tickAnim - 30) / 20) * (0-(0.225))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg2.rotationPointX = this.leftLeg2.rotationPointX + (float)(xx); + this.leftLeg2.rotationPointY = this.leftLeg2.rotationPointY - (float)(yy); + this.leftLeg2.rotationPointZ = this.leftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (-2.47366-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0.00852-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (-10.76366-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = -2.47366 + (((tickAnim - 20) / 10) * (-2.47366-(-2.47366))); + yy = 0.00852 + (((tickAnim - 20) / 10) * (0.00852-(0.00852))); + zz = -10.76366 + (((tickAnim - 20) / 10) * (-10.76366-(-10.76366))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = -2.47366 + (((tickAnim - 30) / 20) * (0-(-2.47366))); + yy = 0.00852 + (((tickAnim - 30) / 20) * (0-(0.00852))); + zz = -10.76366 + (((tickAnim - 30) / 20) * (0-(-10.76366))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg3, leftLeg3.rotateAngleX + (float) Math.toRadians(xx), leftLeg3.rotateAngleY + (float) Math.toRadians(yy), leftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0.175-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0.175 + (((tickAnim - 20) / 10) * (0.175-(0.175))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0.175 + (((tickAnim - 30) / 20) * (0-(0.175))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg3.rotationPointX = this.leftLeg3.rotationPointX + (float)(xx); + this.leftLeg3.rotationPointY = this.leftLeg3.rotationPointY - (float)(yy); + this.leftLeg3.rotationPointZ = this.leftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (14.75-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 14.75 + (((tickAnim - 20) / 10) * (14.75-(14.75))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 14.75 + (((tickAnim - 30) / 20) * (0-(14.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (9-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (-25.75-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 9 + (((tickAnim - 20) / 10) * (9-(9))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = -25.75 + (((tickAnim - 20) / 10) * (-25.75-(-25.75))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 9 + (((tickAnim - 30) / 20) * (0-(9))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = -25.75 + (((tickAnim - 30) / 20) * (0-(-25.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0.225-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0.225 + (((tickAnim - 20) / 10) * (0.225-(0.225))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0.225 + (((tickAnim - 30) / 20) * (0-(0.225))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightLeg2.rotationPointX = this.rightLeg2.rotationPointX + (float)(xx); + this.rightLeg2.rotationPointY = this.rightLeg2.rotationPointY - (float)(yy); + this.rightLeg2.rotationPointZ = this.rightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (-2.47366-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (-0.00852-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (10.76366-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = -2.47366 + (((tickAnim - 20) / 10) * (-2.47366-(-2.47366))); + yy = -0.00852 + (((tickAnim - 20) / 10) * (-0.00852-(-0.00852))); + zz = 10.76366 + (((tickAnim - 20) / 10) * (10.76366-(10.76366))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = -2.47366 + (((tickAnim - 30) / 20) * (0-(-2.47366))); + yy = -0.00852 + (((tickAnim - 30) / 20) * (0-(-0.00852))); + zz = 10.76366 + (((tickAnim - 30) / 20) * (0-(10.76366))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg3, rightLeg3.rotateAngleX + (float) Math.toRadians(xx), rightLeg3.rotateAngleY + (float) Math.toRadians(yy), rightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0.175-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 0 + (((tickAnim - 20) / 10) * (0-(0))); + yy = 0.175 + (((tickAnim - 20) / 10) * (0.175-(0.175))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 0 + (((tickAnim - 30) / 20) * (0-(0))); + yy = 0.175 + (((tickAnim - 30) / 20) * (0-(0.175))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightLeg3.rotationPointX = this.rightLeg3.rotationPointX + (float)(xx); + this.rightLeg3.rotationPointY = this.rightLeg3.rotationPointY - (float)(yy); + this.rightLeg3.rotationPointZ = this.rightLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (2.75-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 2.75 + (((tickAnim - 20) / 10) * (2.75-(2.75))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 2.75 + (((tickAnim - 30) / 20) * (0-(2.75))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(xx), tail4.rotateAngleY + (float) Math.toRadians(yy), tail4.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (1.75-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 1.75 + (((tickAnim - 20) / 10) * (1.75-(1.75))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 1.75 + (((tickAnim - 30) / 20) * (0-(1.75))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(xx), body.rotateAngleY + (float) Math.toRadians(yy), body.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = 0 + (((tickAnim - 0) / 20) * (5.25-(0))); + yy = 0 + (((tickAnim - 0) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 30) { + xx = 5.25 + (((tickAnim - 20) / 10) * (5.25-(5.25))); + yy = 0 + (((tickAnim - 20) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 10) * (0-(0))); + } + else if (tickAnim >= 30 && tickAnim < 50) { + xx = 5.25 + (((tickAnim - 30) / 20) * (0-(5.25))); + yy = 0 + (((tickAnim - 30) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 30) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(xx), body2.rotateAngleY + (float) Math.toRadians(yy), body2.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animEat(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (7.5-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 7.5 + (((tickAnim - 10) / 10) * (0-(7.5))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(xx), neck.rotateAngleY + (float) Math.toRadians(yy), neck.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (7.47815-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (-0.83142-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (-0.47587-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 7.47815 + (((tickAnim - 10) / 10) * (0-(7.47815))); + yy = -0.83142 + (((tickAnim - 10) / 10) * (0-(-0.83142))); + zz = -0.47587 + (((tickAnim - 10) / 10) * (0-(-0.47587))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(xx), neck2.rotateAngleY + (float) Math.toRadians(yy), neck2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (5.75-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 5.75 + (((tickAnim - 10) / 3) * (22.08-(5.75))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 22.08 + (((tickAnim - 13) / 7) * (0-(22.08))); + yy = 0 + (((tickAnim - 13) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(xx), neck3.rotateAngleY + (float) Math.toRadians(yy), neck3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (12-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 12 + (((tickAnim - 5) / 5) * (0-(12))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (34.75-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 34.75 + (((tickAnim - 10) / 3) * (0-(34.75))); + yy = 0 + (((tickAnim - 10) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animIdle(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (19.75-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 19.75 + (((tickAnim - 8) / 4) * (19.75-(19.75))); + yy = 0 + (((tickAnim - 8) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 20) { + xx = 19.75 + (((tickAnim - 12) / 8) * (0-(19.75))); + yy = 0 + (((tickAnim - 12) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 12) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(eye, eye.rotateAngleX + (float) Math.toRadians(xx), eye.rotateAngleY + (float) Math.toRadians(yy), eye.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0.2-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 0 + (((tickAnim - 8) / 4) * (0-(0))); + yy = 0.2 + (((tickAnim - 8) / 4) * (0.2-(0.2))); + zz = 0 + (((tickAnim - 8) / 4) * (0-(0))); + } + else if (tickAnim >= 12 && tickAnim < 20) { + xx = 0 + (((tickAnim - 12) / 8) * (0-(0))); + yy = 0.2 + (((tickAnim - 12) / 8) * (0-(0.2))); + zz = 0 + (((tickAnim - 12) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.eye.rotationPointX = this.eye.rotationPointX + (float)(xx); + this.eye.rotationPointY = this.eye.rotationPointY - (float)(yy); + this.eye.rotationPointZ = this.eye.rotationPointZ + (float)(zz); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 1 + (((tickAnim - 0) / 8) * (1-(1))); + yy = 1 + (((tickAnim - 0) / 8) * (0.0275-(1))); + zz = 1 + (((tickAnim - 0) / 8) * (1-(1))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 1 + (((tickAnim - 8) / 4) * (1-(1))); + yy = 0.0275 + (((tickAnim - 8) / 4) * (0.0275-(0.0275))); + zz = 1 + (((tickAnim - 8) / 4) * (1-(1))); + } + else if (tickAnim >= 12 && tickAnim < 20) { + xx = 1 + (((tickAnim - 12) / 8) * (1-(1))); + yy = 0.0275 + (((tickAnim - 12) / 8) * (1-(0.0275))); + zz = 1 + (((tickAnim - 12) / 8) * (1-(1))); + } + else { + xx = 1; + yy = 1; + zz = 1; + } + this.eye.setScale((float)xx, (float)yy, (float)zz); + + } + public void animSwim(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(main, main.rotateAngleX + (float) Math.toRadians(0), main.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*4), main.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(69.14985), leftLeg.rotateAngleY + (float) Math.toRadians(-1.45402), leftLeg.rotateAngleZ + (float) Math.toRadians(-53.86909)); + + + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4), leftLeg2.rotateAngleY + (float) Math.toRadians(0), leftLeg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftLeg3, leftLeg3.rotateAngleX + (float) Math.toRadians(91.75-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4), leftLeg3.rotateAngleY + (float) Math.toRadians(0), leftLeg3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(69.14985), rightLeg.rotateAngleY + (float) Math.toRadians(1.45402), rightLeg.rotateAngleZ + (float) Math.toRadians(53.86909)); + + + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*4), rightLeg2.rotateAngleY + (float) Math.toRadians(0), rightLeg2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightLeg3, rightLeg3.rotateAngleX + (float) Math.toRadians(91.75-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*4), rightLeg3.rotateAngleY + (float) Math.toRadians(0), rightLeg3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(0), tail.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*5), tail.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(0), tail2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-100))*8), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(0), tail3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*10), tail3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(0), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*12), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(0), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*14), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(0), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*16), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail7, tail7.rotateAngleX + (float) Math.toRadians(0), tail7.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-300))*18), tail7.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail8, tail8.rotateAngleX + (float) Math.toRadians(0), tail8.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-350))*23), tail8.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(-4.5), body.rotateAngleY + (float) Math.toRadians(0), body.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(-3), body2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4), body2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body3, body3.rotateAngleX + (float) Math.toRadians(0), body3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*4), body3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(7.75), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*4), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(8.75), neck2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*-4), neck2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(-2), neck3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-300))*4), neck3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(28.09764), rightArm.rotateAngleY + (float) Math.toRadians(30.10966), rightArm.rotateAngleZ + (float) Math.toRadians(19.62866)); + + + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(72.8365884853-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4), rightArm2.rotateAngleY + (float) Math.toRadians(25.45836), rightArm2.rotateAngleZ + (float) Math.toRadians(34.64088)); + + + this.setRotateAngle(rightArm3, rightArm3.rotateAngleX + (float) Math.toRadians(101-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4), rightArm3.rotateAngleY + (float) Math.toRadians(0), rightArm3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(28.09764), leftArm.rotateAngleY + (float) Math.toRadians(-30.10966), leftArm.rotateAngleZ + (float) Math.toRadians(-19.62866)); + + + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(72.8365884853-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*4), leftArm2.rotateAngleY + (float) Math.toRadians(-25.45836), leftArm2.rotateAngleZ + (float) Math.toRadians(-34.64088)); + + + this.setRotateAngle(leftArm3, leftArm3.rotateAngleX + (float) Math.toRadians(101-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*4), leftArm3.rotateAngleY + (float) Math.toRadians(0), leftArm3.rotateAngleZ + (float) Math.toRadians(0)); + + } + public void animRunning(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 17; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(main, main.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411/0.5-50))*4), main.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-50))*-10), main.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-30))*-5)); + this.main.rotationPointX = this.main.rotationPointX + (float)(0); + this.main.rotationPointY = this.main.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411/0.5-50))*0.2); + this.main.rotationPointZ = this.main.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411/0.5-30))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 46 + (((tickAnim - 0) / 4) * (14.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*150-(46))); + yy = 0 + (((tickAnim - 0) / 4) * (-0.34936-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (-17.1473+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*50-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 14.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*150 + (((tickAnim - 4) / 4) * (-17.1495-(14.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*150))); + yy = -0.34936 + (((tickAnim - 4) / 4) * (9.78418-(-0.34936))); + zz = -17.1473+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*50 + (((tickAnim - 4) / 4) * (12.73775-(-17.1473+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*50))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = -17.1495 + (((tickAnim - 8) / 10) * (46-(-17.1495))); + yy = 9.78418 + (((tickAnim - 8) / 10) * (0-(9.78418))); + zz = 12.73775 + (((tickAnim - 8) / 10) * (0-(12.73775))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 30.32791 + (((tickAnim - 0) / 2) * (40.64206-(30.32791))); + yy = -4.76417 + (((tickAnim - 0) / 2) * (-3.03393-(-4.76417))); + zz = -5.85294 + (((tickAnim - 0) / 2) * (-7.0178-(-5.85294))); + } + else if (tickAnim >= 2 && tickAnim < 4) { + xx = 40.64206 + (((tickAnim - 2) / 2) * (17.91904-(40.64206))); + yy = -3.03393 + (((tickAnim - 2) / 2) * (-0.95765-(-3.03393))); + zz = -7.0178 + (((tickAnim - 2) / 2) * (-8.41562-(-7.0178))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 17.91904 + (((tickAnim - 4) / 4) * (-13.4072-(17.91904))); + yy = -0.95765 + (((tickAnim - 4) / 4) * (2.50283-(-0.95765))); + zz = -8.41562 + (((tickAnim - 4) / 4) * (-10.74534-(-8.41562))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = -13.4072 + (((tickAnim - 8) / 10) * (30.32791-(-13.4072))); + yy = 2.50283 + (((tickAnim - 8) / 10) * (-4.76417-(2.50283))); + zz = -10.74534 + (((tickAnim - 8) / 10) * (-5.85294-(-10.74534))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 45.5 + (((tickAnim - 0) / 4) * (87.62-(45.5))); + yy = 0 + (((tickAnim - 0) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 87.62 + (((tickAnim - 4) / 4) * (24.25-(87.62))); + yy = 0 + (((tickAnim - 4) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 4) / 4) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 13) { + xx = 24.25 + (((tickAnim - 8) / 5) * (-9.87-(24.25))); + yy = 0 + (((tickAnim - 8) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 5) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = -9.87 + (((tickAnim - 13) / 5) * (45.5-(-9.87))); + yy = 0 + (((tickAnim - 13) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg3, leftLeg3.rotateAngleX + (float) Math.toRadians(xx), leftLeg3.rotateAngleY + (float) Math.toRadians(yy), leftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 4) * (0.4-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (-0.225-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = 0 + (((tickAnim - 4) / 4) * (0-(0))); + yy = 0.4 + (((tickAnim - 4) / 4) * (-0.1-(0.4))); + zz = -0.225 + (((tickAnim - 4) / 4) * (0-(-0.225))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = 0 + (((tickAnim - 8) / 10) * (0-(0))); + yy = -0.1 + (((tickAnim - 8) / 10) * (0-(-0.1))); + zz = 0 + (((tickAnim - 8) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg3.rotationPointX = this.leftLeg3.rotationPointX + (float)(xx); + this.leftLeg3.rotationPointY = this.leftLeg3.rotationPointY - (float)(yy); + this.leftLeg3.rotationPointZ = this.leftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = -17.1495 + (((tickAnim - 0) / 8) * (47.5-(-17.1495))); + yy = -9.78418 + (((tickAnim - 0) / 8) * (0-(-9.78418))); + zz = -12.73775 + (((tickAnim - 0) / 8) * (0-(-12.73775))); + } + else if (tickAnim >= 8 && tickAnim < 13) { + xx = 47.5 + (((tickAnim - 8) / 5) * (139.0619-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250-(47.5))); + yy = 0 + (((tickAnim - 8) / 5) * (-0.34936-(0))); + zz = 0 + (((tickAnim - 8) / 5) * (49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50-(0))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = 139.0619-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250 + (((tickAnim - 13) / 5) * (-17.1495-(139.0619-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250))); + yy = -0.34936 + (((tickAnim - 13) / 5) * (-9.78418-(-0.34936))); + zz = 49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50 + (((tickAnim - 13) / 5) * (-12.73775-(49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = -13.4072 + (((tickAnim - 0) / 8) * (30.32791-(-13.4072))); + yy = -2.50283 + (((tickAnim - 0) / 8) * (4.76417-(-2.50283))); + zz = 10.74534 + (((tickAnim - 0) / 8) * (5.85294-(10.74534))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 30.32791 + (((tickAnim - 8) / 3) * (40.64206-(30.32791))); + yy = 4.76417 + (((tickAnim - 8) / 3) * (3.03393-(4.76417))); + zz = 5.85294 + (((tickAnim - 8) / 3) * (7.0178-(5.85294))); + } + else if (tickAnim >= 11 && tickAnim < 13) { + xx = 40.64206 + (((tickAnim - 11) / 2) * (17.91904-(40.64206))); + yy = 3.03393 + (((tickAnim - 11) / 2) * (0.95765-(3.03393))); + zz = 7.0178 + (((tickAnim - 11) / 2) * (8.41562-(7.0178))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = 17.91904 + (((tickAnim - 13) / 5) * (-13.4072-(17.91904))); + yy = 0.95765 + (((tickAnim - 13) / 5) * (-2.50283-(0.95765))); + zz = 8.41562 + (((tickAnim - 13) / 5) * (10.74534-(8.41562))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 24.25 + (((tickAnim - 0) / 4) * (-9.87-(24.25))); + yy = 0 + (((tickAnim - 0) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = -9.87 + (((tickAnim - 4) / 4) * (45.5-(-9.87))); + yy = 0 + (((tickAnim - 4) / 4) * (0-(0))); + zz = 0 + (((tickAnim - 4) / 4) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 13) { + xx = 45.5 + (((tickAnim - 8) / 5) * (87.62-(45.5))); + yy = 0 + (((tickAnim - 8) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 5) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = 87.62 + (((tickAnim - 13) / 5) * (24.25-(87.62))); + yy = 0 + (((tickAnim - 13) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg3, rightLeg3.rotateAngleX + (float) Math.toRadians(xx), rightLeg3.rotateAngleY + (float) Math.toRadians(yy), rightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = -0.1 + (((tickAnim - 0) / 8) * (0-(-0.1))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 13) { + xx = 0 + (((tickAnim - 8) / 5) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 5) * (0.4-(0))); + zz = 0 + (((tickAnim - 8) / 5) * (-0.225-(0))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = 0 + (((tickAnim - 13) / 5) * (0-(0))); + yy = 0.4 + (((tickAnim - 13) / 5) * (-0.1-(0.4))); + zz = -0.225 + (((tickAnim - 13) / 5) * (0-(-0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightLeg3.rotationPointX = this.rightLeg3.rotationPointX + (float)(xx); + this.rightLeg3.rotationPointY = this.rightLeg3.rotationPointY - (float)(yy); + this.rightLeg3.rotationPointZ = this.rightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(0), tail.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-50))*-1), tail.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(0), tail2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-50))*-2), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(0), tail3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-100))*-3), tail3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(0), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-150))*-4), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(0), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-130))*-5), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(0), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-170))*-5), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail7, tail7.rotateAngleX + (float) Math.toRadians(0), tail7.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-300))*5), tail7.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail8, tail8.rotateAngleX + (float) Math.toRadians(0), tail8.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-350))*5), tail8.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411/0.5-70))*-5), body2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-70))*10), body2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411))*9)); + + + this.setRotateAngle(body3, body3.rotateAngleX + (float) Math.toRadians(0), body3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-100))*5), body3.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-30))*3)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411/0.5-150))*3), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-200))*-5), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(-8.75), neck2.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-230))*-8), neck2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(-9), neck3.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-300))*10), neck3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(15.5), head.rotateAngleY + (float) Math.toRadians(-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*411-200))*10), head.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 30.95836 + (((tickAnim - 0) / 4) * (-13.0562-(30.95836))); + yy = 2.21826 + (((tickAnim - 0) / 4) * (10.3813-(2.21826))); + zz = -4.06501 + (((tickAnim - 0) / 4) * (25.571-(-4.06501))); + } + else if (tickAnim >= 4 && tickAnim < 8) { + xx = -13.0562 + (((tickAnim - 4) / 4) * (-41.74425-(-13.0562))); + yy = 10.3813 + (((tickAnim - 4) / 4) * (22.10271-(10.3813))); + zz = 25.571 + (((tickAnim - 4) / 4) * (-14.86292-(25.571))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = -41.74425 + (((tickAnim - 8) / 10) * (30.95836-(-41.74425))); + yy = 22.10271 + (((tickAnim - 8) / 10) * (2.21826-(22.10271))); + zz = -14.86292 + (((tickAnim - 8) / 10) * (-4.06501-(-14.86292))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 50.75 + (((tickAnim - 0) / 3) * (13.50019-(50.75))); + yy = 0 + (((tickAnim - 0) / 3) * (24.28367-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (7.48033-(0))); + } + else if (tickAnim >= 3 && tickAnim < 7) { + xx = 13.50019 + (((tickAnim - 3) / 4) * (-33.41897-(13.50019))); + yy = 24.28367 + (((tickAnim - 3) / 4) * (24.28255-(24.28367))); + zz = 7.48033 + (((tickAnim - 3) / 4) * (-23.87687-(7.48033))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = -33.41897 + (((tickAnim - 7) / 1) * (8.47788-(-33.41897))); + yy = 24.28255 + (((tickAnim - 7) / 1) * (14.18791-(24.28255))); + zz = -23.87687 + (((tickAnim - 7) / 1) * (11.08283-(-23.87687))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 8.47788 + (((tickAnim - 8) / 2) * (-3.4962-(8.47788))); + yy = 14.18791 + (((tickAnim - 8) / 2) * (12.83668-(14.18791))); + zz = 11.08283 + (((tickAnim - 8) / 2) * (10.02732-(11.08283))); + } + else if (tickAnim >= 10 && tickAnim < 18) { + xx = -3.4962 + (((tickAnim - 10) / 8) * (50.75-(-3.4962))); + yy = 12.83668 + (((tickAnim - 10) / 8) * (0-(12.83668))); + zz = 10.02732 + (((tickAnim - 10) / 8) * (0-(10.02732))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 0 + (((tickAnim - 10) / 3) * (-0.275-(0))); + yy = 0 + (((tickAnim - 10) / 3) * (0.25-(0))); + zz = 0 + (((tickAnim - 10) / 3) * (0.225-(0))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = -0.275 + (((tickAnim - 13) / 5) * (0-(-0.275))); + yy = 0.25 + (((tickAnim - 13) / 5) * (0-(0.25))); + zz = 0.225 + (((tickAnim - 13) / 5) * (0-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightArm2.rotationPointX = this.rightArm2.rotationPointX + (float)(xx); + this.rightArm2.rotationPointY = this.rightArm2.rotationPointY - (float)(yy); + this.rightArm2.rotationPointZ = this.rightArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 52.82333 + (((tickAnim - 0) / 3) * (126.09848-(52.82333))); + yy = -38.09882 + (((tickAnim - 0) / 3) * (-22.07531-(-38.09882))); + zz = -5.39339 + (((tickAnim - 0) / 3) * (1.16819-(-5.39339))); + } + else if (tickAnim >= 3 && tickAnim < 6) { + xx = 126.09848 + (((tickAnim - 3) / 3) * (126.09848-(126.09848))); + yy = -22.07531 + (((tickAnim - 3) / 3) * (-22.07531-(-22.07531))); + zz = 1.16819 + (((tickAnim - 3) / 3) * (1.16819-(1.16819))); + } + else if (tickAnim >= 6 && tickAnim < 8) { + xx = 126.09848 + (((tickAnim - 6) / 2) * (43.32588-(126.09848))); + yy = -22.07531 + (((tickAnim - 6) / 2) * (-7.50848-(-22.07531))); + zz = 1.16819 + (((tickAnim - 6) / 2) * (7.13326-(1.16819))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 43.32588 + (((tickAnim - 8) / 2) * (47.59151-(43.32588))); + yy = -7.50848 + (((tickAnim - 8) / 2) * (-10.42185-(-7.50848))); + zz = 7.13326 + (((tickAnim - 8) / 2) * (5.94025-(7.13326))); + } + else if (tickAnim >= 10 && tickAnim < 13) { + xx = 47.59151 + (((tickAnim - 10) / 3) * (3.1234-(47.59151))); + yy = -10.42185 + (((tickAnim - 10) / 3) * (-19.78689-(-10.42185))); + zz = 5.94025 + (((tickAnim - 10) / 3) * (-4.85916-(5.94025))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 3.1234 + (((tickAnim - 13) / 1) * (-23.55995-(3.1234))); + yy = -19.78689 + (((tickAnim - 13) / 1) * (-25.89087-(-19.78689))); + zz = -4.85916 + (((tickAnim - 13) / 1) * (-5.03724-(-4.85916))); + } + else if (tickAnim >= 14 && tickAnim < 18) { + xx = -23.55995 + (((tickAnim - 14) / 4) * (52.82333-(-23.55995))); + yy = -25.89087 + (((tickAnim - 14) / 4) * (-38.09882-(-25.89087))); + zz = -5.03724 + (((tickAnim - 14) / 4) * (-5.39339-(-5.03724))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm3, rightArm3.rotateAngleX + (float) Math.toRadians(xx), rightArm3.rotateAngleY + (float) Math.toRadians(yy), rightArm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 8) { + xx = -41.74425 + (((tickAnim - 0) / 8) * (31.20422-(-41.74425))); + yy = -22.10271 + (((tickAnim - 0) / 8) * (-2.97422-(-22.10271))); + zz = 14.86292 + (((tickAnim - 0) / 8) * (4.76428-(14.86292))); + } + else if (tickAnim >= 8 && tickAnim < 13) { + xx = 31.20422 + (((tickAnim - 8) / 5) * (-13.0562-(31.20422))); + yy = -2.97422 + (((tickAnim - 8) / 5) * (-10.3813-(-2.97422))); + zz = 4.76428 + (((tickAnim - 8) / 5) * (-25.571-(4.76428))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = -13.0562 + (((tickAnim - 13) / 5) * (-41.74425-(-13.0562))); + yy = -10.3813 + (((tickAnim - 13) / 5) * (-22.10271-(-10.3813))); + zz = -25.571 + (((tickAnim - 13) / 5) * (14.86292-(-25.571))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 8.47788 + (((tickAnim - 0) / 1) * (-3.4962-(8.47788))); + yy = -14.18791 + (((tickAnim - 0) / 1) * (-12.83668-(-14.18791))); + zz = -11.08283 + (((tickAnim - 0) / 1) * (-10.02732-(-11.08283))); + } + else if (tickAnim >= 1 && tickAnim < 8) { + xx = -3.4962 + (((tickAnim - 1) / 7) * (50.75-(-3.4962))); + yy = -12.83668 + (((tickAnim - 1) / 7) * (0-(-12.83668))); + zz = -10.02732 + (((tickAnim - 1) / 7) * (0-(-10.02732))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 50.75 + (((tickAnim - 8) / 4) * (13.50019-(50.75))); + yy = 0 + (((tickAnim - 8) / 4) * (-24.28367-(0))); + zz = 0 + (((tickAnim - 8) / 4) * (-7.48033-(0))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 13.50019 + (((tickAnim - 12) / 3) * (-33.41897-(13.50019))); + yy = -24.28367 + (((tickAnim - 12) / 3) * (-24.28255-(-24.28367))); + zz = -7.48033 + (((tickAnim - 12) / 3) * (23.87687-(-7.48033))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = -33.41897 + (((tickAnim - 15) / 3) * (8.47788-(-33.41897))); + yy = -24.28255 + (((tickAnim - 15) / 3) * (-14.18791-(-24.28255))); + zz = 23.87687 + (((tickAnim - 15) / 3) * (-11.08283-(23.87687))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 0 + (((tickAnim - 0) / 1) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 1) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 1) * (0-(0))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 0 + (((tickAnim - 1) / 2) * (0.2-(0))); + yy = 0 + (((tickAnim - 1) / 2) * (0.25-(0))); + zz = 0 + (((tickAnim - 1) / 2) * (0.225-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0.2 + (((tickAnim - 3) / 5) * (0-(0.2))); + yy = 0.25 + (((tickAnim - 3) / 5) * (0-(0.25))); + zz = 0.225 + (((tickAnim - 3) / 5) * (0-(0.225))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = 0 + (((tickAnim - 8) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 8) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftArm2.rotationPointX = this.leftArm2.rotationPointX + (float)(xx); + this.leftArm2.rotationPointY = this.leftArm2.rotationPointY - (float)(yy); + this.leftArm2.rotationPointZ = this.leftArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 1) { + xx = 43.32588 + (((tickAnim - 0) / 1) * (47.59151-(43.32588))); + yy = 7.50848 + (((tickAnim - 0) / 1) * (10.42185-(7.50848))); + zz = -7.13326 + (((tickAnim - 0) / 1) * (-5.94025-(-7.13326))); + } + else if (tickAnim >= 1 && tickAnim < 3) { + xx = 47.59151 + (((tickAnim - 1) / 2) * (3.1234-(47.59151))); + yy = 10.42185 + (((tickAnim - 1) / 2) * (19.78689-(10.42185))); + zz = -5.94025 + (((tickAnim - 1) / 2) * (4.85916-(-5.94025))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = 3.1234 + (((tickAnim - 3) / 2) * (-23.55995-(3.1234))); + yy = 19.78689 + (((tickAnim - 3) / 2) * (25.89087-(19.78689))); + zz = 4.85916 + (((tickAnim - 3) / 2) * (5.03724-(4.85916))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -23.55995 + (((tickAnim - 5) / 3) * (52.82333-(-23.55995))); + yy = 25.89087 + (((tickAnim - 5) / 3) * (38.09882-(25.89087))); + zz = 5.03724 + (((tickAnim - 5) / 3) * (5.39339-(5.03724))); + } + else if (tickAnim >= 8 && tickAnim < 12) { + xx = 52.82333 + (((tickAnim - 8) / 4) * (126.09848-(52.82333))); + yy = 38.09882 + (((tickAnim - 8) / 4) * (22.07531-(38.09882))); + zz = 5.39339 + (((tickAnim - 8) / 4) * (-1.16819-(5.39339))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 126.09848 + (((tickAnim - 12) / 3) * (126.09848-(126.09848))); + yy = 22.07531 + (((tickAnim - 12) / 3) * (22.07531-(22.07531))); + zz = -1.16819 + (((tickAnim - 12) / 3) * (-1.16819-(-1.16819))); + } + else if (tickAnim >= 15 && tickAnim < 18) { + xx = 126.09848 + (((tickAnim - 15) / 3) * (43.32588-(126.09848))); + yy = 22.07531 + (((tickAnim - 15) / 3) * (7.50848-(22.07531))); + zz = -1.16819 + (((tickAnim - 15) / 3) * (-7.13326-(-1.16819))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm3, leftArm3.rotateAngleX + (float) Math.toRadians(xx), leftArm3.rotateAngleY + (float) Math.toRadians(yy), leftArm3.rotateAngleZ + (float) Math.toRadians(zz)); + + } + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraLitorosuchus entity = (EntityPrehistoricFloraLitorosuchus) entitylivingbaseIn; + int animCycle = 35; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + this.setRotateAngle(main, main.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206/0.5-50))*2), main.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-50))*-7), main.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-30))*-3)); + this.main.rotationPointX = this.main.rotationPointX + (float)(0); + this.main.rotationPointY = this.main.rotationPointY - (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206/0.5-50))*0.2); + this.main.rotationPointZ = this.main.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206/0.5-30))*0.5); + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 33.25 + (((tickAnim - 0) / 9) * (5.3869-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*100-(33.25))); + yy = 0 + (((tickAnim - 0) / 9) * (-0.34936-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (8.4027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50-(0))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = 5.3869-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*100 + (((tickAnim - 9) / 9) * (-17.1495-(5.3869-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*100))); + yy = -0.34936 + (((tickAnim - 9) / 9) * (9.78418-(-0.34936))); + zz = 8.4027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50 + (((tickAnim - 9) / 9) * (12.73775-(8.4027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50))); + } + else if (tickAnim >= 18 && tickAnim < 35) { + xx = -17.1495 + (((tickAnim - 18) / 17) * (33.25-(-17.1495))); + yy = 9.78418 + (((tickAnim - 18) / 17) * (0-(9.78418))); + zz = 12.73775 + (((tickAnim - 18) / 17) * (0-(12.73775))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg, leftLeg.rotateAngleX + (float) Math.toRadians(xx), leftLeg.rotateAngleY + (float) Math.toRadians(yy), leftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 30.32791 + (((tickAnim - 0) / 4) * (40.64206-(30.32791))); + yy = -4.76417 + (((tickAnim - 0) / 4) * (-3.03393-(-4.76417))); + zz = -5.85294 + (((tickAnim - 0) / 4) * (-7.0178-(-5.85294))); + } + else if (tickAnim >= 4 && tickAnim < 9) { + xx = 40.64206 + (((tickAnim - 4) / 5) * (17.91904-(40.64206))); + yy = -3.03393 + (((tickAnim - 4) / 5) * (-0.95765-(-3.03393))); + zz = -7.0178 + (((tickAnim - 4) / 5) * (-8.41562-(-7.0178))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = 17.91904 + (((tickAnim - 9) / 9) * (-13.4072-(17.91904))); + yy = -0.95765 + (((tickAnim - 9) / 9) * (2.50283-(-0.95765))); + zz = -8.41562 + (((tickAnim - 9) / 9) * (-10.74534-(-8.41562))); + } + else if (tickAnim >= 18 && tickAnim < 35) { + xx = -13.4072 + (((tickAnim - 18) / 17) * (30.32791-(-13.4072))); + yy = 2.50283 + (((tickAnim - 18) / 17) * (-4.76417-(2.50283))); + zz = -10.74534 + (((tickAnim - 18) / 17) * (-5.85294-(-10.74534))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg2, leftLeg2.rotateAngleX + (float) Math.toRadians(xx), leftLeg2.rotateAngleY + (float) Math.toRadians(yy), leftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 45.5 + (((tickAnim - 0) / 9) * (87.62-(45.5))); + yy = 0 + (((tickAnim - 0) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = 87.62 + (((tickAnim - 9) / 9) * (24.25-(87.62))); + yy = 0 + (((tickAnim - 9) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 9) / 9) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 24.25 + (((tickAnim - 18) / 9) * (-9.87-(24.25))); + yy = 0 + (((tickAnim - 18) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (0-(0))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = -9.87 + (((tickAnim - 27) / 8) * (45.5-(-9.87))); + yy = 0 + (((tickAnim - 27) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 27) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftLeg3, leftLeg3.rotateAngleX + (float) Math.toRadians(xx), leftLeg3.rotateAngleY + (float) Math.toRadians(yy), leftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 9) * (0.4-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (-0.225-(0))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = 0 + (((tickAnim - 9) / 9) * (0-(0))); + yy = 0.4 + (((tickAnim - 9) / 9) * (-0.1-(0.4))); + zz = -0.225 + (((tickAnim - 9) / 9) * (0-(-0.225))); + } + else if (tickAnim >= 18 && tickAnim < 35) { + xx = 0 + (((tickAnim - 18) / 17) * (0-(0))); + yy = -0.1 + (((tickAnim - 18) / 17) * (0-(-0.1))); + zz = 0 + (((tickAnim - 18) / 17) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftLeg3.rotationPointX = this.leftLeg3.rotationPointX + (float)(xx); + this.leftLeg3.rotationPointY = this.leftLeg3.rotationPointY - (float)(yy); + this.leftLeg3.rotationPointZ = this.leftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = -17.1495 + (((tickAnim - 0) / 18) * (33.25-(-17.1495))); + yy = -9.78418 + (((tickAnim - 0) / 18) * (0-(-9.78418))); + zz = -12.73775 + (((tickAnim - 0) / 18) * (0-(-12.73775))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 33.25 + (((tickAnim - 18) / 9) * (188.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250-(33.25))); + yy = 0 + (((tickAnim - 18) / 9) * (-0.34936-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50-(0))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = 188.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250 + (((tickAnim - 27) / 8) * (-17.1495-(188.9119-Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250))); + yy = -0.34936 + (((tickAnim - 27) / 8) * (-9.78418-(-0.34936))); + zz = 49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50 + (((tickAnim - 27) / 8) * (-12.73775-(49.9027+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-50))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg, rightLeg.rotateAngleX + (float) Math.toRadians(xx), rightLeg.rotateAngleY + (float) Math.toRadians(yy), rightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = -13.4072 + (((tickAnim - 0) / 18) * (30.32791-(-13.4072))); + yy = -2.50283 + (((tickAnim - 0) / 18) * (4.76417-(-2.50283))); + zz = 10.74534 + (((tickAnim - 0) / 18) * (5.85294-(10.74534))); + } + else if (tickAnim >= 18 && tickAnim < 22) { + xx = 30.32791 + (((tickAnim - 18) / 4) * (40.64206-(30.32791))); + yy = 4.76417 + (((tickAnim - 18) / 4) * (3.03393-(4.76417))); + zz = 5.85294 + (((tickAnim - 18) / 4) * (7.0178-(5.85294))); + } + else if (tickAnim >= 22 && tickAnim < 27) { + xx = 40.64206 + (((tickAnim - 22) / 5) * (17.91904-(40.64206))); + yy = 3.03393 + (((tickAnim - 22) / 5) * (0.95765-(3.03393))); + zz = 7.0178 + (((tickAnim - 22) / 5) * (8.41562-(7.0178))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = 17.91904 + (((tickAnim - 27) / 8) * (-13.4072-(17.91904))); + yy = 0.95765 + (((tickAnim - 27) / 8) * (-2.50283-(0.95765))); + zz = 8.41562 + (((tickAnim - 27) / 8) * (10.74534-(8.41562))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg2, rightLeg2.rotateAngleX + (float) Math.toRadians(xx), rightLeg2.rotateAngleY + (float) Math.toRadians(yy), rightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 24.25 + (((tickAnim - 0) / 9) * (-9.87-(24.25))); + yy = 0 + (((tickAnim - 0) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (0-(0))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = -9.87 + (((tickAnim - 9) / 9) * (45.5-(-9.87))); + yy = 0 + (((tickAnim - 9) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 9) / 9) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 45.5 + (((tickAnim - 18) / 9) * (87.62-(45.5))); + yy = 0 + (((tickAnim - 18) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (0-(0))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = 87.62 + (((tickAnim - 27) / 8) * (24.25-(87.62))); + yy = 0 + (((tickAnim - 27) / 8) * (0-(0))); + zz = 0 + (((tickAnim - 27) / 8) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightLeg3, rightLeg3.rotateAngleX + (float) Math.toRadians(xx), rightLeg3.rotateAngleY + (float) Math.toRadians(yy), rightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (0-(0))); + yy = -0.1 + (((tickAnim - 0) / 18) * (0-(-0.1))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 0 + (((tickAnim - 18) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 18) / 9) * (0.4-(0))); + zz = 0 + (((tickAnim - 18) / 9) * (-0.225-(0))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = 0 + (((tickAnim - 27) / 8) * (0-(0))); + yy = 0.4 + (((tickAnim - 27) / 8) * (-0.1-(0.4))); + zz = -0.225 + (((tickAnim - 27) / 8) * (0-(-0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightLeg3.rotationPointX = this.rightLeg3.rotationPointX + (float)(xx); + this.rightLeg3.rotationPointY = this.rightLeg3.rotationPointY - (float)(yy); + this.rightLeg3.rotationPointZ = this.rightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(0), tail.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-50))*-1), tail.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(0), tail2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-50))*-2), tail2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail3, tail3.rotateAngleX + (float) Math.toRadians(0), tail3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-100))*-3), tail3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail4, tail4.rotateAngleX + (float) Math.toRadians(0), tail4.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-150))*-4), tail4.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail5, tail5.rotateAngleX + (float) Math.toRadians(0), tail5.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-130))*-5), tail5.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail6, tail6.rotateAngleX + (float) Math.toRadians(0), tail6.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-170))*-5), tail6.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail7, tail7.rotateAngleX + (float) Math.toRadians(0), tail7.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-300))*5), tail7.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(tail8, tail8.rotateAngleX + (float) Math.toRadians(0), tail8.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-350))*5), tail8.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(body2, body2.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206/0.5-70))*-3), body2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-70))*7), body2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206))*6)); + + + this.setRotateAngle(body3, body3.rotateAngleX + (float) Math.toRadians(0), body3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-100))*5), body3.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-30))*1)); + + + this.setRotateAngle(neck, neck.rotateAngleX + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206/0.5-150))*3), neck.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-200))*-5), neck.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck2, neck2.rotateAngleX + (float) Math.toRadians(0), neck2.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-230))*-8), neck2.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(neck3, neck3.rotateAngleX + (float) Math.toRadians(0), neck3.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-300))*10), neck3.rotateAngleZ + (float) Math.toRadians(0)); + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(0), head.rotateAngleY + (float) Math.toRadians(-0-Math.sin((Math.PI/180)*((((double)tickAnim/20D))*206-200))*10), head.rotateAngleZ + (float) Math.toRadians(0)); + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 32.9079 + (((tickAnim - 0) / 9) * (-13.0562-(32.9079))); + yy = 9.69139 + (((tickAnim - 0) / 9) * (10.3813-(9.69139))); + zz = -10.62758 + (((tickAnim - 0) / 9) * (25.571-(-10.62758))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = -13.0562 + (((tickAnim - 9) / 9) * (-41.74425-(-13.0562))); + yy = 10.3813 + (((tickAnim - 9) / 9) * (22.10271-(10.3813))); + zz = 25.571 + (((tickAnim - 9) / 9) * (-14.86292-(25.571))); + } + else if (tickAnim >= 18 && tickAnim < 35) { + xx = -41.74425 + (((tickAnim - 18) / 17) * (32.9079-(-41.74425))); + yy = 22.10271 + (((tickAnim - 18) / 17) * (9.69139-(22.10271))); + zz = -14.86292 + (((tickAnim - 18) / 17) * (-10.62758-(-14.86292))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm, rightArm.rotateAngleX + (float) Math.toRadians(xx), rightArm.rotateAngleY + (float) Math.toRadians(yy), rightArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 6) { + xx = 50.75 + (((tickAnim - 0) / 6) * (13.50019-(50.75))); + yy = 0 + (((tickAnim - 0) / 6) * (24.28367-(0))); + zz = 0 + (((tickAnim - 0) / 6) * (7.48033-(0))); + } + else if (tickAnim >= 6 && tickAnim < 13) { + xx = 13.50019 + (((tickAnim - 6) / 7) * (-33.41897-(13.50019))); + yy = 24.28367 + (((tickAnim - 6) / 7) * (24.28255-(24.28367))); + zz = 7.48033 + (((tickAnim - 6) / 7) * (-23.87687-(7.48033))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = -33.41897 + (((tickAnim - 13) / 5) * (8.47788-(-33.41897))); + yy = 24.28255 + (((tickAnim - 13) / 5) * (14.18791-(24.28255))); + zz = -23.87687 + (((tickAnim - 13) / 5) * (11.08283-(-23.87687))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 8.47788 + (((tickAnim - 18) / 2) * (-3.4962-(8.47788))); + yy = 14.18791 + (((tickAnim - 18) / 2) * (12.83668-(14.18791))); + zz = 11.08283 + (((tickAnim - 18) / 2) * (10.02732-(11.08283))); + } + else if (tickAnim >= 20 && tickAnim < 35) { + xx = -3.4962 + (((tickAnim - 20) / 15) * (50.75-(-3.4962))); + yy = 12.83668 + (((tickAnim - 20) / 15) * (0-(12.83668))); + zz = 10.02732 + (((tickAnim - 20) / 15) * (0-(10.02732))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm2, rightArm2.rotateAngleX + (float) Math.toRadians(xx), rightArm2.rotateAngleY + (float) Math.toRadians(yy), rightArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 0 + (((tickAnim - 18) / 2) * (0-(0))); + yy = 0 + (((tickAnim - 18) / 2) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 2) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 0 + (((tickAnim - 20) / 5) * (-0.275-(0))); + yy = 0 + (((tickAnim - 20) / 5) * (0.25-(0))); + zz = 0 + (((tickAnim - 20) / 5) * (0.225-(0))); + } + else if (tickAnim >= 25 && tickAnim < 35) { + xx = -0.275 + (((tickAnim - 25) / 10) * (0-(-0.275))); + yy = 0.25 + (((tickAnim - 25) / 10) * (0-(0.25))); + zz = 0.225 + (((tickAnim - 25) / 10) * (0-(0.225))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.rightArm2.rotationPointX = this.rightArm2.rotationPointX + (float)(xx); + this.rightArm2.rotationPointY = this.rightArm2.rotationPointY - (float)(yy); + this.rightArm2.rotationPointZ = this.rightArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 6) { + xx = 52.82333 + (((tickAnim - 0) / 6) * (126.09848-(52.82333))); + yy = -38.09882 + (((tickAnim - 0) / 6) * (-22.07531-(-38.09882))); + zz = -5.39339 + (((tickAnim - 0) / 6) * (1.16819-(-5.39339))); + } + else if (tickAnim >= 6 && tickAnim < 13) { + xx = 126.09848 + (((tickAnim - 6) / 7) * (126.09848-(126.09848))); + yy = -22.07531 + (((tickAnim - 6) / 7) * (-22.07531-(-22.07531))); + zz = 1.16819 + (((tickAnim - 6) / 7) * (1.16819-(1.16819))); + } + else if (tickAnim >= 13 && tickAnim < 18) { + xx = 126.09848 + (((tickAnim - 13) / 5) * (43.32588-(126.09848))); + yy = -22.07531 + (((tickAnim - 13) / 5) * (-7.50848-(-22.07531))); + zz = 1.16819 + (((tickAnim - 13) / 5) * (7.13326-(1.16819))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 43.32588 + (((tickAnim - 18) / 2) * (47.59151-(43.32588))); + yy = -7.50848 + (((tickAnim - 18) / 2) * (-10.42185-(-7.50848))); + zz = 7.13326 + (((tickAnim - 18) / 2) * (5.94025-(7.13326))); + } + else if (tickAnim >= 20 && tickAnim < 25) { + xx = 47.59151 + (((tickAnim - 20) / 5) * (3.1234-(47.59151))); + yy = -10.42185 + (((tickAnim - 20) / 5) * (-19.78689-(-10.42185))); + zz = 5.94025 + (((tickAnim - 20) / 5) * (-4.85916-(5.94025))); + } + else if (tickAnim >= 25 && tickAnim < 28) { + xx = 3.1234 + (((tickAnim - 25) / 3) * (-23.55995-(3.1234))); + yy = -19.78689 + (((tickAnim - 25) / 3) * (-25.89087-(-19.78689))); + zz = -4.85916 + (((tickAnim - 25) / 3) * (-5.03724-(-4.85916))); + } + else if (tickAnim >= 28 && tickAnim < 35) { + xx = -23.55995 + (((tickAnim - 28) / 7) * (52.82333-(-23.55995))); + yy = -25.89087 + (((tickAnim - 28) / 7) * (-38.09882-(-25.89087))); + zz = -5.03724 + (((tickAnim - 28) / 7) * (-5.39339-(-5.03724))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(rightArm3, rightArm3.rotateAngleX + (float) Math.toRadians(xx), rightArm3.rotateAngleY + (float) Math.toRadians(yy), rightArm3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = -41.74425 + (((tickAnim - 0) / 18) * (32.9079-(-41.74425))); + yy = -22.10271 + (((tickAnim - 0) / 18) * (-9.69139-(-22.10271))); + zz = 14.86292 + (((tickAnim - 0) / 18) * (10.62758-(14.86292))); + } + else if (tickAnim >= 18 && tickAnim < 27) { + xx = 32.9079 + (((tickAnim - 18) / 9) * (-13.0562-(32.9079))); + yy = -9.69139 + (((tickAnim - 18) / 9) * (-10.3813-(-9.69139))); + zz = 10.62758 + (((tickAnim - 18) / 9) * (-25.571-(10.62758))); + } + else if (tickAnim >= 27 && tickAnim < 35) { + xx = -13.0562 + (((tickAnim - 27) / 8) * (-41.74425-(-13.0562))); + yy = -10.3813 + (((tickAnim - 27) / 8) * (-22.10271-(-10.3813))); + zz = -25.571 + (((tickAnim - 27) / 8) * (14.86292-(-25.571))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm, leftArm.rotateAngleX + (float) Math.toRadians(xx), leftArm.rotateAngleY + (float) Math.toRadians(yy), leftArm.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 8.47788 + (((tickAnim - 0) / 3) * (-3.4962-(8.47788))); + yy = -14.18791 + (((tickAnim - 0) / 3) * (-12.83668-(-14.18791))); + zz = -11.08283 + (((tickAnim - 0) / 3) * (-10.02732-(-11.08283))); + } + else if (tickAnim >= 3 && tickAnim < 18) { + xx = -3.4962 + (((tickAnim - 3) / 15) * (50.75-(-3.4962))); + yy = -12.83668 + (((tickAnim - 3) / 15) * (0-(-12.83668))); + zz = -10.02732 + (((tickAnim - 3) / 15) * (0-(-10.02732))); + } + else if (tickAnim >= 18 && tickAnim < 23) { + xx = 50.75 + (((tickAnim - 18) / 5) * (13.50019-(50.75))); + yy = 0 + (((tickAnim - 18) / 5) * (-24.28367-(0))); + zz = 0 + (((tickAnim - 18) / 5) * (-7.48033-(0))); + } + else if (tickAnim >= 23 && tickAnim < 31) { + xx = 13.50019 + (((tickAnim - 23) / 8) * (-33.41897-(13.50019))); + yy = -24.28367 + (((tickAnim - 23) / 8) * (-24.28255-(-24.28367))); + zz = -7.48033 + (((tickAnim - 23) / 8) * (23.87687-(-7.48033))); + } + else if (tickAnim >= 31 && tickAnim < 35) { + xx = -33.41897 + (((tickAnim - 31) / 4) * (8.47788-(-33.41897))); + yy = -24.28255 + (((tickAnim - 31) / 4) * (-14.18791-(-24.28255))); + zz = 23.87687 + (((tickAnim - 31) / 4) * (-11.08283-(23.87687))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm2, leftArm2.rotateAngleX + (float) Math.toRadians(xx), leftArm2.rotateAngleY + (float) Math.toRadians(yy), leftArm2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (0.2-(0))); + yy = 0 + (((tickAnim - 3) / 5) * (0.25-(0))); + zz = 0 + (((tickAnim - 3) / 5) * (0.225-(0))); + } + else if (tickAnim >= 8 && tickAnim < 18) { + xx = 0.2 + (((tickAnim - 8) / 10) * (0-(0.2))); + yy = 0.25 + (((tickAnim - 8) / 10) * (0-(0.25))); + zz = 0.225 + (((tickAnim - 8) / 10) * (0-(0.225))); + } + else if (tickAnim >= 18 && tickAnim < 35) { + xx = 0 + (((tickAnim - 18) / 17) * (0-(0))); + yy = 0 + (((tickAnim - 18) / 17) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 17) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.leftArm2.rotationPointX = this.leftArm2.rotationPointX + (float)(xx); + this.leftArm2.rotationPointY = this.leftArm2.rotationPointY - (float)(yy); + this.leftArm2.rotationPointZ = this.leftArm2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 43.32588 + (((tickAnim - 0) / 3) * (47.59151-(43.32588))); + yy = 7.50848 + (((tickAnim - 0) / 3) * (10.42185-(7.50848))); + zz = -7.13326 + (((tickAnim - 0) / 3) * (-5.94025-(-7.13326))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 47.59151 + (((tickAnim - 3) / 5) * (3.1234-(47.59151))); + yy = 10.42185 + (((tickAnim - 3) / 5) * (19.78689-(10.42185))); + zz = -5.94025 + (((tickAnim - 3) / 5) * (4.85916-(-5.94025))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 3.1234 + (((tickAnim - 8) / 3) * (-23.55995-(3.1234))); + yy = 19.78689 + (((tickAnim - 8) / 3) * (25.89087-(19.78689))); + zz = 4.85916 + (((tickAnim - 8) / 3) * (5.03724-(4.85916))); + } + else if (tickAnim >= 11 && tickAnim < 18) { + xx = -23.55995 + (((tickAnim - 11) / 7) * (52.82333-(-23.55995))); + yy = 25.89087 + (((tickAnim - 11) / 7) * (38.09882-(25.89087))); + zz = 5.03724 + (((tickAnim - 11) / 7) * (5.39339-(5.03724))); + } + else if (tickAnim >= 18 && tickAnim < 23) { + xx = 52.82333 + (((tickAnim - 18) / 5) * (126.09848-(52.82333))); + yy = 38.09882 + (((tickAnim - 18) / 5) * (22.07531-(38.09882))); + zz = 5.39339 + (((tickAnim - 18) / 5) * (-1.16819-(5.39339))); + } + else if (tickAnim >= 23 && tickAnim < 30) { + xx = 126.09848 + (((tickAnim - 23) / 7) * (126.09848-(126.09848))); + yy = 22.07531 + (((tickAnim - 23) / 7) * (22.07531-(22.07531))); + zz = -1.16819 + (((tickAnim - 23) / 7) * (-1.16819-(-1.16819))); + } + else if (tickAnim >= 30 && tickAnim < 35) { + xx = 126.09848 + (((tickAnim - 30) / 5) * (43.32588-(126.09848))); + yy = 22.07531 + (((tickAnim - 30) / 5) * (7.50848-(22.07531))); + zz = -1.16819 + (((tickAnim - 30) / 5) * (-7.13326-(-1.16819))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(leftArm3, leftArm3.rotateAngleX + (float) Math.toRadians(xx), leftArm3.rotateAngleY + (float) Math.toRadians(yy), leftArm3.rotateAngleZ + (float) Math.toRadians(zz)); + + } + + + + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraLitorosuchus e = (EntityPrehistoricFloraLitorosuchus) entity; + animator.update(entity); + + animator.setAnimation(e.ROAR_ANIMATION); + animator.startKeyframe(10); + animator.move(this.head, 0,0,0F); + animator.rotate(this.head, (float) Math.toRadians(-5), (float) Math.toRadians(0), (float) Math.toRadians(0)); + animator.rotate(this.jaw, (float) Math.toRadians(35), (float) Math.toRadians(0), (float) Math.toRadians(0)); + animator.endKeyframe(); + animator.setStaticKeyframe(10); + animator.resetKeyframe(10); + + } +} diff --git a/src/main/java/net/lepidodendron/entity/model/entity/ModelPeltobatrachus.java b/src/main/java/net/lepidodendron/entity/model/entity/ModelPeltobatrachus.java new file mode 100644 index 0000000000..e7284f1d82 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/model/entity/ModelPeltobatrachus.java @@ -0,0 +1,2082 @@ +package net.lepidodendron.entity.model.entity; + +import net.ilexiconn.llibrary.client.model.ModelAnimator; +import net.ilexiconn.llibrary.client.model.tools.AdvancedModelRenderer; +import net.ilexiconn.llibrary.server.animation.IAnimatedEntity; +import net.lepidodendron.entity.EntityPrehistoricFloraPeltobatrachus; +import net.lepidodendron.entity.model.ModelBasePalaeopedia; +import net.minecraft.client.model.ModelBox; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; + +public class ModelPeltobatrachus extends ModelBasePalaeopedia { + private final AdvancedModelRenderer main; + private final AdvancedModelRenderer body; + private final AdvancedModelRenderer chest; + private final AdvancedModelRenderer cube_r1; + private final AdvancedModelRenderer frontLeftLeg; + private final AdvancedModelRenderer frontLeftLeg2; + private final AdvancedModelRenderer frontLeftLeg3; + private final AdvancedModelRenderer frontRightLeg; + private final AdvancedModelRenderer frontRightLeg2; + private final AdvancedModelRenderer frontRightLeg3; + private final AdvancedModelRenderer head; + private final AdvancedModelRenderer cube_r2; + private final AdvancedModelRenderer cube_r3; + private final AdvancedModelRenderer cube_r4; + private final AdvancedModelRenderer cube_r5; + private final AdvancedModelRenderer cube_r6; + private final AdvancedModelRenderer cube_r7; + private final AdvancedModelRenderer cube_r8; + private final AdvancedModelRenderer cube_r9; + private final AdvancedModelRenderer cube_r10; + private final AdvancedModelRenderer cube_r11; + private final AdvancedModelRenderer jaw; + private final AdvancedModelRenderer cube_r12; + private final AdvancedModelRenderer cube_r13; + private final AdvancedModelRenderer cube_r14; + private final AdvancedModelRenderer cube_r15; + private final AdvancedModelRenderer cube_r16; + private final AdvancedModelRenderer cube_r17; + private final AdvancedModelRenderer cube_r18; + private final AdvancedModelRenderer hip; + private final AdvancedModelRenderer cube_r19; + private final AdvancedModelRenderer cube_r20; + private final AdvancedModelRenderer backLeftLeg; + private final AdvancedModelRenderer backLeftLeg2; + private final AdvancedModelRenderer backLeftLeg3; + private final AdvancedModelRenderer backRightLeg; + private final AdvancedModelRenderer backRightLeg2; + private final AdvancedModelRenderer backRightLeg3; + private final AdvancedModelRenderer tail; + private final AdvancedModelRenderer cube_r21; + private final AdvancedModelRenderer tail2; + private final AdvancedModelRenderer cube_r22; + + private ModelAnimator animator; + + public ModelPeltobatrachus() { + this.textureWidth = 70; + this.textureHeight = 70; + + this.main = new AdvancedModelRenderer(this); + this.main.setRotationPoint(0.0F, 16.5F, 1.0F); + + + this.body = new AdvancedModelRenderer(this); + this.body.setRotationPoint(0.0F, 0.9625F, -0.5F); + this.main.addChild(body); + this.body.cubeList.add(new ModelBox(body, 0, 0, -4.0F, -1.0375F, -8.5F, 8, 5, 9, 0.0F, false)); + this.body.cubeList.add(new ModelBox(body, 0, 15, -3.5F, -1.9625F, -8.5F, 7, 1, 9, -0.01F, false)); + + this.chest = new AdvancedModelRenderer(this); + this.chest.setRotationPoint(0.0F, -0.4625F, -8.0F); + this.body.addChild(chest); + this.chest.cubeList.add(new ModelBox(chest, 29, 24, -3.5F, 0.125F, -5.0F, 7, 4, 5, 0.0F, false)); + + this.cube_r1 = new AdvancedModelRenderer(this); + this.cube_r1.setRotationPoint(-0.5F, -1.3F, 0.0F); + this.chest.addChild(cube_r1); + this.setRotateAngle(cube_r1, 0.1309F, 0.0F, 0.0F); + this.cube_r1.cubeList.add(new ModelBox(cube_r1, 44, 9, -2.5F, 0.0F, -5.2F, 6, 2, 5, 0.01F, false)); + + this.frontLeftLeg = new AdvancedModelRenderer(this); + this.frontLeftLeg.setRotationPoint(3.25F, 2.5F, -1.5F); + this.chest.addChild(frontLeftLeg); + this.setRotateAngle(frontLeftLeg, 0.1766F, 0.4011F, -1.1421F); + this.frontLeftLeg.cubeList.add(new ModelBox(frontLeftLeg, 13, 59, -1.0F, -0.5F, -1.0F, 2, 3, 2, 0.0F, false)); + + this.frontLeftLeg2 = new AdvancedModelRenderer(this); + this.frontLeftLeg2.setRotationPoint(0.0F, 2.25F, 0.25F); + this.frontLeftLeg.addChild(frontLeftLeg2); + this.setRotateAngle(frontLeftLeg2, -0.8119F, -0.1394F, 1.0003F); + this.frontLeftLeg2.cubeList.add(new ModelBox(frontLeftLeg2, 0, 15, -1.0F, -0.2956F, -1.0616F, 2, 4, 2, 0.0F, false)); + + this.frontLeftLeg3 = new AdvancedModelRenderer(this); + this.frontLeftLeg3.setRotationPoint(0.0F, 3.5044F, 0.7384F); + this.frontLeftLeg2.addChild(frontLeftLeg3); + this.setRotateAngle(frontLeftLeg3, 0.3925F, 0.0044F, 0.2052F); + this.frontLeftLeg3.cubeList.add(new ModelBox(frontLeftLeg3, 52, 36, -1.4956F, -0.5869F, -3.9962F, 3, 1, 4, 0.0F, false)); + + this.frontRightLeg = new AdvancedModelRenderer(this); + this.frontRightLeg.setRotationPoint(-3.25F, 2.5F, -1.5F); + this.chest.addChild(frontRightLeg); + this.setRotateAngle(frontRightLeg, 0.1766F, -0.4011F, 1.1421F); + this.frontRightLeg.cubeList.add(new ModelBox(frontRightLeg, 13, 59, -1.0F, -0.5F, -1.0F, 2, 3, 2, 0.0F, true)); + + this.frontRightLeg2 = new AdvancedModelRenderer(this); + this.frontRightLeg2.setRotationPoint(0.0F, 2.25F, 0.25F); + this.frontRightLeg.addChild(frontRightLeg2); + this.setRotateAngle(frontRightLeg2, -0.8119F, 0.1394F, -1.0003F); + this.frontRightLeg2.cubeList.add(new ModelBox(frontRightLeg2, 0, 15, -1.0F, -0.2956F, -1.0616F, 2, 4, 2, 0.0F, true)); + + this.frontRightLeg3 = new AdvancedModelRenderer(this); + this.frontRightLeg3.setRotationPoint(0.0F, 3.5044F, 0.7384F); + this.frontRightLeg2.addChild(frontRightLeg3); + this.setRotateAngle(frontRightLeg3, 0.3925F, -0.0044F, -0.2052F); + this.frontRightLeg3.cubeList.add(new ModelBox(frontRightLeg3, 52, 36, -1.5044F, -0.5869F, -3.9962F, 3, 1, 4, 0.0F, true)); + + this.head = new AdvancedModelRenderer(this); + this.head.setRotationPoint(0.0F, -0.2529F, -4.8726F); + this.chest.addChild(head); + this.setRotateAngle(head, 0.0873F, 0.0F, 0.0F); + this.head.cubeList.add(new ModelBox(head, 0, 37, -1.0F, 1.3677F, -7.9029F, 2, 1, 8, 0.01F, false)); + + this.cube_r2 = new AdvancedModelRenderer(this); + this.cube_r2.setRotationPoint(0.0F, 0.8617F, -1.5756F); + this.head.addChild(cube_r2); + this.setRotateAngle(cube_r2, 0.0873F, 0.0F, 0.0F); + this.cube_r2.cubeList.add(new ModelBox(cube_r2, 45, 0, -2.5F, -1.0F, -1.4F, 5, 2, 3, 0.0F, false)); + + this.cube_r3 = new AdvancedModelRenderer(this); + this.cube_r3.setRotationPoint(-1.5F, 0.3344F, -4.0357F); + this.head.addChild(cube_r3); + this.setRotateAngle(cube_r3, 0.096F, 0.0F, 0.0F); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 24, 15, -0.425F, -0.375F, -0.95F, 1, 1, 2, 0.0F, true)); + this.cube_r3.cubeList.add(new ModelBox(cube_r3, 24, 15, 2.425F, -0.375F, -0.95F, 1, 1, 2, 0.0F, false)); + + this.cube_r4 = new AdvancedModelRenderer(this); + this.cube_r4.setRotationPoint(-3.9465F, 1.8677F, -3.0159F); + this.head.addChild(cube_r4); + this.setRotateAngle(cube_r4, 0.0F, 0.1309F, 0.0F); + this.cube_r4.cubeList.add(new ModelBox(cube_r4, 54, 50, 0.1647F, -0.5F, 0.2687F, 3, 1, 4, 0.001F, true)); + + this.cube_r5 = new AdvancedModelRenderer(this); + this.cube_r5.setRotationPoint(-2.6004F, 1.8677F, -6.7977F); + this.head.addChild(cube_r5); + this.setRotateAngle(cube_r5, 0.0F, -0.7854F, 0.0F); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 40, 9, 0.4887F, -0.5F, -2.0351F, 2, 1, 2, -0.001F, true)); + this.cube_r5.cubeList.add(new ModelBox(cube_r5, 0, 26, 0.6887F, 0.0F, -2.1351F, 0, 1, 2, -0.001F, true)); + + this.cube_r6 = new AdvancedModelRenderer(this); + this.cube_r6.setRotationPoint(-3.7F, 1.8677F, -2.9029F); + this.head.addChild(cube_r6); + this.setRotateAngle(cube_r6, 0.0F, -0.3927F, 0.0F); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 49, 22, -0.0044F, -0.5F, -3.8899F, 3, 1, 4, 0.0F, true)); + this.cube_r6.cubeList.add(new ModelBox(cube_r6, 35, 9, 0.0956F, 0.0F, -3.8899F, 0, 1, 4, 0.0F, true)); + + this.cube_r7 = new AdvancedModelRenderer(this); + this.cube_r7.setRotationPoint(-0.5F, 0.3177F, -5.0529F); + this.head.addChild(cube_r7); + this.setRotateAngle(cube_r7, 0.096F, 0.0F, 0.0F); + this.cube_r7.cubeList.add(new ModelBox(cube_r7, 0, 56, -1.5F, 0.6142F, 0.011F, 4, 1, 3, 0.0F, false)); + + this.cube_r8 = new AdvancedModelRenderer(this); + this.cube_r8.setRotationPoint(-0.5F, 1.3677F, -7.9029F); + this.head.addChild(cube_r8); + this.setRotateAngle(cube_r8, 0.1745F, 0.0F, 0.0F); + this.cube_r8.cubeList.add(new ModelBox(cube_r8, 43, 47, -0.5F, -0.525F, 0.0F, 2, 1, 5, 0.0F, false)); + + this.cube_r9 = new AdvancedModelRenderer(this); + this.cube_r9.setRotationPoint(3.9465F, 1.8677F, -3.0159F); + this.head.addChild(cube_r9); + this.setRotateAngle(cube_r9, 0.0F, -0.1309F, 0.0F); + this.cube_r9.cubeList.add(new ModelBox(cube_r9, 54, 50, -3.1647F, -0.5F, 0.2687F, 3, 1, 4, 0.001F, false)); + + this.cube_r10 = new AdvancedModelRenderer(this); + this.cube_r10.setRotationPoint(2.6004F, 1.8677F, -6.7977F); + this.head.addChild(cube_r10); + this.setRotateAngle(cube_r10, 0.0F, 0.7854F, 0.0F); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 0, 26, -0.6887F, 0.0F, -2.1351F, 0, 1, 2, -0.001F, false)); + this.cube_r10.cubeList.add(new ModelBox(cube_r10, 40, 9, -2.4887F, -0.5F, -2.0351F, 2, 1, 2, -0.001F, false)); + + this.cube_r11 = new AdvancedModelRenderer(this); + this.cube_r11.setRotationPoint(3.7F, 1.8677F, -2.9029F); + this.head.addChild(cube_r11); + this.setRotateAngle(cube_r11, 0.0F, 0.3927F, 0.0F); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 35, 9, -0.0956F, 0.0F, -3.8899F, 0, 1, 4, 0.0F, false)); + this.cube_r11.cubeList.add(new ModelBox(cube_r11, 49, 22, -2.9956F, -0.5F, -3.8899F, 3, 1, 4, 0.0F, false)); + + this.jaw = new AdvancedModelRenderer(this); + this.jaw.setRotationPoint(0.5F, 2.3677F, 0.0971F); + this.head.addChild(jaw); + this.jaw.cubeList.add(new ModelBox(jaw, 54, 56, -2.5F, -2.0F, -2.0F, 4, 3, 2, -0.01F, false)); + this.jaw.cubeList.add(new ModelBox(jaw, 0, 47, -1.5F, 0.0058F, -7.9856F, 2, 1, 6, 0.001F, false)); + + this.cube_r12 = new AdvancedModelRenderer(this); + this.cube_r12.setRotationPoint(-0.5F, 2.0058F, 0.0144F); + this.jaw.addChild(cube_r12); + this.setRotateAngle(cube_r12, -0.1309F, 0.0F, 0.0F); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 44, 17, -3.0F, -1.175F, -3.375F, 6, 1, 3, 0.0F, false)); + this.cube_r12.cubeList.add(new ModelBox(cube_r12, 56, 44, -2.0F, -1.175F, -6.375F, 4, 1, 3, 0.0F, false)); + + this.cube_r13 = new AdvancedModelRenderer(this); + this.cube_r13.setRotationPoint(-4.4466F, -0.075F, -3.113F); + this.jaw.addChild(cube_r13); + this.setRotateAngle(cube_r13, 0.0F, 0.1309F, 0.0F); + this.cube_r13.cubeList.add(new ModelBox(cube_r13, 39, 54, 0.1647F, 0.075F, 0.2687F, 3, 1, 4, 0.0F, true)); + + this.cube_r14 = new AdvancedModelRenderer(this); + this.cube_r14.setRotationPoint(-3.1004F, -0.075F, -6.8948F); + this.jaw.addChild(cube_r14); + this.setRotateAngle(cube_r14, 0.0F, -0.781F, 0.0F); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 18, 37, 0.4887F, 0.075F, -2.0351F, 2, 1, 2, -0.01F, true)); + this.cube_r14.cubeList.add(new ModelBox(cube_r14, 26, 0, 0.8387F, -0.425F, -2.2351F, 0, 1, 2, -0.01F, true)); + + this.cube_r15 = new AdvancedModelRenderer(this); + this.cube_r15.setRotationPoint(-4.2F, -0.075F, -3.0F); + this.jaw.addChild(cube_r15); + this.setRotateAngle(cube_r15, 0.0F, -0.3927F, 0.0F); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 50, 30, -0.0044F, 0.05F, -3.8899F, 3, 1, 4, -0.001F, true)); + this.cube_r15.cubeList.add(new ModelBox(cube_r15, 13, 37, 0.2456F, -0.45F, -3.8899F, 0, 1, 4, 0.0F, true)); + + this.cube_r16 = new AdvancedModelRenderer(this); + this.cube_r16.setRotationPoint(3.4465F, -0.075F, -3.113F); + this.jaw.addChild(cube_r16); + this.setRotateAngle(cube_r16, 0.0F, -0.1309F, 0.0F); + this.cube_r16.cubeList.add(new ModelBox(cube_r16, 39, 54, -3.1647F, 0.075F, 0.2687F, 3, 1, 4, 0.0F, false)); + + this.cube_r17 = new AdvancedModelRenderer(this); + this.cube_r17.setRotationPoint(2.1004F, -0.075F, -6.8948F); + this.jaw.addChild(cube_r17); + this.setRotateAngle(cube_r17, 0.0F, 0.781F, 0.0F); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, 26, 0, -0.8387F, -0.425F, -2.2351F, 0, 1, 2, -0.01F, false)); + this.cube_r17.cubeList.add(new ModelBox(cube_r17, 18, 37, -2.4887F, 0.075F, -2.0351F, 2, 1, 2, -0.01F, false)); + + this.cube_r18 = new AdvancedModelRenderer(this); + this.cube_r18.setRotationPoint(3.2F, -0.075F, -3.0F); + this.jaw.addChild(cube_r18); + this.setRotateAngle(cube_r18, 0.0F, 0.3927F, 0.0F); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 13, 37, -0.2456F, -0.45F, -3.8899F, 0, 1, 4, 0.0F, false)); + this.cube_r18.cubeList.add(new ModelBox(cube_r18, 50, 30, -2.9956F, 0.05F, -3.8899F, 3, 1, 4, -0.001F, false)); + + this.hip = new AdvancedModelRenderer(this); + this.hip.setRotationPoint(0.0F, -0.4625F, -0.8F); + this.body.addChild(hip); + this.setRotateAngle(hip, -0.1745F, 0.0F, 0.0F); + this.hip.cubeList.add(new ModelBox(hip, 0, 26, -3.5F, -0.075F, 0.0F, 7, 3, 7, 0.0F, false)); + + this.cube_r19 = new AdvancedModelRenderer(this); + this.cube_r19.setRotationPoint(-0.5F, -0.3F, 3.5F); + this.hip.addChild(cube_r19); + this.setRotateAngle(cube_r19, -0.0436F, 0.0F, 0.0F); + this.cube_r19.cubeList.add(new ModelBox(cube_r19, 26, 0, -2.5F, -0.975F, -2.55F, 6, 2, 6, 0.0F, false)); + + this.cube_r20 = new AdvancedModelRenderer(this); + this.cube_r20.setRotationPoint(0.0F, 3.425F, 1.5F); + this.hip.addChild(cube_r20); + this.setRotateAngle(cube_r20, 0.2182F, 0.0F, 0.0F); + this.cube_r20.cubeList.add(new ModelBox(cube_r20, 24, 15, -3.0F, -0.5F, -1.5F, 6, 1, 7, 0.0F, false)); + + this.backLeftLeg = new AdvancedModelRenderer(this); + this.backLeftLeg.setRotationPoint(3.25F, 2.425F, 4.55F); + this.hip.addChild(backLeftLeg); + this.setRotateAngle(backLeftLeg, -0.3927F, 0.0F, -1.4835F); + this.backLeftLeg.cubeList.add(new ModelBox(backLeftLeg, 28, 55, -1.0F, -0.5F, -1.0F, 2, 3, 2, 0.0F, false)); + + this.backLeftLeg2 = new AdvancedModelRenderer(this); + this.backLeftLeg2.setRotationPoint(0.0F, 2.25F, 0.25F); + this.backLeftLeg.addChild(backLeftLeg2); + this.setRotateAngle(backLeftLeg2, 0.5236F, 0.0F, 1.309F); + this.backLeftLeg2.cubeList.add(new ModelBox(backLeftLeg2, 0, 15, -1.0F, -0.2956F, -1.0616F, 2, 4, 2, 0.0F, false)); + + this.backLeftLeg3 = new AdvancedModelRenderer(this); + this.backLeftLeg3.setRotationPoint(0.0F, 3.5044F, -0.2616F); + this.backLeftLeg2.addChild(backLeftLeg3); + this.setRotateAngle(backLeftLeg3, -0.3032F, -0.2536F, 0.3121F); + this.backLeftLeg3.cubeList.add(new ModelBox(backLeftLeg3, 52, 36, -1.5F, -0.5F, -3.0F, 3, 1, 4, 0.0F, false)); + + this.backRightLeg = new AdvancedModelRenderer(this); + this.backRightLeg.setRotationPoint(-3.25F, 2.425F, 4.55F); + this.hip.addChild(backRightLeg); + this.setRotateAngle(backRightLeg, -0.3927F, 0.0F, 1.4835F); + this.backRightLeg.cubeList.add(new ModelBox(backRightLeg, 28, 55, -1.0F, -0.5F, -1.0F, 2, 3, 2, 0.0F, true)); + + this.backRightLeg2 = new AdvancedModelRenderer(this); + this.backRightLeg2.setRotationPoint(0.0F, 2.25F, 0.25F); + this.backRightLeg.addChild(backRightLeg2); + this.setRotateAngle(backRightLeg2, 0.5236F, 0.0F, -1.309F); + this.backRightLeg2.cubeList.add(new ModelBox(backRightLeg2, 0, 15, -1.0F, -0.2956F, -1.0616F, 2, 4, 2, 0.0F, true)); + + this.backRightLeg3 = new AdvancedModelRenderer(this); + this.backRightLeg3.setRotationPoint(0.0F, 3.5044F, -0.2616F); + this.backRightLeg2.addChild(backRightLeg3); + this.setRotateAngle(backRightLeg3, -0.3032F, 0.2536F, -0.3121F); + this.backRightLeg3.cubeList.add(new ModelBox(backRightLeg3, 52, 36, -1.5F, -0.5F, -3.0F, 3, 1, 4, 0.0F, true)); + + this.tail = new AdvancedModelRenderer(this); + this.tail.setRotationPoint(0.0F, 0.35F, 6.5F); + this.hip.addChild(tail); + this.setRotateAngle(tail, -0.1309F, 0.0F, 0.0F); + this.tail.cubeList.add(new ModelBox(tail, 22, 34, -2.0F, 0.0F, 0.0F, 4, 2, 7, 0.0F, false)); + + this.cube_r21 = new AdvancedModelRenderer(this); + this.cube_r21.setRotationPoint(0.0F, -0.2F, 3.5F); + this.tail.addChild(cube_r21); + this.setRotateAngle(cube_r21, -0.1309F, 0.0F, 0.0F); + this.cube_r21.cubeList.add(new ModelBox(cube_r21, 38, 37, -1.5F, -0.8F, -3.5F, 3, 2, 7, 0.0F, false)); + + this.tail2 = new AdvancedModelRenderer(this); + this.tail2.setRotationPoint(0.0F, 0.5F, 6.5F); + this.tail.addChild(tail2); + this.tail2.cubeList.add(new ModelBox(tail2, 14, 44, -1.0F, 0.0F, 0.0F, 2, 1, 7, 0.0F, false)); + + this.cube_r22 = new AdvancedModelRenderer(this); + this.cube_r22.setRotationPoint(0.0F, -0.8F, 0.25F); + this.tail2.addChild(cube_r22); + this.setRotateAngle(cube_r22, -0.0785F, 0.0F, 0.0F); + this.cube_r22.cubeList.add(new ModelBox(cube_r22, 26, 46, -0.5F, -0.05F, -0.25F, 1, 1, 7, 0.0F, false)); + updateDefaultPose(); + animator = ModelAnimator.create(); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + animate((IAnimatedEntity) entity, f, f1, f2, f3, f4, f5); + this.main.render(f5); + } + + @Override + public void renderStaticBook(float f) { + //Rotations, positions and sizing: + this.main.offsetY = 0.2F; + this.main.offsetX = 0.35F; + this.main.offsetZ = 2.0F; + this.main.rotateAngleY = (float)Math.toRadians(120); + this.main.rotateAngleX = (float)Math.toRadians(1); + this.main.rotateAngleZ = (float)Math.toRadians(0); + this.main.scaleChildren = true; + float scaler = 0.6F; + this.main.setScale(scaler, scaler, scaler); + //Start of pose: + + //End of pose, now render the model: + this.main.render(f); + //Reset rotations, positions and sizing: + this.main.setScale(1.0F, 1.0F, 1.0F); + this.main.scaleChildren = false; + resetToDefaultPose(); + + } + + public void renderStaticWall(float f) { + resetToDefaultPose(); + } + + public void renderStaticFloor(float f) { + this.main.offsetY = -0.105F; + this.main.render(0.01F); + resetToDefaultPose(); + } + + public void setRotateAngle(AdvancedModelRenderer AdvancedModelRenderer, float x, float y, float z) { + AdvancedModelRenderer.rotateAngleX = x; + AdvancedModelRenderer.rotateAngleY = y; + AdvancedModelRenderer.rotateAngleZ = z; + } + + @Override + 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.resetToDefaultPose(); + + EntityPrehistoricFloraPeltobatrachus EntityMegalosaurus = (EntityPrehistoricFloraPeltobatrachus) e; + + this.faceTarget(f3, f4, 8, head); + + AdvancedModelRenderer[] Tail = {this.tail, this.tail2}; + AdvancedModelRenderer[] Neck = {this.head}; + + EntityMegalosaurus.tailBuffer.applyChainSwingBuffer(Tail); + + if (EntityMegalosaurus.getAnimation() == EntityMegalosaurus.LAY_ANIMATION) { + this.chainSwing(Neck, 0.5F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.5F * 2, -0.02F, 0.5F, f2, 0.8F); + } + else { + if (!EntityMegalosaurus.isReallyInWater()) { + + if (f3 == 0.0F || !EntityMegalosaurus.getIsMoving()) { + this.chainSwing(Neck, 0.05F, 0.10F, 0.5, f2, 0.8F); + this.chainWave(Neck, 0.05F * 2, -0.02F, 0.5F, f2, 0.8F); + + this.chainWave(Tail, (0.15F * 0.35F), 0.125F * 0.15F, 0.2F, f2, 1F); + this.chainSwing(Tail, (0.15F * 0.35F) * 4F, 0.05F * 0.35F, 0.12F, f2, 1F); + + return; + } + + if (EntityMegalosaurus.getIsFast()) { //Running + + + } else { //Walking + + } + } else { + //Swimming pose: + if (f3 == 0.0F) { //static in water + return; + } + //moving in water + return; + } + } + } + + public void animEat(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraPeltobatrachus entity = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (13.5-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 13.5 + (((tickAnim - 10) / 10) * (0-(13.5))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(xx), chest.rotateAngleY + (float) Math.toRadians(yy), chest.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (-24.93243-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (-9.24109-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (-13.77563-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -24.93243 + (((tickAnim - 10) / 10) * (0-(-24.93243))); + yy = -9.24109 + (((tickAnim - 10) / 10) * (0-(-9.24109))); + zz = -13.77563 + (((tickAnim - 10) / 10) * (0-(-13.77563))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg, frontLeftLeg.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (3.41217-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (-18.21086-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (-2.85838-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 3.41217 + (((tickAnim - 10) / 10) * (0-(3.41217))); + yy = -18.21086 + (((tickAnim - 10) / 10) * (0-(-18.21086))); + zz = -2.85838 + (((tickAnim - 10) / 10) * (0-(-2.85838))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg3, frontLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (-24.93243-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (9.24109-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (13.77563-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -24.93243 + (((tickAnim - 10) / 10) * (0-(-24.93243))); + yy = 9.24109 + (((tickAnim - 10) / 10) * (0-(9.24109))); + zz = 13.77563 + (((tickAnim - 10) / 10) * (0-(13.77563))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg, frontRightLeg.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = 0 + (((tickAnim - 0) / 10) * (3.41217-(0))); + yy = 0 + (((tickAnim - 0) / 10) * (18.21086-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (2.85838-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 3.41217 + (((tickAnim - 10) / 10) * (0-(3.41217))); + yy = 18.21086 + (((tickAnim - 10) / 10) * (0-(18.21086))); + zz = 2.85838 + (((tickAnim - 10) / 10) * (0-(2.85838))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg3, frontRightLeg3.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg3.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (8.875-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (-4.375-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 8.875 + (((tickAnim - 5) / 5) * (-3.5-(8.875))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = -4.375 + (((tickAnim - 5) / 5) * (-8.75-(-4.375))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -3.5 + (((tickAnim - 10) / 10) * (0-(-3.5))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = -8.75 + (((tickAnim - 10) / 10) * (0-(-8.75))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (14-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 14 + (((tickAnim - 5) / 5) * (0-(14))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + } + public void animAttack(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraPeltobatrachus entity = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + int animCycle = 15; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (-5.4432+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60+20))*-20-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (34.4661+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*50-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (4.70151-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -5.4432+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60+20))*-20 + (((tickAnim - 5) / 5) * (-35.087+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60))*40-(-5.4432+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60+20))*-20))); + yy = 34.4661+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*50 + (((tickAnim - 5) / 5) * (49.5764+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150-(34.4661+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*50))); + zz = 4.70151 + (((tickAnim - 5) / 5) * (15.45451-(4.70151))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = -35.087+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60))*40 + (((tickAnim - 10) / 5) * (0-(-35.087+Math.sin((Math.PI/180)*(((double)tickAnim/20)*60))*40))); + yy = 49.5764+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150 + (((tickAnim - 10) / 5) * (0-(49.5764+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150))); + zz = 15.45451 + (((tickAnim - 10) / 5) * (0-(15.45451))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 7) { + xx = 0 + (((tickAnim - 0) / 7) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 7) * (0.775-(0))); + } + else if (tickAnim >= 7 && tickAnim < 15) { + xx = 0 + (((tickAnim - 7) / 8) * (0-(0))); + yy = 0 + (((tickAnim - 7) / 8) * (0-(0))); + zz = 0.775 + (((tickAnim - 7) / 8) * (0-(0.775))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.head.rotationPointX = this.head.rotationPointX + (float)(xx); + this.head.rotationPointY = this.head.rotationPointY - (float)(yy); + this.head.rotationPointZ = this.head.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 8) { + xx = 0 + (((tickAnim - 3) / 5) * (-54.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*220))*100-(0))); + yy = 0 + (((tickAnim - 3) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 3) / 5) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 15) { + xx = -54.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*220))*100 + (((tickAnim - 8) / 7) * (0-(-54.3+Math.sin((Math.PI/180)*(((double)tickAnim/20)*220))*100))); + yy = 0 + (((tickAnim - 8) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 8) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + } + public void animRoar(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime, double animTick) { + EntityPrehistoricFloraPeltobatrachus entity = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + int animCycle = 30; + double tickAnim = animTick + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (-2.225+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-80))*-20-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 30) { + xx = -2.225+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-80))*-20 + (((tickAnim - 18) / 12) * (0-(-2.225+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-80))*-20))); + yy = 0 + (((tickAnim - 18) / 12) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 12) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(xx), head.rotateAngleY + (float) Math.toRadians(yy), head.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (37.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-30))*-50-(0))); + yy = 0 + (((tickAnim - 0) / 18) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 18) * (0-(0))); + } + else if (tickAnim >= 18 && tickAnim < 21) { + xx = 37.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-30))*-50 + (((tickAnim - 18) / 3) * (0-(37.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-30))*-50))); + yy = 0 + (((tickAnim - 18) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 18) / 3) * (0-(0))); + } + else if (tickAnim >= 21 && tickAnim < 30) { + xx = 0 + (((tickAnim - 21) / 9) * (0-(0))); + yy = 0 + (((tickAnim - 21) / 9) * (0-(0))); + zz = 0 + (((tickAnim - 21) / 9) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(jaw, jaw.rotateAngleX + (float) Math.toRadians(xx), jaw.rotateAngleY + (float) Math.toRadians(yy), jaw.rotateAngleZ + (float) Math.toRadians(zz)); + + + + } + public void animRunning(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraPeltobatrachus entity = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + int animCycle = 20; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + + if (tickAnim >= 0 && tickAnim < 4) { + xx = 0 + (((tickAnim - 0) / 4) * (0-(0))); + yy = -0.025+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50+5))*-1 + (((tickAnim - 0) / 4) * (0.075+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5-(-0.025+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50+5))*-1))); + zz = 0 + (((tickAnim - 0) / 4) * (0-(0))); + } + else if (tickAnim >= 4 && tickAnim < 5) { + xx = 0 + (((tickAnim - 4) / 1) * (0-(0))); + yy = 0.075+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5 + (((tickAnim - 4) / 1) * (0.25-(0.075+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5))); + zz = 0 + (((tickAnim - 4) / 1) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 11) { + xx = 0 + (((tickAnim - 5) / 6) * (0-(0))); + yy = 0.25 + (((tickAnim - 5) / 6) * (7.875+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+53))*-8-(0.25))); + zz = 0 + (((tickAnim - 5) / 6) * (0-(0))); + } + else if (tickAnim >= 11 && tickAnim < 16) { + xx = 0 + (((tickAnim - 11) / 5) * (0-(0))); + yy = 7.875+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+53))*-8 + (((tickAnim - 11) / 5) * (0.25-(7.875+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+53))*-8))); + zz = 0 + (((tickAnim - 11) / 5) * (0-(0))); + } + else if (tickAnim >= 16 && tickAnim < 17) { + xx = 0 + (((tickAnim - 16) / 1) * (0-(0))); + yy = 0.25 + (((tickAnim - 16) / 1) * (0.825+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1-(0.25))); + zz = 0 + (((tickAnim - 16) / 1) * (0-(0))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = 0 + (((tickAnim - 17) / 3) * (0-(0))); + yy = 0.825+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1 + (((tickAnim - 17) / 3) * (-1.05+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-10))*1-(0.825+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1))); + zz = 0 + (((tickAnim - 17) / 3) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.main.rotationPointX = this.main.rotationPointX + (float)(xx); + this.main.rotationPointY = this.main.rotationPointY - (float)(yy); + this.main.rotationPointZ = this.main.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-150))*-2), body.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*-3), body.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*-3)); + this.body.rotationPointX = this.body.rotationPointX + (float)(0); + this.body.rotationPointY = this.body.rotationPointY - (float)(0); + this.body.rotationPointZ = this.body.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5))*0.2); + + + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-250))*-2), chest.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*3), chest.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*-3)); + + + + if (tickAnim >= 0 && tickAnim < 11) { + xx = -48.24079 + (((tickAnim - 0) / 11) * (53.08046-(-48.24079))); + yy = -2.88484 + (((tickAnim - 0) / 11) * (19.26122-(-2.88484))); + zz = -4.05769 + (((tickAnim - 0) / 11) * (31.15497-(-4.05769))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 53.08046 + (((tickAnim - 11) / 4) * (1.06781-(53.08046))); + yy = 19.26122 + (((tickAnim - 11) / 4) * (119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150-(19.26122))); + zz = 31.15497 + (((tickAnim - 11) / 4) * (-42.03262-(31.15497))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 1.06781 + (((tickAnim - 15) / 5) * (-48.24079-(1.06781))); + yy = 119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150 + (((tickAnim - 15) / 5) * (-2.88484-(119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150))); + zz = -42.03262 + (((tickAnim - 15) / 5) * (-4.05769-(-42.03262))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg, frontLeftLeg.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 11) { + xx = 13.20313 + (((tickAnim - 0) / 11) * (30-(13.20313))); + yy = -36.55612 + (((tickAnim - 0) / 11) * (0-(-36.55612))); + zz = 6.5817 + (((tickAnim - 0) / 11) * (0-(6.5817))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 30 + (((tickAnim - 11) / 4) * (-11.55144-(30))); + yy = 0 + (((tickAnim - 11) / 4) * (4.71337-(0))); + zz = 0 + (((tickAnim - 11) / 4) * (36.17053-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -11.55144 + (((tickAnim - 15) / 5) * (13.20313-(-11.55144))); + yy = 4.71337 + (((tickAnim - 15) / 5) * (-36.55612-(4.71337))); + zz = 36.17053 + (((tickAnim - 15) / 5) * (6.5817-(36.17053))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg2, frontLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 11) { + xx = 0 + (((tickAnim - 0) / 11) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 11) * (0.425-(0))); + zz = -0.175 + (((tickAnim - 0) / 11) * (-0.3-(-0.175))); + } + else if (tickAnim >= 11 && tickAnim < 20) { + xx = 0 + (((tickAnim - 11) / 9) * (0-(0))); + yy = 0.425 + (((tickAnim - 11) / 9) * (0-(0.425))); + zz = -0.3 + (((tickAnim - 11) / 9) * (-0.175-(-0.3))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg2.rotationPointX = this.frontLeftLeg2.rotationPointX + (float)(xx); + this.frontLeftLeg2.rotationPointY = this.frontLeftLeg2.rotationPointY - (float)(yy); + this.frontLeftLeg2.rotationPointZ = this.frontLeftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 7.48534 + (((tickAnim - 0) / 5) * (-25.97577-(7.48534))); + yy = 0.99357 + (((tickAnim - 0) / 5) * (5.45789-(0.99357))); + zz = -11.87386 + (((tickAnim - 0) / 5) * (-5.85375-(-11.87386))); + } + else if (tickAnim >= 5 && tickAnim < 8) { + xx = -25.97577 + (((tickAnim - 5) / 3) * (-84.3683+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250-(-25.97577))); + yy = 5.45789 + (((tickAnim - 5) / 3) * (7.72117-(5.45789))); + zz = -5.85375 + (((tickAnim - 5) / 3) * (-5.30511-(-5.85375))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = -84.3683+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250 + (((tickAnim - 8) / 3) * (60.57117-(-84.3683+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250))); + yy = 7.72117 + (((tickAnim - 8) / 3) * (9.60723-(7.72117))); + zz = -5.30511 + (((tickAnim - 8) / 3) * (-4.8479-(-5.30511))); + } + else if (tickAnim >= 11 && tickAnim < 15) { + xx = 60.57117 + (((tickAnim - 11) / 4) * (83.02826-(60.57117))); + yy = 9.60723 + (((tickAnim - 11) / 4) * (5.3004-(9.60723))); + zz = -4.8479 + (((tickAnim - 11) / 4) * (-8.36088-(-4.8479))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 83.02826 + (((tickAnim - 15) / 5) * (7.48534-(83.02826))); + yy = 5.3004 + (((tickAnim - 15) / 5) * (0.99357-(5.3004))); + zz = -8.36088 + (((tickAnim - 15) / 5) * (-11.87386-(-8.36088))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg3, frontLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 0.45 + (((tickAnim - 0) / 3) * (1.15-(0.45))); + zz = 0 + (((tickAnim - 0) / 3) * (0-(0))); + } + else if (tickAnim >= 3 && tickAnim < 7) { + xx = 0 + (((tickAnim - 3) / 4) * (0-(0))); + yy = 1.15 + (((tickAnim - 3) / 4) * (0.675-(1.15))); + zz = 0 + (((tickAnim - 3) / 4) * (0-(0))); + } + else if (tickAnim >= 7 && tickAnim < 8) { + xx = 0 + (((tickAnim - 7) / 1) * (0.15-(0))); + yy = 0.675 + (((tickAnim - 7) / 1) * (0.825-(0.675))); + zz = 0 + (((tickAnim - 7) / 1) * (-0.26-(0))); + } + else if (tickAnim >= 8 && tickAnim < 11) { + xx = 0.15 + (((tickAnim - 8) / 3) * (0.3-(0.15))); + yy = 0.825 + (((tickAnim - 8) / 3) * (1.975-(0.825))); + zz = -0.26 + (((tickAnim - 8) / 3) * (-0.525-(-0.26))); + } + else if (tickAnim >= 11 && tickAnim < 13) { + xx = 0.3 + (((tickAnim - 11) / 2) * (0.21-(0.3))); + yy = 1.975 + (((tickAnim - 11) / 2) * (3.01-(1.975))); + zz = -0.525 + (((tickAnim - 11) / 2) * (-0.89-(-0.525))); + } + else if (tickAnim >= 13 && tickAnim < 15) { + xx = 0.21 + (((tickAnim - 13) / 2) * (0.15-(0.21))); + yy = 3.01 + (((tickAnim - 13) / 2) * (2.365-(3.01))); + zz = -0.89 + (((tickAnim - 13) / 2) * (-1.135-(-0.89))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0.15 + (((tickAnim - 15) / 5) * (0-(0.15))); + yy = 2.365 + (((tickAnim - 15) / 5) * (0.45-(2.365))); + zz = -1.135 + (((tickAnim - 15) / 5) * (0-(-1.135))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg3.rotationPointX = this.frontLeftLeg3.rotationPointX + (float)(xx); + this.frontLeftLeg3.rotationPointY = this.frontLeftLeg3.rotationPointY - (float)(yy); + this.frontLeftLeg3.rotationPointZ = this.frontLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 53.08046 + (((tickAnim - 0) / 5) * (-0.12839-(53.08046))); + yy = -19.26122 + (((tickAnim - 0) / 5) * (117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200-(-19.26122))); + zz = -31.15497 + (((tickAnim - 0) / 5) * (46.52171-(-31.15497))); + } + else if (tickAnim >= 5 && tickAnim < 9) { + xx = -0.12839 + (((tickAnim - 5) / 4) * (-48.24079-(-0.12839))); + yy = 117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200 + (((tickAnim - 5) / 4) * (-2.88484-(117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200))); + zz = 46.52171 + (((tickAnim - 5) / 4) * (-4.05769-(46.52171))); + } + else if (tickAnim >= 9 && tickAnim < 20) { + xx = -48.24079 + (((tickAnim - 9) / 11) * (53.08046-(-48.24079))); + yy = -2.88484 + (((tickAnim - 9) / 11) * (-19.26122-(-2.88484))); + zz = -4.05769 + (((tickAnim - 9) / 11) * (-31.15497-(-4.05769))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg, frontRightLeg.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 30 + (((tickAnim - 0) / 5) * (-11.55144-(30))); + yy = 0 + (((tickAnim - 0) / 5) * (-4.71337-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (-36.17053-(0))); + } + else if (tickAnim >= 5 && tickAnim < 9) { + xx = -11.55144 + (((tickAnim - 5) / 4) * (13.20313-(-11.55144))); + yy = -4.71337 + (((tickAnim - 5) / 4) * (36.55612-(-4.71337))); + zz = -36.17053 + (((tickAnim - 5) / 4) * (6.5817-(-36.17053))); + } + else if (tickAnim >= 9 && tickAnim < 20) { + xx = 13.20313 + (((tickAnim - 9) / 11) * (30-(13.20313))); + yy = 36.55612 + (((tickAnim - 9) / 11) * (0-(36.55612))); + zz = 6.5817 + (((tickAnim - 9) / 11) * (0-(6.5817))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg2, frontRightLeg2.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg2.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = 0.425 + (((tickAnim - 0) / 9) * (0-(0.425))); + zz = -0.3 + (((tickAnim - 0) / 9) * (-0.175-(-0.3))); + } + else if (tickAnim >= 9 && tickAnim < 20) { + xx = 0 + (((tickAnim - 9) / 11) * (0-(0))); + yy = 0 + (((tickAnim - 9) / 11) * (0.425-(0))); + zz = -0.175 + (((tickAnim - 9) / 11) * (-0.3-(-0.175))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg2.rotationPointX = this.frontRightLeg2.rotationPointX + (float)(xx); + this.frontRightLeg2.rotationPointY = this.frontRightLeg2.rotationPointY - (float)(yy); + this.frontRightLeg2.rotationPointZ = this.frontRightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 60.57117 + (((tickAnim - 0) / 5) * (83.02826-(60.57117))); + yy = -9.60723 + (((tickAnim - 0) / 5) * (-5.3004-(-9.60723))); + zz = 4.8479 + (((tickAnim - 0) / 5) * (8.36088-(4.8479))); + } + else if (tickAnim >= 5 && tickAnim < 9) { + xx = 83.02826 + (((tickAnim - 5) / 4) * (7.48534-(83.02826))); + yy = -5.3004 + (((tickAnim - 5) / 4) * (-0.99357-(-5.3004))); + zz = 8.36088 + (((tickAnim - 5) / 4) * (11.87386-(8.36088))); + } + else if (tickAnim >= 9 && tickAnim < 14) { + xx = 7.48534 + (((tickAnim - 9) / 5) * (-25.97577-(7.48534))); + yy = -0.99357 + (((tickAnim - 9) / 5) * (-5.45789-(-0.99357))); + zz = 11.87386 + (((tickAnim - 9) / 5) * (5.85375-(11.87386))); + } + else if (tickAnim >= 14 && tickAnim < 18) { + xx = -25.97577 + (((tickAnim - 14) / 4) * (19.3817+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250-(-25.97577))); + yy = -5.45789 + (((tickAnim - 14) / 4) * (-7.72117-(-5.45789))); + zz = 5.85375 + (((tickAnim - 14) / 4) * (5.30511-(5.85375))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 19.3817+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250 + (((tickAnim - 18) / 2) * (60.57117-(19.3817+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250))); + yy = -7.72117 + (((tickAnim - 18) / 2) * (-9.60723-(-7.72117))); + zz = 5.30511 + (((tickAnim - 18) / 2) * (4.8479-(5.30511))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg3, frontRightLeg3.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg3.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = -0.3 + (((tickAnim - 0) / 3) * (-0.21-(-0.3))); + yy = 1.975 + (((tickAnim - 0) / 3) * (3.01-(1.975))); + zz = -0.525 + (((tickAnim - 0) / 3) * (-0.89-(-0.525))); + } + else if (tickAnim >= 3 && tickAnim < 5) { + xx = -0.21 + (((tickAnim - 3) / 2) * (-0.15-(-0.21))); + yy = 3.01 + (((tickAnim - 3) / 2) * (2.365-(3.01))); + zz = -0.89 + (((tickAnim - 3) / 2) * (-1.135-(-0.89))); + } + else if (tickAnim >= 5 && tickAnim < 9) { + xx = -0.15 + (((tickAnim - 5) / 4) * (0-(-0.15))); + yy = 2.365 + (((tickAnim - 5) / 4) * (0.1-(2.365))); + zz = -1.135 + (((tickAnim - 5) / 4) * (0-(-1.135))); + } + else if (tickAnim >= 9 && tickAnim < 13) { + xx = 0 + (((tickAnim - 9) / 4) * (0-(0))); + yy = 0.1 + (((tickAnim - 9) / 4) * (1.2-(0.1))); + zz = 0 + (((tickAnim - 9) / 4) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 13) { + xx = 0 + (((tickAnim - 13) / 0) * (0-(0))); + yy = 1.2 + (((tickAnim - 13) / 0) * (0.755-(1.2))); + zz = 0 + (((tickAnim - 13) / 0) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 14) { + xx = 0 + (((tickAnim - 13) / 1) * (0-(0))); + yy = 0.755 + (((tickAnim - 13) / 1) * (0.625-(0.755))); + zz = 0 + (((tickAnim - 13) / 1) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 17) { + xx = 0 + (((tickAnim - 14) / 3) * (0-(0))); + yy = 0.625 + (((tickAnim - 14) / 3) * (0.825-(0.625))); + zz = 0 + (((tickAnim - 14) / 3) * (0-(0))); + } + else if (tickAnim >= 17 && tickAnim < 20) { + xx = 0 + (((tickAnim - 17) / 3) * (-0.3-(0))); + yy = 0.825 + (((tickAnim - 17) / 3) * (1.975-(0.825))); + zz = 0 + (((tickAnim - 17) / 3) * (-0.525-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg3.rotationPointX = this.frontRightLeg3.rotationPointX + (float)(xx); + this.frontRightLeg3.rotationPointY = this.frontRightLeg3.rotationPointY - (float)(yy); + this.frontRightLeg3.rotationPointZ = this.frontRightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-350))*-3), head.rotateAngleY + (float) Math.toRadians(0), head.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*-3)); + + + this.setRotateAngle(hip, hip.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-50))*-2), hip.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*4), hip.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-4)); + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 55.55775 + (((tickAnim - 0) / 5) * (10.70257-(55.55775))); + yy = 9.36279 + (((tickAnim - 0) / 5) * (-21.85616-(9.36279))); + zz = 4.87742 + (((tickAnim - 0) / 5) * (-6.58892-(4.87742))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 10.70257 + (((tickAnim - 5) / 5) * (-27.25-(10.70257))); + yy = -21.85616 + (((tickAnim - 5) / 5) * (0-(-21.85616))); + zz = -6.58892 + (((tickAnim - 5) / 5) * (0-(-6.58892))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -27.25 + (((tickAnim - 10) / 10) * (55.55775-(-27.25))); + yy = 0 + (((tickAnim - 10) / 10) * (9.36279-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (4.87742-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg, backLeftLeg.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 23.39682 + (((tickAnim - 0) / 5) * (-23.41818-(23.39682))); + yy = 42.60769 + (((tickAnim - 0) / 5) * (-5.6392-(42.60769))); + zz = 5.98817 + (((tickAnim - 0) / 5) * (2.85151-(5.98817))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -23.41818 + (((tickAnim - 5) / 5) * (-28.75-(-23.41818))); + yy = -5.6392 + (((tickAnim - 5) / 5) * (-49.5-(-5.6392))); + zz = 2.85151 + (((tickAnim - 5) / 5) * (0-(2.85151))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = -28.75 + (((tickAnim - 10) / 10) * (23.39682-(-28.75))); + yy = -49.5 + (((tickAnim - 10) / 10) * (42.60769-(-49.5))); + zz = 0 + (((tickAnim - 10) / 10) * (5.98817-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg2, backLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0.55-(0))); + yy = 0 + (((tickAnim - 0) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0.55 + (((tickAnim - 5) / 5) * (0-(0.55))); + yy = 0 + (((tickAnim - 5) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 5) / 5) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 20) { + xx = 0 + (((tickAnim - 10) / 10) * (0-(0))); + yy = 0 + (((tickAnim - 10) / 10) * (0-(0))); + zz = 0 + (((tickAnim - 10) / 10) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg2.rotationPointX = this.backLeftLeg2.rotationPointX + (float)(xx); + this.backLeftLeg2.rotationPointY = this.backLeftLeg2.rotationPointY - (float)(yy); + this.backLeftLeg2.rotationPointZ = this.backLeftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 85.25583 + (((tickAnim - 0) / 2) * (109.54728-(85.25583))); + yy = 12.48181 + (((tickAnim - 0) / 2) * (12.6408-(12.48181))); + zz = -5.20869 + (((tickAnim - 0) / 2) * (-7.23322-(-5.20869))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 109.54728 + (((tickAnim - 2) / 3) * (59.93233-(109.54728))); + yy = 12.6408 + (((tickAnim - 2) / 3) * (12.91903-(12.6408))); + zz = -7.23322 + (((tickAnim - 2) / 3) * (-10.77615-(-7.23322))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 59.93233 + (((tickAnim - 5) / 5) * (36.91096-(59.93233))); + yy = 12.91903 + (((tickAnim - 5) / 5) * (13.3165-(12.91903))); + zz = -10.77615 + (((tickAnim - 5) / 5) * (-15.83748-(-10.77615))); + } + else if (tickAnim >= 10 && tickAnim < 14) { + xx = 36.91096 + (((tickAnim - 10) / 4) * (3.88019-(36.91096))); + yy = 13.3165 + (((tickAnim - 10) / 4) * (12.95878-(13.3165))); + zz = -15.83748 + (((tickAnim - 10) / 4) * (-11.28228-(-15.83748))); + } + else if (tickAnim >= 14 && tickAnim < 20) { + xx = 3.88019 + (((tickAnim - 14) / 6) * (85.25583-(3.88019))); + yy = 12.95878 + (((tickAnim - 14) / 6) * (12.48181-(12.95878))); + zz = -11.28228 + (((tickAnim - 14) / 6) * (-5.20869-(-11.28228))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg3, backLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 2) { + xx = 0 + (((tickAnim - 0) / 2) * (0-(0))); + yy = 1.125 + (((tickAnim - 0) / 2) * (1.86-(1.125))); + zz = 0.325 + (((tickAnim - 0) / 2) * (0.23-(0.325))); + } + else if (tickAnim >= 2 && tickAnim < 5) { + xx = 0 + (((tickAnim - 2) / 3) * (0-(0))); + yy = 1.86 + (((tickAnim - 2) / 3) * (0.935-(1.86))); + zz = 0.23 + (((tickAnim - 2) / 3) * (0.075-(0.23))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0.935 + (((tickAnim - 5) / 5) * (-0.425-(0.935))); + zz = 0.075 + (((tickAnim - 5) / 5) * (0-(0.075))); + } + else if (tickAnim >= 10 && tickAnim < 14) { + xx = 0 + (((tickAnim - 10) / 4) * (0-(0))); + yy = -0.425 + (((tickAnim - 10) / 4) * (0-(-0.425))); + zz = 0 + (((tickAnim - 10) / 4) * (0-(0))); + } + else if (tickAnim >= 14 && tickAnim < 18) { + xx = 0 + (((tickAnim - 14) / 4) * (0-(0))); + yy = 0 + (((tickAnim - 14) / 4) * (1.23-(0))); + zz = 0 + (((tickAnim - 14) / 4) * (0.555-(0))); + } + else if (tickAnim >= 18 && tickAnim < 20) { + xx = 0 + (((tickAnim - 18) / 2) * (0-(0))); + yy = 1.23 + (((tickAnim - 18) / 2) * (1.125-(1.23))); + zz = 0.555 + (((tickAnim - 18) / 2) * (0.325-(0.555))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg3.rotationPointX = this.backLeftLeg3.rotationPointX + (float)(xx); + this.backLeftLeg3.rotationPointY = this.backLeftLeg3.rotationPointY - (float)(yy); + this.backLeftLeg3.rotationPointZ = this.backLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = -27.25 + (((tickAnim - 0) / 10) * (55.55775-(-27.25))); + yy = 0 + (((tickAnim - 0) / 10) * (-9.36279-(0))); + zz = 0 + (((tickAnim - 0) / 10) * (-4.87742-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 55.55775 + (((tickAnim - 10) / 5) * (10.70257-(55.55775))); + yy = -9.36279 + (((tickAnim - 10) / 5) * (21.85616-(-9.36279))); + zz = -4.87742 + (((tickAnim - 10) / 5) * (6.58892-(-4.87742))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 10.70257 + (((tickAnim - 15) / 5) * (-27.25-(10.70257))); + yy = 21.85616 + (((tickAnim - 15) / 5) * (0-(21.85616))); + zz = 6.58892 + (((tickAnim - 15) / 5) * (0-(6.58892))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg, backRightLeg.rotateAngleX + (float) Math.toRadians(xx), backRightLeg.rotateAngleY + (float) Math.toRadians(yy), backRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 10) { + xx = -28.75 + (((tickAnim - 0) / 10) * (23.39682-(-28.75))); + yy = 49.5 + (((tickAnim - 0) / 10) * (-42.60769-(49.5))); + zz = 0 + (((tickAnim - 0) / 10) * (-5.98817-(0))); + } + else if (tickAnim >= 10 && tickAnim < 15) { + xx = 23.39682 + (((tickAnim - 10) / 5) * (-23.41818-(23.39682))); + yy = -42.60769 + (((tickAnim - 10) / 5) * (5.6392-(-42.60769))); + zz = -5.98817 + (((tickAnim - 10) / 5) * (-2.85151-(-5.98817))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -23.41818 + (((tickAnim - 15) / 5) * (-28.75-(-23.41818))); + yy = 5.6392 + (((tickAnim - 15) / 5) * (49.5-(5.6392))); + zz = -2.85151 + (((tickAnim - 15) / 5) * (0-(-2.85151))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg2, backRightLeg2.rotateAngleX + (float) Math.toRadians(xx), backRightLeg2.rotateAngleY + (float) Math.toRadians(yy), backRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 15) { + xx = 0 + (((tickAnim - 0) / 15) * (-0.55-(0))); + yy = 0 + (((tickAnim - 0) / 15) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 15) * (0-(0))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = -0.55 + (((tickAnim - 15) / 5) * (0-(-0.55))); + yy = 0 + (((tickAnim - 15) / 5) * (0-(0))); + zz = 0 + (((tickAnim - 15) / 5) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg2.rotationPointX = this.backRightLeg2.rotationPointX + (float)(xx); + this.backRightLeg2.rotationPointY = this.backRightLeg2.rotationPointY - (float)(yy); + this.backRightLeg2.rotationPointZ = this.backRightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 36.91096 + (((tickAnim - 0) / 5) * (-1.31767-(36.91096))); + yy = -13.3165 + (((tickAnim - 0) / 5) * (-12.91903-(-13.3165))); + zz = 15.83748 + (((tickAnim - 0) / 5) * (10.77615-(15.83748))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = -1.31767 + (((tickAnim - 5) / 5) * (85.25583-(-1.31767))); + yy = -12.91903 + (((tickAnim - 5) / 5) * (-12.48181-(-12.91903))); + zz = 10.77615 + (((tickAnim - 5) / 5) * (5.20869-(10.77615))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 85.25583 + (((tickAnim - 10) / 2) * (109.54728-(85.25583))); + yy = -12.48181 + (((tickAnim - 10) / 2) * (-12.6408-(-12.48181))); + zz = 5.20869 + (((tickAnim - 10) / 2) * (7.23322-(5.20869))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 109.54728 + (((tickAnim - 12) / 3) * (59.93233-(109.54728))); + yy = -12.6408 + (((tickAnim - 12) / 3) * (-12.91903-(-12.6408))); + zz = 7.23322 + (((tickAnim - 12) / 3) * (10.77615-(7.23322))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 59.93233 + (((tickAnim - 15) / 5) * (36.91096-(59.93233))); + yy = -12.91903 + (((tickAnim - 15) / 5) * (-13.3165-(-12.91903))); + zz = 10.77615 + (((tickAnim - 15) / 5) * (15.83748-(10.77615))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg3, backRightLeg3.rotateAngleX + (float) Math.toRadians(xx), backRightLeg3.rotateAngleY + (float) Math.toRadians(yy), backRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = -0.425 + (((tickAnim - 0) / 5) * (0.085-(-0.425))); + zz = 0 + (((tickAnim - 0) / 5) * (0.15-(0))); + } + else if (tickAnim >= 5 && tickAnim < 10) { + xx = 0 + (((tickAnim - 5) / 5) * (0-(0))); + yy = 0.085 + (((tickAnim - 5) / 5) * (1.125-(0.085))); + zz = 0.15 + (((tickAnim - 5) / 5) * (0.325-(0.15))); + } + else if (tickAnim >= 10 && tickAnim < 12) { + xx = 0 + (((tickAnim - 10) / 2) * (0-(0))); + yy = 1.125 + (((tickAnim - 10) / 2) * (1.86-(1.125))); + zz = 0.325 + (((tickAnim - 10) / 2) * (0.23-(0.325))); + } + else if (tickAnim >= 12 && tickAnim < 15) { + xx = 0 + (((tickAnim - 12) / 3) * (0-(0))); + yy = 1.86 + (((tickAnim - 12) / 3) * (0.935-(1.86))); + zz = 0.23 + (((tickAnim - 12) / 3) * (0.075-(0.23))); + } + else if (tickAnim >= 15 && tickAnim < 20) { + xx = 0 + (((tickAnim - 15) / 5) * (0-(0))); + yy = 0.935 + (((tickAnim - 15) / 5) * (-0.425-(0.935))); + zz = 0.075 + (((tickAnim - 15) / 5) * (0-(0.075))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg3.rotationPointX = this.backRightLeg3.rotationPointX + (float)(xx); + this.backRightLeg3.rotationPointY = this.backRightLeg3.rotationPointY - (float)(yy); + this.backRightLeg3.rotationPointZ = this.backRightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-50))*-1), tail.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*3), tail.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-3)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360/0.5-50))*-1), tail2.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-200))*9), tail2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-3)); + + + + } + public void animWalking(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + EntityPrehistoricFloraPeltobatrachus entity = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + int animCycle = 40; + double tickAnim = (entity.ticksExisted + entity.getTickOffset()) - (int) (Math.floor((double) (entity.ticksExisted + entity.getTickOffset()) / (double) animCycle) * (double) animCycle) + partialTickTime; + double xx = 0; + double yy = 0; + double zz = 0; + + if (tickAnim >= 0 && tickAnim < 8) { + xx = 0 + (((tickAnim - 0) / 8) * (0-(0))); + yy = 0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1 + (((tickAnim - 0) / 8) * (0.1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5-(0+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1))); + zz = 0 + (((tickAnim - 0) / 8) * (0-(0))); + } + else if (tickAnim >= 8 && tickAnim < 10) { + xx = 0 + (((tickAnim - 8) / 2) * (0-(0))); + yy = 0.1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5 + (((tickAnim - 8) / 2) * (0.275-(0.1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*0.5))); + zz = 0 + (((tickAnim - 8) / 2) * (0-(0))); + } + else if (tickAnim >= 10 && tickAnim < 22) { + xx = 0 + (((tickAnim - 10) / 12) * (0-(0))); + yy = 0.275 + (((tickAnim - 10) / 12) * (1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+10))*-1-(0.275))); + zz = 0 + (((tickAnim - 10) / 12) * (0-(0))); + } + else if (tickAnim >= 22 && tickAnim < 31) { + xx = 0 + (((tickAnim - 22) / 9) * (0-(0))); + yy = 1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+10))*-1 + (((tickAnim - 22) / 9) * (0.275-(1+Math.sin((Math.PI/180)*(((double)tickAnim/20)*70+10))*-1))); + zz = 0 + (((tickAnim - 22) / 9) * (0-(0))); + } + else if (tickAnim >= 31 && tickAnim < 33) { + xx = 0 + (((tickAnim - 31) / 2) * (0-(0))); + yy = 0.275 + (((tickAnim - 31) / 2) * (1.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1-(0.275))); + zz = 0 + (((tickAnim - 31) / 2) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = 0 + (((tickAnim - 33) / 7) * (0-(0))); + yy = 1.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1 + (((tickAnim - 33) / 7) * (1.875+Math.sin((Math.PI/180)*(((double)tickAnim/20)*80-50))*-2-(1.25+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-1))); + zz = 0 + (((tickAnim - 33) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.main.rotationPointX = this.main.rotationPointX + (float)(xx); + this.main.rotationPointY = this.main.rotationPointY - (float)(yy); + this.main.rotationPointZ = this.main.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(body, body.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-150))*-1), body.rotateAngleY + (float) Math.toRadians(0), body.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-150))*-2)); + this.body.rotationPointX = this.body.rotationPointX + (float)(0); + this.body.rotationPointY = this.body.rotationPointY - (float)(0); + this.body.rotationPointZ = this.body.rotationPointZ + (float)(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360))*0.2); + + + this.setRotateAngle(chest, chest.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-250))*-1), chest.rotateAngleY + (float) Math.toRadians(0), chest.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-200))*-2)); + + + + if (tickAnim >= 0 && tickAnim < 21) { + xx = -48.24079 + (((tickAnim - 0) / 21) * (53.08046-(-48.24079))); + yy = -2.88484 + (((tickAnim - 0) / 21) * (19.26122-(-2.88484))); + zz = -4.05769 + (((tickAnim - 0) / 21) * (31.15497-(-4.05769))); + } + else if (tickAnim >= 21 && tickAnim < 30) { + xx = 53.08046 + (((tickAnim - 21) / 9) * (1.06781-(53.08046))); + yy = 19.26122 + (((tickAnim - 21) / 9) * (119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150-(19.26122))); + zz = 31.15497 + (((tickAnim - 21) / 9) * (-42.03262-(31.15497))); + } + else if (tickAnim >= 30 && tickAnim < 40) { + xx = 1.06781 + (((tickAnim - 30) / 10) * (-48.24079-(1.06781))); + yy = 119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150 + (((tickAnim - 30) / 10) * (-2.88484-(119.0205+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*-150))); + zz = -42.03262 + (((tickAnim - 30) / 10) * (-4.05769-(-42.03262))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg, frontLeftLeg.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 21) { + xx = 13.20313 + (((tickAnim - 0) / 21) * (30-(13.20313))); + yy = -36.55612 + (((tickAnim - 0) / 21) * (0-(-36.55612))); + zz = 6.5817 + (((tickAnim - 0) / 21) * (0-(6.5817))); + } + else if (tickAnim >= 21 && tickAnim < 30) { + xx = 30 + (((tickAnim - 21) / 9) * (-11.55144-(30))); + yy = 0 + (((tickAnim - 21) / 9) * (4.71337-(0))); + zz = 0 + (((tickAnim - 21) / 9) * (36.17053-(0))); + } + else if (tickAnim >= 30 && tickAnim < 40) { + xx = -11.55144 + (((tickAnim - 30) / 10) * (13.20313-(-11.55144))); + yy = 4.71337 + (((tickAnim - 30) / 10) * (-36.55612-(4.71337))); + zz = 36.17053 + (((tickAnim - 30) / 10) * (6.5817-(36.17053))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg2, frontLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 21) { + xx = 0 + (((tickAnim - 0) / 21) * (0-(0))); + yy = 0 + (((tickAnim - 0) / 21) * (0.425-(0))); + zz = -0.175 + (((tickAnim - 0) / 21) * (-0.3-(-0.175))); + } + else if (tickAnim >= 21 && tickAnim < 40) { + xx = 0 + (((tickAnim - 21) / 19) * (0-(0))); + yy = 0.425 + (((tickAnim - 21) / 19) * (0-(0.425))); + zz = -0.3 + (((tickAnim - 21) / 19) * (-0.175-(-0.3))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg2.rotationPointX = this.frontLeftLeg2.rotationPointX + (float)(xx); + this.frontLeftLeg2.rotationPointY = this.frontLeftLeg2.rotationPointY - (float)(yy); + this.frontLeftLeg2.rotationPointZ = this.frontLeftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 7.48534 + (((tickAnim - 0) / 9) * (-25.97577-(7.48534))); + yy = 0.99357 + (((tickAnim - 0) / 9) * (5.45789-(0.99357))); + zz = -11.87386 + (((tickAnim - 0) / 9) * (-5.85375-(-11.87386))); + } + else if (tickAnim >= 9 && tickAnim < 16) { + xx = -25.97577 + (((tickAnim - 9) / 7) * (-160.0183+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250-(-25.97577))); + yy = 5.45789 + (((tickAnim - 9) / 7) * (7.72117-(5.45789))); + zz = -5.85375 + (((tickAnim - 9) / 7) * (-5.30511-(-5.85375))); + } + else if (tickAnim >= 16 && tickAnim < 21) { + xx = -160.0183+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250 + (((tickAnim - 16) / 5) * (60.57117-(-160.0183+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50))*250))); + yy = 7.72117 + (((tickAnim - 16) / 5) * (9.60723-(7.72117))); + zz = -5.30511 + (((tickAnim - 16) / 5) * (-4.8479-(-5.30511))); + } + else if (tickAnim >= 21 && tickAnim < 30) { + xx = 60.57117 + (((tickAnim - 21) / 9) * (83.02826-(60.57117))); + yy = 9.60723 + (((tickAnim - 21) / 9) * (5.3004-(9.60723))); + zz = -4.8479 + (((tickAnim - 21) / 9) * (-8.36088-(-4.8479))); + } + else if (tickAnim >= 30 && tickAnim < 40) { + xx = 83.02826 + (((tickAnim - 30) / 10) * (7.48534-(83.02826))); + yy = 5.3004 + (((tickAnim - 30) / 10) * (0.99357-(5.3004))); + zz = -8.36088 + (((tickAnim - 30) / 10) * (-11.87386-(-8.36088))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontLeftLeg3, frontLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), frontLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), frontLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = 0 + (((tickAnim - 0) / 5) * (0-(0))); + yy = 0.45 + (((tickAnim - 0) / 5) * (1.15-(0.45))); + zz = 0 + (((tickAnim - 0) / 5) * (0-(0))); + } + else if (tickAnim >= 5 && tickAnim < 13) { + xx = 0 + (((tickAnim - 5) / 8) * (0-(0))); + yy = 1.15 + (((tickAnim - 5) / 8) * (0.15-(1.15))); + zz = 0 + (((tickAnim - 5) / 8) * (0-(0))); + } + else if (tickAnim >= 13 && tickAnim < 17) { + xx = 0 + (((tickAnim - 13) / 4) * (0.15-(0))); + yy = 0.15 + (((tickAnim - 13) / 4) * (2.075-(0.15))); + zz = 0 + (((tickAnim - 13) / 4) * (-0.26-(0))); + } + else if (tickAnim >= 17 && tickAnim < 21) { + xx = 0.15 + (((tickAnim - 17) / 4) * (0.3-(0.15))); + yy = 2.075 + (((tickAnim - 17) / 4) * (1.975-(2.075))); + zz = -0.26 + (((tickAnim - 17) / 4) * (-0.525-(-0.26))); + } + else if (tickAnim >= 21 && tickAnim < 27) { + xx = 0.3 + (((tickAnim - 21) / 6) * (0.21-(0.3))); + yy = 1.975 + (((tickAnim - 21) / 6) * (3.01-(1.975))); + zz = -0.525 + (((tickAnim - 21) / 6) * (-0.89-(-0.525))); + } + else if (tickAnim >= 27 && tickAnim < 30) { + xx = 0.21 + (((tickAnim - 27) / 3) * (0.15-(0.21))); + yy = 3.01 + (((tickAnim - 27) / 3) * (2.365-(3.01))); + zz = -0.89 + (((tickAnim - 27) / 3) * (-1.135-(-0.89))); + } + else if (tickAnim >= 30 && tickAnim < 40) { + xx = 0.15 + (((tickAnim - 30) / 10) * (0-(0.15))); + yy = 2.365 + (((tickAnim - 30) / 10) * (0.45-(2.365))); + zz = -1.135 + (((tickAnim - 30) / 10) * (0-(-1.135))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontLeftLeg3.rotationPointX = this.frontLeftLeg3.rotationPointX + (float)(xx); + this.frontLeftLeg3.rotationPointY = this.frontLeftLeg3.rotationPointY - (float)(yy); + this.frontLeftLeg3.rotationPointZ = this.frontLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 53.08046 + (((tickAnim - 0) / 9) * (-0.12839-(53.08046))); + yy = -19.26122 + (((tickAnim - 0) / 9) * (117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200-(-19.26122))); + zz = -31.15497 + (((tickAnim - 0) / 9) * (46.52171-(-31.15497))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = -0.12839 + (((tickAnim - 9) / 9) * (-48.24079-(-0.12839))); + yy = 117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200 + (((tickAnim - 9) / 9) * (-2.88484-(117.0127+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*200))); + zz = 46.52171 + (((tickAnim - 9) / 9) * (-4.05769-(46.52171))); + } + else if (tickAnim >= 18 && tickAnim < 40) { + xx = -48.24079 + (((tickAnim - 18) / 22) * (53.08046-(-48.24079))); + yy = -2.88484 + (((tickAnim - 18) / 22) * (-19.26122-(-2.88484))); + zz = -4.05769 + (((tickAnim - 18) / 22) * (-31.15497-(-4.05769))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg, frontRightLeg.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 30 + (((tickAnim - 0) / 9) * (-11.55144-(30))); + yy = 0 + (((tickAnim - 0) / 9) * (-4.71337-(0))); + zz = 0 + (((tickAnim - 0) / 9) * (-36.17053-(0))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = -11.55144 + (((tickAnim - 9) / 9) * (13.20313-(-11.55144))); + yy = -4.71337 + (((tickAnim - 9) / 9) * (36.55612-(-4.71337))); + zz = -36.17053 + (((tickAnim - 9) / 9) * (6.5817-(-36.17053))); + } + else if (tickAnim >= 18 && tickAnim < 40) { + xx = 13.20313 + (((tickAnim - 18) / 22) * (30-(13.20313))); + yy = 36.55612 + (((tickAnim - 18) / 22) * (0-(36.55612))); + zz = 6.5817 + (((tickAnim - 18) / 22) * (0-(6.5817))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg2, frontRightLeg2.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg2.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 18) { + xx = 0 + (((tickAnim - 0) / 18) * (0-(0))); + yy = 0.425 + (((tickAnim - 0) / 18) * (0-(0.425))); + zz = -0.3 + (((tickAnim - 0) / 18) * (-0.175-(-0.3))); + } + else if (tickAnim >= 18 && tickAnim < 40) { + xx = 0 + (((tickAnim - 18) / 22) * (0-(0))); + yy = 0 + (((tickAnim - 18) / 22) * (0.425-(0))); + zz = -0.175 + (((tickAnim - 18) / 22) * (-0.3-(-0.175))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg2.rotationPointX = this.frontRightLeg2.rotationPointX + (float)(xx); + this.frontRightLeg2.rotationPointY = this.frontRightLeg2.rotationPointY - (float)(yy); + this.frontRightLeg2.rotationPointZ = this.frontRightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 60.57117 + (((tickAnim - 0) / 9) * (83.02826-(60.57117))); + yy = -9.60723 + (((tickAnim - 0) / 9) * (-5.3004-(-9.60723))); + zz = 4.8479 + (((tickAnim - 0) / 9) * (8.36088-(4.8479))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = 83.02826 + (((tickAnim - 9) / 9) * (7.48534-(83.02826))); + yy = -5.3004 + (((tickAnim - 9) / 9) * (-0.99357-(-5.3004))); + zz = 8.36088 + (((tickAnim - 9) / 9) * (11.87386-(8.36088))); + } + else if (tickAnim >= 18 && tickAnim < 28) { + xx = 7.48534 + (((tickAnim - 18) / 10) * (-25.97577-(7.48534))); + yy = -0.99357 + (((tickAnim - 18) / 10) * (-5.45789-(-0.99357))); + zz = 11.87386 + (((tickAnim - 18) / 10) * (5.85375-(11.87386))); + } + else if (tickAnim >= 28 && tickAnim < 35) { + xx = -25.97577 + (((tickAnim - 28) / 7) * (-106.8433+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250-(-25.97577))); + yy = -5.45789 + (((tickAnim - 28) / 7) * (-7.72117-(-5.45789))); + zz = 5.85375 + (((tickAnim - 28) / 7) * (5.30511-(5.85375))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -106.8433+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250 + (((tickAnim - 35) / 5) * (60.57117-(-106.8433+Math.sin((Math.PI/180)*(((double)tickAnim/20)*50-50))*250))); + yy = -7.72117 + (((tickAnim - 35) / 5) * (-9.60723-(-7.72117))); + zz = 5.30511 + (((tickAnim - 35) / 5) * (4.8479-(5.30511))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(frontRightLeg3, frontRightLeg3.rotateAngleX + (float) Math.toRadians(xx), frontRightLeg3.rotateAngleY + (float) Math.toRadians(yy), frontRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 5) { + xx = -0.3 + (((tickAnim - 0) / 5) * (-0.21-(-0.3))); + yy = 1.975 + (((tickAnim - 0) / 5) * (3.01-(1.975))); + zz = -0.525 + (((tickAnim - 0) / 5) * (-0.89-(-0.525))); + } + else if (tickAnim >= 5 && tickAnim < 9) { + xx = -0.21 + (((tickAnim - 5) / 4) * (-0.15-(-0.21))); + yy = 3.01 + (((tickAnim - 5) / 4) * (2.365-(3.01))); + zz = -0.89 + (((tickAnim - 5) / 4) * (-1.135-(-0.89))); + } + else if (tickAnim >= 9 && tickAnim < 18) { + xx = -0.15 + (((tickAnim - 9) / 9) * (0-(-0.15))); + yy = 2.365 + (((tickAnim - 9) / 9) * (0.1-(2.365))); + zz = -1.135 + (((tickAnim - 9) / 9) * (0-(-1.135))); + } + else if (tickAnim >= 18 && tickAnim < 24) { + xx = 0 + (((tickAnim - 18) / 6) * (0-(0))); + yy = 0.1 + (((tickAnim - 18) / 6) * (1.2-(0.1))); + zz = 0 + (((tickAnim - 18) / 6) * (0-(0))); + } + else if (tickAnim >= 24 && tickAnim < 28) { + xx = 0 + (((tickAnim - 24) / 4) * (0-(0))); + yy = 1.2 + (((tickAnim - 24) / 4) * (0.95-(1.2))); + zz = 0 + (((tickAnim - 24) / 4) * (0-(0))); + } + else if (tickAnim >= 28 && tickAnim < 33) { + xx = 0 + (((tickAnim - 28) / 5) * (0-(0))); + yy = 0.95 + (((tickAnim - 28) / 5) * (1.7-(0.95))); + zz = 0 + (((tickAnim - 28) / 5) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 35) { + xx = 0 + (((tickAnim - 33) / 2) * (-0.11-(0))); + yy = 1.7 + (((tickAnim - 33) / 2) * (1.1-(1.7))); + zz = 0 + (((tickAnim - 33) / 2) * (0.325-(0))); + } + else if (tickAnim >= 35 && tickAnim < 40) { + xx = -0.11 + (((tickAnim - 35) / 5) * (-0.3-(-0.11))); + yy = 1.1 + (((tickAnim - 35) / 5) * (1.975-(1.1))); + zz = 0.325 + (((tickAnim - 35) / 5) * (-0.525-(0.325))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.frontRightLeg3.rotationPointX = this.frontRightLeg3.rotationPointX + (float)(xx); + this.frontRightLeg3.rotationPointY = this.frontRightLeg3.rotationPointY - (float)(yy); + this.frontRightLeg3.rotationPointZ = this.frontRightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(head, head.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-350))*-2), head.rotateAngleY + (float) Math.toRadians(0), head.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-250))*-2)); + + + this.setRotateAngle(hip, hip.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-1), hip.rotateAngleY + (float) Math.toRadians(0), hip.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-50))*-3)); + + + + if (tickAnim >= 0 && tickAnim < 13) { + xx = 55.55775 + (((tickAnim - 0) / 13) * (10.70257-(55.55775))); + yy = 9.36279 + (((tickAnim - 0) / 13) * (-21.85616-(9.36279))); + zz = 4.87742 + (((tickAnim - 0) / 13) * (-6.58892-(4.87742))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 10.70257 + (((tickAnim - 13) / 7) * (-27.25-(10.70257))); + yy = -21.85616 + (((tickAnim - 13) / 7) * (0-(-21.85616))); + zz = -6.58892 + (((tickAnim - 13) / 7) * (0-(-6.58892))); + } + else if (tickAnim >= 20 && tickAnim < 40) { + xx = -27.25 + (((tickAnim - 20) / 20) * (55.55775-(-27.25))); + yy = 0 + (((tickAnim - 20) / 20) * (9.36279-(0))); + zz = 0 + (((tickAnim - 20) / 20) * (4.87742-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg, backLeftLeg.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 13) { + xx = 23.39682 + (((tickAnim - 0) / 13) * (-23.41818-(23.39682))); + yy = 42.60769 + (((tickAnim - 0) / 13) * (-5.6392-(42.60769))); + zz = 5.98817 + (((tickAnim - 0) / 13) * (2.85151-(5.98817))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = -23.41818 + (((tickAnim - 13) / 7) * (-28.75-(-23.41818))); + yy = -5.6392 + (((tickAnim - 13) / 7) * (-49.5-(-5.6392))); + zz = 2.85151 + (((tickAnim - 13) / 7) * (0-(2.85151))); + } + else if (tickAnim >= 20 && tickAnim < 40) { + xx = -28.75 + (((tickAnim - 20) / 20) * (23.39682-(-28.75))); + yy = -49.5 + (((tickAnim - 20) / 20) * (42.60769-(-49.5))); + zz = 0 + (((tickAnim - 20) / 20) * (5.98817-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg2, backLeftLeg2.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg2.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0.58-(0))); + yy = 0 + (((tickAnim - 0) / 3) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 3) * (-0.325-(0))); + } + else if (tickAnim >= 3 && tickAnim < 13) { + xx = 0.58 + (((tickAnim - 3) / 10) * (0.55-(0.58))); + yy = 0 + (((tickAnim - 3) / 10) * (0-(0))); + zz = -0.325 + (((tickAnim - 3) / 10) * (0-(-0.325))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 0.55 + (((tickAnim - 13) / 7) * (-0.25-(0.55))); + yy = 0 + (((tickAnim - 13) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 13) / 7) * (0-(0))); + } + else if (tickAnim >= 20 && tickAnim < 40) { + xx = -0.25 + (((tickAnim - 20) / 20) * (0-(-0.25))); + yy = 0 + (((tickAnim - 20) / 20) * (0-(0))); + zz = 0 + (((tickAnim - 20) / 20) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg2.rotationPointX = this.backLeftLeg2.rotationPointX + (float)(xx); + this.backLeftLeg2.rotationPointY = this.backLeftLeg2.rotationPointY - (float)(yy); + this.backLeftLeg2.rotationPointZ = this.backLeftLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 86.56474 + (((tickAnim - 0) / 3) * (109.88601-(86.56474))); + yy = 6.59478 + (((tickAnim - 0) / 3) * (13.12365-(6.59478))); + zz = -20.14997 + (((tickAnim - 0) / 3) * (-18.9782-(-20.14997))); + } + else if (tickAnim >= 3 && tickAnim < 13) { + xx = 109.88601 + (((tickAnim - 3) / 10) * (59.93233-(109.88601))); + yy = 13.12365 + (((tickAnim - 3) / 10) * (12.91903-(13.12365))); + zz = -18.9782 + (((tickAnim - 3) / 10) * (-10.77615-(-18.9782))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 59.93233 + (((tickAnim - 13) / 7) * (36.71804-(59.93233))); + yy = 12.91903 + (((tickAnim - 13) / 7) * (11.48431-(12.91903))); + zz = -10.77615 + (((tickAnim - 13) / 7) * (-10.64782-(-10.77615))); + } + else if (tickAnim >= 20 && tickAnim < 28) { + xx = 36.71804 + (((tickAnim - 20) / 8) * (3.88019-(36.71804))); + yy = 11.48431 + (((tickAnim - 20) / 8) * (12.95878-(11.48431))); + zz = -10.64782 + (((tickAnim - 20) / 8) * (-11.28228-(-10.64782))); + } + else if (tickAnim >= 28 && tickAnim < 40) { + xx = 3.88019 + (((tickAnim - 28) / 12) * (86.56474-(3.88019))); + yy = 12.95878 + (((tickAnim - 28) / 12) * (6.59478-(12.95878))); + zz = -11.28228 + (((tickAnim - 28) / 12) * (-20.14997-(-11.28228))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backLeftLeg3, backLeftLeg3.rotateAngleX + (float) Math.toRadians(xx), backLeftLeg3.rotateAngleY + (float) Math.toRadians(yy), backLeftLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 3) { + xx = 0 + (((tickAnim - 0) / 3) * (0-(0))); + yy = 1.125 + (((tickAnim - 0) / 3) * (2.31-(1.125))); + zz = 0.325 + (((tickAnim - 0) / 3) * (0.23-(0.325))); + } + else if (tickAnim >= 3 && tickAnim < 13) { + xx = 0 + (((tickAnim - 3) / 10) * (0-(0))); + yy = 2.31 + (((tickAnim - 3) / 10) * (0.935-(2.31))); + zz = 0.23 + (((tickAnim - 3) / 10) * (0.075-(0.23))); + } + else if (tickAnim >= 13 && tickAnim < 20) { + xx = 0 + (((tickAnim - 13) / 7) * (0-(0))); + yy = 0.935 + (((tickAnim - 13) / 7) * (-0.425-(0.935))); + zz = 0.075 + (((tickAnim - 13) / 7) * (0-(0.075))); + } + else if (tickAnim >= 20 && tickAnim < 28) { + xx = 0 + (((tickAnim - 20) / 8) * (0-(0))); + yy = -0.425 + (((tickAnim - 20) / 8) * (0-(-0.425))); + zz = 0 + (((tickAnim - 20) / 8) * (0-(0))); + } + else if (tickAnim >= 28 && tickAnim < 34) { + xx = 0 + (((tickAnim - 28) / 6) * (0-(0))); + yy = 0 + (((tickAnim - 28) / 6) * (1.505-(0))); + zz = 0 + (((tickAnim - 28) / 6) * (0.555-(0))); + } + else if (tickAnim >= 34 && tickAnim < 40) { + xx = 0 + (((tickAnim - 34) / 6) * (0-(0))); + yy = 1.505 + (((tickAnim - 34) / 6) * (1.125-(1.505))); + zz = 0.555 + (((tickAnim - 34) / 6) * (0.325-(0.555))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backLeftLeg3.rotationPointX = this.backLeftLeg3.rotationPointX + (float)(xx); + this.backLeftLeg3.rotationPointY = this.backLeftLeg3.rotationPointY - (float)(yy); + this.backLeftLeg3.rotationPointZ = this.backLeftLeg3.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = -27.25 + (((tickAnim - 0) / 20) * (55.55775-(-27.25))); + yy = 0 + (((tickAnim - 0) / 20) * (-9.36279-(0))); + zz = 0 + (((tickAnim - 0) / 20) * (-4.87742-(0))); + } + else if (tickAnim >= 20 && tickAnim < 33) { + xx = 55.55775 + (((tickAnim - 20) / 13) * (10.70257-(55.55775))); + yy = -9.36279 + (((tickAnim - 20) / 13) * (21.85616-(-9.36279))); + zz = -4.87742 + (((tickAnim - 20) / 13) * (6.58892-(-4.87742))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = 10.70257 + (((tickAnim - 33) / 7) * (-27.25-(10.70257))); + yy = 21.85616 + (((tickAnim - 33) / 7) * (0-(21.85616))); + zz = 6.58892 + (((tickAnim - 33) / 7) * (0-(6.58892))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg, backRightLeg.rotateAngleX + (float) Math.toRadians(xx), backRightLeg.rotateAngleY + (float) Math.toRadians(yy), backRightLeg.rotateAngleZ + (float) Math.toRadians(zz)); + + + + + if (tickAnim >= 0 && tickAnim < 20) { + xx = -28.75 + (((tickAnim - 0) / 20) * (23.39682-(-28.75))); + yy = 49.5 + (((tickAnim - 0) / 20) * (-42.60769-(49.5))); + zz = 0 + (((tickAnim - 0) / 20) * (-5.98817-(0))); + } + else if (tickAnim >= 20 && tickAnim < 33) { + xx = 23.39682 + (((tickAnim - 20) / 13) * (-23.41818-(23.39682))); + yy = -42.60769 + (((tickAnim - 20) / 13) * (5.6392-(-42.60769))); + zz = -5.98817 + (((tickAnim - 20) / 13) * (-2.85151-(-5.98817))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = -23.41818 + (((tickAnim - 33) / 7) * (-28.75-(-23.41818))); + yy = 5.6392 + (((tickAnim - 33) / 7) * (49.5-(5.6392))); + zz = -2.85151 + (((tickAnim - 33) / 7) * (0-(-2.85151))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg2, backRightLeg2.rotateAngleX + (float) Math.toRadians(xx), backRightLeg2.rotateAngleY + (float) Math.toRadians(yy), backRightLeg2.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 33) { + xx = 0 + (((tickAnim - 0) / 33) * (-0.55-(0))); + yy = 0 + (((tickAnim - 0) / 33) * (0-(0))); + zz = 0 + (((tickAnim - 0) / 33) * (0-(0))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = -0.55 + (((tickAnim - 33) / 7) * (0-(-0.55))); + yy = 0 + (((tickAnim - 33) / 7) * (0-(0))); + zz = 0 + (((tickAnim - 33) / 7) * (0-(0))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg2.rotationPointX = this.backRightLeg2.rotationPointX + (float)(xx); + this.backRightLeg2.rotationPointY = this.backRightLeg2.rotationPointY - (float)(yy); + this.backRightLeg2.rotationPointZ = this.backRightLeg2.rotationPointZ + (float)(zz); + + + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 36.65102 + (((tickAnim - 0) / 9) * (2.68233-(36.65102))); + yy = -11.07085 + (((tickAnim - 0) / 9) * (-12.91903-(-11.07085))); + zz = 9.46627 + (((tickAnim - 0) / 9) * (10.77615-(9.46627))); + } + else if (tickAnim >= 9 && tickAnim < 14) { + xx = 2.68233 + (((tickAnim - 9) / 5) * (7.88365-(2.68233))); + yy = -12.91903 + (((tickAnim - 9) / 5) * (-6.42508-(-12.91903))); + zz = 10.77615 + (((tickAnim - 9) / 5) * (5.56968-(10.77615))); + } + else if (tickAnim >= 14 && tickAnim < 20) { + xx = 7.88365 + (((tickAnim - 14) / 6) * (84.36852-(7.88365))); + yy = -6.42508 + (((tickAnim - 14) / 6) * (1.15119-(-6.42508))); + zz = 5.56968 + (((tickAnim - 14) / 6) * (-0.50454-(5.56968))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = 84.36852 + (((tickAnim - 20) / 3) * (109.54728-(84.36852))); + yy = 1.15119 + (((tickAnim - 20) / 3) * (-12.6408-(1.15119))); + zz = -0.50454 + (((tickAnim - 20) / 3) * (7.23322-(-0.50454))); + } + else if (tickAnim >= 23 && tickAnim < 33) { + xx = 109.54728 + (((tickAnim - 23) / 10) * (59.93233-(109.54728))); + yy = -12.6408 + (((tickAnim - 23) / 10) * (-12.91903-(-12.6408))); + zz = 7.23322 + (((tickAnim - 23) / 10) * (10.77615-(7.23322))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = 59.93233 + (((tickAnim - 33) / 7) * (36.65102-(59.93233))); + yy = -12.91903 + (((tickAnim - 33) / 7) * (-11.07085-(-12.91903))); + zz = 10.77615 + (((tickAnim - 33) / 7) * (9.46627-(10.77615))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.setRotateAngle(backRightLeg3, backRightLeg3.rotateAngleX + (float) Math.toRadians(xx), backRightLeg3.rotateAngleY + (float) Math.toRadians(yy), backRightLeg3.rotateAngleZ + (float) Math.toRadians(zz)); + + + if (tickAnim >= 0 && tickAnim < 9) { + xx = 0 + (((tickAnim - 0) / 9) * (0-(0))); + yy = -0.625 + (((tickAnim - 0) / 9) * (-0.115-(-0.625))); + zz = 0 + (((tickAnim - 0) / 9) * (0.15-(0))); + } + else if (tickAnim >= 9 && tickAnim < 14) { + xx = 0 + (((tickAnim - 9) / 5) * (0-(0))); + yy = -0.115 + (((tickAnim - 9) / 5) * (0.71-(-0.115))); + zz = 0.15 + (((tickAnim - 9) / 5) * (0.23-(0.15))); + } + else if (tickAnim >= 14 && tickAnim < 20) { + xx = 0 + (((tickAnim - 14) / 6) * (0-(0))); + yy = 0.71 + (((tickAnim - 14) / 6) * (1.125-(0.71))); + zz = 0.23 + (((tickAnim - 14) / 6) * (0.325-(0.23))); + } + else if (tickAnim >= 20 && tickAnim < 23) { + xx = 0 + (((tickAnim - 20) / 3) * (0-(0))); + yy = 1.125 + (((tickAnim - 20) / 3) * (1.86-(1.125))); + zz = 0.325 + (((tickAnim - 20) / 3) * (0.23-(0.325))); + } + else if (tickAnim >= 23 && tickAnim < 33) { + xx = 0 + (((tickAnim - 23) / 10) * (0-(0))); + yy = 1.86 + (((tickAnim - 23) / 10) * (0.935-(1.86))); + zz = 0.23 + (((tickAnim - 23) / 10) * (0.075-(0.23))); + } + else if (tickAnim >= 33 && tickAnim < 40) { + xx = 0 + (((tickAnim - 33) / 7) * (0-(0))); + yy = 0.935 + (((tickAnim - 33) / 7) * (-0.625-(0.935))); + zz = 0.075 + (((tickAnim - 33) / 7) * (0-(0.075))); + } + else { + xx = 0; + yy = 0; + zz = 0; + } + this.backRightLeg3.rotationPointX = this.backRightLeg3.rotationPointX + (float)(xx); + this.backRightLeg3.rotationPointY = this.backRightLeg3.rotationPointY - (float)(yy); + this.backRightLeg3.rotationPointZ = this.backRightLeg3.rotationPointZ + (float)(zz); + + + + this.setRotateAngle(tail, tail.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-1), tail.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-150))*3), tail.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-50))*-3)); + + + this.setRotateAngle(tail2, tail2.rotateAngleX + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*360-50))*-1), tail2.rotateAngleY + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-200))*9), tail2.rotateAngleZ + (float) Math.toRadians(0+Math.sin((Math.PI/180)*((((double)tickAnim/20D))*180-50))*-3)); + + + } + + @Override + public void setLivingAnimations(EntityLivingBase entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTickTime) { + super.setLivingAnimations(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + this.resetToDefaultPose(); + EntityPrehistoricFloraPeltobatrachus ee = (EntityPrehistoricFloraPeltobatrachus) entitylivingbaseIn; + + if (!ee.isReallyInWater()) { + if (ee.getIsMoving()) { + if (ee.getIsFast()) { //Running + animRunning(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + + } else { //Walking + animWalking(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime); + } + } + } + else { + //Swimming pose: + if (!ee.getIsMoving()) { //static in water + // + } + //moving in water + // + } + if (ee.getAnimation() == ee.EAT_ANIMATION) { + animEat(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.ATTACK_ANIMATION) { + animAttack(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } else if (ee.getAnimation() == ee.ROAR_ANIMATION) { + animRoar(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTickTime, ee.getAnimationTick()); + } + + } + + public void animate(IAnimatedEntity entity, float f, float f1, float f2, float f3, float f4, float f5) { + EntityPrehistoricFloraPeltobatrachus e = (EntityPrehistoricFloraPeltobatrachus) entity; + + } +} diff --git a/src/main/java/net/lepidodendron/entity/render/RenderHandler.java b/src/main/java/net/lepidodendron/entity/render/RenderHandler.java index ef977f2e73..eca1ea8eb8 100644 --- a/src/main/java/net/lepidodendron/entity/render/RenderHandler.java +++ b/src/main/java/net/lepidodendron/entity/render/RenderHandler.java @@ -9308,6 +9308,36 @@ public Render createRenderFor(Rend return new RenderMegalithomerus(manager); } }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraLiaobatrachus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderLiaobatrachus(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraIberobatrachus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderIberobatrachus(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraLitorosuchus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderLitorosuchus(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraLangobardisaurus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderLangobardisaurus(manager); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityPrehistoricFloraPeltobatrachus.class, new IRenderFactory() { + @Override + public Render createRenderFor(RenderManager manager) { + return new RenderPeltobatrachus(manager); + } + }); diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderIberobatrachus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderIberobatrachus.java new file mode 100644 index 0000000000..f3d4e477f4 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderIberobatrachus.java @@ -0,0 +1,37 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraIberobatrachus; +import net.lepidodendron.entity.model.entity.ModelIberobatrachus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderIberobatrachus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/iberobatrachus.png"); + + public static float getScaler() {return 0.18f;} + + public RenderIberobatrachus(RenderManager mgr) { + super(mgr, new ModelIberobatrachus(), 0.5f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraIberobatrachus entity) { + return RenderIberobatrachus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraIberobatrachus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraIberobatrachus entity, float f) { + float scale = entity.getAgeScale()*getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = entity.width * scale * 0.4F; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderLangobardisaurus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderLangobardisaurus.java new file mode 100644 index 0000000000..35eb135834 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderLangobardisaurus.java @@ -0,0 +1,36 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraLangobardisaurus; +import net.lepidodendron.entity.model.entity.ModelLangobardisaurus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderLangobardisaurus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/langobardisaurus.png"); + + public static float getScaler() {return 0.3f;} + public RenderLangobardisaurus(RenderManager mgr) { + super(mgr, new ModelLangobardisaurus(), 0.3f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraLangobardisaurus entity) { + return RenderLangobardisaurus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraLangobardisaurus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraLangobardisaurus entity, float f) { + float scale = entity.getAgeScale()*getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = 0; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderLiaobatrachus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderLiaobatrachus.java new file mode 100644 index 0000000000..ccacd56804 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderLiaobatrachus.java @@ -0,0 +1,37 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraLiaobatrachus; +import net.lepidodendron.entity.model.entity.ModelLiaobatrachus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderLiaobatrachus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/liaboatrachus.png"); + + public static float getScaler() {return 0.18f;} + + public RenderLiaobatrachus(RenderManager mgr) { + super(mgr, new ModelLiaobatrachus(), 0.5f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraLiaobatrachus entity) { + return RenderLiaobatrachus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraLiaobatrachus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraLiaobatrachus entity, float f) { + float scale = entity.getAgeScale()*getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = entity.width * scale * 0.4F; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderLitorosuchus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderLitorosuchus.java new file mode 100644 index 0000000000..2febd307b4 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderLitorosuchus.java @@ -0,0 +1,36 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraLitorosuchus; +import net.lepidodendron.entity.model.entity.ModelLitorosuchus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderLitorosuchus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/litorosuchus.png"); + + public static float getScaler() {return 0.54f;} + public RenderLitorosuchus(RenderManager mgr) { + super(mgr, new ModelLitorosuchus(), 0.3f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraLitorosuchus entity) { + return RenderLitorosuchus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraLitorosuchus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraLitorosuchus entity, float f) { + float scale = entity.getAgeScale()*getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = 0; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/entity/render/entity/RenderPeltobatrachus.java b/src/main/java/net/lepidodendron/entity/render/entity/RenderPeltobatrachus.java new file mode 100644 index 0000000000..0e0867db87 --- /dev/null +++ b/src/main/java/net/lepidodendron/entity/render/entity/RenderPeltobatrachus.java @@ -0,0 +1,36 @@ +package net.lepidodendron.entity.render.entity; + +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.entity.EntityPrehistoricFloraPeltobatrachus; +import net.lepidodendron.entity.model.entity.ModelPeltobatrachus; +import net.lepidodendron.entity.render.RenderLivingBaseWithBook; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.util.ResourceLocation; + +public class RenderPeltobatrachus extends RenderLivingBaseWithBook { + public static final ResourceLocation TEXTURE = new ResourceLocation(LepidodendronMod.MODID + ":textures/entities/peltobatrachus.png"); + + public static float getScaler() {return 0.4f;} + public RenderPeltobatrachus(RenderManager mgr) { + super(mgr, new ModelPeltobatrachus(), 0.3f); + } + + @Override + public ResourceLocation getEntityTexture(EntityPrehistoricFloraPeltobatrachus entity) { + return RenderPeltobatrachus.TEXTURE; + } + + @Override + protected void applyRotations(EntityPrehistoricFloraPeltobatrachus entityLiving, float ageInTicks, float rotationYaw, float partialTicks) { + super.applyRotations(entityLiving, ageInTicks, rotationYaw, partialTicks); + } + + @Override + protected void preRenderCallback(EntityPrehistoricFloraPeltobatrachus entity, float f) { + float scale = entity.getAgeScale()*getScaler(); + GlStateManager.scale(scale, scale, scale); + this.shadowSize = 0; + } + +} \ No newline at end of file diff --git a/src/main/java/net/lepidodendron/item/ItemPhialFull.java b/src/main/java/net/lepidodendron/item/ItemPhialFull.java index a2b5fe4446..7bac5631ec 100644 --- a/src/main/java/net/lepidodendron/item/ItemPhialFull.java +++ b/src/main/java/net/lepidodendron/item/ItemPhialFull.java @@ -250,7 +250,10 @@ public void registerModels(ModelRegistryEvent event) { new ModelResourceLocation("lepidodendron:entities/phial_eggs_rafaeliana", "inventory"), new ModelResourceLocation("lepidodendron:entities/phial_eggs_raptoblatta", "inventory"), new ModelResourceLocation("lepidodendron:entities/phial_eggs_cratosirex", "inventory"), - new ModelResourceLocation("lepidodendron:entities/phial_eggs_megalithomerus", "inventory") + new ModelResourceLocation("lepidodendron:entities/phial_eggs_megalithomerus", "inventory"), + new ModelResourceLocation("lepidodendron:entities/phial_eggs_peltobatrachus", "inventory"), + new ModelResourceLocation("lepidodendron:entities/phial_eggs_tadpole_iberobatrachus", "inventory"), + new ModelResourceLocation("lepidodendron:entities/phial_eggs_tadpole_liaobatrachus", "inventory") diff --git a/src/main/java/net/lepidodendron/item/entities/ItemEggsLangobardisaurus.java b/src/main/java/net/lepidodendron/item/entities/ItemEggsLangobardisaurus.java new file mode 100644 index 0000000000..adbafbc185 --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemEggsLangobardisaurus.java @@ -0,0 +1,63 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemEggsLangobardisaurus extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:eggs_langobardisaurus") + public static final Item block = null; + public ItemEggsLangobardisaurus(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.eggs_langobardisaurus); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/eggs_langobardisaurus", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("bakingEgg", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("egg", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("eggCookable", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("foodSimpleEgg", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("ingredientEgg", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("listAllegg", ItemEggsLangobardisaurus.block); + OreDictionary.registerOre("objectEgg", ItemEggsLangobardisaurus.block); + } + + public static class ItemCustom extends ItemEggsPF { + public ItemCustom() { + super(); + setTranslationKey("pf_eggs_langobardisaurus"); + setRegistryName("eggs_langobardisaurus"); + setCreativeTab(TabLepidodendronMobile.tab); + } + + @Override + public String getMobString() { + return LepidodendronMod.MODID + ":prehistoric_flora_langobardisaurus"; + } + } + +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemEggsLitorosuchus.java b/src/main/java/net/lepidodendron/item/entities/ItemEggsLitorosuchus.java new file mode 100644 index 0000000000..ed2fbcf0d7 --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemEggsLitorosuchus.java @@ -0,0 +1,63 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemEggsLitorosuchus extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:eggs_litorosuchus") + public static final Item block = null; + public ItemEggsLitorosuchus(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.eggs_litorosuchus); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/eggs_litorosuchus", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("bakingEgg", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("egg", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("eggCookable", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("foodSimpleEgg", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("ingredientEgg", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("listAllegg", ItemEggsLitorosuchus.block); + OreDictionary.registerOre("objectEgg", ItemEggsLitorosuchus.block); + } + + public static class ItemCustom extends ItemEggsPF { + public ItemCustom() { + super(); + setTranslationKey("pf_eggs_litorosuchus"); + setRegistryName("eggs_litorosuchus"); + setCreativeTab(TabLepidodendronMobile.tab); + } + + @Override + public String getMobString() { + return LepidodendronMod.MODID + ":prehistoric_flora_litorosuchus"; + } + } + +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemIberobatrachusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemIberobatrachusRaw.java new file mode 100644 index 0000000000..995d03e4d6 --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemIberobatrachusRaw.java @@ -0,0 +1,52 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemIberobatrachusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:iberobatrachus_raw") + public static final Item block = null; + public ItemIberobatrachusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.iberobatrachus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/iberobatrachus_raw", "inventory")); + } + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_iberobatrachus", ItemIberobatrachusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemIberobatrachusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemIberobatrachusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemIberobatrachusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_iberobatrachus_raw"); + setRegistryName("iberobatrachus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemLangobardisaurusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemLangobardisaurusRaw.java new file mode 100644 index 0000000000..f9d833feba --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemLangobardisaurusRaw.java @@ -0,0 +1,54 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemLangobardisaurusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:langobardisaurus_raw") + public static final Item block = null; + public ItemLangobardisaurusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.langobardisaurus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/langobardisaurus_raw", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_langobardisaurus", ItemLangobardisaurusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemLangobardisaurusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemLangobardisaurusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemLangobardisaurusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(3, 0.3f, false); + setTranslationKey("pf_langobardisaurus_raw"); + setRegistryName("langobardisaurus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemLiaobatrachusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemLiaobatrachusRaw.java new file mode 100644 index 0000000000..8ec84e829c --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemLiaobatrachusRaw.java @@ -0,0 +1,52 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemLiaobatrachusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:liaobatrachus_raw") + public static final Item block = null; + public ItemLiaobatrachusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.liaobatrachus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/liaobatrachus_raw", "inventory")); + } + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_liaobatrachus", ItemLiaobatrachusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemLiaobatrachusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemLiaobatrachusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemLiaobatrachusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_liaobatrachus_raw"); + setRegistryName("liaobatrachus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemLitorosuchusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemLitorosuchusRaw.java new file mode 100644 index 0000000000..a201d34a61 --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemLitorosuchusRaw.java @@ -0,0 +1,54 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemLitorosuchusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:litorosuchus_raw") + public static final Item block = null; + public ItemLitorosuchusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.litorosuchus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/litorosuchus_raw", "inventory")); + } + + @Override + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_litorosuchus", ItemLitorosuchusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemLitorosuchusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemLitorosuchusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemLitorosuchusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(3, 0.3f, false); + setTranslationKey("pf_litorosuchus_raw"); + setRegistryName("litorosuchus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/item/entities/ItemPeltobatrachusRaw.java b/src/main/java/net/lepidodendron/item/entities/ItemPeltobatrachusRaw.java new file mode 100644 index 0000000000..afd962a90a --- /dev/null +++ b/src/main/java/net/lepidodendron/item/entities/ItemPeltobatrachusRaw.java @@ -0,0 +1,52 @@ + +package net.lepidodendron.item.entities; + +import net.lepidodendron.ElementsLepidodendronMod; +import net.lepidodendron.LepidodendronSorter; +import net.lepidodendron.creativetab.TabLepidodendronMobile; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ModelLoader; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.oredict.OreDictionary; + +@ElementsLepidodendronMod.ModElement.Tag +public class ItemPeltobatrachusRaw extends ElementsLepidodendronMod.ModElement { + @GameRegistry.ObjectHolder("lepidodendron:peltobatrachus_raw") + public static final Item block = null; + public ItemPeltobatrachusRaw(ElementsLepidodendronMod instance) { + super(instance, LepidodendronSorter.peltobatrachus_raw); + } + + @Override + public void initElements() { + elements.items.add(() -> new ItemFoodCustom()); + } + + @SideOnly(Side.CLIENT) + @Override + public void registerModels(ModelRegistryEvent event) { + ModelLoader.setCustomModelResourceLocation(block, 0, new ModelResourceLocation("lepidodendron:entities/peltobatrachus_raw", "inventory")); + } + public void init(FMLInitializationEvent event) { + super.init(event); + OreDictionary.registerOre("mobdnaPNlepidodendron:prehistoric_flora_peltobatrachus", ItemPeltobatrachusRaw.block); + OreDictionary.registerOre("listAllmeatraw", ItemPeltobatrachusRaw.block); + OreDictionary.registerOre("pnfurnaceAmphibian", ItemPeltobatrachusRaw.block); + OreDictionary.registerOre("pndietMeat", ItemPeltobatrachusRaw.block); + } + + public static class ItemFoodCustom extends ItemPNTaxidermyItem { + public ItemFoodCustom() { + super(2, 0.1f, false); + setTranslationKey("pf_peltobatrachus_raw"); + setRegistryName("peltobatrachus_raw"); + setCreativeTab(TabLepidodendronMobile.tab); + setMaxStackSize(64); + } + } +} diff --git a/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java b/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java index 2de6c44a6b..95aa8375fd 100644 --- a/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java +++ b/src/main/java/net/lepidodendron/util/AcidBathOutputMobs.java @@ -882,6 +882,7 @@ public static String[] getCarboniferousCleanedFossilsMobs() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraProtophasma.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_rocky.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_jungle.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraPeltobatrachus.class)).getRegistryName().toString(), }; @@ -1255,6 +1256,8 @@ public static String[] getTriassicCleanedFossilsMobs() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_rocky.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_jungle.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraIcarosaurus.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraLitorosuchus.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraLangobardisaurus.class)).getRegistryName().toString(), @@ -1899,6 +1902,8 @@ public static String[] getCretaceousCleanedFossilsMobsEarly() { (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraArchaeognatha_jungle.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraUmenopterix.class)).getRegistryName().toString(), (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraPetropterix.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraIberobatrachus.class)).getRegistryName().toString(), + (net.minecraftforge.fml.common.registry.EntityRegistry.getEntry(EntityPrehistoricFloraLiaobatrachus.class)).getRegistryName().toString(), }; return resLoc; diff --git a/src/main/resources/assets/lepidodendron/loot_tables/iberobatrachus.json b/src/main/resources/assets/lepidodendron/loot_tables/iberobatrachus.json new file mode 100644 index 0000000000..1d7e03a552 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/iberobatrachus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "iberobatrachus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:iberobatrachus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/langobardisaurus.json b/src/main/resources/assets/lepidodendron/loot_tables/langobardisaurus.json new file mode 100644 index 0000000000..a91b777995 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/langobardisaurus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "langobardisaurus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:langobardisaurus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/liaobatrachus.json b/src/main/resources/assets/lepidodendron/loot_tables/liaobatrachus.json new file mode 100644 index 0000000000..c66e879dcc --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/liaobatrachus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "liaobatrachus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:liaobatrachus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/litorosuchus.json b/src/main/resources/assets/lepidodendron/loot_tables/litorosuchus.json new file mode 100644 index 0000000000..d5c571b928 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/litorosuchus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "litorosuchus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:litorosuchus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/loot_tables/peltobatrachus.json b/src/main/resources/assets/lepidodendron/loot_tables/peltobatrachus.json new file mode 100644 index 0000000000..d67f943178 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/loot_tables/peltobatrachus.json @@ -0,0 +1,24 @@ +{ + "pools": [ + { + "name": "peltobatrachus", + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "lepidodendron:peltobatrachus_raw", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 1 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/eggs_langobardisaurus.json b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_langobardisaurus.json new file mode 100644 index 0000000000..5cefce33b7 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_langobardisaurus.json @@ -0,0 +1,6 @@ +{ + "parent": "lepidodendron:block/eggs_small", + "textures": { + "texture": "lepidodendron:entities/eggs_langobardisaurus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/eggs_litorosuchus.json b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_litorosuchus.json new file mode 100644 index 0000000000..06306a075d --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/eggs_litorosuchus.json @@ -0,0 +1,6 @@ +{ + "parent": "lepidodendron:block/eggs_small", + "textures": { + "texture": "lepidodendron:entities/eggs_litorosuchus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_iberobatrachus.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_iberobatrachus.json new file mode 100644 index 0000000000..2b776c4bac --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_iberobatrachus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_iberobatrachus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_liaobatrachus.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_liaobatrachus.json new file mode 100644 index 0000000000..4973c6f7ef --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_liaobatrachus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_liaobatrachus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_peltobatrachus.json b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_peltobatrachus.json new file mode 100644 index 0000000000..a6aa0a6ef5 --- /dev/null +++ b/src/main/resources/assets/lepidodendron/models/item/entities/phial_eggs_peltobatrachus.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "lepidodendron:items/entities/phial_peltobatrachus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/lepidodendron/textures/entities/Iberobatrachus.png b/src/main/resources/assets/lepidodendron/textures/entities/Iberobatrachus.png new file mode 100644 index 0000000000000000000000000000000000000000..097d55665ed8ebc4703b1d5287fb37793c2a254e GIT binary patch literal 1204 zcmV;l1WWsgP)>eMHzw+Nj6xz zEJ8COpA$<9GhviYMf?SVGJMZp8`C{uviaU~?)X06ajy67-gobPygB{A<(%_9=brO9 z-}C)`&-Zv~5IWB9k%?HC>l?RTqQCb>>CatF+`gHNQE1{Tf`$>M#iGaGm6S7z>;Awj z8sW<)@jx!kox6~U7KEN1R)QXrAW%%ydyT(%XEVz{ZujnA>0ZD@@P|z;M7d-5^W=_Y z?J07vmR35=M_nC>%@vqC!CHVJ1;e?mf2<%|B%2myB93(e(^dt9iJ9Dq&0TwprTcwNKzs>Kh>JbTe6Yo~qv?u;ws?A znE($BGct{nLq;&2w<~*8ZJ37gb|;Sq9KASOAjZK<2OqK9q$8~cbMu1a78vU$90BrH zuff5bAm9*`0rF~=XEL0R9v-bo>Fa=#CJmjD)*9LL^BJmK_z1U)XKu(U_xtR<5?S@Z z3@vOGJ=Ku$e1;>g{ro5`tNVn83RTt9IO)v>27(QZUsC*Xn1%`)H=L$;dv^1A5zXUQ zcT#QrVU1kv*T?9a)z5IGk4JxJncL%5`6b^%I`|7-OZ5dcd)McYb`X)4YFAE@i9KGv zuvM1KuA_hVtsx;hQ-(g3^GP^IrVlR<7WPjnC13GNRPo_K5)Tzn-jr$z6urT1)H5ZA za`dP?O_qr7=iE|-A~&hNf`?q%BVP^(_-<@bMD{F^fyXN7M$3;Z$eFoRs{{SX5wz(06SQU7la>=qUb5NrXd)Zn zUQQ9z+EZ5Va(9zJLwL~*R`vdMt9Zd#E50zup#@*bQYw0RfkFP?iaB!pNWW>}=-%zJ zyl$241IY?nphgT-hO0*~e=L7i5Wav(26E}f>R*X&A>eIznB&o|N2E1mAl4nb%H^Z; zpQr1M>&Y$N{wr!p%xx?bNGP+J;BMo-AYq5w00030{|G8P9{>OV21!IgR09C3@+N`9 SDPl$d0000=)z+?F-{|$eo_6tzTZQt+DT`tfD8c$l z_2uYOQOw+B6(8j;k6Ci~Rlnt6$A{UC@dwt|uIc=ypqUw;X_Fh)91r%scIKs;Ig^V{ z&${;a&d|)K{nb^o?pdh04`03E%kRm$xbYuRe>(l(vh#oYZ{6`{7j@T0&6#~+UU#p1A8ECV^gO!il8H)s9UF}*G)?-2Unv_OT6>BzRzbg*TlADfw3( zx>A4e>7DprpDbXc(t?(y=;CE?8(4FJzJ1U%vD9 zv(?>SHg_fNXo<{h9N*paxc}?FRNt{YqX7FVLFgn zPODT15SGJiSc@NUs^rg?B##-@fRgM_JLxc?E|C?BMjIu%22#NSzMbK1KFnH-{K=RY%pxZ zK)*g299?h{;)A2GpD%6b{D?>YKKzI)K@~o#BP{$Z|b)cPf8kY0f&KDSlmN;>vTs+5LIa z1BP)&A||GEG_QDnQr#-wr0cy~i+@Hfyg13;a2>omlY+ADZIRArW*HB=-}aghHq4(W?tQGV{&@YR(&r4boy(`bQD6Dm$|asqlRLfc6uSAUWkx2P9}pwvC92^fnbsk3k_sB8h1>q z%`KwvmJxFCgW|IN2=tg#i_^j!Hh~c0_ow^@Fbb7tD9GYMZyw4N+?VZ!R-V)>kuCIG zXy(mWo$MP8PZ}EvPZuH!4ZA5qb=r?T_p~smRObwY$^y5<#>Rd4Po6C7=#OG=k%b-& u$&8CH@VN)iJt13oVKHHGS)GDTr~41lTUS|I6h>(P0000=)z+?F-{|$eo_6tzTZQt+DT`tfD8c$l z_2uYOQOw+B6(8j;k6Ci~Rlnt6$A{UC@dwt|uIc=ypqUw;X_Fh)91r%scIKs;Ig^V{ z&${;a&d|)K{nb^o?pdh04`03E%kRm$xbYuRe>(l(vh#oYZ{6`{7j@T0&6#~+UU#p1A8ECV^gO!il8H)s9UF}*G)?-2Unv_OT6>BzRzbg*TlADfw3( zx>A4e>7DprpDbXc(t?(y=;CE?8(4FJzJ1U%vD9 zv(?>SHg_fNXo<{h9N*paxc}?FRNt{YqX7FVLFgn zPODT15SGJiSc@NUs^rg?B##-@fRgM_JLxc?E|C?BMjIu%22#NSzMbK1KFnH-{K=RY%pxZ zK)*g299?h{;)A2GpD%6b{D?>YKKzI)K@~o#BP{$Z|b)cPf8kY0f&KDSlmN;>vTs+5LIa z1BP)&A||GEG_QDnQr#-wr0cy~i+@Hfyg13;a2>omlY+ADZIRArW*HB=-}aghHq4(W?tQGV{&@YR(&r4boy(`bQD6Dm$|asqlRLfc6uSAUWkx2P9}pwvC92^fnbsk3k_sB8h1>q z%`KwvmJxFCgW|IN2=tg#i_^j!Hh~c0_ow^@Fbb7tD9GYMZyw4N+?VZ!R-V)>kuCIG zXy(mWo$MP8PZ}EvPZuH!4ZA5qb=r?T_p~smRObwY$^y5<#>Rd4Po6C7=#OG=k%b-& u$&8CH@VN)iJt13oVKHHGS)GDTr~41lTUS|I6h>(P0000!)}v))FW znmqHvo{MW|E@W7+%hdSc#*)RH{6UY_c5)?%R%S0^&TzdqYX!p#TaVxn29rxy(i!eO z^b8hZSj+QQJ_G3Zdj4sGTnt4uAX13i$jaQajVt=v;#YY<*D-jy`njxgN@xNASAtln literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/entities/langobardisaurus.png b/src/main/resources/assets/lepidodendron/textures/entities/langobardisaurus.png new file mode 100644 index 0000000000000000000000000000000000000000..7544687f0d6d647ebc6bc5270fb1476494d235fa GIT binary patch literal 1881 zcmV-f2d4OmP)0x_p1Mz*RN}7+KGlQ>Aa zGvH9w34wr*6^qkmUJ&hwF*oG%Ma%kKd*1MTdFT@jDQg0JX0~h=tjJd?bAl-46Jxi{ zYjR$NmAXtK&6>k(v1CH{^WRk_AAyLju=3NQgEsCXS$Lr31(9zQ3 z)qgE!K3^!YxjAaQ#G1kOt(!%+ANl@x-G{m=OmP<74F%;q2&%~C3v6;KC$7ONc%JgI z*8!B1wjCmKkA#CPn=3G0RS{&74+i|^iz!ObJ#`LfN1tA7E8Kneh~?--xy`(vN6~?Vo{NjXTv(7C5wmZp21W- zb}NmkUfib-XpzFRumO~n$*y~Nm4VAaG+PCK^qPQMGxJ{OtLG#U$uSqtyi{-_UVR?zBpoeuUB2{P}w_v zQ~avX);{_a$eP5RK+y(iNgw4PTXKo7giy#Qes-vt=>VGT=Hi2LwWoi0y~uzx;q2yN zL4NJ=Yc*;>SqxC57@X~qh(0@JStIDs2fq_+*AkMtwz$#~GV`(xWFTgz?@Wn$)p{@Q z+$zdJf2(=_XhI*HrCEk+RDV#ihwV%^n;vIwnDDfjd5Y1LI^_u=oe;Vos)8smG|8A`{7xnP*x_J+xL>z z+8H;mleZB)COz|A=@bF(20wiLfv^d0HQH9A5~r}$3}j2#0lqEkt36l(;f<6&bN;gB zd;I~Uhc@zV%l2v>+O%Q4_`3G65mu(MC3fQ1Gaf_(3@{Lc4WO({R$o4`s5Z;ub2B2p zvSKVd5j`*%u`t5A12H+^_lp@*?GY#ovgNW7wK(UjR4mphT{Gx>K7&L!L^ zvb3NAS-;Klam517%&=x4+du{;5UQ8&!N6bf$a4*e z!eIj_3$mHX`QToh)|Y4=58L$EIx}`AlE$X9J!1F_I}WQTLp~)n8_5It?+(|^qM>cO zYX=?t3JXA0BD|=-gQYW5`eNN<+5!j!4Xc>TP8*=>WRV7CLH73Tw793cyHkvG zEYQ`(6F}Wek$_fW1e$8q72u-5emzziy9GI4Ls+d)cdhU%EFi1e#y!j%Xk)E<9qpWf za&>ntcfU%O>OeZCTOy+mL_qbb9qI_H)2B>`kVvMOWnc@}pxJp*qShzPjJ_ef-q1Pc>5T;)Sy;QM^{8AV}Z8Y?(&K z{C0=Yva+;Kq}>O72$c2v=BIV!N$p0#H*9&`^{Wa+b$7(IGkO$NY4K5$`1M0wee%q7cg9dty3FBacJKdAV z4vFVd6UK4Dvpe2j5D_>LwEGjKm3vt;SW`0md9EkU77`x$PZNOr24z9Erz;}rCsJ89 zTgF+Lv7rC)*a=I;u$k;qNJ3?*lVf&Mgzq&E{{sL3|Nj@20dN2S00v1!K~w_(Lm;c< T?HZXL00000NkvXXu0mjfhp2-d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/entities/liaboatrachus.png b/src/main/resources/assets/lepidodendron/textures/entities/liaboatrachus.png new file mode 100644 index 0000000000000000000000000000000000000000..79ef12643e5b3778cfceeecf339abfa276a6011e GIT binary patch literal 2480 zcmV;h2~YNkP)_=j##E)<(7ANgcyO>1AW^K=w#i*meN9$oo?F$*#fc5hyV7~rS?A^SyXEY$D&k#f@qFd2CWw+r`#rSAc zCt4^GtO0xjhk~P9QEO^wbuSd)q=p&ZK@j#u}~)&;b06WGCDC&G%1*F zoaX~o{6o}M-$A?~owdZ0`cb(*uawyavI!RtX!$z38@2)uROwN0yFD za8R$uGrRwkkfA-6L8s$fNvw>wG2ztzH4M*&;Bm zfJ&w6l(*?BBnK?K{uOV^`wQ%L2Wx9IY8W$r2cq?V>^HcY^D3hco4W~xpS&iyDjRkm z<4H@ZN(-=7Loa2-QhD5;DfZUTea1`zgk_xcVYUBM3j;_+Dr=K#E94 zhwP&qO%rgMn`n)k1GhfekI{42G5S@Z?rauPFvecVMR7?9swT{9buabfUC`@vxG-X7 zt9#@H(1VbCSzFdNWq=wsvm1@Frq!U}L>sHb_~nP&oV2*7{Xwgln9&zCrf;E%9f0!d zcY2(05t43@R8Zvp7DLw_WMuGY zl2S&;BQwL}=3(rU6hNoGv}z(FBp82#c`p`w_0HqG0&a}D`6<30JPkY6W_7DTBnMx& zGn-dynk;v{;D#EVfok4SNV;-+PAd(X7kwO!ycxr1ZD=~&$YL?^rGu@;p}2v{!DkO+ z(wrwTYVohSRREG+pn;d6aR#z&Oko9{2T>%9= zQRo_evHwlR;Q8q(ytkp{=?UHJ9V7)%bm;@X;GZ7c9MV+-0-kd_;R*CZ3uzS-Y#^`Z83x~JC@5#5(osbm3fU#3hY$}5~ z%8TR?6QNNlU@EU<_lzk?k^{}*-V=g#G+iAaAxm(d7Y`$L%pza8Fzy9D+dCT$R}1r5 zQMt(4_W~2rgcWahizdh@$zT!oc#NN#C#LleV3@*L5n^8#AB|{P%WC@@#;YH!?9h-r!gN^h1hBPIqqp^oE2flf_`m?6J@cHca{GsjU{d19VGF$1Bu zLfwwg=}Dd0HP`3cN6lJ~uTQ*=M_?@w zmLJ&7`lT#cEqQ;_Uq9qcSH6UC;%C?{~j=(d>W6TrgY5tF% zK$pD$t-L?uq9(jjtYvC$w>ISu{h3wjlZE(N$OQEr%yRqjNvWuAHC@wxnPDB zLhSExwM z?kaRK>igzg;G4wiR}b^nvRhCajO^>qnyk?QiA#|gQu(9qsf_0T!6Pv_73HQPSW0d{ zmG%IVlao_Iqr9Ym1t0^b=`!_z~IZlb%sxn5;tj}dh z*Uq@sdlrCL5q~}yQ*as&O_>;wjQrP@=lQ9d{}Iq%G=3t2jTpu4ajAi^f5mNYDK@fk@g- z3UyT)iCB=R^-Mv|tnLcS|V&1@(h|2PVyi(}XC(ne>zR1Q*3(BRX>*`PZG8pr;6|yYL@!e$EODi)2YU{PyqvuUc!E;sRUCz1& zHiKv5!;R~ena@@hLQr^AjI=bjsI%vLwMV9dr=ECPeg5SpeNPQR#m!zvn$%9>W9(dH zKHL6D7A+@xMpgvKH0EPV@7}XF6n;|cL^W&bbD1B1`ymT0*}4Dgu=R%x8KI6GKdkT3 zTT>=H7HU!2S;Ymu+i|&f{MYoW$$KA%gd7S1gh!8R-?r_^KGfW*-xWYm^b`wHa5>*I zEh%5GjhL^~&vl%M7@)eE`i!kIAZc!g@NuB$A-rTr!%!_KH9pb;Sa#E#wy?5*ht8zim~YWnw!Z3L*j+4B^VLqblCOw$ce zYIOxo1BN@_>Ep?nBxwMIrQj4)+Jd<6TBku;_nw|^_2;<@p&Ja+8Y^=sP+R1XNTL)P z05DW=mGzHxggQGrRYgUhD@;QujbmD*Bjthyk3!?B1@i~JmHXl21sIE;S1+4mP7+M?tL_XR0M%41lOX;Ww$ae zSD5~`e2&Wl7Z?UF-!D+sdznUH7}4{l@IBq#;r;6iS2;ByP6Ghq1e5O>sqSuW{?7>7 zR(=4!J2=pGAo82cWBTN2EW3+10ex_30D~l(j_ir}9f4f5pm0lb?>&5X3H)~~PUJ#{ z<7vOzr(7_iGynMo`q`(ExFSU7pd4l(%sysW2!cABt3a6!AgpV_6hH`@H)pD6TprV~ zNH|;y4WO``t$ZO)l}TAVK?&_dp#hYJDfcOMQXEO+pRd>IjI$3#X@EHdT#gWN{Z_31fchecY7;Oi_!1iwWgt}MA@Kan z@m~r@s1TAiT+CR3B+nD12S^zEOWNF!;c7J0^2IA6OX#G=DJE`!@5Svm#LW%?Lee%T zhdkWU>ikV2V+a&L3X_I3t44m?MUtH;nImMz5QOPn!nj9hA0ic1>(M2O7f;b*|JGJLA9sd;I1s6X+MBDM$H++WL)z& zole_ONGuUB4oJ)f&1(QT8zhZI&i51?VRL}}10d&p#u8~5Z`6#DH2m@^VJ=1ETHfZp z$&b2za|w^2C$335K;+oAZQ07!7FB=uAnTB_`5`0>irNeccV@8=VY+Q6x759u6#h2p zlZ#naR8&}h^R*p;9LF59P*$aFgX+3E)z#Azn z2QobjOyq0=$}CeWtsgWOKxs&;0eANAudX>XfOPKuPG7SRj<)_@@_o1O?|FpzXK}DcT5f+T*N|);Bot{lS6` zP@4E|k()$@05>r(%>kdrq0w_Kd6NRCwo_k);B!dAMx+7cp-5kn$|OaN<%zRmC{&Xp zg{T29%$lvAT}NG{@spTot{5HF-aLvY4^tQ7Nx}{cuc%d3jg67Ar*`ei-Z6fpbh-3;5FG+Pq!2F5Y<1?s>_ZkN+|Ruu0B(k?_tMs=Cu(N`@#u-*ZO2jwa6)D zULFPB@#$XG-rlZu?AQ^J>yET9H0g8w98nTH)paBDQbWO`&rDQvUVb)`1_Ij)(=-Cs zX45vowxR>JbAIK@t2`+A3vV~d zDpZ^{@gz6g)wS=gS5MA!!oHor`E;NF0Zp`>u zvA7HrgqP0?mdw+~+h2X-mAv1oDy#HgPqthCrLIHH*@`pNg`Gz9|7#mv(i? zApqL~T#W!5kXBL~~*uG(ZNzgPic{R>52<7Xo60)BqR% zOXnsHWt|3Z2mS>B0RR7rAz8lw000I_L_t&o0N(<;FzPu`5C8xG07*qoM6N<$f+ON_ Au>b%7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/entities/peltobatrachus.png b/src/main/resources/assets/lepidodendron/textures/entities/peltobatrachus.png new file mode 100644 index 0000000000000000000000000000000000000000..4b8d2a1bddf12640b6786761f4a782333fa4fef0 GIT binary patch literal 2943 zcmV-_3xM>AP)h@KlsgK;Y0gaZ|T$yMFB2yRm(HzqvlwbH_9H&b_;K zV=14sp1F^?d-t1f&N*{toFNO`d~=^uERIp3&`uv*wOX8e{o)|;xi9YBNQK-C<#H|5 z=6-p0#~@pEEo> z?6>Lc?4;|i-8`?|6F)p;dtHvLf zJ5mVV(Chf|rV@DLjbYKdY$S8JR?({~S9XeHn`eN?bUGCn1~W5`2ohg@Iown1zvnIo z_Urz=pQDy+mUiBKw|_r|S95cd`#sg!ck$}BL81=nk&!X+;$bB|AOJ*w5SbLdZu5-E z$%@;~5rp7_I?mx*6flIdE+L1XJ3{%6j=(k87!ZL{uGfOpgI~DMfs3oU#u8tSI$j`~ zZE;mHpM*-Tl~K?>@4VO(!(acF?@wC)4b^q&E*Vb8iI8h9%! z&W%svd-9?UWn0B{w995aqU2`)cip~Cl>fglCcXpDFu`Vy!|IS#5@%YWL#B7_lrWyf zQq^~@T!%;Db2s%ixW+X{`*wASL-IdmK~Syc-APa-NYbl}2f#Sfo#U>1fIn+pytf z$nO>B-g(48@}0|CTv=bD;dg@;T@Kq>rg75)vcaqcixm%LpcJ+Vz~9d{x__tXv!D5- zbH|4pM3PCJ=s_{I=>b+s_OCyq$4<@ALw#vUJ$jew*_@((47KR&P?+L$Ni!&pERm6o zBP#{U0SdW_DC?q_t)HR?x4Napy?7^iD0wK7EzD84JuS&3OdNzM2Ezx6u=$}wZ+dNTf7ew7dgT`f9NS@)3A^FZ*|HYJBte*B z;@F8=VD%+P3u1l*f6sm&C5V!z|0>`?*g(z&fayTc$LauN0@QnD2VrvMd>zJJo{sFl zbKks)XB4c`4z(y|v3ghqlXB-RcTht^!@P-S6f&mFni?&dz`>HP9VegxQ-H`3C$C+p zKuY3kpWhJhG;`Atv#sFCZlzM8>FH@286Blq#3W4#UcC4=)dICWFW$-I@Ufa9RI`IR zuwq{P%S-g>kKG$zF<}?w6-c#2FSfR}Qlt9<81ESCm#XkootK^kNxfNfdhhNI$>Fa6Sr~uG#F*w&htj*Z=kJR|EIR*TT+m=@LUn z4jy#c+S^6^Qat~J=&;dpiXQsqb}xEF4eD4i2%vN@otKew)13GLTq3iF&w>39 zh;z5xutk(O=4*=q$1hNKN2^1&h*XTpD4 zpVNJ}W#?iQ_n7m+_)+Tpp54hRu}wuxWty9t1Mv$h#+sNgmkc?dc;)20MmP_-o7#mv z6XSm|qG2coQwJypKGP%9-eYFAZrMa7H_HzRqC~GxPoEddv8cDV=Vo_N4T=)iaGvWZ zH(itW+oN3Jt_lpi)ety`61|V{k7&EC&09?vA1~8KKeEH$@Pn-zN!;%XM~{ke^5)PG z<>;7OJ4U4;5+7CzRQK37?{VZ+2~#I!Sk`EG{%z!6ycd**1lQG)>sTIHyJFgxJ8PNE%9ki^Oo!xyM=+!;@2Ext@5z&|V_6nz012upfd8Gn;9rx6THWFp8F3X;i${stb0gc0I9L#37E>{7+v>3? zNrsV_o}M02mWEDJTwG3yVep!gy0gnV4uWq<^=l!0@)dl_)$i=i04 z&LvhS5rVkHXzw=?)79l|TWy@s4~u&KYm6-^YOnw4#6SFNsNZzs^;%`HD&}p-4q4Am z>GrX0+^{Ba49jhTt+xu>JirLMuDbKM;2rQFW!JWybd}rjP|TKFZ`D3?N$vBMI}u4R z%(qNyMd~`W3VAIG;5q_S950AhvH|Za#?DZb{6bO4b=@y|y7=cuLNoui&od!FOw{zC zo>4OIE5<%Q-t!lQ3&riUvC~^C;-q`jS`iOn0K*Zpeol&=dacpUE6G!R+r_iEQ1=yM z7dkdY%KM7L+Vkon$FNbWiy%S;2#G>~82(33wO&uy>=I@08c>OL3uB3VGUBSivuGb& zE5iM<&0%8;L;LRRHWeh>etrBm!k+x@_s4~C=UM!`|0R$&@~M#jj|ou!A0UaHu-RA4 zm@}$JDK6N!$_X~q*~qF&LIO-iO|$DHb|P%3JpByS4eXJg`{VO-C;uC~CfgbniAa&{ z1Z)Jry>4SCmI4yF>o|5|sUi_EaqPrW#gdo&Lg9Ujd@pxgA;y3!#29de7z3^lW59a= p00960L7|hd00006NklptBIza_%Bl42nR0u+^N;8G&VSa--m~|6`K|Z;t#_?8YlFYv z3~S3DEC~dHwa`}(fdASUFAH=0KBl!BA`tqgMu~&507ysHplUf129vSn8kh|05jlaN zugnY#*;+Hns!Pp-(X9$-+%($_0Yf9ZF2}@m5QE4G z)R|>6r{xRp>|fW{vn%J14-?09GI7>FdnjUd$BtVZ=HxD{Vrnf1b@H4%~jRpGSBV z=p}!4-I6)wCA=wi;K0WE%1a9;AeKQo{45-m&uWG@uFSRI4jK!6AfL zl2yCFIk}+LhB>73X!VgRTPVm?b4%axV7gTjclBs%t#ZXSq}+OF89mf?y^UY0XF_Tmaimb4TZI zh3B!Rn8n)$Q`>Wl6 zfk{{Nd#%Xn*J_HUmvoby(*k@s?NQ9^<(mZ z*oF#&z261*64>tif$%yN&&%F9BPdkYptIZFR=hwK6OTYkszRGHSOtU01vkXd{ee}L ztCJ#-xfYklPJk5-;B5zCzXN;T{bxDWy{Nv4XfxK3+_zxkvf)IZ8P0D~jyk3O5ne~> zw4U(}4Qd$TnZw(V8SA=XYDgP!`uWgk=Q!D5FJ)Y@y?Vv^hpp|Y+%{~DVG*TND;&$W z$T>Zn|D?d(r+-Yy{vC4`v~fJgEt0r~h$95k*$>KxP9R^J7d{7b_o`hq<-+FMUFofC zUYmR8DC}*)DZw7=`8ngZZtBcXhdmkL=9m`#q1sJH1r!OTxj|^yDYng)?6SK_x7|mk z)stN7npR$3;&v~d?Q^zfYoM_5a8S)}@-usP4Xq3~3J0EaOw^`1<}2$L4GVd&ASd{K zQQ?&Nvu>BkJo_K?(xe&QKJH|67eP&jh-sV?f3G`P``+;cCGlp8!MlA;b$MoVTD9W! z9|MY0yM9Ayxm`8 zd2LX=gIjy@%lOJslXgrdpFg{e^31i^e?T{JSKTAGWuD}71VW#6h_|=D(A)dtI)$%J zsXr(2eXmU;#Xdf4>ob`WX%k-HzsGs_h=}CLwz*!&l!K}5!dt`Q*5^xzh4w`=V`sYgj1Ckhyjgdw(6Sb| z9eU{cg0>o()r&LR!Ez*loH$|pmbDgkF3EFOud`_U!D(Uu=Fs|j@YE0E&&$y5xdkUz zO&0qmj_Dk{vaQT{w%<8nF3CoJvT^g=^yraG%ak1*6~FIxT-9xNuC($)Xuq9Z<1bc~ zU7azlo2?0dR93^UMv0`T(h1(^cn@HoKcTAlFni;iZUg6bjFa@)Jv=mPxrXiif+Uo1TXQ zC}9jD>y=?DElb)-qemi{6n9Iq8!D6Y z0tC~0A@DaoWhsVfcr=<$r=#jvR5hxgF}PeVjn1SonE-A9XqT%nNDrvA#Nv|8dEx727O24kc10>OppagTwoT!f?XMOnN&iDnX)gSgeoltsid$G3J0em zI1WtbfG!Zk2AC3v1Aw>-05K$NKn{X*7K1I3aAcA%Am*S5UX@VTmr)s^WH^*7$b}@X z3=ZG|G3Wp&V{icpE&*T}hsBk$UFCERWP*}OdDGRX62gZQQ9=rsrco(O3M1h>Pk$kw z!lcqaOZ>wiOpZI?a{y7v)H>~Fl^9XN^DxNBCxgvlvFKbn7i6$N7M=OoC=f=qcr6-H z8FVTWG--?j!^6|TsfCP{iUXMBcs4w56oxQ0Dpsq*_!MJMWTU64z{zes!{Uo*af{`~ zn(wXpd2o2oThAm2Lrf|%*;KeZNZQkh7K(&>#sv54QAw9VDg}(s@ZOU8C`bNbxF7}# zmVhp7fbAlI0T6;@07M7n07!>iK^a%hc42Z%X?#N0s^yptLSat@o++LUUP7j9$dh`> zbo$y}w-h!qMQ5@Ax(oglGgv$q29E_&XuZkOjC1;9wr;fl;ls^j@Wmp4`}N51#RXrh zXrC6VUcQVJ{)?@59R9@~aOm%yd=tOl>H1FBH!<){#^0;!J6+$zz&9Cxude?aU6!AZ zJFp7>2c*LfGviukZ^92k=8{=61cYwmC;j4)ZMbBB#&^D!Ko~gGc=aiLw6YTy5;393 zhgfT7HiSj#FBmop7gY%bo?=d+RCcBB)707BaWlK1B|CmpEWulQTdnK0Q>~jxwvF6d z>$83}+ui43Ly^_1{S8*Br4%b;i;3x$RiA$|e0M;D`NQb$Jy1TMZJs!14$0U)biTi( zY3|Y;Gp94F31f3}yXXH|L8_>zAXQzCzHtI+l^+Y;MOsfNDk`!X|I4j%RrihS6AR7S z34Zy(G!e pPo5isYD{;*`M&DVyd9QycnE}4M`3M~-ouzYLFnTr$nsjU=D!^4CM^H} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/items/entities/phial_liaobatrachus.png b/src/main/resources/assets/lepidodendron/textures/items/entities/phial_liaobatrachus.png new file mode 100644 index 0000000000000000000000000000000000000000..08ef608a16bd688d89cfc4416675aad6392f8bd2 GIT binary patch literal 5294 zcmeHKdss|c8y}aNq{uDPp^R}!wCB2;W=2!0i3XEoPDKv(%ptBIza_%Bl42nR0u+^N;8G&VSa--m~|6`K|Z;t#_?8YlFYv z3~S3DEC~dHwa`}(fdASUFAH=0KBl!BA`tqgMu~&507ysHplUf129vSn8kh|05jlaN zugnY#*;+Hns!Pp-(X9$-+%($_0Yf9ZF2}@m5QE4G z)R|>6r{xRp>|fW{vn%J14-?09GI7>FdnjUd$BtVZ=HxD{Vrnf1b@H4%~jRpGSBV z=p}!4-I6)wCA=wi;K0WE%1a9;AeKQo{45-m&uWG@uFSRI4jK!6AfL zl2yCFIk}+LhB>73X!VgRTPVm?b4%axV7gTjclBs%t#ZXSq}+OF89mf?y^UY0XF_Tmaimb4TZI zh3B!Rn8n)$Q`>Wl6 zfk{{Nd#%Xn*J_HUmvoby(*k@s?NQ9^<(mZ z*oF#&z261*64>tif$%yN&&%F9BPdkYptIZFR=hwK6OTYkszRGHSOtU01vkXd{ee}L ztCJ#-xfYklPJk5-;B5zCzXN;T{bxDWy{Nv4XfxK3+_zxkvf)IZ8P0D~jyk3O5ne~> zw4U(}4Qd$TnZw(V8SA=XYDgP!`uWgk=Q!D5FJ)Y@y?Vv^hpp|Y+%{~DVG*TND;&$W z$T>Zn|D?d(r+-Yy{vC4`v~fJgEt0r~h$95k*$>KxP9R^J7d{7b_o`hq<-+FMUFofC zUYmR8DC}*)DZw7=`8ngZZtBcXhdmkL=9m`#q1sJH1r!OTxj|^yDYng)?6SK_x7|mk z)stN7npR$3;&v~d?Q^zfYoM_5a8S)}@-usP4Xq3~3J0EaOw^`1<}2$L4GVd&ASd{K zQQ?&Nvu>BkJo_K?(xe&QKJH|67eP&jh-sV?f3G`P``+;cCGlp8!MlA;b$MoVTD9W! z9|MY0yM9Ayxm`8 zd2LX=gIjy@%lOJslXgrdpFg{e^31i^e?T{JSKTAGWuD}71VW#6h_|=D(A)dtI)$%J zsXr(2eXmU;#Xdf4>ob`WX%k-HzsGs_h=}CLwz*!&l!K}5!dt`Q*5^xzh4w`=V`sYgj1Ckhyjgdw(6Sb| z9eU{cg0>o()r&LR!Ez*loH$|pmbDgkF3EFOud`_U!D(Uu=Fs|j@YE0E&&$y5xdkUz zO&0qmj_Dk{vaQT{w%<8nF3CoJvT^g=^yraG%ak1*6~FIxT-9xNuC($)Xuq9Z<1bc~ zU7azlo2?0dR93^UMv0`T(h1(^cn@HoKcTAlFni;iZUg6bjFa@)Jv=mPxrXiif+Uo1TXQ zC}9jD>y=?DElb)-qemi{6n9Iq8!D6Y z0tC~0A@DaoWhsVfcr=<$r=#jvR5hxgF}PeVjn1SonE-A9XqT%nNDrvA#Nv|8dEx727O24kc10>OppagTwoT!f?XMOnN&iDnX)gSgeoltsid$G3J0em zI1WtbfG!Zk2AC3v1Aw>-05K$NKn{X*7K1I3aAcA%Am*S5UX@VTmr)s^WH^*7$b}@X z3=ZG|G3Wp&V{icpE&*T}hsBk$UFCERWP*}OdDGRX62gZQQ9=rsrco(O3M1h>Pk$kw z!lcqaOZ>wiOpZI?a{y7v)H>~Fl^9XN^DxNBCxgvlvFKbn7i6$N7M=OoC=f=qcr6-H z8FVTWG--?j!^6|TsfCP{iUXMBcs4w56oxQ0Dpsq*_!MJMWTU64z{zes!{Uo*af{`~ zn(wXpd2o2oThAm2Lrf|%*;KeZNZQkh7K(&>#sv54QAw9VDg}(s@ZOU8C`bNbxF7}# zmVhp7fbAlI0T6;@07M7n07!>iK^a%hc42Z%X?#N0s^yptLSat@o++LUUP7j9$dh`> zbo$y}w-h!qMQ5@Ax(oglGgv$q29E_&XuZkOjC1;9wr;fl;ls^j@Wmp4`}N51#RXrh zXrC6VUcQVJ{)?@59R9@~aOm%yd=tOl>H1FBH!<){#^0;!J6+$zz&9Cxude?aU6!AZ zJFp7>2c*LfGviukZ^92k=8{=61cYwmC;j4)ZMbBB#&^D!Ko~gGc=aiLw6YTy5;393 zhgfT7HiSj#FBmop7gY%bo?=d+RCcBB)707BaWlK1B|CmpEWulQTdnK0Q>~jxwvF6d z>$83}+ui43Ly^_1{S8*Br4%b;i;3x$RiA$|e0M;D`NQb$Jy1TMZJs!14$0U)biTi( zY3|Y;Gp94F31f3}yXXH|L8_>zAXQzCzHtI+l^+Y;MOsfNDk`!X|I4j%RrihS6AR7S z34Zy(G!e pPo5isYD{;*`M&DVyd9QycnE}4M`3M~-ouzYLFnTr$nsjU=D!^4CM^H} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/lepidodendron/textures/items/entities/phial_peltobatrachus.png b/src/main/resources/assets/lepidodendron/textures/items/entities/phial_peltobatrachus.png new file mode 100644 index 0000000000000000000000000000000000000000..3c78b7452c779a7b4c7c54107763bbdbe95da1b9 GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+9j?LCC){ui6xo&c?uz!xv30p zMVShg3XTOu3PuJ-h6+YTRwf2k24)Jn20*~!btn?3jlIOv*OmPRmkhT$v!?3#??55W z0*}aI1_o{+5N5n|x9$&6kR{#G*O7r?V?XzwL{=bwgQtsQNX4z>gab^E=J@>2?=$?f zf3*=)Px%zK|NX^=f6qJUocOZkNB!yx&;CEwv`qN3!2WB!SU^t(^BvtU|IL5S{`cOC zkKysQiueEJ91IunW@Ka}aB%Ydlb4kIX>VuuZ~y%D@9QT>++<^6W0{b5;92(egR>^w z{9^jx!1ekmyBGZam24mTj>2m5RJI0_=&0;T?^!1>DuhpX%QWF_ iiZp{Ui=|^CGlTwtN69N*-{J