diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index c487fde7..3855fb0b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -106,6 +106,11 @@ public final class AntarchySettings { private static double alphaMantisFlyingSpeed = 0.77D; private static int alphaMantisSummonIntervalTicks = 300; private static int alphaMantisMaxMinions = 4; + private static double rollyPollyHealth = 12.0D; + private static double rollyPollyMovementSpeed = 0.3D; + private static double rollyPollyRollSpeedMultiplier = 2.2D; + private static double rollyPollyTumbleDamage = 1.0D; + private static int rollyPollyTameChance = 3; private static double krakenProjectileDamageTakenMultiplier = 0.5D; private static boolean krakenSquidSpawnEnabled = true; private static boolean krakenMassSpawnEnabled = true; @@ -233,23 +238,23 @@ public final class AntarchySettings { private static final int reverieAmbientTargetMaxAgeTicks = 40; private static final int reverieAmbientPulseIntervalMinTicks = 12; private static final int reverieAmbientPulseIntervalMaxTicks = 19; - private static double emperorScorpionHealth = 100.0D; - private static double emperorScorpionAttackDamage = 12.0D; + private static double emperorScorpionHealth = 400.0D; + private static double emperorScorpionAttackDamage = 28.0D; private static double emperorScorpionMovementSpeed = 0.32D; - private static double emperorScorpionArmor = 6.0D; - private static double emperorScorpionKnockbackResistance = 0.6D; - private static double emperorScorpionFollowRange = 32.0D; + private static double emperorScorpionArmor = 25.0D; + private static double emperorScorpionKnockbackResistance = 0.8D; + private static double emperorScorpionFollowRange = 40.0D; private static int emperorScorpionXpReward = 25; - private static int emperorScorpionClawAnimTicks = 12; - private static int emperorScorpionClawHitTick = 6; - private static int emperorScorpionClawCooldownTicks = 16; - private static int emperorScorpionStingAnimTicks = 18; - private static int emperorScorpionStingHitTick = 9; - private static int emperorScorpionStingCooldownTicks = 42; - private static int emperorScorpionPoisonTicks = 100; - private static int emperorScorpionWeaknessTicks = 80; - private static int emperorScorpionSummonIntervalTicks = 180; - private static int emperorScorpionMaxSummonedScorpions = 4; + private static int emperorScorpionClawAnimTicks = 23; + private static int emperorScorpionClawHitTick = 12; + private static int emperorScorpionClawCooldownTicks = 28; + private static int emperorScorpionStingAnimTicks = 25; + private static int emperorScorpionStingHitTick = 13; + private static int emperorScorpionStingCooldownTicks = 60; + private static int emperorScorpionPoisonTicks = 300; + private static int emperorScorpionWeaknessTicks = 120; + private static int emperorScorpionSummonIntervalTicks = 140; + private static int emperorScorpionMaxSummonedScorpions = 8; private static double scorpionHealth = 30.0D; private static double scorpionAttackDamage = 5.0D; private static double scorpionMovementSpeed = 0.29D; @@ -819,6 +824,26 @@ public final class AntarchySettings { return alphaMantisMaxMinions; } + public static double rollyPollyHealth() { + return rollyPollyHealth; + } + + public static double rollyPollyMovementSpeed() { + return rollyPollyMovementSpeed; + } + + public static double rollyPollyRollSpeedMultiplier() { + return rollyPollyRollSpeedMultiplier; + } + + public static double rollyPollyTumbleDamage() { + return rollyPollyTumbleDamage; + } + + public static int rollyPollyTameChance() { + return rollyPollyTameChance; + } + public static double waspHealth() { return waspHealth; } @@ -1247,6 +1272,26 @@ public final class AntarchySettings { alphaMantisMaxMinions = value; } + public static void setRollyPollyHealth(double value) { + rollyPollyHealth = value; + } + + public static void setRollyPollyMovementSpeed(double value) { + rollyPollyMovementSpeed = value; + } + + public static void setRollyPollyRollSpeedMultiplier(double value) { + rollyPollyRollSpeedMultiplier = value; + } + + public static void setRollyPollyTumbleDamage(double value) { + rollyPollyTumbleDamage = value; + } + + public static void setRollyPollyTameChance(int value) { + rollyPollyTameChance = value; + } + public static void setKrakenProjectileDamageTakenMultiplier(double value) { krakenProjectileDamageTakenMultiplier = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java index 3aa23a25..821c5ef7 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java @@ -90,6 +90,7 @@ public final class AntarchyTags { public static final TagKey BUTTERFLY_BREEDING_FOODS = TagKey.create(Registries.ITEM, id("butterfly_breeding_foods")); public static final TagKey REVERIE_DUPLICATION_ITEMS = TagKey.create(Registries.ITEM, id("reverie_duplication_items")); public static final TagKey HERCULES_BEETLE_FOOD = TagKey.create(Registries.ITEM, id("hercules_beetle_food")); + public static final TagKey ROLLY_POLLY_FOOD = TagKey.create(Registries.ITEM, id("rolly_polly_food")); private Items() { } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java index c1d8a5ce..c3ba81f4 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java @@ -6,6 +6,11 @@ import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; public class CloudSharkModel extends GeoModel { + public static final ResourceLocation BASE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark/cloud_shark.png"); + public static final ResourceLocation EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark/cloud_shark_emissive.png"); + @Override public ResourceLocation getModelResource(CloudSharkEntity animatable) { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/cloud_shark.geo.json"); @@ -13,7 +18,7 @@ public class CloudSharkModel extends GeoModel { @Override public ResourceLocation getTextureResource(CloudSharkEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark.png"); + return BASE_TEXTURE; } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java index 1c66b057..c7dd6671 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java @@ -7,6 +7,9 @@ import software.bernie.geckolib.model.GeoModel; public class EmperorScorpionModel extends GeoModel { + public static final ResourceLocation EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion_emissive.png"); + @Override public ResourceLocation getModelResource(EmperorScorpionEntity animatable) { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/emperor_scorpion.geo.json"); @@ -14,7 +17,7 @@ public class EmperorScorpionModel extends GeoModel { @Override public ResourceLocation getTextureResource(EmperorScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion.png"); + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion.png"); } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java new file mode 100644 index 00000000..8bbdb463 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java @@ -0,0 +1,28 @@ +package com.craisinlord.antarchy.content.client.model; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.model.GeoModel; + +public class RollyPollyModel extends GeoModel { + private static final ResourceLocation TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly.png"); + private static final ResourceLocation TEXTURE_SADDLED = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly_saddled.png"); + + @Override + public ResourceLocation getModelResource(RollyPollyEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/rolly_polly.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(RollyPollyEntity animatable) { + return animatable.hasSaddle() ? TEXTURE_SADDLED : TEXTURE; + } + + @Override + public ResourceLocation getAnimationResource(RollyPollyEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/rolly_polly.animation.json"); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java index bc99df12..ec8e9a80 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java @@ -2,8 +2,17 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.CloudSharkModel; import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class CloudSharkRenderer extends GeoEntityRenderer { private static final float SHADOW_RADIUS = 0.6F; @@ -11,5 +20,37 @@ public class CloudSharkRenderer extends GeoEntityRenderer { public CloudSharkRenderer(EntityRendererProvider.Context context) { super(context, new CloudSharkModel()); this.shadowRadius = SHADOW_RADIUS; + this.addRenderLayer(new CloudSharkEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(CloudSharkEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityCutoutNoCull(texture); + } + + private static final class CloudSharkEmissiveLayer extends GeoRenderLayer { + private CloudSharkEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, CloudSharkEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(CloudSharkModel.EMISSIVE_TEXTURE); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java index 013c777a..340a1bc4 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java @@ -2,14 +2,59 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.EmperorScorpionModel; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class EmperorScorpionRenderer extends GeoEntityRenderer { public EmperorScorpionRenderer(EntityRendererProvider.Context context) { super(context, new EmperorScorpionModel()); this.shadowRadius = 3.0F; - this.withScale(1.5F); + this.addRenderLayer(new EmperorScorpionEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(EmperorScorpionEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityCutoutNoCull(texture); + } + + @Override + protected float getDeathMaxRotation(EmperorScorpionEntity animatable) { + return 0.0F; + } + + private static final class EmperorScorpionEmissiveLayer extends GeoRenderLayer { + private EmperorScorpionEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, EmperorScorpionEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(EmperorScorpionModel.EMISSIVE_TEXTURE); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java new file mode 100644 index 00000000..ef98511f --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java @@ -0,0 +1,13 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.client.model.RollyPollyModel; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class RollyPollyRenderer extends GeoEntityRenderer { + public RollyPollyRenderer(EntityRendererProvider.Context context) { + super(context, new RollyPollyModel()); + this.shadowRadius = 0.5F; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index bed77337..8ac5a93b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -48,40 +48,50 @@ import software.bernie.geckolib.animation.RawAnimation; import software.bernie.geckolib.util.GeckoLibUtil; public class EmperorScorpionEntity extends Monster implements GeoEntity { - private static final byte CLAW_ATTACK_ANIM_EVENT = 4; + private static final byte SNAP_ATTACK_ANIM_EVENT = 4; private static final byte STING_ATTACK_ANIM_EVENT = 5; + private static final byte AGRO_ANIM_EVENT = 6; - private static final int CLAW_ATTACK_ANIM_TICKS = 12; - private static final int CLAW_ATTACK_HIT_TICK = 6; - private static final int CLAW_ATTACK_COOLDOWN_TICKS = 16; - private static final int STING_ATTACK_ANIM_TICKS = 18; - private static final int STING_ATTACK_HIT_TICK = 9; - private static final int STING_ATTACK_COOLDOWN_TICKS = 42; - private static final int POISON_DURATION_TICKS = 100; - private static final int WEAKNESS_DURATION_TICKS = 80; - private static final int SUMMON_INTERVAL_TICKS = 180; - private static final int MAX_SUMMONED_SCORPIONS = 4; + private static final int SNAP_ATTACK_ANIM_TICKS = 23; + private static final int SNAP_ATTACK_HIT_TICK = 12; + private static final int SNAP_ATTACK_COOLDOWN_TICKS = 28; + private static final int STING_ATTACK_ANIM_TICKS = 25; + private static final int STING_ATTACK_HIT_TICK = 13; + private static final int STING_ATTACK_COOLDOWN_TICKS = 60; + private static final int AGRO_ANIM_TICKS = 30; + private static final int DEATH_ANIM_TICKS = 40; + private static final float STING_DAMAGE = 18.0F; + private static final double STING_AOE_RADIUS = 5.0D; + private static final int POISON_DURATION_TICKS = 300; + private static final int WEAKNESS_DURATION_TICKS = 120; + private static final int SUMMON_INTERVAL_TICKS = 140; + private static final int MAX_SUMMONED_SCORPIONS = 8; private static final String EMPEROR_SUMMON_TAG = "antarchy_emperor_summoned"; private static final ResourceKey THORAXIS_KEY = ResourceKey.create(Registries.DIMENSION, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "thoraxis")); - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); - private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation ATTACK_ANIM = RawAnimation.begin().thenPlay("attack"); + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation SNAP_ANIM = RawAnimation.begin().thenPlay("snap"); + private static final RawAnimation STING_ANIM = RawAnimation.begin().thenPlay("sting"); + private static final RawAnimation AGRO_ANIM = RawAnimation.begin().thenPlay("agro"); + private static final RawAnimation DEATH_ANIM = RawAnimation.begin().thenPlay("death"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private final ServerBossEvent bossEvent = - new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.RED, BossEvent.BossBarOverlay.PROGRESS); + new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.PURPLE, BossEvent.BossBarOverlay.PROGRESS); private int attackAnimTicks = 0; private int attackHitTick = 0; private int attackCooldownTicks = 0; private int stingCooldownTicks = 0; + private int agroAnimTicks = 0; private int summonCooldown = 0; private boolean attackDamageApplied = false; private boolean stingAttackActive = false; + private boolean hasAgroed = false; @Nullable private LivingEntity attackTarget; public EmperorScorpionEntity(EntityType entityType, Level level) { @@ -92,12 +102,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { public static AttributeSupplier.Builder createAttributes() { return Monster.createMonsterAttributes() - .add(Attributes.MAX_HEALTH, 200.0D) + .add(Attributes.MAX_HEALTH, 400.0D) .add(Attributes.MOVEMENT_SPEED, 0.32D) - .add(Attributes.ATTACK_DAMAGE, 18.0D) - .add(Attributes.ARMOR, 6.0D) - .add(Attributes.KNOCKBACK_RESISTANCE, 0.6D) - .add(Attributes.FOLLOW_RANGE, 32.0D); + .add(Attributes.ATTACK_DAMAGE, 28.0D) + .add(Attributes.ARMOR, 25.0D) + .add(Attributes.ARMOR_TOUGHNESS, 10.0D) + .add(Attributes.KNOCKBACK_RESISTANCE, 0.8D) + .add(Attributes.FOLLOW_RANGE, 40.0D); } public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, @@ -154,10 +165,27 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { this.resetAttackState(); } } + if (this.agroAnimTicks > 0) { + this.agroAnimTicks--; + } if (this.summonCooldown > 0) { this.summonCooldown--; } + if (!this.level().isClientSide) { + if (this.getTarget() != null) { + if (!this.hasAgroed) { + this.hasAgroed = true; + this.agroAnimTicks = AGRO_ANIM_TICKS; + this.getNavigation().stop(); + this.level().broadcastEntityEvent(this, AGRO_ANIM_EVENT); + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ROAR.get(), 2.0F, 0.7F); + } + } else { + this.hasAgroed = false; + } + } + if (this.getTarget() != null && this.summonCooldown <= 0 && !this.isAttackLocked() @@ -175,7 +203,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return; } - int toSpawn = 1 + this.random.nextInt(2); + int toSpawn = 2 + this.random.nextInt(2); EntityType scorpionType = AntarchyObjects.SCORPION.get(); for (int i = 0; i < toSpawn; i++) { double offsetX = (this.random.nextDouble() - 0.5D) * 6.0D; @@ -198,10 +226,10 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { @Override public boolean doHurtTarget(Entity target) { - return this.performStingAttack(target); + return this.performSnapAttack(target); } - private boolean performClawAttack(Entity target) { + private boolean performSnapAttack(Entity target) { boolean hurt = super.doHurtTarget(target); if (hurt) { this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); @@ -210,32 +238,39 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private boolean performStingAttack(Entity target) { - boolean hurt; - if (this.level() instanceof ServerLevel serverLevel) { - hurt = target.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), - (float) this.getAttributeValue(Attributes.ATTACK_DAMAGE)); - } else { - hurt = super.doHurtTarget(target); + if (!(this.level() instanceof ServerLevel serverLevel)) { + return false; } - if (hurt && target instanceof LivingEntity living) { - int poisonDuration = this.level().getDifficulty() == Difficulty.HARD - ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; - living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 0)); - living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); + boolean hurtAny = false; + for (LivingEntity living : serverLevel.getEntitiesOfClass(LivingEntity.class, + this.getBoundingBox().inflate(STING_AOE_RADIUS), + entity -> entity != this + && entity.isAlive() + && !(entity instanceof EmperorScorpionEntity) + && !(entity instanceof ScorpionEntity))) { + if (living.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), STING_DAMAGE)) { + hurtAny = true; + int poisonDuration = this.level().getDifficulty() == Difficulty.HARD + ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; + living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); + living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); + } + } + if (hurtAny) { this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 1.0F, 0.9F + this.random.nextFloat() * 0.08F); } - return hurt; + return hurtAny; } - private void beginClawAttack(LivingEntity target) { + private void beginSnapAttack(LivingEntity target) { this.attackTarget = target; - this.attackAnimTicks = CLAW_ATTACK_ANIM_TICKS; - this.attackHitTick = CLAW_ATTACK_HIT_TICK; - this.attackCooldownTicks = CLAW_ATTACK_COOLDOWN_TICKS; + this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; + this.attackHitTick = SNAP_ATTACK_HIT_TICK; + this.attackCooldownTicks = SNAP_ATTACK_COOLDOWN_TICKS; this.attackDamageApplied = false; this.stingAttackActive = false; this.getNavigation().stop(); - this.level().broadcastEntityEvent(this, CLAW_ATTACK_ANIM_EVENT); + this.level().broadcastEntityEvent(this, SNAP_ATTACK_ANIM_EVENT); this.commitLunge(target, 0.42D, 0.10D); } @@ -259,14 +294,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } this.getLookControl().setLookAt(this.attackTarget, 30.0F, 30.0F); - if (!this.attackDamageApplied - && this.attackAnimTicks == this.attackHitTick - && this.distanceToSqr(this.attackTarget) <= this.getAttackReachSqr(this.attackTarget)) { - this.attackDamageApplied = true; + if (!this.attackDamageApplied && this.attackAnimTicks == this.attackHitTick) { if (this.stingAttackActive) { + this.attackDamageApplied = true; this.performStingAttack(this.attackTarget); - } else { - this.performClawAttack(this.attackTarget); + } else if (this.distanceToSqr(this.attackTarget) <= this.getAttackReachSqr(this.attackTarget)) { + this.attackDamageApplied = true; + this.performSnapAttack(this.attackTarget); } } @@ -306,13 +340,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private boolean isAttackLocked() { - return this.attackAnimTicks > 0; + return this.attackAnimTicks > 0 || this.agroAnimTicks > 0; } @Override public void handleEntityEvent(byte id) { - if (id == CLAW_ATTACK_ANIM_EVENT) { - this.attackAnimTicks = CLAW_ATTACK_ANIM_TICKS; + if (id == SNAP_ATTACK_ANIM_EVENT) { + this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; this.attackDamageApplied = false; this.stingAttackActive = false; return; @@ -323,6 +357,10 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { this.stingAttackActive = true; return; } + if (id == AGRO_ANIM_EVENT) { + this.agroAnimTicks = AGRO_ANIM_TICKS; + return; + } super.handleEntityEvent(id); } @@ -332,8 +370,14 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private PlayState mainController(AnimationState state) { + if (this.isDeadOrDying()) { + return state.setAndContinue(DEATH_ANIM); + } if (this.attackAnimTicks > 0) { - return state.setAndContinue(ATTACK_ANIM); + return state.setAndContinue(this.stingAttackActive ? STING_ANIM : SNAP_ANIM); + } + if (this.agroAnimTicks > 0) { + return state.setAndContinue(AGRO_ANIM); } if (state.isMoving()) { return state.setAndContinue(WALK_ANIM); @@ -341,6 +385,15 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return state.setAndContinue(IDLE_ANIM); } + @Override + protected void tickDeath() { + this.deathTime++; + if (this.deathTime >= DEATH_ANIM_TICKS && !this.level().isClientSide && !this.isRemoved()) { + this.level().broadcastEntityEvent(this, (byte) 60); + this.remove(RemovalReason.KILLED); + } + } + @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.geoCache; @@ -421,7 +474,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { if (EmperorScorpionEntity.this.shouldUseSting(enemy)) { EmperorScorpionEntity.this.beginStingAttack(enemy); } else { - EmperorScorpionEntity.this.beginClawAttack(enemy); + EmperorScorpionEntity.this.beginSnapAttack(enemy); } return; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java index 025fd490..90995178 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java @@ -71,7 +71,6 @@ public class MantisEntity extends Monster implements GeoEntity { public MantisEntity(EntityType entityType, Level level) { super(entityType, level); - this.lookControl = new SteadyLookControl(this); this.setNoGravity(false); this.setPathfindingMalus(PathType.WATER, -1.0F); this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); @@ -208,14 +207,6 @@ public class MantisEntity extends Monster implements GeoEntity { LivingEntity target = this.getTarget(); if (target != null && target.isAlive()) { this.getLookControl().setLookAt(target, 30.0F, 30.0F); - // If the target is horizontally inside our (wide) footprint, walking toward - // it only makes us pivot in place — hold position, attack reach covers it - double dx = target.getX() - this.getX(); - double dz = target.getZ() - this.getZ(); - double halfWidth = this.getBbWidth() * 0.5D; - if (!this.isFlyingNow() && dx * dx + dz * dz < halfWidth * halfWidth) { - this.getNavigation().stop(); - } } else if (this.flyBurstTicks <= 0 && this.flyCooldownTicks <= 0 && this.onGround() && this.random.nextInt(180) == 0) { this.startFlightBurst(); } @@ -330,31 +321,6 @@ public class MantisEntity extends Monster implements GeoEntity { return this.flyBurstTicks > 0; } - /** - * The mantis hitbox is several blocks wide, so a melee-range target is often - * horizontally inside the footprint. The yaw from body center to such a target - * flips wildly as the target moves past the center, which made the mantis spin - * instead of facing the player — hold the current heading in that case. - */ - private static class SteadyLookControl extends net.minecraft.world.entity.ai.control.LookControl { - SteadyLookControl(Mob mob) { - super(mob); - } - - @Override - public void tick() { - if (this.lookAtCooldown > 0) { - double dx = this.wantedX - this.mob.getX(); - double dz = this.wantedZ - this.mob.getZ(); - double halfWidth = this.mob.getBbWidth() * 0.5D; - if (dx * dx + dz * dz < halfWidth * halfWidth) { - return; - } - } - super.tick(); - } - } - private void tickDebugLog() { if (++this.debugLogTicks < 100) { return; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java new file mode 100644 index 00000000..64150d3a --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java @@ -0,0 +1,444 @@ +package com.craisinlord.antarchy.content.entity; + +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.AntarchyTags; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.MoverType; +import net.minecraft.world.entity.TamableAnimal; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; +import net.minecraft.world.entity.ai.goal.PanicGoal; +import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.TemptGoal; +import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.animation.AnimatableManager; +import software.bernie.geckolib.animation.AnimationController; +import software.bernie.geckolib.animation.AnimationState; +import software.bernie.geckolib.animation.PlayState; +import software.bernie.geckolib.animation.RawAnimation; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class RollyPollyEntity extends TamableAnimal implements GeoEntity { + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation ROLL_UP_ANIM = RawAnimation.begin().thenPlay("wheel_mode"); + private static final RawAnimation ROLLING_ANIM = RawAnimation.begin().thenLoop("roll"); + private static final RawAnimation UNROLL_ANIM = RawAnimation.begin().thenPlay("normal_mode"); + + private static final int ANIM_IDLE = 0; + private static final int ANIM_WALK = 1; + private static final int ANIM_ROLL_UP = 2; + private static final int ANIM_ROLLING = 3; + private static final int ANIM_UNROLL = 4; + + // wheel_mode is 0.75s, normal_mode is ~0.42s + private static final int ROLL_UP_TICKS = 15; + private static final int UNROLL_TICKS = 9; + private static final int DEFENSIVE_CURL_TICKS = 100; + private static final int TUMBLE_DAMAGE_INTERVAL_TICKS = 30; + + private static final EntityDataAccessor ANIMATION_STATE = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.INT); + private static final EntityDataAccessor SADDLED = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor ROLLED = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); + + private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); + + private int rollTransitionTicks; + private boolean unrolling; + private int defensiveCurlTicks; + private int tumbleTicks; + + public RollyPollyEntity(EntityType entityType, Level level) { + super(entityType, level); + } + + public static AttributeSupplier.Builder createAttributes() { + return Mob.createMobAttributes() + .add(Attributes.MAX_HEALTH, AntarchySettings.rollyPollyHealth()) + .add(Attributes.MOVEMENT_SPEED, AntarchySettings.rollyPollyMovementSpeed()) + .add(Attributes.FOLLOW_RANGE, 16.0D); + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(ANIMATION_STATE, ANIM_IDLE); + builder.define(SADDLED, false); + builder.define(ROLLED, false); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D) { + @Override + public boolean canUse() { + // Curled-up or tamed rolly pollies stand their ground + return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isTame() && super.canUse(); + } + }); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { + @Override + public boolean canUse() { + return !RollyPollyEntity.this.isRolled() && super.canUse(); + } + }); + this.goalSelector.addGoal(3, new WaterAvoidingRandomStrollGoal(this, 1.0D) { + @Override + public boolean canUse() { + return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isVehicle() && super.canUse(); + } + }); + this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(5, new RandomLookAroundGoal(this)); + } + + @Override + public boolean isFood(ItemStack stack) { + return stack.is(AntarchyTags.Items.ROLLY_POLLY_FOOD); + } + + @Override + public InteractionResult mobInteract(Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + + if (this.isFood(stack)) { + if (!this.level().isClientSide) { + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + if (!this.isTame()) { + if (this.random.nextInt(AntarchySettings.rollyPollyTameChance()) == 0) { + this.setTame(true, true); + this.setOwnerUUID(player.getUUID()); + this.stopDefensiveCurl(); + this.setTarget(null); + this.level().broadcastEntityEvent(this, (byte) 7); + } else { + this.level().broadcastEntityEvent(this, (byte) 6); + } + } else if (this.getHealth() < this.getMaxHealth()) { + this.heal(4.0F); + this.level().broadcastEntityEvent(this, (byte) 7); + } + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.isTame()) { + if (!this.hasSaddle() && stack.is(Items.SADDLE) && this.isOwnedBy(player)) { + if (!this.level().isClientSide) { + this.setSaddled(true); + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 1.2F); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.hasSaddle() && stack.isEmpty() && player.isShiftKeyDown() && this.isOwnedBy(player) && !player.isPassengerOfSameVehicle(this)) { + if (!this.level().isClientSide) { + this.setSaddled(false); + this.spawnAtLocation(new ItemStack(Items.SADDLE)); + this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 0.9F); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.hasSaddle() && stack.isEmpty() && !player.isPassengerOfSameVehicle(this)) { + if (!this.level().isClientSide) { + player.startRiding(this); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + } + + return super.mobInteract(player, hand); + } + + @Override + @Nullable + public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) { + return null; + } + + public boolean hasSaddle() { + return this.entityData.get(SADDLED); + } + + public void setSaddled(boolean saddled) { + this.entityData.set(SADDLED, saddled); + } + + public boolean isRolled() { + return this.entityData.get(ROLLED); + } + + private void setRolled(boolean rolled) { + this.entityData.set(ROLLED, rolled); + } + + /** Toggles wheel mode; called from the ridden-roll keybind payload. */ + public void handleRollToggle(ServerPlayer player) { + if (!this.isTame() || !this.hasSaddle() || this.getControllingPassenger() != player) { + return; + } + if (this.rollTransitionTicks > 0) { + return; + } + if (this.isRolled()) { + this.startUnroll(); + } else { + this.startRollUp(); + } + } + + private void startRollUp() { + this.setRolled(true); + this.unrolling = false; + this.rollTransitionTicks = ROLL_UP_TICKS; + this.setAnimationState(ANIM_ROLL_UP); + this.playSound(SoundEvents.ARMOR_EQUIP_TURTLE.value(), 0.8F, 1.4F); + } + + private void startUnroll() { + this.unrolling = true; + this.rollTransitionTicks = UNROLL_TICKS; + this.setAnimationState(ANIM_UNROLL); + this.playSound(SoundEvents.ARMOR_EQUIP_TURTLE.value(), 0.8F, 1.1F); + } + + private void stopDefensiveCurl() { + this.defensiveCurlTicks = 0; + if (this.isRolled() && !this.isVehicle()) { + this.startUnroll(); + } + } + + @Override + public boolean hurt(DamageSource source, float amount) { + if (this.isRolled()) { + amount *= 0.25F; + } + boolean hurt = super.hurt(source, amount); + // Wild rolly pollies curl up defensively when attacked + if (hurt && !this.level().isClientSide && !this.isTame() && this.isAlive() + && !this.isRolled() && this.rollTransitionTicks <= 0) { + this.defensiveCurlTicks = DEFENSIVE_CURL_TICKS; + this.startRollUp(); + } + return hurt; + } + + @Override + public void tick() { + super.tick(); + if (this.level().isClientSide) { + return; + } + + if (this.rollTransitionTicks > 0) { + this.rollTransitionTicks--; + if (this.rollTransitionTicks <= 0) { + if (this.unrolling) { + this.setRolled(false); + this.unrolling = false; + this.setAnimationState(ANIM_IDLE); + } else { + this.setAnimationState(ANIM_ROLLING); + } + } + } + + if (this.defensiveCurlTicks > 0) { + this.defensiveCurlTicks--; + this.getNavigation().stop(); + if (this.defensiveCurlTicks <= 0 && this.isRolled() && !this.isVehicle()) { + this.startUnroll(); + } + } + + this.tickTumbleDamage(); + this.updateAnimationState(); + } + + private void tickTumbleDamage() { + if (!this.isRolled() || this.rollTransitionTicks > 0 + || !(this.getControllingPassenger() instanceof Player rider)) { + this.tumbleTicks = 0; + return; + } + boolean moving = this.getDeltaMovement().horizontalDistanceSqr() > 0.003D; + boolean helmeted = !rider.getItemBySlot(EquipmentSlot.HEAD).isEmpty(); + if (!moving || helmeted) { + return; + } + if (++this.tumbleTicks >= TUMBLE_DAMAGE_INTERVAL_TICKS) { + this.tumbleTicks = 0; + rider.hurt(this.damageSources().generic(), (float) AntarchySettings.rollyPollyTumbleDamage()); + } + } + + private void updateAnimationState() { + // Roll states are driven by the transition/tick logic above + int state = this.getAnimationState(); + if (state == ANIM_ROLL_UP || state == ANIM_ROLLING || state == ANIM_UNROLL) { + return; + } + boolean moving = this.getDeltaMovement().horizontalDistanceSqr() > 1.0E-4D; + this.setAnimationState(moving ? ANIM_WALK : ANIM_IDLE); + } + + private int getAnimationState() { + return this.entityData.get(ANIMATION_STATE); + } + + private void setAnimationState(int state) { + this.entityData.set(ANIMATION_STATE, state); + } + + @Override + @Nullable + public LivingEntity getControllingPassenger() { + if (!this.isTame() || !this.hasSaddle()) { + return null; + } + Entity passenger = this.getFirstPassenger(); + return passenger instanceof LivingEntity living ? living : null; + } + + @Override + public boolean canAddPassenger(Entity passenger) { + return this.getPassengers().isEmpty(); + } + + @Override + protected void positionRider(Entity passenger, MoveFunction moveFunction) { + if (this.hasPassenger(passenger)) { + // When rolled the rider tucks into the center of the ball; otherwise sits on the shell + double yOffset = this.isRolled() ? -0.25D : 0.45D; + moveFunction.accept(passenger, this.getX(), this.getY() + yOffset, this.getZ()); + } + } + + @Override + public void travel(Vec3 travelVector) { + if (!(this.getControllingPassenger() instanceof Player rider) || !this.isVehicle()) { + if (this.defensiveCurlTicks > 0) { + super.travel(Vec3.ZERO); + return; + } + super.travel(travelVector); + return; + } + + if (this.rollTransitionTicks > 0) { + // Hold still while rolling up / unrolling + super.travel(Vec3.ZERO); + return; + } + + this.setYRot(rider.getYHeadRot()); + this.yBodyRot = this.getYRot(); + this.yHeadRot = this.getYRot(); + + float forward = rider.zza; + float strafe = rider.xxa * 0.5F; + if (forward < 0.0F) { + forward *= 0.4F; + } + if (this.isRolled()) { + // Rolling is fast but drifty + strafe *= 0.35F; + } + + double speed = this.getAttributeValue(Attributes.MOVEMENT_SPEED) + * (this.isRolled() ? AntarchySettings.rollyPollyRollSpeedMultiplier() : 1.0D); + this.setSpeed((float) speed); + + Vec3 input = new Vec3(strafe, 0.0D, forward); + Vec3 motion = new Vec3(0.0D, this.getDeltaMovement().y, 0.0D); + this.moveRelative(this.getSpeed(), input); + this.setDeltaMovement(motion.add(this.getDeltaMovement().x, 0.0D, this.getDeltaMovement().z)); + this.move(MoverType.SELF, this.getDeltaMovement()); + } + + @Override + public boolean causeFallDamage(float fallDistance, float multiplier, DamageSource damageSource) { + if (this.isRolled()) { + return false; + } + return super.causeFallDamage(fallDistance, multiplier, damageSource); + } + + @Override + protected void dropEquipment() { + super.dropEquipment(); + if (this.hasSaddle()) { + this.spawnAtLocation(new ItemStack(Items.SADDLE)); + this.setSaddled(false); + } + } + + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putBoolean("Saddled", this.hasSaddle()); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + this.setSaddled(tag.getBoolean("Saddled")); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + controllers.add(new AnimationController<>(this, "main_controller", 2, this::mainAnimController)); + } + + private PlayState mainAnimController(AnimationState state) { + return switch (this.getAnimationState()) { + case ANIM_WALK -> state.setAndContinue(WALK_ANIM); + case ANIM_ROLL_UP -> state.setAndContinue(ROLL_UP_ANIM); + case ANIM_ROLLING -> state.setAndContinue(ROLLING_ANIM); + case ANIM_UNROLL -> state.setAndContinue(UNROLL_ANIM); + default -> state.setAndContinue(IDLE_ANIM); + }; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.geoCache; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java b/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java new file mode 100644 index 00000000..ab9c97da --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java @@ -0,0 +1,20 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +/** C2S: the rider pressed the roll keybind — toggle the rolly polly's wheel mode. */ +public record RollyPollyRollPayload() implements CustomPacketPayload { + public static final Type TYPE = + new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "rolly_polly_roll")); + public static final StreamCodec STREAM_CODEC = + StreamCodec.unit(new RollyPollyRollPayload()); + + @Override + public Type type() { + return TYPE; + } +} diff --git a/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json b/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json index a71ef427..7a3524e8 100644 --- a/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json @@ -4,11 +4,6 @@ "idle": { "loop": true, "animation_length": 8, - "sound_effects": { - "0.0": { - "effect": "antarchy:cloud_shark_idle|0.55|1.0" - } - }, "bones": { "head": { "rotation": { @@ -78,7 +73,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -100,7 +95,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, 0, -37.5] }, "lerp_mode": "catmullrom" }, @@ -122,7 +117,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, 0, 37.5] }, "lerp_mode": "catmullrom" }, @@ -144,7 +139,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [-17.5, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -178,7 +173,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [-10, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -280,50 +275,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -60] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -368,94 +319,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -40] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -471,17 +334,144 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } } } }, "swim": { "loop": true, "animation_length": 4, - "sound_effects": { - "0.0": { - "effect": "antarchy:cloud_shark_fly|0.7|1.0" - } - }, "bones": { "head": { "rotation": { @@ -715,50 +705,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 67.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -82.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 67.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -55] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -803,94 +749,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -72.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 70] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -72.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 72.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -70] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 72.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -906,6 +764,138 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } } } }, @@ -1264,110 +1254,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-28.48347, 25.49671, 55.92684] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-28.48347, 25.49671, 55.92684] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-26.25382, -27.79687, -25.89482] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-26.25382, -27.79687, -25.89482] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-22.40559, 30.89218, 68.73521] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [-22.40559, 30.89218, 68.73521] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, -55] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -1472,214 +1358,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-76.5498, 41.70738, -43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-76.5498, 41.70738, -43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-78.99034, -24.59477, -57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-78.99034, -24.59477, -57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [72.25889, 53.70751, 113.03177] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [72.25889, 53.70751, 113.03177] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-76.5498, -41.70738, 43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-76.5498, -41.70738, 43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-78.99034, 24.59477, 57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-78.99034, 24.59477, 57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [72.25889, -53.70751, -113.03177] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [72.25889, -53.70751, -113.03177] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -1695,8 +1373,320 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } } } } } -} +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json index 441992c5..05be1d2a 100644 --- a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json @@ -9,19 +9,183 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" }, "2.0": { "post": { - "vector": [5, 0, 0] + "vector": [22.5, 0, 0] }, "lerp_mode": "catmullrom" }, "4.0": { "post": { - "vector": [0, 0, 0] + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15.76424, 15.58169, 6.41363] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.55159, -66.49678, 18.63503] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15.76424, -15.58169, -6.41363] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.55159, 66.49678, -18.63503] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 40, 0] }, "lerp_mode": "catmullrom" } @@ -29,6 +193,26 @@ }, "torso": { "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-14.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { "0.0": { "post": { "vector": [0, 0, 0] @@ -37,7 +221,7 @@ }, "2.0": { "post": { - "vector": [-7.5, 0, 0] + "vector": [0.01701, -1.932, -0.51681] }, "lerp_mode": "catmullrom" }, @@ -49,133 +233,29 @@ } } }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0417": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "tail": { "rotation": { "0.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.7917": { "post": { - "vector": [35, 0, 0] + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, "4.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" } @@ -184,86 +264,4328 @@ "tail2": { "rotation": { "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "4.0": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "4.0": { + "vector": [0, 2.97433, 0.39158] + } + } + } + } + }, + "snap": { + "animation_length": 1.1667, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [3.7, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [23.42856, 32.02895, 39.9583] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [21.71157, 23.54515, 36.82727] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [23.42856, 32.02895, 39.9583] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [36.336, 33.21119, 61.27705] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [27.17428, -54.73839, -13.49464] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [30.90401, -59.1128, -17.94168] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [17.57153, -29.15131, 0.47837] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-9.00519, -46.91401, 10.92044] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.1917, -22.90321, 6.52626] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-7.96435, -39.49556, 9.40333] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-0.31701, -52.5214, -0.0116] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-7.69574, -37.01886, 8.96963] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.68128, -37.43886, 12.90265] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.68128, -37.43886, 12.90265] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-0.62424, -29.93934, 12.80003] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-0.58525, -22.43976, 12.71188] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-1.00506, -57.43681, 13.33557] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-0.54094, 0.05918, 12.48792] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-8.61309, 44.44348, -10.37251] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-0.62424, 29.93934, -12.80003] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [9.19914, 3.52239, -38.53112] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [14.11306, 1.80961, -55.00433] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [14.06755, -1.76775, -41.10726] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [42.40833, -20.72687, -59.24866] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [9.19914, -3.52239, 38.53112] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [4.48533, -9.12111, 50.99268] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [14.11306, -1.80961, 55.00433] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [14.06755, 1.76775, 41.10726] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [42.40833, 20.72687, 59.24866] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 12] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 12] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, -4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "sting": { + "animation_length": 1.25, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [40.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [40.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-13.01253, -61.64994, 15.81446] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-13.01253, -61.64994, 15.81446] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.59657, -24.93963, 12.74003] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.59657, -24.93963, 12.74003] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [40.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [40.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-13.01253, 61.64994, -15.81446] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-13.01253, 61.64994, -15.81446] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.59657, 24.93963, -12.74003] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.59657, 24.93963, -12.74003] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-22.47522, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-22.47522, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [37.52478, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [37.52478, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.06748, 7.39206, 3.05824] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.06748, 7.39206, 3.05824] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [27.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [27.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.0008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [42.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.0008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [42.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [42.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [37.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [50.00154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [37.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 10.90589, -1.43579] + }, + "0.4583": { + "vector": [0, 10.90589, -1.43579] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [8.93029, -6.60604, 45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [8.93029, -6.60604, 45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 10.90589, -1.43579] + }, + "0.4583": { + "vector": [0, 10.90589, -1.43579] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [8.93029, 6.60604, -45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [8.93029, 6.60604, -45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "1.25": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "1.25": { + "vector": [0, 2.97433, 0.39158] + } + } + }, + "Emperor_scorpion": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.7083": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [0, -7, 0] + }, + "0.7917": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "0.875": { + "vector": [0, -7, 0] + }, + "0.9167": { + "vector": [0, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + }, + "tail_base": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [90, 0, 0] + }, + "0.8333": { + "vector": [90, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + } + } + }, + "death": { + "animation_length": 2, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-95, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-95, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-10.90072, -2.02429, -7.48359] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-11.0335, -1.07248, -2.57317] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-58.57884, -69.14305, 63.52353] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1.65088, -1.8911, 41.16658] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-0.58731, -2.4278, 13.42887] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0.43439, -2.462, -10.00933] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-10.90072, 2.02429, 7.48359] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-11.0335, 1.07248, 2.57317] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-58.57884, 69.14305, -63.52353] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.45814, 34.54067, -8.56333] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1.65088, 1.8911, -41.16658] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-0.58731, 2.4278, -13.42887] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0.43439, 2.462, 10.00933] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0.65263, 4.95722] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [68.67, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [73.67, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { "post": { "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "0.9167": { "post": { - "vector": [25, 0, 0] + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.5": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.96013, 14.15594, 3.28955] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [8.24992, -11.63031, 6.43] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [3.16727, -27.01074, 12.61337] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.06542, -45.90473, 19.36303] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.96013, -14.15594, -3.28955] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [8.24992, 11.63031, -6.43] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [3.16727, 27.01074, -12.61337] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.06542, 45.90473, -19.36303] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [17.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [0, -13, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "0.9167": { + "vector": [0, -8, 0] + } + } + } + } + }, + "agro": { + "animation_length": 1.5, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-93.69768, 47.44052, -2.72535] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-110, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-93.69768, -47.44052, 2.72535] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-110, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-0.44, 9.12, 4.16] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 6.26, -13.74] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [1, 5.84314, -16.90733] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [0, 6.26, -13.74] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { "post": { "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" - } - } - }, - "r_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" }, - "4.0": { + "1.5": { "post": { - "vector": [0, -22.5, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "r_leg3": { + "tail2": { "rotation": { "0.0": { "post": { - "vector": [0, 22.5, 0] + "vector": [92.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.1667": { "post": { - "vector": [0, 22.5, 0] + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [92.5, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "l_leg": { + "left_leg": { "rotation": { "0.0": { "post": { - "vector": [0, 22.5, 0] + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.3333": { "post": { - "vector": [0, 22.5, 0] + "vector": [-1.64738, 2.1728, -37.76412] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" } } }, - "l_leg3": { + "left_leg2": { "rotation": { "0.0": { "post": { - "vector": [0, -22.5, 0] + "vector": [0, 0, 90] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.3333": { "post": { - "vector": [0, -22.5, 0] + "vector": [0, 0, 52.5] }, "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [26.72762, -5.14185, -60.34804] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [23.97832, -13.07344, -43.46517] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [-4, 0.26105, 1.98289] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [43.07231, -19.03, -61.20103] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [39.26594, -26.7138, -51.59932] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [-5, 0.78316, 5.94867] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-1.64738, -2.1728, 37.76412] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [26.72762, 5.14185, 60.34804] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [23.97832, 13.07344, 43.46517] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [4, 0.26105, 1.98289] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [43.07231, 19.03, 61.20103] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [39.26594, 26.7138, 51.59932] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [5, 0.78316, 5.94867] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "0.625": { + "vector": [-7.5, 0, 0] + }, + "1.5": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "0.625": { + "vector": [0, 2.97433, 0.39158] + }, + "1.5": { + "vector": [0, 2.97433, 0.39158] + } + } + }, + "Emperor_scorpion": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.625": { + "vector": [0, 0, 0] + }, + "1.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.625": { + "vector": [0, 0, 0] + }, + "1.5": { + "vector": [0, 0, 0] } } } @@ -275,572 +4597,267 @@ "bones": { "head": { "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [17.5, 0, 0] } }, - "torso": { + "right_arm": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0.04276, 27.49038, 0.45373] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-0.15033, 44.97993, 0.86308] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0.04276, -27.49038, -0.45373] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-0.15033, -44.97993, -0.86308] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [42.5, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" }, "0.125": { "post": { - "vector": [62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] + "vector": [21.0706, 18.8197, -1.3935] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [22.5, 0, 0] + "vector": [21.0706, 18.8197, -1.3935] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [35, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" } } }, - "r_leg": { + "right_arm2": { + "rotation": { + "vector": [-87.84727, -83.85782, 92.15322] + } + }, + "right_claw": { "rotation": { "0.0": { "post": { - "vector": [25.03181, -64.37177, -18.5617] + "vector": [-2.96, -26.64, 18.35] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.0833": { "post": { - "vector": [-18.98448, 42.68932, -3.98448] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [25.03181, -64.37177, -18.5617] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [11.3148, -21.1262, 0.14658] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-27.20957, 63.66301, -22.12815] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [11.3148, -21.1262, 0.14658] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-11.3148, -21.1262, -0.14658] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [8.95013, 43.76278, 5.89364] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-11.3148, -21.1262, -0.14658] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [14.51082, 43.07952, 5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-6.1191, -21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [14.51082, 43.07952, 5.75357] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [-25.03181, -64.37177, 18.5617] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.39429, 20.39034, 3.57575] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-25.03181, -64.37177, 18.5617] - }, - "lerp_mode": "catmullrom" - } - } - }, - "scorpion_emperor": { - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] + "vector": [-2.91413, -24.7865, 18.24873] }, "lerp_mode": "catmullrom" }, "0.2083": { "post": { - "vector": [0, 0, -9] + "vector": [-2.9769, -27.2832, 18.3917] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-2.91413, -24.7865, 18.24873] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-2.9769, -27.2832, 18.3917] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] + "vector": [-2.96, -26.64, 18.35] }, "lerp_mode": "catmullrom" } } - } - } - }, - "attack": { - "animation_length": 1.0417, - "bones": { - "head": { + }, + "right_claw_open": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [21.0706, -18.8197, 1.3935] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [21.0706, -18.8197, 1.3935] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "vector": [-26.01017, 75.88812, -29.64312] + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.96, 26.64, -18.35] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-2.91413, 24.7865, -18.24873] }, "lerp_mode": "catmullrom" }, "0.2083": { "post": { - "vector": [17.5, 0, 0] + "vector": [-2.9769, 27.2832, -18.3917] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.3333": { "post": { - "vector": [17.5, 0, 0] + "vector": [-2.91413, 24.7865, -18.24873] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.4583": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-2.9769, 27.2832, -18.3917] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] + "vector": [-2.96, 26.64, -18.35] }, "lerp_mode": "catmullrom" } } }, + "left_claw_open": { + "rotation": { + "vector": [0, 40, 0] + } + }, "torso": { "rotation": { "0.0": { + "post": { + "vector": [-0.5595, 0.0244, 2.4999] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.5062, 0.0203, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.5595, 0.0244, 2.4999] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.25": { "post": { - "vector": [-20, 0, 0] + "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { + "0.375": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" - } - } - }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" }, - "0.2083": { + "0.5": { "post": { - "vector": [0.28453, -7.47189, -1.1911] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0.28453, -7.47189, -1.1911] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [3.28812, 82.43115, 5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [3.28812, 82.43115, 5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0.72824, 7.55891, -0.3803] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0.72824, 7.55891, -0.3803] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0.28453, 7.47189, 1.1911] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0.28453, 7.47189, 1.1911] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [3.28812, -82.43115, -5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [3.28812, -82.43115, -5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0.72824, -7.55891, 0.3803] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0.72824, -7.55891, 0.3803] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -22.5, 0] + "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" } @@ -850,37 +4867,31 @@ "rotation": { "0.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.125": { "post": { - "vector": [15, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.25": { "post": { - "vector": [15, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.375": { "post": { - "vector": [80, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [80, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [42.5, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -890,292 +4901,434 @@ "rotation": { "0.0": { "post": { - "vector": [35, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.125": { "post": { - "vector": [20, 0, 0] + "vector": [90, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.25": { "post": { - "vector": [20, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.375": { "post": { - "vector": [50, 0, 0] + "vector": [90, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [35, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "tail3": { + "left_leg2": { "rotation": { "0.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [0, 0, 100] }, - "0.2083": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [-25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [14.51082, -43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [14.51082, -43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.1191, 21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [-6.1191, 21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [31.99897, 63.17628, 19.99913] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [31.99897, 63.17628, 19.99913] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg2": { - "rotation": { - "0.5417": { + "0.125": { "pre": { - "vector": [6.1191, 21.69365, 1.17354] + "vector": [0, 0, 46.25] }, "post": { - "vector": [6.1191, 21.69365, 1.17354] + "vector": [0, 0, 46.25] }, "lerp_mode": "catmullrom" }, - "0.7083": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" + "0.25": { + "vector": [0, 0, 37.5] + }, + "0.5": { + "vector": [0, 0, 100] } } }, - "l_leg3": { + "left_leg": { "rotation": { "0.0": { + "vector": [-17.835, 32.8234, -50.8252] + }, + "0.0833": { + "pre": { + "vector": [-20.0712, 36.5326, -44.5604] + }, "post": { - "vector": [0, -22.5, 0] + "vector": [-20.0712, 36.5326, -44.5604] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1667": { "post": { - "vector": [-7.91848, -44.03198, 4.42617] + "vector": [-6.2969, 50.0472, -11.6665] }, "lerp_mode": "catmullrom" }, - "0.4167": { - "post": { - "vector": [-7.91848, -44.03198, 4.42617] - }, - "lerp_mode": "catmullrom" + "0.25": { + "vector": [-7.94, 50.66, -4.89] }, - "0.5417": { - "post": { - "vector": [5.68464, -0.69026, -1.16451] - }, - "lerp_mode": "catmullrom" + "0.375": { + "vector": [-17.8875, 41.7417, -27.8576] }, - "0.7083": { - "post": { - "vector": [5.68464, -0.69026, -1.16451] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" + "0.5": { + "vector": [-17.835, 32.8234, -50.8252] } } }, - "scorpion_emperor": { - "position": { + "left_leg3": { + "rotation": { "0.0": { + "vector": [-1.44, 27.42, -21.33] + }, + "0.25": { + "vector": [17.1566, 10.2095, -27.2558] + }, + "0.375": { + "pre": { + "vector": [10.79, 18.48, -35.15] + }, "post": { - "vector": [0, 0, 0] + "vector": [10.79, 18.48, -35.15] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-1.44, 27.42, -21.33] + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "vector": [0, 0, 57.5] + }, + "0.25": { + "vector": [0, 0, 67.5] + }, + "0.3333": { + "pre": { + "vector": [0, 0, 76.67] + }, + "post": { + "vector": [0, 0, 76.67] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 57.5] + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "vector": [19.53, -19.29, -27.48] + }, + "0.0833": { + "pre": { + "vector": [34.4927, -6.1161, -39.5276] + }, + "post": { + "vector": [34.4927, -6.1161, -39.5276] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [10.5576, -3.3509, -35.748] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [6.6225, -0.5857, -31.9684] + }, + "0.5": { + "vector": [19.53, -19.29, -27.48] + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "vector": [0, 0, 52.5] + }, + "0.125": { + "pre": { + "vector": [0, 0, 75.83] + }, + "post": { + "vector": [0, 0, 75.83] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 70] + }, + "0.5": { + "vector": [0, 0, 52.5] + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "vector": [49.9401, -51.5736, -59.3599] + }, + "0.0833": { + "pre": { + "vector": [46.73, -44.95, -59.15] + }, + "post": { + "vector": [46.73, -44.95, -59.15] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [44.9524, -15.2516, -64.3241] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [54.2, -15.58, -64.99] + }, + "0.5": { + "vector": [49.9401, -51.5736, -59.3599] + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "vector": [0, 0, 57.5] + }, + "0.125": { + "pre": { + "vector": [0, 0, 61.67] + }, + "post": { + "vector": [0, 0, 61.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 107.5] + }, + "0.5": { + "vector": [0, 0, 57.5] + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [-7.94, -50.66, 4.89] + }, + "0.125": { + "vector": [-17.8875, -41.7417, 27.8576] + }, + "0.25": { + "vector": [-17.835, -32.8234, 50.8252] + }, + "0.3333": { + "pre": { + "vector": [-20.0712, -36.5326, 44.5604] + }, + "post": { + "vector": [-20.0712, -36.5326, 44.5604] }, "lerp_mode": "catmullrom" }, "0.4167": { "post": { - "vector": [0, 0, 0] + "vector": [-6.2969, -50.0472, 11.6665] }, "lerp_mode": "catmullrom" }, - "0.5417": { - "post": { - "vector": [0, 0, -8] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "0.5": { + "vector": [-7.94, -50.66, 4.89] } } + }, + "right_leg2": { + "rotation": { + "0.0": { + "vector": [0, 0, -37.5] + }, + "0.25": { + "vector": [0, 0, -100] + }, + "0.375": { + "pre": { + "vector": [0, 0, -46.25] + }, + "post": { + "vector": [0, 0, -46.25] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -37.5] + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "vector": [17.1566, -10.2095, 27.2558] + }, + "0.125": { + "pre": { + "vector": [10.79, -18.48, 35.15] + }, + "post": { + "vector": [10.79, -18.48, 35.15] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [-1.44, -27.42, 21.33] + }, + "0.5": { + "vector": [17.1566, -10.2095, 27.2558] + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "vector": [0, 0, -67.5] + }, + "0.0833": { + "pre": { + "vector": [0, 0, -76.67] + }, + "post": { + "vector": [0, 0, -76.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, -57.5] + }, + "0.5": { + "vector": [0, 0, -67.5] + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "vector": [6.6225, 0.5857, 31.9684] + }, + "0.25": { + "vector": [19.53, 19.29, 27.48] + }, + "0.3333": { + "pre": { + "vector": [34.4927, 6.1161, 39.5276] + }, + "post": { + "vector": [34.4927, 6.1161, 39.5276] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [10.5576, 3.3509, 35.748] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [6.6225, 0.5857, 31.9684] + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "vector": [0, 0, -70] + }, + "0.25": { + "vector": [0, 0, -52.5] + }, + "0.375": { + "pre": { + "vector": [0, 0, -75.83] + }, + "post": { + "vector": [0, 0, -75.83] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -70] + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "vector": [54.2, 15.58, 64.99] + }, + "0.25": { + "vector": [49.9401, 51.5736, 59.3599] + }, + "0.3333": { + "pre": { + "vector": [46.73, 44.95, 59.15] + }, + "post": { + "vector": [46.73, 44.95, 59.15] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [44.9524, 15.2516, 64.3241] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [54.2, 15.58, 64.99] + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "vector": [0, 0, -107.5] + }, + "0.25": { + "vector": [0, 0, -57.5] + }, + "0.375": { + "pre": { + "vector": [0, 0, -61.67] + }, + "post": { + "vector": [0, 0, -61.67] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -107.5] + } + } + }, + "body": { + "rotation": { + "vector": [-9.98, -0.15, -0.46] + } } } } diff --git a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json index fbcdb91e..210f6cab 100644 --- a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json @@ -5,7 +5,7 @@ "loop": true, "animation_length": 4.5, "bones": { - "body": { + "torso": { "rotation": { "0.0": { "post": { @@ -125,7 +125,7 @@ } } }, - "root": { + "body": { "position": { "0.0": { "post": { @@ -273,7 +273,7 @@ "rotation": { "0.0": { "post": { - "vector": [-7.1226, -29.2189, 14.3589] + "vector": [-7.12, -29.22, 14.36] }, "lerp_mode": "catmullrom" }, @@ -707,7 +707,7 @@ } } }, - "root": { + "body": { "rotation": { "0.0": { "post": { @@ -1513,915 +1513,10 @@ } } }, - "jump": { - "animation_length": 2.5, - "bones": { - "backRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.1699, 28.0243, 22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-19.4984, 23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-19.4984, 23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "root": { - "position": { - "0.0": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -31.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 43.69, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 43.69, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.1699, -28.0243, -22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-19.4984, -23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-19.4984, -23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.1699, 28.0243, -22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [19.4984, 23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [19.4984, 23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.1699, -28.0243, 22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [19.4984, -23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [19.4984, -23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, "attack": { "animation_length": 1, "bones": { - "body": { + "torso": { "rotation": { "0.0": { "post": { @@ -2553,7 +1648,7 @@ } } }, - "root": { + "body": { "position": { "0.0": { "post": { @@ -3048,6 +2143,3648 @@ } } } + }, + "walk2": { + "loop": true, + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -5, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-2.5, 2.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 5, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-2.5, -2.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, -5, -2.5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "vector": [0.51, 55.12, 1.91] + }, + "0.0417": { + "vector": [-0.84, 56.48, -0.24] + }, + "0.0833": { + "vector": [-2.1902, 57.84, -2.3841] + }, + "0.125": { + "vector": [-5.39, 59.14, -6.72] + }, + "0.1667": { + "vector": [-7.0069, 60.4955, -9.1801] + }, + "0.2083": { + "vector": [-12.5271, 61.5058, -16.1362] + }, + "0.375": { + "pre": { + "vector": [9.8447, 60.1008, 12.6529] + }, + "post": { + "vector": [9.8447, 60.1008, 12.6529] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [15.5045, 44.0387, 23.0263] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [6.77, 46.22, 12.33] + }, + "0.75": { + "vector": [7.3232, 47.2763, 12.8944] + }, + "0.7917": { + "vector": [6.6433, 48.4639, 11.7564] + }, + "0.8333": { + "vector": [5.9013, 49.6755, 10.5073] + }, + "0.875": { + "vector": [4.56, 51.04, 8.36] + }, + "0.9167": { + "vector": [3.21, 52.4, 6.21] + }, + "0.9583": { + "vector": [1.86, 53.76, 4.06] + }, + "1.0": { + "vector": [0.51, 55.12, 1.91] + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, 41.88] + }, + "0.2083": { + "vector": [0, 0, 70] + }, + "0.375": { + "pre": { + "vector": [0, 0, 57.5] + }, + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 2.5] + }, + "1.0": { + "vector": [0, 0, 41.88] + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -25.83] + }, + "0.2083": { + "vector": [0, 0, -55] + }, + "0.375": { + "pre": { + "vector": [0, 0, -47.5] + }, + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -1.26] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 18.59] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 15] + }, + "1.0": { + "vector": [0, 0, -25.83] + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 25.42] + }, + "0.2083": { + "vector": [0, 0, 40] + }, + "0.375": { + "pre": { + "vector": [0, 0, 28.34] + }, + "post": { + "vector": [0, 0, 28.34] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, -18.33] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 5] + }, + "1.0": { + "vector": [0, 0, 25.42] + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "vector": [0, -26, 0] + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [15.08, -49.85, -21.28] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [15.5045, -44.0387, -23.0263] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [6.77, -46.22, -12.33] + }, + "0.25": { + "vector": [7.3232, -47.2763, -12.8944] + }, + "0.2917": { + "vector": [6.6433, -48.4639, -11.7564] + }, + "0.3333": { + "vector": [5.9013, -49.6755, -10.5073] + }, + "0.375": { + "vector": [4.56, -51.04, -8.36] + }, + "0.4167": { + "vector": [3.21, -52.4, -6.21] + }, + "0.4583": { + "vector": [1.86, -53.76, -4.06] + }, + "0.5": { + "vector": [0.51, -55.12, -1.91] + }, + "0.5417": { + "vector": [-0.84, -56.48, 0.24] + }, + "0.5833": { + "vector": [-2.1902, -57.84, 2.3841] + }, + "0.625": { + "vector": [-5.39, -59.14, 6.72] + }, + "0.6667": { + "vector": [-7.0069, -60.4955, 9.1801] + }, + "0.7083": { + "vector": [-12.5271, -61.5058, 16.1362] + }, + "0.875": { + "pre": { + "vector": [9.8447, -60.1008, -12.6529] + }, + "post": { + "vector": [9.8447, -60.1008, -12.6529] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.08, -49.85, -21.28] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -19.88] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -2.5] + }, + "0.5": { + "vector": [0, 0, -41.88] + }, + "0.7083": { + "vector": [0, 0, -70] + }, + "0.875": { + "pre": { + "vector": [0, 0, -57.5] + }, + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -19.88] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 1.26] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -6.09] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -18.59] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -15] + }, + "0.5": { + "vector": [0, 0, 25.83] + }, + "0.7083": { + "vector": [0, 0, 55] + }, + "0.875": { + "pre": { + "vector": [0, 0, 47.5] + }, + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 1.26] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10.76] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 18.33] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -5] + }, + "0.5": { + "vector": [0, 0, -25.42] + }, + "0.7083": { + "vector": [0, 0, -40] + }, + "0.875": { + "pre": { + "vector": [0, 0, -28.34] + }, + "post": { + "vector": [0, 0, -28.34] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 10.76] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "vector": [-6.77, 38.72, -12.33] + }, + "0.1667": { + "pre": { + "vector": [-17.3164, 41.1079, -35.1114] + }, + "post": { + "vector": [-17.3164, 41.1079, -35.1114] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-27.6005, 58.8053, -33.9605] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-6.77, 63.72, -12.33] + }, + "0.625": { + "vector": [-6.77, 59.35, -12.33] + }, + "0.75": { + "vector": [-6.77, 54.97, -12.33] + }, + "0.875": { + "vector": [-6.77, 49.35, -12.33] + }, + "1.0": { + "vector": [-6.77, 38.72, -12.33] + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, -10] + }, + "0.1667": { + "pre": { + "vector": [0, 0, -0.83] + }, + "post": { + "vector": [0, 0, -0.83] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -53] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -50] + }, + "1.0": { + "vector": [0, 0, -10] + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -12.5] + }, + "0.2083": { + "pre": { + "vector": [0, 0, -13.33] + }, + "post": { + "vector": [0, 0, -13.33] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.87] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 40] + }, + "0.75": { + "vector": [0, 0, 11.25] + }, + "1.0": { + "vector": [0, 0, -12.5] + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 17.5] + }, + "0.1667": { + "pre": { + "vector": [0, 0, 30.83] + }, + "post": { + "vector": [0, 0, 30.83] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.77] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -17.5] + }, + "1.0": { + "vector": [0, 0, 17.5] + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "vector": [-6.77, -63.72, 12.33] + }, + "0.125": { + "vector": [-6.77, -59.35, 12.33] + }, + "0.25": { + "vector": [-6.77, -54.97, 12.33] + }, + "0.375": { + "vector": [-6.77, -49.35, 12.33] + }, + "0.5": { + "vector": [-6.77, -38.72, 12.33] + }, + "0.6667": { + "pre": { + "vector": [-17.3164, -41.1079, 35.1114] + }, + "post": { + "vector": [-17.3164, -41.1079, 35.1114] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-27.6005, -58.8053, 33.9605] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [-6.7675, -63.7224, 12.3301] + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, 50] + }, + "0.5": { + "vector": [0, 0, 10] + }, + "0.6667": { + "pre": { + "vector": [0, 0, 0.83] + }, + "post": { + "vector": [0, 0, 0.83] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 53] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 50] + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -40] + }, + "0.25": { + "vector": [0, 0, -11.25] + }, + "0.5": { + "vector": [0, 0, 12.5] + }, + "0.7083": { + "pre": { + "vector": [0, 0, 13.33] + }, + "post": { + "vector": [0, 0, 13.33] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -42.87] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, -40] + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 17.5] + }, + "0.5": { + "vector": [0, 0, -17.5] + }, + "0.6667": { + "pre": { + "vector": [0, 0, -30.83] + }, + "post": { + "vector": [0, 0, -30.83] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 12.77] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 17.5] + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "vector": [0, 60, 0] + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "vector": [0, -60, 0] + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walktest": { + "loop": true, + "bones": { + "root": { + "position": { + "vector": [0, 0, "-q.anim_time*90*1.1"] + } + } + } + }, + "jump_start": { + "animation_length": 0.5, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-5.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [4.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [7.12, 29.22, 14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.12, 19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [22.12, 19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -10, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 62.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, -27.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -43.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -44.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -42.28, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, -36.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -17.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 33.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [7.12, -29.22, -14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.12, -19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [22.12, -19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 10, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.12, 29.22, -14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-22.12, 19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-22.12, 19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 10, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.12, -29.22, 14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-22.12, -19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-22.12, -19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -10, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -62.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [50, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [57.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [50, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [57.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "jump_loop": { + "loop": true, + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, -9.17] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 30, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 30, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 30, -9.17] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 16.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 16.67] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "pre": { + "vector": [-2.5, -2.5, -5] + }, + "post": { + "vector": [-2.5, -2.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, 2.5, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, 5, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 46.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 50.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -30, 9.17] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -30, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -5.94] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -16.67] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -5.94] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 52.34] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 52.34] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -30.31] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -30.31] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 8.61] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 30, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 30, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 30, 8.61] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, -20.09] + }, + "0.0833": { + "vector": [0, 0, -22.5] + }, + "0.1667": { + "vector": [0, 0, -19.17] + }, + "0.5833": { + "pre": { + "vector": [0, 0, -2.5] + }, + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, -20.09] + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 50.83] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 43.06] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 36.88] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 50.83] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -45.16] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -51.53] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -45.16] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -30, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 19.17] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "vector": [0, 0, 22.5] + }, + "1.0": { + "vector": [0, 0, 19.17] + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -43.06] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -36.88] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -43.06] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 51.53] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 51.53] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "jump_end": { + "animation_length": 0.625, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-15.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [6.54, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0.28, 17.47, -16.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.72, 22.56, 6.64] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [7.1226, 29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 29.62] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 15, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 14.46, 12.92] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -4.94, -10.51] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 2.79, -27.37] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -9.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, -20.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, -27.05, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -31.72, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -30.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0.28, -17.47, 16.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.72, -22.56, -6.64] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [7.1226, -29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -29.62] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -15, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -14.46, -12.92] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 4.94, 10.51] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -2.79, 27.37] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [10, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-12.5, 30, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -14.69] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [10, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-12.5, -30, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.1226, -29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 14.69] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-22.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [27.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [9.37, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-22.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [27.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [9.37, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "hanging": { + "loop": true, + "animation_length": 2, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-6.88, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-6.88, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "vector": [35, 30, 57.5] + } + }, + "backRightKnee": { + "rotation": { + "vector": [0, 0, 12.5] + } + }, + "backRightLeg": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "backRightFoot": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 31.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 35, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 31.25, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "vector": [0, -49, 0] + } + }, + "backLeftThigh": { + "rotation": { + "vector": [35, -30, -57.5] + } + }, + "backLeftKnee": { + "rotation": { + "vector": [0, 0, -12.5] + } + }, + "backLeftLeg": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "backLeftFoot": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontLeftThigh": { + "rotation": { + "vector": [-35, 30, -57.5] + } + }, + "frontLeftKnee": { + "rotation": { + "vector": [0, 0, -12.5] + } + }, + "frontLeftLeg": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "frontLeftFoot": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontRightThigh": { + "rotation": { + "vector": [-35, -30, 57.5] + } + }, + "frontRightKnee": { + "rotation": { + "vector": [0, 0, 12.5] + } + }, + "frontRightLeg": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontRightFoot": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -31.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -35, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -31.25, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 57.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 50, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 57.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [7.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "vector": [-42.5, 0, 0] + }, + "2.0": { + "vector": [-50, 0, 0] + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [59.37, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.875": { + "vector": [60, 0, 0] + }, + "2.0": { + "vector": [59.37, 0, 0] + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -57.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -50, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -57.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [7.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "vector": [-42.5, 0, 0] + }, + "2.0": { + "vector": [-50, 0, 0] + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [59.37, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.875": { + "vector": [60, 0, 0] + }, + "2.0": { + "vector": [59.37, 0, 0] + } + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/rolly_polly.animation.json similarity index 100% rename from common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json rename to common/src/main/resources/assets/antarchy/animations/rolly_polly.animation.json diff --git a/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json b/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json index 0cf8dbed..aa4ba54b 100644 --- a/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json @@ -7,8 +7,8 @@ "texture_width": 128, "texture_height": 128, "visible_bounds_width": 6, - "visible_bounds_height": 3.5, - "visible_bounds_offset": [0, 1.25, 0] + "visible_bounds_height": 5, + "visible_bounds_offset": [0, 1.5, 0] }, "bones": [ { @@ -22,7 +22,6 @@ "cubes": [ {"origin": [-6.5, 3, -22], "size": [13, 13, 25], "inflate": 0.01, "uv": [0, 0]}, {"origin": [-1, 16, -12], "size": [2, 5, 9], "inflate": 0.01, "uv": [0, 0]}, - {"origin": [-1, 24, -9], "size": [2, 3, 16], "inflate": 0.1, "uv": [0, 99]}, {"origin": [-1, 21, -9], "size": [2, 7, 6], "inflate": 0.01, "uv": [51, 0]} ] }, @@ -57,36 +56,68 @@ {"origin": [-4.5, 10, -49], "size": [9, 6, 8], "uv": [63, 85]} ] }, - { - "name": "right_wing", - "parent": "head", - "pivot": [-8, 16, -27.5], - "cubes": [ - {"origin": [-22, 16, -33], "size": [14, 0, 11], "uv": [40, 105]} - ] - }, - { - "name": "right_wing2", - "parent": "right_wing", - "pivot": [-22, 16, -27.5], - "cubes": [ - {"origin": [-36, 16, -33], "size": [14, 0, 11], "uv": [89, 51]} - ] - }, { "name": "left_wing", "parent": "head", "pivot": [8, 16, -27.5], "cubes": [ - {"origin": [8, 16, -33], "size": [14, 0, 11], "uv": [40, 105], "mirror": true} + {"origin": [8, 16, -33], "size": [16, 0, 15], "uv": [48, 99], "mirror": true} ] }, { "name": "left_wing2", "parent": "left_wing", - "pivot": [22, 16, -27.5], + "pivot": [24, 16, -27.5], "cubes": [ - {"origin": [22, 16, -33], "size": [14, 0, 11], "uv": [89, 51], "mirror": true} + {"origin": [24, 16, -35], "size": [16, 0, 17], "uv": [-17, 105], "mirror": true} + ] + }, + { + "name": "left_wing_back", + "parent": "head", + "pivot": [8, 16, -2.5], + "cubes": [ + {"origin": [8, 16, -8], "size": [16, 0, 15], "uv": [48, 99], "mirror": true} + ] + }, + { + "name": "left_wing_back2", + "parent": "left_wing_back", + "pivot": [24, 16, -2.5], + "cubes": [ + {"origin": [24, 16, -10], "size": [16, 0, 17], "uv": [-17, 105], "mirror": true} + ] + }, + { + "name": "right_wing_back", + "parent": "head", + "pivot": [-8, 16, -2.5], + "cubes": [ + {"origin": [-24, 16, -8], "size": [16, 0, 15], "uv": [48, 99]} + ] + }, + { + "name": "right_wing_back2", + "parent": "right_wing_back", + "pivot": [-24, 16, -2.5], + "cubes": [ + {"origin": [-40, 16, -10], "size": [16, 0, 17], "uv": [-17, 105]} + ] + }, + { + "name": "right_wing", + "parent": "head", + "pivot": [-8, 16, -27.5], + "cubes": [ + {"origin": [-24, 16, -33], "size": [16, 0, 15], "uv": [48, 99]} + ] + }, + { + "name": "right_wing2", + "parent": "right_wing", + "pivot": [-24, 16, -27.5], + "cubes": [ + {"origin": [-40, 16, -35], "size": [16, 0, 17], "uv": [-17, 105]} ] }, { @@ -94,7 +125,10 @@ "parent": "head", "pivot": [0, 17.5, -37], "cubes": [ - {"origin": [-4, 17, -41], "size": [8, 1, 8], "uv": [96, 108]} + {"origin": [-4, 17, -41], "size": [1, 2, 8], "uv": [32, 105]}, + {"origin": [-3, 17, -41], "size": [6, 2, 1], "uv": [42, 105]}, + {"origin": [-3, 17, -34], "size": [6, 2, 1], "uv": [42, 115]}, + {"origin": [3, 17, -41], "size": [1, 2, 8], "uv": [32, 115]} ] }, { @@ -130,38 +164,6 @@ {"origin": [4.5, 4, -17], "size": [12, 3, 10], "inflate": 0.01, "uv": [0, 65], "mirror": true}, {"origin": [16.5, 4, -14], "size": [7, 3, 7], "inflate": 0.01, "uv": [90, 73], "mirror": true} ] - }, - { - "name": "right_wing3", - "parent": "torso", - "pivot": [-9, 16, 1.5], - "cubes": [ - {"origin": [-23, 16, -4], "size": [14, 0, 11], "uv": [40, 105]} - ] - }, - { - "name": "right_wing4", - "parent": "right_wing3", - "pivot": [-23, 16, 1.5], - "cubes": [ - {"origin": [-37, 16, -4], "size": [14, 0, 11], "uv": [89, 51]} - ] - }, - { - "name": "left_wing3", - "parent": "torso", - "pivot": [9, 16, 1.5], - "cubes": [ - {"origin": [9, 16, -4], "size": [14, 0, 11], "uv": [40, 105], "mirror": true} - ] - }, - { - "name": "left_wing4", - "parent": "left_wing3", - "pivot": [23, 16, 1.5], - "cubes": [ - {"origin": [23, 16, -4], "size": [14, 0, 11], "uv": [89, 51], "mirror": true} - ] } ] } diff --git a/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json b/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json index ae4455fb..f66614f9 100644 --- a/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json @@ -5,163 +5,283 @@ "description": { "identifier": "geometry.unknown", "texture_width": 128, - "texture_height": 128, - "visible_bounds_width": 12, + "texture_height": 256, + "visible_bounds_width": 15, "visible_bounds_height": 4.5, "visible_bounds_offset": [0, 1.75, 0] }, "bones": [ { - "name": "scorpion_emperor", - "pivot": [0, 6.85714, 5.25] + "name": "Emperor_scorpion", + "pivot": [0, 8, 3] }, { - "name": "l_leg3", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, 14.5], - "rotation": [0, 0, 15], + "name": "body", + "parent": "Emperor_scorpion", + "pivot": [0, 13.77778, 4.77778] + }, + { + "name": "right_leg3", + "parent": "body", + "pivot": [-16, 14.5, 1.5], "cubes": [ - {"origin": [9.5, 5, 12], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [-48, 13, -2], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} ] }, { - "name": "r_leg3", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, 14.5], - "rotation": [0, 0, -15], + "name": "right_leg4", + "parent": "right_leg3", + "pivot": [-48, 16, 1.5], "cubes": [ - {"origin": [-30.5, 5, 12], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [-80, 13, -2], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, -3], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { - "name": "l_leg2", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, 4.5], - "rotation": [0, 0, 15], + "name": "right_leg", + "parent": "body", + "pivot": [-16, 14.5, -5.5], "cubes": [ - {"origin": [9.5, 5, 2], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [-48, 13, -9], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} ] }, { - "name": "r_leg2", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, 4.5], - "rotation": [0, 0, -15], + "name": "right_leg2", + "parent": "right_leg", + "pivot": [-48, 16, -5.5], "cubes": [ - {"origin": [-30.5, 5, 2], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [-80, 13, -9], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, -10], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { - "name": "l_leg", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, -4.5], - "rotation": [0, 0, 15], + "name": "left_leg", + "parent": "body", + "pivot": [16, 14.5, -5.5], "cubes": [ - {"origin": [9.5, 5, -7], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [16, 13, -9], "size": [32, 3, 7], "uv": [44, 214]} ] }, { - "name": "r_leg", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, -4.5], - "rotation": [0, 0, -15], + "name": "left_leg2", + "parent": "left_leg", + "pivot": [48, 16, -5.5], "cubes": [ - {"origin": [-30.5, 5, -7], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [48, 13, -9], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, -10], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "left_leg3", + "parent": "body", + "pivot": [16, 14.5, 1.5], + "cubes": [ + {"origin": [16, 13, -2], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg4", + "parent": "left_leg3", + "pivot": [48, 16, 1.5], + "cubes": [ + {"origin": [48, 13, -2], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, -3], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "left_leg_back", + "parent": "body", + "pivot": [16, 14.5, 8.5], + "cubes": [ + {"origin": [16, 13, 5], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg_back2", + "parent": "left_leg_back", + "pivot": [48, 16, 8.5], + "cubes": [ + {"origin": [48, 13, 5], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, 4], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "right_leg_back", + "parent": "body", + "pivot": [-16, 14.5, 8.5], + "cubes": [ + {"origin": [-48, 13, 5], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} + ] + }, + { + "name": "right_leg_back2", + "parent": "right_leg_back", + "pivot": [-48, 16, 8.5], + "cubes": [ + {"origin": [-80, 13, 5], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, 4], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} + ] + }, + { + "name": "left_leg_back3", + "parent": "body", + "pivot": [16, 14.5, 15.5], + "cubes": [ + {"origin": [16, 13, 12], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg_back4", + "parent": "left_leg_back3", + "pivot": [48, 16, 15.5], + "cubes": [ + {"origin": [48, 13, 12], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, 11], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "right_leg_back3", + "parent": "body", + "pivot": [-16, 14.5, 15.5], + "cubes": [ + {"origin": [-48, 13, 12], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} + ] + }, + { + "name": "right_leg_back4", + "parent": "right_leg_back3", + "pivot": [-48, 16, 15.5], + "cubes": [ + {"origin": [-80, 13, 12], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, 11], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { "name": "torso", - "parent": "scorpion_emperor", - "pivot": [0, 9, 7.75], + "parent": "body", + "pivot": [0, 8, 3], "cubes": [ - {"origin": [-10.5, 5, -10], "size": [21, 8, 27], "uv": [0, 0]}, - {"origin": [-8, 5, 17], "size": [16, 8, 11], "uv": [73, 109]}, - {"origin": [-9.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-4.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [0.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [5.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [5.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [0.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [-4.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-9.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-9.5, 12.5, -4], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [5.5, 12.5, -4], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [6.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [1.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [-4.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-10.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21]} + {"origin": [-16, 8, -13], "size": [32, 11, 32], "uv": [0, 100]} + ] + }, + { + "name": "tail_base", + "parent": "torso", + "pivot": [0, 14.5, 18.25], + "cubes": [ + {"origin": [-12, 8, 19], "size": [24, 11, 19], "uv": [0, 143]} ] }, { "name": "tail", - "parent": "torso", - "pivot": [0, 7.00833, 27.99167], + "parent": "tail_base", + "pivot": [0, 15.5, 38], "cubes": [ - {"origin": [-4, 7, 28], "size": [8, 6, 13], "inflate": 0.1, "uv": [0, 92]} + {"origin": [-6.5, 12, 38], "size": [13, 7, 25], "uv": [0, 173]} ] }, { "name": "tail2", "parent": "tail", - "pivot": [0, 7, 41], + "pivot": [0, 15.5, 63], "cubes": [ - {"origin": [-4, 7, 41], "size": [8, 6, 13], "uv": [42, 92]} - ] - }, - { - "name": "tail3", - "parent": "tail2", - "pivot": [0, 7, 54], - "cubes": [ - {"origin": [-6.5, 7, 54], "size": [13, 11, 11], "uv": [62, 62]}, - {"origin": [-2.5, 18, 56], "size": [5, 17, 7], "uv": [84, 84]}, - {"origin": [0, 35, 56], "size": [0, 17, 7], "uv": [52, 104]}, - {"origin": [0, 4, 70], "size": [0, 17, 7], "pivot": [0, 12.5, 73.5], "rotation": [-90, 0, 0], "uv": [52, 104]}, - {"origin": [0, 24, 49], "size": [0, 17, 7], "pivot": [0, 32.5, 52.5], "rotation": [45, 0, 0], "uv": [52, 104]} + {"origin": [-5.5, 12, 97], "size": [11, 22, 11], "uv": [0, 205]}, + {"origin": [0, 34, 100], "size": [0, 15, 8], "uv": [51, 165]}, + {"origin": [-4.5, 12, 63], "size": [9, 7, 34], "uv": [42, 173]} ] }, { "name": "head", "parent": "torso", - "pivot": [0, 9, -8], + "pivot": [0, 13.5, -13], "cubes": [ - {"origin": [-13.5, 4, -25], "size": [27, 10, 17], "uv": [0, 35]}, - {"origin": [-5, 1, -27], "size": [2, 8, 3], "uv": [0, 62]}, - {"origin": [3, 1, -27], "size": [2, 8, 3], "uv": [0, 62], "mirror": true} + {"origin": [-14, 8, -35], "size": [28, 11, 22], "uv": [0, 0]} ] }, { - "name": "r_claw", + "name": "right_mandibule", "parent": "head", - "pivot": [-12.5, 8, -16], + "pivot": [-9.13234, 15.5, -35.71164], "cubes": [ - {"origin": [-18.5, 3, -28], "size": [6, 10, 17], "uv": [69, 0]} + {"origin": [-8, 5, -37], "size": [7, 13, 8], "pivot": [0, 13.5, -46], "rotation": [0, -22.5, 0], "uv": [54, 79]} ] }, { - "name": "r_claw2", - "parent": "r_claw", - "pivot": [-15.25, 8, -11], - "cubes": [ - {"origin": [-26.5, 3, -31], "size": [11, 10, 20], "inflate": 0.1, "uv": [0, 62]}, - {"origin": [-35.5, 8, -31], "size": [9, 0, 19], "uv": [25, 63]} - ] - }, - { - "name": "l_claw", + "name": "left_mandibule", "parent": "head", - "pivot": [12.5, 8, -16], + "pivot": [9.13234, 15.5, -35.71164], "cubes": [ - {"origin": [12.5, 3, -28], "size": [6, 10, 17], "uv": [69, 0], "mirror": true} + {"origin": [1, 5, -37], "size": [7, 13, 8], "pivot": [0, 13.5, -46], "rotation": [0, 22.5, 0], "uv": [0, 81]} ] }, { - "name": "l_claw2", - "parent": "l_claw", - "pivot": [15.25, 8, -11], + "name": "right_arm", + "parent": "head", + "pivot": [-10, 13, -21], "cubes": [ - {"origin": [26.5, 8, -31], "size": [9, 0, 19], "uv": [25, 63], "mirror": true}, - {"origin": [15.5, 3, -31], "size": [11, 10, 20], "inflate": 0.1, "uv": [0, 62], "mirror": true} + {"origin": [-28, 11, -25], "size": [18, 4, 7], "uv": [64, 44]} + ] + }, + { + "name": "right_arm2", + "parent": "right_arm", + "pivot": [-28, 13, -18], + "cubes": [ + {"origin": [-46, 11, -25], "size": [18, 4, 7], "uv": [64, 33]} + ] + }, + { + "name": "right_claw", + "parent": "right_arm2", + "pivot": [-44, 13, -21], + "cubes": [ + {"origin": [-57, 9, -27], "size": [13, 8, 11], "uv": [54, 60]}, + {"origin": [-67, 10, -29], "size": [12, 6, 15], "uv": [0, 60]}, + {"origin": [-91, 10, -22], "size": [24, 6, 8], "uv": [0, 33]}, + {"origin": [-91, 10, -29], "size": [8, 6, 7], "uv": [84, 79]} + ] + }, + { + "name": "right_claw_open", + "parent": "right_claw", + "pivot": [-58.5, 13, -22.5], + "cubes": [ + {"origin": [-83, 10, -30], "size": [25, 6, 7], "inflate": -0.1, "uv": [0, 47]} + ] + }, + { + "name": "left_arm", + "parent": "head", + "pivot": [10, 13, -21], + "cubes": [ + {"origin": [10, 11, -25], "size": [18, 4, 7], "uv": [64, 44], "mirror": true} + ] + }, + { + "name": "left_arm2", + "parent": "left_arm", + "pivot": [28, 13, -18], + "cubes": [ + {"origin": [28, 11, -25], "size": [18, 4, 7], "uv": [64, 33], "mirror": true} + ] + }, + { + "name": "left_claw", + "parent": "left_arm2", + "pivot": [44, 13, -21], + "cubes": [ + {"origin": [44, 9, -27], "size": [13, 8, 11], "uv": [54, 60], "mirror": true}, + {"origin": [55, 10, -29], "size": [12, 6, 15], "uv": [0, 60], "mirror": true}, + {"origin": [67, 10, -22], "size": [24, 6, 8], "uv": [0, 33], "mirror": true}, + {"origin": [83, 10, -29], "size": [8, 6, 7], "uv": [84, 79], "mirror": true} + ] + }, + { + "name": "left_claw_open", + "parent": "left_claw", + "pivot": [58.5, 13, -22.5], + "cubes": [ + {"origin": [58, 10, -30], "size": [25, 6, 7], "inflate": -0.1, "uv": [0, 47], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json b/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json index eb31a76b..b7ce482a 100644 --- a/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json @@ -38,7 +38,7 @@ "parent": "squirrel", "pivot": [0, 4, 2], "cubes": [ - {"origin": [0, 8.5, -6], "size": [0, 3, 11], "uv": [42, 50]} + {"origin": [0, 8.5, -6], "size": [0, 3, 11], "uv": [23, 30]} ] }, { @@ -46,7 +46,8 @@ "parent": "body", "pivot": [0, 6, -0.5], "cubes": [ - {"origin": [-3, 3.5, -6], "size": [6, 5, 11], "uv": [0, 0]} + {"origin": [-3, 3.5, -6], "size": [6, 5, 11], "uv": [0, 0]}, + {"origin": [-3, 5.5, -6], "size": [6, 3, 11], "inflate": 0.2, "uv": [0, 41]} ] }, { @@ -54,7 +55,8 @@ "parent": "body", "pivot": [0, 7.33333, -5.91667], "cubes": [ - {"origin": [-2, 5.5, -11], "size": [4, 4, 5], "uv": [17, 17]} + {"origin": [-2, 4.5, -11], "size": [4, 5, 5], "uv": [17, 17]}, + {"origin": [-1, 3.75, -11.075], "size": [2, 2, 0], "uv": [25, 1]} ] }, { @@ -62,7 +64,7 @@ "parent": "head", "pivot": [2.5, 6, -8.5], "cubes": [ - {"origin": [2, 5.5, -10], "size": [1, 1, 3], "uv": [19, 19], "mirror": true} + {"origin": [2, 4.5, -9], "size": [1, 2, 2], "uv": [30, 18], "mirror": true} ] }, { @@ -70,7 +72,7 @@ "parent": "head", "pivot": [-2.5, 6, -8.5], "cubes": [ - {"origin": [-3, 5.5, -10], "size": [1, 1, 3], "uv": [19, 19]} + {"origin": [-3, 4.5, -9], "size": [1, 2, 2], "uv": [16, 18]} ] }, { @@ -78,7 +80,7 @@ "parent": "head", "pivot": [1, 9.5, -6.5], "cubes": [ - {"origin": [1, 9.5, -7], "size": [2, 2, 1], "uv": [35, 12]} + {"origin": [1, 9.5, -7], "size": [2, 2, 0], "uv": [36, 13]} ] }, { @@ -86,7 +88,7 @@ "parent": "head", "pivot": [-1, 9.5, -6.5], "cubes": [ - {"origin": [-3, 9.5, -7], "size": [2, 2, 1], "uv": [35, 12], "mirror": true} + {"origin": [-3, 9.5, -7], "size": [2, 2, 0], "uv": [36, 13], "mirror": true} ] }, { @@ -94,9 +96,9 @@ "parent": "body", "pivot": [0, 6, 5], "cubes": [ - {"origin": [-1.5, 5, 5], "size": [3, 11, 3], "uv": [17, 27]}, + {"origin": [-1.5, 5, 5], "size": [3, 11, 3], "uv": [14, 27]}, {"origin": [-1.5, 9, 8], "size": [3, 7, 5], "uv": [0, 17]}, - {"origin": [0, 9, 13], "size": [0, 7, 2], "uv": [60, 18]} + {"origin": [0, 9, 13], "size": [0, 7, 2], "uv": [0, 0]} ] }, { @@ -112,7 +114,7 @@ "parent": "left_arm", "pivot": [3, 5, -1], "cubes": [ - {"origin": [3, 0, -3.5], "size": [0, 5, 5], "uv": [30, 27]} + {"origin": [3, 0, -3.5], "size": [0, 5, 5], "inflate": 0.01, "uv": [26, 22]} ] }, { @@ -128,7 +130,7 @@ "parent": "right_arm", "pivot": [-3, 5, -1], "cubes": [ - {"origin": [-3, 0, -3.5], "size": [0, 5, 5], "uv": [30, 27], "mirror": true} + {"origin": [-3, 0, -3.5], "size": [0, 5, 5], "inflate": 0.01, "uv": [26, 22], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json index 21509feb..f6a76b20 100644 --- a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json @@ -18,7 +18,12 @@ { "name": "body", "parent": "root", - "pivot": [0, 65, 0], + "pivot": [0, 69, 0] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 61, 0], "cubes": [ {"origin": [-10, 65, -18], "size": [20, 32, 36], "uv": [0, 164]}, {"origin": [-12, 97, -46], "size": [24, 12, 80], "uv": [0, 0]}, @@ -36,7 +41,7 @@ }, { "name": "right_eye", - "parent": "body", + "parent": "torso", "pivot": [-18.32132, 90.25, -12.53553], "cubes": [ {"origin": [-22.7, 83.25, -17], "size": [5, 14, 14], "pivot": [-16.2, 90.25, -9], "rotation": [0, -45, 0], "uv": [0, 0]} @@ -44,7 +49,7 @@ }, { "name": "left_eye", - "parent": "body", + "parent": "torso", "pivot": [18.32132, 90.25, -12.53553], "cubes": [ {"origin": [17.7, 83.25, -17], "size": [5, 14, 14], "pivot": [16.2, 90.25, -9], "rotation": [0, 45, 0], "uv": [0, 0], "mirror": true} @@ -52,7 +57,7 @@ }, { "name": "rightGrip", - "parent": "body", + "parent": "torso", "pivot": [-18, 78, -16], "cubes": [ {"origin": [-22, 76, -28], "size": [8, 4, 12], "uv": [268, 268]} @@ -60,7 +65,7 @@ }, { "name": "leftGrip", - "parent": "body", + "parent": "torso", "pivot": [18, 78, -16], "cubes": [ {"origin": [14, 76, -28], "size": [8, 4, 12], "uv": [268, 268], "mirror": true} @@ -68,7 +73,7 @@ }, { "name": "rightAntenna", - "parent": "body", + "parent": "torso", "pivot": [-10, 95, 14], "cubes": [ {"origin": [-42, 93, 14], "size": [32, 4, 4], "uv": [208, 77]} @@ -76,7 +81,7 @@ }, { "name": "leftAntenna", - "parent": "body", + "parent": "torso", "pivot": [10, 95, 14], "cubes": [ {"origin": [10, 93, 14], "size": [32, 4, 4], "uv": [208, 77], "mirror": true} @@ -84,7 +89,7 @@ }, { "name": "rightArm", - "parent": "body", + "parent": "torso", "pivot": [-12, 93, -17], "cubes": [ {"origin": [-14, 91, -35], "size": [4, 4, 20], "uv": [64, 232]} @@ -109,7 +114,7 @@ }, { "name": "leftArm", - "parent": "body", + "parent": "torso", "pivot": [12, 93, -17], "cubes": [ {"origin": [10, 91, -35], "size": [4, 4, 20], "uv": [64, 232], "mirror": true} @@ -134,7 +139,7 @@ }, { "name": "backRightThigh", - "parent": "root", + "parent": "body", "pivot": [-12, 65, 14], "cubes": [ {"origin": [-28, 57, 10], "size": [16, 8, 8], "uv": [116, 268]} @@ -170,7 +175,7 @@ }, { "name": "backLeftThigh", - "parent": "root", + "parent": "body", "pivot": [12, 65, 14], "cubes": [ {"origin": [12, 57, 10], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} @@ -206,7 +211,7 @@ }, { "name": "frontLeftThigh", - "parent": "root", + "parent": "body", "pivot": [12, 65, -14], "cubes": [ {"origin": [12, 57, -18], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} @@ -242,7 +247,7 @@ }, { "name": "frontRightThigh", - "parent": "root", + "parent": "body", "pivot": [-12, 65, -14], "cubes": [ {"origin": [-28, 57, -18], "size": [16, 8, 8], "uv": [116, 268]} diff --git a/common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/rolly_polly.geo.json similarity index 100% rename from common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json rename to common/src/main/resources/assets/antarchy/geo/rolly_polly.geo.json diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index 515df46b..ad312c44 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -782,7 +782,11 @@ "item.antarchy.hercules_beetle_spawn_egg": "Hercules Beetle Spawn Egg", "key.antarchy.dorrie_charge_jump": "Dorrie: Charge Jump", "key.antarchy.hercules_beetle_charge": "Hercules Beetle: Charge", + "entity.antarchy.rolly_polly": "Rolly Polly", + "item.antarchy.rolly_polly_spawn_egg": "Rolly Polly Spawn Egg", + "key.antarchy.rolly_polly_roll": "Rolly Polly: Roll", "entity.antarchy.reverie": "Reverie", + "biome.antarchy.rolly_caves": "Rolly Caves", "biome.antarchy.thoraxis": "Thoraxis", "biome.antarchy.nightmare_wastes": "Nightmare Wastes", "biome.antarchy.umbral_hills": "Umbral Hills", diff --git a/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json b/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png index 3ae79bfc..50cbf88f 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png and b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png new file mode 100644 index 00000000..0c983aab Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark_emissive.png new file mode 100644 index 00000000..3b8c88e8 Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark_emissive.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion.png deleted file mode 100644 index d63bb322..00000000 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion.png and /dev/null differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png new file mode 100644 index 00000000..c4a6004f Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png new file mode 100644 index 00000000..60e5914d Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel.png b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel.png index 06c36183..1b4ac52e 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel.png and b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_albino.png b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_albino.png index f4c076b5..8ef321c8 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_albino.png and b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_albino.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png index f49f8479..3957ca29 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png and b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug.png b/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug.png deleted file mode 100644 index 089129fe..00000000 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug.png and /dev/null differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png b/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png deleted file mode 100644 index 5adaf35d..00000000 Binary files a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png and /dev/null differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly.png b/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly.png new file mode 100644 index 00000000..4cbbcf26 Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png b/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png new file mode 100644 index 00000000..566655bd Binary files /dev/null and b/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/item/emperor_scorpion_stinger.png b/common/src/main/resources/assets/antarchy/textures/item/emperor_scorpion_stinger.png index e9822725..4fad805f 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/item/emperor_scorpion_stinger.png and b/common/src/main/resources/assets/antarchy/textures/item/emperor_scorpion_stinger.png differ diff --git a/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png b/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png index cc3c9ccc..b81b8611 100644 Binary files a/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png and b/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png differ diff --git a/common/src/main/resources/data/antarchy/dimension/cavaryn.json b/common/src/main/resources/data/antarchy/dimension/cavaryn.json index 5a96e0a7..85246260 100644 --- a/common/src/main/resources/data/antarchy/dimension/cavaryn.json +++ b/common/src/main/resources/data/antarchy/dimension/cavaryn.json @@ -9,7 +9,7 @@ { "parameters": { "temperature": [-1.0, 1.0], - "humidity": [-1.0, 1.0], + "humidity": [-1.0, 0.5], "continentalness": [-1.0, 1.0], "erosion": [-1.0, 1.0], "weirdness": [-1.0, 1.0], @@ -18,6 +18,18 @@ }, "biome": "antarchy:cavaryn" }, + { + "parameters": { + "temperature": [-1.0, 1.0], + "humidity": [0.5, 1.0], + "continentalness": [-1.0, 1.0], + "erosion": [-1.0, 1.0], + "weirdness": [-1.0, 1.0], + "depth": [-2.0, -0.1], + "offset": 0.0 + }, + "biome": "antarchy:rolly_caves" + }, { "parameters": { "temperature": [-1.0, 1.0], diff --git a/common/src/main/resources/data/antarchy/tags/item/rolly_polly_food.json b/common/src/main/resources/data/antarchy/tags/item/rolly_polly_food.json new file mode 100644 index 00000000..4c6d4e2a --- /dev/null +++ b/common/src/main/resources/data/antarchy/tags/item/rolly_polly_food.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:glow_berries", + "minecraft:sweet_berries" + ] +} diff --git a/common/src/main/resources/data/antarchy/tags/worldgen/biome/is_cavaryn.json b/common/src/main/resources/data/antarchy/tags/worldgen/biome/is_cavaryn.json index e9bd598e..34d6084e 100644 --- a/common/src/main/resources/data/antarchy/tags/worldgen/biome/is_cavaryn.json +++ b/common/src/main/resources/data/antarchy/tags/worldgen/biome/is_cavaryn.json @@ -1,6 +1,7 @@ { "values": [ "antarchy:cavaryn", - "antarchy:brooding_tunnels" + "antarchy:brooding_tunnels", + "antarchy:rolly_caves" ] } diff --git a/common/src/main/resources/data/antarchy/worldgen/biome/rolly_caves.json b/common/src/main/resources/data/antarchy/worldgen/biome/rolly_caves.json new file mode 100644 index 00000000..07b15e9d --- /dev/null +++ b/common/src/main/resources/data/antarchy/worldgen/biome/rolly_caves.json @@ -0,0 +1,70 @@ +{ + "has_precipitation": false, + "temperature": 0.7, + "downfall": 0.6, + "effects": { + "fog_color": 4867366, + "water_color": 6591296, + "water_fog_color": 2440734, + "sky_color": 1710351, + "grass_color": 10275406, + "foliage_color": 10275406, + "mood_sound": { + "sound": "minecraft:ambient.cave", + "tick_delay": 60000, + "block_search_extent": 8, + "offset": 2.0 + }, + "particle": { + "probability": 0.004, + "options": { + "type": "minecraft:spore_blossom_air" + } + } + }, + "spawn_costs": {}, + "carvers": { + "air": [], + "liquid": [] + }, + "features": [ + [], + [ + "antarchy:rolly_caves_bile_pool" + ], + [], + [], + [], + [], + [], + [], + [], + [ + "minecraft:lush_caves_vegetation", + "minecraft:lush_caves_ceiling_vegetation", + "minecraft:cave_vines", + "minecraft:classic_vines_cave_feature", + "antarchy:rolly_caves_amber_moss_patch", + "antarchy:cavaryn_wall_amber_moss" + ], + [] + ], + "creature_spawn_probability": 0.08, + "spawners": { + "monster": [], + "creature": [ + { + "type": "antarchy:rolly_polly", + "weight": 20, + "minCount": 1, + "maxCount": 2 + } + ], + "ambient": [], + "axolotls": [], + "underground_water_creature": [], + "water_creature": [], + "water_ambient": [], + "misc": [] + } +} diff --git a/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_amber_moss_patch.json b/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_amber_moss_patch.json new file mode 100644 index 00000000..8458ed60 --- /dev/null +++ b/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_amber_moss_patch.json @@ -0,0 +1,65 @@ +{ + "type": "minecraft:vegetation_patch", + "config": { + "surface": "floor", + "depth": 1, + "vertical_range": 5, + "extra_bottom_block_chance": 0.0, + "extra_edge_column_chance": 0.3, + "vegetation_chance": 0.7, + "xz_radius": { + "type": "minecraft:uniform", + "min_inclusive": 4, + "max_inclusive": 7 + }, + "replaceable": "#minecraft:moss_replaceable", + "ground_state": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "weight": 3, + "data": { + "Name": "antarchy:amber_moss_block" + } + }, + { + "weight": 2, + "data": { + "Name": "minecraft:moss_block" + } + } + ] + }, + "vegetation_feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "weight": 4, + "data": { + "Name": "antarchy:amber_moss_carpet" + } + }, + { + "weight": 3, + "data": { + "Name": "minecraft:moss_carpet" + } + }, + { + "weight": 2, + "data": { + "Name": "minecraft:short_grass" + } + } + ] + } + } + }, + "placement": [] + } + } +} diff --git a/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_bile_pool.json b/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_bile_pool.json new file mode 100644 index 00000000..65ea831a --- /dev/null +++ b/common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_bile_pool.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:lake", + "config": { + "fluid": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "antarchy:bile", + "Properties": { + "level": "0" + } + } + }, + "barrier": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:moss_block" + } + } + } +} diff --git a/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_amber_moss_patch.json b/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_amber_moss_patch.json new file mode 100644 index 00000000..b4347be6 --- /dev/null +++ b/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_amber_moss_patch.json @@ -0,0 +1,27 @@ +{ + "feature": "antarchy:rolly_caves_amber_moss_patch", + "placement": [ + { + "type": "minecraft:count", + "count": 40 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 2 + }, + "max_inclusive": { + "absolute": 200 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_bile_pool.json b/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_bile_pool.json new file mode 100644 index 00000000..2d6a759d --- /dev/null +++ b/common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_bile_pool.json @@ -0,0 +1,27 @@ +{ + "feature": "antarchy:rolly_caves_bile_pool", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 8 + }, + "max_inclusive": { + "absolute": 160 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/fabric/build.gradle b/fabric/build.gradle index 73467fe4..dbc656d2 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -133,6 +133,18 @@ processResources { exclude "antarchy-common.mixins.json" } + // Fabric needs a refmap on the common mixin config, NeoForge only boots without one. + // Generate a fabric-only copy with the refmap injected so the shared file stays refmap-free. + def commonMixinConfig = project(':common').file('src/main/resources/antarchy-common.mixins.json') + inputs.file commonMixinConfig + + doLast { + def json = new groovy.json.JsonSlurper().parse(commonMixinConfig) + json.put('refmap', 'antarchy.refmap.json') + new File(destinationDir, 'antarchy-common-fabric.mixins.json').text = + groovy.json.JsonOutput.prettyPrint(groovy.json.JsonOutput.toJson(json)) + } + filesMatching("fabric.mod.json") { expand( version: project.version, diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index efd88de3..959cc55d 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -67,6 +67,7 @@ import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity; import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity; import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; import com.craisinlord.antarchy.content.entity.MantisEntity; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; import com.craisinlord.antarchy.content.entity.ScorpionEntity; @@ -831,6 +832,11 @@ public final class AntarchyFabricContent { .sized(4.0F, 3.25F) .clientTrackingRange(10) .build("alpha_mantis")); + public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", + () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE) + .sized(0.95F, 0.85F) + .clientTrackingRange(10) + .build("rolly_polly")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -1681,8 +1687,8 @@ public final class AntarchyFabricContent { .build("basilisk")); public static final DeferredHolder, EntityType> EMPEROR_SCORPION = ENTITY_TYPES.register("emperor_scorpion", () -> EntityType.Builder.of(EmperorScorpionEntity::new, MobCategory.MONSTER) - .sized(4.05F, 1.35F) - .clientTrackingRange(10) + .sized(6.0F, 3.0F) + .clientTrackingRange(12) .build("emperor_scorpion")); public static final DeferredHolder, EntityType> LUCID_PEARL_PROJECTILE = ENTITY_TYPES.register("lucid_pearl_projectile", () -> EntityType.Builder.of(LucidEyeProjectileEntity::new, MobCategory.MISC) @@ -1736,6 +1742,8 @@ public final class AntarchyFabricContent { () -> new DeferredSpawnEggItem(MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties())); + public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", + () -> new DeferredSpawnEggItem(ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -1777,7 +1785,7 @@ public final class AntarchyFabricContent { public static final DeferredItem BASILISK_SPAWN_EGG = ITEMS.register("basilisk_spawn_egg", () -> new DeferredSpawnEggItem(BASILISK, 0x4A7C40, 0xD4A040, new Item.Properties())); public static final DeferredItem EMPEROR_SCORPION_SPAWN_EGG = ITEMS.register("emperor_scorpion_spawn_egg", - () -> new DeferredSpawnEggItem(EMPEROR_SCORPION, 0x1A1A0A, 0x8B2200, new Item.Properties())); + () -> new DeferredSpawnEggItem(EMPEROR_SCORPION, 0x3A3242, 0xD8CDB4, new Item.Properties())); public static final DeferredItem LUCID_EYE = ITEMS.register("lucid_eye", () -> new LucidEyeItem(new Item.Properties().stacksTo(16).rarity(Rarity.UNCOMMON))); public static final DeferredItem LUCID_PEARL = ITEMS.register("lucid_pearl", @@ -1928,6 +1936,7 @@ public final class AntarchyFabricContent { FabricDefaultAttributeRegistry.register(SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(MANTIS.get(), MantisEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); + FabricDefaultAttributeRegistry.register(ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(TRIFFID.get(), TriffidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(LUCID.get(), LucidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(SCORPION.get(), ScorpionEntity.createAttributes().build()); @@ -2087,7 +2096,7 @@ public final class AntarchyFabricContent { case "easter_bunny_spawn_egg", "flying_squirrel_spawn_egg", "caterpillar_spawn_egg", "butterfly_spawn_egg", "reverie_spawn_egg", "brutalfly_spawn_egg", "red_ant_spawn_egg", "brown_ant_spawn_egg", "rainbow_ant_spawn_egg", "termite_spawn_egg", - "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", + "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "rolly_polly_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", "apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg", "honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg", "bomber_spawn_egg", "jumpy_bug_spawn_egg", "spit_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index 26e59a6b..3a8d22b4 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -79,6 +79,7 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.MOLEWORM.get(), MolewormRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MANTIS.get(), MantisRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.ALPHA_MANTIS.get(), AlphaMantisRenderer::new); + EntityRendererRegistry.register(AntarchyFabricContent.ROLLY_POLLY.get(), RollyPollyRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEVORE.get(), MolevoreRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.TRIFFID.get(), TriffidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png"), false)); @@ -333,6 +334,7 @@ public final class AntarchyFabricClientBootstrap { ScorpionWhipTetherRenderHandler.tick(); DorrieJumpClientHandler.tick(); HerculesBeetleClientHandler.tick(); + RollyPollyClientHandler.tick(); }); BigBerthaClientHandler.register(); diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java index 592f64ea..a5d945d6 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java @@ -31,12 +31,20 @@ public final class AntarchyKeyBindings { CATEGORY ); + public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping( + "key.antarchy.rolly_polly_roll", + InputConstants.Type.KEYSYM, + GLFW.GLFW_KEY_R, + CATEGORY + ); + private AntarchyKeyBindings() {} public static void register() { KeyBindingHelper.registerKeyBinding(BRUTALFLY_FLAP); KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP); KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_CHARGE); + KeyBindingHelper.registerKeyBinding(ROLLY_POLLY_ROLL); } public static boolean isBrutalflyFlapPressed() { diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java new file mode 100644 index 00000000..f8bc1c44 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java @@ -0,0 +1,29 @@ +package com.craisinlord.antarchy.fabric.client; + +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; + +public final class RollyPollyClientHandler { + private static boolean wasPressingRoll; + + private RollyPollyClientHandler() { + } + + public static void tick() { + Minecraft mc = Minecraft.getInstance(); + LocalPlayer player = mc.player; + if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) { + wasPressingRoll = false; + return; + } + + boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown(); + if (pressingRoll && !wasPressingRoll) { + ClientPlayNetworking.send(new RollyPollyRollPayload()); + } + wasPressingRoll = pressingRoll; + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java index d4b2c753..7ce2d2fe 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java @@ -63,6 +63,7 @@ public final class AntarchyFabricNetworking { PayloadTypeRegistry.playC2S().register(HerculesBeetleJumpInputPayload.TYPE, HerculesBeetleJumpInputPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedAttackPayload.TYPE, HerculesBeetleMountedAttackPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, com.craisinlord.antarchy.content.network.RollyPollyRollPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC); } @@ -90,6 +91,8 @@ public final class AntarchyFabricNetworking { context.server().execute(() -> handleHerculesBeetleMountedAttack(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(HerculesBeetleMountedChargePayload.TYPE, (payload, context) -> context.server().execute(() -> handleHerculesBeetleMountedCharge(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, (payload, context) -> + context.server().execute(() -> handleRollyPollyRoll(context.player()))); ServerPlayNetworking.registerGlobalReceiver(MultipartAttackPayload.TYPE, (payload, context) -> context.server().execute(() -> handleMultipartAttack(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(MultipartInteractPayload.TYPE, (payload, context) -> @@ -370,6 +373,12 @@ public final class AntarchyFabricNetworking { } } + private static void handleRollyPollyRoll(ServerPlayer player) { + if (player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.RollyPollyEntity rollyPolly) { + rollyPolly.handleRollToggle(player); + } + } + public static void triggerHerculesBeetleImpactShake(int durationTicks) { HerculesBeetleImpactShakeClientState.trigger(durationTicks); } diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 858e5d75..a17a1eae 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ ] }, "mixins": [ - "antarchy-common.mixins.json", + "antarchy-common-fabric.mixins.json", "antarchy-fabric.mixins.json" ], "depends": { diff --git a/gradle.properties b/gradle.properties index fdb030b7..f8bee8a8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -84,4 +84,6 @@ regions_unexplored_curseforge_file_id=7826194 # #infinite_dimensions_curseforge_id=981829 -#infinite_dimensions_curseforge_file_id=7739053 \ No newline at end of file +#infinite_dimensions_curseforge_file_id=7739053 +# Gradle 8.8 cannot run on newer JDKs (e.g. 25); pin the build JVM to 21 +org.gradle.java.home=C:/Program Files/Java/jdk-21.0.10 diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index 25589dc8..b5f5680d 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -116,6 +116,12 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setAlphaMantisSummonIntervalTicks(AntarchyMobsConfig.alphaMantisSummonIntervalTicks()); AntarchySettings.setAlphaMantisMaxMinions(AntarchyMobsConfig.alphaMantisMaxMinions()); + AntarchySettings.setRollyPollyHealth(AntarchyMobsConfig.rollyPollyHealth()); + AntarchySettings.setRollyPollyMovementSpeed(AntarchyMobsConfig.rollyPollyMovementSpeed()); + AntarchySettings.setRollyPollyRollSpeedMultiplier(AntarchyMobsConfig.rollyPollyRollSpeedMultiplier()); + AntarchySettings.setRollyPollyTumbleDamage(AntarchyMobsConfig.rollyPollyTumbleDamage()); + AntarchySettings.setRollyPollyTameChance(AntarchyMobsConfig.rollyPollyTameChance()); + AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth()); AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage()); AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index 20186b82..68c2ab5e 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -100,6 +100,15 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.IntValue ALPHA_MANTIS_MAX_MINIONS; + // Rolly Polly + + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_HEALTH; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_MOVEMENT_SPEED; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_ROLL_SPEED_MULTIPLIER; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_TUMBLE_DAMAGE; + private static final ModConfigSpec.IntValue ROLLY_POLLY_TAME_CHANCE; + + // Triffid private static final ModConfigSpec.DoubleValue TRIFFID_HEALTH; @@ -390,6 +399,17 @@ public final class AntarchyMobsConfig { b.pop(); + // Rolly Polly + + b.push("rollyPolly"); + ROLLY_POLLY_HEALTH = b.comment("Base max health.") .defineInRange("health", 12.0D, 1.0D, 32768.0D); + ROLLY_POLLY_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.3D, 0.0D, 10.0D); + ROLLY_POLLY_ROLL_SPEED_MULTIPLIER = b.comment("Speed multiplier while rolled up and ridden.") .defineInRange("rollSpeedMultiplier", 2.2D, 0.1D, 20.0D); + ROLLY_POLLY_TUMBLE_DAMAGE = b.comment("Damage dealt to a helmetless rider while rolling. 0 disables.") .defineInRange("tumbleDamage", 1.0D, 0.0D, 1024.0D); + ROLLY_POLLY_TAME_CHANCE = b.comment("Taming succeeds with a 1-in-N chance per food item.") .defineInRange("tameChance", 3, 1, 100); + b.pop(); + + // Triffid b.push("triffid"); @@ -617,6 +637,11 @@ public final class AntarchyMobsConfig { static double alphaMantisFlyingSpeed() { return ALPHA_MANTIS_FLYING_SPEED.get(); } static int alphaMantisSummonIntervalTicks() { return ALPHA_MANTIS_SUMMON_INTERVAL_TICKS.get(); } static int alphaMantisMaxMinions() { return ALPHA_MANTIS_MAX_MINIONS.get(); } + static double rollyPollyHealth() { return ROLLY_POLLY_HEALTH.get(); } + static double rollyPollyMovementSpeed() { return ROLLY_POLLY_MOVEMENT_SPEED.get(); } + static double rollyPollyRollSpeedMultiplier() { return ROLLY_POLLY_ROLL_SPEED_MULTIPLIER.get(); } + static double rollyPollyTumbleDamage() { return ROLLY_POLLY_TUMBLE_DAMAGE.get(); } + static int rollyPollyTameChance() { return ROLLY_POLLY_TAME_CHANCE.get(); } static double triffidHealth() { return TRIFFID_HEALTH.get(); } static double triffidAttackDamage() { return TRIFFID_ATTACK_DAMAGE.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java index a73ff650..8560fb9b 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java @@ -37,6 +37,14 @@ public final class AntarchyKeyBindings { CATEGORY ); + public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping( + "key.antarchy.rolly_polly_roll", + KeyConflictContext.IN_GAME, + InputConstants.Type.KEYSYM, + InputConstants.KEY_R, + CATEGORY + ); + private AntarchyKeyBindings() {} @SubscribeEvent @@ -44,5 +52,6 @@ public final class AntarchyKeyBindings { event.register(BRUTALFLY_FLAP); event.register(DORRIE_CHARGE_JUMP); event.register(HERCULES_BEETLE_CHARGE); + event.register(ROLLY_POLLY_ROLL); } } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index b004845e..16926e00 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -95,6 +95,7 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEWORM.get(), context -> withParalyzedGeoLayer(new MolewormRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MANTIS.get(), context -> withParalyzedGeoLayer(new MantisRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), context -> withParalyzedGeoLayer(new AlphaMantisRenderer(context))); + event.registerEntityRenderer(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), context -> withParalyzedGeoLayer(new RollyPollyRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEVORE.get(), context -> withParalyzedGeoLayer(new MolevoreRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false)); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java new file mode 100644 index 00000000..e636a92b --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java @@ -0,0 +1,36 @@ +package com.craisinlord.antarchy.neoforge.client; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; +import net.neoforged.neoforge.network.PacketDistributor; + +@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT) +public final class RollyPollyClientHandler { + private static boolean wasPressingRoll; + + private RollyPollyClientHandler() { + } + + @SubscribeEvent + public static void onClientTick(ClientTickEvent.Post event) { + Minecraft mc = Minecraft.getInstance(); + LocalPlayer player = mc.player; + if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) { + wasPressingRoll = false; + return; + } + + boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown(); + if (pressingRoll && !wasPressingRoll) { + PacketDistributor.sendToServer(new RollyPollyRollPayload()); + } + wasPressingRoll = pressingRoll; + } +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java new file mode 100644 index 00000000..778bee23 --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java @@ -0,0 +1,31 @@ +package com.craisinlord.antarchy.neoforge.network; + +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.minecraft.server.level.ServerPlayer; +import net.neoforged.neoforge.network.handling.IPayloadContext; +import net.neoforged.neoforge.network.registration.PayloadRegistrar; + +public final class RollyPollyNetworking { + private RollyPollyNetworking() { + } + + public static void register(PayloadRegistrar registrar) { + registrar.playToServer( + RollyPollyRollPayload.TYPE, + RollyPollyRollPayload.STREAM_CODEC, + RollyPollyNetworking::handleRollToggle + ); + } + + private static void handleRollToggle(RollyPollyRollPayload payload, IPayloadContext context) { + context.enqueueWork(() -> { + if (!(context.player() instanceof ServerPlayer player)) { + return; + } + if (player.getVehicle() instanceof RollyPollyEntity rollyPolly) { + rollyPolly.handleRollToggle(player); + } + }); + } +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index 257986f9..dff98240 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -61,6 +61,7 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.MOLEWORM_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MANTIS_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.ALPHA_MANTIS_SPAWN_EGG.get()); + event.accept(AntarchyNeoforgeItems.ROLLY_POLLY_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEVORE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.TRIFFID_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.APPLE_COW_SPAWN_EGG.get()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index f760a577..1ab5b1f4 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -18,6 +18,7 @@ import com.craisinlord.antarchy.content.entity.HushProjectileEntity; import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity; import com.craisinlord.antarchy.content.entity.JumpyBugEntity; import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; import com.craisinlord.antarchy.content.entity.MantisEntity; import com.craisinlord.antarchy.content.entity.MissileSquidEntity; import com.craisinlord.antarchy.content.entity.OctopusBombEntity; @@ -99,6 +100,11 @@ public final class AntarchyNeoforgeEntites { .sized(4.0F, 3.25F) .clientTrackingRange(10) .build("alpha_mantis")); + public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", + () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE) + .sized(0.95F, 0.85F) + .clientTrackingRange(10) + .build("rolly_polly")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -266,8 +272,8 @@ public final class AntarchyNeoforgeEntites { .build("basilisk")); public static final DeferredHolder, EntityType> EMPEROR_SCORPION = ENTITY_TYPES.register("emperor_scorpion", () -> EntityType.Builder.of(EmperorScorpionEntity::new, MobCategory.MONSTER) - .sized(4.05F, 1.35F) - .clientTrackingRange(10) + .sized(6.0F, 3.0F) + .clientTrackingRange(12) .build("emperor_scorpion")); public static final DeferredHolder, EntityType> LUCID_PEARL_PROJECTILE = ENTITY_TYPES.register("lucid_pearl_projectile", () -> EntityType.Builder.of(LucidEyeProjectileEntity::new, MobCategory.MISC) diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java index 0c483c6c..48d6f92e 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java @@ -54,6 +54,7 @@ public class AntarchyNeoforgeEntityAttributes { event.put(AntarchyNeoforgeEntites.SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.MANTIS.get(), MantisEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); + event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.LUCID.get(), LucidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.SCORPION.get(), ScorpionEntity.createAttributes().build()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index fb9c2d73..3c3043a2 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -515,6 +515,8 @@ public final class AntarchyNeoforgeItems { () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", + () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -556,7 +558,7 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem BASILISK_SPAWN_EGG = ITEMS.register("basilisk_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.BASILISK, 0x4A7C40, 0xD4A040, new Item.Properties())); public static final DeferredItem EMPEROR_SCORPION_SPAWN_EGG = ITEMS.register("emperor_scorpion_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EMPEROR_SCORPION, 0x1A1A0A, 0x8B2200, new Item.Properties())); + () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EMPEROR_SCORPION, 0x3A3242, 0xD8CDB4, new Item.Properties())); public static final DeferredItem LUCID_EYE = ITEMS.register("lucid_eye", () -> new LucidEyeItem(new Item.Properties().stacksTo(16).rarity(Rarity.UNCOMMON))); public static final DeferredItem LUCID_PEARL = ITEMS.register("lucid_pearl", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java index c98e10cc..5db65355 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java @@ -24,6 +24,7 @@ public class AntarchyNeoforgePayloadHandlers { JumpyBootsNetworking.register(registrar); DorrieJumpNetworking.register(registrar); HerculesBeetleNetworking.register(registrar); + com.craisinlord.antarchy.neoforge.network.RollyPollyNetworking.register(registrar); registrar.playToClient( com.craisinlord.antarchy.content.network.BloodglassStatePayload.TYPE, com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC,