From 9e022dd562ec8d5a15a08f1ea21af48879ae4dfa Mon Sep 17 00:00:00 2001 From: Eli Gibbs Date: Mon, 15 Jun 2026 12:54:31 -0400 Subject: [PATCH] Adds better swimming/floating logic, Changes tail code logic --- .../net/cmr/jurassicrevived/Constants.java | 2 +- .../jurassicrevived/entity/ModEntities.java | 6 +- .../entity/ai/DinoAIController.java | 128 ++-- .../entity/client/AchillobatorModel.java | 2 +- .../entity/client/AlbertosaurusModel.java | 2 +- .../entity/client/AlligatorGarModel.java | 2 +- .../entity/client/AllosaurusModel.java | 2 +- .../entity/client/AlvarezsaurusModel.java | 2 +- .../entity/client/AnkylosaurusModel.java | 2 +- .../entity/client/ApatosaurusModel.java | 2 +- .../entity/client/ArambourgianiaModel.java | 2 +- .../entity/client/BaryonyxModel.java | 2 +- .../entity/client/BrachiosaurusModel.java | 2 +- .../client/CarcharodontosaurusModel.java | 2 +- .../entity/client/CarnotaurusModel.java | 2 +- .../entity/client/CearadactylusModel.java | 2 +- .../entity/client/CeratosaurusModel.java | 2 +- .../entity/client/ChasmosaurusModel.java | 2 +- .../entity/client/ChickenosaurusModel.java | 2 +- .../entity/client/ChilesaurusModel.java | 2 +- .../entity/client/CoelacanthModel.java | 2 +- .../entity/client/CoelophysisModel.java | 2 +- .../entity/client/CoelurusModel.java | 2 +- .../entity/client/CompsognathusModel.java | 2 +- .../entity/client/ConcavenatorModel.java | 2 +- .../entity/client/CorythosaurusModel.java | 2 +- .../entity/client/DeinonychusModel.java | 2 +- .../entity/client/DilophosaurusModel.java | 2 +- .../entity/client/DimorphodonModel.java | 2 +- .../entity/client/DiplodocusModel.java | 2 +- .../entity/client/DistortusRexModel.java | 2 +- .../entity/client/DryosaurusModel.java | 2 +- .../entity/client/EdmontosaurusModel.java | 2 +- .../entity/client/FDuckModel.java | 2 +- .../entity/client/GallimimusModel.java | 2 +- .../entity/client/GeosternbergiaModel.java | 2 +- .../entity/client/GiganotosaurusModel.java | 2 +- .../entity/client/GuanlongModel.java | 2 +- .../entity/client/GuidracoModel.java | 2 +- .../entity/client/HadrosaurusModel.java | 2 +- .../entity/client/HerrerasaurusModel.java | 2 +- .../entity/client/HypsilophodonModel.java | 2 +- .../entity/client/IndominusRexModel.java | 2 +- .../entity/client/IndoraptorModel.java | 2 +- .../entity/client/InostranceviaModel.java | 2 +- .../entity/client/LambeosaurusModel.java | 2 +- .../entity/client/LudodactylusModel.java | 2 +- .../entity/client/MajungasaurusModel.java | 2 +- .../entity/client/MamenchisaurusModel.java | 2 +- .../entity/client/MawsoniaModel.java | 2 +- .../client/MetriacanthosaurusModel.java | 2 +- .../entity/client/MoganopterusModel.java | 2 +- .../entity/client/MussasaurusModel.java | 2 +- .../entity/client/NyctosaurusModel.java | 2 +- .../entity/client/OrnitholestesModel.java | 2 +- .../entity/client/OrnithomimusModel.java | 2 +- .../entity/client/OuranosaurusModel.java | 2 +- .../entity/client/OviraptorModel.java | 2 +- .../client/PachycephalosaurusModel.java | 2 +- .../entity/client/ParasaurolophusModel.java | 2 +- .../entity/client/ProceratosaurusModel.java | 2 +- .../entity/client/ProcompsognathusModel.java | 2 +- .../entity/client/ProtoceratopsModel.java | 2 +- .../entity/client/PteranodonModel.java | 2 +- .../entity/client/PterodaustroModel.java | 2 +- .../entity/client/QuetzalcoatlusModel.java | 2 +- .../entity/client/RajasaurusModel.java | 2 +- .../entity/client/RugopsModel.java | 2 +- .../entity/client/SegisaurusModel.java | 2 +- .../entity/client/ShantungosaurusModel.java | 2 +- .../entity/client/SpinosaurusModel.java | 2 +- .../entity/client/StegosaurusModel.java | 2 +- .../entity/client/StyracosaurusModel.java | 2 +- .../entity/client/SuchomimusModel.java | 2 +- .../entity/client/TapejaraModel.java | 2 +- .../entity/client/TherizinosaurusModel.java | 2 +- .../entity/client/ThescelosaurusModel.java | 2 +- .../entity/client/TitanosaurusModel.java | 2 +- .../entity/client/TriceratopsModel.java | 2 +- .../entity/client/TroodonModel.java | 2 +- .../entity/client/TropeognathusModel.java | 2 +- .../entity/client/TupuxuaraModel.java | 2 +- .../entity/client/TyrannosaurusRexModel.java | 2 +- .../entity/client/UtahraptorModel.java | 2 +- .../entity/client/VelociraptorModel.java | 2 +- .../entity/client/ZhenyuanopterusModel.java | 2 +- .../entity/custom/AlligatorGarEntity.java | 2 +- .../entity/custom/BaryonyxEntity.java | 21 +- .../entity/custom/CoelacanthEntity.java | 2 +- .../entity/custom/MawsoniaEntity.java | 2 +- .../entity/custom/SpinosaurusEntity.java | 21 +- .../entity/custom/SuchomimusEntity.java | 21 +- .../entity/custom/TyrannosaurusRexEntity.java | 21 +- .../animations/alligator_gar.animation.json | 106 +-- .../animations/baryonyx.animation.json | 134 +++- .../animations/coelacanth.animation.json | 73 +-- .../animations/mawsonia.animation.json | 100 --- .../animations/spinosaurus.animation.json | 118 +++- .../animations/suchomimus.animation.json | 223 +++++++ .../tyrannosaurus_rex.animation.json | 615 +++++++++++------- .../geo/alligator_gar.geo.json | 128 ++-- .../jurassicrevived/geo/baryonyx.geo.json | 2 +- .../jurassicrevived/geo/coelacanth.geo.json | 88 +-- .../jurassicrevived/geo/mawsonia.geo.json | 210 +++--- gradle.properties | 2 +- 105 files changed, 1284 insertions(+), 907 deletions(-) diff --git a/common/src/main/java/net/cmr/jurassicrevived/Constants.java b/common/src/main/java/net/cmr/jurassicrevived/Constants.java index 3fab5a7..a8c3eb7 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/Constants.java +++ b/common/src/main/java/net/cmr/jurassicrevived/Constants.java @@ -11,7 +11,7 @@ public class Constants public static final String MOD_NAME = "JurassicRevived"; public static final Logger LOG = LoggerFactory.getLogger(MOD_NAME); - public static final boolean DEBUG_SIZES = true; + public static final boolean DEBUG_SIZES = false; public static ResourceLocation rl(String path) { //? if >1.20.1 { diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/ModEntities.java b/common/src/main/java/net/cmr/jurassicrevived/entity/ModEntities.java index 66acefd..271c77c 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/ModEntities.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/ModEntities.java @@ -353,15 +353,15 @@ public class ModEntities { public static final RegistrySupplier> COELACANTH = ENTITIES.register("coelacanth", () -> EntityType.Builder.of(CoelacanthEntity::new, MobCategory.CREATURE) - .sized(1.3f, 1.8f).build("coelacanth")); + .sized(0.4f, 0.5f).build("coelacanth")); public static final RegistrySupplier> MAWSONIA = ENTITIES.register("mawsonia", () -> EntityType.Builder.of(MawsoniaEntity::new, MobCategory.CREATURE) - .sized(1.3f, 1.8f).build("mawsonia")); + .sized(0.9f, 1.4f).build("mawsonia")); public static final RegistrySupplier> ALLIGATOR_GAR = ENTITIES.register("alligator_gar", () -> EntityType.Builder.of(AlligatorGarEntity::new, MobCategory.CREATURE) - .sized(1.3f, 1.8f).build("alligator_gar")); + .sized(0.4f, 0.6f).build("alligator_gar")); public static void registerAttributes() { EntityAttributeRegistry.register(APATOSAURUS, ApatosaurusEntity::createAttributes); diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/ai/DinoAIController.java b/common/src/main/java/net/cmr/jurassicrevived/entity/ai/DinoAIController.java index 4bd4514..c661a58 100755 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/ai/DinoAIController.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/ai/DinoAIController.java @@ -125,6 +125,7 @@ public class DinoAIController { if (homePos == null) homePos = dino.blockPosition(); handleFloating(); + handleWideHitboxJumping(); updateSensors(); checkBreedingReadiness(); @@ -576,7 +577,7 @@ public class DinoAIController { return handleAvianWaterHuntingMovement(target); } - if (isGroundCreature()) { + if (isGroundCreature() || dino.isAmphibious()) { return handleTerrestrialWaterExitMovement(); } @@ -735,10 +736,8 @@ public class DinoAIController { return false; } - double fluidHeight = dino.getFluidHeight(FluidTags.WATER); - Vec3 velocity = dino.getDeltaMovement(); - - if (fluidHeight > dino.getFluidJumpThreshold() * 0.6D || dino.horizontalCollision) { + if (dino.horizontalCollision) { + Vec3 velocity = dino.getDeltaMovement(); dino.setDeltaMovement( velocity.x, Math.min(velocity.y + 0.06D, TERRESTRIAL_WATER_EXIT_BOOST), @@ -800,19 +799,15 @@ public class DinoAIController { return; } - Vec3 normalized = direction.normalize(); - - float yaw = (float)(Mth.atan2(normalized.z, normalized.x) * Mth.RAD_TO_DEG) - 90.0F; - float pitch = (float)(-(Mth.atan2(normalized.y, Math.sqrt(normalized.x * normalized.x + normalized.z * normalized.z)) * Mth.RAD_TO_DEG)); - - dino.setYRot(yaw); - dino.yRotO = yaw; - dino.yBodyRot = yaw; - dino.yBodyRotO = yaw; - dino.yHeadRot = yaw; - dino.yHeadRotO = yaw; - dino.setXRot(Mth.clamp(pitch, -75.0F, 75.0F)); - dino.xRotO = dino.getXRot(); + // Instead of forcing the YRot and XRot instantly, tell the LookControl where to look. + // The 30.0F values dictate the maximum turn speed per tick (yaw and pitch). + dino.getLookControl().setLookAt( + dino.getX() + direction.x, + dino.getY() + direction.y, + dino.getZ() + direction.z, + 30.0F, + 30.0F + ); } // --- STATE LOGIC --- @@ -1080,21 +1075,14 @@ public class DinoAIController { return; } - boolean resumed = false; - if (roamTarget != null) { - resumed = dino.getNavigation().moveTo(roamTarget.x, roamTarget.y, roamTarget.z, getRoamSpeed()); - } - - if (!resumed) { - findAndSetRoamTarget(); - if (this.roamTarget == null) { - if (dino instanceof FlyingAnimal && !dino.onGround()) { - transitionTo(State.ROAMING); - } else { - transitionTo(State.IDLE); - } - } - } + findAndSetRoamTarget(); + if (this.roamTarget == null) { + if (dino instanceof FlyingAnimal && !dino.onGround()) { + transitionTo(State.ROAMING); + } else { + transitionTo(State.IDLE); + } + } } } @@ -1260,29 +1248,14 @@ public class DinoAIController { return; } - if (dino.getNavigation().isDone()) { - if (roamTarget != null && dino.distanceToSqr(roamTarget) < 9.0) { - transitionTo(State.IDLE); - return; - } - - boolean resumed = false; - if (roamTarget != null) { - resumed = dino.getNavigation().moveTo( - roamTarget.x, - roamTarget.y, - roamTarget.z, - getTerritorialRoamSpeed() - ); - } - - if (!resumed) { - findAndSetTerritorialTarget(); - if (this.roamTarget == null) { - transitionTo(State.IDLE); - } - } - } + if (dino.getNavigation().isDone()) { + if (roamTarget != null && dino.distanceToSqr(roamTarget) < 9.0) { + transitionTo(State.IDLE); + return; + } + this.roamTarget = null; + transitionTo(State.IDLE); + } } private double getBaseRoamSpeed() { @@ -1472,7 +1445,9 @@ public class DinoAIController { boolean waterMovementHandled = handleWaterMovementHelper(attackTarget); - dino.getLookControl().setLookAt(attackTarget, 30.0F, 30.0F); + if (dino.distanceToSqr(attackTarget) > 1.0D) { + dino.getLookControl().setLookAt(attackTarget, 30.0F, 30.0F); + } double distSqr = dino.distanceToSqr(attackTarget); double reachMult = dino.getAIConfig().attackReach(); @@ -1509,12 +1484,11 @@ public class DinoAIController { return; } - if (pathRecalcTimer-- <= 0 || dino.getNavigation().isDone()) { + if (pathRecalcTimer-- <= 0) { if (!dino.getNavigation().moveTo(attackTarget, dino.getAIConfig().runSpeed())) { - pathRecalcTimer = 10; // Wait before retrying to prevent rapid failure loops + pathRecalcTimer = 10; failedPathfindingAttempts++; - // Tolerance allows for temporary pathfinding failures (e.g., target inside hitbox) if (failedPathfindingAttempts > 5) { if (isAvianWaterHunter() && isUnderwaterTarget(attackTarget)) { failedPathfindingAttempts = 0; @@ -1539,7 +1513,9 @@ public class DinoAIController { boolean waterMovementHandled = handleWaterMovementHelper(attackTarget); - dino.getLookControl().setLookAt(attackTarget, 30.0F, 30.0F); + if (dino.distanceToSqr(attackTarget) > 1.0D) { + dino.getLookControl().setLookAt(attackTarget, 30.0F, 30.0F); + } double distSqr = dino.distanceToSqr(attackTarget); double reachMult = dino.getAIConfig().attackReach(); @@ -1580,7 +1556,10 @@ public class DinoAIController { } else if (isAvianWaterHunter() && avianDiveInProgress) { dino.getNavigation().stop(); } else if (distSqr > stopDistSqr) { - dino.getNavigation().moveTo(attackTarget, dino.getAIConfig().runSpeed()); + if (pathRecalcTimer-- <= 0) { + dino.getNavigation().moveTo(attackTarget, dino.getAIConfig().runSpeed()); + pathRecalcTimer = 10; + } } else { dino.getNavigation().stop(); } @@ -1672,6 +1651,31 @@ public class DinoAIController { } } + private void handleWideHitboxJumping() { + // We only care about grounded entities that are bumping into something + if (!dino.onGround() || !dino.horizontalCollision) { + return; + } + + // Vanilla jump logic works fine for small mobs, only intercept for wide ones + if (dino.getBbWidth() <= 1.0F) { + return; + } + + Path path = dino.getNavigation().getPath(); + if (path != null && !path.isDone()) { + Node nextNode = path.getNextNode(); + + if (nextNode != null) { + // If the path's next node is higher than the dinosaur's current block height, + // force it to jump, ignoring Vanilla's strict distance checks. + if (nextNode.y > dino.getBlockY()) { + dino.getJumpControl().jump(); + } + } + } + } + private Vec3 getMarineRoamPos() { for (int i = 0; i < 10; i++) { BlockPos randomPos = dino.blockPosition().offset( diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AchillobatorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AchillobatorModel.java index 76241b9..d3fd9a0 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AchillobatorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AchillobatorModel.java @@ -79,7 +79,7 @@ public class AchillobatorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlbertosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlbertosaurusModel.java index 371d902..0648ae5 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlbertosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlbertosaurusModel.java @@ -79,7 +79,7 @@ public class AlbertosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlligatorGarModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlligatorGarModel.java index aad448b..1f9a581 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlligatorGarModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlligatorGarModel.java @@ -79,7 +79,7 @@ public class AlligatorGarModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AllosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AllosaurusModel.java index 99ef85b..49756a8 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AllosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AllosaurusModel.java @@ -86,7 +86,7 @@ public class AllosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlvarezsaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlvarezsaurusModel.java index 0050be1..9faa9a2 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlvarezsaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AlvarezsaurusModel.java @@ -79,7 +79,7 @@ public class AlvarezsaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AnkylosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AnkylosaurusModel.java index 261c6db..051ef4a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/AnkylosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/AnkylosaurusModel.java @@ -86,7 +86,7 @@ public class AnkylosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ApatosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ApatosaurusModel.java index 7abee53..adc80c4 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ApatosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ApatosaurusModel.java @@ -79,7 +79,7 @@ public class ApatosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ArambourgianiaModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ArambourgianiaModel.java index 5b84d1e..bbdd75f 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ArambourgianiaModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ArambourgianiaModel.java @@ -79,7 +79,7 @@ public class ArambourgianiaModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/BaryonyxModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/BaryonyxModel.java index 1ef520d..5d196b0 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/BaryonyxModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/BaryonyxModel.java @@ -79,7 +79,7 @@ public class BaryonyxModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/BrachiosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/BrachiosaurusModel.java index f46e5ad..357739f 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/BrachiosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/BrachiosaurusModel.java @@ -79,7 +79,7 @@ public class BrachiosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarcharodontosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarcharodontosaurusModel.java index 721e294..37b3ea9 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarcharodontosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarcharodontosaurusModel.java @@ -79,7 +79,7 @@ public class CarcharodontosaurusModel extends GeoModel tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarnotaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarnotaurusModel.java index 8f54a22..4e1f26b 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarnotaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CarnotaurusModel.java @@ -79,7 +79,7 @@ public class CarnotaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CearadactylusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CearadactylusModel.java index 0459d5b..faf6aa2 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CearadactylusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CearadactylusModel.java @@ -79,7 +79,7 @@ public class CearadactylusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CeratosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CeratosaurusModel.java index 842d1c5..8c7dc2f 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CeratosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CeratosaurusModel.java @@ -79,7 +79,7 @@ public class CeratosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChasmosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChasmosaurusModel.java index a058725..d999f36 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChasmosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChasmosaurusModel.java @@ -79,7 +79,7 @@ public class ChasmosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChickenosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChickenosaurusModel.java index bd6dea3..4857411 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChickenosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChickenosaurusModel.java @@ -79,7 +79,7 @@ public class ChickenosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChilesaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChilesaurusModel.java index 138d2ff..6475d8a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChilesaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ChilesaurusModel.java @@ -79,7 +79,7 @@ public class ChilesaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelacanthModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelacanthModel.java index c3b0498..ec207bf 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelacanthModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelacanthModel.java @@ -79,7 +79,7 @@ public class CoelacanthModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelophysisModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelophysisModel.java index 5d7123b..456b69a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelophysisModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelophysisModel.java @@ -79,7 +79,7 @@ public class CoelophysisModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelurusModel.java index fa9cafb..7f6735b 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CoelurusModel.java @@ -79,7 +79,7 @@ public class CoelurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CompsognathusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CompsognathusModel.java index 67b7f13..15f307a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CompsognathusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CompsognathusModel.java @@ -79,7 +79,7 @@ public class CompsognathusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ConcavenatorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ConcavenatorModel.java index 0e33eb3..643d51e 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ConcavenatorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ConcavenatorModel.java @@ -79,7 +79,7 @@ public class ConcavenatorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CorythosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CorythosaurusModel.java index 525cbd3..cd8368a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/CorythosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/CorythosaurusModel.java @@ -79,7 +79,7 @@ public class CorythosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DeinonychusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DeinonychusModel.java index 599d5dc..c19b619 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DeinonychusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DeinonychusModel.java @@ -79,7 +79,7 @@ public class DeinonychusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DilophosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DilophosaurusModel.java index 6fc2c51..e8b45ac 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DilophosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DilophosaurusModel.java @@ -86,7 +86,7 @@ public class DilophosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DimorphodonModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DimorphodonModel.java index 9f85cba..b0f72ae 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DimorphodonModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DimorphodonModel.java @@ -79,7 +79,7 @@ public class DimorphodonModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DiplodocusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DiplodocusModel.java index 41af320..2e289c8 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DiplodocusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DiplodocusModel.java @@ -79,7 +79,7 @@ public class DiplodocusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DistortusRexModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DistortusRexModel.java index ba03738..004b24e 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DistortusRexModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DistortusRexModel.java @@ -79,7 +79,7 @@ public class DistortusRexModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DryosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DryosaurusModel.java index 835f2bc..d651aad 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/DryosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/DryosaurusModel.java @@ -79,7 +79,7 @@ public class DryosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/EdmontosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/EdmontosaurusModel.java index 195e3fb..d665c3b 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/EdmontosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/EdmontosaurusModel.java @@ -79,7 +79,7 @@ public class EdmontosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/FDuckModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/FDuckModel.java index fcbf804..1a765e3 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/FDuckModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/FDuckModel.java @@ -79,7 +79,7 @@ public class FDuckModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GallimimusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GallimimusModel.java index 3901d41..70a7f4d 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GallimimusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GallimimusModel.java @@ -79,7 +79,7 @@ public class GallimimusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GeosternbergiaModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GeosternbergiaModel.java index ac3fa1a..e146247 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GeosternbergiaModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GeosternbergiaModel.java @@ -77,7 +77,7 @@ public class GeosternbergiaModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GiganotosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GiganotosaurusModel.java index afd63ea..b466d35 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GiganotosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GiganotosaurusModel.java @@ -79,7 +79,7 @@ public class GiganotosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuanlongModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuanlongModel.java index 31521d8..fd3c191 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuanlongModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuanlongModel.java @@ -79,7 +79,7 @@ public class GuanlongModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuidracoModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuidracoModel.java index b5a48c7..ad273d6 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuidracoModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/GuidracoModel.java @@ -79,7 +79,7 @@ public class GuidracoModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HadrosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HadrosaurusModel.java index 76a4580..2851f22 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HadrosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HadrosaurusModel.java @@ -79,7 +79,7 @@ public class HadrosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HerrerasaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HerrerasaurusModel.java index d7e2c32..acd0a80 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HerrerasaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HerrerasaurusModel.java @@ -79,7 +79,7 @@ public class HerrerasaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HypsilophodonModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HypsilophodonModel.java index afa4d6e..12597b9 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/HypsilophodonModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/HypsilophodonModel.java @@ -79,7 +79,7 @@ public class HypsilophodonModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndominusRexModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndominusRexModel.java index 227bd4c..875d124 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndominusRexModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndominusRexModel.java @@ -79,7 +79,7 @@ public class IndominusRexModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.12f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndoraptorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndoraptorModel.java index 625e462..b25d6da 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndoraptorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/IndoraptorModel.java @@ -79,7 +79,7 @@ public class IndoraptorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.12f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/InostranceviaModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/InostranceviaModel.java index 7881c7a..bda45e2 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/InostranceviaModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/InostranceviaModel.java @@ -79,7 +79,7 @@ public class InostranceviaModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/LambeosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/LambeosaurusModel.java index 71ff8a9..fac7081 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/LambeosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/LambeosaurusModel.java @@ -79,7 +79,7 @@ public class LambeosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/LudodactylusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/LudodactylusModel.java index 2d5796a..d2e581b 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/LudodactylusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/LudodactylusModel.java @@ -86,7 +86,7 @@ public class LudodactylusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MajungasaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MajungasaurusModel.java index cc67fd5..e62fe3e 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MajungasaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MajungasaurusModel.java @@ -79,7 +79,7 @@ public class MajungasaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MamenchisaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MamenchisaurusModel.java index e38481b..8aeb209 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MamenchisaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MamenchisaurusModel.java @@ -79,7 +79,7 @@ public class MamenchisaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.12f, 0.08f, 0.06f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MawsoniaModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MawsoniaModel.java index c9d517b..1d56856 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MawsoniaModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MawsoniaModel.java @@ -79,7 +79,7 @@ public class MawsoniaModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MetriacanthosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MetriacanthosaurusModel.java index 7a89009..096dfeb 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MetriacanthosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MetriacanthosaurusModel.java @@ -79,7 +79,7 @@ public class MetriacanthosaurusModel extends GeoModel // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.12f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MoganopterusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MoganopterusModel.java index ae1098f..54a2c13 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MoganopterusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MoganopterusModel.java @@ -79,7 +79,7 @@ public class MoganopterusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MussasaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MussasaurusModel.java index 07974a8..49c3b86 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/MussasaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/MussasaurusModel.java @@ -79,7 +79,7 @@ public class MussasaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.10f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/NyctosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/NyctosaurusModel.java index d3e5e44..0ea8857 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/NyctosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/NyctosaurusModel.java @@ -79,7 +79,7 @@ public class NyctosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnitholestesModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnitholestesModel.java index c935e1f..543e0bb 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnitholestesModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnitholestesModel.java @@ -79,7 +79,7 @@ public class OrnitholestesModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f}; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnithomimusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnithomimusModel.java index 27b0862..e83252d 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnithomimusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OrnithomimusModel.java @@ -79,7 +79,7 @@ public class OrnithomimusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OuranosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OuranosaurusModel.java index 20bba05..ab2042c 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OuranosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OuranosaurusModel.java @@ -79,7 +79,7 @@ public class OuranosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OviraptorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OviraptorModel.java index abc2709..51c4fd2 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/OviraptorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/OviraptorModel.java @@ -79,7 +79,7 @@ public class OviraptorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PachycephalosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PachycephalosaurusModel.java index 1325b33..46beee4 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PachycephalosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PachycephalosaurusModel.java @@ -79,7 +79,7 @@ public class PachycephalosaurusModel extends GeoModel // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ParasaurolophusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ParasaurolophusModel.java index 296ab00..8f27520 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ParasaurolophusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ParasaurolophusModel.java @@ -79,7 +79,7 @@ public class ParasaurolophusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProceratosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProceratosaurusModel.java index e928de1..68b3607 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProceratosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProceratosaurusModel.java @@ -79,7 +79,7 @@ public class ProceratosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProcompsognathusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProcompsognathusModel.java index 2ed3877..e7385e7 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProcompsognathusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProcompsognathusModel.java @@ -79,7 +79,7 @@ public class ProcompsognathusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProtoceratopsModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProtoceratopsModel.java index c6b1feb..f617af7 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProtoceratopsModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ProtoceratopsModel.java @@ -79,7 +79,7 @@ public class ProtoceratopsModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PteranodonModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PteranodonModel.java index 78551a4..2c150b6 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PteranodonModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PteranodonModel.java @@ -79,7 +79,7 @@ public class PteranodonModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PterodaustroModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PterodaustroModel.java index 83d2651..d99c486 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/PterodaustroModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/PterodaustroModel.java @@ -79,7 +79,7 @@ public class PterodaustroModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/QuetzalcoatlusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/QuetzalcoatlusModel.java index 99fb8e5..270447e 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/QuetzalcoatlusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/QuetzalcoatlusModel.java @@ -79,7 +79,7 @@ public class QuetzalcoatlusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/RajasaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/RajasaurusModel.java index 270be31..e58289c 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/RajasaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/RajasaurusModel.java @@ -79,7 +79,7 @@ public class RajasaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/RugopsModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/RugopsModel.java index 5833be8..2411c11 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/RugopsModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/RugopsModel.java @@ -79,7 +79,7 @@ public class RugopsModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SegisaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SegisaurusModel.java index 4de2de3..81c6490 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SegisaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SegisaurusModel.java @@ -79,7 +79,7 @@ public class SegisaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ShantungosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ShantungosaurusModel.java index 32036aa..e4f083a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ShantungosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ShantungosaurusModel.java @@ -79,7 +79,7 @@ public class ShantungosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SpinosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SpinosaurusModel.java index 841c03c..07e9342 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SpinosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SpinosaurusModel.java @@ -79,7 +79,7 @@ public class SpinosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/StegosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/StegosaurusModel.java index 902930d..c7d43b7 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/StegosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/StegosaurusModel.java @@ -79,7 +79,7 @@ public class StegosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/StyracosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/StyracosaurusModel.java index 45a0a27..72576d9 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/StyracosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/StyracosaurusModel.java @@ -79,7 +79,7 @@ public class StyracosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SuchomimusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SuchomimusModel.java index a7679e8..25bc24d 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/SuchomimusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/SuchomimusModel.java @@ -79,7 +79,7 @@ public class SuchomimusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TapejaraModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TapejaraModel.java index 864ef84..6f54e1e 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TapejaraModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TapejaraModel.java @@ -79,7 +79,7 @@ public class TapejaraModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TherizinosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TherizinosaurusModel.java index f376b31..f366d07 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TherizinosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TherizinosaurusModel.java @@ -79,7 +79,7 @@ public class TherizinosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ThescelosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ThescelosaurusModel.java index 7b043e2..cb9dab4 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ThescelosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ThescelosaurusModel.java @@ -79,7 +79,7 @@ public class ThescelosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TitanosaurusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TitanosaurusModel.java index f2e09dd..b28a444 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TitanosaurusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TitanosaurusModel.java @@ -79,7 +79,7 @@ public class TitanosaurusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f, 0.16f, 0.12f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TriceratopsModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TriceratopsModel.java index b6e99e7..a23d032 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TriceratopsModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TriceratopsModel.java @@ -79,7 +79,7 @@ public class TriceratopsModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TroodonModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TroodonModel.java index 93aa642..f883892 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TroodonModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TroodonModel.java @@ -79,7 +79,7 @@ public class TroodonModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TropeognathusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TropeognathusModel.java index db7cfdf..2d2e115 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TropeognathusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TropeognathusModel.java @@ -79,7 +79,7 @@ public class TropeognathusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TupuxuaraModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TupuxuaraModel.java index 4b1051b..013b760 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TupuxuaraModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TupuxuaraModel.java @@ -79,7 +79,7 @@ public class TupuxuaraModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TyrannosaurusRexModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TyrannosaurusRexModel.java index 54f9ed8..41e3688 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/TyrannosaurusRexModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/TyrannosaurusRexModel.java @@ -93,7 +93,7 @@ public class TyrannosaurusRexModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/UtahraptorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/UtahraptorModel.java index 3bf79de..53fade0 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/UtahraptorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/UtahraptorModel.java @@ -79,7 +79,7 @@ public class UtahraptorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/VelociraptorModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/VelociraptorModel.java index d14cf79..82af1d5 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/VelociraptorModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/VelociraptorModel.java @@ -104,7 +104,7 @@ public class VelociraptorModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f, 0.42f, 0.30f, 0.22f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ZhenyuanopterusModel.java b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ZhenyuanopterusModel.java index e0a4d67..c657aad 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/client/ZhenyuanopterusModel.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/client/ZhenyuanopterusModel.java @@ -79,7 +79,7 @@ public class ZhenyuanopterusModel extends GeoModel { // Direction: positive sway (left turn) -> tail swings right (negative yaw) // Flip the sign here if the sway feels inverted - float baseYaw = sway * maxYawDeg * deg2rad; + float baseYaw = (sway * swayGain) * maxYawDeg * deg2rad; float baseRoll = -baseYaw * rollFraction; float[] weights = { 1.00f, 0.78f, 0.58f }; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/AlligatorGarEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/AlligatorGarEntity.java index 889918f..6b8fc50 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/AlligatorGarEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/AlligatorGarEntity.java @@ -45,7 +45,7 @@ public class AlligatorGarEntity extends DinoEntityBase implements GeoEntity { private AnimatableInstanceCache cache = new SingletonAnimatableInstanceCache(this); public static final int BABY_TO_ADULT_AGE_TICKS = 28800; - private static final float ANIMAL_SCALE = 1.0F; + private static final float ANIMAL_SCALE = 1.4F; private static final float MIN_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE - 0.2F) : ANIMAL_SCALE; private static final float MAX_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE + 0.2F) : ANIMAL_SCALE; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/BaryonyxEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/BaryonyxEntity.java index bf951b2..9f85f25 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/BaryonyxEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/BaryonyxEntity.java @@ -164,12 +164,19 @@ public class BaryonyxEntity extends DinoEntityBase implements GeoEntity { @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "Walk/Run/Idle", 5, state -> { - if (state.isMoving()) - return state.setAndContinue(BaryonyxEntity.this.isSprinting() ? RawAnimation.begin().then("anim.baryonyx.run", Animation.LoopType.LOOP) : RawAnimation.begin().then("anim.baryonyx.walk", Animation.LoopType.LOOP)); + controllers.add(new AnimationController<>(this, "MovementController", 5, state -> { + if (BaryonyxEntity.this.isWaterDeepEnoughToSwim()) { + return state.setAndContinue(RawAnimation.begin().then("anim.baryonyx.swim", Animation.LoopType.LOOP)); + } - return state.setAndContinue(RawAnimation.begin().then("anim.baryonyx.idle", Animation.LoopType.LOOP)); - })); + if (state.isMoving()) { + return state.setAndContinue(BaryonyxEntity.this.isSprinting() + ? RawAnimation.begin().then("anim.baryonyx.run", Animation.LoopType.LOOP) + : RawAnimation.begin().then("anim.baryonyx.walk", Animation.LoopType.LOOP)); + } + + return state.setAndContinue(RawAnimation.begin().then("anim.baryonyx.idle", Animation.LoopType.LOOP)); + })); controllers.add(new AnimationController<>(this, "attackController", 5, state -> PlayState.STOP) .triggerableAnim("attack", RawAnimation.begin().then("anim.baryonyx.attack", Animation.LoopType.PLAY_ONCE))); @@ -178,6 +185,10 @@ public class BaryonyxEntity extends DinoEntityBase implements GeoEntity { .triggerableAnim("mouth", RawAnimation.begin().then("anim.baryonyx.mouth", Animation.LoopType.PLAY_ONCE))); } + private boolean isWaterDeepEnoughToSwim() { + return this.isInWater() && this.level().getBlockState(this.blockPosition().below()).getFluidState().isSource(); + } + private float getSignedTurnDelta() { // Only consider the body (torso) rotation so head look does not affect tail sway return Mth.wrapDegrees(this.yBodyRot - this.yBodyRotO); diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/CoelacanthEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/CoelacanthEntity.java index d6ea1c6..4273d53 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/CoelacanthEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/CoelacanthEntity.java @@ -51,7 +51,7 @@ public class CoelacanthEntity extends DinoEntityBase implements GeoEntity { private AnimatableInstanceCache cache = new SingletonAnimatableInstanceCache(this); public static final int BABY_TO_ADULT_AGE_TICKS = 28800; - private static final float ANIMAL_SCALE = 1.0F; + private static final float ANIMAL_SCALE = 1.5F; private static final float MIN_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE - 0.2F) : ANIMAL_SCALE; private static final float MAX_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE + 0.2F) : ANIMAL_SCALE; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/MawsoniaEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/MawsoniaEntity.java index deb112c..9f32b32 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/MawsoniaEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/MawsoniaEntity.java @@ -45,7 +45,7 @@ public class MawsoniaEntity extends DinoEntityBase implements GeoEntity { private AnimatableInstanceCache cache = new SingletonAnimatableInstanceCache(this); public static final int BABY_TO_ADULT_AGE_TICKS = 28800; - private static final float ANIMAL_SCALE = 1.0F; + private static final float ANIMAL_SCALE = 1.8F; private static final float MIN_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE - 0.2F) : ANIMAL_SCALE; private static final float MAX_ANIMAL_SCALE = !Constants.DEBUG_SIZES ? (ANIMAL_SCALE + 0.2F) : ANIMAL_SCALE; diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SpinosaurusEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SpinosaurusEntity.java index 71d243c..42ced3a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SpinosaurusEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SpinosaurusEntity.java @@ -166,12 +166,19 @@ public class SpinosaurusEntity extends DinoEntityBase implements GeoEntity { @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "Walk/Run/Idle", 5, state -> { - if (state.isMoving()) - return state.setAndContinue(SpinosaurusEntity.this.isSprinting() ? RawAnimation.begin().then("anim.spinosaurus.run", Animation.LoopType.LOOP) : RawAnimation.begin().then("anim.spinosaurus.walk", Animation.LoopType.LOOP)); + controllers.add(new AnimationController<>(this, "MovementController", 5, state -> { + if (SpinosaurusEntity.this.isWaterDeepEnoughToSwim()) { + return state.setAndContinue(RawAnimation.begin().then("anim.spinosaurus.swim", Animation.LoopType.LOOP)); + } - return state.setAndContinue(RawAnimation.begin().then("anim.spinosaurus.idle", Animation.LoopType.LOOP)); - })); + if (state.isMoving()) { + return state.setAndContinue(SpinosaurusEntity.this.isSprinting() + ? RawAnimation.begin().then("anim.spinosaurus.run", Animation.LoopType.LOOP) + : RawAnimation.begin().then("anim.spinosaurus.walk", Animation.LoopType.LOOP)); + } + + return state.setAndContinue(RawAnimation.begin().then("anim.spinosaurus.idle", Animation.LoopType.LOOP)); + })); controllers.add(new AnimationController<>(this, "attackController", 5, state -> PlayState.STOP) .triggerableAnim("attack", RawAnimation.begin().then("anim.spinosaurus.attack", Animation.LoopType.PLAY_ONCE))); @@ -180,6 +187,10 @@ public class SpinosaurusEntity extends DinoEntityBase implements GeoEntity { .triggerableAnim("mouth", RawAnimation.begin().then("anim.spinosaurus.mouth", Animation.LoopType.PLAY_ONCE))); } + private boolean isWaterDeepEnoughToSwim() { + return this.isInWater() && this.level().getBlockState(this.blockPosition().below()).getFluidState().isSource(); + } + private float getSignedTurnDelta() { // Only consider the body (torso) rotation so head look does not affect tail sway return Mth.wrapDegrees(this.yBodyRot - this.yBodyRotO); diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SuchomimusEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SuchomimusEntity.java index 51e3aa9..09c5fd2 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SuchomimusEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/SuchomimusEntity.java @@ -156,12 +156,19 @@ public class SuchomimusEntity extends DinoEntityBase implements GeoEntity { @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "Walk/Run/Idle", 5, state -> { - if (state.isMoving()) - return state.setAndContinue(SuchomimusEntity.this.isSprinting() ? RawAnimation.begin().then("anim.suchomimus.run", Animation.LoopType.LOOP) : RawAnimation.begin().then("anim.suchomimus.walk", Animation.LoopType.LOOP)); + controllers.add(new AnimationController<>(this, "MovementController", 5, state -> { + if (SuchomimusEntity.this.isWaterDeepEnoughToSwim()) { + return state.setAndContinue(RawAnimation.begin().then("anim.suchomimus.swim", Animation.LoopType.LOOP)); + } - return state.setAndContinue(RawAnimation.begin().then("anim.suchomimus.idle", Animation.LoopType.LOOP)); - })); + if (state.isMoving()) { + return state.setAndContinue(SuchomimusEntity.this.isSprinting() + ? RawAnimation.begin().then("anim.suchomimus.run", Animation.LoopType.LOOP) + : RawAnimation.begin().then("anim.suchomimus.walk", Animation.LoopType.LOOP)); + } + + return state.setAndContinue(RawAnimation.begin().then("anim.suchomimus.idle", Animation.LoopType.LOOP)); + })); controllers.add(new AnimationController<>(this, "attackController", 5, state -> PlayState.STOP) .triggerableAnim("attack", RawAnimation.begin().then("anim.suchomimus.attack", Animation.LoopType.PLAY_ONCE))); @@ -170,6 +177,10 @@ public class SuchomimusEntity extends DinoEntityBase implements GeoEntity { .triggerableAnim("mouth", RawAnimation.begin().then("anim.suchomimus.mouth", Animation.LoopType.PLAY_ONCE))); } + private boolean isWaterDeepEnoughToSwim() { + return this.isInWater() && this.level().getBlockState(this.blockPosition().below()).getFluidState().isSource(); + } + private float getSignedTurnDelta() { // Only consider the body (torso) rotation so head look does not affect tail sway return Mth.wrapDegrees(this.yBodyRot - this.yBodyRotO); diff --git a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/TyrannosaurusRexEntity.java b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/TyrannosaurusRexEntity.java index be4422a..55f9d2a 100644 --- a/common/src/main/java/net/cmr/jurassicrevived/entity/custom/TyrannosaurusRexEntity.java +++ b/common/src/main/java/net/cmr/jurassicrevived/entity/custom/TyrannosaurusRexEntity.java @@ -167,12 +167,19 @@ public class TyrannosaurusRexEntity extends DinoEntityBase implements GeoEntity @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "Walk/Run/Idle", 5, state -> { - if (state.isMoving()) - return state.setAndContinue(TyrannosaurusRexEntity.this.isSprinting() ? RawAnimation.begin().then("anim.tyrannosaurus_rex.run", Animation.LoopType.LOOP) : RawAnimation.begin().then("anim.tyrannosaurus_rex.walk", Animation.LoopType.LOOP)); + controllers.add(new AnimationController<>(this, "MovementController", 5, state -> { + if (TyrannosaurusRexEntity.this.isWaterDeepEnoughToSwim()) { + return state.setAndContinue(RawAnimation.begin().then("anim.tyrannosaurus_rex.swim", Animation.LoopType.LOOP)); + } - return state.setAndContinue(RawAnimation.begin().then("anim.tyrannosaurus_rex.idle", Animation.LoopType.LOOP)); - })); + if (state.isMoving()) { + return state.setAndContinue(TyrannosaurusRexEntity.this.isSprinting() + ? RawAnimation.begin().then("anim.tyrannosaurus_rex.run", Animation.LoopType.LOOP) + : RawAnimation.begin().then("anim.tyrannosaurus_rex.walk", Animation.LoopType.LOOP)); + } + + return state.setAndContinue(RawAnimation.begin().then("anim.tyrannosaurus_rex.idle", Animation.LoopType.LOOP)); + })); controllers.add(new AnimationController<>(this, "attackController", 5, state -> PlayState.STOP) .triggerableAnim("attack", RawAnimation.begin().then("anim.tyrannosaurus_rex.attack", Animation.LoopType.PLAY_ONCE))); @@ -181,6 +188,10 @@ public class TyrannosaurusRexEntity extends DinoEntityBase implements GeoEntity .triggerableAnim("mouth", RawAnimation.begin().then("anim.tyrannosaurus_rex.mouth", Animation.LoopType.PLAY_ONCE))); } + private boolean isWaterDeepEnoughToSwim() { + return this.isInWater() && this.level().getBlockState(this.blockPosition().below()).getFluidState().isSource(); + } + private float getSignedTurnDelta() { // Only consider the body (torso) rotation so head look does not affect tail sway return Mth.wrapDegrees(this.yBodyRot - this.yBodyRotO); diff --git a/common/src/main/resources/assets/jurassicrevived/animations/alligator_gar.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/alligator_gar.animation.json index 0d811ea..d44c3ea 100644 --- a/common/src/main/resources/assets/jurassicrevived/animations/alligator_gar.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/alligator_gar.animation.json @@ -487,106 +487,6 @@ } } }, - "anim.alligator_gar.mouth": { - "loop": "hold_on_last_frame", - "animation_length": 1.25, - "bones": { - "Jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Lowerjawfront": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.5": { - "vector": [40, 0, 0] - }, - "1.25": { - "vector": [0, 0, 0] - } - } - }, - "root": { - "position": { - "vector": [0, 0, -20] - } - }, - "Lowerjawrear": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.625": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Lowerjawtop": { - "rotation": { - "0.0": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Neck": { - "rotation": { - "0.0": { - "vector": [15, 0, 0] - }, - "1.25": { - "vector": [15, 0, 0] - } - } - } - } - }, "anim.alligator_gar.flop": { "loop": true, "animation_length": 0.5, @@ -727,13 +627,13 @@ "root": { "position": { "0.0": { - "vector": [4, -16, -17] + "vector": [4, 4, -17] }, "0.1667": { - "vector": [4, -17, -16] + "vector": [4, 1, -17] }, "0.5": { - "vector": [4, -16, -17] + "vector": [4, 4, -17] } } }, diff --git a/common/src/main/resources/assets/jurassicrevived/animations/baryonyx.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/baryonyx.animation.json index 1a51e86..9c38182 100755 --- a/common/src/main/resources/assets/jurassicrevived/animations/baryonyx.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/baryonyx.animation.json @@ -3725,7 +3725,137 @@ } } } + }, + "anim.baryonyx.swim": { + "loop": true, + "animation_length": 3.25, + "bones": { + "Neck6": { + "rotation": { + "vector": [-7.5, 0, 0] + } + }, + "root": { + "rotation": { + "vector": [2.5, 0, 0] + }, + "position": { + "vector": ["-math.sin(q.anim_time*90*1.25)*-1.5", -1, 0] + } + }, + "RightThigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "RightCalf1": { + "rotation": { + "vector": ["math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootRight": { + "rotation": { + "vector": ["17.5+math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Body1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*7.5", "math.sin(q.anim_time*90*1.25)*-0.5"] + } + }, + "Tail1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*12.5", 0] + } + }, + "Tail2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-20", 0] + } + }, + "Tail3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-17.5", 0] + } + }, + "Tail4": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-12.5", 0] + } + }, + "Tail5": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-20", 0] + } + }, + "Body2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-7.5", 0] + } + }, + "Body3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-10", 0] + } + }, + "Neck_under2": { + "rotation": { + "vector": [15, 0, 0] + }, + "position": { + "vector": [0, 2, 0] + } + }, + "Neck3": { + "rotation": { + "vector": [-12.5, "-math.sin(q.anim_time*90*1.25)*12.5", "math.sin(q.anim_time*90*1.25)*0.5"] + } + }, + "Neck2": { + "rotation": { + "vector": [-5, "-math.sin(q.anim_time*90*1.25)*7.5", 0] + } + }, + "Neck1": { + "rotation": { + "vector": [-2.5, "-math.sin(q.anim_time*90*1.25+60)*-7.5", 0] + } + }, + "Head": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-5", 0] + } + }, + "Neck_under1": { + "rotation": { + "vector": [-30, "-math.sin(q.anim_time*90*1.25)*-5", 0] + }, + "position": { + "vector": [0, 1.7, -0.9] + } + }, + "LeftThigh": { + "rotation": { + "vector": ["32.5-math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "LeftCalf1": { + "rotation": { + "vector": ["-math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootLeft": { + "rotation": { + "vector": ["17.5-math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + } + } } - }, - "geckolib_format_version": 2 + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/jurassicrevived/animations/coelacanth.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/coelacanth.animation.json index d81f20c..4ffdc43 100644 --- a/common/src/main/resources/assets/jurassicrevived/animations/coelacanth.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/coelacanth.animation.json @@ -735,62 +735,6 @@ } } }, - "anim.coelacanth.mouth": { - "loop": "hold_on_last_frame", - "animation_length": 1.25, - "bones": { - "Jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Lowerjawfront": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, "anim.coelacanth.flop": { "loop": true, "animation_length": 0.5, @@ -1019,25 +963,28 @@ }, "position": { "0.0": { - "vector": [0, -2, 0] + "post": { + "vector": [0, 12, 0] + }, + "lerp_mode": "catmullrom" }, "0.125": { - "pre": { - "vector": [0, 0, 0] - }, "post": { - "vector": [0, 0, 0] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [0, -4, 0] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" }, "0.5": { - "vector": [0, -2, 0] + "post": { + "vector": [0, 12, 0] + }, + "lerp_mode": "catmullrom" } } }, diff --git a/common/src/main/resources/assets/jurassicrevived/animations/mawsonia.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/mawsonia.animation.json index 8819816..cb0a689 100644 --- a/common/src/main/resources/assets/jurassicrevived/animations/mawsonia.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/mawsonia.animation.json @@ -1037,106 +1037,6 @@ } } } - }, - "anim.mawsonia.mouth": { - "loop": "hold_on_last_frame", - "animation_length": 1.25, - "bones": { - "Jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Lowerjawfront": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "shape6": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Lowerjawforward2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/jurassicrevived/animations/spinosaurus.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/spinosaurus.animation.json index e1c24f9..2e1f924 100755 --- a/common/src/main/resources/assets/jurassicrevived/animations/spinosaurus.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/spinosaurus.animation.json @@ -3424,7 +3424,121 @@ } } } + }, + "anim.spinosaurus.swim": { + "loop": true, + "animation_length": 3.25, + "bones": { + "Neck6": { + "rotation": { + "vector": [-7.5, 0, 0] + } + }, + "root": { + "rotation": { + "vector": [-5, 0, 0] + }, + "position": { + "vector": ["-math.sin(q.anim_time*90*1.25)*-1.5", 1, 0] + } + }, + "RightThigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "RightCalf1": { + "rotation": { + "vector": ["math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootRight": { + "rotation": { + "vector": ["17.5+math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Body1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*7.5", "math.sin(q.anim_time*90*1.25)*-0.5"] + } + }, + "Tail1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*12.5", 0] + } + }, + "Tail2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-20", 0] + } + }, + "Tail3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-17.5", 0] + } + }, + "Tail4": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-12.5", 0] + } + }, + "Tail5": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-20", 0] + } + }, + "Body2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-7.5", 0] + } + }, + "Body3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-10", 0] + } + }, + "Neck1": { + "rotation": { + "vector": [15, "-math.sin(q.anim_time*90*1.25+60)*-7.5", 0] + } + }, + "Neck2": { + "rotation": { + "vector": [7.5, "-math.sin(q.anim_time*90*1.25)*7.5", 0] + } + }, + "Neck3": { + "rotation": { + "vector": [-12.5, "-math.sin(q.anim_time*90*1.25)*12.5", "math.sin(q.anim_time*90*1.25)*0.5"] + } + }, + "Head": { + "rotation": { + "vector": [-10, "-math.sin(q.anim_time*90*1.25)*-5", 0] + } + }, + "LeftThigh": { + "rotation": { + "vector": ["32.5-math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "LeftCalf1": { + "rotation": { + "vector": ["-math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootLeft": { + "rotation": { + "vector": ["17.5-math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + } + } } - }, - "geckolib_format_version": 2 + } } \ No newline at end of file diff --git a/common/src/main/resources/assets/jurassicrevived/animations/suchomimus.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/suchomimus.animation.json index fc0c0d5..883119c 100644 --- a/common/src/main/resources/assets/jurassicrevived/animations/suchomimus.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/suchomimus.animation.json @@ -7082,6 +7082,229 @@ } } } + }, + "anim.suchomimus.swim": { + "loop": true, + "animation_length": 3.25, + "bones": { + "Neck6": { + "rotation": { + "vector": [-7.5, 0, 0] + } + }, + "root": { + "rotation": { + "vector": [2.5, 0, 0] + }, + "position": { + "vector": ["-math.sin(q.anim_time*90*1.25)*-1.5", -31, 0] + } + }, + "RightThigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "RightCalf1": { + "rotation": { + "vector": ["math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootRight": { + "rotation": { + "vector": ["17.5+math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Body1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*7.5", "math.sin(q.anim_time*90*1.25)*-0.5"] + } + }, + "Tail1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*12.5", 0] + } + }, + "Tail2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-20", 0] + } + }, + "Tail3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-17.5", 0] + } + }, + "Tail4": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-12.5", 0] + } + }, + "Tail5": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-20", 0] + } + }, + "Body2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-7.5", 0] + } + }, + "Body3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-10", 0] + } + }, + "Neck_under2": { + "rotation": { + "vector": [15, 0, 0] + }, + "position": { + "vector": [0, 2, 0] + } + }, + "Neck3": { + "rotation": { + "vector": [-12.5, "-math.sin(q.anim_time*90*1.25)*12.5", "math.sin(q.anim_time*90*1.25)*0.5"] + } + }, + "Neck2": { + "rotation": { + "vector": [-5, "-math.sin(q.anim_time*90*1.25)*7.5", 0] + } + }, + "Neck1": { + "rotation": { + "vector": [-2.5, "-math.sin(q.anim_time*90*1.25+60)*-7.5", 0] + } + }, + "Neck_under1": { + "rotation": { + "vector": [-30, "-math.sin(q.anim_time*90*1.25)*-5", 0] + }, + "position": { + "vector": [0, 1.7, -0.9] + } + }, + "LeftThigh": { + "rotation": { + "vector": ["32.5-math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "LeftCalf1": { + "rotation": { + "vector": ["-math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootLeft": { + "rotation": { + "vector": ["17.5-math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Right Thigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 0, 0] + } + }, + "Right Calf 1": { + "rotation": { + "vector": ["-math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "Foot Right": { + "rotation": { + "vector": ["17.5-math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Body 1": { + "rotation": { + "vector": [2.5, "-math.sin(q.anim_time*90*1.25+60)*7.5", "math.sin(q.anim_time*90*1.25)*-0.5"] + }, + "position": { + "vector": [0, 1, 0] + } + }, + "Tail 1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*12.5", 0] + } + }, + "Tail 2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-20", 0] + } + }, + "Tail 3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-17.5", 0] + } + }, + "Tail 4": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-12.5", 0] + } + }, + "Tail 5": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-20", 0] + } + }, + "Body 2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-7.5", 0] + } + }, + "Body 3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-10", 0] + } + }, + "Neck 1": { + "rotation": { + "vector": [7.5, "-math.sin(q.anim_time*90*1.25)*7.5", 0] + } + }, + "Neck 2": { + "rotation": { + "vector": [-12.5, "-math.sin(q.anim_time*90*1.25)*12.5", "math.sin(q.anim_time*90*1.25)*0.5"] + }, + "position": { + "vector": [0, 0, 1] + } + }, + "Head": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-5", 0] + } + }, + "Left Thigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 0, 0] + } + }, + "Left Calf 1": { + "rotation": { + "vector": ["math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "Foot Left": { + "rotation": { + "vector": ["17.5+math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/jurassicrevived/animations/tyrannosaurus_rex.animation.json b/common/src/main/resources/assets/jurassicrevived/animations/tyrannosaurus_rex.animation.json index 122630c..123b3d7 100755 --- a/common/src/main/resources/assets/jurassicrevived/animations/tyrannosaurus_rex.animation.json +++ b/common/src/main/resources/assets/jurassicrevived/animations/tyrannosaurus_rex.animation.json @@ -1453,19 +1453,19 @@ }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [27.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [-3.75, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [-22.5, 0, 0] }, @@ -1479,25 +1479,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [0, 0.75, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 2.88, 2.12] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5392": { "post": { "vector": [0, 6, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, -0.75, -3] }, @@ -1513,31 +1513,31 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1471": { "post": { "vector": [-3.01, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.4248": { "post": { "vector": [-12.1, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5556": { "post": { "vector": [15.33, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [-12.5, 0, 0] }, @@ -1553,37 +1553,37 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1471": { "post": { "vector": [-1.25, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [29.95, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [17, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6373": { "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [17.5, 0, 0] }, @@ -1599,31 +1599,31 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1471": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [-22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6373": { "post": { "vector": [37.18, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [17.5, 0, 0] }, @@ -1637,19 +1637,19 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1471": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [0, -0.63071, 0.18778] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 0, 0] }, @@ -1662,7 +1662,7 @@ "0.0": { "vector": [0, 0, 0] }, - "0.0833": { + "0.098": { "pre": { "vector": [2.5, 0, 0] }, @@ -1671,25 +1671,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [0, 0, 0] } }, @@ -1700,25 +1700,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 0, 0] }, @@ -1764,25 +1764,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [4.88398, 0, -0.20029] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [4.88398, 0, -0.20029] }, @@ -1796,25 +1796,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [0, 0.25, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [0, 0.25, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 0, 0] }, @@ -1830,25 +1830,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [-4.99457, 0.02413, 0.22998] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [-4.99457, 0.02413, 0.22998] }, @@ -1862,25 +1862,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [0, 0.25, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5882": { "post": { "vector": [0, 0.25, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 0, 0] }, @@ -1893,7 +1893,7 @@ "0.0": { "vector": [0, 0, 0] }, - "0.0833": { + "0.098": { "pre": { "vector": [-2.5, 0, 0] }, @@ -1902,25 +1902,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [0, 0, 0] } } @@ -1930,7 +1930,7 @@ "0.0": { "vector": [0, 0, 0] }, - "0.0833": { + "0.098": { "pre": { "vector": [-2.5, 0, 0] }, @@ -1939,25 +1939,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [0, 0, 0] } } @@ -1967,7 +1967,7 @@ "0.0": { "vector": [0, 0, 0] }, - "0.0833": { + "0.098": { "pre": { "vector": [-2.5, 0, 0] }, @@ -1976,25 +1976,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [0, 0, 0] } } @@ -2004,7 +2004,7 @@ "0.0": { "vector": [0, 0, 0] }, - "0.0833": { + "0.098": { "pre": { "vector": [-2.5, 0, 0] }, @@ -2013,25 +2013,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [0, 0, 0] } } @@ -2041,7 +2041,7 @@ "0.0": { "vector": [7.5, -0.00418, -0.00187] }, - "0.0833": { + "0.098": { "pre": { "vector": [7.5, -0.00258, 0.00011] }, @@ -2050,25 +2050,25 @@ }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [12.5, 0.0043, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [7.5, 0.00258, -0.00011] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [12.5, -0.00304, -0.0002] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "vector": [7.5, -0.00418, -0.00187] } } @@ -2081,31 +2081,31 @@ }, "lerp_mode": "catmullrom" }, - "0.0833": { + "0.098": { "post": { "vector": [-12.5, 0.0029, -0.00186] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2941": { "post": { "vector": [-15, -0.0048, 0.00362] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4902": { "post": { "vector": [-17.5, -0.00422, 0.00297] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [-15, -0.0048, 0.00362] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [-12.5, 0.00751, -0.00134] }, @@ -2121,19 +2121,19 @@ }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1961": { "post": { "vector": [-3.75, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [-22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [27.5, 0, 0] }, @@ -2147,25 +2147,25 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1471": { "post": { "vector": [0, 6, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, -0.75, -3] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [0, 0.75, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 2.88, 2.12] }, @@ -2181,37 +2181,37 @@ }, "lerp_mode": "catmullrom" }, - "0.0417": { + "0.0327": { "post": { "vector": [-12.1, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1634": { "post": { "vector": [15.33, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5392": { "post": { "vector": [-3.01, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [-12.07, 0, 0] }, @@ -2227,37 +2227,37 @@ }, "lerp_mode": "catmullrom" }, - "0.0833": { + "0.098": { "post": { "vector": [17, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.2451": { "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5392": { "post": { "vector": [-1.25, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [29.95, 0, 0] }, @@ -2273,37 +2273,37 @@ }, "lerp_mode": "catmullrom" }, - "0.0833": { + "0.098": { "post": { "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.2451": { "post": { "vector": [37.18, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5392": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [-22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [15.18, 0, 0] }, @@ -2317,25 +2317,25 @@ }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5392": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.6667": { + "0.6863": { "post": { "vector": [0, -0.63071, 0.18778] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, -0.58, 0.17] }, @@ -2351,25 +2351,25 @@ }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.1797": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3922": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5719": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.7843": { "post": { "vector": [0, 0, 0] }, @@ -2390,25 +2390,25 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [-45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.8333": { + "0.8523": { "post": { "vector": [-42.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-22.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [-22.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2422,19 +2422,19 @@ "0.0": { "vector": [0, 0, 0] }, - "0.5833": { + "0.5682": { "vector": [0, 2.5, 0] }, - "1.125": { + "1.1364": { "vector": [0, -1, 0] }, - "3.4167": { + "3.4091": { "vector": [0, -1, 0] }, - "3.7083": { + "3.6932": { "vector": [0, 0.25, 0] }, - "3.9583": { + "3.9773": { "vector": [0, 0, 0] } } @@ -2447,25 +2447,25 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.8333": { + "0.8523": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-22.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [-22.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2484,25 +2484,25 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.8333": { + "0.8523": { "post": { "vector": [15, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [22.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [22.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2521,25 +2521,25 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [82.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.8333": { + "0.8523": { "post": { "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [22.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [22.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2556,19 +2556,19 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [0, -0.78248, -0.58913] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0.29846, -0.40115] }, - "3.4167": { + "3.4091": { "vector": [0, 0.29846, -0.40115] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2587,22 +2587,22 @@ }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.7102": { "post": { "vector": [-15, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.4167": { + "3.4091": { "vector": [12.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2621,19 +2621,19 @@ }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.7102": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0833": { + "1.089": { "post": { "vector": [-0.03623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2649,19 +2649,19 @@ }, "lerp_mode": "catmullrom" }, - "0.8333": { + "0.8523": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.25": { + "1.2311": { "post": { "vector": [-0.03623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2683,13 +2683,13 @@ }, "lerp_mode": "catmullrom" }, - "1.4167": { + "1.4205": { "post": { "vector": [-5.03623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2705,19 +2705,19 @@ }, "lerp_mode": "catmullrom" }, - "1.1667": { + "1.1837": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.5833": { + "1.5625": { "post": { "vector": [-0.03623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2733,19 +2733,19 @@ }, "lerp_mode": "catmullrom" }, - "1.3333": { + "1.3258": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.7083": { + "1.7045": { "post": { "vector": [-2.53623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2761,19 +2761,19 @@ }, "lerp_mode": "catmullrom" }, - "1.5": { + "1.5152": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.875": { + "1.8939": { "post": { "vector": [-2.53623, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2789,25 +2789,25 @@ }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.7102": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.1667": { + "1.1837": { "post": { "vector": [-43.64153, 6.44251, 15.57614] }, "lerp_mode": "catmullrom" }, - "3.5417": { + "3.5511": { "post": { "vector": [-43.64153, 6.44251, 15.57614] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2823,25 +2823,25 @@ }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.7102": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.1667": { + "1.1837": { "post": { "vector": [-43.64153, -6.44251, -15.57614] }, "lerp_mode": "catmullrom" }, - "3.5417": { + "3.5511": { "post": { "vector": [-43.64153, -6.44251, -15.57614] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2857,16 +2857,16 @@ }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6155": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -2885,61 +2885,61 @@ }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.4261": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.7576": { "post": { "vector": [19.55, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "post": { "vector": [-37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.625": { + "1.6098": { "post": { "vector": [-36.83224, -9.84314, -7.74302] }, "lerp_mode": "catmullrom" }, - "2.0417": { + "2.036": { "post": { "vector": [-36.83224, 9.84314, 7.74302] }, "lerp_mode": "catmullrom" }, - "2.4583": { + "2.4621": { "post": { "vector": [-36.83224, -9.84314, -7.74302] }, "lerp_mode": "catmullrom" }, - "2.875": { + "2.8883": { "post": { "vector": [-36.83224, 9.84314, 7.74302] }, "lerp_mode": "catmullrom" }, - "3.4167": { + "3.4091": { "post": { "vector": [-37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.7083": { + "3.6932": { "post": { "vector": [-1.25, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2953,31 +2953,31 @@ }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.7576": { "post": { "vector": [0, 0.57264, -1.04288] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "post": { "vector": [0, -1.45865, 1.36833] }, "lerp_mode": "catmullrom" }, - "3.4167": { + "3.4091": { "post": { "vector": [0, -1.45865, 1.36833] }, "lerp_mode": "catmullrom" }, - "3.7083": { + "3.6932": { "post": { "vector": [0, -0.14531, -0.13126] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -2987,7 +2987,7 @@ }, "LowerJaw": { "rotation": { - "0.5833": { + "0.5682": { "pre": { "vector": [0, 0, 0] }, @@ -2996,19 +2996,19 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "post": { "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.4167": { + "3.4091": { "post": { "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -3024,13 +3024,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0, -8.75] }, - "3.4167": { + "3.4091": { "vector": [0, 0, -8.75] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3049,7 +3049,7 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [-27.5, 0, 0] }, @@ -3061,13 +3061,13 @@ }, "lerp_mode": "catmullrom" }, - "3.5417": { + "3.5511": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -3083,13 +3083,13 @@ }, "lerp_mode": "catmullrom" }, - "0.4583": { + "0.4735": { "post": { "vector": [-50.94942, 28.79314, -49.54342] }, "lerp_mode": "catmullrom" }, - "0.9583": { + "0.947": { "post": { "vector": [0, 0, 0] }, @@ -3103,13 +3103,13 @@ }, "lerp_mode": "catmullrom" }, - "0.4583": { + "0.4735": { "post": { "vector": [0.25, 0.75, 0.25] }, "lerp_mode": "catmullrom" }, - "0.9583": { + "0.947": { "post": { "vector": [0, 0, 0] }, @@ -3125,7 +3125,7 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "post": { "vector": [-27.5, 0, 0] }, @@ -3137,13 +3137,13 @@ }, "lerp_mode": "catmullrom" }, - "3.5417": { + "3.5511": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -3159,13 +3159,13 @@ }, "lerp_mode": "catmullrom" }, - "0.4583": { + "0.4735": { "post": { "vector": [50.94942, -28.79314, 49.54342] }, "lerp_mode": "catmullrom" }, - "0.9583": { + "0.947": { "post": { "vector": [0, 0, 0] }, @@ -3179,13 +3179,13 @@ }, "lerp_mode": "catmullrom" }, - "0.4583": { + "0.4735": { "post": { "vector": [-0.25, 0.75, 0.25] }, "lerp_mode": "catmullrom" }, - "0.9583": { + "0.947": { "post": { "vector": [0, 0, 0] }, @@ -3201,16 +3201,16 @@ }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6155": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [2.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3229,16 +3229,16 @@ }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6155": { "post": { "vector": [5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-7.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3257,16 +3257,16 @@ }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6155": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-2.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3285,13 +3285,13 @@ }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.6155": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "3.9583": { + "3.9773": { "post": { "vector": [0, 0, 0] }, @@ -3307,10 +3307,10 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0.24992, 0.0062] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3329,13 +3329,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [20, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [20, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3352,16 +3352,16 @@ }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.5682": { "vector": [0, 1.25, 0] }, - "1.125": { + "1.1364": { "vector": [0, 1, 0] }, - "3.4167": { + "3.4091": { "vector": [0, 1, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3380,13 +3380,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-15, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [-15, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3403,13 +3403,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [0, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3428,13 +3428,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [32.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [32.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3451,13 +3451,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [0, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3476,13 +3476,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [-37.5, 0, 0] }, - "3.4167": { + "3.4091": { "vector": [-37.5, 0, 0] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3499,13 +3499,13 @@ }, "lerp_mode": "catmullrom" }, - "1.125": { + "1.1364": { "vector": [0, 0, 0.2] }, - "3.4167": { + "3.4091": { "vector": [0, 0, 0.2] }, - "3.9583": { + "3.9773": { "pre": { "vector": [0, 0, 0] }, @@ -3518,7 +3518,7 @@ } }, "sound_effects": { - "0.125": { + "0.142": { "effect": "trex_scream2.mp3" } } @@ -3863,6 +3863,121 @@ } } } + }, + "anim.tyrannosaurus_rex.swim": { + "loop": true, + "animation_length": 3.25, + "bones": { + "Neck6": { + "rotation": { + "vector": [-7.5, 0, 0] + } + }, + "root": { + "rotation": { + "vector": [-5, 0, 0] + }, + "position": { + "vector": ["-math.sin(q.anim_time*90*1.25)*-1.5", 0, 0] + } + }, + "RightThigh": { + "rotation": { + "vector": ["32.5+math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "RightCalf1": { + "rotation": { + "vector": ["math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootRight": { + "rotation": { + "vector": ["17.5+math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + }, + "Body1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*7.5", "math.sin(q.anim_time*90*1.25)*-0.5"] + } + }, + "Tail1": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*12.5", 0] + } + }, + "Tail2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-20", 0] + } + }, + "Tail3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-17.5", 0] + } + }, + "Tail4": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-12.5", 0] + } + }, + "Tail5": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-20", 0] + } + }, + "Body2": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25)*-7.5", 0] + } + }, + "Body3": { + "rotation": { + "vector": [0, "-math.sin(q.anim_time*90*1.25+60)*-10", 0] + } + }, + "Neck1": { + "rotation": { + "vector": [15, "-math.sin(q.anim_time*90*1.25+60)*-7.5", 0] + } + }, + "Neck2": { + "rotation": { + "vector": [7.5, "-math.sin(q.anim_time*90*1.25)*7.5", 0] + } + }, + "Neck3": { + "rotation": { + "vector": [-12.5, "-math.sin(q.anim_time*90*1.25)*12.5", "math.sin(q.anim_time*90*1.25)*0.5"] + } + }, + "Head": { + "rotation": { + "vector": [-10, "-math.sin(q.anim_time*90*1.25)*-5", 0] + } + }, + "LeftThigh": { + "rotation": { + "vector": ["32.5-math.sin(q.anim_time*90*1.25)*-7.5", 0, 0] + }, + "position": { + "vector": [0, 3, 0] + } + }, + "LeftCalf1": { + "rotation": { + "vector": ["-math.sin(q.anim_time*90*1.25+60)*7.5", 0, 0] + } + }, + "FootLeft": { + "rotation": { + "vector": ["17.5-math.sin(q.anim_time*90*1.25+60)*20", 0, 0] + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/jurassicrevived/geo/alligator_gar.geo.json b/common/src/main/resources/assets/jurassicrevived/geo/alligator_gar.geo.json index cf83cd2..7a4586b 100644 --- a/common/src/main/resources/assets/jurassicrevived/geo/alligator_gar.geo.json +++ b/common/src/main/resources/assets/jurassicrevived/geo/alligator_gar.geo.json @@ -6,272 +6,272 @@ "identifier": "geometry.alligator_gar", "texture_width": 96, "texture_height": 96, - "visible_bounds_width": 7, - "visible_bounds_height": 3.5, - "visible_bounds_offset": [0, 1.25, 0] + "visible_bounds_width": 10, + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] }, "bones": [ { "name": "root", - "pivot": [0, 24, 0] + "pivot": [0, 7, 0] }, { "name": "BodySection1", "parent": "root", - "pivot": [0, 19.1356, 1.70486], + "pivot": [0, 2.1356, 1.70486], "cubes": [ - {"origin": [-2.5, 17.1356, 1.70486], "size": [5, 8, 6], "uv": [1, 26]} + {"origin": [-2.5, 0.1356, 1.70486], "size": [5, 8, 6], "uv": [1, 26]} ] }, { "name": "BodySection2", "parent": "BodySection1", - "pivot": [0, 25.4356, 6.70486], + "pivot": [0, 8.4356, 6.70486], "cubes": [ - {"origin": [-3, 16.4356, 6.70486], "size": [6, 9, 10], "uv": [26, 22]} + {"origin": [-3, -0.5644, 6.70486], "size": [6, 9, 10], "uv": [26, 22]} ] }, { "name": "BodySection3", "parent": "BodySection2", - "pivot": [0, 25.4356, 15.70486], + "pivot": [0, 8.4356, 15.70486], "cubes": [ - {"origin": [-2.5, 16.4356, 15.70486], "size": [5, 9, 10], "uv": [60, 22]} + {"origin": [-2.5, -0.5644, 15.70486], "size": [5, 9, 10], "uv": [60, 22]} ] }, { "name": "TailSection1", "parent": "BodySection3", - "pivot": [0, 25.4356, 24.70486], + "pivot": [0, 8.4356, 24.70486], "cubes": [ - {"origin": [-2, 16.4356, 24.70486], "size": [4, 9, 8], "uv": [1, 42]} + {"origin": [-2, -0.5644, 24.70486], "size": [4, 9, 8], "uv": [1, 42]} ] }, { "name": "TailSection2", "parent": "TailSection1", - "pivot": [0, 25.4356, 31.70486], + "pivot": [0, 8.4356, 31.70486], "rotation": [0.09, 0, 0], "cubes": [ - {"origin": [-1.5, 16.4356, 31.70486], "size": [3, 9, 8], "uv": [26, 42]} + {"origin": [-1.5, -0.5644, 31.70486], "size": [3, 9, 8], "uv": [26, 42]} ] }, { "name": "TailSection3", "parent": "TailSection2", - "pivot": [0, 25.2356, 37.70486], + "pivot": [0, 8.2356, 37.70486], "cubes": [ - {"origin": [-1, 17.2356, 37.70486], "size": [2, 8, 7], "uv": [49, 42]} + {"origin": [-1, 0.2356, 37.70486], "size": [2, 8, 7], "uv": [49, 42]} ] }, { "name": "Tailsection5", "parent": "TailSection3", - "pivot": [0, 24.7356, 43.70486], + "pivot": [0, 7.7356, 43.70486], "cubes": [ - {"origin": [-0.5, 17.7356, 43.70486], "size": [1, 7, 6], "uv": [68, 42]} + {"origin": [-0.5, 0.7356, 43.70486], "size": [1, 7, 6], "uv": [68, 42]} ] }, { "name": "Tailsection4", "parent": "Tailsection5", - "pivot": [0, 24.2356, 48.70486], + "pivot": [0, 7.2356, 48.70486], "cubes": [ - {"origin": [-0.5, 18.2356, 48.70486], "size": [1, 6, 4], "uv": [83, 42]} + {"origin": [-0.5, 1.2356, 48.70486], "size": [1, 6, 4], "uv": [83, 42]} ] }, { "name": "Tailfin", "parent": "Tailsection4", - "pivot": [-0.5, 21.2356, 47.70486], + "pivot": [-0.5, 4.2356, 47.70486], "rotation": [45, 0, 0], "cubes": [ - {"origin": [0, 9.2356, 47.70486], "size": [0, 12, 12], "uv": [22, 48]} + {"origin": [0, -7.7644, 47.70486], "size": [0, 12, 12], "uv": [22, 48]} ] }, { "name": "Dorsalfin", "parent": "Tailsection5", - "pivot": [0, 24.7356, 42.90486], + "pivot": [0, 7.7356, 42.90486], "rotation": [41.22, 0, 0], "cubes": [ - {"origin": [0, 19.7356, 42.90486], "size": [0, 5, 8], "uv": [1, 80]} + {"origin": [0, 2.7356, 42.90486], "size": [0, 5, 8], "uv": [1, 80]} ] }, { "name": "Assfin", "parent": "Tailsection5", - "pivot": [0, 17.2356, 42.90486], + "pivot": [0, 0.2356, 42.90486], "rotation": [-47.55, 0, 0], "cubes": [ - {"origin": [0, 17.2356, 42.90486], "size": [0, 5, 8], "uv": [1, 74]} + {"origin": [0, 0.2356, 42.90486], "size": [0, 5, 8], "uv": [1, 74]} ] }, { "name": "RightFrontFlipper2", "parent": "BodySection3", - "pivot": [2.1, 17.6356, 20.30486], + "pivot": [2.1, 0.6356, 20.30486], "rotation": [0, -31.46, -48.49], "cubes": [ - {"origin": [2.1, 17.6356, 20.30486], "size": [8, 0, 5], "uv": [-4, 70]} + {"origin": [2.1, 0.6356, 20.30486], "size": [8, 0, 5], "uv": [-4, 70]} ] }, { "name": "LeftFrontFlipper2", "parent": "BodySection3", - "pivot": [-2.1, 17.6356, 20.30486], + "pivot": [-2.1, 0.6356, 20.30486], "rotation": [0, 31.46, 48.49], "cubes": [ - {"origin": [-10.1, 17.6356, 20.30486], "size": [8, 0, 5], "uv": [-4, 76], "mirror": true} + {"origin": [-10.1, 0.6356, 20.30486], "size": [8, 0, 5], "uv": [-4, 76], "mirror": true} ] }, { "name": "Neck", "parent": "BodySection1", - "pivot": [0, 23.8356, 0.00486], + "pivot": [0, 6.8356, 0.00486], "rotation": [-15.54, 0, 0], "cubes": [ - {"origin": [-2, 17.1356, -0.99514], "size": [4, 6, 4], "uv": [18, 1]} + {"origin": [-2, 0.1356, -0.99514], "size": [4, 6, 4], "uv": [18, 1]} ] }, { "name": "Neckback1", "parent": "Neck", - "pivot": [0, 21.3356, -5.29514], + "pivot": [0, 4.3356, -5.29514], "rotation": [25.3247, 0, 0], "cubes": [ - {"origin": [-2, 18.3356, -5.29514], "size": [4, 4, 4], "uv": [1, 13]} + {"origin": [-2, 1.3356, -5.29514], "size": [4, 4, 4], "uv": [1, 13]} ] }, { "name": "Neckback2", "parent": "Neckback1", - "pivot": [0, 22.3356, -1.29514], + "pivot": [0, 5.3356, -1.29514], "rotation": [-8.38, 0, 0], "cubes": [ - {"origin": [-2, 15.3356, -1.29514], "size": [4, 7, 4], "uv": [1, 1]} + {"origin": [-2, -1.6644, -1.29514], "size": [4, 7, 4], "uv": [1, 1]} ] }, { "name": "LeftFrontFlipper", "parent": "Neck", - "pivot": [-2.3, 18.0356, 1.70486], + "pivot": [-2.3, 1.0356, 1.70486], "rotation": [29.68, 47.77, 55.02], "cubes": [ - {"origin": [-9.3, 18.0356, 1.70486], "size": [7, 0, 4], "uv": [-3, 65], "mirror": true} + {"origin": [-9.3, 1.0356, 1.70486], "size": [7, 0, 4], "uv": [-3, 65], "mirror": true} ] }, { "name": "RightFrontFlipper", "parent": "Neck", - "pivot": [2.3, 18.0356, 1.70486], + "pivot": [2.3, 1.0356, 1.70486], "rotation": [29.68, -47.77, -55.02], "cubes": [ - {"origin": [2.3, 18.0356, 1.70486], "size": [7, 0, 4], "uv": [-3, 60]} + {"origin": [2.3, 1.0356, 1.70486], "size": [7, 0, 4], "uv": [-3, 60]} ] }, { "name": "Mainhead", "parent": "Neck", - "pivot": [0, 23.9, -0.6], + "pivot": [0, 6.9, -0.6], "rotation": [15.54, 0, 0], "cubes": [ - {"origin": [-2.5, 19.9, -7.6], "size": [5, 4, 7], "uv": [47, 58]} + {"origin": [-2.5, 2.9, -7.6], "size": [5, 4, 7], "uv": [47, 58]} ] }, { "name": "Lowerjawrear", "parent": "Mainhead", - "pivot": [0, 20.4, -1.3], + "pivot": [0, 3.4, -1.3], "rotation": [-22.93, 0, 0], "cubes": [ - {"origin": [-2, 17.4, -7.3], "size": [4, 3, 6], "uv": [49, 22]} + {"origin": [-2, 0.4, -7.3], "size": [4, 3, 6], "uv": [49, 22]} ] }, { "name": "Lowerjawtop", "parent": "Lowerjawrear", - "pivot": [0, 18.3, -6.8], + "pivot": [0, 1.3, -6.8], "rotation": [21.68985, 0, 0], "cubes": [ - {"origin": [-1.5, 18.3, -15.8], "size": [3, 1, 9], "uv": [30, 11]} + {"origin": [-1.5, 1.3, -15.8], "size": [3, 1, 9], "uv": [30, 11]} ] }, { "name": "Lowerjawbottom", "parent": "Lowerjawtop", - "pivot": [0, 17.5, -6.6], + "pivot": [0, 0.5, -6.6], "rotation": [-5.36366, 0, 0], "cubes": [ - {"origin": [-1, 17.5, -15.6], "size": [2, 1, 9], "uv": [55, 11]} + {"origin": [-1, 0.5, -15.6], "size": [2, 1, 9], "uv": [55, 11]} ] }, { "name": "Lowerteeth", "parent": "Lowerjawtop", - "pivot": [0, 19.3, -6.8], + "pivot": [0, 2.3, -6.8], "cubes": [ - {"origin": [-1.5, 19.3, -15.8], "size": [3, 1, 9], "uv": [19, 73]} + {"origin": [-1.5, 2.3, -15.8], "size": [3, 1, 9], "uv": [19, 73]} ] }, { "name": "Gillright", "parent": "Mainhead", - "pivot": [1.9, 22.7, 1.5], + "pivot": [1.9, 5.7, 1.5], "cubes": [ - {"origin": [1.9, 18.7, -4.5], "size": [1, 4, 6], "uv": [19, 17]} + {"origin": [1.9, 1.7, -4.5], "size": [1, 4, 6], "uv": [19, 17]} ] }, { "name": "Gillleft", "parent": "Mainhead", - "pivot": [-1.9, 22.7, 1.5], + "pivot": [-1.9, 5.7, 1.5], "cubes": [ - {"origin": [-2.9, 18.7, -4.5], "size": [1, 4, 6], "uv": [19, 17], "mirror": true} + {"origin": [-2.9, 1.7, -4.5], "size": [1, 4, 6], "uv": [19, 17], "mirror": true} ] }, { "name": "Upperjawmain", "parent": "Mainhead", - "pivot": [0, 22.7, -7.4], + "pivot": [0, 5.7, -7.4], "rotation": [-12.66, 0, 0], "cubes": [ - {"origin": [-2, 21.7, -16.4], "size": [4, 1, 9], "uv": [35, 1]} + {"origin": [-2, 4.7, -16.4], "size": [4, 1, 9], "uv": [35, 1]} ] }, { "name": "Upperjawtop", "parent": "Upperjawmain", - "pivot": [0, 23.7, -7.4], + "pivot": [0, 6.7, -7.4], "rotation": [6.44, 0, 0], "cubes": [ - {"origin": [-1.5, 22.7, -16.4], "size": [3, 1, 9], "uv": [62, 1]} + {"origin": [-1.5, 5.7, -16.4], "size": [3, 1, 9], "uv": [62, 1]} ] }, { "name": "Upperjawend", "parent": "Upperjawmain", - "pivot": [0, 22.7, -16.4], + "pivot": [0, 5.7, -16.4], "rotation": [31.21835, 0, 0], "cubes": [ - {"origin": [-2, 21.7, -17.4], "size": [4, 1, 1], "uv": [78, 7]} + {"origin": [-2, 4.7, -17.4], "size": [4, 1, 1], "uv": [78, 7]} ] }, { "name": "Upperjaw", "parent": "Upperjawend", - "pivot": [0, 21.7, -16.4], + "pivot": [0, 4.7, -16.4], "cubes": [ - {"origin": [-2, 20.7, -17.4], "size": [4, 1, 1], "uv": [78, 12]} + {"origin": [-2, 3.7, -17.4], "size": [4, 1, 1], "uv": [78, 12]} ] }, { "name": "Upperteethmain", "parent": "Mainhead", - "pivot": [0, 22.7, -7.4], + "pivot": [0, 5.7, -7.4], "rotation": [-12.66, 0, 0], "cubes": [ - {"origin": [-2, 20.7, -15.6], "size": [4, 1, 9], "uv": [45, 70]} + {"origin": [-2, 3.7, -15.6], "size": [4, 1, 9], "uv": [45, 70]} ] } ] diff --git a/common/src/main/resources/assets/jurassicrevived/geo/baryonyx.geo.json b/common/src/main/resources/assets/jurassicrevived/geo/baryonyx.geo.json index de56cf7..9c97161 100755 --- a/common/src/main/resources/assets/jurassicrevived/geo/baryonyx.geo.json +++ b/common/src/main/resources/assets/jurassicrevived/geo/baryonyx.geo.json @@ -357,7 +357,7 @@ "pivot": [2.5, 22.85, -34.5], "rotation": [19.57, 0, 0], "cubes": [ - {"origin": [-2.5, 17.85, -34.5], "size": [5, 5, 9], "uv": [180, 58]} + {"origin": [-2.5, 21.04097, -32.88944], "size": [5, 5, 9], "uv": [180, 58]} ] }, { diff --git a/common/src/main/resources/assets/jurassicrevived/geo/coelacanth.geo.json b/common/src/main/resources/assets/jurassicrevived/geo/coelacanth.geo.json index c0e061f..c3d8d90 100644 --- a/common/src/main/resources/assets/jurassicrevived/geo/coelacanth.geo.json +++ b/common/src/main/resources/assets/jurassicrevived/geo/coelacanth.geo.json @@ -7,8 +7,8 @@ "texture_width": 64, "texture_height": 64, "visible_bounds_width": 4, - "visible_bounds_height": 3.5, - "visible_bounds_offset": [0, 1.25, 0] + "visible_bounds_height": 2.5, + "visible_bounds_offset": [0, 0.75, 0] }, "bones": [ { @@ -18,182 +18,182 @@ { "name": "BodySection1", "parent": "root", - "pivot": [0, 23, 0.3], + "pivot": [0, 7, 0.3], "cubes": [ - {"origin": [-2.5, 16, 0.3], "size": [5, 7, 5], "uv": [5, 29]} + {"origin": [-2.5, 0, 0.3], "size": [5, 7, 5], "uv": [5, 29]} ] }, { "name": "BodySection2", "parent": "BodySection1", - "pivot": [0, 23, 4.5], + "pivot": [0, 7, 4.5], "cubes": [ - {"origin": [-2, 16, 4.5], "size": [4, 7, 4], "uv": [45, 18]} + {"origin": [-2, 0, 4.5], "size": [4, 7, 4], "uv": [45, 18]} ] }, { "name": "BodySection3", "parent": "BodySection2", - "pivot": [0, 23, 7.7], + "pivot": [0, 7, 7.7], "cubes": [ - {"origin": [-1.5, 16, 7.7], "size": [3, 7, 3], "uv": [30, 17]} + {"origin": [-1.5, 0, 7.7], "size": [3, 7, 3], "uv": [30, 17]} ] }, { "name": "TailSection1", "parent": "BodySection3", - "pivot": [0, 22.6, 9.9], + "pivot": [0, 6.6, 9.9], "cubes": [ - {"origin": [-1, 16.6, 9.9], "size": [2, 6, 3], "uv": [17, 16]} + {"origin": [-1, 0.6, 9.9], "size": [2, 6, 3], "uv": [17, 16]} ] }, { "name": "TailSection2", "parent": "TailSection1", - "pivot": [0, 22.1, 11.9], + "pivot": [0, 6.1, 11.9], "rotation": [0.09, 0, 0], "cubes": [ - {"origin": [-1, 17.1, 11.9], "size": [2, 5, 3], "uv": [6, 19]} + {"origin": [-1, 1.1, 11.9], "size": [2, 5, 3], "uv": [6, 19]} ] }, { "name": "TailSection3", "parent": "TailSection2", - "pivot": [0, 19.6, 12.1], + "pivot": [0, 3.6, 12.1], "rotation": [45, 0, 0], "cubes": [ - {"origin": [-0.5, 15.6, 12.1], "size": [1, 4, 4], "uv": [53, 9]} + {"origin": [-0.5, -0.4, 12.1], "size": [1, 4, 4], "uv": [53, 9]} ] }, { "name": "Tailfin", "parent": "TailSection3", - "pivot": [0, 19.6, 12.1], + "pivot": [0, 3.6, 12.1], "cubes": [ - {"origin": [0, 11.6, 12.1], "size": [0, 8, 8], "uv": [21, -7]} + {"origin": [0, -4.4, 12.1], "size": [0, 8, 8], "uv": [21, -7]} ] }, { "name": "Dorsalfin2", "parent": "TailSection2", - "pivot": [0, 22.1, 10.4], + "pivot": [0, 6.1, 10.4], "rotation": [52.08903, 0, 0], "cubes": [ - {"origin": [0, 19.1, 10.4], "size": [0, 3, 6], "uv": [1, 0]} + {"origin": [0, 3.1, 10.4], "size": [0, 3, 6], "uv": [1, 0]} ] }, { "name": "Assfin", "parent": "TailSection1", - "pivot": [0, 17.4, 10.6], + "pivot": [0, 1.4, 10.6], "rotation": [-58.87, 0, 0], "cubes": [ - {"origin": [0, 17.4, 10.6], "size": [0, 3, 6], "uv": [1, 4]} + {"origin": [0, 1.4, 10.6], "size": [0, 3, 6], "uv": [1, 4]} ] }, { "name": "Leftbottomfin", "parent": "BodySection2", - "pivot": [0, 16, 4.1], + "pivot": [0, 0, 4.1], "rotation": [0, -63.67, -90], "cubes": [ - {"origin": [0, 15, 4.1], "size": [4, 2, 5], "uv": [45, 1]} + {"origin": [0, -1, 4.1], "size": [4, 2, 5], "uv": [45, 1]} ] }, { "name": "Dorsalfin", "parent": "BodySection1", - "pivot": [0, 22.8, 0.1], + "pivot": [0, 6.8, 0.1], "rotation": [51.73, 0, 0], "cubes": [ - {"origin": [0, 18.8, 0.1], "size": [0, 4, 6], "uv": [1, -5]} + {"origin": [0, 2.8, 0.1], "size": [0, 4, 6], "uv": [1, -5]} ] }, { "name": "Neck", "parent": "BodySection1", - "pivot": [0, 19.8, -2.4], + "pivot": [0, 3.8, -2.4], "cubes": [ - {"origin": [-2, 16.1, -3.4], "size": [4, 3, 4], "uv": [47, 34]} + {"origin": [-2, 0.1, -3.4], "size": [4, 3, 4], "uv": [47, 34]} ] }, { "name": "Mainhead", "parent": "Neck", - "pivot": [0, 18.8, -3.52], + "pivot": [0, 2.8, -3.52], "rotation": [42.06, 0, 0], "cubes": [ - {"origin": [-2.5, 18.8, -6.52], "size": [5, 3, 3], "uv": [22, 48]} + {"origin": [-2.5, 2.8, -6.52], "size": [5, 3, 3], "uv": [22, 48]} ] }, { "name": "Lowerjawrear", "parent": "Mainhead", - "pivot": [0, 18.5, -2.52], + "pivot": [0, 2.5, -2.52], "rotation": [-44.87, 0, 0], "cubes": [ - {"origin": [-2, 15.5, -5.52], "size": [4, 3, 3], "uv": [45, 55]} + {"origin": [-2, -0.5, -5.52], "size": [4, 3, 3], "uv": [45, 55]} ] }, { "name": "Lowerjawfront", "parent": "Lowerjawrear", - "pivot": [0, 15.9, -5.22], + "pivot": [0, -0.1, -5.22], "rotation": [-37.79953, 0, 0], "cubes": [ - {"origin": [-2, 15.4, -8.22], "size": [4, 1, 3], "uv": [49, 50]} + {"origin": [-2, -0.6, -8.22], "size": [4, 1, 3], "uv": [49, 50]} ] }, { "name": "Rightgill2", "parent": "Mainhead", - "pivot": [1.7, 17.8, -4.62], + "pivot": [1.7, 1.8, -4.62], "cubes": [ - {"origin": [1.7, 17.8, -4.62], "size": [1, 3, 3], "uv": [22, 55]} + {"origin": [1.7, 1.8, -4.62], "size": [1, 3, 3], "uv": [22, 55]} ] }, { "name": "Rightgill", "parent": "Mainhead", - "pivot": [-1.7, 17.8, -4.62], + "pivot": [-1.7, 1.8, -4.62], "cubes": [ - {"origin": [-2.7, 17.8, -4.62], "size": [1, 3, 3], "uv": [22, 55], "mirror": true} + {"origin": [-2.7, 1.8, -4.62], "size": [1, 3, 3], "uv": [22, 55], "mirror": true} ] }, { "name": "Neckback1", "parent": "Neck", - "pivot": [0, 19.8, -5.4], + "pivot": [0, 3.8, -5.4], "rotation": [34.77266, 0, 0], "cubes": [ - {"origin": [-2, 17.8, -5.4], "size": [4, 3, 3], "uv": [7, 48]} + {"origin": [-2, 1.8, -5.4], "size": [4, 3, 3], "uv": [7, 48]} ] }, { "name": "Neckback2", "parent": "Neckback1", - "pivot": [0, 20.8, -2.4], + "pivot": [0, 4.8, -2.4], "rotation": [-24.91, 0, 0], "cubes": [ - {"origin": [-2.5, 16.8, -2.4], "size": [5, 4, 4], "uv": [28, 32]} + {"origin": [-2.5, 0.8, -2.4], "size": [5, 4, 4], "uv": [28, 32]} ] }, { "name": "RightFrontFlipper", "parent": "Neck", - "pivot": [1.5, 20, -2.8], + "pivot": [1.5, 4, -2.8], "rotation": [21.22, -2.61, 90], "cubes": [ - {"origin": [2, 20, -2.8], "size": [3, 0, 7], "uv": [7, 1]} + {"origin": [2, 4, -2.8], "size": [3, 0, 7], "uv": [7, 1]} ] }, { "name": "LeftFrontFlipper", "parent": "Neck", - "pivot": [-1.5, 20, -2.8], + "pivot": [-1.5, 4, -2.8], "rotation": [21.22, 2.61, -90], "cubes": [ - {"origin": [-4.5, 20, -2.8], "size": [3, 0, 7], "uv": [7, 1], "mirror": true} + {"origin": [-4.5, 4, -2.8], "size": [3, 0, 7], "uv": [7, 1], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/jurassicrevived/geo/mawsonia.geo.json b/common/src/main/resources/assets/jurassicrevived/geo/mawsonia.geo.json index ac78358..b9b4abe 100644 --- a/common/src/main/resources/assets/jurassicrevived/geo/mawsonia.geo.json +++ b/common/src/main/resources/assets/jurassicrevived/geo/mawsonia.geo.json @@ -7,8 +7,8 @@ "texture_width": 256, "texture_height": 200, "visible_bounds_width": 6, - "visible_bounds_height": 4.5, - "visible_bounds_offset": [0, 1.75, 0] + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] }, "bones": [ { @@ -20,449 +20,449 @@ }, { "name": "root2", - "pivot": [0, 24, 0] + "pivot": [0, 12, 0] }, { "name": "Neck2", "parent": "root2", - "pivot": [2, 27.7, -28.4], + "pivot": [2, 15.7, -28.4], "cubes": [ - {"origin": [-2.5, 13, -28.4], "size": [9, 14, 8], "uv": [67, 22]} + {"origin": [-2.5, 1, -28.4], "size": [9, 14, 8], "uv": [67, 22]} ] }, { "name": "BodySection4", "parent": "Neck2", - "pivot": [-1.5, 25.1, -21.9], + "pivot": [-1.5, 13.1, -21.9], "rotation": [1.79, 0, 0], "cubes": [ - {"origin": [-3.5, 12.1, -21.9], "size": [11, 19, 13], "uv": [203, 80]} + {"origin": [-3.5, 0.1, -21.9], "size": [11, 19, 13], "uv": [203, 80]} ] }, { "name": "BodySection5", "parent": "BodySection4", - "pivot": [1, 31.5, -10.6], + "pivot": [1, 19.5, -10.6], "cubes": [ - {"origin": [-4, 12, -10.6], "size": [12, 20, 14], "uv": [146, 80]} + {"origin": [-4, 0, -10.6], "size": [12, 20, 14], "uv": [146, 80]} ] }, { "name": "BodySection6", "parent": "BodySection5", - "pivot": [2.5, 30.2, 1.4], + "pivot": [2.5, 18.2, 1.4], "rotation": [-2.16, 0, 0], "cubes": [ - {"origin": [-3.5, 14, 1.4], "size": [11, 17, 10], "uv": [101, 79]} + {"origin": [-3.5, 2, 1.4], "size": [11, 17, 10], "uv": [101, 79]} ] }, { "name": "TailSection4", "parent": "BodySection6", - "pivot": [1, 31.5, 10.7], + "pivot": [1, 19.5, 10.7], "rotation": [-2.13, 0, 0], "cubes": [ - {"origin": [-1.5, 14.5, 10.7], "size": [7, 17, 9], "uv": [66, 76]} + {"origin": [-1.5, 2.5, 10.7], "size": [7, 17, 9], "uv": [66, 76]} ] }, { "name": "TailSection5", "parent": "TailSection4", - "pivot": [0.5, 32, 18.2], + "pivot": [0.5, 20, 18.2], "rotation": [0.09, 0, 0], "cubes": [ - {"origin": [-0.5, 14, 18.2], "size": [5, 18, 9], "uv": [33, 75]} + {"origin": [-0.5, 2, 18.2], "size": [5, 18, 9], "uv": [33, 75]} ] }, { "name": "TailSection6", "parent": "TailSection5", - "pivot": [0.5, 32.2, 27.4], + "pivot": [0.5, 20.2, 27.4], "rotation": [-45, 0, 0], "cubes": [ - {"origin": [0.5, 19.2, 27.4], "size": [3, 13, 13], "uv": [23, 110]} + {"origin": [0.5, 7.2, 27.4], "size": [3, 13, 13], "uv": [23, 110]} ] }, { "name": "FlukeSection4", "parent": "TailSection6", - "pivot": [1.5, 30.2, 27.3], + "pivot": [1.5, 18.2, 27.3], "rotation": [8.09, 0, 0], "cubes": [ - {"origin": [1.5, 30.2, 27.3], "size": [1, 2, 12], "uv": [5, 100]} + {"origin": [1.5, 18.2, 27.3], "size": [1, 2, 12], "uv": [5, 100]} ] }, { "name": "FlukeSection5", "parent": "FlukeSection4", - "pivot": [1.5, 31.2, 27.2], + "pivot": [1.5, 19.2, 27.2], "rotation": [8.09, 0, 0], "cubes": [ - {"origin": [2, 30.2, 27.2], "size": [0, 3, 12], "uv": [4, 78]} + {"origin": [2, 18.2, 27.2], "size": [0, 3, 12], "uv": [4, 78]} ] }, { "name": "FlukeSection6", "parent": "TailSection6", - "pivot": [1.5, 30.6, 38.8], + "pivot": [1.5, 18.6, 38.8], "rotation": [-45, 0, 0], "cubes": [ - {"origin": [1.5, 31.6, 37.8], "size": [1, 3, 2], "uv": [12, 120]} + {"origin": [1.5, 19.6, 37.8], "size": [1, 3, 2], "uv": [12, 120]} ] }, { "name": "FlukeSection7", "parent": "FlukeSection6", - "pivot": [1, 33.4, 36.8], + "pivot": [1, 21.4, 36.8], "rotation": [-45, 0, 0], "cubes": [ - {"origin": [2, 34.4, 35.8], "size": [0, 3, 3], "uv": [3, 120]} + {"origin": [2, 22.4, 35.8], "size": [0, 3, 3], "uv": [3, 120]} ] }, { "name": "FlukeSection8", "parent": "TailSection6", - "pivot": [1.5, 30.2, 39], + "pivot": [1.5, 18.2, 39], "rotation": [-8.09, 0, 0], "cubes": [ - {"origin": [1.5, 19.1, 40], "size": [1, 12, 2], "uv": [5, 138]} + {"origin": [1.5, 7.1, 40], "size": [1, 12, 2], "uv": [5, 138]} ] }, { "name": "FlukeSection9", "parent": "FlukeSection8", - "pivot": [1, 30.3, 40.6], + "pivot": [1, 18.3, 40.6], "rotation": [-8.09, 0, 0], "cubes": [ - {"origin": [2, 19.2, 41.6], "size": [0, 12, 3], "uv": [5, 154]} + {"origin": [2, 7.2, 41.6], "size": [0, 12, 3], "uv": [5, 154]} ] }, { "name": "TailSection1girth2", "parent": "TailSection4", - "pivot": [6.5, 29.4, 10.7], + "pivot": [6.5, 17.4, 10.7], "cubes": [ - {"origin": [-2.5, 16.4, 10.7], "size": [9, 13, 6], "uv": [69, 108]} + {"origin": [-2.5, 4.4, 10.7], "size": [9, 13, 6], "uv": [69, 108]} ] }, { "name": "Assfin4", "parent": "BodySection6", - "pivot": [1.5, 15.7, 8.9], + "pivot": [1.5, 3.7, 8.9], "rotation": [-42.79, 0, 0], "cubes": [ - {"origin": [1.5, 13.7, 8.9], "size": [1, 4, 7], "uv": [26, 139]} + {"origin": [1.5, 1.7, 8.9], "size": [1, 4, 7], "uv": [26, 139]} ] }, { "name": "Assfin5", "parent": "Assfin4", - "pivot": [1, 16.2, 12.4], + "pivot": [1, 4.2, 12.4], "cubes": [ - {"origin": [2, 13.2, 12.4], "size": [0, 5, 5], "uv": [28, 149]} + {"origin": [2, 1.2, 12.4], "size": [0, 5, 5], "uv": [28, 149]} ] }, { "name": "Assfin6", "parent": "Assfin5", - "pivot": [1, 15.7, 17], + "pivot": [1, 3.7, 17], "cubes": [ - {"origin": [2, 14.7, 17], "size": [0, 3, 2], "uv": [29, 162]} + {"origin": [2, 2.7, 17], "size": [0, 3, 2], "uv": [29, 162]} ] }, { "name": "Toprearfin4", "parent": "BodySection6", - "pivot": [2.5, 33.1, 5.7], + "pivot": [2.5, 21.1, 5.7], "rotation": [37.46, 0, 0], "cubes": [ - {"origin": [1.5, 29.1, 3.7], "size": [1, 4, 8], "uv": [5, 38]} + {"origin": [1.5, 17.1, 3.7], "size": [1, 4, 8], "uv": [5, 38]} ] }, { "name": "Toprearfin5", "parent": "Toprearfin4", - "pivot": [2, 33.1, 12.6], + "pivot": [2, 21.1, 12.6], "rotation": [2.08, 0, 0], "cubes": [ - {"origin": [2, 28.1, 10.6], "size": [0, 5, 5], "uv": [7, 24]} + {"origin": [2, 16.1, 10.6], "size": [0, 5, 5], "uv": [7, 24]} ] }, { "name": "Toprearfin6", "parent": "Toprearfin5", - "pivot": [2, 32.2, 17.6], + "pivot": [2, 20.2, 17.6], "rotation": [-5.11, 0, 0], "cubes": [ - {"origin": [2, 28.2, 15.6], "size": [0, 4, 2], "uv": [9, 19]} + {"origin": [2, 16.2, 15.6], "size": [0, 4, 2], "uv": [9, 19]} ] }, { "name": "Toprearfin7", "parent": "Toprearfin6", - "pivot": [2, 30.7, 19.6], + "pivot": [2, 18.7, 19.6], "rotation": [-5.11, 0, 0], "cubes": [ - {"origin": [2, 28.7, 17.6], "size": [0, 2, 2], "uv": [8, 13]} + {"origin": [2, 16.7, 17.6], "size": [0, 2, 2], "uv": [8, 13]} ] }, { "name": "Neckback6", "parent": "BodySection6", - "pivot": [5.5, 32.3, 1.2], + "pivot": [5.5, 20.3, 1.2], "rotation": [-1.14, 0, 0], "cubes": [ - {"origin": [-1.5, 29.3, 1.2], "size": [7, 3, 10], "uv": [109, 61]} + {"origin": [-1.5, 17.3, 1.2], "size": [7, 3, 10], "uv": [109, 61]} ] }, { "name": "Neckback7", "parent": "BodySection5", - "pivot": [1.5, 31.2, 0.3], + "pivot": [1.5, 19.2, 0.3], "rotation": [-3.57, 0, 0], "cubes": [ - {"origin": [-2, 27.53, -8], "size": [8, 5, 11], "uv": [155, 57]} + {"origin": [-2, 15.53, -8], "size": [8, 5, 11], "uv": [155, 57]} ] }, { "name": "Neckback8", "parent": "BodySection4", - "pivot": [1.5, 31.9, -9.1], + "pivot": [1.5, 19.9, -9.1], "rotation": [0.38, 0, 0], "cubes": [ - {"origin": [-2.5, 27.23, -17.4], "size": [9, 6, 10], "uv": [201, 57]} + {"origin": [-2.5, 15.23, -17.4], "size": [9, 6, 10], "uv": [201, 57]} ] }, { "name": "Topfinfrontbase2", "parent": "Neckback8", - "pivot": [2.5, 32.2, -14.1], + "pivot": [2.5, 20.2, -14.1], "rotation": [76.65, 0, 0], "cubes": [ - {"origin": [1.5, 28.2, -14.1], "size": [1, 4, 5], "uv": [33, 35]} + {"origin": [1.5, 16.2, -14.1], "size": [1, 4, 5], "uv": [33, 35]} ] }, { "name": "Topfinfront5", "parent": "Topfinfrontbase2", - "pivot": [2, 32.2, -11.9], + "pivot": [2, 20.2, -11.9], "rotation": [-4.77, 0, 0], "cubes": [ - {"origin": [2, 26.2, -11.9], "size": [0, 6, 5], "uv": [30, 21]} + {"origin": [2, 14.2, -11.9], "size": [0, 6, 5], "uv": [30, 21]} ] }, { "name": "Topfinfront6", "parent": "Topfinfront5", - "pivot": [2, 31.8, -6.9], + "pivot": [2, 19.8, -6.9], "rotation": [-0.60823, 0, 0], "cubes": [ - {"origin": [2, 26.8, -6.9], "size": [0, 5, 3], "uv": [33, 15]} + {"origin": [2, 14.8, -6.9], "size": [0, 5, 3], "uv": [33, 15]} ] }, { "name": "Topfinfront7", "parent": "Topfinfront6", - "pivot": [2, 31.5, -3.9], + "pivot": [2, 19.5, -3.9], "rotation": [-1.47355, 0, 0], "cubes": [ - {"origin": [2, 28.5, -3.9], "size": [0, 3, 2], "uv": [36, 10]} + {"origin": [2, 16.5, -3.9], "size": [0, 3, 2], "uv": [36, 10]} ] }, { "name": "RightFrontFlipper4", "parent": "BodySection4", - "pivot": [7.5, 16.3, -17.3], + "pivot": [7.5, 4.3, -17.3], "rotation": [15.24, -2.61, 90], "cubes": [ - {"origin": [4, 15.3, -17.3], "size": [6, 1, 10], "uv": [105, 138]} + {"origin": [4, 3.3, -17.3], "size": [6, 1, 10], "uv": [105, 138]} ] }, { "name": "RightFrontFlipper5", "parent": "RightFrontFlipper4", - "pivot": [11, 15.8, -12.3], + "pivot": [11, 3.8, -12.3], "cubes": [ - {"origin": [3, 15.8, -12.3], "size": [8, 0, 8], "uv": [105, 155]} + {"origin": [3, 3.8, -12.3], "size": [8, 0, 8], "uv": [105, 155]} ] }, { "name": "RightFrontFlipper6", "parent": "RightFrontFlipper5", - "pivot": [9.5, 15.8, -4.3], + "pivot": [9.5, 3.8, -4.3], "cubes": [ - {"origin": [4.5, 15.8, -4.3], "size": [5, 0, 6], "uv": [110, 167]} + {"origin": [4.5, 3.8, -4.3], "size": [5, 0, 6], "uv": [110, 167]} ] }, { "name": "LeftFrontFlipper4", "parent": "BodySection4", - "pivot": [-3.5, 16.3, -17.3], + "pivot": [-3.5, 4.3, -17.3], "rotation": [15.24, 2.61, -90], "cubes": [ - {"origin": [-6, 15.3, -17.3], "size": [6, 1, 10], "uv": [141, 138]} + {"origin": [-6, 3.3, -17.3], "size": [6, 1, 10], "uv": [141, 138]} ] }, { "name": "LeftFrontFlipper5", "parent": "LeftFrontFlipper4", - "pivot": [-2.5, 15.8, -11.7], + "pivot": [-2.5, 3.8, -11.7], "cubes": [ - {"origin": [-7, 15.8, -11.7], "size": [8, 0, 8], "uv": [138, 155]} + {"origin": [-7, 3.8, -11.7], "size": [8, 0, 8], "uv": [138, 155]} ] }, { "name": "LeftFrontFlipper6", "parent": "LeftFrontFlipper5", - "pivot": [-4, 15.8, -3.7], + "pivot": [-4, 3.8, -3.7], "cubes": [ - {"origin": [-5.5, 15.8, -3.7], "size": [5, 0, 6], "uv": [141, 167]} + {"origin": [-5.5, 3.8, -3.7], "size": [5, 0, 6], "uv": [141, 167]} ] }, { "name": "Leftbottomfin4", "parent": "BodySection4", - "pivot": [-2.5, 14.9, -11.3], + "pivot": [-2.5, 2.9, -11.3], "rotation": [11.91, -55.8, -90], "cubes": [ - {"origin": [-3, 13.9, -11.3], "size": [4, 1, 8], "uv": [77, 140]} + {"origin": [-3, 1.9, -11.3], "size": [4, 1, 8], "uv": [77, 140]} ] }, { "name": "Leftbottomfin5", "parent": "Leftbottomfin4", - "pivot": [1.5, 14.4, -6], + "pivot": [1.5, 2.4, -6], "cubes": [ - {"origin": [-3.5, 14.4, -6], "size": [5, 0, 5], "uv": [77, 154]} + {"origin": [-3.5, 2.4, -6], "size": [5, 0, 5], "uv": [77, 154]} ] }, { "name": "Leftbottomfin6", "parent": "Leftbottomfin5", - "pivot": [1, 14.4, -1], + "pivot": [1, 2.4, -1], "cubes": [ - {"origin": [-2, 14.4, -1], "size": [3, 0, 3], "uv": [82, 164]} + {"origin": [-2, 2.4, -1], "size": [3, 0, 3], "uv": [82, 164]} ] }, { "name": "Rightbottomfin4", "parent": "BodySection4", - "pivot": [7.5, 14.9, -11.3], + "pivot": [7.5, 2.9, -11.3], "rotation": [-11.91, -55.8, -90], "cubes": [ - {"origin": [7, 15.9, -11.3], "size": [4, 1, 8], "uv": [49, 140]} + {"origin": [7, 3.9, -11.3], "size": [4, 1, 8], "uv": [49, 140]} ] }, { "name": "Rightbottomfin5", "parent": "Rightbottomfin4", - "pivot": [8, 14.4, -6], + "pivot": [8, 2.4, -6], "cubes": [ - {"origin": [6.5, 16.4, -6], "size": [5, 0, 5], "uv": [50, 154]} + {"origin": [6.5, 4.4, -6], "size": [5, 0, 5], "uv": [50, 154]} ] }, { "name": "Rightbottomfin6", "parent": "Rightbottomfin5", - "pivot": [7.5, 14.4, -1], + "pivot": [7.5, 2.4, -1], "cubes": [ - {"origin": [8, 16.4, -1], "size": [3, 0, 3], "uv": [55, 164]} + {"origin": [8, 4.4, -1], "size": [3, 0, 3], "uv": [55, 164]} ] }, { "name": "Neckback9", "parent": "Neck2", - "pivot": [4.5, 22.8, -31.6], + "pivot": [4.5, 10.8, -31.6], "rotation": [41.75, 0, 0], "cubes": [ - {"origin": [-2.5, 19.8, -31.6], "size": [9, 4, 8], "uv": [93, 5]} + {"origin": [-2.5, 7.8, -31.6], "size": [9, 4, 8], "uv": [93, 5]} ] }, { "name": "Neckback10", "parent": "Neck2", - "pivot": [1.5, 31.5, -18.4], + "pivot": [1.5, 19.5, -18.4], "rotation": [26.51, 0, 0], "cubes": [ - {"origin": [-3, 27.83, -26.7], "size": [10, 5, 10], "uv": [46, 3]} + {"origin": [-3, 15.83, -26.7], "size": [10, 5, 10], "uv": [46, 3]} ] }, { "name": "Mainhead2", "parent": "Neck2", - "pivot": [3, 23.2, -26.9], + "pivot": [3, 11.2, -26.9], "rotation": [33.66, 0, 0], "cubes": [ - {"origin": [-3, 18.2, -34.9], "size": [10, 9, 9], "uv": [107, 24]} + {"origin": [-3, 6.2, -34.9], "size": [10, 9, 9], "uv": [107, 24]} ] }, { "name": "UpperJaw3", "parent": "Mainhead2", - "pivot": [3.5, 23.3, -29.7], + "pivot": [3.5, 11.3, -29.7], "rotation": [-31.75, 0, 0], "cubes": [ - {"origin": [-2.5, 20.3, -41.7], "size": [9, 2, 8], "uv": [149, 18]} + {"origin": [-2.5, 8.3, -41.7], "size": [9, 2, 8], "uv": [149, 18]} ] }, { "name": "UpperJaw4", "parent": "UpperJaw3", - "pivot": [2.5, 25.9, -30.5], + "pivot": [2.5, 13.9, -30.5], "rotation": [11.02, 0, 0], "cubes": [ - {"origin": [-1.5, 22.9, -42.5], "size": [7, 2, 8], "uv": [145, 4]} + {"origin": [-1.5, 10.9, -42.5], "size": [7, 2, 8], "uv": [145, 4]} ] }, { "name": "Rightgill2", "parent": "Mainhead2", - "pivot": [7.7, 23.2, -30.9], + "pivot": [7.7, 11.2, -30.9], "cubes": [ - {"origin": [6.7, 15.2, -30.9], "size": [1, 8, 11], "uv": [51, 50]} + {"origin": [6.7, 3.2, -30.9], "size": [1, 8, 11], "uv": [51, 50]} ] }, { "name": "Leftgill2", "parent": "Mainhead2", - "pivot": [-2.7, 23.2, -30.9], + "pivot": [-2.7, 11.2, -30.9], "cubes": [ - {"origin": [-3.7, 15.2, -30.9], "size": [1, 8, 11], "uv": [81, 50]} + {"origin": [-3.7, 3.2, -30.9], "size": [1, 8, 11], "uv": [81, 50]} ] }, { "name": "Lowerjawrear2", "parent": "Mainhead2", - "pivot": [1.5, 20.5, -33.2], + "pivot": [1.5, 8.5, -33.2], "rotation": [-34.17256, 0, 0], "cubes": [ - {"origin": [-1.5, 18, -37.2], "size": [7, 5, 5], "uv": [142, 45]} + {"origin": [-1.5, 6, -37.2], "size": [7, 5, 5], "uv": [142, 45]} ] }, { "name": "Lowerjawforward2", "parent": "Lowerjawrear2", - "pivot": [1.5, 20.4, -37.2], + "pivot": [1.5, 8.4, -37.2], "cubes": [ - {"origin": [-1.5, 19.4, -43.2], "size": [7, 2, 6], "uv": [169, 33]} + {"origin": [-1.5, 7.4, -43.2], "size": [7, 2, 6], "uv": [169, 33]} ] }, { "name": "Chin2", "parent": "Lowerjawforward2", - "pivot": [1, 17.3, -31.9], + "pivot": [1, 5.3, -31.9], "rotation": [-10.59, 0, 0], "cubes": [ - {"origin": [-1, 17.3, -42.9], "size": [6, 2, 6], "uv": [170, 46]} + {"origin": [-1, 5.3, -42.9], "size": [6, 2, 6], "uv": [170, 46]} ] }, { "name": "Lowerjawrear3", "parent": "Mainhead2", - "pivot": [6, 22.4, -34.3], + "pivot": [6, 10.4, -34.3], "rotation": [-41.09, 0, 0], "cubes": [ - {"origin": [-2, 18.4, -34.3], "size": [8, 4, 5], "uv": [110, 47]} + {"origin": [-2, 6.4, -34.3], "size": [8, 4, 5], "uv": [110, 47]} ] } ] diff --git a/gradle.properties b/gradle.properties index 174c9f2..a468457 100755 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ fabric.loom.multiProjectOptimisation=true mod.name=Jurassic Revived mod.id=jurassicrevived mod.group=net.cmr.jurassicrevived -mod.version=0.229.0 +mod.version=0.230.0 mod.author=CMR Team, Eli Gibbs mod.description=A Minecraft mod that brings dinosaurs back to life using ancient DNA and modern technology\nBreed, study, and build your own prehistoric park with a wide variety of creatures... mod.license=CC-BY-ND-4.0