From 33b18c6cd26390a3a81a65c7157e7e915a7ab81c Mon Sep 17 00:00:00 2001 From: craisinlord Date: Sun, 5 Jul 2026 20:45:01 -0500 Subject: [PATCH 01/13] mantis and nightmare overhaul --- .../entity/nightmare/NightmareEntity.java | 37 +- .../animations/nightmare.animation.json | 5405 +++++++---------- .../assets/antarchy/geo/mantis.geo.json | 17 +- .../assets/antarchy/geo/nightmare.geo.json | 127 +- .../antarchy/textures/entity/mantis.png | Bin 9620 -> 8551 bytes .../antarchy/textures/entity/mantis_alpha.png | Bin 0 -> 9025 bytes .../antarchy/textures/entity/nightmare.png | Bin 14218 -> 19820 bytes 7 files changed, 2192 insertions(+), 3394 deletions(-) create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/mantis_alpha.png diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java index cf8808fb..6c296799 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java @@ -76,15 +76,11 @@ public class NightmareEntity extends Monster implements GeoEntity { private static final int ANIM_ATTACK = 3; private static final int ANIM_FLY_ATTACK = 4; private static final int ANIM_ROAR = 5; - private static final int ANIM_DEATH = 6; - private static final int ANIM_TAKEOFF = 7; - private static final int ANIM_FLY_DAMAGED = 8; - - private static final int ATTACK_TOTAL_TICKS = 18; - private static final int ATTACK_DAMAGE_TICK = 9; - private static final int INTRO_ROAR_TICKS = 32; - private static final int COMBAT_ROAR_TICKS = 24; - private static final int DEATH_TICKS = 36; + private static final int ATTACK_TOTAL_TICKS = 20; + private static final int ATTACK_DAMAGE_TICK = 10; + private static final int INTRO_ROAR_TICKS = 30; + private static final int COMBAT_ROAR_TICKS = 30; + private static final int DEATH_TICKS = 30; private static final int TARGET_RESET_TICKS = 60; private static final int DREAD_TICKS = 160; private static final int WEAKNESS_TICKS = 100; @@ -101,15 +97,12 @@ public class NightmareEntity extends Monster implements GeoEntity { private static final double FLIGHT_DISENGAGE_RANGE_SQR = 36.0D; private static final double ROAR_RETRY_DISTANCE_SQR = 400.0D; - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("Idle"); + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation TAKEOFF_ANIM = RawAnimation.begin().thenPlay("animation").thenLoop("fly"); private static final RawAnimation FLY_ANIM = RawAnimation.begin().thenLoop("fly"); - private static final RawAnimation ATTACK_ANIM = RawAnimation.begin().thenPlay("attack").thenLoop("Idle"); - private static final RawAnimation FLY_ATTACK_ANIM = RawAnimation.begin().thenPlay("fly_attack").thenLoop("fly"); - private static final RawAnimation ROAR_ANIM = RawAnimation.begin().thenPlay("roar").thenLoop("Idle"); - private static final RawAnimation DEATH_ANIM = RawAnimation.begin().thenPlayAndHold("death"); - + private static final RawAnimation ATTACK_ANIM = RawAnimation.begin().thenPlay("attack").thenLoop("idle"); + private static final RawAnimation FLY_ATTACK_ANIM = RawAnimation.begin().thenPlay("attack2").thenLoop("fly"); + private static final RawAnimation ROAR_ANIM = RawAnimation.begin().thenPlay("roar").thenLoop("idle"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private int attackCooldown; @@ -179,18 +172,14 @@ public class NightmareEntity extends Monster implements GeoEntity { int animState = this.getAnimationState(); state.getController().setAnimationSpeed(switch (animState) { case ANIM_FLY -> 0.45D; - case ANIM_DEATH -> 0.6D; default -> 1.0D; }); return switch (animState) { case ANIM_WALK -> state.setAndContinue(WALK_ANIM); - case ANIM_TAKEOFF -> state.setAndContinue(TAKEOFF_ANIM); case ANIM_FLY -> state.setAndContinue(FLY_ANIM); -// case ANIM_FLY_DAMAGED -> state.setAndContinue(FLY_ANIM); case ANIM_ATTACK -> state.setAndContinue(ATTACK_ANIM); case ANIM_FLY_ATTACK -> state.setAndContinue(FLY_ATTACK_ANIM); case ANIM_ROAR -> state.setAndContinue(ROAR_ANIM); - case ANIM_DEATH -> state.setAndContinue(DEATH_ANIM); default -> state.setAndContinue(IDLE_ANIM); }; } @@ -257,7 +246,6 @@ public class NightmareEntity extends Monster implements GeoEntity { } if (this.isDeadOrDying()) { - this.setAnimationState(ANIM_DEATH); this.updateFlightRotation(); return; } @@ -375,7 +363,6 @@ public class NightmareEntity extends Monster implements GeoEntity { @Override public void die(DamageSource damageSource) { if (!this.level().isClientSide) { - this.setAnimationState(ANIM_DEATH); this.attackAnimationTicks = 0; this.attackCooldown = 0; this.roarTicks = 0; @@ -389,9 +376,6 @@ public class NightmareEntity extends Monster implements GeoEntity { @Override protected void tickDeath() { this.deathTime++; - if (this.deathTime == 1) { - this.setAnimationState(ANIM_DEATH); - } if (this.deathTime >= DEATH_TICKS) { this.remove(RemovalReason.KILLED); this.dropExperience(this); @@ -649,7 +633,6 @@ public class NightmareEntity extends Monster implements GeoEntity { private void updateAnimationState() { if (this.isDeadOrDying()) { - this.setAnimationState(ANIM_DEATH); this.groundMoveTicks = 0; this.wingFlapCooldown = 0; return; @@ -669,7 +652,7 @@ public class NightmareEntity extends Monster implements GeoEntity { if (this.flyingToTarget) { this.groundMoveTicks = 0; if (this.onGround() || this.airborneTicks <= 8) { - this.setAnimationState(ANIM_TAKEOFF); + this.setAnimationState(ANIM_FLY); this.wingFlapCooldown = 0; } else { this.setAnimationState(ANIM_FLY); diff --git a/common/src/main/resources/assets/antarchy/animations/nightmare.animation.json b/common/src/main/resources/assets/antarchy/animations/nightmare.animation.json index 83198889..13782188 100644 --- a/common/src/main/resources/assets/antarchy/animations/nightmare.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/nightmare.animation.json @@ -1,55 +1,33 @@ { "format_version": "1.8.0", "animations": { - "Idle": { + "idle": { "loop": true, - "animation_length": 2, + "animation_length": 4, "bones": { "head": { "rotation": { "0.0": { "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.8333": { - "post": { - "vector": [26.51036, -4.3678, 14.36222] - }, - "lerp_mode": "catmullrom" - }, - "1.4583": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [37.5, 0, 0] + "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "3.0": { "post": { - "vector": [12.5, 0, 0] + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -59,19 +37,19 @@ "rotation": { "0.0": { "post": { - "vector": [15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [20, 0, 0] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, "2.0": { "post": { - "vector": [15, 0, 0] + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -81,19 +59,25 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-15.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.75": { "post": { - "vector": [-37.5, 0, 0] + "vector": [-17, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "2.75": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-13, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-15.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -101,19 +85,25 @@ "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, -1, 6] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 6, 0] + "vector": [0, -3, 6] }, "lerp_mode": "catmullrom" }, - "2.0": { + "3.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, 1, 6] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -1, 6] }, "lerp_mode": "catmullrom" } @@ -123,13 +113,51 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, -20, 0] + "vector": [-20, -17.5, -5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "1.5": { "post": { - "vector": [-27.5, -20, 0] + "vector": [-32.5, -17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-17.5, -17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-20, -17.5, -5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-0.5, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -1, 0] }, "lerp_mode": "catmullrom" } @@ -139,13 +167,25 @@ "rotation": { "0.0": { "post": { - "vector": [27.5, 0, 0] + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "1.5": { "post": { - "vector": [27.5, 0, 0] + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -153,26 +193,26 @@ }, "L_foot": { "rotation": { - "vector": [0, 0, 0] + "vector": [-20, 0, 5] } }, "Tail": { "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.625": { - "post": { - "vector": [52.5, 0, 0] + "vector": [7.5, -15, 0] }, "lerp_mode": "catmullrom" }, "2.0": { "post": { - "vector": [20, 0, 0] + "vector": [7.5, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [7.5, -15, 0] }, "lerp_mode": "catmullrom" } @@ -182,19 +222,25 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] + "vector": [-7.5, -4.69, 1.87] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.625": { "post": { - "vector": [47.5, 0, 0] + "vector": [-7.5, -12.5, 5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "2.625": { "post": { - "vector": [20, 0, 0] + "vector": [-7.5, 12.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-7.5, -4.69, 1.87] }, "lerp_mode": "catmullrom" } @@ -204,19 +250,25 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] + "vector": [7.5, -0.83, 0.42] }, "lerp_mode": "catmullrom" }, - "1.375": { + "0.9167": { "post": { - "vector": [62.5, 0, 0] + "vector": [7.5, -10, 5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "2.9167": { "post": { - "vector": [20, 0, 0] + "vector": [7.5, 10, -5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [7.5, -0.83, 0.42] }, "lerp_mode": "catmullrom" } @@ -226,13 +278,51 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 20, 0] + "vector": [-20, 17.5, 5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "1.5": { "post": { - "vector": [-27.5, 20, 0] + "vector": [-32.5, 17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [-17.5, 17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-20, 17.5, 5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0.5, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -1, 0] }, "lerp_mode": "catmullrom" } @@ -242,13 +332,25 @@ "rotation": { "0.0": { "post": { - "vector": [27.5, 0, 0] + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "1.5": { "post": { - "vector": [27.5, 0, 0] + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -256,60 +358,32 @@ }, "R_foot": { "rotation": { - "vector": [0, 0, 0] + "vector": [-20, 0, -5] } }, "L_Wing": { "rotation": { "0.0": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [12.5, 17.5, -5] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.25": { "post": { - "vector": [0.46156, -0.55488, -18.37854] + "vector": [12.5, 30, -5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "3.25": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [12.5, 10, -5] }, "lerp_mode": "catmullrom" }, - "0.75": { + "4.0": { "post": { - "vector": [0.74537, -21.98229, 13.2218] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0.74537, -21.98229, 13.2218] - }, - "lerp_mode": "catmullrom" - }, - "1.4167": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [12.5, 17.5, -5] }, "lerp_mode": "catmullrom" } @@ -319,31 +393,25 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [-17.5, -30, 27.5] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [-6.0329, -14.68845, 34.05029] + "vector": [-17.5, -42.5, 32.5] }, "lerp_mode": "catmullrom" }, - "1.0": { + "2.5": { "post": { - "vector": [-6.0329, -14.68845, 34.05029] + "vector": [-17.5, -17.5, 22.5] }, "lerp_mode": "catmullrom" }, - "1.4583": { + "4.0": { "post": { - "vector": [-7.11718, -4.30139, 21.55449] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [-17.5, -30, 27.5] }, "lerp_mode": "catmullrom" } @@ -353,47 +421,25 @@ "rotation": { "0.0": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] + "vector": [12.5, -17.5, 5] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.25": { "post": { - "vector": [0.46156, 0.55488, 18.37854] + "vector": [12.5, -30, 5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "3.25": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [12.5, -10, 5] }, "lerp_mode": "catmullrom" }, - "0.75": { + "4.0": { "post": { - "vector": [0.74537, 21.98229, -13.2218] - }, - "lerp_mode": "catmullrom" - }, - "1.4167": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [12.5, -17.5, 5] }, "lerp_mode": "catmullrom" } @@ -403,41 +449,81 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [-17.5, 30, -27.5] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [-6.0329, 14.68845, -34.05029] + "vector": [-17.5, 42.5, -32.5] }, "lerp_mode": "catmullrom" }, - "1.4583": { + "2.5": { "post": { - "vector": [-7.11718, 4.30139, -21.55449] + "vector": [-17.5, 17.5, -22.5] }, "lerp_mode": "catmullrom" }, - "2.0": { + "4.0": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [-17.5, 30, -27.5] }, "lerp_mode": "catmullrom" } } }, - "Nightmare": { + "body": { "position": { "0.0": { "post": { - "vector": [0, -0.5, -12] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "1.5": { "post": { - "vector": [0, -0.5, -12] + "vector": [0, -0.75, 1.75] + }, + "lerp_mode": "catmullrom" + }, + "3.5": { + "post": { + "vector": [0, 0, -0.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" } @@ -447,47 +533,49 @@ }, "walk": { "loop": true, - "animation_length": 1.5, + "animation_length": 2, "bones": { "head": { "rotation": { "0.0": { "post": { - "vector": [22.5, 0, 0] + "vector": [15, 2.5, -5] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.375": { "post": { - "vector": [12.11233, -2.54924, 22.28582] + "vector": [5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { + "0.75": { "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] + "vector": [15, -2.5, 5] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "1.0": { "post": { - "vector": [25, 0, 0] + "vector": [15, -2.5, 5] }, "lerp_mode": "catmullrom" }, - "1.5": { + "1.375": { "post": { - "vector": [12.5, 0, 0] + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [15, 2.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15, 2.5, -5] }, "lerp_mode": "catmullrom" } @@ -496,22 +584,55 @@ "neck": { "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [0, 7.5, 0] + }, "post": { - "vector": [15, 0, 0] + "vector": [0, 7.5, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.6667": { "post": { - "vector": [2.05239, 2.55868, -19.8423] + "vector": [-5, 3.87, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { + "0.9167": { "post": { - "vector": [15, 0, 0] + "vector": [8.73, -0.63, 0] }, "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + }, + "1.375": { + "pre": { + "vector": [0, -7.5, 0] + }, + "post": { + "vector": [0, -7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [-5, -3.87, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [8.73, 0.63, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "vector": [0, 0, 0] } } }, @@ -519,201 +640,313 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.0417": { + "vector": [-2.5, 0, 0] + }, + "0.125": { + "pre": { + "vector": [0.68, -2.5, 0] + }, "post": { - "vector": [-7.5, 0, 0] + "vector": [0.68, -2.5, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { + "0.1667": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-0.99, -4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-2.44, -5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [2.5, -5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-4.79, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "vector": [-2.5, 0, 0] + }, + "1.125": { + "pre": { + "vector": [0.68, 2.5, 0] + }, + "post": { + "vector": [0.68, 2.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-0.99, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { + "post": { + "vector": [-2.44, 5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [2.5, 5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.875": { + "post": { + "vector": [-4.79, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" } }, "position": { "0.0": { + "vector": [0, 2, 5] + }, + "0.0833": { + "vector": [0, -1, 4.5] + }, + "0.1667": { + "vector": [0, 4, 4.25] + }, + "0.25": { + "vector": [0, 1, 4.75] + }, + "0.375": { + "vector": [0, 2, 6.5] + }, + "0.5417": { + "pre": { + "vector": [0, 3.83, 9] + }, "post": { - "vector": [0, 0, 0] + "vector": [0, 3.83, 9] }, "lerp_mode": "catmullrom" }, - "0.4583": { + "0.75": { "post": { - "vector": [0, -2.97, 7] + "vector": [0, 7, 9] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.9167": { "post": { - "vector": [0, -5, 0] + "vector": [0, 7, 7] }, "lerp_mode": "catmullrom" }, + "1.0": { + "vector": [0, 2, 5] + }, + "1.0833": { + "vector": [0, -1, 4.5] + }, + "1.1667": { + "vector": [0, 4, 4.25] + }, "1.25": { + "vector": [0, 1, 4.75] + }, + "1.375": { + "vector": [0, 2, 6.5] + }, + "1.5417": { + "pre": { + "vector": [0, 3.83, 9] + }, "post": { - "vector": [0, -1.46, 7.2] + "vector": [0, 3.83, 9] }, "lerp_mode": "catmullrom" }, - "1.5": { + "1.75": { "post": { - "vector": [0, 0, 0] + "vector": [0, 7, 9] }, "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [0, 7, 7] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "vector": [0, 2, 5] } } }, "L_Tight": { "rotation": { "0.0": { + "vector": [20, -5, 0] + }, + "0.5": { + "pre": { + "vector": [15.94, -5, 0] + }, "post": { - "vector": [22.73, -1.53, -1.87] + "vector": [15.94, -5, 0] }, "lerp_mode": "catmullrom" }, - "0.75": { - "post": { - "vector": [-27.5, -2.5, 0] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [-17.5, -5, 0] }, - "1.3333": { - "post": { - "vector": [27.52563, -1.43364, -2.04831] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [22.73, -1.53, -1.87] - }, - "lerp_mode": "catmullrom" + "2.0": { + "vector": [20, -5, 0] } }, "position": { "0.0": { - "vector": [0, 8.96, 0] + "vector": [0, -3.75, 5] }, - "0.2083": { - "vector": [0, 4, 0] - }, - "0.375": { - "vector": [0, 2.46, -7] + "0.2917": { + "pre": { + "vector": [0, -1.73, 2.79] + }, + "post": { + "vector": [0, -1.73, 2.79] + }, + "lerp_mode": "catmullrom" }, "0.75": { - "vector": [0, -1, 0] + "post": { + "vector": [0, 4.96, -5.58] + }, + "lerp_mode": "catmullrom" }, - "1.125": { - "vector": [0, -2.16, 5] + "0.9167": { + "post": { + "vector": [0, 4.96, -5.58] + }, + "lerp_mode": "catmullrom" }, - "1.2917": { - "vector": [0, -2.67, 2] + "1.0": { + "vector": [0, -0.25, -6] + }, + "1.0417": { + "vector": [0, -2.14, -5.54] + }, + "1.0833": { + "vector": [0, 0.96, -5.08] + }, + "1.1667": { + "vector": [0, -0.93, -4.12] + }, + "1.25": { + "vector": [0, -0.12, -3.25] + }, + "1.375": { + "vector": [0, 0.03, -1.87] }, "1.5": { - "vector": [0, 8.96, 0] + "vector": [0, -0.33, -0.5] + }, + "1.625": { + "vector": [0, -0.93, 0.88] + }, + "1.75": { + "vector": [0, -2.04, 2.25] + }, + "1.875": { + "vector": [0, -2.64, 3.63] + }, + "2.0": { + "vector": [0, -3.75, 5] } } }, "L_leg": { "rotation": { "0.0": { + "vector": [22.5, 0, 0] + }, + "0.5": { + "pre": { + "vector": [62.5, 0, 0] + }, "post": { - "vector": [-8.01, -0.27, 1.37] + "vector": [62.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { - "post": { - "vector": [7.51392, -0.26267, 0.75154] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [7.5, 0, 0] }, - "0.75": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.4583": { - "post": { - "vector": [-7.47683, -0.25415, 1.35195] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [-8.01, -0.27, 1.37] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.1667": { - "vector": [0, 0, 0] - }, - "0.4167": { - "vector": [0, 0, -3] - }, - "0.75": { - "vector": [0, 0, 0] - }, - "1.5": { - "vector": [0, 0, 0] + "2.0": { + "vector": [22.5, 0, 0] } } }, "L_foot": { "rotation": { "0.0": { + "vector": [-42.5, 0, 0] + }, + "0.2917": { + "pre": { + "vector": [-37.19, 0, 0] + }, "post": { - "vector": [0.72, 0.04, -0.08] + "vector": [-37.19, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.0417": { + "0.5833": { "post": { - "vector": [4.99419, 0.03493, -0.24227] + "vector": [-28.85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.7917": { "post": { - "vector": [29.97207, 0.33518, -1.18002] + "vector": [-20.35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.9167": { "post": { - "vector": [0, 0, 0] + "vector": [-20.35, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0833": { - "post": { - "vector": [-17.48784, 0.09822, 0.63249] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [10, 0, 0] }, - "1.25": { - "post": { - "vector": [-24.29925, 0.21401, 0.89555] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0.72, 0.04, -0.08] - }, - "lerp_mode": "catmullrom" + "2.0": { + "vector": [-42.5, 0, 0] } } }, @@ -721,19 +954,19 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] + "vector": [0, -12.5, 0] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "1.0": { "post": { - "vector": [37.5, 0, 0] + "vector": [0, 12.5, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { + "2.0": { "post": { - "vector": [20, 0, 0] + "vector": [0, -12.5, 0] }, "lerp_mode": "catmullrom" } @@ -743,19 +976,25 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] + "vector": [0, -3.33, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "0.3333": { "post": { - "vector": [42.5, 0, 0] + "vector": [0, -10, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { + "1.3333": { "post": { - "vector": [20, 0, 0] + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -3.33, 0] }, "lerp_mode": "catmullrom" } @@ -765,19 +1004,25 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0833": { + "0.5": { "post": { - "vector": [65, 0, 0] + "vector": [0, -10, 0] }, "lerp_mode": "catmullrom" }, "1.5": { "post": { - "vector": [20, 0, 0] + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" } @@ -786,127 +1031,143 @@ "R_Tight": { "rotation": { "0.0": { - "post": { - "vector": [-27.5, 2.5, 0] - }, - "lerp_mode": "catmullrom" + "vector": [-17.5, 5, 0] }, - "0.5833": { - "post": { - "vector": [27.52563, 1.43364, 2.04831] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [20, 5, 0] }, "1.5": { + "pre": { + "vector": [15.94, 5, 0] + }, "post": { - "vector": [-27.5, 2.5, 0] + "vector": [15.94, 5, 0] }, "lerp_mode": "catmullrom" + }, + "2.0": { + "vector": [-17.5, 5, 0] } }, "position": { "0.0": { - "vector": [0, -1, 0] + "vector": [0, -0.25, -6] + }, + "0.0417": { + "vector": [0, -2.14, -5.54] + }, + "0.0833": { + "vector": [0, 0.96, -5.08] + }, + "0.1667": { + "vector": [0, -0.93, -4.12] + }, + "0.25": { + "vector": [0, -0.12, -3.25] }, "0.375": { - "vector": [0, -2.16, 5] + "vector": [0, 0.03, -1.87] }, - "0.5417": { - "vector": [0, -2.67, 2] + "0.5": { + "vector": [0, -0.33, -0.5] + }, + "0.625": { + "vector": [0, -0.93, 0.88] }, "0.75": { - "vector": [0, 8.96, 0] + "vector": [0, -2.04, 2.25] }, - "0.9583": { - "vector": [0, 4, 0] + "0.875": { + "vector": [0, -2.64, 3.63] }, - "1.125": { - "vector": [0, 2.46, -7] + "1.0": { + "vector": [0, -3.75, 5] }, - "1.5": { - "vector": [0, -1, 0] + "1.2917": { + "pre": { + "vector": [0, -1.73, 2.79] + }, + "post": { + "vector": [0, -1.73, 2.79] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [0, 4.96, -5.58] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [0, 4.96, -5.58] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "vector": [0, -0.25, -6] } } }, "R_leg": { "rotation": { "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [7.5, 0, 0] }, - "0.7083": { - "post": { - "vector": [-7.47683, 0.25415, -1.35195] - }, - "lerp_mode": "catmullrom" - }, - "1.1667": { - "post": { - "vector": [7.51392, 0.26267, -0.75154] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [22.5, 0, 0] }, "1.5": { + "pre": { + "vector": [62.5, 0, 0] + }, "post": { - "vector": [27.5, 0, 0] + "vector": [62.5, 0, 0] }, "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] }, - "0.9167": { - "vector": [0, 0, 0] - }, - "1.1667": { - "vector": [0, 0, -3] - }, - "1.5": { - "vector": [0, 0, 0] + "2.0": { + "vector": [7.5, 0, 0] } } }, "R_foot": { "rotation": { "0.0": { + "vector": [10, 0, 0] + }, + "1.0": { + "vector": [-42.5, 0, 0] + }, + "1.2917": { + "pre": { + "vector": [-37.19, 0, 0] + }, "post": { - "vector": [0, 0, 0] + "vector": [-37.19, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "1.5833": { "post": { - "vector": [-17.48784, -0.09822, -0.63249] + "vector": [-28.85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.7917": { "post": { - "vector": [-24.29925, -0.21401, -0.89555] + "vector": [-20.35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7917": { + "1.9167": { "post": { - "vector": [4.99419, -0.03493, 0.24227] + "vector": [-20.35, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.1667": { - "post": { - "vector": [29.97207, -0.33518, 1.18002] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "2.0": { + "vector": [10, 0, 0] } } }, @@ -914,35 +1175,31 @@ "rotation": { "0.0": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [12.5, 5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 15, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [12.5, 30, -5] }, "lerp_mode": "catmullrom" }, "1.5": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [10, 15, 5] }, "lerp_mode": "catmullrom" }, - "0.75": { + "2.0": { "post": { - "vector": [0.86484, -13.40888, -17.38498] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [12.5, 5, -5] }, "lerp_mode": "catmullrom" } @@ -952,19 +1209,43 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [-1.88, -21.88, 21.26] }, "lerp_mode": "catmullrom" }, - "1.1667": { + "0.2083": { "post": { - "vector": [-8.93842, -7.56235, 18.72187] + "vector": [0, -20, 17.5] }, "lerp_mode": "catmullrom" }, - "1.5": { + "0.7083": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [-5, -25, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -20, 21.67] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { + "post": { + "vector": [0, -20, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [-5, -25, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-1.88, -21.88, 21.26] }, "lerp_mode": "catmullrom" } @@ -974,35 +1255,31 @@ "rotation": { "0.0": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] + "vector": [12.5, -30, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, -15, -5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [12.5, -5, 5] }, "lerp_mode": "catmullrom" }, "1.5": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [10, -15, -5] }, "lerp_mode": "catmullrom" }, - "0.75": { + "2.0": { "post": { - "vector": [0.86484, 13.40888, 17.38498] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [12.5, -30, 5] }, "lerp_mode": "catmullrom" } @@ -1012,35 +1289,71 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 20, -21.67] }, "lerp_mode": "catmullrom" }, - "1.1667": { + "0.2083": { "post": { - "vector": [-8.93842, 7.56235, -18.72187] + "vector": [0, 20, -17.5] }, "lerp_mode": "catmullrom" }, - "1.5": { + "0.7083": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [-5, 25, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { + "post": { + "vector": [0, 20, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [-5, 25, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 20, -21.67] }, "lerp_mode": "catmullrom" } } }, - "Nightmare": { - "position": { + "jaw": { + "rotation": { "0.0": { "post": { - "vector": [0, -0.5, -12] + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" }, "1.5": { "post": { - "vector": [0, -0.5, -12] + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1050,186 +1363,9 @@ }, "fly": { "loop": true, - "animation_length": 0.5, + "animation_length": 1, "bones": { "head": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [30.91957, -11.60656, -25.46723] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.25": { - "vector": [31.67477, -7.67669, -1.77087] - }, - "0.5": { - "vector": [0, 0, 0] - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [30.22742, -9.21817, 10.86011] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "torso": { - "rotation": { - "0.0": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [82.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_foot": { - "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [117.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail": { - "rotation": { - "0.0": { - "vector": [12.5, 0, 0] - }, - "0.5": { - "vector": [12.5, 0, 0] - } - } - }, - "Tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail3": { "rotation": { "0.0": { "post": { @@ -1243,312 +1379,13 @@ }, "lerp_mode": "catmullrom" }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { + "0.5417": { "post": { "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [82.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_foot": { - "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [117.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-9.14537, 13.83447, -66.78912] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-6.26261, -12.2403, 54.06134] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-9.14537, 13.83447, -66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, 3.17814, -14.63362] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.14442, -15.99543, 50.01072] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.32406, 3.17814, -14.63362] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-1.62155, 6.14718, -24.27788] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10.3696, -11.36311, 31.32523] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-0.45513, -4.44338, 16.94234] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-1.62155, 6.14718, -24.27788] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-9.14537, -13.83447, 66.78912] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-6.26261, 12.2403, -54.06134] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-9.14537, -13.83447, 66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.14442, 15.99543, -50.01072] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-1.62155, -6.14718, 24.27788] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10.3696, 11.36311, -31.32523] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-0.45513, 4.44338, -16.94234] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-1.62155, -6.14718, 24.27788] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Nightmare": { - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0, 27, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "fly_attack": { - "animation_length": 0.75, - "bones": { - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [73.33739, -3.83835, -0.88544] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [73.33739, -3.83835, -0.88544] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-2.91489, -1.67928, -0.38738] - }, - "lerp_mode": "catmullrom" - }, - "0.625": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { + "1.0": { "post": { "vector": [0, 0, 0] }, @@ -1560,77 +1397,31 @@ "rotation": { "0.0": { "post": { - "vector": [7.5, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.2083": { "post": { - "vector": [-13.32374, -7.77783, 9.16322] + "vector": [10, 0, -2.5] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.4583": { "post": { - "vector": [7.26308, -7.90227, 9.30983] + "vector": [9.31, -4.68, 2.04] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.6667": { "post": { - "vector": [13.25635, -7.84783, 9.24569] + "vector": [20, -7.5, 5] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "1.0": { "post": { - "vector": [-3.32374, -7.77783, 9.16322] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [36.67626, -7.77783, 9.16322] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "torso": { - "rotation": { - "0.0": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-36.25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.625": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-15, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1640,93 +1431,77 @@ "rotation": { "0.0": { "post": { - "vector": [-37.5, 0, 0] + "vector": [-18.06, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.0833": { "post": { - "vector": [-5, 0, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.3333": { "post": { - "vector": [-37.5, 0, 0] + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-18.06, 0, 0] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [0, -1, -3] } }, "L_leg": { "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [82.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-25.46, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [47.5, 0, 0] } }, "L_foot": { "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [117.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [42.78, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [122.5, 0, 0] } }, "Tail": { "rotation": { "0.0": { - "vector": [12.5, 0, 0] + "vector": [15, 0, 0] }, - "0.4167": { - "vector": [-7.5, 0, 0] + "0.1667": { + "pre": { + "vector": [-30, 0, 0] + }, + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" }, - "0.625": { - "vector": [12.5, 0, 0] + "0.375": { + "vector": [-22.86, 0, 0] }, - "0.75": { - "vector": [12.5, 0, 0] + "0.7083": { + "pre": { + "vector": [27.5, 0, 0] + }, + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [15, 0, 0] } } }, @@ -1734,31 +1509,31 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [25, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.1667": { "post": { - "vector": [22.5, 0, 0] + "vector": [-25, 0, 0] }, "lerp_mode": "catmullrom" }, "0.4167": { "post": { - "vector": [-22.16, 0, 0] + "vector": [-30, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.7917": { "post": { - "vector": [0, 0, 0] + "vector": [27.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.75": { + "1.0": { "post": { - "vector": [0, 0, 0] + "vector": [25, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1768,31 +1543,37 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.0833": { "post": { - "vector": [43.75, 0, 0] + "vector": [22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.2083": { "post": { - "vector": [-41.98, 0, 0] + "vector": [-37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.5417": { "post": { - "vector": [0, 0, 0] + "vector": [-45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.8333": { "post": { - "vector": [0, 0, 0] + "vector": [5.58, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1802,119 +1583,72 @@ "rotation": { "0.0": { "post": { - "vector": [-37.5, 0, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.1667": { + "0.25": { "post": { - "vector": [-5, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.75": { "post": { - "vector": [-37.5, 0, 0] + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [0, -1, -3] } }, "R_leg": { "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [82.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-25.46, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [47.5, 0, 0] } }, "R_foot": { "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [117.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [42.78, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [122.5, 0, 0] } }, "L_Wing": { "rotation": { "0.0": { "post": { - "vector": [-9.14537, 13.83447, -66.78912] + "vector": [-22.5, 20, -40] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.1667": { "post": { - "vector": [-6.26261, -12.2403, 54.06134] + "vector": [-30, 40, 32.5] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4167": { "post": { - "vector": [-9.14537, 13.83447, -66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, 3.17814, -14.63362] + "vector": [25, 27.5, 32.5] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.75": { "post": { - "vector": [-11.14442, -15.99543, 50.01072] + "vector": [0, 0, -57.5] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [-0.32406, 3.17814, -14.63362] + "vector": [-22.5, 20, -40] }, "lerp_mode": "catmullrom" } @@ -1924,25 +1658,31 @@ "rotation": { "0.0": { "post": { - "vector": [-1.62155, 6.14718, -24.27788] + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.5, -30, -40] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [-10.3696, -11.36311, 31.32523] + "vector": [0, -45, 40] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.5417": { "post": { - "vector": [-0.45513, -4.44338, 16.94234] + "vector": [-2.67, -13.15, 55.66] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [-1.62155, 6.14718, -24.27788] + "vector": [0, 0, -22.5] }, "lerp_mode": "catmullrom" } @@ -1952,47 +1692,31 @@ "rotation": { "0.0": { "post": { - "vector": [-9.14537, -13.83447, 66.78912] + "vector": [-22.5, -20, 40] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.1667": { "post": { - "vector": [-6.26261, 12.2403, -54.06134] + "vector": [-30, -40, -32.5] }, "lerp_mode": "catmullrom" }, - "0.625": { + "0.4167": { "post": { - "vector": [-9.14537, -13.83447, 66.78912] + "vector": [25, -27.5, -32.5] }, "lerp_mode": "catmullrom" }, "0.75": { "post": { - "vector": [-9.14537, -13.83447, 66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] + "vector": [0, 0, 57.5] }, "lerp_mode": "catmullrom" }, - "0.25": { + "1.0": { "post": { - "vector": [-11.14442, 15.99543, -50.01072] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] + "vector": [-22.5, -20, 40] }, "lerp_mode": "catmullrom" } @@ -2002,49 +1726,64 @@ "rotation": { "0.0": { "post": { - "vector": [-1.62155, -6.14718, 24.27788] + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.5, 30, 40] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [-10.3696, 11.36311, -31.32523] + "vector": [0, 45, -40] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.5417": { "post": { - "vector": [-0.45513, 4.44338, -16.94234] + "vector": [-2.67, 13.15, -55.66] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [-1.62155, -6.14718, 24.27788] + "vector": [0, 0, 22.5] }, "lerp_mode": "catmullrom" } } }, - "Nightmare": { + "body": { "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [10, 0, 2.5] + }, "post": { - "vector": [0, 0, 0] + "vector": [10, 0, 2.5] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.4167": { "post": { - "vector": [-25, 0, 0] + "vector": [2.5, 5, -2.5] }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.7083": { "post": { - "vector": [0, 0, 0] + "vector": [-7.5, 5, -5] }, "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] } }, "position": { @@ -2054,114 +1793,96 @@ }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.2083": { "post": { - "vector": [0, 27, 39] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4167": { + "post": { + "vector": [0, 11.68, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, -7, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" } } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } } } }, "attack": { - "animation_length": 0.7083, + "animation_length": 1, "bones": { "head": { "rotation": { "0.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [45.43287, -10.12741, -3.50843] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [45.43287, -10.12741, -3.50843] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.3333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" } } }, @@ -2169,43 +1890,43 @@ "rotation": { "0.0": { "post": { - "vector": [15, 0, 0] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.2083": { "post": { - "vector": [-7.42695, 10.50227, 2.12085] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-7.42695, 10.50227, 2.12085] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [0, 0, 0] + "vector": [30, 0, 0] }, "lerp_mode": "catmullrom" }, "0.7083": { "post": { - "vector": [15, 0, 0] + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [10.78, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2215,17 +1936,29 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-15.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { - "vector": [-49.49054, 12.19908, 22.62113] - }, - "0.2917": { - "vector": [-49.49054, 12.19908, 22.62113] + "0.2083": { + "post": { + "vector": [-28, 0, 10] + }, + "lerp_mode": "catmullrom" }, "0.375": { + "post": { + "vector": [-37.01, 0, 16.84] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "vector": [-33, 0, 15] + }, + "0.6667": { + "vector": [-5, 0, 0] + }, + "0.7083": { "pre": { "vector": [2.5, 0, 0] }, @@ -2234,21 +1967,15 @@ }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.8333": { "post": { - "vector": [2.5, 0, 0] + "vector": [-10.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "1.0": { "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [-27.5, 0, 0] + "vector": [-15.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2256,29 +1983,546 @@ "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, -1, 6] + }, + "lerp_mode": "catmullrom" + } + } + }, + "L_Tight": { + "rotation": { + "0.0": { + "post": { + "vector": [-20, -17.5, -5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "L_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [42.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "L_foot": { + "rotation": { + "vector": [-20, 0, 5] + } + }, + "Tail": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [7.5, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [7.5, -25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [7.5, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-7.5, -4.26, 0] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] + "vector": [-7.5, -21.89, 0] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [0, 0, 0] + "vector": [-7.5, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-7.5, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Tail3": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [7.5, -6.9, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [7.5, -20, 0] }, "lerp_mode": "catmullrom" }, "0.7083": { + "post": { + "vector": [7.5, -18.28, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [7.5, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_Tight": { + "rotation": { + "0.0": { + "post": { + "vector": [-20, 17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1.25, 17.5, 11.25] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-17.5, 17.5, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-20, 17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-20, 17.5, 5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.25, 0.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [3, 4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "vector": [0, -4, 0] + }, + "0.7083": { + "vector": [0, 0, 0] + }, + "0.7917": { + "vector": [0, -2, 0] + }, + "0.9167": { + "pre": { + "vector": [0, -1, 0] + }, + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [42.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [60, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [60, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [42.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_foot": { + "rotation": { + "vector": [-20, 0, -5] + } + }, + "L_Wing": { + "rotation": { + "0.0": { + "post": { + "vector": [12.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [12.5, 30, -25] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [12.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [12.5, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [12.5, 13.88, -3.19] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [12.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "L_Wing3": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, -30, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-17.5, -10, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-12.66, -23.37, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-17.5, -30, 27.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_Wing": { + "rotation": { + "0.0": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [12.5, -30, 25] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [12.5, -7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [12.5, -13.88, 3.19] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_Wing3": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-17.5, 10, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-12.66, 23.37, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "attack2": { + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { "post": { "vector": [0, 0, 0] }, @@ -2290,65 +2534,111 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, -20, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.2917": { "post": { - "vector": [-27.5, -20, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.5417": { "post": { - "vector": [-27.5, -20, 0] + "vector": [-32.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.6667": { "post": { - "vector": [-27.5, -20, 0] + "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.8333": { "post": { - "vector": [-27.5, -20, 0] + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [0, -1, -3] } }, "L_leg": { "rotation": { "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [47.5, 0, 0] }, - "0.375": { + "0.2083": { + "pre": { + "vector": [45, 0, 0] + }, "post": { - "vector": [27.5, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [27.5, 0, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.6667": { "post": { - "vector": [27.5, 0, 0] + "vector": [-27.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.8333": { "post": { - "vector": [27.5, 0, 0] + "vector": [26.56, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [47.5, 0, 0] + } + } + }, + "L_foot": { + "rotation": { + "0.0": { + "vector": [122.5, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [94.12, 0, 0] + }, + "post": { + "vector": [94.12, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [122.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2357,46 +2647,37 @@ "Tail": { "rotation": { "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [15, 0, 0] }, "0.125": { + "pre": { + "vector": [-27.5, 0, 0] + }, "post": { - "vector": [45, 0, 0] + "vector": [-27.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.2917": { "post": { - "vector": [45, 0, 0] + "vector": [-37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.5417": { "post": { - "vector": [52.5, 0, 0] + "vector": [15, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.6667": { "post": { - "vector": [52.5, 0, 0] + "vector": [-52.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { - "post": { - "vector": [52.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" + "1.0": { + "vector": [15, 0, 0] } } }, @@ -2404,43 +2685,31 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [45, 0, 0] + "vector": [25, 0, 0] }, "lerp_mode": "catmullrom" }, "0.2917": { "post": { - "vector": [45, 0, 0] + "vector": [-22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.5417": { "post": { - "vector": [42.5, 0, 0] + "vector": [15, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.75": { "post": { - "vector": [42.5, 0, 0] + "vector": [-32.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "1.0": { "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [20, 0, 0] + "vector": [25, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2454,37 +2723,25 @@ }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.3333": { "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [34.53376, 2.8411, 2.79232] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [34.53376, 2.8411, 2.79232] + "vector": [-32.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [34.53376, 2.8411, 2.79232] + "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.75": { + "post": { + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { "post": { "vector": [20, 0, 0] }, @@ -2496,106 +2753,111 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-100.23633, 18.08026, 3.01914] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.2917": { "post": { - "vector": [-100.23633, 18.08026, 3.01914] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.5417": { "post": { - "vector": [-27.5, 20, 0] + "vector": [-32.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.6667": { "post": { - "vector": [-27.5, 20, 0] + "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.8333": { "post": { - "vector": [-27.5, 20, 0] + "vector": [37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "1.0": { "post": { - "vector": [-27.5, 20, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" } }, "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.375": { - "vector": [0, 0, -15] - }, - "0.5": { - "vector": [0, 0, -15] - }, - "0.5833": { - "vector": [0, 0, -15] - }, - "0.7083": { - "vector": [0, 0, 0] - } + "vector": [0, -1, -3] } }, "R_leg": { "rotation": { "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [47.5, 0, 0] }, - "0.125": { - "post": { - "vector": [99.0905, -12.17944, -17.7626] + "0.2083": { + "pre": { + "vector": [45, 0, 0] }, - "lerp_mode": "catmullrom" - }, - "0.2917": { "post": { - "vector": [99.0905, -12.17944, -17.7626] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [27.5, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [27.5, 0, 0] + "vector": [-12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.6667": { "post": { - "vector": [27.5, 0, 0] + "vector": [-27.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.8333": { "post": { - "vector": [27.5, 0, 0] + "vector": [26.56, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [47.5, 0, 0] + } + } + }, + "R_foot": { + "rotation": { + "0.0": { + "vector": [122.5, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [94.12, 0, 0] + }, + "post": { + "vector": [94.12, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [122.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2605,77 +2867,43 @@ "rotation": { "0.0": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [-22.5, 20, -40] }, "lerp_mode": "catmullrom" }, "0.125": { "post": { - "vector": [-13.82228, 44.83543, -44.99542] + "vector": [40, 37.5, 42.5] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.3333": { "post": { - "vector": [-13.82228, 44.83543, -44.99542] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [-72.5, -22.5, -27.5] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [-72.5, -47.5, -42.5] }, "lerp_mode": "catmullrom" }, "0.7083": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [-17.5, 35, 25] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.8333": { "post": { - "vector": [0, -17.5, 7.5] + "vector": [-17.5, 35, 25] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0, -17.5, 7.5] + "vector": [-22.5, 20, -40] }, "lerp_mode": "catmullrom" } @@ -2685,43 +2913,55 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [0, 0, -22.5] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.0833": { "post": { - "vector": [14.89149, -9.29798, -43.71777] + "vector": [0, 0, -60] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2083": { "post": { - "vector": [14.89149, -9.29798, -43.71777] + "vector": [0, 0, 35] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.5417": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [0, 0, -27.5] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.6667": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [0, 0, -50] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.75": { "post": { - "vector": [-6.15491, -16.41371, 35.88852] + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 23.75] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -22.5] }, "lerp_mode": "catmullrom" } @@ -2731,77 +2971,43 @@ "rotation": { "0.0": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] + "vector": [-22.5, -20, 40] }, "lerp_mode": "catmullrom" }, "0.125": { "post": { - "vector": [-4.13909, -5.53882, 43.52165] + "vector": [40, -37.5, -42.5] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.3333": { "post": { - "vector": [-4.13909, -5.53882, 43.52165] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] + "vector": [-72.5, 22.5, 27.5] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] + "vector": [-72.5, 47.5, 42.5] }, "lerp_mode": "catmullrom" }, "0.7083": { "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [-17.5, -35, -25] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.8333": { "post": { - "vector": [0, 17.5, -7.5] + "vector": [-17.5, -35, -25] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0, 17.5, -7.5] + "vector": [-22.5, -20, 40] }, "lerp_mode": "catmullrom" } @@ -2811,77 +3017,182 @@ "rotation": { "0.0": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 0, 22.5] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.0833": { "post": { - "vector": [14.14884, 8.83506, 43.517] + "vector": [0, 0, 60] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.2083": { "post": { - "vector": [14.14884, 8.83506, 43.517] + "vector": [0, 0, -35] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.5417": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 0, 27.5] }, "lerp_mode": "catmullrom" }, - "0.5833": { + "0.6667": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 0, 50] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.75": { "post": { - "vector": [-6.15491, 16.41371, -35.88852] + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -23.75] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 22.5] }, "lerp_mode": "catmullrom" } } }, - "Nightmare": { - "position": { + "body": { + "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "pre": { + "vector": [-5, 0, 0] + }, "post": { - "vector": [0, -0.5, -12] + "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { + "0.3333": { "post": { - "vector": [0, -0.5, -12] + "vector": [5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.5417": { "post": { - "vector": [0, -0.5, -12] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, -0.5, -12] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.7083": { "post": { - "vector": [0, -0.5, -12] + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 25, 14] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 17, 21] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, -5, -41] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 1.75, -23.95] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 4.44, -5.56] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [60, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2890,801 +3201,83 @@ } }, "roar": { - "animation_length": 1, + "animation_length": 1.5, "bones": { "head": { "rotation": { "0.0": { "post": { - "vector": [22.5, 0, 0] + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.125": { "post": { - "vector": [-27.5, 0, 0] + "vector": [27.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2917": { + "0.3333": { "post": { - "vector": [-27.5, 0, 0] + "vector": [15, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.375": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.375": { - "vector": [0, 0, 0] - }, - "0.4167": { - "vector": [1, 0, 0] - }, - "0.4583": { - "vector": [-1, 0, 0] - }, "0.5": { - "vector": [3, 0, 0] - }, - "0.5417": { - "vector": [1, 0, 0] - }, - "0.5833": { - "vector": [5, 0, 0] - }, - "0.625": { - "vector": [2, 0, 0] - }, - "0.6667": { - "vector": [5, 0, 0] - }, - "0.7083": { - "vector": [2, 0, 0] - }, - "1.0": { - "vector": [0, 0, 0] - } - } - }, - "jaw": { - "rotation": { - "0.0": { "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [62.5, 0, 0] + "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [15, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "torso": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-5.17693, 27.57777, -50.51577] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-5.17693, 27.57777, -50.51577] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [6.88003, -16.1299, -15.97603] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [6.88003, -16.1299, -15.97603] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [11.45696, -13.31791, -26.34198] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [11.45696, -13.31791, -26.34198] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-5.17693, -27.57777, 50.51577] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-5.17693, -27.57777, 50.51577] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [6.88003, 16.1299, 15.97603] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [6.88003, 16.1299, 15.97603] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [11.45696, 13.31791, 26.34198] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [11.45696, 13.31791, 26.34198] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Nightmare": { - "position": { - "0.0": { - "post": { - "vector": [0, -0.5, -12] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, -0.5, -12] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -0.5, -12] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -0.5, -12] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "death": { - "animation_length": 1, - "bones": { - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [22.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-55, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [7.15656, 2.24944, -17.35932] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [45, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [43.931, 4.14085, 0.75952] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "1.5": { "post": { - "vector": [22.01816, 4.75113, -11.57518] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -3694,24 +3287,51 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-15.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.1667": { - "vector": [-90, 0, 0] + "0.3333": { + "post": { + "vector": [-25.5, 0, 0] + }, + "lerp_mode": "catmullrom" }, - "0.4167": { - "vector": [-65, 0, 0] + "0.4583": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" }, - "0.5417": { - "vector": [0, 0, 0] + "0.6667": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [1.71, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { + "post": { + "vector": [-11.46, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-15.5, 0, 0] + }, + "lerp_mode": "catmullrom" } }, "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, -1, 6] }, "lerp_mode": "catmullrom" } @@ -3721,25 +3341,15 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, -20, 0] + "vector": [-20, -17.5, -5] }, "lerp_mode": "catmullrom" - }, - "0.1667": { + } + }, + "position": { + "0.0": { "post": { - "vector": [-27.5, -37.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-27.5, -37.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [55.06424, 30.58184, -17.91705] + "vector": [0, -1, 0] }, "lerp_mode": "catmullrom" } @@ -3749,35 +3359,22 @@ "rotation": { "0.0": { "post": { - "vector": [27.5, 0, 0] + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" } } }, + "L_foot": { + "rotation": { + "vector": [-20, 0, 5] + } + }, "Tail": { "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [37.5, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-25, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -3787,25 +3384,7 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [36.39498, -17.72091, -24.60981] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [32.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, 0] + "vector": [-7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -3815,25 +3394,7 @@ "rotation": { "0.0": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [53.55239, -54.46865, -30.64234] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [17.5, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -3843,25 +3404,15 @@ "rotation": { "0.0": { "post": { - "vector": [-27.5, 20, 0] + "vector": [-20, 17.5, 5] }, "lerp_mode": "catmullrom" - }, - "0.1667": { + } + }, + "position": { + "0.0": { "post": { - "vector": [-80, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-80, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [44.19476, -22.13991, 4.11405] + "vector": [0, -1, 0] }, "lerp_mode": "catmullrom" } @@ -3871,19 +3422,7 @@ "rotation": { "0.0": { "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [62.5, 0, 0] + "vector": [42.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -3891,202 +3430,162 @@ }, "R_foot": { "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.1667": { - "vector": [40, 0, 0] - }, - "0.4167": { - "vector": [40, 0, 0] - } + "vector": [-20, 0, -5] } }, "L_Wing": { "rotation": { "0.0": { "post": { - "vector": [-2.56152, 6.42053, -28.46504] + "vector": [12.5, 17.5, -5] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.375": { "post": { - "vector": [-2.56152, 6.42053, 16.53496] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [16.24074, -6.60796, -60.94387] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [2.14498, 17.78381, 79.71688] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-5.14352, -8.08642, 3.86612] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [16.63598, -5.01987, 94.75926] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-2.83416, 4.94206, -18.16209] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-2.56152, -6.42053, -16.53496] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [16.24074, 6.60796, 60.94387] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [2.14498, -17.78381, -79.71688] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-5.14352, 8.08642, -3.86612] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [16.63598, 5.01987, -94.75926] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-2.83416, -4.94206, 18.16209] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Nightmare": { - "rotation": { - "vector": [0, 0, 0] - }, - "position": { - "0.0": { - "post": { - "vector": [0, -0.5, -6] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, -0.5, -2] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, -10.5, -21] + "vector": [12.5, 37.5, -5] }, "lerp_mode": "catmullrom" }, "0.5833": { "post": { - "vector": [0, -8.5, -21] + "vector": [12.5, -12.5, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [12.5, -17.5, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.125": { + "post": { + "vector": [12.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, 17.5, -5] }, "lerp_mode": "catmullrom" } } - } - } - }, - "animation": { - "animation_length": 0.5, - "bones": { - "head": { + }, + "L_Wing3": { "rotation": { "0.0": { "post": { - "vector": [22.5, 0, 0] + "vector": [-17.5, -30, 27.5] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.4583": { "post": { - "vector": [-22.5, 0, 0] + "vector": [-17.5, -30, 27.5] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.7083": { "post": { - "vector": [12.5, 0, 0] + "vector": [-12.5, -55, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-17.5, -30, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-17.5, -30, 27.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_Wing": { + "rotation": { + "0.0": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [12.5, -37.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [12.5, 12.5, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [12.5, 17.5, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.125": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "R_Wing3": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-12.5, 55, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-17.5, 30, -27.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" } @@ -4096,729 +3595,43 @@ "rotation": { "0.0": { "post": { - "vector": [12.5, 0, 0] + "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.25": { "post": { - "vector": [12.5, 0, 0] + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { - "vector": [0, 0, 0] - } - } - }, - "neck": { - "rotation": { - "0.0": { "post": { - "vector": [15, 0, 0] + "vector": [37.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.75": { + "post": { + "vector": [26.09, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { "post": { "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.5": { "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "torso": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0, -7, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-27.5, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_foot": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2083": { - "vector": [0, 0, 0] - }, - "0.5": { - "vector": [107.5, 0, 0] - } - } - }, - "Tail": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "vector": [12.5, 0, 0] - } - } - }, - "Tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-27.5, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-81.70645, 12.0174, -16.10644] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2083": { - "vector": [0, -6, 0] - } - } - }, - "R_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [74.49779, -14.33405, 13.84936] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_foot": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2083": { - "vector": [0, 0, 0] - }, - "0.5": { - "vector": [107.5, 0, 0] - } - } - }, - "L_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.56152, 6.42053, -28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-1.52852, -0.31071, 11.0296] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-9.14537, 13.83447, -66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0, -17.5, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.32406, 3.17814, -14.63362] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, -16.41371, 35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [14.89149, -9.29798, -43.71777] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-1.62155, 6.14718, -24.27788] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.56152, -6.42053, 28.46504] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-1.52852, 0.31071, -11.0296] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-9.14537, -13.83447, 66.78912] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0, 17.5, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.15491, 16.41371, -35.88852] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [14.89149, 9.29798, 43.71777] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-1.62155, -6.14718, 24.27788] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Nightmare": { - "position": { - "0.0": { - "vector": [0, -0.5, -12] - }, - "0.2083": { - "vector": [0, -0.5, -12] - }, - "0.5": { - "vector": [0, 19, 0] - } - } - } - } - }, - "fly_damaged": { - "loop": true, - "animation_length": 0.25, - "bones": { - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.125": { - "vector": [50.83739, -3.83835, -0.88544] - }, - "0.25": { - "vector": [31.67477, -7.67669, -1.77087] - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [45.61055, -7.34558, 8.65398] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [30.22742, -9.21817, 10.86011] - }, - "lerp_mode": "catmullrom" - } - } - }, - "torso": { - "rotation": { - "0.0": { - "post": { - "vector": [-15, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-43.75, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_foot": { - "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail": { - "rotation": { - "0.0": { - "vector": [12.5, 0, 0] - }, - "0.125": { - "vector": [-20, 0, 0] - } - } - }, - "Tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-26.25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Tight": { - "rotation": { - "0.0": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [60, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_foot": { - "rotation": { - "0.0": { - "post": { - "vector": [107.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-9.14537, 13.83447, -66.78912] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-6.26261, -12.2403, 54.06134] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, 3.17814, -14.63362] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.14442, -15.99543, 50.01072] - }, - "lerp_mode": "catmullrom" - } - } - }, - "L_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-1.62155, 6.14718, -24.27788] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10.3696, -11.36311, 31.32523] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing": { - "rotation": { - "0.0": { - "post": { - "vector": [-9.14537, -13.83447, 66.78912] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-6.26261, 12.2403, -54.06134] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.32406, -3.17814, 14.63362] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.14442, 15.99543, -50.01072] - }, - "lerp_mode": "catmullrom" - } - } - }, - "R_Wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [-1.62155, -6.14718, 24.27788] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10.3696, 11.36311, -31.32523] - }, - "lerp_mode": "catmullrom" - } - } - }, - "Nightmare": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.125": { - "vector": [-32.5, 0, 0] - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 16.85, 34] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0, 27, 0] + "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" } diff --git a/common/src/main/resources/assets/antarchy/geo/mantis.geo.json b/common/src/main/resources/assets/antarchy/geo/mantis.geo.json index 11c36789..ad88837b 100644 --- a/common/src/main/resources/assets/antarchy/geo/mantis.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/mantis.geo.json @@ -6,7 +6,7 @@ "identifier": "geometry.mantis", "texture_width": 256, "texture_height": 256, - "visible_bounds_width": 7, + "visible_bounds_width": 8, "visible_bounds_height": 5.5, "visible_bounds_offset": [0, 2.25, 0] }, @@ -36,7 +36,9 @@ "parent": "body", "pivot": [0, 48, 0], "cubes": [ - {"origin": [-4, 48, -2], "size": [8, 8, 4], "uv": [26, 104]} + {"origin": [-4, 48, -2], "size": [8, 8, 4], "uv": [26, 104]}, + {"origin": [-4, 35, -5], "size": [0, 22, 11], "pivot": [-4, 56, 0], "rotation": [-45, 0, 22.5], "uv": [0, 53]}, + {"origin": [4, 35, -5], "size": [0, 22, 11], "pivot": [4, 56, 0], "rotation": [-45, 0, -22.5], "uv": [0, 53], "mirror": true} ] }, { @@ -44,6 +46,7 @@ "parent": "neck", "pivot": [-2, 56, 0], "cubes": [ + {"origin": [-6.5, 59.5, -5], "size": [13, 0, 17], "uv": [75, 65]}, {"origin": [-4, 56, -5], "size": [8, 4, 8], "uv": [84, 92]} ] }, @@ -196,6 +199,7 @@ "parent": "frontRightLeg", "pivot": [-22, 31, 1], "cubes": [ + {"origin": [-28, 27.5, 1.25], "size": [6, 7, 0], "uv": [84, 33]}, {"origin": [-46, 30.5, -1], "size": [24, 1, 2], "uv": [80, 44]} ] }, @@ -220,7 +224,8 @@ "parent": "frontLeftLeg", "pivot": [22, 31, 1], "cubes": [ - {"origin": [22, 30.5, -1], "size": [24, 1, 2], "uv": [80, 44], "mirror": true} + {"origin": [22, 30.5, -1], "size": [24, 1, 2], "uv": [80, 44], "mirror": true}, + {"origin": [22, 27.5, 1.25], "size": [6, 7, 0], "uv": [84, 33], "mirror": true} ] }, { @@ -244,7 +249,8 @@ "parent": "backRightLeg", "pivot": [-22, 26, 1], "cubes": [ - {"origin": [-46, 25.5, -1], "size": [24, 1, 2], "uv": [80, 44]} + {"origin": [-46, 25.5, -1], "size": [24, 1, 2], "uv": [80, 44]}, + {"origin": [-28, 22.5, 1.25], "size": [6, 7, 0], "uv": [84, 33]} ] }, { @@ -268,7 +274,8 @@ "parent": "backLeftLeg", "pivot": [22, 26, 1], "cubes": [ - {"origin": [22, 25.5, -1], "size": [24, 1, 2], "uv": [80, 44], "mirror": true} + {"origin": [22, 25.5, -1], "size": [24, 1, 2], "uv": [80, 44], "mirror": true}, + {"origin": [22, 22.5, 1.25], "size": [6, 7, 0], "uv": [84, 33], "mirror": true} ] }, { diff --git a/common/src/main/resources/assets/antarchy/geo/nightmare.geo.json b/common/src/main/resources/assets/antarchy/geo/nightmare.geo.json index b2b50762..f724110b 100644 --- a/common/src/main/resources/assets/antarchy/geo/nightmare.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/nightmare.geo.json @@ -4,23 +4,28 @@ { "description": { "identifier": "geometry.unknown", - "texture_width": 128, - "texture_height": 512, - "visible_bounds_width": 15, + "texture_width": 256, + "texture_height": 256, + "visible_bounds_width": 17, "visible_bounds_height": 4.5, "visible_bounds_offset": [0, 1.75, 0] }, "bones": [ { "name": "Nightmare", - "pivot": [0, 19.5, 15] + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "Nightmare", + "pivot": [0, 17.5, 15] }, { "name": "R_Tight", - "parent": "Nightmare", + "parent": "body", "pivot": [-11, 21.25, 18.25], "cubes": [ - {"origin": [-15, 9, 10], "size": [8, 20, 13], "uv": [0, 179], "mirror": true} + {"origin": [-15, 9, 10], "size": [8, 20, 13], "uv": [0, 128], "mirror": true} ] }, { @@ -28,7 +33,7 @@ "parent": "R_Tight", "pivot": [-11, 12, 19.5], "cubes": [ - {"origin": [-14, 2, 16.5], "size": [6, 10, 6], "uv": [58, 135], "mirror": true} + {"origin": [-14, 2, 16.5], "size": [6, 10, 6], "uv": [52, 77], "mirror": true} ] }, { @@ -36,17 +41,17 @@ "parent": "R_leg", "pivot": [-11, 1, 19.5], "cubes": [ - {"origin": [-15, 0, 12.5], "size": [8, 2, 10], "uv": [52, 97], "mirror": true}, - {"origin": [-8.5, 0, 5.5], "size": [0, 4, 7], "uv": [31, 80], "mirror": true}, - {"origin": [-13.5, 0, 5.5], "size": [0, 4, 7], "uv": [31, 80], "mirror": true} + {"origin": [-15, 0, 12.5], "size": [8, 2, 10], "uv": [51, 0], "mirror": true}, + {"origin": [-8.5, 0, 5.5], "size": [0, 4, 7], "uv": [0, -7], "mirror": true}, + {"origin": [-13.5, 0, 5.5], "size": [0, 4, 7], "uv": [0, -7], "mirror": true} ] }, { "name": "L_Tight", - "parent": "Nightmare", + "parent": "body", "pivot": [11, 21.25, 18.25], "cubes": [ - {"origin": [7, 9, 10], "size": [8, 20, 13], "uv": [0, 179]} + {"origin": [7, 9, 10], "size": [8, 20, 13], "uv": [0, 128]} ] }, { @@ -54,7 +59,7 @@ "parent": "L_Tight", "pivot": [11, 12, 19.5], "cubes": [ - {"origin": [8, 2, 16.5], "size": [6, 10, 6], "uv": [58, 135]} + {"origin": [8, 2, 16.5], "size": [6, 10, 6], "uv": [52, 77]} ] }, { @@ -62,17 +67,17 @@ "parent": "L_leg", "pivot": [11, 1, 19.5], "cubes": [ - {"origin": [7, 0, 12.5], "size": [8, 2, 10], "uv": [52, 97]}, - {"origin": [8.5, 0, 5.5], "size": [0, 4, 7], "uv": [31, 80]}, - {"origin": [13.5, 0, 5.5], "size": [0, 4, 7], "uv": [31, 80]} + {"origin": [7, 0, 12.5], "size": [8, 2, 10], "uv": [51, 0]}, + {"origin": [8.5, 0, 5.5], "size": [0, 4, 7], "uv": [0, -7]}, + {"origin": [13.5, 0, 5.5], "size": [0, 4, 7], "uv": [0, -7]} ] }, { "name": "torso", - "parent": "Nightmare", + "parent": "body", "pivot": [0, 19.5, 15], "cubes": [ - {"origin": [-7, 6, -9], "size": [14, 27, 24], "uv": [5, 128]} + {"origin": [-7, 6, -9], "size": [14, 27, 24], "uv": [0, 77]} ] }, { @@ -80,7 +85,7 @@ "parent": "torso", "pivot": [0, 32, 13.08333], "cubes": [ - {"origin": [-5, 24, 13], "size": [10, 13, 22], "uv": [42, 179]} + {"origin": [-5, 24, 13], "size": [10, 13, 22], "uv": [54, 106]} ] }, { @@ -88,7 +93,7 @@ "parent": "Tail", "pivot": [0, 32.75, 35], "cubes": [ - {"origin": [-4, 27, 35], "size": [8, 10, 21], "uv": [70, 93]} + {"origin": [-4, 27, 35], "size": [8, 10, 21], "uv": [68, 28]} ] }, { @@ -96,8 +101,8 @@ "parent": "Tail2", "pivot": [0, 33.5, 56], "cubes": [ - {"origin": [0, 30, 66], "size": [0, 14, 20], "uv": [82, 199]}, - {"origin": [-3, 30, 56], "size": [6, 7, 21], "uv": [70, 19]} + {"origin": [0, 32, 66], "size": [0, 14, 20], "uv": [88, 40]}, + {"origin": [-3, 30, 56], "size": [6, 7, 21], "uv": [70, 0]} ] }, { @@ -105,50 +110,36 @@ "parent": "torso", "pivot": [0, 22.5, -8], "cubes": [ - {"origin": [-9, 13, -24], "size": [18, 19, 16], "uv": [0, 93]} + {"origin": [-9, 13, -24], "size": [18, 19, 16], "uv": [0, 42]} ] }, { "name": "head", "parent": "neck", - "pivot": [0, 21.3125, -20.875], + "pivot": [0, 26.3125, -22.875], "cubes": [ - {"origin": [-8, 17, -37], "size": [16, 9, 16], "uv": [0, 0]}, - {"origin": [-6.75, 14.75, -31], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [-6.75, 14.75, -34], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [-6.75, 14.75, -37], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [-4.75, 14.75, -38.5], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [-3.5, 14.75, -40.5], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [-1.5, 14.75, -40.5], "size": [0, 3, 2], "uv": [11, 10]}, - {"origin": [1.5, 14.75, -40.5], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [3.5, 14.75, -40.5], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [6.75, 14.75, -31], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [6.75, 14.75, -34], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [6.75, 14.75, -37], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [4.75, 14.75, -38.5], "size": [0, 3, 2], "uv": [11, 10], "mirror": true}, - {"origin": [8, 21, -34], "size": [9, 4, 13], "uv": [64, 0]}, - {"origin": [15, 21, -37], "size": [5, 5, 16], "uv": [42, 41]}, - {"origin": [-17, 21, -34], "size": [9, 4, 13], "uv": [64, 0], "mirror": true}, - {"origin": [-20, 21, -37], "size": [5, 5, 16], "uv": [42, 41], "mirror": true}, - {"origin": [0, 26, -37], "size": [0, 15, 12], "uv": [4, 66]}, - {"origin": [-5, 17, -41], "size": [10, 9, 4], "uv": [76, 62]}, - {"origin": [-1.5, 15, -45], "size": [3, 11, 4], "uv": [76, 75]} + {"origin": [-5, 13.075, -34], "size": [0, 9, 11], "uv": [42, 130]}, + {"origin": [5, 13.075, -34], "size": [0, 9, 11], "uv": [42, 130], "mirror": true}, + {"origin": [-8, 22, -42], "size": [16, 5, 19], "uv": [0, 0]}, + {"origin": [0, 27, -42], "size": [0, 13, 9], "uv": [0, 75]}, + {"origin": [0, 27, -52], "size": [0, 4, 9], "uv": [0, 70]}, + {"origin": [-15, 24, -36], "size": [9, 4, 12], "uv": [0, 202]}, + {"origin": [6, 24, -36], "size": [9, 4, 12], "uv": [0, 202], "mirror": true}, + {"origin": [-6, 18, -54], "size": [12, 5, 12], "inflate": 0.1, "uv": [68, 179]}, + {"origin": [-6, 21, -54], "size": [12, 6, 12], "uv": [0, 24]}, + {"origin": [-3, 27, -55], "size": [6, 6, 0], "uv": [53, 51]} ] }, { "name": "jaw", "parent": "head", - "pivot": [0, 17, -21], + "pivot": [0, 20, -23], "cubes": [ - {"origin": [-6, 13, -33], "size": [12, 4, 12], "uv": [0, 25]}, - {"origin": [-5, 17, -33], "size": [0, 2, 12], "uv": [26, 30]}, - {"origin": [-3.5, 17, -39], "size": [0, 2, 6], "uv": [32, 36]}, - {"origin": [-3.5, 17, -38.5], "size": [7, 2, 0], "uv": [26, 44], "mirror": true}, - {"origin": [3.5, 17, -39], "size": [0, 2, 6], "uv": [32, 36], "mirror": true}, - {"origin": [5, 17, -33], "size": [0, 2, 12], "uv": [26, 30], "mirror": true}, - {"origin": [-9, 13, -27], "size": [3, 7, 6], "inflate": 0.1, "uv": [48, 0]}, - {"origin": [6, 13, -27], "size": [3, 7, 6], "inflate": 0.1, "uv": [48, 0], "mirror": true}, - {"origin": [-5, 13, -39], "size": [10, 4, 6], "uv": [48, 25]} + {"origin": [-10, 11, -37], "size": [20, 9, 14], "inflate": 0.1, "uv": [0, 179]}, + {"origin": [-5, 16.075, -53], "size": [10, 4, 16], "uv": [48, 141]}, + {"origin": [-4, 20.075, -53], "size": [0, 4, 16], "uv": [30, 186]}, + {"origin": [-4, 20.075, -52], "size": [8, 4, 0], "uv": [30, 206], "mirror": true}, + {"origin": [4, 20.075, -53], "size": [0, 4, 16], "uv": [30, 186], "mirror": true} ] }, { @@ -156,8 +147,7 @@ "parent": "torso", "pivot": [5.83333, 28, -1.66667], "cubes": [ - {"origin": [5, 23, -5], "size": [11, 9, 9], "uv": [82, 133]}, - {"origin": [2, 28, 4], "size": [14, 0, 23], "uv": [77, 158]} + {"origin": [5, 23, -5], "size": [11, 9, 9], "uv": [76, 75]} ] }, { @@ -165,8 +155,11 @@ "parent": "L_Wing", "pivot": [16, 28.25, -2.25], "cubes": [ - {"origin": [16, 26, -5], "size": [43, 4, 7], "uv": [0, 238]}, - {"origin": [16, 28, 2], "size": [43, 0, 25], "uv": [-25, 265]} + {"origin": [16, 26, -5], "size": [43, 4, 7], "uv": [0, 161]}, + {"origin": [55, 30, 2], "size": [4, 0, 50], "uv": [70, 128]}, + {"origin": [55, 28.75, 2], "size": [4, 0, 50], "uv": [70, 128]}, + {"origin": [-3, 29, 2], "size": [10, 0, 41], "uv": [87, 128]}, + {"origin": [7, 29, 2], "size": [52, 0, 44], "uv": [80, 0]} ] }, { @@ -174,8 +167,8 @@ "parent": "L_Wing2", "pivot": [59, 28.5, -3], "cubes": [ - {"origin": [59, 27, -5], "size": [43, 3, 4], "uv": [0, 255]}, - {"origin": [59, 28, -1], "size": [49, 0, 28], "uv": [-28, 292]} + {"origin": [59, 27, -5], "size": [43, 3, 4], "uv": [0, 172]}, + {"origin": [59, 29, -5], "size": [69, 0, 51], "uv": [66, 74]} ] }, { @@ -183,8 +176,7 @@ "parent": "torso", "pivot": [-5.83333, 28, -1.66667], "cubes": [ - {"origin": [-16, 23, -5], "size": [11, 9, 9], "uv": [82, 133], "mirror": true}, - {"origin": [-16, 28, 4], "size": [14, 0, 23], "uv": [77, 158], "mirror": true} + {"origin": [-16, 23, -5], "size": [11, 9, 9], "uv": [76, 75], "mirror": true} ] }, { @@ -192,8 +184,11 @@ "parent": "R_Wing", "pivot": [-16, 28.25, -2.25], "cubes": [ - {"origin": [-59, 26, -5], "size": [43, 4, 7], "uv": [0, 238], "mirror": true}, - {"origin": [-59, 28, 2], "size": [43, 0, 25], "uv": [-25, 265], "mirror": true} + {"origin": [-59, 26, -5], "size": [43, 4, 7], "uv": [0, 161], "mirror": true}, + {"origin": [-59, 30, 2], "size": [4, 0, 50], "uv": [70, 128], "mirror": true}, + {"origin": [-59, 28.75, 2], "size": [4, 0, 50], "uv": [70, 128], "mirror": true}, + {"origin": [-59, 29, 2], "size": [52, 0, 44], "uv": [80, 0], "mirror": true}, + {"origin": [-7, 29, 2], "size": [10, 0, 41], "uv": [87, 128], "mirror": true} ] }, { @@ -201,8 +196,8 @@ "parent": "R_Wing2", "pivot": [-59, 28.5, -3], "cubes": [ - {"origin": [-102, 27, -5], "size": [43, 3, 4], "uv": [0, 255], "mirror": true}, - {"origin": [-108, 28, -1], "size": [49, 0, 28], "uv": [-28, 292], "mirror": true} + {"origin": [-128, 29, -5], "size": [69, 0, 51], "uv": [66, 74], "mirror": true}, + {"origin": [-102, 27, -5], "size": [43, 3, 4], "uv": [0, 172], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/textures/entity/mantis.png b/common/src/main/resources/assets/antarchy/textures/entity/mantis.png index 5eef755945814b7f51d8c025fdccb6c31ac6987d..cdde9855cffb79c6fde119aa8c01e024bf9333ac 100644 GIT binary patch literal 8551 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/nightmare.png b/common/src/main/resources/assets/antarchy/textures/entity/nightmare.png index 9f4fb0b49afa15851113ab76b706a809b917f95c..e803097612396155386e9df47372ea74323402ec 100644 GIT binary patch literal 19820 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%0A1J<5+(q_VfR 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 LhqsGw*}VRLyW2TG From cab314d30e26ce7d6fc41dfa96c34f1a05bf7176 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Sun, 5 Jul 2026 21:15:27 -0500 Subject: [PATCH 02/13] nightmare fixes, new scorpion variant with emmesive texture --- .../content/client/model/ScorpionModel.java | 26 ++++++++- .../client/renderer/ScorpionRenderer.java | 40 ++++++++++++++ .../content/entity/ScorpionEntity.java | 52 ++++++++++++++++++ .../entity/nightmare/NightmareEntity.java | 14 ++--- .../assets/antarchy/geo/scorpion.geo.json | 2 +- .../sounds/mob/toreterror/jump up1.mp3 | Bin 0 -> 74359 bytes .../sounds/mob/toreterror/jump up2.mp3 | Bin 0 -> 58476 bytes .../antarchy/textures/entity/scorpion.png | Bin 4145 -> 0 bytes .../entity/scorpion/scorpion_blue.png | Bin 0 -> 4006 bytes .../scorpion/scorpion_blue_emissive.png | Bin 0 -> 562 bytes .../entity/scorpion/scorpion_green.png | Bin 0 -> 3958 bytes .../scorpion/scorpion_green_emissive.png | Bin 0 -> 569 bytes 12 files changed, 121 insertions(+), 13 deletions(-) create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up2.mp3 delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/scorpion.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_blue.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_blue_emissive.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green_emissive.png diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/ScorpionModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/ScorpionModel.java index 5b23cbc6..c408ff34 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/ScorpionModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/ScorpionModel.java @@ -6,19 +6,39 @@ import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; public class ScorpionModel extends GeoModel { + private static final ResourceLocation MODEL = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/scorpion.geo.json"); + private static final ResourceLocation BLUE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/scorpion/scorpion_blue.png"); + private static final ResourceLocation GREEN_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/scorpion/scorpion_green.png"); + private static final ResourceLocation BLUE_EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/scorpion/scorpion_blue_emissive.png"); + private static final ResourceLocation GREEN_EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/scorpion/scorpion_green_emissive.png"); + private static final ResourceLocation ANIMATION = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/scorpion.animation.json"); @Override public ResourceLocation getModelResource(ScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/scorpion.geo.json"); + return MODEL; } @Override public ResourceLocation getTextureResource(ScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/scorpion.png"); + return textureFor(animatable); } @Override public ResourceLocation getAnimationResource(ScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/scorpion.animation.json"); + return ANIMATION; + } + + public static ResourceLocation textureFor(ScorpionEntity animatable) { + return animatable.getTextureVariant() == ScorpionEntity.GREEN_VARIANT ? GREEN_TEXTURE : BLUE_TEXTURE; + } + + public static ResourceLocation emissiveTextureFor(ScorpionEntity animatable) { + return animatable.getTextureVariant() == ScorpionEntity.GREEN_VARIANT ? GREEN_EMISSIVE_TEXTURE : BLUE_EMISSIVE_TEXTURE; } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/ScorpionRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/ScorpionRenderer.java index 892679a9..c37d5202 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/ScorpionRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/ScorpionRenderer.java @@ -2,13 +2,53 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.ScorpionModel; import com.craisinlord.antarchy.content.entity.ScorpionEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class ScorpionRenderer extends GeoEntityRenderer { public ScorpionRenderer(EntityRendererProvider.Context context) { super(context, new ScorpionModel()); this.shadowRadius = 0.6F; + this.addRenderLayer(new ScorpionEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(ScorpionEntity animatable, net.minecraft.resources.ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityCutoutNoCull(texture); + } + + private static final class ScorpionEmissiveLayer extends GeoRenderLayer { + private ScorpionEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, ScorpionEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(ScorpionModel.emissiveTextureFor(animatable)); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/ScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/ScorpionEntity.java index 16999635..40437f18 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/ScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/ScorpionEntity.java @@ -2,8 +2,13 @@ package com.craisinlord.antarchy.content.entity; import com.craisinlord.antarchy.content.AntarchySoundEvents; import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; +import net.minecraft.world.DifficultyInstance; import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; @@ -13,6 +18,7 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.SpawnGroupData; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; @@ -39,6 +45,11 @@ import org.jetbrains.annotations.Nullable; public class ScorpionEntity extends Monster implements GeoEntity { private static final byte ATTACK_ANIM_EVENT = 4; + private static final EntityDataAccessor TEXTURE_VARIANT = + SynchedEntityData.defineId(ScorpionEntity.class, EntityDataSerializers.INT); + private static final String TEXTURE_VARIANT_KEY = "TextureVariant"; + public static final int BLUE_VARIANT = 0; + public static final int GREEN_VARIANT = 1; private static final int ATTACK_ANIM_TICKS = 12; private static final int ATTACK_HIT_TICK = 6; @@ -82,6 +93,12 @@ public class ScorpionEntity extends Monster implements GeoEntity { && Monster.checkMonsterSpawnRules(entityType, level, spawnReason, pos, random); } + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(TEXTURE_VARIANT, BLUE_VARIANT); + } + @Override protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); @@ -93,6 +110,13 @@ public class ScorpionEntity extends Monster implements GeoEntity { this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); } + @Nullable + @Override + public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable SpawnGroupData spawnGroupData) { + this.assignRandomTextureVariant(); + return super.finalizeSpawn(level, difficulty, spawnType, spawnGroupData); + } + @Override public void tick() { super.tick(); @@ -208,6 +232,22 @@ public class ScorpionEntity extends Monster implements GeoEntity { return this.geoCache; } + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putInt(TEXTURE_VARIANT_KEY, this.getTextureVariant()); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + if (tag.contains(TEXTURE_VARIANT_KEY)) { + this.setTextureVariant(tag.getInt(TEXTURE_VARIANT_KEY)); + } else { + this.assignRandomTextureVariant(); + } + } + @Override protected SoundEvent getAmbientSound() { return AntarchySoundEvents.SCORPION_AMBIENT.get(); @@ -228,6 +268,18 @@ public class ScorpionEntity extends Monster implements GeoEntity { return 0.6F; } + public int getTextureVariant() { + return this.entityData.get(TEXTURE_VARIANT); + } + + public void setTextureVariant(int variant) { + this.entityData.set(TEXTURE_VARIANT, variant == GREEN_VARIANT ? GREEN_VARIANT : BLUE_VARIANT); + } + + private void assignRandomTextureVariant() { + this.setTextureVariant(this.random.nextBoolean() ? BLUE_VARIANT : GREEN_VARIANT); + } + private final class ScorpionMeleeAttackGoal extends MeleeAttackGoal { private ScorpionMeleeAttackGoal() { super(ScorpionEntity.this, 1.15D, true); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java index 6c296799..93ffbfed 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/nightmare/NightmareEntity.java @@ -82,6 +82,7 @@ public class NightmareEntity extends Monster implements GeoEntity { private static final int COMBAT_ROAR_TICKS = 30; private static final int DEATH_TICKS = 30; private static final int TARGET_RESET_TICKS = 60; + private static final int MIN_AIRBORNE_TICKS_FOR_FLY_ANIM = 4; private static final int DREAD_TICKS = 160; private static final int WEAKNESS_TICKS = 100; private static final int BLOCK_BREAK_TICKS = 10; @@ -644,23 +645,18 @@ public class NightmareEntity extends Monster implements GeoEntity { return; } if (this.attackAnimationTicks > 0) { - this.setAnimationState(this.onGround() ? ANIM_ATTACK : ANIM_FLY_ATTACK); + this.setAnimationState(this.isNoGravity() || this.airborneTicks >= MIN_AIRBORNE_TICKS_FOR_FLY_ANIM ? ANIM_FLY_ATTACK : ANIM_ATTACK); this.groundMoveTicks = 0; this.tickWingFlapSound(); return; } if (this.flyingToTarget) { this.groundMoveTicks = 0; - if (this.onGround() || this.airborneTicks <= 8) { - this.setAnimationState(ANIM_FLY); - this.wingFlapCooldown = 0; - } else { - this.setAnimationState(ANIM_FLY); - this.tickWingFlapSound(); - } + this.setAnimationState(ANIM_FLY); + this.tickWingFlapSound(); return; } - if (!this.onGround()) { + if (this.isNoGravity() || this.airborneTicks >= MIN_AIRBORNE_TICKS_FOR_FLY_ANIM) { this.groundMoveTicks = 0; this.setAnimationState(ANIM_FLY); this.tickWingFlapSound(); diff --git a/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json b/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json index a52b3951..0e3340b6 100644 --- a/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/scorpion.geo.json @@ -99,7 +99,7 @@ "pivot": [1, 1, 24], "cubes": [ {"origin": [-5, 1, 24], "size": [10, 7, 8], "inflate": 0.01, "uv": [28, 35]}, - {"origin": [-0.5, 8, 28], "size": [1, 5, 3], "inflate": 0.01, "uv": [28, 35]} + {"origin": [-0.5, 8, 28], "size": [1, 8, 3], "uv": [28, 50]} ] }, { diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..3232ca89c5ffff42a5944015d63460ac5db9d57e GIT binary patch literal 74359 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�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 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_blue.png b/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..658b7180f421025e008ae7377536248d4749baa3 GIT binary patch literal 4006 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green.png b/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green.png new file mode 100644 index 0000000000000000000000000000000000000000..8737db9b8130d4fcbbc3fec3f1bb3cc4c7bab33c GIT binary patch literal 3958 zcmV-+4~g)JP)E)MuKi>Pt;r)$Sv4Y^T1qZ=>7&S@G{`d1s%;J-)ua$G%m+ z{{Pqi|6gmbz5Z*h{ko?el_mc3_+1!Rqesgk zh=sa~@X*~S3l@ppNsM#3vawN+dPBDOR!J^30VEX$;YVkFP|lw_S1w<^d>w3jV#MOy zxmRioAKC%Upt12mo9e_jPyX=AnSxh0el{<3VZZ+CQ(Ixk*7{dTUupt4K`UO8=(7+b zHZdC;mrIb`vp+afCy+QgTl{3|Eg~I9a!i6n;^)O^E6Kn6@Zo|X+q`!6vwx`xU=Xa% z_QY(}V2h+ftUC0T!-v-kVxuGFoyzgiW5rIhTbBXJm-I?^xqEc-%k?r)%O=D%+fMtr zpW>IA09I>GLb4~_HGORGyFp<$K$FhKr;OA&@$ktK#0(KXsqP{;rZ~yJ@9>+cyGABe z+wPEU*ABRc4J|bR(mx3{@K%O_XRo$vD}zs&9Y>GeUssTo1-2phf;vMnL$>r`$hWMm zO?2)phHT5Wf2->)H31~m%9UWr&q){SV7Q@_HHtsk==%jwfn6JTt+zqZOV04MI7)HeB|^VLbv#j@9cYyY^xg9N+z z1Dy@m!WI@LUy}dQ`3nozn-ysCn#|f2M<25Bttv}RfcA#Yph)!DSI?Keoi78!=LRpt zK20W$Jaqq&t(NtNj%^)zU`so;XvzQ1E2kB&BQI}e$?GaKh2!0h zqHX6H^N=mRRgz0hfSh0kM50?gelm9Yq`NT;Zt&n5-@=B(k?P`2cONS2NA4;2PL7nj zx+jRAp1)Wgc;YSPTW6oIlP@dvSMGnLOhaFxy?JC;Nt{VMWQ%_l<2Nvvyph|`wZ5_{svB>vD{hic-lcJC4-|FtWdC3V%a^6~Yv-z-+_5c-SsNxf;9 zC|0^%B{4&`_*PLaJpr7oLBxyazgt%zTXYiq>~M1z-0aOFaim0FzIdrX;z>4bzVNxP z5EaLQf+Pq12woP!#1c1)>?n!puYPtma#b1mh~k4ru8s73u!%2{kG|~5dJ?duBRZM( z*dILkZ~>hUC*Jl%dF-htE5G>UTdPc&Onp*f@%)FMSqtC(*r(UR>1V&N7UGXoe+WBC z-#%pP$E-rR?f?cXE2o{&R-aXBn-#NLC!{THYTGf=ZjP-lV%Yhi47MToAQnS02evnk zz{p^sby;<7S)$tVZs`3s`^VHL>Ytx2lag0osF0 zKwG98)C{=tjgWS<*>7j)*kal`L-p8@ICXMQL+0Ma{Yzj2zxN13Xh*_Zo_*$j%SS%^ z!Sb<>eyDu%lmB03`;LOH%~?1u+8D>W6^yddyoIxsdLzdMI{0+XAd@#j+R&!9;aH&S z1D|8CiHCBVVCB%-#Uhi*W80(MSG;le_VQOxoGNdB%afJ2o_L}>{cFEno_g$5dF;fo z>#*AUHsu_zeHY=K#Q4Eu_5Fm$)x^w_c0tsqk#5&bUuV_1S-#P$U;EBl`0?kT-_~P` zoOCa7+_>q8&Px%tD{ODzB@lFDpS2s%@O{-(hKgM$0O-f<8`K9kQZ@2`^ z>VQGjX)7s@YT~W9NjE{*_{QCdiRB9t3#&U5!lafNd{86-55 z!GwVF5Mu2nZNDVmWWY|6uMK@MDe1S8Iswjn@&C5I{GorX@6&aL&PES9Y)~@@WM(cq zolQK+rjGIul8qtXZrD8cXE*3eKIHlT6CeDqwGi8o6tnrt#kFwp^bfc7*vO%}tu6i0 z2k`C2IWN=3=%sIed~0*_VmUOqr@Z*t|K0+fjjwG~l9jCnE9f6i{-a`r&c?@(So#6` zcLeGV@ba1Omm~KaEB79MutH~RyKO~V*=~>?xa+}kC_9bLV!QGJIF9jVek(c@!lSM;AB|BLe8i|;E}uUx5r_D@PU=q>|fzbBIW+?Sp& zUwq+HW%J7GlSd3acI6g{m0&vpS|6PaV#Kl?us0)6F9EiEhdcRO?^^>sHhOS<-?+3< zKJ)0aW&OSD<=*lAaaEoD>eFjQjMz9OR)SNuW39+iCyyWBlm&x4KD%_#BVUX3{|!i|FF=PJ_P6)E&SHWaamDR zwF4V_Uy2diw=Y_D&!LT)*!9?>c$V{LQ}MPCecsWyp%Heyqt;drIB{nTU~$IT?!nVR9;0!RseL~iP4>`fiQsH zqub8m@9ZQV-kPjAY1x2Wq0Az$diG% zX}Cd!+U!fuw`Z#s~KSv+&chv(J6AkpALV`;KMu*cI}ok?iB%!!he1d#On z)?b5kHu}v(f+fN+Bm-6N-tY6#AxR`89dxul<(=TzjtTXqwKdJI&Z;nT0=VY8_UB~i zY@X?3iyX4Ww-admui>J4+fsG83 zl1W03eHqy%{YKkb=Jz)Q>^!0Mr#d<@%SnX))}HnI=sV zaV8EtJxGp(WK~Y98++o^QCAz+5S@mxRU;P%~y5@U2 z>AgH$???mNXWYFpbJq`pAQ1*rS-l~|wb+KOWRr)TtnGBGk`I#12Ra)Prw$*fEk5Ni z>n3iNFZEYZ?zGP{9|O}^20W5I11RxmZS-lFJdSzzPX)&O)VLPsy zEU7C-o7x_C6O`S=NNiv7iRs(#wDQ~uki^sh>z>IC5Szia-L|mt&qG_2ZW5@g4kR|H zFF6=@$pjsIi6hm8wkBPh+7?6VXX>y8w(7ffKC$14a_$5$kRGjUv7ocr?)w8aWb4Pc z)WGHD8~^j~<*Wbs&&8#tf7#%NSkTdrQ#bI74a(@(VS~7S|L(N%+zDW%xVE|mgU)6Z zS#gpMI@_H#fUADKb0>h+4yzw@ zQzqFC*t-#!I{|F@wtgRiKxdP9H(o7li*(&j&)T?tx%D0BH+KX^-p9j-oL2tHpZ<0I zzg}~P?E{bxL7=mZySwvu|Hiwn`yk{}ppBr-d<>$q-`vx=b6a2b%u^q_08G-G40M~NKw6#lMz0P+ld0IEb)|f8QwN4kSjcM_*TkV_Y zFBQoS%GJJkF<}RCk4B(Q0LgSbiKn}k(_QP?hu{-aW4q+j#i>uuBMB$x#UA)?-Uy7m zCG%Fy+qCG)bhcTD5evH5=*mOb?wt-9+A{rsy&HkL1MJ=5N;&n;zgqjvKl-~hGPLEr z?90KiO4;)Xa4_imYXlA^!2Zg|j(c;X6@Cr?0RR7$NcrXf000I_L_t&o0IQ{8Q++=$ QNdN!<07*qoM6N<$g0N^OJpcdz literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/scorpion/scorpion_green_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..03dc179d10084cf938d065b5180d7a7f751a27db GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!3HERU8}EWU|@Xb>Eakt!T4s%#y}QB0hafi zT>Ty#3{DCxP7MqS96lcm4lLkcn5?nj-i`IzwXvSN-@i!zHRr15YVET=^Yz5!ve_99 zSp7?7WMD8TKM-SQ&cHCkIzex~Gy}sKS%azan|3lD;=Ihou$Hu+7A z3UdtBG9*aVoM3AxIJAYSA@al87={d4!)kVh%?F})GF-4q`o_nQ*0{ZhaY5;kH?j<8 znDU>_V>xj7?CtoP0^2^zSAY2CupIdM_^O`Dy5olKbB{N!ojir%#{akF)A`%?+uQ9k zm4AKZr;G;Uhp#{P*8JHcxANvJ`>d2CDRwW0JNxgyi>sT@f4zRi%~}1WuWI;~Fh<1x zRet!z0G;PZ%A}D}F3x5a6u{5o74FQoY5_u;^gl zDW-!^VWoMGOkBXGGXDbg<5v%FGaX z{Kzjx2b~LRWEf6Zsa@k|NNP-b%HVL#aAO^V0OuAhX1KFf8!;?+HRpsKP Date: Sun, 5 Jul 2026 23:22:55 -0500 Subject: [PATCH 03/13] alpha mantis boss, mantis spin fix, overworld mantis spawns, elythia turtle fix --- .../antarchy/config/AntarchySettings.java | 54 +++++ .../client/model/AlphaMantisModel.java | 23 +++ .../client/renderer/AlphaMantisRenderer.java | 15 ++ .../content/entity/AlphaMantisEntity.java | 184 ++++++++++++++++++ .../antarchy/content/entity/MantisEntity.java | 37 +++- .../antarchy/content/item/BigBerthaItem.java | 4 +- .../resources/assets/antarchy/lang/en_us.json | 2 + .../models/item/alpha_mantis_spawn_egg.json | 3 + .../loot_table/entities/alpha_mantis.json | 90 +++++++++ .../worldgen/biome/elythia_meadow.json | 6 + .../worldgen/biome/elythia_ocean.json | 1 - .../minecraft/tags/entity_type/arthropod.json | 1 + .../antarchy/fabric/AntarchyFabric.java | 16 ++ .../fabric/AntarchyFabricContent.java | 12 +- .../client/AntarchyFabricClientBootstrap.java | 1 + .../AntarchyConfigModuleNeoforge.java | 7 + .../antarchy/neoforge/AntarchyMobsConfig.java | 28 +++ .../client/AntarchyNeoForgeClient.java | 1 + .../AntarchyNeoforgeCreativeModeTabs.java | 1 + .../registry/AntarchyNeoforgeEntites.java | 6 + .../AntarchyNeoforgeEntityAttributes.java | 1 + .../registry/AntarchyNeoforgeItems.java | 2 + .../AntarchyNeoforgeSpawnPlacements.java | 1 + .../biome_modifier/mantis_spawns.json | 18 ++ 24 files changed, 509 insertions(+), 5 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/model/AlphaMantisModel.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/renderer/AlphaMantisRenderer.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java create mode 100644 common/src/main/resources/assets/antarchy/models/item/alpha_mantis_spawn_egg.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/alpha_mantis.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/mantis_spawns.json diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index a17e9d62..c487fde7 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -100,6 +100,12 @@ public final class AntarchySettings { private static double mantisMovementSpeed = 0.42D; private static double mantisFlyingSpeed = 0.77D; private static boolean mantisIgnoreLightLevel = false; + private static double alphaMantisHealth = 500.0D; + private static double alphaMantisAttackDamage = 18.0D; + private static double alphaMantisMovementSpeed = 0.42D; + private static double alphaMantisFlyingSpeed = 0.77D; + private static int alphaMantisSummonIntervalTicks = 300; + private static int alphaMantisMaxMinions = 4; private static double krakenProjectileDamageTakenMultiplier = 0.5D; private static boolean krakenSquidSpawnEnabled = true; private static boolean krakenMassSpawnEnabled = true; @@ -789,6 +795,30 @@ public final class AntarchySettings { mantisIgnoreLightLevel = value; } + public static double alphaMantisHealth() { + return alphaMantisHealth; + } + + public static double alphaMantisAttackDamage() { + return alphaMantisAttackDamage; + } + + public static double alphaMantisMovementSpeed() { + return alphaMantisMovementSpeed; + } + + public static double alphaMantisFlyingSpeed() { + return alphaMantisFlyingSpeed; + } + + public static int alphaMantisSummonIntervalTicks() { + return alphaMantisSummonIntervalTicks; + } + + public static int alphaMantisMaxMinions() { + return alphaMantisMaxMinions; + } + public static double waspHealth() { return waspHealth; } @@ -1193,6 +1223,30 @@ public final class AntarchySettings { mantisFlyingSpeed = value; } + public static void setAlphaMantisHealth(double value) { + alphaMantisHealth = value; + } + + public static void setAlphaMantisAttackDamage(double value) { + alphaMantisAttackDamage = value; + } + + public static void setAlphaMantisMovementSpeed(double value) { + alphaMantisMovementSpeed = value; + } + + public static void setAlphaMantisFlyingSpeed(double value) { + alphaMantisFlyingSpeed = value; + } + + public static void setAlphaMantisSummonIntervalTicks(int value) { + alphaMantisSummonIntervalTicks = value; + } + + public static void setAlphaMantisMaxMinions(int value) { + alphaMantisMaxMinions = value; + } + public static void setKrakenProjectileDamageTakenMultiplier(double value) { krakenProjectileDamageTakenMultiplier = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/AlphaMantisModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/AlphaMantisModel.java new file mode 100644 index 00000000..d4a9071f --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/AlphaMantisModel.java @@ -0,0 +1,23 @@ +package com.craisinlord.antarchy.content.client.model; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.model.GeoModel; + +public class AlphaMantisModel extends GeoModel { + @Override + public ResourceLocation getModelResource(AlphaMantisEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/mantis.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(AlphaMantisEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/mantis_alpha.png"); + } + + @Override + public ResourceLocation getAnimationResource(AlphaMantisEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/mantis.animation.json"); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/AlphaMantisRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/AlphaMantisRenderer.java new file mode 100644 index 00000000..6ee5cedf --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/AlphaMantisRenderer.java @@ -0,0 +1,15 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.client.model.AlphaMantisModel; +import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class AlphaMantisRenderer extends GeoEntityRenderer { + public AlphaMantisRenderer(EntityRendererProvider.Context context) { + super(context, new AlphaMantisModel()); + this.shadowRadius = 1.5F; + // Mantis renders at 1.25x; the alpha is 1.5x bigger overall + this.withScale(1.875F); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java new file mode 100644 index 00000000..e82d97fd --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java @@ -0,0 +1,184 @@ +package com.craisinlord.antarchy.content.entity; + +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.content.AntarchyTags; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerBossEvent; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.util.RandomSource; +import net.minecraft.world.BossEvent; +import net.minecraft.world.Difficulty; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.ServerLevelAccessor; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.levelgen.Heightmap; +import net.minecraft.world.phys.AABB; +import org.jetbrains.annotations.Nullable; + +public class AlphaMantisEntity extends MantisEntity { + private final ServerBossEvent bossEvent = + new ServerBossEvent(Component.translatable("entity.antarchy.alpha_mantis"), BossEvent.BossBarColor.GREEN, BossEvent.BossBarOverlay.PROGRESS); + + private int summonCooldownTicks; + + public AlphaMantisEntity(EntityType entityType, Level level) { + super(entityType, level); + this.xpReward = 60; + this.summonCooldownTicks = AntarchySettings.alphaMantisSummonIntervalTicks() / 2; + } + + public static AttributeSupplier.Builder createAttributes() { + return Mob.createMobAttributes() + .add(Attributes.MAX_HEALTH, AntarchySettings.alphaMantisHealth()) + .add(Attributes.ATTACK_DAMAGE, AntarchySettings.alphaMantisAttackDamage()) + .add(Attributes.MOVEMENT_SPEED, AntarchySettings.alphaMantisMovementSpeed()) + .add(Attributes.FLYING_SPEED, AntarchySettings.alphaMantisFlyingSpeed()) + .add(Attributes.FOLLOW_RANGE, 48.0D) + .add(Attributes.ARMOR, 8.0D) + .add(Attributes.KNOCKBACK_RESISTANCE, 0.8D); + } + + public static boolean checkAlphaMantisSpawnRules(EntityType entityType, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { + if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER || spawnReason == MobSpawnType.COMMAND) { + return true; + } + + if (level.getDifficulty() == Difficulty.PEACEFUL) { + return false; + } + + if (spawnReason != MobSpawnType.NATURAL) { + return false; + } + + boolean atSurface = level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, pos).getY() <= pos.getY(); + boolean posOpen = level.isEmptyBlock(pos) && level.isEmptyBlock(pos.above()) && level.getFluidState(pos).isEmpty(); + boolean onSolidGround = level.getBlockState(pos.below()).isFaceSturdy(level, pos.below(), Direction.UP) + && !(level.getBlockState(pos.below()).getBlock() instanceof LeavesBlock); + + if (!posOpen || !onSolidGround || !atSurface) { + return false; + } + + // Only one alpha at a time in the area + if (!level.getLevel().getEntitiesOfClass(AlphaMantisEntity.class, new AABB(pos).inflate(128.0D), Entity::isAlive).isEmpty()) { + return false; + } + + boolean ignoreLightLevel = AntarchySettings.mantisIgnoreLightLevel(); + + // Daytime overworld spawns can't pass the vanilla darkness check, so no light gate here + if (level.getLevel().isDay() && level.getBiome(pos).is(AntarchyTags.Biomes.MANTIS_OVERWORLD_SPAWN_BIOMES)) { + return level.canSeeSky(pos); + } + + if (level.getLevel().isNight() && level.getBiome(pos).is(AntarchyTags.Biomes.MANTIS_SPAWN_BIOMES)) { + return ignoreLightLevel || Monster.checkMonsterSpawnRules(entityType, level, spawnReason, pos, random); + } + + return false; + } + + @Override + public void tick() { + super.tick(); + if (this.level().isClientSide) { + return; + } + + if (this.isDeadOrDying()) { + this.bossEvent.setProgress(0.0F); + return; + } + + this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); + this.tickMinionSummon(); + } + + private void tickMinionSummon() { + LivingEntity target = this.getTarget(); + if (target == null || !target.isAlive()) { + return; + } + + if (this.summonCooldownTicks > 0) { + this.summonCooldownTicks--; + return; + } + this.summonCooldownTicks = AntarchySettings.alphaMantisSummonIntervalTicks(); + + if (!(this.level() instanceof ServerLevel serverLevel)) { + return; + } + + int nearbyMinions = serverLevel.getEntitiesOfClass( + MantisEntity.class, + this.getBoundingBox().inflate(32.0D), + mantis -> mantis.isAlive() && !(mantis instanceof AlphaMantisEntity) + ).size(); + int maxMinions = AntarchySettings.alphaMantisMaxMinions(); + if (nearbyMinions >= maxMinions) { + return; + } + + int toSummon = Math.min(1 + this.random.nextInt(2), maxMinions - nearbyMinions); + for (int i = 0; i < toSummon; i++) { + MantisEntity minion = AntarchyObjects.MANTIS.get().create(serverLevel); + if (minion == null) { + continue; + } + double angle = this.random.nextDouble() * Math.PI * 2.0D; + double distance = 3.0D + this.random.nextDouble() * 3.0D; + minion.moveTo( + this.getX() + Math.cos(angle) * distance, + this.getY() + 0.5D, + this.getZ() + Math.sin(angle) * distance, + this.random.nextFloat() * 360.0F, + 0.0F + ); + minion.finalizeSpawn(serverLevel, serverLevel.getCurrentDifficultyAt(minion.blockPosition()), MobSpawnType.MOB_SUMMONED, null); + minion.setTarget(target); + serverLevel.addFreshEntity(minion); + } + this.playSound(com.craisinlord.antarchy.content.AntarchySoundEvents.MANTIS_AMBIENT.get(), 2.0F, 0.6F); + } + + @Override + public void setTarget(@Nullable LivingEntity target) { + super.setTarget(target); + // A boss that despawns mid-fight is no boss — stay loaded once engaged + if (target != null) { + this.setPersistenceRequired(); + } + } + + @Override + public void startSeenByPlayer(ServerPlayer player) { + super.startSeenByPlayer(player); + this.bossEvent.addPlayer(player); + } + + @Override + public void stopSeenByPlayer(ServerPlayer player) { + super.stopSeenByPlayer(player); + this.bossEvent.removePlayer(player); + } + + @Override + public void setCustomName(@Nullable Component name) { + super.setCustomName(name); + this.bossEvent.setName(this.getDisplayName()); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java index 5174df37..025fd490 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java @@ -71,6 +71,7 @@ public class MantisEntity extends Monster implements GeoEntity { public MantisEntity(EntityType entityType, Level level) { super(entityType, level); + this.lookControl = new SteadyLookControl(this); this.setNoGravity(false); this.setPathfindingMalus(PathType.WATER, -1.0F); this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); @@ -117,8 +118,9 @@ public class MantisEntity extends Monster implements GeoEntity { boolean ignoreLightLevel = AntarchySettings.mantisIgnoreLightLevel(); + // Daytime overworld spawns can't pass the vanilla darkness check, so no light gate here if (level.getLevel().isDay() && level.getBiome(pos).is(AntarchyTags.Biomes.MANTIS_OVERWORLD_SPAWN_BIOMES)) { - return atSurface && level.canSeeSky(pos) && (ignoreLightLevel || Monster.checkMonsterSpawnRules(entityType, level, spawnReason, pos, random)); + return atSurface && level.canSeeSky(pos); } // Elythia meadow (and any future mantis_spawn_biomes): nighttime, no sky-access requirement @@ -206,6 +208,14 @@ public class MantisEntity extends Monster implements GeoEntity { LivingEntity target = this.getTarget(); if (target != null && target.isAlive()) { this.getLookControl().setLookAt(target, 30.0F, 30.0F); + // If the target is horizontally inside our (wide) footprint, walking toward + // it only makes us pivot in place — hold position, attack reach covers it + double dx = target.getX() - this.getX(); + double dz = target.getZ() - this.getZ(); + double halfWidth = this.getBbWidth() * 0.5D; + if (!this.isFlyingNow() && dx * dx + dz * dz < halfWidth * halfWidth) { + this.getNavigation().stop(); + } } else if (this.flyBurstTicks <= 0 && this.flyCooldownTicks <= 0 && this.onGround() && this.random.nextInt(180) == 0) { this.startFlightBurst(); } @@ -320,6 +330,31 @@ public class MantisEntity extends Monster implements GeoEntity { return this.flyBurstTicks > 0; } + /** + * The mantis hitbox is several blocks wide, so a melee-range target is often + * horizontally inside the footprint. The yaw from body center to such a target + * flips wildly as the target moves past the center, which made the mantis spin + * instead of facing the player — hold the current heading in that case. + */ + private static class SteadyLookControl extends net.minecraft.world.entity.ai.control.LookControl { + SteadyLookControl(Mob mob) { + super(mob); + } + + @Override + public void tick() { + if (this.lookAtCooldown > 0) { + double dx = this.wantedX - this.mob.getX(); + double dz = this.wantedZ - this.mob.getZ(); + double halfWidth = this.mob.getBbWidth() * 0.5D; + if (dx * dx + dz * dz < halfWidth * halfWidth) { + return; + } + } + super.tick(); + } + } + private void tickDebugLog() { if (++this.debugLogTicks < 100) { return; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java index de04c0dc..e280010f 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBerthaItem.java @@ -378,7 +378,7 @@ public class BigBerthaItem extends SwordItem implements GeoItem { player.fallDistance = 0.0F; player.getCooldowns().addCooldown(this, TORETERROR_COOLDOWN_TICKS); player.awardStat(Stats.ITEM_USED.get(this)); - level.playSound(null, player.blockPosition(), SoundEvents.GENERIC_EXPLODE.value(), SoundSource.PLAYERS, 1.0F, 0.6F); + level.playSound(null, player.blockPosition(), AntarchySoundEvents.TORETERROR_JUMP_UP.get(), SoundSource.PLAYERS, 1.2F, 0.9F); } private void applyToreterrorLanding(ServerLevel level, ServerPlayer player) { @@ -394,7 +394,7 @@ public class BigBerthaItem extends SwordItem implements GeoItem { victim.push(normalized.x * 2.5D, 0.6D, normalized.z * 2.5D); victim.hurtMarked = true; } - level.playSound(null, player.blockPosition(), SoundEvents.GENERIC_EXPLODE.value(), SoundSource.PLAYERS, 1.5F, 0.75F); + level.playSound(null, player.blockPosition(), AntarchySoundEvents.TORETERROR_JUMP_LAND.get(), SoundSource.PLAYERS, 1.2F, 0.9F); level.sendParticles(ParticleTypes.EXPLOSION, player.getX(), player.getY() + 0.5D, player.getZ(), 4, 1.5D, 0.3D, 1.5D, 0.0D); level.sendParticles(ParticleTypes.SPLASH, player.getX(), player.getY() + 0.5D, player.getZ(), 60, 3.0D, 0.5D, 3.0D, 0.2D); level.sendParticles(ParticleTypes.CRIT, player.getX(), player.getY() + 0.5D, player.getZ(), 20, 2.0D, 0.5D, 2.0D, 0.1D); diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index a023eacb..43015e4f 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -165,6 +165,7 @@ "entity.antarchy.moleworm": "Moleworm", "entity.antarchy.molevore": "Molevore", "entity.antarchy.mantis": "Mantis", + "entity.antarchy.alpha_mantis": "Alpha Mantis", "entity.antarchy.triffid": "Triffid", "entity.antarchy.toreterror": "Toreterror", "entity.antarchy.water_bomb": "Water Bomb", @@ -400,6 +401,7 @@ "item.antarchy.molevore_spawn_egg": "Molevore Spawn Egg", "item.antarchy.reverie_spawn_egg": "Reverie Spawn Egg", "item.antarchy.mantis_spawn_egg": "Mantis Spawn Egg", + "item.antarchy.alpha_mantis_spawn_egg": "Alpha Mantis Spawn Egg", "biome.antarchy.moleworm_caves": "Moleworm Caves", "biome.antarchy.butterfly_fields": "Butterfly Fields", "biome.antarchy.torchflower_fields": "Torchflower Fields", diff --git a/common/src/main/resources/assets/antarchy/models/item/alpha_mantis_spawn_egg.json b/common/src/main/resources/assets/antarchy/models/item/alpha_mantis_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/alpha_mantis_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common/src/main/resources/data/antarchy/loot_table/entities/alpha_mantis.json b/common/src/main/resources/data/antarchy/loot_table/entities/alpha_mantis.json new file mode 100644 index 00000000..bd585f00 --- /dev/null +++ b/common/src/main/resources/data/antarchy/loot_table/entities/alpha_mantis.json @@ -0,0 +1,90 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:mantis_claw" + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 3.0, + "max": 4.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 2.0 + } + } + ] + }, + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:uranium_nugget" + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2.0, + "max": 4.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 2.0 + } + } + ] + }, + { + "rolls": 1.0, + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:titanium_nugget" + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 2.0, + "max": 4.0 + } + }, + { + "function": "minecraft:enchanted_count_increase", + "enchantment": "minecraft:looting", + "count": { + "type": "minecraft:uniform", + "min": 0.0, + "max": 2.0 + } + } + ] + } + ], + "random_sequence": "antarchy:entities/alpha_mantis" +} diff --git a/common/src/main/resources/data/antarchy/worldgen/biome/elythia_meadow.json b/common/src/main/resources/data/antarchy/worldgen/biome/elythia_meadow.json index ef2c2ebd..124875e2 100644 --- a/common/src/main/resources/data/antarchy/worldgen/biome/elythia_meadow.json +++ b/common/src/main/resources/data/antarchy/worldgen/biome/elythia_meadow.json @@ -121,6 +121,12 @@ "weight": 20, "minCount": 1, "maxCount": 1 + }, + { + "type": "antarchy:alpha_mantis", + "weight": 1, + "minCount": 1, + "maxCount": 1 } ], "axolotls": [], diff --git a/common/src/main/resources/data/antarchy/worldgen/biome/elythia_ocean.json b/common/src/main/resources/data/antarchy/worldgen/biome/elythia_ocean.json index c22a5def..da24502b 100644 --- a/common/src/main/resources/data/antarchy/worldgen/biome/elythia_ocean.json +++ b/common/src/main/resources/data/antarchy/worldgen/biome/elythia_ocean.json @@ -69,7 +69,6 @@ "axolotls": [], "underground_water_creature": [], "water_creature": [ - { "type": "minecraft:turtle", "weight": 5, "minCount": 1, "maxCount": 2 }, { "type": "antarchy:octopus_bomb", "weight": 4, "minCount": 1, "maxCount": 2 }], "water_ambient": [ { "type": "antarchy:cheep", "weight": 10, "minCount": 3, "maxCount": 6 }, diff --git a/common/src/main/resources/data/minecraft/tags/entity_type/arthropod.json b/common/src/main/resources/data/minecraft/tags/entity_type/arthropod.json index 520257ad..26157504 100644 --- a/common/src/main/resources/data/minecraft/tags/entity_type/arthropod.json +++ b/common/src/main/resources/data/minecraft/tags/entity_type/arthropod.json @@ -8,6 +8,7 @@ "antarchy:brutalfly", "antarchy:bed_bug", "antarchy:mantis", + "antarchy:alpha_mantis", "antarchy:jumpy_bug", "antarchy:spit_bug", "antarchy:stink_bug", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java index ca588be3..7db898f7 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabric.java @@ -34,6 +34,10 @@ public final class AntarchyFabric implements ModInitializer { Registries.BIOME, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "octopus_bomb_spawn_biomes") ); + private static final TagKey MANTIS_OVERWORLD_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "mantis_overworld_spawn_biomes") + ); @Override public void onInitialize() { @@ -75,5 +79,17 @@ public final class AntarchyFabric implements ModInitializer { AntarchyFabricContent.OCTOPUS_BOMB.get(), 2, 1, 2 ); + BiomeModifications.addSpawn( + BiomeSelectors.tag(MANTIS_OVERWORLD_SPAWN_BIOMES), + net.minecraft.world.entity.MobCategory.MONSTER, + AntarchyFabricContent.MANTIS.get(), + 8, 1, 1 + ); + BiomeModifications.addSpawn( + BiomeSelectors.tag(MANTIS_OVERWORLD_SPAWN_BIOMES), + net.minecraft.world.entity.MobCategory.MONSTER, + AntarchyFabricContent.ALPHA_MANTIS.get(), + 1, 1, 1 + ); } } diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index dbb19dd4..0e15ad89 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -65,6 +65,7 @@ import com.craisinlord.antarchy.content.entity.JumpyBugEntity; import com.craisinlord.antarchy.content.entity.StinkBugEntity; import com.craisinlord.antarchy.content.entity.OuranwoodBoatEntity; import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity; +import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; import com.craisinlord.antarchy.content.entity.MantisEntity; import com.craisinlord.antarchy.content.entity.basilisk.BasiliskEntity; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; @@ -823,6 +824,11 @@ public final class AntarchyFabricContent { .sized(3.125F, 2.5F) .clientTrackingRange(8) .build("mantis")); + public static final DeferredHolder, EntityType> ALPHA_MANTIS = ENTITY_TYPES.register("alpha_mantis", + () -> EntityType.Builder.of(AlphaMantisEntity::new, MobCategory.MONSTER) + .sized(4.0F, 3.25F) + .clientTrackingRange(10) + .build("alpha_mantis")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -1726,6 +1732,8 @@ public final class AntarchyFabricContent { () -> new DeferredSpawnEggItem(MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties())); public static final DeferredItem MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg", () -> new DeferredSpawnEggItem(MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); + public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", + () -> new DeferredSpawnEggItem(ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -1917,6 +1925,7 @@ public final class AntarchyFabricContent { FabricDefaultAttributeRegistry.register(JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(MANTIS.get(), MantisEntity.createAttributes().build()); + FabricDefaultAttributeRegistry.register(ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(TRIFFID.get(), TriffidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(LUCID.get(), LucidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(SCORPION.get(), ScorpionEntity.createAttributes().build()); @@ -1974,6 +1983,7 @@ public final class AntarchyFabricContent { SpawnPlacements.register(NIGHTMARE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn); SpawnPlacements.register(MOLEWORM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolewormEntity::canSpawn); SpawnPlacements.register(MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MantisEntity::canSpawn); + SpawnPlacements.register(ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules); SpawnPlacements.register(MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn); SpawnPlacements.register(BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn); SpawnPlacements.register(STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn); @@ -2075,7 +2085,7 @@ public final class AntarchyFabricContent { case "easter_bunny_spawn_egg", "flying_squirrel_spawn_egg", "caterpillar_spawn_egg", "butterfly_spawn_egg", "reverie_spawn_egg", "brutalfly_spawn_egg", "red_ant_spawn_egg", "brown_ant_spawn_egg", "rainbow_ant_spawn_egg", "termite_spawn_egg", - "moleworm_spawn_egg", "mantis_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", + "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", "apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg", "honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg", "bomber_spawn_egg", "jumpy_bug_spawn_egg", "spit_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index 27a03573..26e59a6b 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -78,6 +78,7 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.TERMITE.get(), TermiteRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEWORM.get(), MolewormRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MANTIS.get(), MantisRenderer::new); + EntityRendererRegistry.register(AntarchyFabricContent.ALPHA_MANTIS.get(), AlphaMantisRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEVORE.get(), MolevoreRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.TRIFFID.get(), TriffidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png"), false)); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index 05e0a1bb..25589dc8 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -109,6 +109,13 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setMantisFlyingSpeed(AntarchyMobsConfig.mantisFlyingSpeed()); AntarchySettings.setMantisIgnoreLightLevel(AntarchyMobsConfig.mantisIgnoreLightLevel()); + AntarchySettings.setAlphaMantisHealth(AntarchyMobsConfig.alphaMantisHealth()); + AntarchySettings.setAlphaMantisAttackDamage(AntarchyMobsConfig.alphaMantisAttackDamage()); + AntarchySettings.setAlphaMantisMovementSpeed(AntarchyMobsConfig.alphaMantisMovementSpeed()); + AntarchySettings.setAlphaMantisFlyingSpeed(AntarchyMobsConfig.alphaMantisFlyingSpeed()); + AntarchySettings.setAlphaMantisSummonIntervalTicks(AntarchyMobsConfig.alphaMantisSummonIntervalTicks()); + AntarchySettings.setAlphaMantisMaxMinions(AntarchyMobsConfig.alphaMantisMaxMinions()); + AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth()); AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage()); AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index f2595747..20186b82 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -90,6 +90,16 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.BooleanValue MANTIS_IGNORE_LIGHT_LEVEL; + // Alpha Mantis + + private static final ModConfigSpec.DoubleValue ALPHA_MANTIS_HEALTH; + private static final ModConfigSpec.DoubleValue ALPHA_MANTIS_ATTACK_DAMAGE; + private static final ModConfigSpec.DoubleValue ALPHA_MANTIS_MOVEMENT_SPEED; + private static final ModConfigSpec.DoubleValue ALPHA_MANTIS_FLYING_SPEED; + private static final ModConfigSpec.IntValue ALPHA_MANTIS_SUMMON_INTERVAL_TICKS; + private static final ModConfigSpec.IntValue ALPHA_MANTIS_MAX_MINIONS; + + // Triffid private static final ModConfigSpec.DoubleValue TRIFFID_HEALTH; @@ -368,6 +378,18 @@ public final class AntarchyMobsConfig { b.pop(); + // Alpha Mantis + + b.push("alphaMantis"); + ALPHA_MANTIS_HEALTH = b.comment("Base max health.") .defineInRange("health", 500.0D, 1.0D, 32768.0D); + ALPHA_MANTIS_ATTACK_DAMAGE = b.comment("Base attack damage.") .defineInRange("attackDamage", 18.0D, 0.0D, 1024.0D); + ALPHA_MANTIS_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.42D, 0.0D, 10.0D); + ALPHA_MANTIS_FLYING_SPEED = b.comment("Base flying speed.") .defineInRange("flyingSpeed", 0.77D, 0.0D, 10.0D); + ALPHA_MANTIS_SUMMON_INTERVAL_TICKS = b.comment("Ticks between mantis minion summons while in combat.") .defineInRange("summonIntervalTicks", 300, 20, 72000); + ALPHA_MANTIS_MAX_MINIONS = b.comment("Maximum summoned mantises alive near the alpha at once.") .defineInRange("maxMinions", 4, 0, 32); + b.pop(); + + // Triffid b.push("triffid"); @@ -589,6 +611,12 @@ public final class AntarchyMobsConfig { static double mantisMovementSpeed() { return MANTIS_MOVEMENT_SPEED.get(); } static double mantisFlyingSpeed() { return MANTIS_FLYING_SPEED.get(); } static boolean mantisIgnoreLightLevel() { return MANTIS_IGNORE_LIGHT_LEVEL.get(); } + static double alphaMantisHealth() { return ALPHA_MANTIS_HEALTH.get(); } + static double alphaMantisAttackDamage() { return ALPHA_MANTIS_ATTACK_DAMAGE.get(); } + static double alphaMantisMovementSpeed() { return ALPHA_MANTIS_MOVEMENT_SPEED.get(); } + static double alphaMantisFlyingSpeed() { return ALPHA_MANTIS_FLYING_SPEED.get(); } + static int alphaMantisSummonIntervalTicks() { return ALPHA_MANTIS_SUMMON_INTERVAL_TICKS.get(); } + static int alphaMantisMaxMinions() { return ALPHA_MANTIS_MAX_MINIONS.get(); } static double triffidHealth() { return TRIFFID_HEALTH.get(); } static double triffidAttackDamage() { return TRIFFID_ATTACK_DAMAGE.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index 2cbcdc08..b004845e 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -94,6 +94,7 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.TERMITE.get(), context -> withParalyzedGeoLayer(new TermiteRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEWORM.get(), context -> withParalyzedGeoLayer(new MolewormRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MANTIS.get(), context -> withParalyzedGeoLayer(new MantisRenderer(context))); + event.registerEntityRenderer(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), context -> withParalyzedGeoLayer(new AlphaMantisRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEVORE.get(), context -> withParalyzedGeoLayer(new MolevoreRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false)); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index 98f4fcba..257986f9 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -60,6 +60,7 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.TERMITE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEWORM_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MANTIS_SPAWN_EGG.get()); + event.accept(AntarchyNeoforgeItems.ALPHA_MANTIS_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEVORE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.TRIFFID_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.APPLE_COW_SPAWN_EGG.get()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index bd7aa921..f760a577 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -17,6 +17,7 @@ import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; import com.craisinlord.antarchy.content.entity.HushProjectileEntity; import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity; import com.craisinlord.antarchy.content.entity.JumpyBugEntity; +import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; import com.craisinlord.antarchy.content.entity.MantisEntity; import com.craisinlord.antarchy.content.entity.MissileSquidEntity; import com.craisinlord.antarchy.content.entity.OctopusBombEntity; @@ -93,6 +94,11 @@ public final class AntarchyNeoforgeEntites { .sized(3.125F, 2.5F) .clientTrackingRange(8) .build("mantis")); + public static final DeferredHolder, EntityType> ALPHA_MANTIS = ENTITY_TYPES.register("alpha_mantis", + () -> EntityType.Builder.of(AlphaMantisEntity::new, MobCategory.MONSTER) + .sized(4.0F, 3.25F) + .clientTrackingRange(10) + .build("alpha_mantis")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java index e83eccc3..0c483c6c 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java @@ -53,6 +53,7 @@ public class AntarchyNeoforgeEntityAttributes { event.put(AntarchyNeoforgeEntites.JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.MANTIS.get(), MantisEntity.createAttributes().build()); + event.put(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.LUCID.get(), LucidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.SCORPION.get(), ScorpionEntity.createAttributes().build()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index 17559a02..fb9c2d73 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -513,6 +513,8 @@ public final class AntarchyNeoforgeItems { () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties())); public static final DeferredItem MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); + public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", + () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java index fbb6a581..c0af0888 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java @@ -42,6 +42,7 @@ public class AntarchyNeoforgeSpawnPlacements { event.register(AntarchyNeoforgeEntites.NIGHTMARE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.MOLEWORM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolewormEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MantisEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); + event.register(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/mantis_spawns.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/mantis_spawns.json new file mode 100644 index 00000000..961e3cd9 --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/mantis_spawns.json @@ -0,0 +1,18 @@ +{ + "type": "neoforge:add_spawns", + "biomes": "#antarchy:mantis_overworld_spawn_biomes", + "spawners": [ + { + "type": "antarchy:mantis", + "weight": 8, + "minCount": 1, + "maxCount": 1 + }, + { + "type": "antarchy:alpha_mantis", + "weight": 1, + "minCount": 1, + "maxCount": 1 + } + ] +} From 9d34c452852855d8a1005e9de1bcbbd8023230ae Mon Sep 17 00:00:00 2001 From: craisinlord Date: Sun, 5 Jul 2026 23:33:20 -0500 Subject: [PATCH 04/13] toreterror jump sounds (ported from beta6) --- .../antarchy/content/AntarchySoundEvents.java | 6 +++++ .../content/entity/ToreterrorEntity.java | 2 ++ .../resources/assets/antarchy/lang/en_us.json | 2 ++ .../resources/assets/antarchy/sounds.json | 22 ++++++++++++++++++ .../sounds/mob/toreterror/jump up1.mp3 | Bin 74359 -> 0 bytes .../sounds/mob/toreterror/jump up2.mp3 | Bin 58476 -> 0 bytes .../sounds/mob/toreterror/jump_land1.ogg | Bin 0 -> 95272 bytes .../sounds/mob/toreterror/jump_land2.ogg | Bin 0 -> 95435 bytes .../sounds/mob/toreterror/jump_up1.ogg | Bin 0 -> 13670 bytes .../sounds/mob/toreterror/jump_up2.ogg | Bin 0 -> 13800 bytes .../fabric/AntarchyFabricContent.java | 4 ++++ .../antarchy/neoforge/AntarchyNeoforge.java | 2 ++ .../registry/AntarchyNeoforgeSounds.java | 2 ++ 13 files changed, 40 insertions(+) delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up2.mp3 create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_land1.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_land2.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_up1.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_up2.ogg diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java index 20594557..08a19965 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java @@ -126,6 +126,8 @@ public final class AntarchySoundEvents { public static Supplier TORETERROR_HURT = (Supplier) UNBOUND; public static Supplier TORETERROR_DEATH = (Supplier) UNBOUND; public static Supplier TORETERROR_BOMBER_FIRE = (Supplier) UNBOUND; + public static Supplier TORETERROR_JUMP_UP = (Supplier) UNBOUND; + public static Supplier TORETERROR_JUMP_LAND = (Supplier) UNBOUND; public static Supplier STINKY_FLY = (Supplier) UNBOUND; public static Supplier CREEPING_HORROR_GROWL = (Supplier) UNBOUND; public static Supplier CREEPING_HORROR_HURT = (Supplier) UNBOUND; @@ -257,6 +259,8 @@ public final class AntarchySoundEvents { Supplier toreterrorHurt, Supplier toreterrorDeath, Supplier toreterrorBomberFire, + Supplier toreterrorJumpUp, + Supplier toreterrorJumpLand, Supplier stinkyFly, Supplier creepingHorrorGrowl, Supplier creepingHorrorHurt, @@ -384,6 +388,8 @@ public final class AntarchySoundEvents { TORETERROR_HURT = toreterrorHurt; TORETERROR_DEATH = toreterrorDeath; TORETERROR_BOMBER_FIRE = toreterrorBomberFire; + TORETERROR_JUMP_UP = toreterrorJumpUp; + TORETERROR_JUMP_LAND = toreterrorJumpLand; STINKY_FLY = stinkyFly; CREEPING_HORROR_GROWL = creepingHorrorGrowl; CREEPING_HORROR_HURT = creepingHorrorHurt; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java index 6f3bc1ab..9ff71f9b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java @@ -453,6 +453,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { if (this.jumpLaunched && this.jumpAirborne && !this.shockwaveApplied) { if (this.onGround()) { this.shockwaveApplied = true; + this.playSound(AntarchySoundEvents.TORETERROR_JUMP_LAND.get(), 1.2F, 0.9F + this.random.nextFloat() * 0.15F); this.applyJumpShockwave(); this.jumpShakeTicks = JUMP_SHAKE_TICKS; this.entityData.set(JUMP_SHAKING, true); @@ -852,6 +853,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { ToreterrorEntity.this.jumpLaunched = false; ToreterrorEntity.this.jumpAirborne = false; ToreterrorEntity.this.shockwaveApplied = false; + ToreterrorEntity.this.playSound(AntarchySoundEvents.TORETERROR_JUMP_UP.get(), 1.2F, 0.9F + ToreterrorEntity.this.random.nextFloat() * 0.15F); } @Override diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index 43015e4f..515df46b 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -661,6 +661,8 @@ "subtitles.antarchy.toreterror_hurt": "Toreterror hurts", "subtitles.antarchy.toreterror_death": "Toreterror dies", "subtitles.antarchy.toreterror_bomber_fire": "Toreterror launches bombers", + "subtitles.antarchy.toreterror_jump_up": "Toreterror jumps", + "subtitles.antarchy.toreterror_jump_land": "Toreterror lands", "subtitles.antarchy.creeping_horror_growl": "Creeping Horror growls", "subtitles.antarchy.creeping_horror_hurt": "Creeping Horror hurts", "subtitles.antarchy.creeping_horror_bite": "Creeping Horror bites", diff --git a/common/src/main/resources/assets/antarchy/sounds.json b/common/src/main/resources/assets/antarchy/sounds.json index a2dfd7df..5316cdc8 100644 --- a/common/src/main/resources/assets/antarchy/sounds.json +++ b/common/src/main/resources/assets/antarchy/sounds.json @@ -513,6 +513,28 @@ } ] }, + "toreterror_jump_up": { + "subtitle": "subtitles.antarchy.toreterror_jump_up", + "sounds": [ + { + "name": "antarchy:mob/toreterror/jump_up1" + }, + { + "name": "antarchy:mob/toreterror/jump_up2" + } + ] + }, + "toreterror_jump_land": { + "subtitle": "subtitles.antarchy.toreterror_jump_land", + "sounds": [ + { + "name": "antarchy:mob/toreterror/jump_land1" + }, + { + "name": "antarchy:mob/toreterror/jump_land2" + } + ] + }, "creeping_horror_growl": { "subtitle": "subtitles.antarchy.creeping_horror_growl", "sounds": [ diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump up1.mp3 deleted file mode 100644 index 3232ca89c5ffff42a5944015d63460ac5db9d57e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74359 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�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
F(uLxX?*a%QK^i{lZ7a6I^JtYke;g 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%0AvJ8Zm$)iKsphCFp7eh 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 L00000!219Ibq2Qq literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon4.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..922db688618aba1c1ff9257f6d167a5eeaf8603c GIT binary patch literal 76890 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

#r)BGL3Ju%bD8q9B%~mjb-uN=txr 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 literal 0 HcmV?d00001 diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index 959cc55d..4af2287e 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -402,6 +402,9 @@ public final class AntarchyFabricContent { public static final DeferredHolder TORETERROR_HURT = registerSoundEvent("toreterror_hurt"); public static final DeferredHolder TORETERROR_DEATH = registerSoundEvent("toreterror_death"); public static final DeferredHolder TORETERROR_BOMBER_FIRE = registerSoundEvent("toreterror_bomber_fire"); + public static final DeferredHolder TORETERROR_SPIN = registerSoundEvent("toreterror_spin"); + public static final DeferredHolder TORETERROR_RICOCHET = registerSoundEvent("toreterror_ricochet"); + public static final DeferredHolder WATER_CANNON_FIRE = registerSoundEvent("water_cannon_fire"); public static final DeferredHolder TORETERROR_JUMP_UP = registerSoundEvent("toreterror_jump_up"); public static final DeferredHolder TORETERROR_JUMP_LAND = registerSoundEvent("toreterror_jump_land"); public static final DeferredHolder STINKY_FLY_SOUND = registerSoundEvent("stinky_fly"); @@ -2510,6 +2513,9 @@ public final class AntarchyFabricContent { TORETERROR_HURT, TORETERROR_DEATH, TORETERROR_BOMBER_FIRE, + TORETERROR_SPIN, + TORETERROR_RICOCHET, + WATER_CANNON_FIRE, TORETERROR_JUMP_UP, TORETERROR_JUMP_LAND, STINKY_FLY_SOUND, diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java index 155812b3..a3e20f77 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java @@ -141,6 +141,9 @@ public class AntarchyNeoforge { AntarchyNeoforgeSounds.TORETERROR_HURT, AntarchyNeoforgeSounds.TORETERROR_DEATH, AntarchyNeoforgeSounds.TORETERROR_BOMBER_FIRE, + AntarchyNeoforgeSounds.TORETERROR_SPIN, + AntarchyNeoforgeSounds.TORETERROR_RICOCHET, + AntarchyNeoforgeSounds.WATER_CANNON_FIRE, AntarchyNeoforgeSounds.TORETERROR_JUMP_UP, AntarchyNeoforgeSounds.TORETERROR_JUMP_LAND, AntarchyNeoforgeSounds.STINKY_FLY, diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java index a98d76a8..4d2b76e8 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java @@ -128,6 +128,9 @@ public final class AntarchyNeoforgeSounds { public static final DeferredHolder TORETERROR_HURT = registerSoundEvent("toreterror_hurt"); public static final DeferredHolder TORETERROR_DEATH = registerSoundEvent("toreterror_death"); public static final DeferredHolder TORETERROR_BOMBER_FIRE = registerSoundEvent("toreterror_bomber_fire"); + public static final DeferredHolder TORETERROR_SPIN = registerSoundEvent("toreterror_spin"); + public static final DeferredHolder TORETERROR_RICOCHET = registerSoundEvent("toreterror_ricochet"); + public static final DeferredHolder WATER_CANNON_FIRE = registerSoundEvent("water_cannon_fire"); public static final DeferredHolder TORETERROR_JUMP_UP = registerSoundEvent("toreterror_jump_up"); public static final DeferredHolder TORETERROR_JUMP_LAND = registerSoundEvent("toreterror_jump_land"); public static final DeferredHolder STINKY_FLY = registerSoundEvent("stinky_fly"); From 3e251496183829e8a0519e6133084ca2984024aa Mon Sep 17 00:00:00 2001 From: craisinlord Date: Tue, 7 Jul 2026 01:21:44 -0500 Subject: [PATCH 07/13] VERY TALL AND SHORT AND BIG also made rainbow ant rare in elythia sniffer died fyling squireal anim overhual --- .../content/block/VeryTallGrassBlock.java | 170 ++ .../client/AlphaVertexConsumerProxy.java | 39 + .../content/client/model/RollyPollyModel.java | 4 +- .../content/entity/RollyPollyEntity.java | 276 +-- .../worldgen/elythia/ElythiaFloraFeature.java | 157 +- .../BoneMealItemVeryTallGrassMixin.java | 65 + .../resources/antarchy-common.mixins.json | 3 + .../animations/easter_bunny.animation.json | 4 +- .../animations/flying_squirrel.animation.json | 1741 +++++++++++++---- .../antarchy/blockstates/very_tall_grass.json | 7 + .../resources/assets/antarchy/lang/en_us.json | 8 + .../models/block/very_tall_grass_bottom.json | 6 + .../models/block/very_tall_grass_middle.json | 6 + .../models/block/very_tall_grass_top.json | 6 + .../antarchy/models/item/very_tall_grass.json | 6 + .../rolly_polly/rolly_polly_saddled.png | Bin 4118 -> 0 bytes .../loot_table/blocks/very_tall_grass.json | 65 + .../chests/ruined_arena/generic.json | 336 ++++ .../spawners/ruined_arena/hard.json | 306 +++ .../spawners/ruined_arena/medium.json | 269 +++ .../worldgen/biome/butterfly_fields.json | 1 + .../worldgen/biome/elythia_meadow.json | 7 +- .../biome/fungal_ouranwood_forest.json | 1 + .../worldgen/biome/ouranwood_forest.json | 3 +- .../biome/sparse_ouranwood_forest.json | 1 + .../worldgen/biome/torchflower_fields.json | 3 +- .../elythia_brown_ant_nests.json | 2 +- .../elythia_rainbow_ant_nests.json | 19 + .../fabric/AntarchyFabricContent.java | 27 +- .../client/AntarchyFabricClientBootstrap.java | 20 + .../client/AntarchyNeoForgeClient.java | 19 + .../registry/AntarchyNeoforgeBlocks.java | 21 + .../AntarchyNeoforgeCreativeModeTabs.java | 4 +- .../registry/AntarchyNeoforgeItems.java | 4 + 34 files changed, 3043 insertions(+), 563 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/VeryTallGrassBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/AlphaVertexConsumerProxy.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java create mode 100644 common/src/main/resources/assets/antarchy/blockstates/very_tall_grass.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/very_tall_grass_bottom.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/very_tall_grass_middle.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/very_tall_grass_top.json create mode 100644 common/src/main/resources/assets/antarchy/models/item/very_tall_grass.json delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png create mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/very_tall_grass.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/chests/ruined_arena/generic.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/hard.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/medium.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/elythia_rainbow_ant_nests.json diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/VeryTallGrassBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/VeryTallGrassBlock.java new file mode 100644 index 00000000..1bf0808a --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/VeryTallGrassBlock.java @@ -0,0 +1,170 @@ +package com.craisinlord.antarchy.content.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.util.StringRepresentable; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.BonemealableBlock; +import net.minecraft.world.level.block.BushBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.phys.BlockHitResult; +import org.jetbrains.annotations.Nullable; + +public class VeryTallGrassBlock extends BushBlock implements BonemealableBlock { + public static final MapCodec CODEC = Block.simpleCodec(VeryTallGrassBlock::new); + public static final EnumProperty PART = EnumProperty.create("part", Part.class); + + public VeryTallGrassBlock(BlockBehaviour.Properties properties) { + super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(PART, Part.LOWER)); + } + + @Override + public MapCodec codec() { + return CODEC; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(PART); + } + + @Override + protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) { + return switch (state.getValue(PART)) { + case LOWER -> super.canSurvive(state, level, pos); + case MIDDLE -> level.getBlockState(pos.below()).is(this) + && level.getBlockState(pos.below()).getValue(PART) == Part.LOWER + && level.getBlockState(pos.above()).is(this) + && level.getBlockState(pos.above()).getValue(PART) == Part.UPPER; + case UPPER -> level.getBlockState(pos.below()).is(this) + && level.getBlockState(pos.below()).getValue(PART) == Part.MIDDLE; + }; + } + + @Override + protected BlockState updateShape( + BlockState state, + Direction direction, + BlockState neighborState, + LevelAccessor level, + BlockPos pos, + BlockPos neighborPos + ) { + Part part = state.getValue(PART); + if (part == Part.LOWER && direction == Direction.UP && (!neighborState.is(this) || neighborState.getValue(PART) != Part.MIDDLE)) { + return Blocks.AIR.defaultBlockState(); + } + if (part == Part.MIDDLE) { + if (direction == Direction.DOWN && (!neighborState.is(this) || neighborState.getValue(PART) != Part.LOWER)) { + return Blocks.AIR.defaultBlockState(); + } + if (direction == Direction.UP && (!neighborState.is(this) || neighborState.getValue(PART) != Part.UPPER)) { + return Blocks.AIR.defaultBlockState(); + } + } + if (part == Part.UPPER && direction == Direction.DOWN && (!neighborState.is(this) || neighborState.getValue(PART) != Part.MIDDLE)) { + return Blocks.AIR.defaultBlockState(); + } + return state.canSurvive(level, pos) ? super.updateShape(state, direction, neighborState, level, pos, neighborPos) : Blocks.AIR.defaultBlockState(); + } + + @Override + protected ItemInteractionResult useItemOn( + ItemStack stack, + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hitResult + ) { + if (player.getItemInHand(hand).is(Items.BONE_MEAL)) { + popResource(level, pos, new ItemStack(state.getBlock().asItem(), 1)); + return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + + @Override + public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) { + return false; + } + + @Override + public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) { + return false; + } + + @Override + public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) { + } + + @Override + protected boolean canBeReplaced(BlockState state, BlockPlaceContext context) { + return false; + } + + @Nullable + @Override + public BlockState getStateForPlacement(BlockPlaceContext context) { + BlockPos pos = context.getClickedPos(); + Level level = context.getLevel(); + if (!level.getBlockState(pos.above()).canBeReplaced(context) || !level.getBlockState(pos.above(2)).canBeReplaced(context)) { + return null; + } + return super.getStateForPlacement(context); + } + + @Override + public void setPlacedBy(Level level, BlockPos pos, BlockState state, @Nullable net.minecraft.world.entity.LivingEntity placer, ItemStack stack) { + placeAt(level, pos, Block.UPDATE_ALL); + } + + public static void placeAt(LevelAccessor level, BlockPos pos, int flags) { + level.setBlock(pos, defaultState(Part.LOWER), flags); + level.setBlock(pos.above(), defaultState(Part.MIDDLE), flags); + level.setBlock(pos.above(2), defaultState(Part.UPPER), flags); + } + + private static BlockState defaultState(Part part) { + return net.minecraft.core.registries.BuiltInRegistries.BLOCK + .get(net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("antarchy", "very_tall_grass")) + .defaultBlockState() + .setValue(PART, part); + } + + public enum Part implements StringRepresentable { + LOWER("lower"), + MIDDLE("middle"), + UPPER("upper"); + + private final String name; + + Part(String name) { + this.name = name; + } + + @Override + public String getSerializedName() { + return this.name; + } + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/AlphaVertexConsumerProxy.java b/common/src/main/java/com/craisinlord/antarchy/content/client/AlphaVertexConsumerProxy.java new file mode 100644 index 00000000..e52de828 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/AlphaVertexConsumerProxy.java @@ -0,0 +1,39 @@ +package com.craisinlord.antarchy.content.client; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import com.mojang.blaze3d.vertex.VertexConsumer; + +public final class AlphaVertexConsumerProxy { + private AlphaVertexConsumerProxy() { + } + + public static VertexConsumer wrap(VertexConsumer delegate, float alphaScale) { + if (alphaScale >= 0.999F) { + return delegate; + } + + final VertexConsumer[] proxyHolder = new VertexConsumer[1]; + InvocationHandler handler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + Object[] forwardedArgs = args; + if ("setColor".equals(method.getName()) && args != null && args.length == 4 && args[3] instanceof Integer alpha) { + forwardedArgs = args.clone(); + forwardedArgs[3] = Math.max(0, Math.min(255, Math.round(alpha * alphaScale))); + } + + Object result = method.invoke(delegate, forwardedArgs); + return result == delegate ? proxyHolder[0] : result; + } + }; + + proxyHolder[0] = (VertexConsumer) Proxy.newProxyInstance( + VertexConsumer.class.getClassLoader(), + new Class[] { VertexConsumer.class }, + handler + ); + return proxyHolder[0]; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java index 8bbdb463..1c9fab89 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java @@ -8,8 +8,6 @@ import software.bernie.geckolib.model.GeoModel; public class RollyPollyModel extends GeoModel { private static final ResourceLocation TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly.png"); - private static final ResourceLocation TEXTURE_SADDLED = - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly_saddled.png"); @Override public ResourceLocation getModelResource(RollyPollyEntity animatable) { @@ -18,7 +16,7 @@ public class RollyPollyModel extends GeoModel { @Override public ResourceLocation getTextureResource(RollyPollyEntity animatable) { - return animatable.hasSaddle() ? TEXTURE_SADDLED : TEXTURE; + return TEXTURE; } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java index 64150d3a..85643b28 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java @@ -2,11 +2,14 @@ package com.craisinlord.antarchy.content.entity; import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.AntarchyTags; + +import java.util.EnumSet; +import net.minecraft.core.BlockPos; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; +import net.minecraft.tags.BlockTags; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.world.InteractionHand; @@ -18,11 +21,11 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MoverType; import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.PanicGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; @@ -30,9 +33,10 @@ import net.minecraft.world.entity.ai.goal.TemptGoal; import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.BedBlock; +import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; @@ -47,14 +51,13 @@ import software.bernie.geckolib.util.GeckoLibUtil; public class RollyPollyEntity extends TamableAnimal implements GeoEntity { private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation ROLL_UP_ANIM = RawAnimation.begin().thenPlay("wheel_mode"); + private static final RawAnimation ROLL_UP_ANIM = RawAnimation.begin().thenPlayAndHold("wheel_mode"); private static final RawAnimation ROLLING_ANIM = RawAnimation.begin().thenLoop("roll"); private static final RawAnimation UNROLL_ANIM = RawAnimation.begin().thenPlay("normal_mode"); - private static final int ANIM_IDLE = 0; - private static final int ANIM_WALK = 1; + // ANIMATION_STATE only syncs the roll transitions; idle/walk/rolling are derived client-side + private static final int ANIM_NONE = 0; private static final int ANIM_ROLL_UP = 2; - private static final int ANIM_ROLLING = 3; private static final int ANIM_UNROLL = 4; // wheel_mode is 0.75s, normal_mode is ~0.42s @@ -65,8 +68,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { private static final EntityDataAccessor ANIMATION_STATE = SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.INT); - private static final EntityDataAccessor SADDLED = - SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor ROLLED = SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); @@ -91,8 +92,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); - builder.define(ANIMATION_STATE, ANIM_IDLE); - builder.define(SADDLED, false); + builder.define(ANIMATION_STATE, ANIM_NONE); builder.define(ROLLED, false); } @@ -106,20 +106,21 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isTame() && super.canUse(); } }); - this.goalSelector.addGoal(2, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { + this.goalSelector.addGoal(2, new SnuggleOnBedGoal()); + this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { @Override public boolean canUse() { return !RollyPollyEntity.this.isRolled() && super.canUse(); } }); - this.goalSelector.addGoal(3, new WaterAvoidingRandomStrollGoal(this, 1.0D) { + this.goalSelector.addGoal(4, new WaterAvoidingRandomStrollGoal(this, 1.0D) { @Override public boolean canUse() { return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isVehicle() && super.canUse(); } }); - this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 8.0F)); - this.goalSelector.addGoal(5, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); } @Override @@ -154,33 +155,11 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return InteractionResult.sidedSuccess(this.level().isClientSide); } - if (this.isTame()) { - if (!this.hasSaddle() && stack.is(Items.SADDLE) && this.isOwnedBy(player)) { - if (!this.level().isClientSide) { - this.setSaddled(true); - if (!player.getAbilities().instabuild) { - stack.shrink(1); - } - this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 1.2F); - } - return InteractionResult.sidedSuccess(this.level().isClientSide); - } - - if (this.hasSaddle() && stack.isEmpty() && player.isShiftKeyDown() && this.isOwnedBy(player) && !player.isPassengerOfSameVehicle(this)) { - if (!this.level().isClientSide) { - this.setSaddled(false); - this.spawnAtLocation(new ItemStack(Items.SADDLE)); - this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 0.9F); - } - return InteractionResult.sidedSuccess(this.level().isClientSide); - } - - if (this.hasSaddle() && stack.isEmpty() && !player.isPassengerOfSameVehicle(this)) { - if (!this.level().isClientSide) { - player.startRiding(this); - } - return InteractionResult.sidedSuccess(this.level().isClientSide); + if (this.isTame() && stack.isEmpty() && !player.isShiftKeyDown() && !player.isPassengerOfSameVehicle(this)) { + if (!this.level().isClientSide) { + player.startRiding(this); } + return InteractionResult.sidedSuccess(this.level().isClientSide); } return super.mobInteract(player, hand); @@ -192,14 +171,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return null; } - public boolean hasSaddle() { - return this.entityData.get(SADDLED); - } - - public void setSaddled(boolean saddled) { - this.entityData.set(SADDLED, saddled); - } - public boolean isRolled() { return this.entityData.get(ROLLED); } @@ -210,7 +181,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { /** Toggles wheel mode; called from the ridden-roll keybind payload. */ public void handleRollToggle(ServerPlayer player) { - if (!this.isTame() || !this.hasSaddle() || this.getControllingPassenger() != player) { + if (!this.isTame() || this.getControllingPassenger() != player) { return; } if (this.rollTransitionTicks > 0) { @@ -273,10 +244,8 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { if (this.unrolling) { this.setRolled(false); this.unrolling = false; - this.setAnimationState(ANIM_IDLE); - } else { - this.setAnimationState(ANIM_ROLLING); } + this.setAnimationState(ANIM_NONE); } } @@ -289,7 +258,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { } this.tickTumbleDamage(); - this.updateAnimationState(); } private void tickTumbleDamage() { @@ -309,16 +277,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { } } - private void updateAnimationState() { - // Roll states are driven by the transition/tick logic above - int state = this.getAnimationState(); - if (state == ANIM_ROLL_UP || state == ANIM_ROLLING || state == ANIM_UNROLL) { - return; - } - boolean moving = this.getDeltaMovement().horizontalDistanceSqr() > 1.0E-4D; - this.setAnimationState(moving ? ANIM_WALK : ANIM_IDLE); - } - private int getAnimationState() { return this.entityData.get(ANIMATION_STATE); } @@ -330,7 +288,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { @Override @Nullable public LivingEntity getControllingPassenger() { - if (!this.isTame() || !this.hasSaddle()) { + if (!this.isTame()) { return null; } Entity passenger = this.getFirstPassenger(); @@ -353,27 +311,28 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { @Override public void travel(Vec3 travelVector) { - if (!(this.getControllingPassenger() instanceof Player rider) || !this.isVehicle()) { - if (this.defensiveCurlTicks > 0) { - super.travel(Vec3.ZERO); - return; - } - super.travel(travelVector); - return; - } - - if (this.rollTransitionTicks > 0) { - // Hold still while rolling up / unrolling + if (this.defensiveCurlTicks > 0 && !this.isVehicle()) { super.travel(Vec3.ZERO); return; } + super.travel(travelVector); + } - this.setYRot(rider.getYHeadRot()); - this.yBodyRot = this.getYRot(); - this.yHeadRot = this.getYRot(); + @Override + protected void tickRidden(Player player, Vec3 travelVector) { + super.tickRidden(player, travelVector); + this.setRot(player.getYHeadRot(), player.getXRot() * 0.5F); + this.yRotO = this.yBodyRot = this.yHeadRot = this.getYRot(); + } - float forward = rider.zza; - float strafe = rider.xxa * 0.5F; + @Override + protected Vec3 getRiddenInput(Player player, Vec3 travelVector) { + if (this.rollTransitionTicks > 0) { + // Hold still while rolling up / unrolling + return Vec3.ZERO; + } + float forward = player.zza; + float strafe = player.xxa * 0.5F; if (forward < 0.0F) { forward *= 0.4F; } @@ -381,16 +340,13 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { // Rolling is fast but drifty strafe *= 0.35F; } + return new Vec3(strafe, 0.0D, forward); + } - double speed = this.getAttributeValue(Attributes.MOVEMENT_SPEED) - * (this.isRolled() ? AntarchySettings.rollyPollyRollSpeedMultiplier() : 1.0D); - this.setSpeed((float) speed); - - Vec3 input = new Vec3(strafe, 0.0D, forward); - Vec3 motion = new Vec3(0.0D, this.getDeltaMovement().y, 0.0D); - this.moveRelative(this.getSpeed(), input); - this.setDeltaMovement(motion.add(this.getDeltaMovement().x, 0.0D, this.getDeltaMovement().z)); - this.move(MoverType.SELF, this.getDeltaMovement()); + @Override + protected float getRiddenSpeed(Player player) { + return (float) (this.getAttributeValue(Attributes.MOVEMENT_SPEED) + * (this.isRolled() ? AntarchySettings.rollyPollyRollSpeedMultiplier() : 1.0D)); } @Override @@ -401,44 +357,128 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return super.causeFallDamage(fallDistance, multiplier, damageSource); } - @Override - protected void dropEquipment() { - super.dropEquipment(); - if (this.hasSaddle()) { - this.spawnAtLocation(new ItemStack(Items.SADDLE)); - this.setSaddled(false); - } - } - - @Override - public void addAdditionalSaveData(CompoundTag tag) { - super.addAdditionalSaveData(tag); - tag.putBoolean("Saddled", this.hasSaddle()); - } - - @Override - public void readAdditionalSaveData(CompoundTag tag) { - super.readAdditionalSaveData(tag); - this.setSaddled(tag.getBoolean("Saddled")); - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { controllers.add(new AnimationController<>(this, "main_controller", 2, this::mainAnimController)); } private PlayState mainAnimController(AnimationState state) { - return switch (this.getAnimationState()) { - case ANIM_WALK -> state.setAndContinue(WALK_ANIM); - case ANIM_ROLL_UP -> state.setAndContinue(ROLL_UP_ANIM); - case ANIM_ROLLING -> state.setAndContinue(ROLLING_ANIM); - case ANIM_UNROLL -> state.setAndContinue(UNROLL_ANIM); - default -> state.setAndContinue(IDLE_ANIM); - }; + AnimationController controller = state.getController(); + int transition = this.getAnimationState(); + + if (transition == ANIM_ROLL_UP) { + controller.setAnimationSpeed(1.0D); + return state.setAndContinue(ROLL_UP_ANIM); + } + if (transition == ANIM_UNROLL) { + controller.setAnimationSpeed(1.0D); + return state.setAndContinue(UNROLL_ANIM); + } + + if (this.isRolled()) { + if (state.isMoving()) { + controller.setAnimationSpeed(1.0D); + return state.setAndContinue(ROLLING_ANIM); + } + if (controller.getCurrentAnimation() == null) { + // Just loaded in while rolled — snap into the held ball pose + controller.setAnimationSpeed(1.0D); + return state.setAndContinue(ROLL_UP_ANIM); + } + // Stationary while rolled: freeze on the current ball frame instead of spinning in place + controller.setAnimationSpeed(0.0D); + return PlayState.CONTINUE; + } + + controller.setAnimationSpeed(1.0D); + return state.setAndContinue(state.isMoving() ? WALK_ANIM : IDLE_ANIM); } @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.geoCache; } + + /** Like a cat, a tamed rolly polly wanders over and curls up on the bed while its owner sleeps. */ + private class SnuggleOnBedGoal extends Goal { + @Nullable + private Player ownerPlayer; + @Nullable + private BlockPos bedPos; + private int onBedTicks; + + SnuggleOnBedGoal() { + this.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK, Goal.Flag.JUMP)); + } + + @Override + public boolean canUse() { + if (!RollyPollyEntity.this.isTame() || RollyPollyEntity.this.isVehicle()) { + return false; + } + if (!(RollyPollyEntity.this.getOwner() instanceof Player player) || !player.isSleeping()) { + return false; + } + if (RollyPollyEntity.this.distanceToSqr(player) > 100.0D) { + return false; + } + BlockPos pos = player.blockPosition(); + BlockState stateAt = RollyPollyEntity.this.level().getBlockState(pos); + if (!stateAt.is(BlockTags.BEDS)) { + return false; + } + this.ownerPlayer = player; + // Aim for the pillow end of the bed, next to the sleeper's head + this.bedPos = stateAt.getOptionalValue(BedBlock.FACING) + .map(direction -> pos.relative(direction.getOpposite())) + .orElse(pos); + return true; + } + + @Override + public boolean canContinueToUse() { + return RollyPollyEntity.this.isTame() + && !RollyPollyEntity.this.isVehicle() + && this.ownerPlayer != null + && this.ownerPlayer.isSleeping() + && this.bedPos != null; + } + + @Override + public void start() { + this.onBedTicks = 0; + } + + @Override + public void stop() { + this.ownerPlayer = null; + this.bedPos = null; + this.onBedTicks = 0; + RollyPollyEntity.this.getNavigation().stop(); + if (RollyPollyEntity.this.isRolled() && RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startUnroll(); + } + } + + @Override + public void tick() { + if (this.ownerPlayer == null || this.bedPos == null) { + return; + } + if (RollyPollyEntity.this.distanceToSqr(this.ownerPlayer) > 2.5D) { + this.onBedTicks = 0; + if (!RollyPollyEntity.this.isRolled()) { + RollyPollyEntity.this.getNavigation().moveTo( + this.bedPos.getX() + 0.5D, this.bedPos.getY() + 1.0D, this.bedPos.getZ() + 0.5D, 1.1D); + } + return; + } + RollyPollyEntity.this.getNavigation().stop(); + if (++this.onBedTicks > this.adjustedTickDelay(16) + && !RollyPollyEntity.this.isRolled() + && RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startRollUp(); + } + } + } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java index a958749d..d6ae046b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java @@ -1,10 +1,17 @@ package com.craisinlord.antarchy.content.worldgen.elythia; +import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.content.block.BigBushBlock; +import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.util.RandomSource; +import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -29,8 +36,8 @@ public class ElythiaFloraFeature extends Feature { RandomSource random = context.random(); BlockPos origin = context.origin(); int attempts = switch (this.variant) { - case FOREST -> 32; - case MEADOW -> 80; + case FOREST -> 240; + case MEADOW -> 110; case TORCHFLOWER_FIELDS -> 60; case BUTTERFLY_FIELDS -> 150; case FLOWER_FOREST_MILKWEED -> 14; @@ -90,6 +97,10 @@ public class ElythiaFloraFeature extends Feature { placedAny |= this.placeMilkweedPatch(level, origin, random, AntarchyObjects.PINK_MILKWEED.get()); } + if (this.variant == Variant.FOREST) { + placedAny |= this.placeBigBushes(level, origin, random, radius); + } + for (int i = 0; i < attempts; i++) { int x = origin.getX() + random.nextInt(radius * 2 + 1) - radius; int z = origin.getZ() + random.nextInt(radius * 2 + 1) - radius; @@ -121,13 +132,10 @@ public class ElythiaFloraFeature extends Feature { if (roll < 0.58F) { return placeSingle(level, plantPos, Blocks.TORCHFLOWER); } - if (roll < 0.82F) { + if (roll < 0.94F) { return placeSingle(level, plantPos, Blocks.SHORT_GRASS); } - if (roll < 0.94F) { - return placeSingle(level, plantPos, Blocks.FERN); - } - return placeDouble(level, plantPos, Blocks.LARGE_FERN.defaultBlockState()); + return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); } if (this.variant == Variant.BUTTERFLY_FIELDS) { @@ -138,14 +146,8 @@ public class ElythiaFloraFeature extends Feature { if (roll < 0.36F) { return placeDouble(level, plantPos, AntarchyObjects.PINK_MILKWEED.get().defaultBlockState()); } - if (roll < 0.62F) { - return placeSingle(level, plantPos, Blocks.SHORT_GRASS); - } if (roll < 0.84F) { - return placeSingle(level, plantPos, Blocks.FERN); - } - if (roll < 0.94F) { - return placeDouble(level, plantPos, Blocks.LARGE_FERN.defaultBlockState()); + return placeSingle(level, plantPos, Blocks.SHORT_GRASS); } return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); } @@ -168,16 +170,118 @@ public class ElythiaFloraFeature extends Feature { } float roll = random.nextFloat(); - if (roll < 0.46F) { + if (this.variant == Variant.MEADOW) { + if (roll < 0.40F) { + return placeSingle(level, plantPos, Blocks.SHORT_GRASS); + } + if (roll < 0.80F) { + return placeSingle(level, plantPos, veryShortGrass()); + } + if (roll < 0.88F) { + return placeVeryTall(level, plantPos, veryTallGrass()); + } + if (roll < 0.98F) { + return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); + } return placeSingle(level, plantPos, Blocks.SHORT_GRASS); } - if (roll < 0.84F) { + if (roll < 0.24F) { + return placeSingle(level, plantPos, Blocks.SHORT_GRASS); + } + if (roll < 0.60F) { + return placeSingle(level, plantPos, veryShortGrass()); + } + if (roll < 0.74F) { return placeSingle(level, plantPos, Blocks.FERN); } - if (roll < 0.94F) { - return placeDouble(level, plantPos, Blocks.LARGE_FERN.defaultBlockState()); + if (roll < 0.84F) { + return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); } - return this.variant != Variant.FOREST && random.nextFloat() < 0.4F && isValidGround(level, groundPos) && placeSingle(level, plantPos, Blocks.SHORT_GRASS); + if (roll < 0.96F) { + return placeVeryTall(level, plantPos, veryTallGrass()); + } + return placeDouble(level, plantPos, Blocks.LARGE_FERN.defaultBlockState()); + } + + private static Block veryShortGrass() { + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass")); + return block == Blocks.AIR ? Blocks.SHORT_GRASS : block; + } + + private static Block veryTallGrass() { + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass")); + return block == Blocks.AIR ? Blocks.TALL_GRASS : block; + } + + private boolean placeBigBushes(WorldGenLevel level, BlockPos origin, RandomSource random, int radius) { + Block bushBlock = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush")); + if (!(bushBlock instanceof BigBushBlock)) { + return false; + } + + boolean placed = false; + int bushAttempts = 10 + random.nextInt(6); + for (int i = 0; i < bushAttempts; i++) { + int x = origin.getX() + random.nextInt(radius * 2 + 1) - radius; + int z = origin.getZ() + random.nextInt(radius * 2 + 1) - radius; + int y = level.getHeight(Heightmap.Types.WORLD_SURFACE_WG, x, z); + BlockPos plantPos = new BlockPos(x, y, z); + + if (!isValidPlantSpot(level, plantPos, plantPos.below())) { + continue; + } + + float roll = random.nextFloat(); + int age = roll < 0.4F ? 0 : roll < 0.75F ? 1 : 2; + BlockState bushState = bushBlock.defaultBlockState().setValue(BigBushBlock.AGE, age); + if (age > 0) { + bushState = bushState.setValue(BigBushBlock.FACING, Direction.Plane.HORIZONTAL.getRandomDirection(random)); + } + + if (!isFootprintInsideChunk(origin, plantPos, bushState) || !canPlaceBigBush(level, plantPos, bushState)) { + continue; + } + + BigBushBlock.placeBushBlocks(level, plantPos, bushState, 2); + placed = true; + } + return placed; + } + + private static boolean isFootprintInsideChunk(BlockPos featureOrigin, BlockPos bushOrigin, BlockState bushState) { + ChunkPos chunk = new ChunkPos(featureOrigin); + int minX = chunk.getMinBlockX() + 1; + int maxX = chunk.getMaxBlockX() - 1; + int minZ = chunk.getMinBlockZ() + 1; + int maxZ = chunk.getMaxBlockZ() - 1; + if (!isWithin(bushOrigin, minX, maxX, minZ, maxZ)) { + return false; + } + for (BlockPos partPos : BigBushBlock.partPositions(bushState, bushOrigin)) { + if (!isWithin(partPos, minX, maxX, minZ, maxZ)) { + return false; + } + } + return true; + } + + private static boolean isWithin(BlockPos pos, int minX, int maxX, int minZ, int maxZ) { + return pos.getX() >= minX && pos.getX() <= maxX && pos.getZ() >= minZ && pos.getZ() <= maxZ; + } + + private static boolean canPlaceBigBush(WorldGenLevel level, BlockPos originPos, BlockState bushState) { + if (bushState.getValue(BigBushBlock.AGE) == 0) { + return bushState.canSurvive(level, originPos); + } + if (!BigBushBlock.hasFullSupport(bushState, level, originPos)) { + return false; + } + for (BlockPos partPos : BigBushBlock.partPositions(bushState, originPos)) { + if (!isOpenPlantSpot(level, partPos)) { + return false; + } + } + return true; } private static boolean placeSingle(WorldGenLevel level, BlockPos pos, Block block) { @@ -197,6 +301,21 @@ public class ElythiaFloraFeature extends Feature { return true; } + private static boolean placeVeryTall(WorldGenLevel level, BlockPos pos, Block block) { + if (!(block instanceof VeryTallGrassBlock)) { + return placeDouble(level, pos, Blocks.TALL_GRASS.defaultBlockState()); + } + BlockState state = block.defaultBlockState(); + if (!isOpenPlantSpot(level, pos) + || !isOpenPlantSpot(level, pos.above()) + || !isOpenPlantSpot(level, pos.above(2)) + || !state.canSurvive(level, pos)) { + return false; + } + VeryTallGrassBlock.placeAt(level, pos, 2); + return true; + } + private boolean placeTorchflowerPatch(WorldGenLevel level, BlockPos origin, RandomSource random) { BlockPos patchCenter = sampleSurface(level, origin, random, this.variant == Variant.FOREST ? 8 : 12); if (patchCenter == null) { diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java new file mode 100644 index 00000000..72b7b415 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java @@ -0,0 +1,65 @@ +package com.craisinlord.antarchy.mixins; + +import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.BoneMealItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoublePlantBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(BoneMealItem.class) +public abstract class BoneMealItemVeryTallGrassMixin { + @Inject(method = "useOn", at = @At("HEAD"), cancellable = true) + private void antarchy$growVeryTallGrass(UseOnContext context, CallbackInfoReturnable cir) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + BlockState clickedState = level.getBlockState(pos); + if (!clickedState.is(Blocks.TALL_GRASS)) { + return; + } + + BlockPos basePos = clickedState.getValue(DoublePlantBlock.HALF) == DoubleBlockHalf.LOWER ? pos : pos.below(); + BlockState baseState = level.getBlockState(basePos); + BlockState middleState = level.getBlockState(basePos.above()); + if (!baseState.is(Blocks.TALL_GRASS) + || baseState.getValue(DoublePlantBlock.HALF) != DoubleBlockHalf.LOWER + || !middleState.is(Blocks.TALL_GRASS) + || middleState.getValue(DoublePlantBlock.HALF) != DoubleBlockHalf.UPPER) { + return; + } + + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "very_tall_grass")); + if (!(block instanceof VeryTallGrassBlock)) { + return; + } + + BlockState veryTallState = block.defaultBlockState(); + if (!level.getBlockState(basePos.above(2)).canBeReplaced() + || !veryTallState.canSurvive(level, basePos)) { + return; + } + + if (!level.isClientSide) { + VeryTallGrassBlock.placeAt(level, basePos, Block.UPDATE_ALL); + if (context.getPlayer() == null || !context.getPlayer().getAbilities().instabuild) { + ItemStack stack = context.getItemInHand(); + stack.shrink(1); + } + level.levelEvent(1505, basePos, 15); + } + + cir.setReturnValue(InteractionResult.sidedSuccess(level.isClientSide)); + } +} diff --git a/common/src/main/resources/antarchy-common.mixins.json b/common/src/main/resources/antarchy-common.mixins.json index fb56a509..6376b525 100644 --- a/common/src/main/resources/antarchy-common.mixins.json +++ b/common/src/main/resources/antarchy-common.mixins.json @@ -5,6 +5,7 @@ "compatibilityLevel": "JAVA_21", "mixins": [ "AccessorRangedAttribute", + "BoneMealItemVeryTallGrassMixin", "BlockEntityTypeSignMixin", "BloodglassMixin", "DreamFireBlockMixin", @@ -48,10 +49,12 @@ "multipart.EntityMultipartLifecycleMixin" ], "client": [ + "client.BlockRenderDispatcherBigBushMixin", "client.CavarynSkyMixin", "client.ElythiaSkyMixin", "client.ElytraModelAccessor", "client.LightningBoltRendererMixin", + "client.LivingEntityRendererBigBushMixin", "client.MountedVehicleCameraMixin", "client.ParalyzedMouseTurnMixin", "client.ScreenEffectRendererFireVisualMixin", diff --git a/common/src/main/resources/assets/antarchy/animations/easter_bunny.animation.json b/common/src/main/resources/assets/antarchy/animations/easter_bunny.animation.json index 8f3db664..4a29f105 100644 --- a/common/src/main/resources/assets/antarchy/animations/easter_bunny.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/easter_bunny.animation.json @@ -2,7 +2,7 @@ "format_version": "1.8.0", "animations": { "lay": { - "loop": true, + "loop": false, "animation_length": 2, "bones": { "head": { @@ -1192,4 +1192,4 @@ } } } -} \ No newline at end of file +} diff --git a/common/src/main/resources/assets/antarchy/animations/flying_squirrel.animation.json b/common/src/main/resources/assets/antarchy/animations/flying_squirrel.animation.json index c53b013a..bf140a83 100644 --- a/common/src/main/resources/assets/antarchy/animations/flying_squirrel.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/flying_squirrel.animation.json @@ -333,37 +333,57 @@ }, "walking": { "loop": true, - "animation_length": 1, + "animation_length": 0.5, "bones": { - "squirrel": { + "body": { "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + 0, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.0833": { "post": { - "vector": [0, 0.1, 0] + "vector": [ + 0, + 2, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [ + 0, + 2, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 0, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, 0.1, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] + "vector": [ + 0, + 0, + 0 + ] }, "lerp_mode": "catmullrom" } @@ -372,32 +392,272 @@ "left_leg": { "rotation": { "0.0": { + "vector": [ + 0, + 0, + 0 + ] + }, + "0.0833": { + "pre": { + "vector": [ + 40, + -5, + 0 + ] + }, "post": { - "vector": [0, 0, 0] + "vector": [ + 40, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [ + 47.5, + -15, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [ + -20, + -10, + -15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [ + 0, + 0, + 0 + ] + } + }, + "position": { + "0.0": { + "vector": [ + 0, + 0, + 0 + ] + }, + "0.125": { + "pre": { + "vector": [ + 0, + 1, + 1 + ] + }, + "post": { + "vector": [ + 0, + 1, + 1 + ] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [10, 0, 0] + "vector": [ + 0, + 2.5, + -1.22 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [ + 0, + 1, + -0.58 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [ + 0, + 0, + 0 + ] + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [ + -11.39, + 2.41, + 5 + ] + }, + "0.0417": { + "vector": [ + 0, + 0, + 0 + ] + }, + "0.125": { + "pre": { + "vector": [ + 40, + 5, + 0 + ] + }, + "post": { + "vector": [ + 40, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + 47.5, + 15, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + -20, + 10, + 15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [ + -11.39, + 2.41, + 5 + ] + } + }, + "position": { + "0.0": { + "vector": [ + 0, + 0.17, + -0.22 + ] + }, + "0.0417": { + "vector": [ + 0, + 0, + 0 + ] + }, + "0.1667": { + "pre": { + "vector": [ + 0, + 1, + 1 + ] + }, + "post": { + "vector": [ + 0, + 1, + 1 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [ + 0, + 2.5, + -1.22 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 0, + 1, + -0.58 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [ + 0, + 0.17, + -0.22 + ] + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [ + -5, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [ + -10, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [ + 7.5, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] + "vector": [ + -5, + 0, + 0 + ] }, "lerp_mode": "catmullrom" } @@ -405,165 +665,41 @@ "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + 0, + -0.71, + 0 + ] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.0833": { "post": { - "vector": [0, -0.3, 0.3] + "vector": [ + 0, + -1, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [ + 0, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -0.3, -0.3] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "body": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -2.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, 0, 2.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -0.5, -0.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -0.5, 0.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] + "vector": [ + 0, + -0.71, + 0 + ] }, "lerp_mode": "catmullrom" } @@ -573,186 +709,505 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + 10, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.125": { "post": { - "vector": [0, 0, 2.5] + "vector": [ + 7.5, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [ + -7.5, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] + "vector": [ + 10, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [ + 0, + 0, + 37.5 + ] }, "lerp_mode": "catmullrom" }, - "0.75": { + "0.0833": { "post": { - "vector": [0, 0, -2.5] + "vector": [ + 0, + 0, + 55 + ] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.25": { "post": { - "vector": [0, 0, 0] + "vector": [ + 0, + 0, + 7.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 0, + 0, + 7.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 0, + 0, + 17.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 0, + 0, + 37.5 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [ + 0, + 0, + -37.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [ + 0, + 0, + -55 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + 0, + 0, + -7.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 0, + 0, + -7.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 0, + 0, + -17.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 0, + 0, + -37.5 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [ + 5.56, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [ + -10, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 10, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 5.56, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [ + 5, + -5, + 2.5 + ] + }, + "0.0833": { + "pre": { + "vector": [ + 27.73, + -7.5, + 10 + ] + }, + "post": { + "vector": [ + 27.73, + -7.5, + 10 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [ + -80, + -12.5, + 15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + -35, + -7.5, + 10 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + -10, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [ + 5, + -5, + 2.5 + ] + } + }, + "position": { + "0.0": { + "post": { + "vector": [ + 0.5, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [ + 0.86, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [ + 0.8, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 0.55, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 0, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 0.5, + 0, + 0 + ] }, "lerp_mode": "catmullrom" } } }, "left_flying_part": { - "scale": { - "vector": [0, 0, 0] + "rotation": { + "vector": [ + 32.5, + 0, + 0 + ] } }, "right_arm": { "rotation": { "0.0": { + "vector": [ + -2.36, + 1.88, + -0.16 + ] + }, + "0.0417": { + "vector": [ + 5, + 5, + -2.5 + ] + }, + "0.125": { + "pre": { + "vector": [ + 27.73, + 7.5, + -10 + ] + }, "post": { - "vector": [0, 0, 0] + "vector": [ + 27.73, + 7.5, + -10 + ] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [10, 0, 0] + "vector": [ + -80, + 12.5, + -15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [ + -35, + 7.5, + -10 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [ + -10, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [ + -2.36, + 1.88, + -0.16 + ] } }, "position": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + -0.19, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [ + -0.5, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [ + -0.86, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [0, -0.5, 0.5] + "vector": [ + -0.8, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [ + -0.55, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [ + 0, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -0.5, -0.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] + "vector": [ + -0.19, + 0, + 0 + ] }, "lerp_mode": "catmullrom" } } }, "right_flying_part": { - "scale": { - "vector": [0, 0, 0] - } - }, - "right_leg": { "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -0.3, -0.3] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [0, -0.3, 0.3] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_cheeks": { - "scale": { - "vector": [0, 0, 0] - } - }, - "right_cheeks": { - "scale": { - "vector": [0, 0, 0] + "vector": [ + 32.5, + 0, + 0 + ] } } } @@ -761,133 +1216,106 @@ "loop": true, "animation_length": 1, "bones": { - "squirrel": { - "position": { + "body": { + "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + 7.5, + 0, + -2.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + 10, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, -0.1, 0] + "vector": [ + 7.5, + 0, + 2.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + 5, + 0, + 0 + ] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, 0] + "vector": [ + 7.5, + 0, + -2.5 + ] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [ + 0, + 0, + 0 + ] } }, "left_leg": { "rotation": { "0.0": { "post": { - "vector": [0, 0, -90] + "vector": [ + 92.5, + 12.5, + -15 + ] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.25": { "post": { - "vector": [0, 0, -85] + "vector": [ + 85, + 12.5, + -15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + 100, + 12.5, + -15 + ] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, -90] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -90] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -82.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -90] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-3, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-3, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 90] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 82.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 90] + "vector": [ + 92.5, + 12.5, + -15 + ] }, "lerp_mode": "catmullrom" } @@ -897,32 +1325,525 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 90] + "vector": [ + 95.83, + -12.5, + 15 + ] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.0833": { "post": { - "vector": [0, 0, 85] + "vector": [ + 92.5, + -12.5, + 15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 85, + -12.5, + 15 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [ + 100, + -12.5, + 15 + ] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, 90] + "vector": [ + 95.83, + -12.5, + 15 + ] }, "lerp_mode": "catmullrom" } } }, - "right_cheeks": { - "scale": { - "vector": [0, 0, 0] + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [ + -1.84, + 0, + 1.84 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [ + 2.5, + 0, + -2.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [ + -2.5, + 0, + 2.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + -1.84, + 0, + 1.84 + ] + }, + "lerp_mode": "catmullrom" + } } }, - "left_cheeks": { - "scale": { - "vector": [0, 0, 0] + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [ + -79.17, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + -67.5, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [ + -85, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + -79.17, + 0, + 0 + ] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "vector": [ + 0, + 3, + 0 + ] + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [ + -27.5, + 0, + -92.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + -27.5, + 0, + -90 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + -27.5, + 0, + -92.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + -27.5, + 0, + -90 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + -27.5, + 0, + -92.5 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_flying_part": { + "rotation": { + "0.0": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [ + -27.5, + 0, + 92.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + -27.5, + 0, + 90 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + -27.5, + 0, + 92.5 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + -27.5, + 0, + 90 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + -27.5, + 0, + 92.5 + ] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_flying_part": { + "rotation": { + "0.0": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [ + 27.5, + -5, + 0 + ] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [ + 27.5, + 5, + 0 + ] + }, + "lerp_mode": "catmullrom" + } } } } diff --git a/common/src/main/resources/assets/antarchy/blockstates/very_tall_grass.json b/common/src/main/resources/assets/antarchy/blockstates/very_tall_grass.json new file mode 100644 index 00000000..65ddba9e --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/very_tall_grass.json @@ -0,0 +1,7 @@ +{ + "variants": { + "part=lower": { "model": "antarchy:block/very_tall_grass_bottom" }, + "part=middle": { "model": "antarchy:block/very_tall_grass_middle" }, + "part=upper": { "model": "antarchy:block/very_tall_grass_top" } + } +} diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index 44d41ea1..fb9a11cc 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -22,6 +22,10 @@ "block.antarchy.orange_milkweed": "Orange Milkweed", "block.antarchy.pink_milkweed": "Pink Milkweed", "block.antarchy.hushweed": "Hushweed", + "block.antarchy.big_bush": "Big Bush", + "block.antarchy.big_bush_part": "Big Bush", + "block.antarchy.very_short_grass": "Very Short Grass", + "block.antarchy.very_tall_grass": "Very Tall Grass", "block.antarchy.umbral_moss_block": "Umbral Moss Block", "block.antarchy.umbral_moss_carpet": "Umbral Moss Carpet", "block.antarchy.amber_moss_block": "Amber Moss Block", @@ -270,6 +274,10 @@ "item.antarchy.ouranwood_acorn": "Ouranwood Acorn", "item.antarchy.ouranwood_boat": "Ouranwood Boat", "item.antarchy.ouranwood_chest_boat": "Ouranwood Chest Boat", + "item.antarchy.big_bush": "Big Bush", + "item.antarchy.big_bush.tooltip": "Can be bonemealed", + "item.antarchy.very_short_grass": "Very Short Grass", + "item.antarchy.very_tall_grass": "Very Tall Grass", "item.antarchy.orange_milkweed": "Orange Milkweed", "item.antarchy.pink_milkweed": "Pink Milkweed", "item.antarchy.hushweed": "Hushweed", diff --git a/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_bottom.json b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_bottom.json new file mode 100644 index 00000000..c571f76e --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/tinted_cross", + "textures": { + "cross": "antarchy:block/very_tall_grass/very_tall_grass_bottom" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_middle.json b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_middle.json new file mode 100644 index 00000000..5854e53a --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_middle.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/tinted_cross", + "textures": { + "cross": "antarchy:block/very_tall_grass/very_tall_grass_middle" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_top.json b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_top.json new file mode 100644 index 00000000..44d2ee41 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/very_tall_grass_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/tinted_cross", + "textures": { + "cross": "antarchy:block/very_tall_grass/very_tall_grass_top" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/item/very_tall_grass.json b/common/src/main/resources/assets/antarchy/models/item/very_tall_grass.json new file mode 100644 index 00000000..541bc2be --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/very_tall_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:block/very_tall_grass/very_tall_grass_bottom" + } +} diff --git a/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png b/common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png deleted file mode 100644 index 566655bdb205053b2375040309ea7c4e662b37aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4118 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 xWkRm~%iOq=P}-sX TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush", () -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY) .lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0))); + public static final DeferredBlock VERY_SHORT_GRASS = BLOCKS.register("very_short_grass", + () -> new VeryShortGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SHORT_GRASS))); + public static final DeferredBlock VERY_TALL_GRASS = BLOCKS.register("very_tall_grass", + () -> new VeryTallGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TALL_GRASS))); + public static final DeferredBlock BIG_BUSH = BLOCKS.register("big_bush", + () -> new BigBushBlock(BlockBehaviour.Properties.of() + .mapColor(net.minecraft.world.level.material.MapColor.PLANT) + .noCollission() + .instabreak() + .sound(net.minecraft.world.level.block.SoundType.GRASS) + .ignitedByLava() + .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY))); + public static final DeferredBlock BIG_BUSH_PART = BLOCKS.register("big_bush_part", + () -> new BigBushPartBlock(BlockBehaviour.Properties.of() + .mapColor(net.minecraft.world.level.material.MapColor.PLANT) + .noCollission() + .instabreak() + .sound(net.minecraft.world.level.block.SoundType.GRASS) + .ignitedByLava() + .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY) + .noLootTable())); public static final DeferredBlock OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign", () -> new net.minecraft.world.level.block.StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN))); public static final DeferredBlock OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign", @@ -1171,6 +1192,10 @@ public final class AntarchyFabricContent { public static final DeferredItem OURANWOOD_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_BUTTON); public static final DeferredItem OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_LEAVES); public static final DeferredItem OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(OURANWOOD_ACORN_BLOCK); + public static final DeferredItem VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_SHORT_GRASS); + public static final DeferredItem VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_TALL_GRASS); + public static final DeferredItem BIG_BUSH_ITEM = ITEMS.register("big_bush", + () -> new com.craisinlord.antarchy.content.item.BigBushBlockItem(BIG_BUSH.get(), new Item.Properties())); public static final DeferredItem ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(ORANGE_MILKWEED); public static final DeferredItem PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(PINK_MILKWEED); public static final DeferredItem TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(TORCHFLOWER_BUSH); @@ -2080,7 +2105,7 @@ public final class AntarchyFabricContent { "smooth_dream_sandstone_stairs", "smooth_dream_sandstone_slab", "cut_dream_sandstone_slab" -> 4; case "umbral_moss_block", "umbral_moss_carpet" -> 4; - case "torchflower_bush", "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6; + case "torchflower_bush", "big_bush", "very_short_grass", "very_tall_grass", "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6; case "blood_crystal_block", "budding_blood_crystal", "small_blood_crystal_bud", "medium_blood_crystal_bud", "large_blood_crystal_bud", "blood_crystal_cluster" -> 7; diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index 3a8d22b4..ce72a88e 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -132,7 +132,22 @@ public final class AntarchyFabricClientBootstrap { AntarchyFabricContent.OURANWOOD_LEAVES.get() ); ColorProviderRegistry.BLOCK.register((state, level, pos, tintIndex) -> 0xFF4A0000, AntarchyFabricContent.ANTIWATER_BLOCK.get()); + ColorProviderRegistry.BLOCK.register( + (state, level, pos, tintIndex) -> level != null && pos != null + ? BiomeColors.getAverageGrassColor(level, pos) + : net.minecraft.world.level.GrassColor.getDefaultColor(), + AntarchyFabricContent.BIG_BUSH.get(), + AntarchyFabricContent.BIG_BUSH_PART.get(), + AntarchyFabricContent.VERY_SHORT_GRASS.get(), + AntarchyFabricContent.VERY_TALL_GRASS.get() + ); ColorProviderRegistry.ITEM.register((stack, tintIndex) -> FoliageColor.getDefaultColor(), AntarchyFabricContent.OURANWOOD_LEAVES_ITEM.get()); + ColorProviderRegistry.ITEM.register( + (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor(), + AntarchyFabricContent.BIG_BUSH_ITEM.get(), + AntarchyFabricContent.VERY_SHORT_GRASS_ITEM.get(), + AntarchyFabricContent.VERY_TALL_GRASS_ITEM.get() + ); } private static void registerFluids() { @@ -212,6 +227,10 @@ public final class AntarchyFabricClientBootstrap { BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ORANGE_MILKWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.PINK_MILKWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TORCHFLOWER_BUSH.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH_PART.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_SHORT_GRASS.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_TALL_GRASS.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.HUSHWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CORNEA_STALK.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.FALLEN_KING_CROWN_BLOCK.get(), RenderType.cutout()); @@ -345,6 +364,7 @@ public final class AntarchyFabricClientBootstrap { MogglesClientRenderer.register(); StinkySoundHandler.register(); ReverieTrailHandler.register(); + ClientTickEvents.END_CLIENT_TICK.register(com.craisinlord.antarchy.content.client.BigBushCameraHider::update); HudRenderCallback.EVENT.register((guiGraphics, partialTick) -> { DreadHudRenderer.render(guiGraphics); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index 16926e00..cfa2c872 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -198,6 +198,15 @@ public final class AntarchyNeoForgeClient { (state, level, pos, tintIndex) -> 0xFF4A0000, AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get() ); + event.register( + (state, level, pos, tintIndex) -> level != null && pos != null + ? BiomeColors.getAverageGrassColor(level, pos) + : net.minecraft.world.level.GrassColor.getDefaultColor(), + AntarchyNeoforgeBlocks.BIG_BUSH.get(), + AntarchyNeoforgeBlocks.BIG_BUSH_PART.get(), + AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get(), + AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get() + ); } @SubscribeEvent @@ -206,6 +215,12 @@ public final class AntarchyNeoForgeClient { (stack, tintIndex) -> FoliageColor.getDefaultColor(), AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get() ); + event.register( + (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor(), + AntarchyNeoforgeItems.BIG_BUSH_ITEM.get(), + AntarchyNeoforgeItems.VERY_SHORT_GRASS_ITEM.get(), + AntarchyNeoforgeItems.VERY_TALL_GRASS_ITEM.get() + ); event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ICHOR_BUCKET.get()); event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ANTIWATER_BUCKET.get()); } @@ -422,6 +437,10 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.BIG_BUSH.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.BIG_BUSH_PART.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.HUSHWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORNEA_STALK.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java index dc087556..e35c1613 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java @@ -81,6 +81,27 @@ public final class AntarchyNeoforgeBlocks { public static final DeferredBlock TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush", () -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY) .lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0))); + public static final DeferredBlock VERY_SHORT_GRASS = BLOCKS.register("very_short_grass", + () -> new VeryShortGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SHORT_GRASS))); + public static final DeferredBlock VERY_TALL_GRASS = BLOCKS.register("very_tall_grass", + () -> new VeryTallGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TALL_GRASS))); + public static final DeferredBlock BIG_BUSH = BLOCKS.register("big_bush", + () -> new BigBushBlock(BlockBehaviour.Properties.of() + .mapColor(net.minecraft.world.level.material.MapColor.PLANT) + .noCollission() + .instabreak() + .sound(SoundType.GRASS) + .ignitedByLava() + .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY))); + public static final DeferredBlock BIG_BUSH_PART = BLOCKS.register("big_bush_part", + () -> new BigBushPartBlock(BlockBehaviour.Properties.of() + .mapColor(net.minecraft.world.level.material.MapColor.PLANT) + .noCollission() + .instabreak() + .sound(SoundType.GRASS) + .ignitedByLava() + .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY) + .noLootTable())); public static final DeferredBlock OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign", () -> new StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN))); public static final DeferredBlock OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index dff98240..c8d8e664 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -96,6 +96,8 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.ORANGE_MILKWEED_ITEM.get()); event.accept(AntarchyNeoforgeItems.PINK_MILKWEED_ITEM.get()); event.accept(AntarchyNeoforgeItems.TORCHFLOWER_BUSH_ITEM.get()); + event.accept(AntarchyNeoforgeItems.BIG_BUSH_ITEM.get()); + event.accept(AntarchyNeoforgeItems.VERY_SHORT_GRASS_ITEM.get()); event.accept(AntarchyNeoforgeItems.HUSHWEED_ITEM.get()); event.accept(AntarchyNeoforgeItems.AMBER_LICHEN_ITEM.get()); event.accept(AntarchyNeoforgeItems.CREEPVINE_ITEM.get()); @@ -393,7 +395,7 @@ public class AntarchyNeoforgeCreativeModeTabs { case "duplicator_sapling", "ouranwood_acorn" -> 10; // 11 - Plants and flowers - case "orange_milkweed", "pink_milkweed", "torchflower_bush", "hushweed", "amber_lichen", "bile_vein", "creepvine", + case "orange_milkweed", "pink_milkweed", "torchflower_bush", "big_bush", "very_short_grass", "very_tall_grass", "hushweed", "amber_lichen", "bile_vein", "creepvine", "triffid_goo_block", "wasp_nest", "red_ant_nest", "brown_ant_nest", "rainbow_ant_nest", "termite_nest" -> 11; diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index 3c3043a2..ec229b03 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -161,6 +161,10 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ORANGE_MILKWEED); public static final DeferredItem PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PINK_MILKWEED); public static final DeferredItem TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH); + public static final DeferredItem VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS); + public static final DeferredItem VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.VERY_TALL_GRASS); + public static final DeferredItem BIG_BUSH_ITEM = ITEMS.register("big_bush", + () -> new com.craisinlord.antarchy.content.item.BigBushBlockItem(AntarchyNeoforgeBlocks.BIG_BUSH.get(), new Item.Properties())); public static final DeferredItem OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign", () -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyNeoforgeBlocks.OURANWOOD_SIGN.get(), AntarchyNeoforgeBlocks.OURANWOOD_WALL_SIGN.get())); public static final DeferredItem OURANWOOD_HANGING_SIGN_ITEM = ITEMS.register("ouranwood_hanging_sign", From 60405560c2baeeb3d33dbe0309afe5d9852ff8bd Mon Sep 17 00:00:00 2001 From: craisinlord Date: Tue, 7 Jul 2026 01:22:10 -0500 Subject: [PATCH 08/13] VERY TALL AND SHORT AND BIG also made rainbow ant rare in elythia sniffer died fyling squireal anim overhual --- .../antarchy/content/block/BigBushBlock.java | 255 ++++++++++++++++++ .../content/block/BigBushPartBlock.java | 132 +++++++++ .../content/block/VeryShortGrassBlock.java | 52 ++++ .../content/client/BigBushCameraHider.java | 56 ++++ .../content/client/BigBushRenderHelper.java | 26 ++ .../content/item/BigBushBlockItem.java | 23 ++ .../BlockRenderDispatcherBigBushMixin.java | 25 ++ .../LivingEntityRendererBigBushMixin.java | 54 ++++ .../assets/antarchy/blockstates/big_bush.json | 16 ++ .../antarchy/blockstates/big_bush_part.json | 6 + .../blockstates/very_short_grass.json | 5 + .../antarchy/models/block/big_bush_part.json | 5 + .../models/block/big_bush_stage1.json | 6 + .../models/block/big_bush_stage2.json | 29 ++ .../models/block/big_bush_stage3_bottom.json | 29 ++ .../models/block/big_bush_stage3_top.json | 29 ++ .../models/block/very_short_grass.json | 6 + .../assets/antarchy/models/item/big_bush.json | 6 + .../models/item/very_short_grass.json | 6 + .../block/big_bush/big_bush_stage1.png | Bin 0 -> 524 bytes .../block/big_bush/big_bush_stage2.png | Bin 0 -> 1135 bytes .../block/big_bush/big_bush_stage3.png | Bin 0 -> 2486 bytes .../textures/block/very_short_grass.png | Bin 0 -> 263 bytes .../very_tall_grass_bottom.png | Bin 0 -> 407 bytes .../very_tall_grass_middle.png | Bin 0 -> 380 bytes .../very_tall_grass/very_tall_grass_top.png | Bin 0 -> 329 bytes .../antarchy/loot_table/blocks/big_bush.json | 66 +++++ .../loot_table/blocks/very_short_grass.json | 49 ++++ .../minecraft/tags/block/sword_efficient.json | 8 + .../neoforge/client/BigBushHideHandler.java | 20 ++ 30 files changed, 909 insertions(+) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/VeryShortGrassBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java create mode 100644 common/src/main/resources/assets/antarchy/blockstates/big_bush.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/big_bush_part.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/very_short_grass.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/big_bush_part.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/big_bush_stage1.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/big_bush_stage2.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_bottom.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_top.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/very_short_grass.json create mode 100644 common/src/main/resources/assets/antarchy/models/item/big_bush.json create mode 100644 common/src/main/resources/assets/antarchy/models/item/very_short_grass.json create mode 100644 common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage1.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage2.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage3.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/very_short_grass.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/very_tall_grass/very_tall_grass_bottom.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/very_tall_grass/very_tall_grass_middle.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/very_tall_grass/very_tall_grass_top.png create mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/big_bush.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/very_short_grass.json create mode 100644 common/src/main/resources/data/minecraft/tags/block/sword_efficient.json create mode 100644 neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java new file mode 100644 index 00000000..a2ce8ee8 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java @@ -0,0 +1,255 @@ +package com.craisinlord.antarchy.content.block; + +import com.craisinlord.antarchy.Antarchy; +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.BonemealableBlock; +import net.minecraft.world.level.block.BushBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.DirectionProperty; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Multiblock bush grown with bonemeal. The origin block (this one) carries the + * loot/age; the rest of the footprint is filled with invisible + * {@link BigBushPartBlock}s. + * + * age 0: single block (1x1x1) + * age 1: 2x2x2 footprint; FACING + FACING.getClockWise() pick the horizontal quadrant + * age 2: 3x3x3 footprint centered on the origin column + * + * Grown stages require a sturdy support block under every column of their + * footprint. Growing from 2x2 to 3x3 may relocate the origin to any of the four + * occupied columns to find room. + */ +public class BigBushBlock extends BushBlock implements BonemealableBlock { + public static final MapCodec CODEC = Block.simpleCodec(BigBushBlock::new); + + public static final IntegerProperty AGE = BlockStateProperties.AGE_2; + public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; + + private static final VoxelShape SMALL_SHAPE = Block.box(2.0, 0.0, 2.0, 14.0, 13.0, 14.0); + + public BigBushBlock(BlockBehaviour.Properties properties) { + super(properties); + this.registerDefaultState(this.stateDefinition.any() + .setValue(AGE, 0) + .setValue(FACING, Direction.EAST)); + } + + @Override + public MapCodec codec() { + return CODEC; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(AGE, FACING); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return state.getValue(AGE) == 0 ? SMALL_SHAPE : Shapes.block(); + } + + /** All part positions belonging to a bush with the given origin state/pos (origin itself excluded). */ + public static List partPositions(BlockState state, BlockPos origin) { + List positions = new ArrayList<>(); + int age = state.getValue(AGE); + if (age == 1) { + Direction forward = state.getValue(FACING); + Direction side = forward.getClockWise(); + for (int dy = 0; dy <= 1; dy++) { + for (BlockPos column : new BlockPos[]{ + origin, origin.relative(forward), origin.relative(side), origin.relative(forward).relative(side)}) { + BlockPos pos = column.above(dy); + if (!pos.equals(origin)) { + positions.add(pos); + } + } + } + } else if (age == 2) { + for (int dx = -1; dx <= 1; dx++) { + for (int dy = 0; dy <= 2; dy++) { + for (int dz = -1; dz <= 1; dz++) { + if (dx == 0 && dy == 0 && dz == 0) { + continue; + } + positions.add(origin.offset(dx, dy, dz)); + } + } + } + } + return positions; + } + + /** Ground-level columns of the footprint; each needs a sturdy block below it. */ + public static List supportColumns(BlockState state, BlockPos origin) { + List columns = new ArrayList<>(); + int age = state.getValue(AGE); + if (age == 1) { + Direction forward = state.getValue(FACING); + Direction side = forward.getClockWise(); + columns.add(origin); + columns.add(origin.relative(forward)); + columns.add(origin.relative(side)); + columns.add(origin.relative(forward).relative(side)); + } else if (age == 2) { + for (int dx = -1; dx <= 1; dx++) { + for (int dz = -1; dz <= 1; dz++) { + columns.add(origin.offset(dx, 0, dz)); + } + } + } else { + columns.add(origin); + } + return columns; + } + + public static boolean hasFullSupport(BlockState state, LevelReader level, BlockPos origin) { + for (BlockPos column : supportColumns(state, origin)) { + BlockPos below = column.below(); + if (!level.getBlockState(below).isFaceSturdy(level, below, Direction.UP)) { + return false; + } + } + return true; + } + + @Override + protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) { + if (state.getValue(AGE) == 0) { + return super.canSurvive(state, level, pos); + } + return hasFullSupport(state, level, pos); + } + + private static Block partBlock() { + return BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_part")); + } + + private record GrowthTarget(BlockPos origin, BlockState state) {} + + @Nullable + private GrowthTarget findGrowthTarget(LevelReader level, BlockPos pos, BlockState state, RandomSource random) { + int age = state.getValue(AGE); + if (age == 0) { + List facings = new ArrayList<>(Direction.Plane.HORIZONTAL.stream().toList()); + for (int i = facings.size() - 1; i > 0; i--) { + Direction swap = facings.set(random.nextInt(i + 1), facings.get(i)); + facings.set(i, swap); + } + for (Direction facing : facings) { + BlockState grown = state.setValue(AGE, 1).setValue(FACING, facing); + if (canGrowTo(level, pos, grown, Set.of(pos))) { + return new GrowthTarget(pos, grown); + } + } + return null; + } + if (age == 1) { + Direction forward = state.getValue(FACING); + Direction side = forward.getClockWise(); + Set owned = new HashSet<>(partPositions(state, pos)); + owned.add(pos); + BlockState grown = state.setValue(AGE, 2); + // Any of the four occupied columns can become the new center of the 3x3. + for (BlockPos candidate : new BlockPos[]{ + pos, pos.relative(forward).relative(side), pos.relative(forward), pos.relative(side)}) { + if (canGrowTo(level, candidate, grown, owned)) { + return new GrowthTarget(candidate, grown); + } + } + } + return null; + } + + private boolean canGrowTo(LevelReader level, BlockPos newOrigin, BlockState grownState, Set owned) { + if (!hasFullSupport(grownState, level, newOrigin)) { + return false; + } + List positions = new ArrayList<>(partPositions(grownState, newOrigin)); + positions.add(newOrigin); + for (BlockPos pos : positions) { + if (owned.contains(pos)) { + continue; + } + if (!level.getBlockState(pos).canBeReplaced()) { + return false; + } + } + return true; + } + + public static void placeBushBlocks(LevelAccessor level, BlockPos origin, BlockState grownState, int flags) { + level.setBlock(origin, grownState, flags); + Block part = partBlock(); + BlockPos capPos = grownState.getValue(AGE) == 2 ? origin.above(2) : null; + for (BlockPos pos : partPositions(grownState, origin)) { + level.setBlock(pos, part.defaultBlockState() + .setValue(BigBushPartBlock.CAP, pos.equals(capPos)), flags); + } + } + + private void placeStage(ServerLevel level, BlockPos origin, BlockState grownState) { + placeBushBlocks(level, origin, grownState, 3); + } + + @Override + protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) { + if (!state.is(newState.getBlock())) { + for (BlockPos partPos : partPositions(state, pos)) { + if (level.getBlockState(partPos).getBlock() instanceof BigBushPartBlock) { + level.setBlock(partPos, Blocks.AIR.defaultBlockState(), 35); + } + } + } + super.onRemove(state, level, pos, newState, movedByPiston); + } + + @Override + public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) { + return state.getValue(AGE) < 2; + } + + @Override + public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) { + return findGrowthTarget(level, pos, state, random) != null; + } + + @Override + public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) { + GrowthTarget target = findGrowthTarget(level, pos, state, random); + if (target == null) { + return; + } + if (!target.origin().equals(pos)) { + // Relocating the origin: removing it cascades and clears the old parts. + level.removeBlock(pos, false); + } + placeStage(level, target.origin(), target.state()); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java new file mode 100644 index 00000000..51ea6e3b --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java @@ -0,0 +1,132 @@ +package com.craisinlord.antarchy.content.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.Nullable; + +/** + * Invisible filler block for the grown {@link BigBushBlock} footprint. Breaking a + * part destroys the whole bush (drops come from the origin's loot table). The one + * part directly two above the origin of a stage-3 bush renders the top slice of + * the oversized cross model (CAP=true). + */ +public class BigBushPartBlock extends Block { + public static final MapCodec CODEC = Block.simpleCodec(BigBushPartBlock::new); + + public static final BooleanProperty CAP = BooleanProperty.create("cap"); + + public BigBushPartBlock(BlockBehaviour.Properties properties) { + super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(CAP, false)); + } + + @Override + public MapCodec codec() { + return CODEC; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(CAP); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return Shapes.block(); + } + + /** Finds the origin bush this part belongs to, or null if orphaned. */ + @Nullable + public static BlockPos findOrigin(LevelReader level, BlockPos partPos) { + for (int dx = -1; dx <= 1; dx++) { + for (int dy = -2; dy <= 0; dy++) { + for (int dz = -1; dz <= 1; dz++) { + if (dx == 0 && dy == 0 && dz == 0) { + continue; + } + BlockPos candidate = partPos.offset(dx, dy, dz); + BlockState state = level.getBlockState(candidate); + if (state.getBlock() instanceof BigBushBlock + && BigBushBlock.partPositions(state, candidate).contains(partPos)) { + return candidate; + } + } + } + } + return null; + } + + @Override + public BlockState playerWillDestroy(Level level, BlockPos pos, BlockState state, Player player) { + if (!level.isClientSide) { + BlockPos origin = findOrigin(level, pos); + if (origin != null) { + BlockState originState = level.getBlockState(origin); + if (!player.getAbilities().instabuild) { + Block.dropResources(originState, level, origin, null, player, player.getMainHandItem()); + } + level.destroyBlock(origin, false); + } + } + return super.playerWillDestroy(level, pos, state, player); + } + + @Override + protected void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean movedByPiston) { + if (!state.is(newState.getBlock()) && !level.isClientSide) { + BlockPos origin = findOrigin(level, pos); + if (origin != null) { + level.destroyBlock(origin, true); + } + } + super.onRemove(state, level, pos, newState, movedByPiston); + } + + @Override + protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, + LevelAccessor level, BlockPos pos, BlockPos neighborPos) { + level.scheduleTick(pos, this, 1); + return super.updateShape(state, direction, neighborState, level, pos, neighborPos); + } + + @Override + protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) { + BlockPos origin = findOrigin(level, pos); + if (origin == null) { + level.removeBlock(pos, false); + return; + } + // Grown bushes need sturdy support under the whole footprint; break with + // drops if any of it is gone (mirrors plants popping when their dirt breaks). + BlockState originState = level.getBlockState(origin); + if (!originState.canSurvive(level, origin)) { + level.destroyBlock(origin, true); + } + } + + @Override + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { + BlockPos origin = findOrigin(level, pos); + if (origin != null) { + return new ItemStack(level.getBlockState(origin).getBlock()); + } + return ItemStack.EMPTY; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/VeryShortGrassBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/VeryShortGrassBlock.java new file mode 100644 index 00000000..eca0a8e4 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/VeryShortGrassBlock.java @@ -0,0 +1,52 @@ +package com.craisinlord.antarchy.content.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.BonemealableBlock; +import net.minecraft.world.level.block.BushBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class VeryShortGrassBlock extends BushBlock implements BonemealableBlock { + public static final MapCodec CODEC = Block.simpleCodec(VeryShortGrassBlock::new); + + private static final VoxelShape SHAPE = Block.box(2.0, 0.0, 2.0, 14.0, 8.0, 14.0); + + public VeryShortGrassBlock(BlockBehaviour.Properties properties) { + super(properties); + } + + @Override + public MapCodec codec() { + return CODEC; + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return SHAPE; + } + + @Override + public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) { + return true; + } + + @Override + public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) { + return true; + } + + @Override + public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) { + level.setBlock(pos, Blocks.SHORT_GRASS.defaultBlockState(), 3); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java new file mode 100644 index 00000000..b91991b9 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java @@ -0,0 +1,56 @@ +package com.craisinlord.antarchy.content.client; + +import com.craisinlord.antarchy.content.block.BigBushBlock; +import com.craisinlord.antarchy.content.block.BigBushPartBlock; +import net.minecraft.client.Minecraft; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; + +import java.util.Objects; + +public final class BigBushCameraHider { + private static BlockPos hiddenOrigin; + + private BigBushCameraHider() { + } + + public static void update(Minecraft mc) { + BlockPos newOrigin = null; + if (mc.level != null && mc.player != null) { + Vec3 cameraPos = mc.gameRenderer.getMainCamera().getPosition(); + BlockPos pos = BlockPos.containing(cameraPos); + BlockState state = mc.level.getBlockState(pos); + if (state.getBlock() instanceof BigBushBlock && state.getValue(BigBushBlock.AGE) > 0) { + newOrigin = pos; + } else if (state.getBlock() instanceof BigBushPartBlock) { + newOrigin = BigBushPartBlock.findOrigin(mc.level, pos); + } + } + if (!Objects.equals(newOrigin, hiddenOrigin)) { + BlockPos previous = hiddenOrigin; + hiddenOrigin = newOrigin; + markDirty(mc, previous); + markDirty(mc, newOrigin); + } + } + + private static void markDirty(Minecraft mc, BlockPos origin) { + if (origin != null && mc.levelRenderer != null) { + mc.levelRenderer.setBlocksDirty( + origin.getX() - 2, origin.getY() - 1, origin.getZ() - 2, + origin.getX() + 2, origin.getY() + 3, origin.getZ() + 2); + } + } + + public static boolean shouldFade(BlockPos pos) { + BlockPos origin = hiddenOrigin; + if (origin == null) { + return false; + } + return Math.abs(pos.getX() - origin.getX()) <= 1 + && Math.abs(pos.getZ() - origin.getZ()) <= 1 + && pos.getY() >= origin.getY() + && pos.getY() <= origin.getY() + 2; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java new file mode 100644 index 00000000..8a7f1aca --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java @@ -0,0 +1,26 @@ +package com.craisinlord.antarchy.content.client; + +import com.craisinlord.antarchy.content.block.BigBushBlock; +import com.craisinlord.antarchy.content.block.BigBushPartBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; + +public final class BigBushRenderHelper { + private BigBushRenderHelper() { + } + + public static boolean isInsideBigBush(LivingEntity entity) { + Level level = entity.level(); + return isBush(level, entity.blockPosition()) || isBush(level, BlockPos.containing(entity.getEyePosition())); + } + + private static boolean isBush(Level level, BlockPos pos) { + BlockState state = level.getBlockState(pos); + if (state.getBlock() instanceof BigBushPartBlock) { + return true; + } + return state.getBlock() instanceof BigBushBlock && state.getValue(BigBushBlock.AGE) > 0; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java new file mode 100644 index 00000000..f26a2c10 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java @@ -0,0 +1,23 @@ +package com.craisinlord.antarchy.content.item; + +import java.util.List; + +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.block.Block; + +public class BigBushBlockItem extends BlockItem { + public BigBushBlockItem(Block block, Properties properties) { + super(block, properties); + } + + @Override + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + tooltipComponents.add(Component.translatable("item.antarchy.big_bush.tooltip").withStyle(ChatFormatting.GRAY)); + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java new file mode 100644 index 00000000..3b948189 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java @@ -0,0 +1,25 @@ +package com.craisinlord.antarchy.mixins.client; + +import com.craisinlord.antarchy.content.block.BigBushBlock; +import com.craisinlord.antarchy.content.block.BigBushPartBlock; +import com.craisinlord.antarchy.content.client.AlphaVertexConsumerProxy; +import com.craisinlord.antarchy.content.client.BigBushCameraHider; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.block.BlockRenderDispatcher; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.ModifyVariable; + +@Mixin(BlockRenderDispatcher.class) +public abstract class BlockRenderDispatcherBigBushMixin { + @ModifyVariable(method = "renderBatched", at = @At("HEAD"), argsOnly = true) + private VertexConsumer antarchy$fadeBigBushAroundCamera(VertexConsumer consumer, BlockState state, BlockPos pos) { + if ((state.getBlock() instanceof BigBushBlock || state.getBlock() instanceof BigBushPartBlock) + && BigBushCameraHider.shouldFade(pos)) { + return AlphaVertexConsumerProxy.wrap(consumer, 0.35F); + } + return consumer; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java new file mode 100644 index 00000000..926c1a78 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java @@ -0,0 +1,54 @@ +package com.craisinlord.antarchy.mixins.client; + +import com.craisinlord.antarchy.content.client.BigBushRenderHelper; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; +import net.minecraft.world.entity.LivingEntity; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyArg; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(LivingEntityRenderer.class) +public abstract class LivingEntityRendererBigBushMixin { + @Unique + private boolean antarchy$inBigBush; + + @Inject( + method = "render(Lnet/minecraft/world/entity/LivingEntity;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", + at = @At("HEAD") + ) + private void antarchy$checkBigBush(LivingEntity entity, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource buffer, int packedLight, CallbackInfo ci) { + this.antarchy$inBigBush = BigBushRenderHelper.isInsideBigBush(entity); + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Inject(method = "getRenderType", at = @At("HEAD"), cancellable = true) + private void antarchy$bigBushRenderType(LivingEntity entity, boolean bodyVisible, boolean translucent, boolean glowing, CallbackInfoReturnable cir) { + if (bodyVisible && !translucent && !glowing && BigBushRenderHelper.isInsideBigBush(entity)) { + cir.setReturnValue(RenderType.itemEntityTranslucentCull(((EntityRenderer) (Object) this).getTextureLocation(entity))); + } + } + + @Inject(method = "shouldShowName(Lnet/minecraft/world/entity/LivingEntity;)Z", at = @At("HEAD"), cancellable = true) + private void antarchy$hideBigBushNameTag(LivingEntity entity, CallbackInfoReturnable cir) { + if (BigBushRenderHelper.isInsideBigBush(entity)) { + cir.setReturnValue(false); + } + } + + @ModifyArg( + method = "render(Lnet/minecraft/world/entity/LivingEntity;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/model/EntityModel;renderToBuffer(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;III)V"), + index = 4 + ) + private int antarchy$bigBushAlpha(int color) { + return this.antarchy$inBigBush && color == -1 ? 0x99FFFFFF : color; + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/big_bush.json b/common/src/main/resources/assets/antarchy/blockstates/big_bush.json new file mode 100644 index 00000000..7ea0c8aa --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/big_bush.json @@ -0,0 +1,16 @@ +{ + "variants": { + "age=0,facing=north": { "model": "antarchy:block/big_bush_stage1" }, + "age=0,facing=east": { "model": "antarchy:block/big_bush_stage1" }, + "age=0,facing=south": { "model": "antarchy:block/big_bush_stage1" }, + "age=0,facing=west": { "model": "antarchy:block/big_bush_stage1" }, + "age=1,facing=east": { "model": "antarchy:block/big_bush_stage2" }, + "age=1,facing=south": { "model": "antarchy:block/big_bush_stage2", "y": 90 }, + "age=1,facing=west": { "model": "antarchy:block/big_bush_stage2", "y": 180 }, + "age=1,facing=north": { "model": "antarchy:block/big_bush_stage2", "y": 270 }, + "age=2,facing=north": { "model": "antarchy:block/big_bush_stage3_bottom" }, + "age=2,facing=east": { "model": "antarchy:block/big_bush_stage3_bottom" }, + "age=2,facing=south": { "model": "antarchy:block/big_bush_stage3_bottom" }, + "age=2,facing=west": { "model": "antarchy:block/big_bush_stage3_bottom" } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/big_bush_part.json b/common/src/main/resources/assets/antarchy/blockstates/big_bush_part.json new file mode 100644 index 00000000..ea083469 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/big_bush_part.json @@ -0,0 +1,6 @@ +{ + "variants": { + "cap=false": { "model": "antarchy:block/big_bush_part" }, + "cap=true": { "model": "antarchy:block/big_bush_stage3_top" } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/very_short_grass.json b/common/src/main/resources/assets/antarchy/blockstates/very_short_grass.json new file mode 100644 index 00000000..c25b3915 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/very_short_grass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "antarchy:block/very_short_grass" } + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/big_bush_part.json b/common/src/main/resources/assets/antarchy/models/block/big_bush_part.json new file mode 100644 index 00000000..906b6240 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/big_bush_part.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "antarchy:block/big_bush/big_bush_stage3" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/big_bush_stage1.json b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage1.json new file mode 100644 index 00000000..dc28fa4f --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/tinted_cross", + "textures": { + "cross": "antarchy:block/big_bush/big_bush_stage1" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/big_bush_stage2.json b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage2.json new file mode 100644 index 00000000..05dd9750 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage2.json @@ -0,0 +1,29 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "antarchy:block/big_bush/big_bush_stage2", + "cross": "antarchy:block/big_bush/big_bush_stage2" + }, + "elements": [ + { + "from": [1.6, 0, 16], + "to": [30.4, 32, 16], + "rotation": { "origin": [16, 16, 16], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "north": { "uv": [0, 0, 16, 16], "texture": "#cross", "tintindex": 0 }, + "south": { "uv": [0, 0, 16, 16], "texture": "#cross", "tintindex": 0 } + } + }, + { + "from": [16, 0, 1.6], + "to": [16, 32, 30.4], + "rotation": { "origin": [16, 16, 16], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "west": { "uv": [0, 0, 16, 16], "texture": "#cross", "tintindex": 0 }, + "east": { "uv": [0, 0, 16, 16], "texture": "#cross", "tintindex": 0 } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_bottom.json b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_bottom.json new file mode 100644 index 00000000..ac5a27de --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_bottom.json @@ -0,0 +1,29 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "antarchy:block/big_bush/big_bush_stage3", + "cross": "antarchy:block/big_bush/big_bush_stage3" + }, + "elements": [ + { + "from": [-13.6, 0, 8], + "to": [29.6, 32, 8], + "rotation": { "origin": [8, 16, 8], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "north": { "uv": [0, 5.3333, 16, 16], "texture": "#cross", "tintindex": 0 }, + "south": { "uv": [0, 5.3333, 16, 16], "texture": "#cross", "tintindex": 0 } + } + }, + { + "from": [8, 0, -13.6], + "to": [8, 32, 29.6], + "rotation": { "origin": [8, 16, 8], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "west": { "uv": [0, 5.3333, 16, 16], "texture": "#cross", "tintindex": 0 }, + "east": { "uv": [0, 5.3333, 16, 16], "texture": "#cross", "tintindex": 0 } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_top.json b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_top.json new file mode 100644 index 00000000..fb49b817 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/big_bush_stage3_top.json @@ -0,0 +1,29 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "antarchy:block/big_bush/big_bush_stage3", + "cross": "antarchy:block/big_bush/big_bush_stage3" + }, + "elements": [ + { + "from": [-13.6, 0, 8], + "to": [29.6, 16, 8], + "rotation": { "origin": [8, 8, 8], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "north": { "uv": [0, 0, 16, 5.3333], "texture": "#cross", "tintindex": 0 }, + "south": { "uv": [0, 0, 16, 5.3333], "texture": "#cross", "tintindex": 0 } + } + }, + { + "from": [8, 0, -13.6], + "to": [8, 16, 29.6], + "rotation": { "origin": [8, 8, 8], "axis": "y", "angle": 45, "rescale": true }, + "shade": false, + "faces": { + "west": { "uv": [0, 0, 16, 5.3333], "texture": "#cross", "tintindex": 0 }, + "east": { "uv": [0, 0, 16, 5.3333], "texture": "#cross", "tintindex": 0 } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_short_grass.json b/common/src/main/resources/assets/antarchy/models/block/very_short_grass.json new file mode 100644 index 00000000..c1f1d394 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/very_short_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/tinted_cross", + "textures": { + "cross": "antarchy:block/very_short_grass" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/item/big_bush.json b/common/src/main/resources/assets/antarchy/models/item/big_bush.json new file mode 100644 index 00000000..0b62849a --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/big_bush.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:block/big_bush/big_bush_stage1" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/item/very_short_grass.json b/common/src/main/resources/assets/antarchy/models/item/very_short_grass.json new file mode 100644 index 00000000..0929ced1 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/very_short_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:block/very_short_grass" + } +} diff --git a/common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage1.png b/common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage1.png new file mode 100644 index 0000000000000000000000000000000000000000..21da10877c32c20b235e2b42443a66eb2c60e28c GIT binary patch literal 524 zcmV+n0`vWeP)LQZY+HQ4~H`ovcBTAfZJvL3m5z(BN(j?%H2aYLGUy z!mV@&`~i}v;Lze=?jj9Bi{KJClo;g0M?|{a_)Z;ph+79P_dD-?_dDM??<%b|{VVjE z0P^%%T4T=@aypqxGA`Yec;6_X|CW$ML~;?ts^8aFLfDlg<=e8hzATCz#W?Rh^(Y(+ zGwu)iT9wS1$z)s{y^JVvoL~+LbUR(Hn7_=k6PF~| zi`PY!InQWZf|J4XfGZD&Lw3{dv{~4knHpSnq0xu>b%mkLtvTbsUVse4p!Q>%F{FeIPUWtm9Izx42LX0b)xYcKR>Zmluy7EL_(@zfY7H%l>;0P_CRauPqZPCS4vM>Q z03tr5PE*>q<70J@5y*kDfWd_zit!9`g`CE~FntgZVowGaJ&bZoz;+IV6#7RCuxzht zADocoJa`b~9e=_Z+7IdJ`;?SJk#Z_pd@sno4)h%+S{ADPw?k5xKA~Xb%i>C4dkon=aT}Kr|aoetkdW(Lpmb2N$0J O0000`6atC}QY;9q;-C|;4t#(F z1Ro&aKsuCC97+ZSA3zZF0Wz@8C3FzzK*2%-0S#5uU?`%_ZuyR`+nr;K(o&=w!u>gC z|E<0DJ~vSu$L>BQb+6vt{}w=Dv5?ejb!9cq=CZNgZ>(>`|2%+dt?K4K%zH<<>0FfV zPW$JcXFYCWaw1YdNPaedr+}inkdO@L-p@rc+|}9T-=8#2{B`Qxl&c@t-A-l4jlCK3 z!GH+w2=uQIC@dD@#%aSlCd2ws-BrF<{Et9*E`Bb$Qn}>cZEtUTz2%iWKD$uEPPyu$QXkdfM^4~1Ktp1qpos_GladY zv3F{6$_EGntg{9J3Yv1+Zi>PZkTt|12r|MbnOb-U2L~@}+@1DWBX*zAApin`AJzs* zwhSPf%X+AkQE|PPtYL^}9ElH`UpBqbFbMQRl(c4@Un>D5Q3is4_|>p?u4nN9=Q2*v z{0Izvf>#N`wNN4<0O_c;;6fRPmTVSYp+sQlAq1v(;s!!6*2dDOrKl|jO65}0LP+^* zImy%p2J|2lIzX2oRC6Jrpw*g9B~W`%Tfr8DrlBK*L^h!#TXw%jH6@3TDLZ^bGMg2{hZ-~QRnMFHpG?sMAq}1| zSe+BYE7OQ0(QPyh7 zcKxq2LhDvQhJ;BRG!hOlgfI?CRDUr(oP^?vZAWzu!%E$vDX5O}<+>VR8qtvuu!aS* z&B9JXvD>zvIAO`FlT)pUK0HytAnr-XW;t)wYT+cr3H4NPIM#usiDyqvos6=Na|9$F zjJzI++1&BC!(Cil_^5VkyRQ35x9jigcU#}K-09h=S74o=pht(`4-XGr?V#qJ4ZR$4 zN5@Al^CIKU&(7W6k3AQqBEP@!v*GW@-;Vn|aN!}01d>MOG9#YZECMP^-GdIBegVVm9tQjzE!zM9002ovPDHLkV1gu3 B2&@1A literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage3.png b/common/src/main/resources/assets/antarchy/textures/block/big_bush/big_bush_stage3.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e92e5d0071faa96d9a19d452c6981c27a01e8d GIT binary patch literal 2486 zcmV;n2}$;eP)WkwQf}(p}X>LHANo!9_O#Q@d!DicKX@Z3C7X9WXJ9W-_A&P5sd+pOg8% zo;+Ws>5LbK_ujqt+hI$v+y=V6%4Zv_mXGf~__119Uiv#8C{A}PS=IP51tQ80u(j)U~xM(mKy2?<}$YY)dv2`-;(A80T3m6~oc5k4Bn5a_C4|mJs9D2Cjuy zCIE{{duaFcsnZb*&~o>8-J!p~zg!wC1u+N%8(KDmOmikQ&u%tt>q(!4EsPW*OR#p^ zs{$@vu zkFXbgSVVjMm!DL%z@58yY;&~S(b-||UmpB2vOwRjeTHuu4A3t1T?$wRS}~7S(d6+H z#|>hh>C!+cVxGD30}r!mt*Qmo&<2ZRer*C%FiWF<>5`?PyQkZ}5sGoXVOUl}FlZLP zu{eTLv9d06mM>p!LIP6{-Txhhz^IP|XkD8D1%7CZJ{tXK7)`>k#t{U;&^XMiVL50A zt`C@?JP`<=*tuh;Sr>YR;F>KUC%V{s(KG}TEbO%n!!RHy!MyKF(lYDeSA~%YLH)RV zW4d`_k_F=N7aWt2U>FUt8H@=UIHMp1EMNkreIK+4r9L1czq;naC4FL^y?9r`!zUDm zs|oEFUe0aqVlR|4%A3#z}jYhBn zT2@rCB-Yby%u6_rc~2w%P~_5B9>=ZtjA&@`Gp`KhCWTfLz^8CYDo6EU5c49C!k{3; zxPVI-v2J_-}e;xJMb z09_;iNh6MLuL0p*_)XHLAR^|ljxt%CBl~ctI02)bLlqV-S&5%Bnl<92SKI*u$LiCBaMg;N%TaWN@}f&u0T zLd+$SP$s~%99r0C4K%FvU>-$fE9*iJt&|1h&?~9QTFUxDO(XylabhHt)-bt_i-Lik zs_6wQ1SbsAj}_>HR&@|-`p8qQlI_~sWoz+7FdMIgYgv}PK@EyezbL;b&v3tN)I(pWloozWyeavn zPJVOJZUFowf6|gU6|?mnKjhPt0Cje*hn}V~TuF>3MU$Zs!iqT^)yRa(lBzo6p5T?K;&c@{5|M=a)AQ&VxfQXo^wHZVi1B13~Ki8-#?Lw&wP6(SFN1D}lr{ZLa?;`4)9XfJy7bL1 z>d49CjrCNCa^*kiOss>9qQX@7n>q&iaF}%86OU+CE>y1Br=st!2(3%4BzoP|MrUFl zMrB?f>f#4`9oBvLQ`}ac4mkcW{wnC(R<%U}gP3$KmkZCvpGD;ajj-oK9rXxi7anm^ z@Q5?wsBDa*f_3P?^Rw}1QRNB4iafd$tCc=8H)ElhMpSChU!uaQPGQn|(!pM)helPQ zaIIr$yz-1^)mrIGVDRAaZ#j#wPc<4j@pSyaUy~=LdGFlulHpa+XDR_j5i`0M!j%4!NjC|q zSAY}msv>pABN%wW>!DYhie7>PFCY~COG$@k08Qyc#isebfA4F2iOU=`p^!&|K{lN( zeId4Ywf%*C&6@-vf3Kf(_vvA!#o~9H_0kt&&`pAos#OGuAjF5H)<5ea@SE!|B>n$I zZ1#trTIlnY+dds&G{>JOuqb1^b3dwV|I+ok*M^))j6`sYU9bDhSr7dZcNrX~Q|OKV zbD8)T6Log{$QM8Ud2`2~aYk#Q_d-ZWkA1a&00M$MIfyo#CjbBd07*qoM6N<$g0e@u AoB#j- literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/very_short_grass.png b/common/src/main/resources/assets/antarchy/textures/block/very_short_grass.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9c84331ba9c48e85ae3688ad2ba80f16e054db GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP;jTG zi(`mI@7q2@uEPdAuDSOYrf}_T=@&i!Qh>|1hH*0Yjqe{-y_Q{As$#Obi^Xi6=fa~U zs}Femnl{glogqwUQO0lnABGO!rMeitZv1zz@!Yz)M@~zc@9up3GU(MI%kBKk3{{6y z8O~gbI+Zy$+xPO3xHpdXBl&+>^vP@v;^JsTmE{(47(`E;#f!<0$uLff^z9SmI6IeD$$v#rMlhDSeGOYqOVGBy6Gr ziv%65Ki7IL&i{nOl3*)Tvsk__8xerR1d}bvHjW-fN~LQYv3Bfay5f$>(XnG4AH2LRqR1Z!P;=#}ke>n&$l=53M` zULxvn0}Sp4e-1!`dVa`T4Ln9TkU9QNgui|IKKY3_9|%QRbgsdL7zW{G{8xq=Hh4LN zU89a>34jghr*-`2zyLv`CgKoxFT`vu+7?&eJ(iIV^T002ovPDHLkV1n2i Bt6Ts8 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/very_tall_grass/very_tall_grass_middle.png b/common/src/main/resources/assets/antarchy/textures/block/very_tall_grass/very_tall_grass_middle.png new file mode 100644 index 0000000000000000000000000000000000000000..20d8e01d74921737abf309e67a97a30a69cc684f GIT binary patch literal 380 zcmV-?0fYXDP)sG z!)Ms%`;nlkMG#Np0CTcPf@lz_;#asc?l%acL1Y)R`OHOx-R?K_dcUlax~{E?Jj)H? z8w&C)H>2Um`W$dRodaA9!%*$EyMU{71Tov-c@rU`<1&IkRc8&7MdFCK5+ahU=WqCh zqdh3&sbP)!Xuoh>2Cz?z`sm4cB7(b~%}+;5Ad*NvFo?!eAYYeNX~B=@qeX(EQm$R5 z*PC^t@|2qdrYFR6Is$y4g3IL+VQ8Y|YH2UgQ&aDVKa+3Nfl@zMf~u}mKkSQ_xe{L` aTHp^~#=bOtI@#U;0000 zi(`mIZ}N}-|LvWNlRwuB`0}MS7$&qmFv>Z*$~5BWOoO;@s)9nB7&nT`D{cJS>tuXIp)ET$pm$k|jPc zz4GDo

o|QBz{6RV>Bbl5g=`$(Ymi#N>+!!zNL&9SQ~iPu7Ys&vanX;8n2x z`s?d!mcz_P8D`Wc=EM~86>)B|5@B|D@Z;rU3A1LCg}Vh<5`Hq~F!VI%Sy?qm_RW!J Z(As&ZMo>uo9WWReJYD@<);T3K0RRnDeT@JB literal 0 HcmV?d00001 diff --git a/common/src/main/resources/data/antarchy/loot_table/blocks/big_bush.json b/common/src/main/resources/data/antarchy/loot_table/blocks/big_bush.json new file mode 100644 index 00000000..bdc0967f --- /dev/null +++ b/common/src/main/resources/data/antarchy/loot_table/blocks/big_bush.json @@ -0,0 +1,66 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": "minecraft:shears" + } + } + ], + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "antarchy:big_bush", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "antarchy:big_bush", + "properties": { + "age": "2" + } + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": 3.0 + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:big_bush", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "antarchy:big_bush", + "properties": { + "age": "1" + } + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": 2.0 + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:big_bush" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "antarchy:blocks/big_bush" +} diff --git a/common/src/main/resources/data/antarchy/loot_table/blocks/very_short_grass.json b/common/src/main/resources/data/antarchy/loot_table/blocks/very_short_grass.json new file mode 100644 index 00000000..71a04620 --- /dev/null +++ b/common/src/main/resources/data/antarchy/loot_table/blocks/very_short_grass.json @@ -0,0 +1,49 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": "minecraft:shears" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "antarchy:very_short_grass" + } + ], + "rolls": 1.0 + }, + { + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:wheat_seeds", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.125, + 0.14285715, + 0.16666667, + 0.2 + ] + } + ], + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "antarchy:blocks/very_short_grass" +} diff --git a/common/src/main/resources/data/minecraft/tags/block/sword_efficient.json b/common/src/main/resources/data/minecraft/tags/block/sword_efficient.json new file mode 100644 index 00000000..54f81cf6 --- /dev/null +++ b/common/src/main/resources/data/minecraft/tags/block/sword_efficient.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "antarchy:big_bush", + "antarchy:big_bush_part", + "antarchy:very_short_grass" + ] +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java new file mode 100644 index 00000000..f383a7c8 --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java @@ -0,0 +1,20 @@ +package com.craisinlord.antarchy.neoforge.client; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.client.BigBushCameraHider; +import net.minecraft.client.Minecraft; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; + +@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT, bus = EventBusSubscriber.Bus.GAME) +public final class BigBushHideHandler { + private BigBushHideHandler() { + } + + @SubscribeEvent + public static void onClientTick(ClientTickEvent.Post event) { + BigBushCameraHider.update(Minecraft.getInstance()); + } +} From ae763037163de9b9b4d5d87671813ca0277f12f3 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Tue, 7 Jul 2026 13:02:01 -0500 Subject: [PATCH 09/13] swing through grass fix ruined arena structure kraken multipart fix logspam elythia worldgen fix rolly polly bonemeal --- .../antarchy/config/AntarchySettings.java | 15 +- .../antarchy/config/ConfigResetGuard.java | 2 +- .../antarchy/content/block/BigBushBlock.java | 7 +- .../content/block/BigBushPartBlock.java | 4 +- .../content/entity/AlphaMantisEntity.java | 23 ++ .../content/entity/EmperorScorpionEntity.java | 239 +++++-------- .../antarchy/content/entity/MantisEntity.java | 41 ++- .../content/entity/RollyPollyEntity.java | 336 +++++++++++++++++- .../content/entity/kraken/KrakenEntity.java | 23 +- .../entity/kraken/KrakenMultipartLayout.java | 54 ++- .../entity/multipart/MultipartFramework.java | 12 + .../content/item/WaterCannonItem.java | 2 +- .../worldgen/elythia/ElythiaFloraFeature.java | 33 +- .../GameRendererSwingThroughGrassMixin.java | 131 +++++++ .../resources/antarchy-common.mixins.json | 1 + .../animations/toreterror.animation.json | 7 +- .../chests/ruined_arena/generic.json | 91 ++--- .../spawners/ruined_arena/hard.json | 68 +++- .../spawners/ruined_arena/medium.json | 45 ++- .../structure/ruined_arena/ruined_arena.nbt | Bin 0 -> 267168 bytes .../has_structure/ruined_arena_biomes.json | 6 + .../worldgen/biome/elythia_meadow.json | 4 +- .../density_function/elythia_surface.json | 5 + .../worldgen/noise_settings/elythia.json | 319 ++++++++++------- .../elythia_meadow_large_tuff_boulders.json | 19 + .../elythia_meadow_tuff_boulders.json | 19 + .../worldgen/structure/ruined_arena.json | 22 ++ .../worldgen/structure_set/elythia_rare.json | 4 + .../ruined_arena/ruined_arena.json | 22 ++ .../structure/larger_locate_search.json | 1 + .../fabric/AntarchyConfigModuleFabric.java | 1 + .../fabric/AntarchyFabricContent.java | 2 +- .../antarchy/fabric/AntarchyFabricEvents.java | 3 + .../AntarchyConfigModuleNeoforge.java | 1 + .../antarchy/neoforge/AntarchyMiscConfig.java | 3 + .../antarchy/neoforge/AntarchyMobsConfig.java | 4 +- .../registry/AntarchyNeoForgeEvents.java | 3 + .../AntarchyNeoforgeCreativeModeTabs.java | 1 + .../registry/AntarchyNeoforgeEntites.java | 2 +- 39 files changed, 1121 insertions(+), 454 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/client/GameRendererSwingThroughGrassMixin.java create mode 100644 common/src/main/resources/data/antarchy/structure/ruined_arena/ruined_arena.nbt create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/has_structure/ruined_arena_biomes.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/elythia_meadow_large_tuff_boulders.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/elythia_meadow_tuff_boulders.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/structure/ruined_arena.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/template_pool/ruined_arena/ruined_arena.json diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index 3855fb0b..09881a9e 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -17,6 +17,7 @@ public final class AntarchySettings { private static boolean duplicatorTreeEnabled = true; private static boolean glowingTorchflowers = true; private static boolean glowVinesUnderLeaves = true; + private static boolean swingThroughGrassEnabled = true; private static boolean sizeChangingRaysEnabled = true; private static double sizeRayMinScale = 0.1D; private static double sizeRayMaxScale = 10.0D; @@ -100,9 +101,9 @@ public final class AntarchySettings { private static double mantisMovementSpeed = 0.42D; private static double mantisFlyingSpeed = 0.77D; private static boolean mantisIgnoreLightLevel = false; - private static double alphaMantisHealth = 500.0D; + private static double alphaMantisHealth = 250.0D; private static double alphaMantisAttackDamage = 18.0D; - private static double alphaMantisMovementSpeed = 0.42D; + private static double alphaMantisMovementSpeed = 0.546D; private static double alphaMantisFlyingSpeed = 0.77D; private static int alphaMantisSummonIntervalTicks = 300; private static int alphaMantisMaxMinions = 4; @@ -240,7 +241,7 @@ public final class AntarchySettings { private static final int reverieAmbientPulseIntervalMaxTicks = 19; private static double emperorScorpionHealth = 400.0D; private static double emperorScorpionAttackDamage = 28.0D; - private static double emperorScorpionMovementSpeed = 0.32D; + private static double emperorScorpionMovementSpeed = 0.384D; private static double emperorScorpionArmor = 25.0D; private static double emperorScorpionKnockbackResistance = 0.8D; private static double emperorScorpionFollowRange = 40.0D; @@ -540,6 +541,10 @@ public final class AntarchySettings { return glowVinesUnderLeaves; } + public static boolean swingThroughGrassEnabled() { + return swingThroughGrassEnabled; + } + public static boolean sizeChangingRaysEnabled() { return sizeChangingRaysEnabled; } @@ -984,6 +989,10 @@ public final class AntarchySettings { glowVinesUnderLeaves = value; } + public static void setSwingThroughGrassEnabled(boolean value) { + swingThroughGrassEnabled = value; + } + public static void setSizeChangingRaysEnabled(boolean value) { sizeChangingRaysEnabled = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/config/ConfigResetGuard.java b/common/src/main/java/com/craisinlord/antarchy/config/ConfigResetGuard.java index b80fcf06..c0ef9b88 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/ConfigResetGuard.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/ConfigResetGuard.java @@ -6,7 +6,7 @@ import java.nio.file.Files; import java.nio.file.Path; public final class ConfigResetGuard { - public static final int RESET_GENERATION = 1; + public static final int RESET_GENERATION = 2; private static final String MARKER_FILE_NAME = ".config_generation"; private ConfigResetGuard() { diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java index a2ce8ee8..ef1d89ca 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java @@ -33,7 +33,7 @@ import java.util.List; import java.util.Set; /** - * Multiblock bush grown with bonemeal. The origin block (this one) carries the + * Multiblock bush grown with bonemeal. The origin block carries the * loot/age; the rest of the footprint is filled with invisible * {@link BigBushPartBlock}s. * @@ -75,7 +75,7 @@ public class BigBushBlock extends BushBlock implements BonemealableBlock { return state.getValue(AGE) == 0 ? SMALL_SHAPE : Shapes.block(); } - /** All part positions belonging to a bush with the given origin state/pos (origin itself excluded). */ + /** All part positions belonging to a bush with the given origin state/pos */ public static List partPositions(BlockState state, BlockPos origin) { List positions = new ArrayList<>(); int age = state.getValue(AGE); @@ -106,7 +106,7 @@ public class BigBushBlock extends BushBlock implements BonemealableBlock { return positions; } - /** Ground-level columns of the footprint; each needs a sturdy block below it. */ + /** Ground columns of the footprint, each needs a sturdy block below it. */ public static List supportColumns(BlockState state, BlockPos origin) { List columns = new ArrayList<>(); int age = state.getValue(AGE); @@ -247,7 +247,6 @@ public class BigBushBlock extends BushBlock implements BonemealableBlock { return; } if (!target.origin().equals(pos)) { - // Relocating the origin: removing it cascades and clears the old parts. level.removeBlock(pos, false); } placeStage(level, target.origin(), target.state()); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java index 51ea6e3b..e9ea7036 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; * Invisible filler block for the grown {@link BigBushBlock} footprint. Breaking a * part destroys the whole bush (drops come from the origin's loot table). The one * part directly two above the origin of a stage-3 bush renders the top slice of - * the oversized cross model (CAP=true). + * the oversized cross model */ public class BigBushPartBlock extends Block { public static final MapCodec CODEC = Block.simpleCodec(BigBushPartBlock::new); @@ -113,8 +113,6 @@ public class BigBushPartBlock extends Block { level.removeBlock(pos, false); return; } - // Grown bushes need sturdy support under the whole footprint; break with - // drops if any of it is gone (mirrors plants popping when their dirt breaks). BlockState originState = level.getBlockState(origin); if (!originState.canSurvive(level, origin)) { level.destroyBlock(origin, true); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java index e82d97fd..fdddadf9 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java @@ -19,6 +19,7 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; @@ -91,6 +92,16 @@ public class AlphaMantisEntity extends MantisEntity { return false; } + @Override + protected MeleeAttackGoal createCombatGoal() { + return new MeleeAttackGoal(this, this.getCombatSpeed(), true); + } + + @Override + protected double getCombatSpeed() { + return 1.05D; + } + @Override public void tick() { super.tick(); @@ -155,6 +166,18 @@ public class AlphaMantisEntity extends MantisEntity { this.playSound(com.craisinlord.antarchy.content.AntarchySoundEvents.MANTIS_AMBIENT.get(), 2.0F, 0.6F); } + @Override + protected void onActiveTarget(LivingEntity target) { + if (this.flyBurstTicks > 0 || this.flyCooldownTicks > 0) { + this.stopFlightBurst(); + } + } + + @Override + protected boolean shouldStartFlightBurst() { + return false; + } + @Override public void setTarget(@Nullable LivingEntity target) { super.setTarget(target); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index 8ac5a93b..7f815a30 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -3,6 +3,7 @@ package com.craisinlord.antarchy.content.entity; import com.craisinlord.antarchy.content.AntarchySoundEvents; import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.damage.AntarchyDamageSources; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.Registries; @@ -25,18 +26,17 @@ import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; -import net.minecraft.world.level.levelgen.Heightmap; -import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; +import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; import net.minecraft.world.entity.ai.goal.RandomStrollGoal; import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraft.world.phys.Vec3; +import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; @@ -84,15 +84,12 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.PURPLE, BossEvent.BossBarOverlay.PROGRESS); private int attackAnimTicks = 0; - private int attackHitTick = 0; - private int attackCooldownTicks = 0; private int stingCooldownTicks = 0; private int agroAnimTicks = 0; private int summonCooldown = 0; private boolean attackDamageApplied = false; private boolean stingAttackActive = false; private boolean hasAgroed = false; - @Nullable private LivingEntity attackTarget; public EmperorScorpionEntity(EntityType entityType, Level level) { super(entityType, level); @@ -102,13 +99,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { public static AttributeSupplier.Builder createAttributes() { return Monster.createMonsterAttributes() - .add(Attributes.MAX_HEALTH, 400.0D) - .add(Attributes.MOVEMENT_SPEED, 0.32D) - .add(Attributes.ATTACK_DAMAGE, 28.0D) - .add(Attributes.ARMOR, 25.0D) + .add(Attributes.MAX_HEALTH, AntarchySettings.emperorScorpionHealth()) + .add(Attributes.MOVEMENT_SPEED, AntarchySettings.emperorScorpionMovementSpeed()) + .add(Attributes.ATTACK_DAMAGE, AntarchySettings.emperorScorpionAttackDamage()) + .add(Attributes.ARMOR, AntarchySettings.emperorScorpionArmor()) .add(Attributes.ARMOR_TOUGHNESS, 10.0D) - .add(Attributes.KNOCKBACK_RESISTANCE, 0.8D) - .add(Attributes.FOLLOW_RANGE, 40.0D); + .add(Attributes.KNOCKBACK_RESISTANCE, AntarchySettings.emperorScorpionKnockbackResistance()) + .add(Attributes.FOLLOW_RANGE, AntarchySettings.emperorScorpionFollowRange()); } public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, @@ -128,10 +125,40 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { @Override protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); - this.goalSelector.addGoal(1, new EmperorScorpionAttackGoal()); - this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8D)); - this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 12.0F)); - this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.2D, true)); + this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8D) { + @Override + public boolean canUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); + } + + @Override + public boolean canContinueToUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); + } + }); + this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 12.0F) { + @Override + public boolean canUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); + } + + @Override + public boolean canContinueToUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); + } + }); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this) { + @Override + public boolean canUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); + } + + @Override + public boolean canContinueToUse() { + return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); + } + }); this.targetSelector.addGoal(1, new HurtByTargetGoal(this)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); } @@ -150,19 +177,14 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { public void tick() { super.tick(); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); - if (this.attackCooldownTicks > 0) { - this.attackCooldownTicks--; - } if (this.stingCooldownTicks > 0) { this.stingCooldownTicks--; } if (this.attackAnimTicks > 0) { - if (!this.level().isClientSide) { - this.tickAttackWindup(); - } this.attackAnimTicks--; if (this.attackAnimTicks <= 0) { - this.resetAttackState(); + this.attackDamageApplied = false; + this.stingAttackActive = false; } } if (this.agroAnimTicks > 0) { @@ -226,123 +248,63 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { @Override public boolean doHurtTarget(Entity target) { - return this.performSnapAttack(target); - } - - private boolean performSnapAttack(Entity target) { boolean hurt = super.doHurtTarget(target); if (hurt) { - this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); + boolean usedSting = false; + if (target instanceof LivingEntity livingTarget && this.shouldUseSting(livingTarget)) { + this.stingAttackActive = true; + this.attackAnimTicks = STING_ATTACK_ANIM_TICKS; + this.attackDamageApplied = false; + this.level().broadcastEntityEvent(this, STING_ATTACK_ANIM_EVENT); + usedSting = this.performStingAttack(livingTarget); + if (usedSting) { + this.stingCooldownTicks = STING_ATTACK_COOLDOWN_TICKS; + } + } else { + this.stingAttackActive = false; + this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; + this.attackDamageApplied = false; + this.level().broadcastEntityEvent(this, SNAP_ATTACK_ANIM_EVENT); + } + if (!usedSting) { + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); + } } return hurt; } private boolean performStingAttack(Entity target) { + if (!(target instanceof LivingEntity living)) { + return false; + } if (!(this.level() instanceof ServerLevel serverLevel)) { return false; } - boolean hurtAny = false; - for (LivingEntity living : serverLevel.getEntitiesOfClass(LivingEntity.class, - this.getBoundingBox().inflate(STING_AOE_RADIUS), - entity -> entity != this - && entity.isAlive() - && !(entity instanceof EmperorScorpionEntity) - && !(entity instanceof ScorpionEntity))) { - if (living.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), STING_DAMAGE)) { - hurtAny = true; - int poisonDuration = this.level().getDifficulty() == Difficulty.HARD - ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; - living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); - living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); - } - } - if (hurtAny) { + boolean hurt = living.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), STING_DAMAGE); + if (hurt) { + int poisonDuration = this.level().getDifficulty() == Difficulty.HARD + ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; + living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); + living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 1.0F, 0.9F + this.random.nextFloat() * 0.08F); } - return hurtAny; - } - - private void beginSnapAttack(LivingEntity target) { - this.attackTarget = target; - this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; - this.attackHitTick = SNAP_ATTACK_HIT_TICK; - this.attackCooldownTicks = SNAP_ATTACK_COOLDOWN_TICKS; - this.attackDamageApplied = false; - this.stingAttackActive = false; - this.getNavigation().stop(); - this.level().broadcastEntityEvent(this, SNAP_ATTACK_ANIM_EVENT); - this.commitLunge(target, 0.42D, 0.10D); - } - - private void beginStingAttack(LivingEntity target) { - this.attackTarget = target; - this.attackAnimTicks = STING_ATTACK_ANIM_TICKS; - this.attackHitTick = STING_ATTACK_HIT_TICK; - this.attackCooldownTicks = STING_ATTACK_COOLDOWN_TICKS; - this.stingCooldownTicks = STING_ATTACK_COOLDOWN_TICKS; - this.attackDamageApplied = false; - this.stingAttackActive = true; - this.getNavigation().stop(); - this.level().broadcastEntityEvent(this, STING_ATTACK_ANIM_EVENT); - this.commitLunge(target, 0.55D, 0.14D); - } - - private void tickAttackWindup() { - if (this.attackTarget == null || !this.attackTarget.isAlive()) { - this.resetAttackState(); - return; - } - - this.getLookControl().setLookAt(this.attackTarget, 30.0F, 30.0F); - if (!this.attackDamageApplied && this.attackAnimTicks == this.attackHitTick) { - if (this.stingAttackActive) { - this.attackDamageApplied = true; - this.performStingAttack(this.attackTarget); - } else if (this.distanceToSqr(this.attackTarget) <= this.getAttackReachSqr(this.attackTarget)) { - this.attackDamageApplied = true; - this.performSnapAttack(this.attackTarget); - } - } - - if (this.attackAnimTicks <= 0) { - this.resetAttackState(); - } - } - - private double getAttackReachSqr(LivingEntity target) { - double reach = this.getBbWidth() * 1.9D + target.getBbWidth(); - return reach * reach + 1.5D; - } - - private void resetAttackState() { - this.attackAnimTicks = 0; - this.attackHitTick = 0; - this.attackDamageApplied = false; - this.stingAttackActive = false; - this.attackTarget = null; - } - - private void commitLunge(LivingEntity target, double horizontalSpeed, double verticalSpeed) { - Vec3 lunge = target.position().subtract(this.position()); - Vec3 horizontal = new Vec3(lunge.x, 0.0D, lunge.z); - if (horizontal.lengthSqr() < 1.0E-4D) { - return; - } - horizontal = horizontal.normalize().scale(horizontalSpeed); - this.setDeltaMovement(this.getDeltaMovement().add(horizontal.x, verticalSpeed, horizontal.z)); - this.hasImpulse = true; + return hurt; } private boolean shouldUseSting(LivingEntity target) { return this.stingCooldownTicks <= 0 - && this.distanceToSqr(target) <= this.getAttackReachSqr(target) + 2.0D - && (this.getHealth() <= this.getMaxHealth() * 0.6F || this.random.nextFloat() < 0.45F); + && target.isAlive() + && (this.getHealth() <= this.getMaxHealth() * 0.8F || this.random.nextFloat() < 0.35F); } private boolean isAttackLocked() { return this.attackAnimTicks > 0 || this.agroAnimTicks > 0; } + private boolean isInCombat() { + return this.getTarget() != null || this.isAttackLocked(); + } + @Override public void handleEntityEvent(byte id) { if (id == SNAP_ATTACK_ANIM_EVENT) { @@ -442,43 +404,4 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { super.remove(reason); this.bossEvent.removeAllPlayers(); } - - private final class EmperorScorpionAttackGoal extends MeleeAttackGoal { - private EmperorScorpionAttackGoal() { - super(EmperorScorpionEntity.this, 1.15D, true); - } - - @Override - public void tick() { - if (EmperorScorpionEntity.this.attackTarget != null) { - EmperorScorpionEntity.this.getLookControl().setLookAt( - EmperorScorpionEntity.this.attackTarget, 30.0F, 30.0F); - } - super.tick(); - } - - @Override - public boolean canContinueToUse() { - return EmperorScorpionEntity.this.isAttackLocked() || super.canContinueToUse(); - } - - @Override - protected void checkAndPerformAttack(LivingEntity enemy) { - if (EmperorScorpionEntity.this.isAttackLocked()) { - return; - } - if (this.canPerformAttack(enemy) - && this.isTimeToAttack() - && EmperorScorpionEntity.this.attackCooldownTicks <= 0) { - this.resetAttackCooldown(); - if (EmperorScorpionEntity.this.shouldUseSting(enemy)) { - EmperorScorpionEntity.this.beginStingAttack(enemy); - } else { - EmperorScorpionEntity.this.beginSnapAttack(enemy); - } - return; - } - super.checkAndPerformAttack(enemy); - } - } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java index 90995178..4e435a6e 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java @@ -64,9 +64,9 @@ public class MantisEntity extends Monster implements GeoEntity { net.minecraft.network.syncher.SynchedEntityData.defineId(MantisEntity.class, net.minecraft.network.syncher.EntityDataSerializers.INT); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); - private int attackAnimationTicks; - private int flyBurstTicks; - private int flyCooldownTicks; + protected int attackAnimationTicks; + protected int flyBurstTicks; + protected int flyCooldownTicks; private int debugLogTicks = 0; public MantisEntity(EntityType entityType, Level level) { @@ -147,8 +147,8 @@ public class MantisEntity extends Monster implements GeoEntity { @Override protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); - this.goalSelector.addGoal(2, new MeleeAttackGoal(this, COMBAT_SPEED, true)); - this.goalSelector.addGoal(3, new WaterAvoidingRandomStrollGoal(this, WANDER_SPEED)); + this.goalSelector.addGoal(2, this.createCombatGoal()); + this.goalSelector.addGoal(3, this.createIdleStrollGoal()); HurtByTargetGoal hurtByTargetGoal = new HurtByTargetGoal(this); this.targetSelector.addGoal(1, hurtByTargetGoal); @@ -156,6 +156,14 @@ public class MantisEntity extends Monster implements GeoEntity { this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 5, true, false, null)); } + protected MeleeAttackGoal createCombatGoal() { + return new MeleeAttackGoal(this, this.getCombatSpeed(), true); + } + + protected WaterAvoidingRandomStrollGoal createIdleStrollGoal() { + return new WaterAvoidingRandomStrollGoal(this, WANDER_SPEED); + } + @Override protected PathNavigation createNavigation(Level level) { GroundPathNavigation navigation = new GroundPathNavigation(this, level); @@ -206,8 +214,9 @@ public class MantisEntity extends Monster implements GeoEntity { LivingEntity target = this.getTarget(); if (target != null && target.isAlive()) { + this.onActiveTarget(target); this.getLookControl().setLookAt(target, 30.0F, 30.0F); - } else if (this.flyBurstTicks <= 0 && this.flyCooldownTicks <= 0 && this.onGround() && this.random.nextInt(180) == 0) { + } else if (this.shouldStartFlightBurst()) { this.startFlightBurst(); } @@ -264,6 +273,26 @@ public class MantisEntity extends Monster implements GeoEntity { super.setYBodyRot(yBodyRot); } + protected double getCombatSpeed() { + return COMBAT_SPEED; + } + + protected void onActiveTarget(LivingEntity target) { + } + + protected boolean shouldStartFlightBurst() { + return this.flyBurstTicks <= 0 + && this.flyCooldownTicks <= 0 + && this.onGround() + && this.random.nextInt(180) == 0; + } + + protected void stopFlightBurst() { + this.flyBurstTicks = 0; + this.flyCooldownTicks = 0; + this.setNoGravity(false); + } + private void startFlightBurst() { this.flyBurstTicks = 40 + this.random.nextInt(30); this.flyCooldownTicks = 160 + this.random.nextInt(80); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java index 85643b28..7a51d572 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java @@ -5,6 +5,9 @@ import com.craisinlord.antarchy.content.AntarchyTags; import java.util.EnumSet; import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ItemParticleOption; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; @@ -21,21 +24,29 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; +import net.minecraft.world.entity.ai.goal.MoveToBlockGoal; import net.minecraft.world.entity.ai.goal.PanicGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; import net.minecraft.world.entity.ai.goal.TemptGoal; import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; +import net.minecraft.world.entity.ai.util.DefaultRandomPos; +import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.BedBlock; +import net.minecraft.world.level.block.ComposterBlock; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.block.LevelEvent; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; @@ -55,7 +66,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { private static final RawAnimation ROLLING_ANIM = RawAnimation.begin().thenLoop("roll"); private static final RawAnimation UNROLL_ANIM = RawAnimation.begin().thenPlay("normal_mode"); - // ANIMATION_STATE only syncs the roll transitions; idle/walk/rolling are derived client-side private static final int ANIM_NONE = 0; private static final int ANIM_ROLL_UP = 2; private static final int ANIM_UNROLL = 4; @@ -77,6 +87,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { private boolean unrolling; private int defensiveCurlTicks; private int tumbleTicks; + private boolean hasCompost; public RollyPollyEntity(EntityType entityType, Level level) { super(entityType, level); @@ -106,21 +117,24 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isTame() && super.canUse(); } }); - this.goalSelector.addGoal(2, new SnuggleOnBedGoal()); - this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { + this.goalSelector.addGoal(2, new FertilizeCropGoal()); + this.goalSelector.addGoal(3, new EatCompostItemGoal()); + this.goalSelector.addGoal(4, new SnuggleOnBedGoal()); + this.goalSelector.addGoal(5, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { @Override public boolean canUse() { return !RollyPollyEntity.this.isRolled() && super.canUse(); } }); - this.goalSelector.addGoal(4, new WaterAvoidingRandomStrollGoal(this, 1.0D) { + this.goalSelector.addGoal(6, new RollingStrollGoal()); + this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D) { @Override public boolean canUse() { return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isVehicle() && super.canUse(); } }); - this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 8.0F)); - this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(9, new RandomLookAroundGoal(this)); } @Override @@ -132,7 +146,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { public InteractionResult mobInteract(Player player, InteractionHand hand) { ItemStack stack = player.getItemInHand(hand); - if (this.isFood(stack)) { + if (this.isFood(stack) && (!this.isTame() || this.getHealth() < this.getMaxHealth())) { if (!this.level().isClientSide) { if (!player.getAbilities().instabuild) { stack.shrink(1); @@ -147,7 +161,7 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { } else { this.level().broadcastEntityEvent(this, (byte) 6); } - } else if (this.getHealth() < this.getMaxHealth()) { + } else { this.heal(4.0F); this.level().broadcastEntityEvent(this, (byte) 7); } @@ -155,6 +169,21 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return InteractionResult.sidedSuccess(this.level().isClientSide); } + if (!this.hasCompost && isCompostable(stack)) { + if (!this.level().isClientSide) { + ItemStack eaten = stack.copyWithCount(1); + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + this.eatCompost(eaten); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.isFood(stack)) { + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + if (this.isTame() && stack.isEmpty() && !player.isShiftKeyDown() && !player.isPassengerOfSameVehicle(this)) { if (!this.level().isClientSide) { player.startRiding(this); @@ -171,6 +200,19 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return null; } + private static boolean isCompostable(ItemStack stack) { + return !stack.isEmpty() && ComposterBlock.COMPOSTABLES.containsKey(stack.getItem()); + } + + private void eatCompost(ItemStack eaten) { + this.hasCompost = true; + this.playSound(this.getEatingSound(eaten), 0.9F, 1.2F); + if (this.level() instanceof ServerLevel serverLevel) { + serverLevel.sendParticles(new ItemParticleOption(ParticleTypes.ITEM, eaten), + this.getX(), this.getY(0.6D), this.getZ(), 6, 0.1D, 0.1D, 0.1D, 0.05D); + } + } + public boolean isRolled() { return this.entityData.get(ROLLED); } @@ -357,6 +399,18 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return super.causeFallDamage(fallDistance, multiplier, damageSource); } + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putBoolean("HasCompost", this.hasCompost); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + this.hasCompost = tag.getBoolean("HasCompost"); + } + @Override public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { controllers.add(new AnimationController<>(this, "main_controller", 2, this::mainAnimController)); @@ -381,11 +435,9 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return state.setAndContinue(ROLLING_ANIM); } if (controller.getCurrentAnimation() == null) { - // Just loaded in while rolled — snap into the held ball pose controller.setAnimationSpeed(1.0D); return state.setAndContinue(ROLL_UP_ANIM); } - // Stationary while rolled: freeze on the current ball frame instead of spinning in place controller.setAnimationSpeed(0.0D); return PlayState.CONTINUE; } @@ -399,7 +451,262 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return this.geoCache; } - /** Like a cat, a tamed rolly polly wanders over and curls up on the bed while its owner sleeps. */ + private class EatCompostItemGoal extends Goal { + @Nullable + private ItemEntity targetItem; + private int scanCooldown; + + EatCompostItemGoal() { + this.setFlags(EnumSet.of(Goal.Flag.MOVE)); + } + + @Override + public boolean canUse() { + if (RollyPollyEntity.this.hasCompost + || RollyPollyEntity.this.isRolled() + || RollyPollyEntity.this.isVehicle() + || RollyPollyEntity.this.defensiveCurlTicks > 0) { + return false; + } + if (this.scanCooldown > 0) { + this.scanCooldown--; + return false; + } + this.scanCooldown = 20; + this.targetItem = this.findNearestCompostItem(); + return this.targetItem != null; + } + + @Override + public boolean canContinueToUse() { + return !RollyPollyEntity.this.hasCompost + && !RollyPollyEntity.this.isRolled() + && !RollyPollyEntity.this.isVehicle() + && this.targetItem != null + && this.targetItem.isAlive() + && isCompostable(this.targetItem.getItem()); + } + + @Override + public void start() { + if (this.targetItem != null) { + RollyPollyEntity.this.getNavigation().moveTo(this.targetItem, 1.1D); + } + } + + @Override + public void stop() { + this.targetItem = null; + RollyPollyEntity.this.getNavigation().stop(); + } + + @Override + public void tick() { + if (this.targetItem == null) { + return; + } + RollyPollyEntity.this.getLookControl().setLookAt(this.targetItem); + if (RollyPollyEntity.this.tickCount % 10 == 0) { + RollyPollyEntity.this.getNavigation().moveTo(this.targetItem, 1.1D); + } + if (RollyPollyEntity.this.distanceToSqr(this.targetItem) < 2.0D) { + ItemStack stack = this.targetItem.getItem(); + ItemStack eaten = stack.copyWithCount(1); + stack.shrink(1); + if (stack.isEmpty()) { + this.targetItem.discard(); + } else { + this.targetItem.setItem(stack.copy()); + } + RollyPollyEntity.this.eatCompost(eaten); + } + } + + @Nullable + private ItemEntity findNearestCompostItem() { + ItemEntity nearest = null; + double nearestDist = Double.MAX_VALUE; + for (ItemEntity item : RollyPollyEntity.this.level().getEntitiesOfClass(ItemEntity.class, + RollyPollyEntity.this.getBoundingBox().inflate(8.0D, 4.0D, 8.0D), + item -> item.isAlive() && isCompostable(item.getItem()))) { + double dist = RollyPollyEntity.this.distanceToSqr(item); + if (dist < nearestDist) { + nearest = item; + nearestDist = dist; + } + } + return nearest; + } + } + + private class FertilizeCropGoal extends MoveToBlockGoal { + private static final int ROLL_ON_CROP_TICKS = 20; + + private int rollTicks; + + FertilizeCropGoal() { + super(RollyPollyEntity.this, 1.1D, 8, 2); + } + + @Override + public boolean canUse() { + return RollyPollyEntity.this.hasCompost + && !RollyPollyEntity.this.isRolled() + && !RollyPollyEntity.this.isVehicle() + && RollyPollyEntity.this.defensiveCurlTicks <= 0 + && super.canUse(); + } + + @Override + public boolean canContinueToUse() { + return RollyPollyEntity.this.hasCompost + && !RollyPollyEntity.this.isVehicle() + && super.canContinueToUse(); + } + + @Override + protected int nextStartTick(PathfinderMob mob) { + return reducedTickDelay(40 + mob.getRandom().nextInt(40)); + } + + @Override + protected boolean isValidTarget(LevelReader level, BlockPos pos) { + BlockState state = level.getBlockState(pos); + return state.getBlock() instanceof CropBlock crop && !crop.isMaxAge(state); + } + + @Override + protected BlockPos getMoveToTarget() { + return this.blockPos; + } + + @Override + public double acceptedDistance() { + return 1.75D; + } + + @Override + public void start() { + this.rollTicks = 0; + super.start(); + } + + @Override + public void stop() { + super.stop(); + if (RollyPollyEntity.this.isRolled() && RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startUnroll(); + } + } + + @Override + public void tick() { + super.tick(); + if (!this.isReachedTarget()) { + this.rollTicks = 0; + return; + } + RollyPollyEntity.this.getNavigation().stop(); + if (!RollyPollyEntity.this.isRolled()) { + if (RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startRollUp(); + } + return; + } + if (RollyPollyEntity.this.rollTransitionTicks > 0) { + return; + } + if (++this.rollTicks >= ROLL_ON_CROP_TICKS) { + this.fertilize(); + } + } + + private void fertilize() { + if (RollyPollyEntity.this.level() instanceof ServerLevel serverLevel) { + BlockState state = serverLevel.getBlockState(this.blockPos); + if (state.getBlock() instanceof CropBlock crop && !crop.isMaxAge(state)) { + crop.performBonemeal(serverLevel, RollyPollyEntity.this.random, this.blockPos, state); + serverLevel.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, this.blockPos, 15); + } + } + RollyPollyEntity.this.hasCompost = false; + RollyPollyEntity.this.startUnroll(); + } + } + + private class RollingStrollGoal extends Goal { + @Nullable + private Vec3 targetPos; + private int rollingTicks; + private int maxRollingTicks; + private boolean startedMoving; + private boolean finished; + + RollingStrollGoal() { + this.setFlags(EnumSet.of(Goal.Flag.MOVE)); + } + + @Override + public boolean canUse() { + if (RollyPollyEntity.this.isRolled() + || RollyPollyEntity.this.isVehicle() + || RollyPollyEntity.this.defensiveCurlTicks > 0 + || RollyPollyEntity.this.hasCompost + || RollyPollyEntity.this.rollTransitionTicks > 0) { + return false; + } + if (RollyPollyEntity.this.getRandom().nextInt(reducedTickDelay(240)) != 0) { + return false; + } + this.targetPos = DefaultRandomPos.getPos(RollyPollyEntity.this, 16, 4); + return this.targetPos != null; + } + + @Override + public boolean canContinueToUse() { + return !this.finished + && this.rollingTicks < this.maxRollingTicks + && !RollyPollyEntity.this.isVehicle() + && !RollyPollyEntity.this.hasCompost; + } + + @Override + public void start() { + this.rollingTicks = 0; + this.maxRollingTicks = this.adjustedTickDelay(140 + RollyPollyEntity.this.getRandom().nextInt(100)); + this.startedMoving = false; + this.finished = false; + RollyPollyEntity.this.startRollUp(); + } + + @Override + public void stop() { + this.targetPos = null; + RollyPollyEntity.this.getNavigation().stop(); + if (RollyPollyEntity.this.isRolled() && RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startUnroll(); + } + } + + @Override + public void tick() { + if (RollyPollyEntity.this.rollTransitionTicks > 0 || this.targetPos == null) { + return; + } + this.rollingTicks++; + if (RollyPollyEntity.this.getNavigation().isDone()) { + if (this.startedMoving) { + this.finished = true; + } else { + RollyPollyEntity.this.getNavigation().moveTo( + this.targetPos.x, this.targetPos.y, this.targetPos.z, + AntarchySettings.rollyPollyRollSpeedMultiplier()); + this.startedMoving = true; + } + } + } + } + private class SnuggleOnBedGoal extends Goal { @Nullable private Player ownerPlayer; @@ -428,7 +735,6 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { return false; } this.ownerPlayer = player; - // Aim for the pillow end of the bed, next to the sleeper's head this.bedPos = stateAt.getOptionalValue(BedBlock.FACING) .map(direction -> pos.relative(direction.getOpposite())) .orElse(pos); @@ -467,7 +773,11 @@ public class RollyPollyEntity extends TamableAnimal implements GeoEntity { } if (RollyPollyEntity.this.distanceToSqr(this.ownerPlayer) > 2.5D) { this.onBedTicks = 0; - if (!RollyPollyEntity.this.isRolled()) { + if (RollyPollyEntity.this.isRolled()) { + if (RollyPollyEntity.this.rollTransitionTicks <= 0) { + RollyPollyEntity.this.startUnroll(); + } + } else { RollyPollyEntity.this.getNavigation().moveTo( this.bedPos.getX() + 0.5D, this.bedPos.getY() + 1.0D, this.bedPos.getZ() + 0.5D, 1.1D); } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java index 5a5b93c5..be235d48 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java @@ -6,6 +6,8 @@ import com.craisinlord.antarchy.content.AntarchySoundEvents; import com.craisinlord.antarchy.content.damage.AntarchyDamageSources; import com.craisinlord.antarchy.content.entity.MissileSquidEntity; import com.craisinlord.antarchy.content.entity.OctopusBombEntity; +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import com.craisinlord.antarchy.content.entity.multipart.MultipartLayout; import com.craisinlord.antarchy.content.damage.AntarchyDamageTypes; import java.util.List; @@ -60,7 +62,7 @@ import software.bernie.geckolib.animation.RawAnimation; import software.bernie.geckolib.animation.keyframe.event.builtin.AutoPlayingSoundKeyframeHandler; import software.bernie.geckolib.util.GeckoLibUtil; -public class KrakenEntity extends Monster implements GeoEntity { +public class KrakenEntity extends Monster implements GeoEntity, MultipartEntityOwner { private static final EntityDataAccessor ATTACK_STATE = SynchedEntityData.defineId(KrakenEntity.class, EntityDataSerializers.INT); private static final EntityDataAccessor ROARING = SynchedEntityData.defineId(KrakenEntity.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor PHASE_TWO = SynchedEntityData.defineId(KrakenEntity.class, EntityDataSerializers.BOOLEAN); @@ -127,6 +129,9 @@ public class KrakenEntity extends Monster implements GeoEntity { private float orbitDirection = 1.0F; private boolean stormActive; + @Nullable + private Entity[] multipartParts; + public KrakenEntity(EntityType entityType, Level level) { super(entityType, level); this.moveControl = new FlyingMoveControl(this, 20, true); @@ -149,6 +154,22 @@ public class KrakenEntity extends Monster implements GeoEntity { return level.getFluidState(pos).is(FluidTags.WATER) && level.getFluidState(pos.above()).is(FluidTags.WATER); } + @Override + public MultipartLayout antarchy$getMultipartLayout() { + return KrakenMultipartLayout.INSTANCE; + } + + @Override + @Nullable + public Entity[] antarchy$getMultipartParts() { + return this.multipartParts; + } + + @Override + public void antarchy$setMultipartParts(@Nullable Entity[] parts) { + this.multipartParts = parts; + } + @Override protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenMultipartLayout.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenMultipartLayout.java index 4ed41801..e4058999 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenMultipartLayout.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenMultipartLayout.java @@ -6,43 +6,67 @@ import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition public final class KrakenMultipartLayout implements MultipartLayout { public static final KrakenMultipartLayout INSTANCE = new KrakenMultipartLayout(); + public static final MultipartPartDefinition TENTACLE_MASS = new MultipartPartDefinition( + "tentacle_mass", + 7.5F, + 14.0F, + 0.90F, + -0.35D, + 14.00D, + 0.00D, + true + ); + public static final MultipartPartDefinition HEAD = new MultipartPartDefinition( "head", - 3.0F, - 2.8F, + 9.0F, + 4.0F, 1.00F, - 2.15D, - 5.35D, + 1.50D, + 28.00D, 0.00D, true ); public static final MultipartPartDefinition BACK_HEAD = new MultipartPartDefinition( "back_head", - 4.8F, - 4.4F, + 5.5F, + 4.5F, 1.10F, 0.70D, - 6.55D, + 31.00D, 0.00D, true ); - public static final MultipartPartDefinition TENTACLE_MASS = new MultipartPartDefinition( - "tentacle_mass", - 8.5F, - 3.4F, - 0.90F, - -0.35D, - 1.70D, + public static final MultipartPartDefinition MANTLE = new MultipartPartDefinition( + "mantle", + 8.0F, + 7.0F, + 1.00F, + 0.60D, + 34.50D, + 0.00D, + true + ); + + public static final MultipartPartDefinition CREST = new MultipartPartDefinition( + "crest", + 4.5F, + 4.0F, + 1.10F, + 0.55D, + 41.50D, 0.00D, true ); private static final MultipartPartDefinition[] PARTS = { + TENTACLE_MASS, HEAD, BACK_HEAD, - TENTACLE_MASS + MANTLE, + CREST }; private KrakenMultipartLayout() { diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java index 9bc6c5da..7f36e286 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java @@ -7,6 +7,9 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; public final class MultipartFramework { + private static final org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(MultipartFramework.class); + private static boolean warnedMissingFactory; + public interface PartFactory { Entity create(MultipartEntityOwner owner, int partIndex, MultipartPartDefinition spec); } @@ -43,6 +46,15 @@ public final class MultipartFramework { } public static Entity[] createMultipartParts(MultipartEntityOwner owner) { + if (partFactory == null) { + if (!warnedMissingFactory) { + warnedMissingFactory = true; + LOGGER.warn("Multipart part factory has not been bootstrapped on this platform; " + + "multipart entities will fall back to their base hitbox only"); + } + return new Entity[0]; + } + MultipartLayout layout = owner.antarchy$getMultipartLayout(); MultipartPartDefinition[] parts = layout.parts(); Entity[] created = new Entity[parts.length]; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java index ec158ce5..be1a7d7a 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java @@ -66,7 +66,7 @@ public class WaterCannonItem extends ProjectileWeaponItem implements GeoItem { level.playSound(null, player.getX(), player.getY(), player.getZ(), AntarchySoundEvents.WATER_CANNON_FIRE.get(), SoundSource.PLAYERS, - 0.8F, 0.9F + level.getRandom().nextFloat() * 0.2F); + 0.22F, 0.9F + level.getRandom().nextFloat() * 0.2F); if (!level.isClientSide()) { WaterBombEntity bomb = new WaterBombEntity(level, player); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java index d6ae046b..00a17a11 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java @@ -36,8 +36,8 @@ public class ElythiaFloraFeature extends Feature { RandomSource random = context.random(); BlockPos origin = context.origin(); int attempts = switch (this.variant) { - case FOREST -> 240; - case MEADOW -> 110; + case FOREST -> 185; + case MEADOW -> 95; case TORCHFLOWER_FIELDS -> 60; case BUTTERFLY_FIELDS -> 150; case FLOWER_FOREST_MILKWEED -> 14; @@ -171,33 +171,30 @@ public class ElythiaFloraFeature extends Feature { float roll = random.nextFloat(); if (this.variant == Variant.MEADOW) { - if (roll < 0.40F) { + if (roll < 0.34F) { return placeSingle(level, plantPos, Blocks.SHORT_GRASS); } - if (roll < 0.80F) { + if (roll < 0.78F) { return placeSingle(level, plantPos, veryShortGrass()); } - if (roll < 0.88F) { - return placeVeryTall(level, plantPos, veryTallGrass()); - } - if (roll < 0.98F) { + if (roll < 0.81F) { return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); } - return placeSingle(level, plantPos, Blocks.SHORT_GRASS); - } - if (roll < 0.24F) { - return placeSingle(level, plantPos, Blocks.SHORT_GRASS); - } - if (roll < 0.60F) { return placeSingle(level, plantPos, veryShortGrass()); } - if (roll < 0.74F) { + if (roll < 0.14F) { + return placeSingle(level, plantPos, Blocks.SHORT_GRASS); + } + if (roll < 0.52F) { + return placeSingle(level, plantPos, veryShortGrass()); + } + if (roll < 0.72F) { return placeSingle(level, plantPos, Blocks.FERN); } - if (roll < 0.84F) { + if (roll < 0.80F) { return placeDouble(level, plantPos, Blocks.TALL_GRASS.defaultBlockState()); } - if (roll < 0.96F) { + if (roll < 0.84F) { return placeVeryTall(level, plantPos, veryTallGrass()); } return placeDouble(level, plantPos, Blocks.LARGE_FERN.defaultBlockState()); @@ -220,7 +217,7 @@ public class ElythiaFloraFeature extends Feature { } boolean placed = false; - int bushAttempts = 10 + random.nextInt(6); + int bushAttempts = 12 + random.nextInt(7); for (int i = 0; i < bushAttempts; i++) { int x = origin.getX() + random.nextInt(radius * 2 + 1) - radius; int z = origin.getZ() + random.nextInt(radius * 2 + 1) - radius; diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/GameRendererSwingThroughGrassMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/GameRendererSwingThroughGrassMixin.java new file mode 100644 index 00000000..a29867dc --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/client/GameRendererSwingThroughGrassMixin.java @@ -0,0 +1,131 @@ +package com.craisinlord.antarchy.mixins.client; + +import com.craisinlord.antarchy.config.AntarchySettings; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.HitResult; +import net.minecraft.world.phys.Vec3; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyArg; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; + +@Mixin(GameRenderer.class) +public abstract class GameRendererSwingThroughGrassMixin { + @Shadow + private Minecraft minecraft; + + @Shadow + private static HitResult filterHitResult(HitResult hitResult, Vec3 eyePosition, double range) { + throw new AssertionError(); + } + + @Unique + private Double antarchy$swingThroughReachSq; + + @Inject( + method = "pick(Lnet/minecraft/world/entity/Entity;DDF)Lnet/minecraft/world/phys/HitResult;", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/world/phys/HitResult;getLocation()Lnet/minecraft/world/phys/Vec3;" + ), + locals = LocalCapture.CAPTURE_FAILHARD + ) + private void antarchy$cacheSwingThroughReach( + Entity entity, + double blockInteractionRange, + double entityInteractionRange, + float partialTick, + CallbackInfoReturnable cir, + double maxRange, + double maxRangeSq, + Vec3 eyePosition, + HitResult hitResult + ) { + this.antarchy$swingThroughReachSq = null; + if (!AntarchySettings.swingThroughGrassEnabled()) { + return; + } + + if (!(hitResult instanceof BlockHitResult blockHitResult) || hitResult.getType() != HitResult.Type.BLOCK) { + return; + } + + ClientLevel level = this.minecraft.level; + if (level == null) { + return; + } + + BlockPos blockPos = blockHitResult.getBlockPos(); + if (level.getBlockState(blockPos).getCollisionShape(level, blockPos).isEmpty()) { + this.antarchy$swingThroughReachSq = maxRangeSq; + } + } + + @ModifyArg( + method = "pick(Lnet/minecraft/world/entity/Entity;DDF)Lnet/minecraft/world/phys/HitResult;", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/world/entity/projectile/ProjectileUtil;getEntityHitResult(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/AABB;Ljava/util/function/Predicate;D)Lnet/minecraft/world/phys/EntityHitResult;" + ), + index = 5 + ) + private double antarchy$useOriginalReachForEntityRaycast(double rangeSq) { + return this.antarchy$swingThroughReachSq == null ? rangeSq : this.antarchy$swingThroughReachSq; + } + + @Inject( + method = "pick(Lnet/minecraft/world/entity/Entity;DDF)Lnet/minecraft/world/phys/HitResult;", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/world/phys/EntityHitResult;getLocation()Lnet/minecraft/world/phys/Vec3;" + ), + cancellable = true, + locals = LocalCapture.CAPTURE_FAILHARD + ) + private void antarchy$preferAttackableEntityBehindGrass( + Entity entity, + double blockInteractionRange, + double entityInteractionRange, + float partialTick, + CallbackInfoReturnable cir, + double maxRange, + double maxRangeSq, + Vec3 eyePosition, + HitResult blockHitResult, + double blockHitDistanceSq, + Vec3 viewVector, + Vec3 reachEnd, + float unused, + AABB aabb, + EntityHitResult entityHitResult + ) { + if (this.antarchy$swingThroughReachSq == null || entityHitResult == null) { + return; + } + + Entity hitEntity = entityHitResult.getEntity(); + if (!(hitEntity instanceof LivingEntity) + || hitEntity.isSpectator() + || !hitEntity.isAttackable() + || this.minecraft.player == null + || hitEntity == this.minecraft.player.getVehicle()) { + return; + } + + if (eyePosition.distanceToSqr(hitEntity.position()) < this.antarchy$swingThroughReachSq) { + cir.setReturnValue(filterHitResult(entityHitResult, eyePosition, entityInteractionRange)); + } + } +} diff --git a/common/src/main/resources/antarchy-common.mixins.json b/common/src/main/resources/antarchy-common.mixins.json index 6376b525..c4e08990 100644 --- a/common/src/main/resources/antarchy-common.mixins.json +++ b/common/src/main/resources/antarchy-common.mixins.json @@ -53,6 +53,7 @@ "client.CavarynSkyMixin", "client.ElythiaSkyMixin", "client.ElytraModelAccessor", + "client.GameRendererSwingThroughGrassMixin", "client.LightningBoltRendererMixin", "client.LivingEntityRendererBigBushMixin", "client.MountedVehicleCameraMixin", diff --git a/common/src/main/resources/assets/antarchy/animations/toreterror.animation.json b/common/src/main/resources/assets/antarchy/animations/toreterror.animation.json index d0a2525b..cbafcff7 100644 --- a/common/src/main/resources/assets/antarchy/animations/toreterror.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/toreterror.animation.json @@ -2136,6 +2136,11 @@ "spin_attack": { "loop": true, "animation_length": 0.2917, + "sound_effects": { + "0.0": { + "effect": "antarchy:toreterror_spin|1.1|0.95" + } + }, "bones": { "R_arm": { "rotation": { @@ -3357,4 +3362,4 @@ } } } -} \ No newline at end of file +} diff --git a/common/src/main/resources/data/antarchy/loot_table/chests/ruined_arena/generic.json b/common/src/main/resources/data/antarchy/loot_table/chests/ruined_arena/generic.json index 5f5a748e..c60f316d 100644 --- a/common/src/main/resources/data/antarchy/loot_table/chests/ruined_arena/generic.json +++ b/common/src/main/resources/data/antarchy/loot_table/chests/ruined_arena/generic.json @@ -3,22 +3,6 @@ "pools": [ { "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:iron_sword", - "weight": 18, - "functions": [ - { - "function": "minecraft:enchant_with_levels", - "levels": { - "type": "minecraft:uniform", - "min": 5.0, - "max": 18.0 - }, - "options": "#minecraft:on_random_loot" - } - ] - }, { "type": "minecraft:item", "name": "minecraft:bow", @@ -35,32 +19,6 @@ } ] }, - { - "type": "minecraft:item", - "name": "minecraft:crossbow", - "weight": 15, - "functions": [ - { - "function": "minecraft:enchant_with_levels", - "levels": { - "type": "minecraft:uniform", - "min": 6.0, - "max": 20.0 - }, - "options": "#minecraft:on_random_loot" - } - ] - }, - { - "type": "minecraft:item", - "name": "antarchy:battle_axe", - "weight": 10 - }, - { - "type": "minecraft:item", - "name": "antarchy:scorpion_whip", - "weight": 8 - }, { "type": "minecraft:item", "name": "minecraft:shield", @@ -141,21 +99,6 @@ } ] }, - { - "type": "minecraft:item", - "name": "minecraft:amethyst_shard", - "weight": 8, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 2.0, - "max": 6.0 - } - } - ] - }, { "type": "minecraft:item", "name": "minecraft:experience_bottle", @@ -180,7 +123,7 @@ "function": "minecraft:set_components", "components": { "minecraft:potion_contents": { - "potion": "minecraft:swiftness" + "potion": "antarchy:shrinking" } } } @@ -210,7 +153,7 @@ "function": "minecraft:set_components", "components": { "minecraft:potion_contents": { - "potion": "minecraft:regeneration" + "potion": "antarchy:inverted" } } } @@ -251,6 +194,36 @@ } } ] + }, + { + "type": "minecraft:item", + "name": "antarchy:uranium_nugget", + "weight": 3, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:titanium_nugget", + "weight": 3, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] } ], "rolls": { diff --git a/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/hard.json b/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/hard.json index fabf7cf7..7b3f4bb0 100644 --- a/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/hard.json +++ b/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/hard.json @@ -6,27 +6,17 @@ { "type": "minecraft:item", "name": "antarchy:ultimate_sword", - "weight": 8 + "weight": 2 }, { "type": "minecraft:item", "name": "antarchy:ultimate_bow", - "weight": 8 + "weight": 2 }, { "type": "minecraft:item", "name": "antarchy:ultimate_crossbow", - "weight": 8 - }, - { - "type": "minecraft:item", - "name": "antarchy:battle_axe", - "weight": 14 - }, - { - "type": "minecraft:item", - "name": "antarchy:scorpion_whip", - "weight": 12 + "weight": 2 }, { "type": "minecraft:item", @@ -206,6 +196,58 @@ } } ] + }, + { + "type": "minecraft:item", + "name": "antarchy:uranium_nugget", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:titanium_nugget", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:uranium_ingot", + "weight": 2, + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:titanium_ingot", + "weight": 2, + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] } ], "rolls": { diff --git a/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/medium.json b/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/medium.json index 7e3adfb0..75182308 100644 --- a/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/medium.json +++ b/common/src/main/resources/data/antarchy/loot_table/spawners/ruined_arena/medium.json @@ -195,6 +195,36 @@ } } ] + }, + { + "type": "minecraft:item", + "name": "antarchy:uranium_nugget", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "antarchy:titanium_nugget", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1.0, + "max": 2.0 + } + } + ] } ], "rolls": { @@ -205,21 +235,6 @@ }, { "entries": [ - { - "type": "minecraft:item", - "name": "antarchy:ultimate_sword", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "antarchy:ultimate_bow", - "weight": 2 - }, - { - "type": "minecraft:item", - "name": "antarchy:ultimate_crossbow", - "weight": 2 - }, { "type": "minecraft:item", "name": "minecraft:diamond_sword", diff --git a/common/src/main/resources/data/antarchy/structure/ruined_arena/ruined_arena.nbt b/common/src/main/resources/data/antarchy/structure/ruined_arena/ruined_arena.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d59f43224cd5795a0870399ec803d72da7c3523a GIT binary patch literal 267168 zcmcG030zZW)^``tR#ZAwAqYa9PN6D7AQC_zOkZ1lTT$QEsbbl=kXVT<27)0hEfi@> z06UBl3?$!_sZ2+fhA0|V1DZ(5GL(@dLO_co(gZ?@Bw`4B=LTH5O>3v)?_SA$?!C`? zp0oVVIoGx5nJ29O=KrD^OZvm>r`WL#p%dNNuTR9MyzWyGs@{JsxVq<)4`wzn-uvXA zhFuw-w!A&?myZ0V$q{|P;TPU~O8rT}POQ!>7Uv7jO> z%%~x!2Ilm`MHMNfpt0N;dztgi+dMx=Nsnd;F*qD%e=@uKb@RAGXL~^;QFJK zDC~jxLpeo~Y(dakF)u=vT%aik*o>h^F$?p!i8+3!%kpNzu;n(Cx3O{?%8Rn~yqB3R zd9;@!WHp`s99wl!kiGs&eqMkFvpO%p6GNYm(OL5OFJtJXvAW>nToXopCML<2_$D^P zh7yf6MqLTA7uV#`Heq^P84_FZSq9JNbX%U%3&V>3&Y^vSA@O?j2=(h2x*}9N{OF;k z2wJZ?U(VWyVbz?iR&Hdf^0+f4-#KU>bH8`ETvh~KNi*DuB$L^3F3U&Y>d~Wh4MVa| z%wq8Hr|oQbky!k&_YaSLJ!SwGN0xoaB@4ouVm!jJr?y~v>=_BR!bTfJnaA~gV&MnP z<9o&G^D*roA9R&u3dmpjB2CMMM^_*L$GOg3VI{F1BJ3#y)8ow;#Vi(QFBeLm#GWd| z^lWF0ZV*mAhtNLc23-zwiSw}Yex$f>^rl(yXbp9rV3TbOyT!so`)!Ha*$%?SRmj0Y zZf#dsf2@ZVdnz5%vyG9k{_%?wLl%11H>!Ap3>|JFb}3G;G(?KkhxRWQ_UHUuPk&+n zKV3}QxY*VHbmklVmgjiB>w30}-w}in}dK+_@?8Rvo;6yoAN%7*X!d5453kt>4{?09q>NYhW<$K z5;i&@$|A1rN|-UugZ`_ERSrT$n-imo7U!YyK4rj!ham97II~hL&*PeVFxsaW=})S6 z3T8dx?>6Ld_b6S8>t?*q9+fc9=W&xd!~9~&`uDhVong7LwH?_0XpGj2G3_9{XNy=0 zev{&{d)jPr^IWEb(|2p0^bZxSp579Aav1AF~*S z-$P@J1__V4AOWS^N>P{;os6cv0tLb5(Gu%};)cALNb$s>A%{@8!&&Y@F9wqRKDYf+ zSaeLS7q;I4qqSvB+X(MH^*F`GRT%9WM*4E$HXEc0rdtqJ6H~hn+rROri$g!#H}@RR zZ=H5Mtki!r{$DVOk4y_pLW}5qZso9RF-)0{GvZjnT_FlPj(Bu=pSp?ZNns@T|5n9) zbsE?hkF-Iq%fX(`fJOO9?)4K)?PrRIZO`;@&o6MZRXY*K0xqL7Y)7m|HTKk-n4Xsz z32THt%YS__mHP3R@n8BlMC;9{Lm4jfjS^+1?$FkbwZDoX{yVO!nAsrgCqHDhnnFxq zNRUf0u<{@B<44&3&&<&GgoHE7fftrRq0fx5N)h+!ABq%ppb$NL9{(5<_1+hlATt+_ zRdM81akUh0{NBetsC$lXo9q}2)1Xz5RYlx@4}axhfdSo6UYb9OP@Y3f8Q3P^r7re} z!S+`j+N>M7eC|xam|C7mCN~tKoti25RY$rv3{WwPGG+2ajLyRW(S|bWaF0Dz_h;8@ z*<863tA?4xPP!~4$cwp_7li7K|G_bK4V^W^8btfH_%%U*u=yR#IPPcItB{6?@t0L`->CfF(>((ZI*iiVTzi19z4RF**X|i)_+T+tUn_jnB79&| zKBjVE#;*gLebi1kwG5fb=XOYne{lXrHkj3r>nQyZ)#%rmsz0TfnUJl&i6;5umE@HC z7Hf+xd0#?Li{c@=a4Nd`JIKcOfR0~&d47pi4>aqczF(x=fI8Ho0A1$CkLwu3YzhHx z`qa-HZTVc<``}7 zN)8IFPej<)^XX9oZ8R%{_Htv-ozU3#cXPjr3(hvgl4cO+x=$6tCp+3 zh$&fqW}v6FNb6V%Ny%_gB(_H|Q?y$$66Rux5b$E)VD z{qQO?%?q!ZQBcXv>H4oS@x+DTHFr#uA>?E5~9_C1dG6O8a-v4RwX z&_1$Xf9=E=qXdP{#sOmyYGd+G6sgt#x{aYBo-(_24QzSRPsO13Y z_V=G4J)FsheCIz9glSriiOZd~6ZYeo6NWc8bH@m-=bcy+^nIo{!}j`_t`nqR0YUy0 zUq|6hMUKnSf02G2vWfhKJ81J!1TP$7~Ld1 zx)$Mo%#FAbRv+g9sNUJ%q?p-IklGv(`O)t3vjbcJ68-QY%Y}1EH>8L5-{K?tNBJl~ z<7C5o`y$(}AhpSMQdCMMb(~e;D7Yz7~`*C`vWn6XHBmXW-dd3bq@)`^f9#=zrNV; z7MAL|((n$pe>X$6J5;i}NM1I7r zzZ`ZTu6DC`|H)raJl1^lMf@*%^5^Td?z+)X(LuEN(!$ow-jN4fF8}IYH8m^_L{p%J zZf^b!x|#D)fa4T6#n`_?fZpO4YL!kB(RnEBjK7msD8z(k=>irZ?U#<(ye%`TN= z{^m;Y*rBB~k6%evj}Qy9ezRX3VtVeE(c>d8{*Zce>_g=zH*>ke;UP{_gezg3xZ1tm z{WTcvKF0J$;k`9T_Q%{`S`2&TH|f*;jRrm2$(`9Q3~2deOkL;jOIZB7WbW{CE1>f75y5vs= zSI{1J7$us;GD*ps7D2i;-DvJ3lN9%>lKpWBOh}0+zwZe@{b|h7X%*~myt9h5$P{}3m%o5T`fvBv&@^ye|`%d;+$2FG6&o@3i5 zX{a!Lvt5v8NCe-<^<&@_pZ{>kfU`PLz>kEX%Me{~Dc2PAV;4!wLy89S4z3YL3exm5 zZHg>UW_jMsTUeDPPc=0AQl_hvIgx$wdDf#Yn6aV40WRMYZX8?B8tBxvp5Sa04uzlr z&&?*;ZgP~Z`fRH-w|K~@g*!Inq(>;8GF!@<7}1au^K2&)*#mH@ex>+`AT6YCT9LJp zDepwGPjUirS$1bXu%rv)B^s8+?g=lkk5ln)s;S92*(h}(lQ#IFdP?HQKr!;ChLw=qWu zzNiUH7RHGlf=F#g6lO=t!HYz=&{-J#jm*V)R0KSM1}LinE>X#ZwV@f(CI_d$1JUb? zt11xc=(Iq$7L5T)UwwwvQ^*A|>g*s4*vK$&u_fuN)wS0DKehh<53DpjwvyH9-@lug z%tu%K|gNw?= zR=rQ4$fhu+1JyhRk8pYm-$e{z@YXN|>ZqnbS;lc7c3?~D{IE^nF3fxy(XM2C=K?|- z(4ePh8FepVVMU-RvRx71i(&Xbj0Ogq@DzB|*tWv{XPFL;B;*;Nn^^q7)V&z$@)4cA zkP8mk{^v2_yJE;&-bXK>D(wOm_0VfS)AY==J%V#`lXhX~gT0UI-pb+9>A~p4w)n^%o*hPcV;v+O# z;S`iWJkdZl2=97;Q2^+|%V3NH#G%4ylNjlKXb4!d6QU~SP6)#?klGfw!-QM}nN8n# zxjfF`HbSMh_e(f{>&k;IO#uG$d&v^BU1g8Ly3e1L_JtI%LM#kMEWs22DEqo_P(2@GCG}^_rPJtH$kgh-;FNA8cVDG2Acj82s|m^9M1cvoUCBXqFHn>&d%|xQ1DpbjWPAhOB3jh43+IAMcWf%5CV{~Fkus;i+Vx`W*d0_&^zpB5X~$m zP$NQr(SI+#V3iN9HU?fwaQ|-6_MzR(jDl2hasjt(t%EA!z4d{U8-&_`U-<(!ryR6S9it5VQCQq+-A$D#)I&z%U>g!>a$oD@|%N zv!Z#$a7l5t-V+V$A8sk)WH@X(ZMx2XPPoDDTbazQz>8= zq!Djp%ll}8#X@b0wr3eC)+I&z6Nnkr=|S(V;DfsTRoir5?~17~^vUt{ShNm{Ekm_1 zJqrW{or39s6pO`4gHrH18)3az_&7?~ckFr1JFv(Qhy%1#zg)iH;2gAf>A7bM!7)w4 zXgRqfpR51;l0qLCL*DxVcxZum`lfFjA){BpzY`i?#SE;DMK4?~&w60YkvOsbtCOVd zLnpy2gPJNOypen_Obaw`hK|_9kwZQlYo5a6shnp}vD5rK zc*s!~+5z+qS6?Yufb2Soz=`4##3%;8Rg)Zzb3g~5)Ttn>Ld^b*@eyoOY1hI9;3v?n z1-G>o4H>A8ZQgURR6-LdG$O3g)P!xC?|dYy1r%bqBF`6aEe>eb3w<-t=LPNp3FsKV zL(_SzTZ!pfkZMh=0SmJv&L9do{aM?!DePeCNERcS|EP=?b)Ql)L1{>gF7*48e_2HHOm3SSBeDk0$m2 zMegdXw11c^1pMmO(Jj=aPkpqKY&lrae z0ySFU7%J!X;j8AS46F#8&=`mrfG`SR5W|9pk3tvF(hMxs%gXzJT~X}|VF^*b2ep9& zYo`AZrzbsd$^Ia-D?1s3Rt^bTz;MyI%61fk#Di+l{a}Ip1UF$367C0ZNWm8ZrPdG( zbXevCbQoW`|oC`rIM!vt5XZT>uK~CtppnpIk z__1U-w35Za!UR89E$mH0v9QO?g{jt1VY2w36y>H z#E`wLbC;ue=0Vb!l|){}pc4f=2c3M7Lc8JGS^ba6*6#t89h48gFT@n>)_sEp$~@Rz zu&e!It*;iL*rz3G%Om`Z{zqp0ND{(}Lc>uOc^v(Zs1F=kHn#i^Wa~8{3p`Vy7ssK= zg7-slU`ja!i+OXA(K?Z^9eMKM_)uDaDMJNm0+y;@ipl^W6p$_*;fu@P+#Z%$s#=MP z9+a41XTXFQyce-1j&~Qz3l_=nsm1MqPW~|WJ+3~bOJM?i6}5Hj@^OFd8%&_NQ<44LqR0XPs3Sas3RsZY+3q+P^J+v(W7KK9sSQgWO*S;PU@f6T3*m==K?O5E4vQ`2x?Gys*YV50pirwbGq2=7B1-N?meB z-2L-=X=}-VSo6~3 z3t~(+B&k8keL=ZHpVI(AST_PFdyD%7Zo+n7BzutaK+?H;S5w}?)M%^56~HH?U>giG zgb{0iRlp9srx+f*jGm~n2;*8L&h-q7WH-Z7<%`m~S3zRaBCmiyi*@f2q*XQAvp8|= ztx7+XabP{2McHF~L4R>Bf)WO`~q(>AXWN5xiJ@_?`vE=xeo6u%x@Sz3^~$9AN0 ztuVlg*#jWaTG$y@EfFP8pkq@4)~>)*ic+`@Owm=8hEb?TEdre#Y@5*jg9HQ&p;I#1 zc6J*k{44^Q$4&c1ig(r{iRp|{9GZ9mrJ&w@T%6#4re|^((j95yoY>0z&S__R@tZd@ z7ZgM_5?k5V=}#(1mD;KsA=nOdOaKdD6O0BC0mXv75xBE+K{Z92KM3UYU`v4sv7qgt zie(^}3;;s58E97nZFmssm;4lBa)Yc{rlb>5wml0P1voE2Yh4hl@S}g0nGd(xpP>Bd zn8)HSZNG$CC6Vue8H1{kP;rx&Rj1U1Fkb^{w!i~qX|W6Gy)Et~s4g081KovDRs@|} zAxd*3l*vxr^xDn_d&_Fopl0HNtplp+shdnsPHvGT2{0fMLlp=XqzfhNA`vcN-^2J( zI}Wt(=^&x>2-e|&vb|st6k$>|QYCR3m3nHd>sUG<8z;R+ZH z5IFb_Q(#!J~!y=GK+M zoDPr(3w2p?om-`=kKoaqcIxuz|moloV;>eMOkf4obAVYvXWOG2ib2u-SEIB^rbC}3} zXGd%^<8=4Rp1-?pXFEX{K73IF#j|MZh3&c4WH2;3+=@`?LhTSzCi=My_;^Lrj!wn8 zXOYA|eD?z4^ZWl76aHfC;=|!P(dsMm_u4?8p+UEBkLsLNuQZ9F8u1>14(fUxOLZwg zC3jsowkb)VXtqJL_Kd2XvAUq;NTSmt0NcZhinUheXYE!qxq>DOL4)8St)PNG8v!{A z9miwZWsus&w0^?mA#nR06!+l;q~@eQ1>i3x+&u;$L;mL0T(E4^J^*e*NW6MVJjmtG z(zj+18Itt?!z+f9E-5ndkrG?s-2U~#xspwfhKuU-ug2)~%2+VX+e4g@+_I;5FGH>e zGbu;XdcYOHoSV6?>NSq29D+3*l40l}2%ram=mQ%E@P6UL4CoIN4rRvhK@a#uLVpgR z{jCnH^1LzWhg7uyKvShbuj$a}a%4Ie!^J(G9`SLLlryy)Zv?hF+rx>N!gB=c*Ed3Ow%esiY3fp+$+H>BN! zHBHL473B7BoaODg$;mDap4YY5&yYx&vpn%FPJ-LK2X025p#F-Uo-o@`_pZ0T`S5Mz=Yqkyx(n<7hGp5IO+zG=8rJe-Fe0EvlkY@z$jCoe^)wWpo z%#|cD_^ISDiF?5cHM(?Vc?I>`Ig&E|pO;3Cp!m2h!WL=RAdK1$A0AP+v`WFa7Tw!e zdfuV!I7FApmm%Q&iE?FFR(T1f7OXMb$J|Sa{;0Uk&Q3Vrz8Pa4>ghUE>4*$hszIfWL95Qhk7o8s#jK~gHOBMz6lYe*TyG@=L{5d31E#ns$aJ>TUtW+}U!8g? z$KJ0XHEFq=5{}U{r33?rUUaDPhF-HreS^_GCrmmOVk$^=Sw0f9MhHyRfGJ)*+xBPR z{r#%F1*vQ(w|k{&$#D1J94lL-j<38CIB`AK?p7wj!9|-en`~<7w&S81OrRNLoXGj8 zo+L~g@faV8s!q)tRwd1!ALa|w=!Kv0sv3F`n~veCV0+?jcA$EETaB%L%5Txt0y`eA-F*WcW>Pd+EIDFQU$PPX3X3)h4C`t(G&AJMLk_+frIU^JEwf ziW|P|P-^0@=VpLHw;#gS<_L3sX7L}*`W#?aZf-3H0=v16Wva7B<|Px?n&z+bK}>?c ztS{-F*w8djrOR%#zim#Y>KiQbiTs#m^9zD(p>dc6{=QE{hfVwTpK729<4s8q{{Gp7 zacjxo{kc_yRkpEC-U>e6J)zoKrfPW?KAVJ=jG7Lo%ztVb*v#|{FNp)v%%lHtJenHv znT2N%U+V=$r8#TW#L3Y5fQtuwXr(qLH#b?L@K5Xm)cH> znMb)!)P?FjGHV^ns``i{l@3DwhoLE_212RUlNH>ba3@S~Fv-|jZwu*kR<|KaleQy+ z_Ciod4!%0FM02hzz#nPk4SKAeu(i_S%M3#pM&rHC-M>bn4s;9bkqBv<7>1x*iO)0A z2Q`O4L60Z#%S6ki2iz0?CQ>Mn*hb3rZbZUNs{AbdZsMJLl_H^wE$S}-Pk zw-iA*HCNy*Nv#8P4mx(BH;u#>(DYxP$dz^9;^y%NiTKe>Z1m+>jAXx{^~0Hf(>jlg zMpLD?@?cVv>#XlOv+gD0g_y?S`O`YvJe-24YqjA;W0eOd;yYGXlJ*=W3(@-TpJ^Jh zKp(xetZEbw=N_Y8pnMmn;vY&`Iv^Io7PaZCDq2daIol)0A<+A4quL5@Wx)91sX0Ns z=G@tC^D>yyde4qrVkmVFOz55g@uxA?2Tidlp4S%(10k=Gfpqj0c1v*s9Xg7Be7HWs zaQIFuL3oB9C2%B9pXT8dMz6s9Bf|FTr^~7Y#1OAgD)l-eJLJ;6L*$iT1fSOF($d4; zG24)8%1mJ?p4(<W=Ay9xWQGsc(M*^W5xfYmI78DOBN(q9A=w0xuzUE`dx)I4}65mV{CCuagzdNMoe zT*Y5w8Vz0KN?xbG2DNHNBGv%;2%nW=SYuKPLFg8UR0j3GNruLB{AdU9?wiy6kAw%m zJT=hif1yCTNIsnHG(BYn$8kGH-{>CnB?Z7H$ zZpOpaNb3s0J74c3>v+#Gb>x((Fx(j@(wOs@Z{~zxcxR7`ZCTYyJfiJtsD{qu$!PVf zX86%KD#3_9ts6|93KN*l?seIGH)mSM&vn{u43J&h5aLt`b2cFt69w@c1KBOmDPsK; zPe5#Z^we)pgd6BhvYWY*gi~sQSl!a43uk*-O$Bu3&j{|pGY_6q#^8$bx}|okZh|c= ze~x0|#9wTh4ZHt%M0h*$iwxfo*fLPvE!{9bD?XHDU0GG9KmF<9w?AR&LcN?wA?w`l zhQ{EO6;bGkm&U>hML~OK(6hW46^Vas%S5N)qA!v7G83&u zQ;U_-Vk-@u{tgAHo}Z?c!~wui4nM0?2|}TCX~S}vr8y>Pd4p_sY^9Y@QUT1c@AVhZ zRPhsHw2q!)bEm)Eg5=610PwPJgfM|I`aAhT^?&xDpFt zy8QNOc^uL~vAhI3!Ab@EXwZ@4H97EIBJHJhsRTRkhN*RNjU5LDLX8!d(53H2Y=B0A zSuN$sH3Nsx67A~Bl|-4ve4>Htt<)@a*UsFSO*wK^wv=aC1q&|*NJ2-+R}QT%v#h!s zAL5VOL&Y=4CEiM9Op~7|9;yohwgd$6=&4ffnN)TXb!1>1-gx*3ppL< zC$!yW$Fl62Bpj^v!l}W?%QaF)w{#Pbt>yH>-%aifdnW^g-C7*7NnV-V4~^G0Rvh8G zgqjBPDOX`py-N#3jo`aY@4R2EGbUA3dEstA~A5pl%XUKp^6L0MD0x{`*LpywVTzjQa%a~rMp zMi2$|CuzNVsV~f&=XLS_VU_$tc}qX-+tz7 zem>Ih26_LeF9iKKp(t-!gRDjY(J}!Z5v6U%nZR}$3gpl6HbJmZ_NpZaMdJ&CJ*c(9 zmzLeWqtq8^#@)POx-Bo9HJk$$tj?XF9WAS>06yi9lSOqUZ*NcTZ2fXNs|b{Y1F|TN zetWyTD_-*rP#Qwt%cx36qAt%m=LLh=8a&;wA;cZ{7++$%%hW|=|G5yD%mEn$ylCEJ z>aucVf&>>E9_rI(VHM=D9ctiRp_8|I!5M;j?4BrYHDKu zy86`0i0H|}xjD1B7aDi!Ha~~tb~sVq0#)igP(db(twh)bwDn`>sfF?!QwSI>$^a@3 zJtIX`B4Isk3#iGdo8)CxZ~85s7jl8hX7~CfH|<<3A&uzP2$k!1Q+KFBsXHv1;dgrA zcU3Vj8l#EXs&q^T8czrA6kA!{>Aw>g#|#B6fpZ#kU|vgEBHK~qqD4TlA!WFiuB}A& z4msgU6G-Zs-f1x=uqe<;0t6R8#iNW0lx~z!fp7!iI6R{a&6u10%1XZhE=Z&Kut`@o6e-)c&es3UuqQSm}0PmL*jQZf=2EDSU6D zZUeYKeQ(utP6w^6U&cFtrMk`j=^|UR;p(*;K|%Cvwk=9^Vs|;ko|TP;s8H|mQ-Zy= zf3YL8c=rXiowUonK^93av6Yu)muv&bVE<_P+*`+@(3PIbSp~O4`ffyI`z&+d2AqP= zBD{4hyS-aG`_3`27qzni_!fvgF+zfLvq`a!Tykq#pwL2llOVV!WpRDM4H|_)|888P zOqjf4CLp)Tjpih2Zj~nY`of3lwvBE9s?8DHI_(u#rt)IyVxf@}z!y9(#hcbQa^$8B z3Kl#E{%vJ;p)TmjGF8SQw-)_B#YId`b@xPIsPy$b+0DI22^XWW-G2u~-+CL{{Q>&( zs@eg4Hk3O2*9r(9jgJDJ-`@4N5hA0?6xV3Bk;D&o^fIb$!iJuejEYWsD=m4FuaN|k z?dk3b2T~EQ-)(vrR7;Gv7Ur^S}-b88|kYhD{RVCtgC==Gaw#P^C?!E5L?*;rXuC8B+X>o zZd4!MnmlFb4C{|vTd&#F%r1k~wTWk??s ztu)<*Wqo1yR_RxCT@yCLzL%a3Gs9|3{Q-TK|0Tg6Cg(3!`tCcC0SQ18e5{lbTPfTA z#nNXc_@O|D8QXRn_sh85IUz5FCxhU39?W3YZpb%pEc2azo7|{Be!7()$gb$tf~K$& zRU(JWyQ8{*XWM6&NJ>yTdOcRhUUUCXdyOsS4-l}NdUJZrcsH2~{|QWKzKF)a)MZc_ z0dCJ(wj43VdgHyY3kNJ?x9sap_=bW+>4e|z9Q$1(S;aZ_0=+uk{7UErQ&zEr-Flpf z%8O+Xr3+5iX3l|>y_@J(;v)8s0$QU1mC6{nQ#qaGlxO$=*t}*nR;gdTdq^hGuTE$% zm^S#kKbyljG&NV@Skux$S;NxJN&9nWLB{5SZ8NtACGHZpmJZz5myQT&KT}8O{Tn6U z99S00^ro^u;u^Y!ZS^Zdsdj&_(7F5{PDM*j2}$tD0AZL*YFx_nR?&{7$Udvk<-8F{ z5>M0sVWV`(`6|@t_X6P$=w7w^DwOI9WJ$PMI4Vzp6?+c|=HY|l|4~nUd8m>8lIx%O z`4A8RKo8*$l;_G+6sSi7@1nJ{cj17O0Wo+2F+{k@Hs4iMels2BP+O|b59-gnd0JjA zYW}cTHLS$kRj~%cGLm6TnyJ{UdVV~Sv{e~gj=t-9eAZe~Ik~c})87ny9NmbNZeak# z{`sF?Xa#P9q5-yY2>@s2jc9w&Uw)|Y*@>FadK$43hH4C}0SwKw&rM%kA!^hHY>to} zObf=1DB4(t+gu=Ur)UOB;Ow6G$_6esdoet8~^oDBf zvpJ#~#}>}f)t13hkk$PnMOx|kJ5g<0#6|Fxq1OPB2G-XN+O+WCy@TKehtI8WTmhL` z2w~nATL}){S3;@LZcZAYam|Kk_ZXN>F!1TlWtP`cl7BxC-MXe;)AL-dD9J^GCk&o24xU@C0BTKd#r zKF**!-LXUNTxr6WSyUf)BU{FYJ5~y!h{AY|M#ctRVHnt`<-lace0Mut7_VuQw5|cu zYaTVS`t}$*1;Zzkgi?C$s+oW%P$YKL{|zsP zQr!mO4CbNkN`=x+R)u2V++~R{c z$?|Ps0~4Kq>1iOArbiuHDFbL(`Zd_zKzBPMONb}rfc`Z=a}9d{5E-Q7qDM0!;*YX6 zQudV=!Zux_cA|!uY1=Xmof9DgyC>p~TV`z$VAvyrJ4Pa|2muNlGGr8(X03t#{w8aO zPMw7he3#$51N28|1Tq6&Ox5JPBaVVZ3x#Y$b5Xxo4#t+#wxi zk1^mT*xUd)`G%+DFeB~U0z*(-CWndUQ`lSHxu}NV)MRJ_Z1+_nG}uM|t|*>kBVn6C z^Nd~s=CvhelGfXuLsN63Zk_Jf2`H+GrR&WzbfE@4S^tp|@<6~0S4QdOC-jfl!MOSEsnbu!H5$akMoPyIPW!33gO0nY6Bl^1 zY%3lz@H%{c4X`KDOt5R^6~JxG))TN&QM=5!EPL4%j^Gx%; zq#+H{w@>HGNJM$7_oV7MgZWJHp~}w^hn(-WPtkb3lNbJ^Y0z{Xf<9EmzAI_E6BalU z5?(Y>;udI1RJR26LsUc?D1)KNq)9aPVdF9|#X)xB+U|E57#LKjNp~(rq09#(AzPy- zfT`iy77(4j9v3ZO#VBy%!lKo}P>u#?aJibCsAIK7oigq3!TyQR`oMZC{0|gxV6T`G zh0?F8BWS6uBVOpW;spyZV?g+jYpp8mzlWS;1`7i z2UA^2@Ni*F^mCP0b{kU#CexmJD;a6#f>97YsWExER7*YnnW6bc<&nk<%caW3wzcZd zC&QHbguTXp2?D~KYJiQUmj$P%7*Dp@c`Ip=RO`WVb{U+Q@|#Pdx8J@I0Jy{ZuS_yMYADg zO2X>vS5~UTA^q>5K>i@7BR4Q)6#$n*w=z$;BqBG=Z)-%#4*_6k=y6G;+|WNIWz~UI zpWc$6dn%c}RjIi{Eu5ufRw$izL%$(%-UPe}CEhCuBhDx?Oji0A7H9+3p|?Ygj;#y6 zhhG0gE*IBU3V7nzfG>UBXbr;w?T>V*OydGmYXy<3c)RO0Fo1w?W0*sMd~(rp>GVGU zyW8;{;H=>|YJECTJWwJimRmPq#~?87&=Hgr1UQ>(4r2qcOhN|shWa3o&XZ34 zn9|Wb+8ywE3W~c%T{y6H5sJ9dLqk($tbftKu7yuNqMtcDR;vqbs7PW*T^6dx zzB$w=ll#KQFsbCEDaz3i--uatU!?6sN9NVJgeQ?55%``rRVs)3@i~nH6o{MpN;Mxde2> zE@FZJ)0-Q*!14nXY6oK87itV>1LId2gO|R3Gjk8HDwHQJVDMyX3{|gxGN|DVczP{p zPe2I4{iO;;z%AO%OwUiXGtN%*35NnvGXtdA`XSW81>sf)dJz?PMMA_b+UChHIo$RP z>fe1cICmdLgZF9Rb`t{q95oa&xw7R@Ww{~^2q*vGj#yM&R2BkZ7}8NPN+qm>yl)f& z_7~`{5wq{1ganR=buai^T>_Pi)w5C%&U!Jibb8woE$2p{$#{G=(9{Tdhu!|spu9;f zZrbJ>JW3h-1U|nOkmOQ`0eM+{elkquJ0J4p#B5}V_K#vp+3#O@ZwXiL1phz#=O_O6 zFzYhcf8Fc2t&+=UUZj2chejl@=h)Yww_YmC9yT1%jJ=sF|Hpu)U9*C-toh!}?B=s) zr2)fr-?T?I2-P-h?P$`Z*)YQG9d0Jpdjyq83vfK`iJfLrib{VwC?Tcz+uP|?v3HuI zwzSrZDU4!SM!w;U;Jl#Pa0cf>q86tn6Xh6^Cfd=mGIEEerb2oC%j%KzFTc)x9@$!FBqq3V~Fw%rA;#{s*gy6E*mRDn96DKuxjTmoi{b- zoFrdcv2!5nuxpe*(^kR0U`M0|8@^1+f&Zi(AssC-o=|6|`lM=h+pT|8M4oMJG|a>h zsdYz<{&IU4%{_s*{%x263WF!&duLV((yuB<2AzYYH@4jxYCSIEpP!7lV9(YXZ}X*C zp0)y>;!XNz>?}2Ws~|_2Z)B=_F@Ym|qI^?nlg5nTTJ{If>&?}gbrEL=Sup2HN^sb* z`enAV>6n{*mlAej3bY(y=fKwXcKTwx-t8Su;?Wj_N2@;o zm9YcD!`U8WSy``fMLkK%){fogFO}m+r3OLgNY+Kxg^jotHSLanejuJ&^O&?n4+b))8+IYpbY*;6$hYEr8{Sb5qP*BdH1hk}Xst1L z`MdfO*aEsC@!bA<85}znOF5hrt*Uw_*RxdO>ueHF+f>sxBqVu~Wpy?bl3*}Wp@tQs z6o&;)R2oLYj zS`WmRk|8)$OWe92XXhZ+S&G_vO@C@VuO)0H={e#STOv;ASu9Ctt!EINIPh}BI;28t zyJG}f?Tf4Cp6<`m0{Go#ib;b_ZWpq!Ng)6?rda^*%?2}oKW3aW~+#EJd`X6v;(tOitjK6c?e=3w2 zW8$Wn>xWog#l`h)(cucVwtAeu6@R@@zH@+byw_9|<$A<$Blz1k+WLVkZ|(3|Cv&VTtSGlt zU+bj2%O>7w*No@WR+g6aVtNj_63^M;yi!|zPDjHl30GX7NwF|&huOV4fY}R1 z<$OFL`dH;j3l6?>M|LG{75cm*@>z#Cj(0Ko|IRSR?l5COg=a4h; zTuH*#RXC0pX1q(R!|mdwGJ7MWP>wgJOwRnhjmG^Vc->jY;%j1!?GAGQ&fMDHo6{bI zAMTp#7PpT~9CBrU8vzeM6KcA(e&_4ZH2U_z^GZz5-}z{7)kmR|IJ0h$>`6N3Lj2b# zLmjgtF>=R~>x9p&~;Ut`p-%xV21 z*cC`)1tm$)S|C5!n|@tmUGZkO*{pNHq@a?aeODtc;d7w}go6t9-W>z5h@Kz>CpK2} z4v&zC96!RnZ1SYz4W;7h?XYY z)diMnnUKWx!W454fZ(N}^m#90-wsaVml09ed%B1noT{GN#}e*jZ**MWAlqr4gwBdd zca&@fA(zR|le2pX;)rmCy2e%wlls;0tMSBKQR+F43=7@QKEA2iQrVj$JrqK^!ygs* z!4sqe9Iqp`Vts=bRJH$gxOa*q-M;yj7xfrmEZbbXH!}x z!l}lQ_;V1altD%JzOK04*0XvQJA^6G7v{^HWKrgVd}U?eYzq0#g|cKatHCrd?1~(FXHY-oleZ1o|olRigmm!5Yg?E{(h^7#`V|f zICIqLMS;%SyR#H`S6Wdm3OHY)A^_j6CJtoLV_ABJ3u*G;C)MKte)#L`mg;fGtTSKV z=0|~4FvlB-MkS+K)9i=OtT&@#{7%GPA(7ISFlkZHdHhr6IC2#5M4jP@oddIRWc+}k zS3z#ljBu5$(KA_OLbO7yG~eCXpfxI5I~B*yeGyy=f@onP|<(x)T9wG5otbX|Z%Rw1-OX_6wx`K88?O z22D=Xq)GO_ zdMPW1C;|7frx~z(LxFdthU#Ii?3m}c#-aL%OIEUs%mQtIHmM@))HvjuUa23S4G!?y z(V*RlRO?^M<)^gzGk}cofatk2GI99eIX@XUH>x z4VYjFS!lRn&LxU0lE~rcAU}`|k|M@L^o$x*ns5D2*JxG|scohVQ$?UTqmBYZ6QNhJ zlo@iJM0a`;)M?X1ar<7cYAVMySbl@vOEOP(3T|gyzhI|+s%fSwzanyVd%HoOqjwSO z0%fJ*8>c6yRkQG4Rf8#NeT86pNE^t(5sC5-NTrnQo2f}2LDJ#^5ub+TC3b>B=N3e- z46hbB&PqUWsee{xRZ;iU$udA$m7-eW2c!W?#<}1caT~nlhibOhtL45Ihv-{#q{k|i z(?ivoZC$sU`@3MuL+~u^Sv%nllh@VTr-!P0jf3l05=x}2lSHr+9hofXI$Mz5tE9B~ zW!4LPWw0Lz_4XTZjA~%#Z1u_4e#)bU3`=tN-i?n3%@%BqV8dca`GuyAjGxJ>TQd3^gwlg6^r^~A?I4Hi;yj1=gsbRCh**tTta|B2Y%%xW=l%)57 z1{`moDttrWHg|NOLwZKNJlh)``Z*;ffyi+P-WIYx!j%=d`ReU;={w}heR$e*p7x31 z;dJT$XYXCWnmW^c@iS*m>+W%?&)&07HN{J(o!04iL5U^;0yDeQboMxwvTNx7__ZbjN!6pvRm!8iWV#d1P0uNstK7?D|e!0OoB*)5{cZx|NU07 zR@OCH3Duy1cjb2j|CNGPE{zYQn`|ip#(r z+TXi7#j@gL=4_+mU1iiOZK@X2kKmP`-UGAsFWIX_CA(w9uOI!k_R=Q-U^WSks#l!= z4K>yJmE!zxysgThY*}-*O5gfn`MahNF-Y*j-2;L~SgPAzX$yGtyn5fG5in;;dbRgM z+VlgL7a$$Y5^*4P*^^D*4M^;-WDRd$@#o93l|y0ozJn9L>S)$R6s5<#9@cah=Hube zpo6>j!qj?3ENlWZs$dT+h!*KlSuD)H73&(cFpu_u4V09r-W^jmS5mYOG{*C9#5x*l z@2{+}D8RNU=tVQHMQZG z*_C+bK-iW8`F06BDk(MWUKOY!>tL`i6}PODqaXI2YZt+-N@3qle{uAGOV%W13}hHZ{Paz=sZn-$K~=Oh2}Q; z7M9vHTV~zuMOm-a9Q(m}IgCNEyf@cUU~fsxe6s1YBiUoYU3*Klf>F6W0Tj!7t&NBE z7w2z#;Z)UmBo(&}hYT%zsAy0|HHBnE9n}4&HakYU?oj%rfRXdzUrJJKl|zD~!pbA5 zvEs3jX1#SJVSd5ExYP|V_5a{#|5wS`miP6h&w@f;yKY|4d%ffK<>4O)D| zcvxwW%fs#%le0UdDbk|1T2(FkRAB0q!7d9wl$Z6jCN%9CknTr+#(%J-eU@Sw%6>a$ zNqMj!049hM88yzU*C;Ar~ zeJi&Jg{n3EAlUbW=fFo6VXF5)T3=jbzSXI2cql}qoo-Xy43IkId{q}M`23sF(odTbG}ytbEj@#-TXbe+pUeTZ=G+` z9Qo?XdkyJeLLZeJ6@K}WFf-o{2K@sNLeVgpUIVF_lsak}MJFFyu<%ChqZ2TeDZwDg zOsAy9qup@3g<(x+FDj#sDbF2R41x+qDrru3sVdFX1*)IedV5J_x-4R$672Er;iL7^ z{>-|0vHdR>_LRK0$B|STc5wI0Xqd3O8Ub~YE$qHoH4?pSK`}N{)`OB&Ysg###!JXm zz4iTry50q&bJFX(%tI1mu;y&X?X>$s#rd+VYE{uZkUzf}kmTfipp06t91Smm|AIqO zLb~=syVP_YG`=6Ht)FDdn}&005>_11Zdli7-`~-7&#nQrx@v>4)o9KAVo+iFM&2s~ zQS+MpGo5+Sr-F`>aP{y@35)LR?OZ!wJ}+Kkf3DG7IUH0mZ;!FQt}9UypIXxjdm+FY z7ji5s<}bXVu%zYdt2%@gWtm2Oovf#lg7Cm=#iKufzunoMdi0hRe=pI?%4MRc1RMpuf_Wvqh-C77xL2r51 z%8KIe?!t*+s%!?67S#8}nx(MYJzBeYuEZ{?s(|*_+Js-ueGK!<^8IYEbk;TAcXVX- zKU>%{l$Z%N>XG4GFoYMVTEeOmh6jyxJr%+5Ao+RtDlcym$D`lNm}n7%FzvtB0ugDE3r$AW4xdeFRPqaF0ldwUlhHQp9TdURcSQOtsX zg*T8?9(5|`hpd4BHNDs5h`UoBq)HDtP_r{7HS({gXSemI!eq~Uqw!gLZC$nlRNy>N zT5lrReaE~PaIwsvHyVdaKx~7OTwC>ALh-2jy*-WQw6BlOJJQ`SyKUqF>^C`wsgokw&~`5@s|DVtV?|rpo})b*1CI>vPEtfFoM#&3fb?bepu95VBF4+x}r0m z`WNYb-RD*MFk?{bAwlj%#lW3;v!TnoFCe4){JwC^pI!{PRr%Jg>|()+iIy831T3Yc#K{a9ESdh+mWFcl&Y>T>znfU3E}w`$K^PeBX5 z0hx();p-wY@`aig*EPKdOIfy3)n9wG!MJZ-Q-{7QYqdz#FnFgqYi=7LYk(E*1@tl{ zNei2Eeo)au&DI0G%Kqj;jWO-q8}?i2pynK{H?I4_^p&|hJlHYX2mdV&7(MS8tZToT zXo&%xD!rxrEw7BPmlSj@*XG)60K%msuwr^S4S||qjp*>iBaeMNL`FmuNwtP@M z0i}|`y0}&M7{(+YprQVp+y?!dRTuiU%>xa*E~cwI{P*dZJ2E??n+wZejddJMm(?bn z*NttBg{!*qV^&(PY}?Xo)RaG=?!CJ0w;*y-mbq@9-DutyzbU$@ZMN|V&2coT99IE> zDg|T$fm(`zNJ-5L@zHhL!cJP3&+j!UU?7Ks2|%E}UuImp|4;JdPYM?O9X@T~J!njk?zgnGsO21BBaEg*W>#YSo8)|E$hSQe4)uS={>V0kQOGwG(MRQfFEdDeyg-|>u9 zaPBE|xL$kIQOo1~oG(NleAkfn-&M30Af$9f#M=3MhYq9?Afd8gb$LE^DKU75W~s}M z=`qQ*IxXl_s6bnwFupF4E#cd&xz@gMmhj$f^+D=XAtr!N&5t{4eVeE(XFqzp-M?2M zy*M~pkMAD+f8D-1FzD1ggo+qnmGnQaPX9oE`Rl~!I3CThj_z6jJ69Wp&-M#)2Nm^M zlGt$dsv;+_>aBT8U+p-qt{;IZ!S_)t9n;N`#I8Xk%$r&#gM(rCh}-epJZj!vIv`zL zC1Pc#?ek5slULE^^9yMQnvl(FaD^9jVE&p=Nnr0A(iHn!dm)HD4 z(o`K30x12+QnevhIMnfyx<3Bqmx@~&&HYTho&5Tn>Q9oTsaBJeEq174F=lS1{TW60 zl6<|PF3y&=M=-i@xADQd`m~^g!eu8<&z2bE1^Tp@1Y1XwK>nIsVrVKzuihU1*2_B+F@i@+)!Fe<`w=Df1M6RDjm1{uXvXMY zFB(ZVpq=8pD@$W^+|9#^j1M*j0uLm;akxmKy`R0c8Y!4XJ zc4U$EIreQqBV92TmxOQooU;6O`Fk9@6y7Y7nNG)g*-I{8TFJTfsLB!O@`*R8**}|G z!otO#1?lYBoYJ*K&>s;HP$l*zyE~&#a*2AS_VVMw=A_2J>{TM&yu#f=CL_n=fD5E*dt?ZNL=&?DRXA62MSXH8~zNCsxNqABf7E7u|IHy{3KfclJdI zs?LLp&fzE2Yks5#<9v5bMIYi-fzuwmS0{=A_ki8A+p_lTP!%sv(p>@&q548t6Yz;c zb+Qg{22mXODi<1o{T0vqVu@P!lg@3;MipEk+o4KXp45L1{&?v^SQ%Iy0|1Kwm=y}1 z6V~4Qdo6({fp8t!erN9@z+-Xr3qUV`_|sFM6{sVi;?i?=AlCwbVG5CTe-(f(U{RNV zxf16hj{qhB03#Cqc<{YmAe&=SztApTmW1fskvnyw1dwixY2n)rL@i!%`TSgXb&Sou zvoCDxfhgTG#IN$wzKZZI2ciT84e_Z@{}>2o+)xRRZpJMYFq+-%g@N}m^95PbzYw5l zhf$cA#R3d$T1qkD$fZz#8QUj9`b-k6aCeR8p< z_@nb?6Bg8-tLBPCq|wl~xy`f5d*AsyedcFiGoWc^y(qP1|4LGna+SrFc|2IhY2$2r z6S&}HmnvYo6f|`IS8Tde;4>a|EZxdDV4A%eK9BC!d9jm*R1FG8cCcFa;{==h30$dn z+AGoN4&5oNNWMWcYsu4Oyxc)x|HXA1x_)E2ny4z`5lDZ%0J4w&{f87Vo3_ z@XKoJ-RtH|Q_xW1H;P*o_)(;|#d$2Y7<(cmz8;3zr}XxBf!6$Yfjlr#QgmEv9$qKh zve|X0_C0F5*z(!gv4Q49t%l#ZW-SJvKzD~V`oB6T9U{fKD|hK52Znyb^&w8)~WpRI|W0q&_}1rxXYcWYTSyEYyI1)V`JKIntZ8h~-G_TM`RC zAA4m5~X0OYZn~YMa zy{=Q$Qgs37yukZa%8uEYDX1x6jaXPYZvbeg_o~DtnLDiLD&R%{=4A*h2Zs2$!LO`pz{HZz64z)-@&EFGp|JAY7ibY?3aFhE=@>4PW7(G5P2zx5hm`jF#tIPO6*)c2Y)?v;4@Y^NPaZ>yDiXJ^LtepG! zvv~j_|2d)RYmMdm;XSWP_b={yEASmqvaui7uD!{269JI7k5-nvH8&>&RG>ZsNX0|Q zU#&%cHK7OmGGiXLWSmrXaWmKE6 z`=6xybNX9Oy|3&rWPL&XQ=O`Eko6DvHG1N&a8p3JN;3alXN2!E*VeKQ2KwK^Rp?v) zC7~Za{H&oQ^d)~*q`e`l9Q5>O0KlZe$eeJI%5KOB5@AT4=6>|Ol3*B=^>WcHc+RIf zBe?YjK5AK@(O5nXR~-bl=w^a!rLZz@C}|En=Ql;#TIxlr;K$d&O((&A_G0?Tu+e%H z*3SKs!Q;w~V{%aq%z)2z#?3IJ2Y`LnSgwYvVxaFW3H?1Iu#J)%mI^DE3@0IbF0M#h ztdVAqb~h(IYrlT6ynMUJT9Xqd%82}tdXp3Yy^>6=&Irq-c(7$#qsFo(LIn$`%9tR7 zWz{qSK73O9sUj^bxaj_pa#%sTvqiLv%=T}=%#q4QO{UnA@7_aD|_ zs7`5Pf~dRha(t@RI&Hpm771ip(J3P-0?$ zOVV2J)qvB-@O2o&e(+1g$Q4^_iXwVg41oaGYn}}N_vGWCs2F}K6)k_PZB7a=>z`Y1 z3-1oswXn$)Zs2G(O!JRusk$Wo_2bcElzVl|Bs3riG znX2chhyazgeeh5$DEKY+P0)o;_QF`gIJr!Ny_vRF-O7yfZOC=$rS_Jm8~>0UF3K1i zZLAw;7wpl!EK3uQ$-_$q<&K_<`Zb3Xj?Q&z>pX2z#*nso-4(#GD)vf-`#KXBgSk4C zc?gj)!%Iq9BEYf)0b{&Wv}LQs`efDPyUj_rE{-K8fful??7Tp3{W;=jK>t`41S5L}QlU(Y$c~ibl5Ju%b~9j<14qcdS+;I5Yu~0{C6)M;LO4Sy%wh zr8%%+{O+px&5>P6qM93yq$FGBdWoUt17xzQb}L|2gTmr6t|Aupnu;5YAuyAF2%Ufz zam|H@H|NJHX9FImeOO!9GqnBAKKTVOCBZKR{2}a8TjvItjnx8G!|XP&6VyHT2pg~k zjJV6cm!E9OlHP6tgZ{PQZvlEZR}IXlH5=@Fm^`Zf!#S%(Aq_h7=tm?Rb1d-=;F}#U zAuk4Pvw7W%YWwp-=LjSEx3B9xAOgcRNdtF^8>BMJ;Mt3Mdw+t+^b45GCg{f;Y3i?q zA)g4qLjvY$gKe;GmDYSxY8(8W#+cPNFIM*V4Phm3^;8Q2K!feC#ZFqSjyJZ7POHgf56vK_T%YnK-m;;VTcurqkFVSoHY8P7J2F=PM@>tBL~!b=s^ zH7_EJ$op|;80l4@Jb5`xuL_6S!KLB;*XAwB66*)?rH(k>$H;cyfYzbP4;A58l=?My z6v*!$Vor!7YSF>s|LYvJ`o9}jbiIcR9>e<~b>KT+4DeZ4MvWkulI62qM${j-I{ z(el|Hz->!^p8#A6$Kgm6$7Bk(jN=&ETB0%bzmM!#!=ndj^+s?{OA0S`MAl1k4uR-7 zVg_9W9IVLJs>=d3%>x6rB)I1B(FO_pyk>=y#&|YwV^p7f_ zqTFHBkFI0oCEIPI{~#Fc*kp9niF)K!5V@jCFWt^fP3SX!D2Td&0!Q3NCE2{S&)wgT z3|v;L*IT36dOwI{D9d!-E;v)JG|iSE6H>4*SiK?vLRTvCH|7cNz2k1QzMkEf%V=di zbt)Q*3!2MmJ>>h?lJ19K%)4I{8S~^f<$E96KxKp7`>7d*?5dY--Voe+sAI!I$MWN&l!kZc)y6{5B;@{J&m)* zl9FzI;`nsKXj^GF^z3}?K%{B!=#BJkV>b^wKAkuEM&QutXj^2JxhO*)@#s%E_g?k> zht9Pl?aSwbaUFem@8=t2YBCQdsrnj}aP&7PIi|l<3uKr+bHAYAx~rx9*Km?~+e<*t z-26z<_=ljQ^8gnQQdzP>MJmh4gJvAZx>>*iZV`=*s>*Z%_(~~E8g6I3&OGuwI95A> zG2&V>T81?elF-`^*~#LVE5a?5Lsu}8A8_stD0!}9w6O?Wl+iCyFI-D3(D6BtT6JrX z&r!C&e_yzoemKq@E0Vce4c`ifqQda60DwzIN|@SyOGp6=yVvj0{}W@sxzr-9*_i8^=-s-i&O(f59|ShFQqE%CjFlT?WBnK5 z#lgWK=SCjg(?Db@H;|>b%LAdhQf2q%onQ!qdCtpifwDOqyNLQg_Fe!#1AuW;8&8q} z`R;F$I{~{#+7RagE>C?ZOQx-8k77^rNhqK-QHM0R+!S>Tc3mWq32R<-is)1Cq>EF2 zCE0NG%*z6z?Zb_41nnXLo?rznau}Y-oRysObBH zfnelsjTf0>Y6Jmpx0Du}4YbcNE%K#dc&cnp>&MzUk6rWTwvv(Y$OrLb{pWblJj1)d zpbCu>g^j8&LO%lQr8jOE6xvTt8!+V}QWz3Jc9#iX`k{MjH$hAof5)2WQ2IQEhwe`T zr2muCG3a6G7cPV`=Q-9Xln`S>WKDo-L*y7hz&4v0XrEe7;}LBD5v{+}&fn{&XGw$! zUcR`V5dQtBYc&hup*cd)y`4sI3SYOa`4GL24oe_>Hh39Rthyh$8A1O50&uTJyq|#Y zxxQ~kEU+KMbNCD*sC&K5<`F_zU}FG}gC0V$Ie2&;#JqH;G#J4h;4GWZlX(=Ki+$B} z@Nb~M1i80jY|34Ot#IQ~A+|A|IWD*q1c3NWw#HNooR?Av!W=sX`&Fpglr0viHaP&5 zDNm3zy#x1=-na&Xdrm{Snck2QXM0Pn2;cpYmxqCJ0v$lKA5ZO85ptjht%rlk4YS71 zUWBVua{$Rr3VGboY!?2L62c)6NCfiG4;32Sv*%p7{PCx{u{bZilHRC=7pHQU2Zo_* z=B$+^-M7;K1ivN~EgVs!K87qNI8IyI2PCr7V=v*Q05uICJLY`LvaPZNv30w|`l>Wl zzJ@7ONIr2ek=icm)8m=55%%YiuznTx$D-b==8`Z$R18@dG%gjY3JX_l`qn4ky5i0- zq~v?w_({eo&B!$`7_fjoqYq93b;P_tL{&yi7g%>_?#9kGt%`*m^%vNjm2bK&J2v}e;+OF<^D1%&4I@Wr>f|GhCx zIJ7{2u;a3)<&Vn*Sn=?l@w9o47FS3Dw&ow!A{~^EM8R)~%O1H=>;ZhK@V=G}hz^**XZwoZbet|#K(}vWoMwS+~ z9q^RBwrqSf9#--DOck%ISjLO(adw2|fH?&6yJ+kxzKL<8RpbG-JxK24BNd{qlLZQG zq-kGWlbLFAqjw#urxIlNPWf!kNMV)IpaX&thRJnvyAXuB=-kMm zSO|1eeaog=(l>%jK_xryj;#g764NdVSIyaH0Rd%tZAnCqZsaZybV8cYK+8DlG-)v( zb=gyF-x8_&f&kbhL7(nzhVM{}%%PlMB<*1@;Z}hu{WM<=QumZ9H!K}{CrNZ}UF@8D z(9nPFC;}Hej~)b;m$}sJ^LH7_HtN^8k$JI*bOy~@3O64qLYe}m(NY}axOGL)MS%~5 z4L&i+srjnr6s{`#w$_C9LW+udzL=scjKm>@l5&Py6Netm1N#H1vU89o+kk#qoU8rh z;8=fi()n6PAbjImG%$Q@9r$Dgo54R9EQTA{3dYq_&%!Ocf()im^bA?O=9A+!3z30h z2c>lrm;vVeRWO%Q>W!@s=neUYa9xAfM>Z8wCPM^*Xq=OJXcukX55h8aPi@NhbtY)c zGVrWKMgVvtVE@Ai0?myyCbFZW^LyrAM`RQys0qcUHNoM=B zAF)Y0=XMrStRbrsLxV_3Cq3PE*wdCQYv%e`9zFtdkl5z??RgZDlwGb$BOHHOWkf!VAZGpIFG3^1_>27PPrp9weut&hCB5CLHQ>NXGB3H>>ZtMyQ zIeMMmGn(JCwFo8*@_}}2_aKoeH$e*r*+NT8x|_zpV^uWT(tKuva)Zjz4gUk?2`PQb zJ0Y(CK)|LAf&y{88|{_eC>YxV)C~t=)(;AmOl=u?TWn=eUnIa6^ByPN#IzTSL0Od7 zlHV|D1>CF{Q8B>gKmuHlaOhV6q&MTeq1&-JDAbU_2w{!(E60iwREv9!e5EBy{)o%f z)N?_QGF5T@U+9~!QXAX_E-+DNH8gu2=Mw<`*R6d9%zW4y+@vv+dtPicdS=kM`5ijf zj?P4C0vG3#-;z4GB$mcMGr5$9i|FWbYAMNlp%|y`IX(rnG)`_Y1F`pj$3}AfGrSY3()g6s?#5Ls)0<;*pYzPWCBh z>nZpFq@8))3KEyhkLGz$pWKPZ$9@&CWX#Ay1L1c9=YZ4|$MoPDu;Hrt*;t9`7fy~R z_4SWHK7}lCg|NuZYPulB#aTt;IWKfHp+6xHp>}W;AUuP>RlwekixP@}LOuz=APq4h zifOUG$_+KZlZ!@&BI;4puq*0@BsblmI7DM(dBC&G*BgEu;ZcnY>+kvarL#Y$#@ zmt)D!8)Lz+Psl?>6?4GA`WITL56cYzo_B@;vHT6Wr9u~A=-t|@-t=M+ZD-?x_VsH( zeLol>KxRwvMg8zz0g}UDBnUC|-ZQ6bO7q`EibK{DNb>o^Qp9#pI>1Fp6SAoKf+~&6 zeah?l^+9McB|WPMd)QW)PW9oMhE9-rR#P&whUcq}%O3pQCUvYBq`|Nyxzp{QL6_wu zrJbM&$(lT8BcL5M4J0jyD!Kqt!7@7#>Q-ebVMKZrXq*`ivZ)ysV0S=1*!=Dn)u|nJ zNz$fuLO)%AC@)D8+N@oG+(l$bUGcffj`Bf}+lV9)<7^aJTSg-wa71Sr0~ZRN28|34 z(4@)*e%P|Nk)Y8DvJr=V@M}rYzg-1D%-#T)%vcI1e0sjtjih&9VznGc#{}g^7he3& zWj|1>w!hQ((kaDNfn;?4y6><1+2OT2{_?|Dx?WE`(Duxk@c&pEbuQ|~a>?$j@KMvE z%@g!mGIMvXOf5g94<~_w+{o_Yf~wPk4$!iFL4UceZ3+wv_Z&c=>w=7-8%~?s_?H_+ zIyTRNCHbzEEKeHXF&jL;+MKY_p7LOuEziX@v33{h8Emq>9$&n>tHi4Vlh>Rpyg!D= zJ4I@MapJb`z33V;^KGrnS9_iLv^fh$h7t=eugrMiBfZosOUaF2wJMaaEUj7V1QorJ zoy^fJq{iZcCxjQ$4T`0jZLjXh1ofXxXU;Nlder&9+K(z zRy7gJP#=}-lqK>TSwnT27g>0IKV9m*>5FWxg_=K>M}QloUD?74Kr+8Ag=_GAYH(k! zm!}wm&fOfy+CP2~GtTdnYEXf^tFUSpoEk1urzcNyhbmoeWEqCxk^2*-cKJ0%V=*te z)PbS8Y3>R!5YZ~wBdHKJgG=P4i25}mL^q^1Y4=yNg?TGkh0xSA>NEdC;W)7!lP`f< zUM>)mKXBdGCt#Bvx7L9^?$EW#oU=~Vj&Db8-?o5G-EUkwCJ+6x^I6=fAZC(R zkmir4b0T;;kq-?yzfs3iD6JGzHw5jmn-t@KZXM3^*2wGNP@$vCb-CR6d*?d#%PYvf zL1L*#hgn=pg}c9lR1N;y<`)T|BrVvI-rw%rOMBU9K_UM}hV=$p3C+ zUT{~u@h{f`Oz=;jCtrbzgNU0Y7}-H1(H{oy2x??Xen2l`po2>v77@4Br|DR}E$auz z8ubGjbD@ZjC5qV|wsWw!oHCyR5{qJ;E(Ck(HGe!P*5xuaXu8j$JKGNr7H#-jng!6; z+Y;*X@2w0{N3nlf7#Nd`ji9D}8Y)Xpof70TTQhKo+})Y1gaJ1fn9+6&*iq1@i7!a> z%e*y??_>PqrK>|TDV`D7gu&JTc}5Za8GmC3xRJR1AMkavsanj^4{$ad7>CisJtB!h z)QRd>Szq1sy&%-KoiphF(txldWL^d;JheI%xL zipPuGlOI;co+|gkpgfx7iN9FeNh5ukf*^6Tv~(#;S}>1-BC#R9w2LS6@c4n}p&-50 zaRJEKq2s}}p6fDKJ~TvxU@=t-D*C@I2ePSkgP`{l4j!G6Y7Ox_{a5d^5I&qdyYtmr z_X>KyR19n;0lK9%=-H6Dw&Npx@->QUfXA_NotYhy=_gMZc2X~w(t$huc@2EIaj?6C zB`uX~WH>>w@T5LStiyP4{K5X2)t$1Ur8Q%nGbjqbOw-BfqcGJ}K1_|WMt{3Q-wrta zA-yiK18saI3x-=J&XwB6B89u&F#hF};zsQsH$)VotThYs^hd5!g5vR@M^BCI;h89J zo(Ikx53>K_*OIL-sh1yvfXs?mP2vxcTaaj@MD-I$0$KV8X9mc`t?}oh>fql}--z?$ zEdit)8=D=E%L3fwFrIuP5hDB95^-}iei7}RsKz2REhnoy#c`IZkidiy&isNWCq-~U z6=yY0Iqa2}>IlvxTn9+RxbxlHeyZMcoFts9D!=wq7jubQH*ZLeS#o2aRl5ghQC1{0 zbAP-$#m9I=C4b&~&@!`xYT?Z4PUp<(PWAM4hcRjGy2;?k0rhZlbR05&cr}eY%Gyq{ z_`Hx$v`e{kVx+i(2|G*JN;3YvnQC(zarbi?YT)fc7VDHn0&!^l=Ik}(m%9B*iAU#M zx{cvhti6vMP;O1-`m(PTAf((_FgKF1F>-OC6R!refC+DTx{wDThzt@h;5W`Dp!4K$ z(@bp;*61V?-QEY&&_TTjIphriH}?kl${Sq~r!+%V*a#FCPrTMm?#TW>OoN^+Qf~4glm0i?lbUm-11* z5?KRDTe^kwq$_r?;eV{4;3PF_;#%9e}koO|zuSIQo%`B9`x%<~5!28BS*Jp58@-cSBKqvHHLc<3I3J zZ@elX#GdcNnL`jEYzV+Y#cUrF+zvl|%ZJB!)19bYm#0tjR3W+(qnsHo5I1jZMhiLR z1hzeTb^{!zrptBt)Un$9^|&UdbThw>Ctz}MlT$N)eIc@^P^EP7{P4ukJ6?y<2aD62 z;iwPWL*Y2Z3A|FeV1%pxPKbOYOBvy0z$BZzLb@dK$_v9rJ`>TSRH7?IhcjPb=F9Dx zL`d4h=7%wnjesvRl(dHh439+6cA4ZcHxbUw$Fcwk7&FWm_N+7(6a|>J@c;(2@uq&P ziWsevET+EJ!z#vLV9YsS4g{sm973{J0RO=_w8@c?TsjK{o*SNL-8&6MT)PeK2g7H! zdtLJw-2s4;2Rm)&XsOKHlxHHdCay^D z)?Wzr{7G?&o{SSER%UN}c=f*LJf74`6V>shP{1Nlu%}e<#lMhhq|Rx(7idD{bqr$5 z_rD>jeA#E;oWX8xk0{UE(*R`aS5ob(3LOgi2B9+!emO^!Ig^6ya>8d+cg6-}4c3}8 zuc7J_MA&<0p&l+TnNcyC=lt#t4j{UM|HiRzc8YxR0%<*{ys~KILHo9<-yzo*Sj>>q zVbH&$Eg`}r4B>sWzAWhdNU{G{l2DZSH#O&^zVm9LHLeuP>7KbnU3JV^*tzm$S?@m} z@zU{;FS|pr23ODsvCB+M;;IETPn)(iCdl#ZbhY6Ezq=(tmLc zxcJmVC+M}Sz4yc^k?AR;={?N`+L~4t8^86T?9t)&L~%T@=Q#N-hxmH0yCQw?ZBc) zcE5dZCM5{luJzXyXx!al*gQ$f?}94GDM80Q^?dt2SU9xp)=x00dzye8r*vKrkfJ-p z;q1&<$TNk$&RL71(yafduzaQLDcS}(butA@%?K_JVn|dj-#;CT2ty-D;4pYzmpf!7CswqS_fSm5%&BHsLN%yN>%gFWsMo#JO6myabpq-jkZVvm6 zi!8RaPV-h|{lG~@ngeG{6Wt89^ zAyX`Fp{Mxn3=!+oy?zMOrW&bouqCC{5q=?4DAS0fDM)}-ui}cBoN8OdMeM_xCmSU+ z&=Vh~iDc?5J1J^)bubam>Iv=wUuA1KkU(7gCo>?}=QFF<@aPHPVt&(MEJRc#J@FDL z?Am@-AipsMB=%O8+|5=7QoBbtdDJnW!QdCmaJIEJvcSdKiTwbSho+qt?5Ss_CE$v< zo`l&5`3uGh0(zl7t5Tm<&$`{%IsFYGk^-5+U^de40#R>upRW^ z(AIiE0F!3i=4g5LQ_QJBVSXd>J@Ut;VJKq&!$E@1LUV>g!}>Uv=XKThsd@0nK!w79 zx~XIqi9nf<*qIQMynh?diy{g=4h89XPDk{bphMa6bXSQ=S8OAM4wl9T?fSW7`PXNj z5L|jr{Y>1=ccEbL#@QT=wM$CMyr1R1-=5=6t_9*Aom@Fq`O*0!rg>&fnwlw zpPe8c-e7k&@jeM*kS#yLQ<9Uo4YcL>k61rU@SA>|4951MX=ZgNB_hq?$n>?I_c*?X zw?Q=o%_w%?5aMrl+?b(PR+5OnWt_RM?LMT^_Jxmy{1gyK3<48h;y3YR<9vdqGd@5; z*kARQ*oji*98uX0-PiK_|L0$%JN_|jb*<>?Z?Ed(e%;t7{n?dQZ2$36?@OuwE#z|C z?7!xwetdS{wGYF#JWTBg9Xof;8QT5yhx#Y4CLVMaK8O1g!Up(lS7KTaPwkg~2mku= z@<7me4Y*E>iK7&{Wz8avH$t)v$VlNPsGaHG_qfuoQ&Walqzq6S7-vCLc1Hs$4B_J^ z1?K|>ktXMQTr0W3iSLRqKu*F9mkNLy2$F7BqoGyxq~lTCa0|@>EBuJ3WbJNoQ1b zh*=5L?s$v*_YHhy@Ye3j>Bye#j~?`Dx{8h)>E4xjKhBgNAR)sQ9Et5F(xDm$Aya?Y zi2vxieX$M?Lz`S*b{4CvbO(hi4iB0sD9%x5Xr6xgw2-&t`OqCZGgvT1Mn)`Y%1-HG zp~J0dS zLnSGv1RXm)kKiP-PJq+I6a~1Z$B=D$*(S)JpMvMl?-ow;Qtoj1D?xgHt$tnT^a@*u z53h8k`>$S;VL75)KduVwCjeK zqPt+;?6Mq&`0$9L01w*Ml&N*?it6uW@0=;SQOfj(@naia#Zxs|4NyE_(sw^@*=-a4 zr(pE;I;;ybEC6{@w0PgNhDWwbu%Pt;yQeK|Uf-68dtp494%tGpJTMhO&RebYpK9>R z42To3Qqtx<^rTt5*$l6bV5j*yA)XQsCG0!LgX+KrAvH$pdk_POr0~$$zFR~d$hMuH z*%9%7aa26@1Ub1&o095X*)^0qLBO%Qm?|r-=1W}PnU@7?UQ~ZV4fcaZMlj*sf)wdaaZ=qC@_NaU5U2fs)d&E`$X-{Le>YFz*A(&0%Z?;Am$z*!v1lBoH8>3LnACm8c*t#_>|tma>z#;8 zqo!m$W)7_PXlcLhX;|YgE6g(5#6)QQKy+JZGU;@ zfF;iBSyxHLpdq*a@KW{YalPYOVop3t?vF)RSFqL)@YqOI>ZkrN7uo>cswvJ_Mq?pXRXvs9>Ns-cv^$_R+0s>o8a%Mb!)lQL%Xj9 z28^~U+Ou}fba=wIXdY^+<=TDL=VFZ*b*&#=Nvp!k^)?LFIrqAG#VLK%YBi{RJc0$I zQNdFN=1?`%VCZmeW>d=dR*5p%0=Q9et@6nsmpLNIQ9Sr?LJAw#-C8c#H+})+yWm}X zvdVv-F27{9$38C3r*?j>TEGo13uK zZ=ff-t8zsTglSn2XU1}$&>rf4Pr2RD*VD@px#7TYmxE22tGp-i-TWAFKB5(8F`Zl; zWj-7wLdy>oM(0nI+p~Yzw7b;a#Ag%pEyx*5zn!9HZby^}MGNxs?Gc{wdv_|>B}k@B zWB`eGXI?g*I}&B{=V2rh7>-wuZ{N>+d=oHB^OGv%RLr6(Ox3r+>ZX6IUng%c4;Oj< zjFZboKxv49c5~>Tus#$`b0Sy-z&QP|idYr7srx$k+<@URCKgV8O8+@wRagkO>*GTZ zbs7XwYt38LChN)a-}x@E@fYIWc0Jyc1dScqlr2w2G1Y^0{^qIkPka!*GXRcJ7DX~> z)Ap~}-6|)`rPPDxD3txqQ>V`m&RPHas^DR&4l{{c4&}4p8@RzPwGA(DmOS`d&TEFk zznL?bjCC|8uhB_4i`P$|#$s^Sl;%tlOIP!wDr#`K-CmA<9JtFL6@cr7w6JC}Ws9Qp3%i2w+bAXE4o6Mw(W#-$FP_DVws>@A2 zJprsA3qr-hKGQjvH7jI^?RJy#?Rlfa6rSa4N%FhtHctG4bHboB77TT5AkXbGpjg3{?yaoDEJ5<3l;1)P%! z)Q*1kmaow^)CVE53?(q8hv4*#whSMqr>TUTz)aX!pSy~sW6Y;8-qFp|4eyWu$HxGK z7i(CtUtr7V47}xiR92T*#-5}I%Su}btGQPO9HV~gRt__AK0uh=+YXYT&E&+O z0pA{v`Um-}2`3m9`R=LmvNL}*^v5rrn?jSTR>^w2RW!+7=gnyr5DNc?g3Sei`GvEC zc;vlx7R7e^l6V3Ad8S&$*36@BW>6Z-8bJZa2L&L$A%iu0be)T4CW0EhkRD`-t&^s3 zIHZuzB5})3s=(PH)-@yA!m$iI=ElelCz4zE?065MYLM&rV&M`A9yK2nL%C1^7 zT0SsbQ#lP;Z#f8=!SgeVl#d)oAp5u!kj9RZv?Wl)nLq7Ju*_8Qng0!lGaJMBJ{!WD zOMf2J`kVmBXDqn_-7f}&NWgMg|39FuovFBR>IWU6Tp6rMsz=o^XV!40whIdJSLLk! zh;D};hA$l(4tu~rIDfLK3@Bd+r;J90zddd@bZv`8wc9M^c4Pv_g476&IeQ$Am#Oo# z;9y5e9molvZ{~C*3S9w3&OO3vd{H^8f+t_hPB~}x9tBA@Wt=AQAWAi3QrxvnI4!O` z5i1#9J5v~kLPa9&wN$*acglM5e@mdV9p?fjKRWPlfzEtrfteWSj8d|bi4tEDHBQj{ zO3@H8@zY8uo;iIKMdx=)CV#zf&6dtL@n=V(LGj9aXzRhzv}qpppPur z1IL5!ard`77 zwcg-8I#Wen2mZQzK;QvRtKzp4YZa%4zq#*Lud%AwQ>N|f)9Aje7A;b389XPW;}b4p z_B1=6F?8f7YQvTHQ5U+ebH+hU_~Si)?-`b$ddh@~rw2h^t{aN#x31A;j;CuTl${=O z6|#U-+3teEQ#>)~?il>@Q?p{z6ViBFRg#7@9GmDA8}>t{=s+TQ;R`%NJ!Fu`T(HW` za&?{}g|}jlI8;B{(@wn`@CJz!PH#fE3KUazg}ik9NO%wZ2!-iz6!4H`BrADNWp|zo zMOIXOJx*@d+<1bVWAVG*mP{-QBgXq)r}DlFG9L7l2iv|gn2ZslbW)xctYWpm*w}X2YK_y)G1cIqnC62c}9qm8)uD3r$q zd_|R9mPQl-x?eBgkktVan)_{x1CPo&bhJhTBhft`edgZFAnpTl zh|}E~C=-t2wBszz%p+?mFbi@%j0(ok06PuYPl0)d8ljwP8#W4*ReO^!64+AN65v}V z41z9)4zcnt5E1Uj95U#@MV}K+@$5MP>@?IQgbCw+EGj)D?BU#Tkc?4{6P>2|;nA7Z z9qU-fP?xo1qF>Yh@VYF+{fQs-adc;FeBHr!92WYKV{f9I+4OyelNxJ=8h0a6R30OT zQC0_6K>%M=%(;yoJp=ENJr6-kAs3vcC9uW=w3TPa#A&)*V9$N?ww>!?vm@CR&O!ss zTOXR^7;UE~FWM|#>8w=(c|-V?fqC5LjjM)%=h|E#l{&-oj*#t8P&gcCIVapEscn;z2Xq5lAUD2~ za+)VuEl(m94JJiq!%lw*N?x;Pwg9Gs9sa@Y!U_&sI8tQ%!tvNmm~ZKQJ(+IunquCabdi-+bqs`NQ-qXF^~~ zVtcVkqFRMACLsU_GVRwCs8prDsX5I*eXjex@Zt7fsQ~WWeLFp{)#$4j^4StKP03CG z(*sx}%vB3=r#PNoFEOl!oaNsl27MYFxBxOEmJudghHlN26f@OfGi6f*`e{ntPbjk< zL3>N$>!_;S{z;!3L=*0%YRT9G9m5$+I>=-ST>_yaWUdpaOeO*9bK|v!5;2iXTVGbga)VTpu%chkF{rR)Nz%gA zp+))vow+fAUvogAzH*a9yiN^2JgqbTJ|Xpru;NaUCL8@H=;%`NcYNEW|EbBD(*vOWR9Qf`)_Fzw-%P12bmeW|_PxurS=AhTGSIX9%;J~13 zIO`!pkn6K~!K*DG1dvAsqO3g?UH3HHs2l*q7?pWQs#SA}<%{4*yB2dx9?#PkBH$U~ z%{^O&eLdb1X(Voz+V*>OHDc1jFm$|2Ge6dPBLT3nc1DSN8+LpM=SZC;LRq`U)@a~F z;F&gm=~7|qamKu*tqNy`Z2tX4XFl%WH58<|?W~#&1*P)q&$&q zeWP|_`Olo0m6g&7pUVS3BwzSuw`%m@Hc1ols6c@dv-KtQ@?-iFSDm%) zF&|53t{FVX19;IOvezdPJ|l5}Pb_uf={R7%Gm05u$cO5q8grRiIFv!~kPd<=xo_4U zVkt>NlBcjW>^aVb4ME9iy0YRH`Y3-1uXGmnuRY}DhWjtf(+9+QBlPDi9I=;E`|Vcd zGD3Nk7Ft}urGsETgZi!U-g*IZ8(gp4doFpdqg*ys1ya~6X%;DKyg>tQ8Dy+J<_#};oL;Tlyo}!b;(m2SCW~)?i(<1q&9!{+|pGd zCeMb9t&RTZISSwB7Xx&_YRKYnDg!#?i%PIA4bP1MA{yQ$e+MUeDPS4xtf@eMicaBJ zvhBoF#~smF|Dr;?D_jTF+bmrw^fG_VdqWbvAO3xF5F*T|3*G5hluOrG{ zLJ}i<_DfuVC&ST!B)PqG|rI+BeaNYv=FqeUjoFHJL^k-OcwX17Y!CrjCz$;siDO zx=4hR848(mLq{C(7JM@@LV{~3NKMV}*nO;}?IS!ya6xM-RLdyP{4o^#ewjHdQSir4 zg%GXC4fxR_v02Vc6tm=~zCjL>-GC}sQ+xTc8VmNRzQnv14_jg6x5fib=$I@7kGKI! zqQC74q)1^s1aFaIdXw)4{;hz9y5e_E>Ml7LgztHXZlT0I}3VpOCaK_ z`$kZ^(=o6tJr_X$(gkAncm$|nE4``Ahj2w_u5JiE_Tt6?T!xdO_icwX_>ujpwNL<+ zvnMb?wmT8?$msY2NqI$l<@3%pJ#uAcb*F1)b!Rvy&G9&MCY6g8GZN4GP76=m95O^q zKzAm@p>nPte!Wg2)*pvKmwREv+TjBJUWRZH&QTv)E|Vua>p8DMj*X>%2!cE`pjnAF zLLM5~zVGwZ8eK{!lzQbOod;f(3_q`ye}L1)<|=2k8Oz_uk3Ypdp;~M+ zlCbXl8)5C@ga1ZYvx1q3u!f*JAJ%?JQjypAr~-r0+J~m zsldj6js!lAhkegW{os``&50C&Z=RLpn+MU-;4iN5lYI9NTX9j3z73A?O8p~8TpwN&-h~O?dV*EB!G8Xc?2PxozJg?aS%&6ef!%M+C z@5VIdPAxr(RRZjRT;9Yq&p0R_EmQ`~Cs447UL|y2QS3p^B7hjSXsbT8v8(eWcVOvN})oeF`3e>d0?k8N72!6KDz0mME{#l{`)__ zYI?5iTJZY7jAyHBGB@4Wf8~p;t}9W${PRCv__wS(ieLwtNtuQZ4L)-duT1F@B&3i$h18RwIa6a* zUQ=|wL*BlSHV9d&33gMq^KMxJ?2IcGUM|R;%&nCz2QCyxcJJq~(*q6Y6+vVHQ#r6k z`kAO!p!;#eR-e6=3MN{Q3#y8zXNHU>l4c0Lh^uZ)j*}}pIe9dJwGc1FxI%a-X@1a) zee(dxH6O=}two$Q7X1bEb3`Dhb*wo(!90;G5sqWem` zk^sPggR;zxjuX?K(C$GOhNTBV(vN~#Gsyl8TsOIGau%LoTTJA;0;K@1p6nl(`qiDa zU-6mY)r$g(BJ(Id>dgM@LsX#C2>>Pq0SXKG0K$QOgho$nk!Uvu4)io+6QF14o;X$# zk1*yR-&|8Tv$~_4S=|}iH+Co@ZL0Iua(gj6jAaBEPG_?4hg~zPJ3sWJJLH@;;R&fl z!U~0 z>QNdL%I}09Byz@rXd=Lz_&`IzgLn#crgWV(P#k&|8bCRX(k9hn;e9)VZAES})XHj4=l?jjiHV6Ex1ZR?;X5-c&vKs%pZ~HLC z0>$7c$X&}87OoFxX3ypyXzcHqCc2uS`M4ZLo^=e!wltHjorvDs-($qJPg74IXuGqB z;wGT4+)JARnPUxxDXWb>ynV*7;k5FV)~P3K@JN@#M5Ie+CK41h?qpJlPw^c$&;{IL zpdW6h6Cm1fR@03P;B_k@qJ4T$H*yqI_fp~ud5GokUUDc zp6^x_gOYE`1DGF=?+wPgD-PA;2_HtU;^9c#I0I#(PY71LBCINu5fN@%0$_}2lb@B(47R2X~mXRv;N?h2U`3?bzYk|s(p@LO^qN-eC9 zbnF_Ka?WR=W?RVP( z-bLQ(uR*3n_5iBMSS{3hj((OzK&K#BB4gNs#~AG4c*QyEW(GkmI4oSf6LYQ|uAHXw z+IT+*(rI*bI(8jQWH6K>#}2R#DM@FDaU=RWS#k~#*Njv8vE9pDa&@R48yDsJ$g$L^ z=S!)dsaxgL-S7+=(?w`QDfX?-p4f7yrJBbOl(HsV2Hh?kd4-*gWU(_fo*l5+kkA9W zyS$dQ-f5Gs&{h@XPQIy*Wi_L|vX#iygv%pFwW%qo?{Vfd;7{(Z8FoyHc*Wn5vS>1_ zbV*^LZUE&;&224bPAfBy_Sq+MK>@JE;P?h>sp)2*0wGY93^bC0K6(g>@eYo%k?Vqe zeOIV-q1>)97l@qsS11)f+>6d%fecHu0L(oQ`PKxr{aX$@W=PMz88H&qY5AsNVzoEg zgh-8Nq584L#}Bv?D?$+8W zQdLA@Zs+UFNk$@)In6NOl(FfFG2OO;Roq6!q%quM86tdr@NwQO@>-4*zAj9#kdx)9 zePAeXePxE7=!EuRAb7-@Lw>RBaH>~`+Z&cb5Wwp9p8nfOcnmL9kMhpeF!bmv59LVd zOgT)LG`;8atGMqjoc6x#w83r%5R8IOsf_anrgAZm_cmCj4cX*eCVJ#rzxY}a%wY-e# zC+ZC!l_&kFttIh?@zgkP_=EnXYtZb>hNBAF^@e26HI8H}?hGupoA-H~^^tzX*NOAu zN@qLoibB0nnjX!^8vx96J!)I4t=RPoRR3@$X<<+G;(j`okLbpYk}_A?AJ$wzSR)b9 zj?@w0)*byx6kQTR!SUZ)W2j09xOh4JocKW_cvVy`Fp|9evieubx^IKyFZnc5@OpJi zJn#ISohnGQNr1*Qkvj`bwb?hMX$H5lCOs<}siM}8r`cS}mjg4n@g z?aA`ehn6IW9M{`x2~rveGpa#}HeE3I+4o!DNoIRFgV4q3^Dh#BOGQOwrzqsx34e{C zLVe`W@AB1l-QUP=ls~{L+0Et@FmG-=w3Z6sU#3Uu<{rJYWzBguoSl z(E{R*{-acQ)F^~HPX}!3j&cTnfX(0?K3yY%`)?5>UH5JT;Z8YIhD}%uWOsu}5hzvb zl#}ns^`MAwJ#gnCjX*U)A0f{KP)OXMC3&TBz*Zzs+K(CUa>qbS!-hAA2Y2hxs`i@? zBr}qps^1X=H^C4hM?Bnlu@Cd)7dKOxH7+H~FGYz6G$JWWd7A*wry_TQhrtOzA3zm+ zlkz#}vJ-KK6xiDF4y0B`U?#2I?fAow$oA>-yg~>2teh^^`#@*_4jG|2loQ4a4&zev znbXkwnQo~1IAzu4pm5ruvcC_SDAn0J{KcljpgnA~mmSZZbeRHFrp`i4$X$1PIIWQh zTeLWcOP3A+$L7oyyH@vLJnTce{A})p@4$q;%8hk2`@75*zkB-hNnvGCL-{7?wJrp&6YcjT^06Uai!Ci#NI=T zp$7WfWt!y~VY{T+)01U`u}L~4XXQkxFTE~29s?7=q~9-^E*YFg_NKR+0A@ioM#+f7 zB#jWmbQzj)srOyGk1SnWjd8N}zsor~X+jW*T6%`~+q0-Ha*z%5(NbA=Q%s|eQAf@Y zPOgmRc$_G(U+kRT<2zKQH~Yv>P@Jo`QpmpP(<>H^^tZTu^H`|f)pV*C5wXD6LDo&A z1XH7cIe13z>JoGT<5%@*RUCeS9*FPFi1-FC1=sHk2 zz{m7U6zeAJB=X$!29yl7@X#Z{2Ow{bL+6@ndLU3f}p9L{S%qxDZ{#zWCjswqiO0k{u|^ILM}Zsh_9{fX;_ zhd>zBq?CXDTU_@|52SX@OpEJ&)c3czZf=hK|An~jihO;6Pbtc2XOA2!F$^kv%aQI( zV&3wLvJxk~&Bl74i4p8u!cxYDtr5by3ltT{Hl_uUYI`#);J~F(?>kxVo2V`c3hPEh zxpKVpVfdbZ@^Mw$GO-C-+w~Z_*#NW`kW9p?qsaFjX#5L=U@z5%9 zJ&X2W3tQnfe+l!C-OjXmvMyWzo#x|%WhLo@f6q{MKz9i_i2}(zX*#?#%YA(I=}B>#^&MDKnwK2PL+9y08n^ zoS@U)>Xb{YFF!YDq$+^Ekj6hMRGTCwA0x+bxupL+CrrgIrzQ>$i*Z*9pYFu#P}|ov zN)Sam)r=4gXxdEF3ZD*c7nMpN{3Bw3NCh@C1*Huk_{>S*#AqYnM5^-&vok62TGb+; zgC?x1hGtB-e@XfND3jp#Ie+-+FRz~X#asKLn)Y>E{~zm~_~M&KD}$bhd2a0+zZ7dv z9(iHu)zAL>Q|V7H+y3CK*M8fP@m#~4zAC#RvmbJ&dbRioa?y-=mk^6;s4hSAl)jRb z+S7-7@qa4)%=M9hnfTY#hu(6L0^NsY7W7@)>&6->6r2~OW!%ERm0d#f&5c>BUnNGf zdbO!gnhG%*(-3l6mf%Jis@Iu7L*#I2^oQy6uAjXXa-fC6#|rP=UMjO}mxyEC{hE@2 z>7XaCzk9Z1=iT@eTlG{&tTSM_YLN+24ti1ExoAvwV}M^F%=JrQ^^l%>w?~%D=Jzle z&!*fn6_j7n;>e0^9M5Y}ZcVEUYq5WdDp*&A- z{hiJ{>eM8xXu?d>M+!q9X%FcmWja5SIgMcRCwm8^XjZy++>f)327`MagwZ?3y~|Rb zLF}@gRk{o-$z5u(YsUCt(P>OceOxqX|8FpwVqG+D3w*AE_oT-h+^p?o0e1KE?_jjcepN)y6+V z@CUI-w1+o>De)WEg?FxZ0vFr1c|^{CtMlm|xOfLr-+i97d zt6tHV%M+2Fi@0g!#|OtM#7_TJUg1=1VP6$`6u4zLAD0SYQnbe*rc)kl!ZMUIJD3U? zs3!Q^R*cECK}iw-xg?Ws2-`x|+BZdWW7!okI0yVrE8Ivx)G zi}>c3R%1JR27jgp3c7D$fizW!4sUb9zFh)`ud?4h94zLAlvACw^pnMw=bV&H3JcFa z@j2zpv9+cZ^q_G{)^^I-lYXXSXX9i==KJ$jBRw&?kpV~?GGoT*;VUxB1O=P(j|2B` z<{?wN2j_>Woji?au9q48?an;GqvzGpaW@YuGCtTC7{lge zZ%E5kD>BuUFT+vNz9FY2pksreV}tT;a)s+h!KLTa&&1t)SFz>&jS$TJbIJ0r&pg4} zc(k#c{SVZ$*Uz?CbF+;)bAm(R`tQ_-`jRgdr#{^HM$q~#z|$}Afl>hFZh!|d11R+7NGB5Cmty z53pf^mNz~uHQN2W{sCU1q|J*+@+}n}_tWw7c3) zu$04MsGIYIJ(rc%1ZMauU1yN)w8W>RUXfb1?eO2^^p`5NfJQ}Q%{!*8D!0W-z!}p_ zQzPg9T_pGbc~^WpCD;M`hqQN-W)0|%`pVV`MJ(8#%B9`!Xz*eRU%|$TM=oMg9p>r80 zRC@9HsfU#dpTeWSAjPH(z+`E6H<-Rt7=-MK|A6Oy|J0vIcx`t-g0}6bL$C)-={G8| z*}k{@FJuNn@W}Qanl#S*eH0vuiCs(>vvp!q^nirS?_wtM;CJ~Dkev1l<<`fBV4NB! z&+o~C-+|yhQP^pKob70UHt6lY#OG_Cu^r7A3TcD?ZBoPd0BMJEuw+MtJQH+feCm;} zm%D*O;<;JzqJ@`h#1#Vnk|WZwPTq6O3@(+_lVb`tAPzWTsta`3&bgCdJ6~t8HEGM> ze@XC`Ff}vhnU~y+Q`f5@#}fBrBThQ|V)*;` z>6p9!*HGY^Z`y|u`+dR)x)u%Lm~5B<7gxg%@>N7`HS?eh`eB}~nDMJldjzMr!?rdu zwu*_i+4QdJJCt28k}6}Cox6NLcZ;%I{*~di3Dd9X!i9}uE7DS6JH7U#Ue>BeMg@8h zlc)OlpxDJ46UyIsqgs|N%=+^epvjpBDJ4yCo2=V}c4}Py;KB#kJOMiVbd94A#igK< z(ubdmp$xP&7hd*Rmh$Joh%;!ul6HmNjxoo|kM{zjjAat8pd2ypZ~6pY8({7^>9bGjo&*gWmBGLyD* z*+N+6{1+0;%;YL`@Vg{Cl!_dyvmd~Ur^NR~-l)H!F)Hu4sGa#EaO53t7$i)7KxSJgJO@_+gVzn01 zdI(!J3XzbW1PtW>Sp9w*gdfSz_fCKf!@0+C{eI+r*Amsw4_6-#1PMT{kFx z;84|mE4if^yiu2*l_idc9E$47XHOjwduI8T&|hoyqvu~zrQybRtuL0m;YSZ_OsWr&MgFQ-^m4HJ zzxaf4&hDsf_r7@5F9UUfE%-Z|c0H@8E5VuSHLJF6pcPwJT@&zCnEGE}YPuurV)32P zEhfH*whmB4GO(sPszGqYozomE_T2a~w5J2RQn_iJG+@@RLjf7D!GGk5WQbW%CE5tN z1G0)3Plt5%3=-0DU2HpXe;)|^^8xpPnCgvS_qDM+{R#=a6)#lJ3%5`kHw6X79kz&# zYvnnVLMJ>AL=K0MHQ!xHapu9>2 zYMl;lv0Y`ZugkI)d$6jc9bQz|pB1YM==pq5%n$0gZ1*ui)|JH~>Y(AEu@a-u6WOHg zX_-wp#FmMq|6a!-7V-B7Z-|??1Coq=F8DSi#5_jkUdx;KI>$^tMjzM?=z5%w8X5gC zjS;Y+uP+q!3aD&+curgBc;F9O>tKVMFUIHLcLaOtVTK3wwR-gDYO7^OI}fIhO6WV4 zZw;UY*~+)J&2{MzuKdjOmb0YK-5Zd+=(#mM)}(V;xEJsQ!|c0RrqmA-?b6X<0obzB zK~60;%;`4*>v=^=bNEInE8gdcE|x)i46-v@sXI{X2k0^ehY2`~G|&^57)jP)I#gDTwFqClU>7Hp;1Pe3w%OIgP+WF_%KI;B~uk;S^Vb-!XI5koq;>Tsrj>CD@KrN^Q~ z|FHSdAbzctC?54VXsZ`OC|fJrxJo|;qv6@5C&kvzYb}P^1lfdw3}} z;T@!qs#WxU1ZN3^2EsD4 zxUu`x*;Kax1pyqzE#EuK%pSTKs`L}3U=H~n*UzhJJzQwxiE=DOE~#)jXAY32vw;&k z&J{~9!If^Vhb!G2JGbGOqf^z4(N>~$)-R6VwNhqeE8wU3iYCQz91c)<7{9EV4c3hb z&DH5*JlDjSuzz~rSQ^|UIE=#;(QXZ--c`Ty;z7u(mULUiEC<-dbIte9fhY|?*Xmx) zM_*Q?X~{0^5lfi37*mg|XU|r8RfmHF1yLgEt_K9 zKlGXAk^R>IRfxe^s5mzA4N6_;L@PyD*aK>*?$~Dnd2_xiAml z9EzmBW@WQDW|5}!Pfb1pO0(7({?&PHqPtqJX`rkbybxDJ((RXytBVOMX3F{i7YC@h z)M9N}F}kARyvrq&PJaL!uwW~i75QeEwaP(t$ua<0(dlXuAP3!e0My0=ZR6;EdovZe z&Q@K$nn`nJT4dJ)Jwr_ea;w%5$lW!!99LZ-tP@u49d0>#{WleBUkoB%eQp2G!+v`3 zkFWi7I8eOp_Rc@O^pEHMSkiJS>d)*aD?08?zQ_1vS=^WP$K|#1`bNYfF!aLG4Qa_m zVkoN9OJHGMp*az{w?-0jKsaI4!dWvb>8KXO6YFyLxsX^f8&(?KvbuKQJgRP;7BJ}r z{&at==P~X^=w$8%-Eb;rsOnt%bDg266EgK;!^m;G5sBj4Jeo@vNmt(uwDe%9w#jv7 zQGAOIPHj;KZiI7o7YE zO*JO;Nt*H%BW5JS&91vRzziuy`{o(EK`N`RH&_<3*hP6D#F~xD)J)&oxihDi6j5uv7Haf1cjF zKudtk_ec|H!4!IIgvUn$2yzGpvIfJmBYNY{l4T01|H4V9+Ker;tO1 zG#AY$%TA8sX*_u~J`cmv7$r7M1^3DfKvf!<&ypT}vm+IHz>B;@8Z5q?sUMB#>%7|L7FvtOv}9k*PwV}OD$H9HSE59m!6U-eX{RVm2N>3ag+1jMWvnL} z$r7p$y(IJB^RwI^N~^0w#ndl$Uh8p&Mw-AhSSQ9sxS*tBDix#t(Yqf z9*e89-3%lqHmI2$XX30L;!9-5LjjGlx|gi=x&q<7Vap_{+UqHR$75ss~~&!oS-@@br)iT;&HTTXLs9UACUaoPZ0&+O05Wt@uM@; zXX?Jt)|7+2iZk|PGjPO!xBS!&u5s4+#<8FZs1U5>a193s*KkB|4F^Nv$mCQSL<#cC z9Z;z;w=lKaf%u0RD5Nfg&OlrP#M70?OPUMWLMqSOQ!>U!{-bu%$=<=1t zfKEkIF>Zqg!=(2{4P~A>6tYcSXI}|i?9XgaCtGn*a4qINe@&QdZJ*R813*4hYj>VF zG-<`3m;u?P?u!EaW>pWeKp@m36i~d2x(t_jqD|1~Y1drXW#s!BMGU;sm)SCb4O~gD zj09wSMHX`Ft&spma+yA0V#4a|5pgw7m`aR;6a9(fUhQfo!5T$M0MWBaoWjF%1r)D` zpJ@B{8fC6U4ak+XtL`)|B&yPOh&Ikj+D*05C%zYP5Z`SSl(&^KHbh{nup;+HU6G~) z#!qUK`7*NIsc`DYnPsBw{m_iPM&IlM&7`ypgSfeO^BLgjW5u3NgBn5%BL@i!8~z6<9m&m%#=-fuIyxY6z*$X9G!?X1m{A-UY$(@&WJu|I3+bt z5m<8vT%Ci|1V`EO1BOT;m+IxbtX7LgdM`Z;N`NHY1H^rX5;gKVuyH*nn#Q_G9bDCN zzhGLpn#PV)zk4ngLqv}3q&DP@VQNO_f3z;! zd*|NFv57NvbzFS7I(Igc!;F%!bhLMibjc{A!GPbf+MAuNx9UaaqHTxBkWY7!k7h-e z$xf(?EsYQ1fkT=eEtc70dkG<=C3qlkWhHj^SYqWIR#*C2&@}_{x;b8~oUoB4e0&zv z1et1`jr(jSG?AmQ40l>4fYqEo(O8@r$ItaYN8z&al4I5)?qeA2_|D4wVA<*O?CXs- z&Jc9775$EC(AId$5*>FGcF6zLiLp@^pl&6oURB9KyHQ{^ik1cB$FhU~Vf6s}bW;*& zM`*A8vid+IMG_sym_aI5-QdF6IxQs6*A}SVu@FY9(O@tRZj4C@sGa>WGXY39m0~?n zLym%E!a)^iQb=N@pRV%JVBVT-sRfB(19ql6>1-&&owvi1sEL(8;r)=Ho+U1P_UZc{ z64Z9crN=;mTKPkQ+BP0t`u|{p+I9WYrLD8dmk+dHkMTopi2XPtSt%!?P~qyd^-HXQ zkFm$N~>+1N?tNBOUI#-OCHLvSE&JI7vuH1XZ9`~|4!VuvL}@$!Sy zuONqMgRmyZQ5#$B=5bDhHj%d936c}u^3LQ6l+JRqXtn}yDV-<%=xK@L{dsJFKX+Tr zt===TouNL|@I!{$JPhEiyzmbhYV(ztiKxJvq1Nv(^Q5|Gc9j8J4Q7s;?VUmBqIwPr zgPc!RITugU4MQ^t^bNXr)&OUdXDBC(Q|(5vr143o6K&&@rx*k`pwV~V;?EEkXl1c4ElmO9bR)`Ax0WuQWNjy z?l$ZrqbdgvUL2&)tcr1V&{)%Wtj0k>GS3xwNSSHMIP{R=G>Ud?rOfNT}9s6QtQONK35qjaX zAM_s}eC;QAU@(jo>ALbtHi2ch>~eA@M43YQVclT7T5_t%cM4HP2~f6N-9Xp_F#;RM zu?d*k+jGOnH>tGu?%V`0?E)d(*DQSpK&Q?jeh}n}Z34h2j!l|j#*>Nxf3rIETNZcIg@>zJ&4PgF z04?57jAiaefsD1y2&hSAo8fdYK;ID-GYBl#+w>46ZM2&$o?GzwfFZDUCRI_&JeLZl& z{`v!cuR|;~kSfl0PHIm5bOE~B^}N*BS#y&!n&BEwi+6@IO}!e{bnR*QGi%>#sQwXZ zQP&6AHy_uDy6zSHD&c2-F-2n+$x&xYN$0OuRy_S>T+#UtN@QQiSo4ls6$NSTtg>=$ z@tG$)}ix3D-f0*k@R z%rvx05~RHdGTxxHFh$FNX8(BBALL`V9b%lE7R{)Q+XqIT3v0&xw_Q zlimH1kSZ+BhA|6x|G-P*L(vucY@{1q8;g)!)^iS<`0=UUhtSh!rXhL&{m+pch}-5zog9jZhMU`Cg(@)o1E-nW%K!Y%($;#ppGE7hpIOkG*Wt zkbp?hYF_TUHUh1P!qhHO02ymd6^u8_SR|zmO&3o<$osk~L`KPY7lWM5!*g~^{56#G zM4av5p50G7W=*jFaecmrgw^Ko+?C8m0Ec*ZbE_8oR2kw4yU{iTJ+erP|3xw9I=#kB z8uk~$`kgYN)Ad9;h3I0Lj?4onbysN0Ip^z3U^#MRTyHLp!5dU)RjLg2)QMQH{^Jg# z!glY}7qLv;^d5G<#i&3gz=K*?fao7IYLxJt&9*MRXoTt;x2^o`enlveI z{LoK80^A|6*fMWxE%OQ@h~s6p(bkVqR-p1aNOxsSB6ztX`pAyF0A21`>csaR7sq`%HvbiZtYlJ|P9>PQMGWYL5HKtD67Ngu#D`tq`2rySKKizO_4 z@#hJk;q;|>lnB&;*R&Md*M8|_XOR4gDg++^eM1;U{_3psyHWU6#i8ffOPZ2S?^}N- z_~Kqa=2d%_he1{v$%n?tXV~&BQIhjn!qt9sOu{kTy#em0Y+iPV3SuVKrrrMI#l>Mb7z< z8=(mg5kkd<3C93f{9~$f&Fb1uRY+D^Pjov?7R2^H7G>SwwQ2=xE)KN~Tm1;`6+gPv zEqqB9)v3ZsD_wlj-)tNR`LUMuWjyrJtjKYkE+4J4DD+E-+vAL}!WLre$(2gY+IZG;0{*J_mP7{CYHjyOB(5ja=u-B+j|2es;+@kH6jaJc%;zGPGJ zaP_hy{WUc0FvdF`x<>46l%H62GmI~`+pJtMzRT@n#5DuFQe?in5Cn)?J8H@ zzjhW%2dVTSTu%)NEj=c2oPO4j`A3uy=Bj#=QLYB0$akxQ$2L(04&ozLgC?`Q2Yevq9NNkFi z((3wbZibq!53vSx^_`lCUFHJiP!b>+*CS;S2J&1L#+|{?=e<5(m9airi_+DFXQ0e<6(ruDiKQeJC9!O+Q?ob6w1)2EqCXqu0DQbO6=wCx z(}%qWV>dd{q-ti60lCc8%0OT0gRmiH-yJxtbwCQDK5x3KZ@JnZv2~1DouKJsa7ago z-nA9ov^r4FT(HWX$SlxW)52diDaviqNq5>4VewB zv;m3u}jWw zR8c`k?HlKwbB%9hsn+|VjZ`p#hX9Zlw=+0BxyeQfcGfi4y2PcF4_6lM2Pm?gETpt5 zz~=`jvK_GT?4Zcamzr|%#cOl`Vpp>6qr+we)fVV~qxsl!%BMoE=>Iw!a{RhbYfKi!>t?kNl1IW?W17jqlspbp-%F9bGm>FVfuZY#pW$Z&X}r ztJXEMD87YRxH4<9Tm8}pY?w(b^-D|V7J&l9oRxfiFe|!z>Np5&Ip;}H?ROJfP&&=3 z0p(qtD^1F%>_lJKbd<9NT}khH%xvFFC)^Vov*P7cNwt08K$ zY9M#l-C8nv6J6-f*={@D=}MNr^kl2BG5o+_Uw5}!6u~cyO#o5Efr#NLK&hDEwx~5scOB#AObO)ulg9e2|GT~>HNQdUMyF<@8{!Vh5$%x#> zSA)2+F?5uN0?we||pk0c+` zuGnOs`I+dgvC%3B>XBClIhKA;EE|A3&lm>B?s(#P4(udpcIe<(UpLTroU0CQMYR5N z|4F!(x*+U=xVi#=gMBp{3u^8o(QP--!4)P662Vo_3vvucqeQbcb_1pXPTV@-)hy+0 zELOc-Mo@aMaT?1sob^Tt2p1PJAgpZ~>rtmYRup(Yr9K#@MVKA~&7!?dj4okoxgIjg zUUiRG>FB(%IJBjs1!_;u;Kq60{K_!dbYrv%u(2~JDV`t5j9m;IR;lnOhV`MUi3KOU zNOfp7K@T*iCm;dyl*?f8pw8To8+-MlhVEfabBBRl>P6F38)VR#dxEB!^NOv?J?Ad+ zHmB@x|EUhYjmjc}M;5i@C`O`?A0K>da>wzWFBVowmD;i+Ao^ zzS6xH$2x{R@TAbM$DW*U@KadWDvMuT^C6GFIPJaV(aBHtXNQ-bDcLYq8CBGF_rdHh z_J8|8C9c|1fpzeGbr(36Pmw&hcv3!iZ?wPhRW5$w=c3TVQpO#B{T}p$2w_@G1X(A+ z$!NcL(IFA5B_zy@b;yhS)~4Z72ENOmt!UNgoE?0UWic9qZLo~GX*QSlnBD)|K|9A{c{hIdf&@D4M-RgJF@gh0Q(U1({%&y&4tiZch zYcujWMyD8pA6Fca>c$aC6-Ij5t0$I5E|hDLua-5d0Kt4ZBWq~u%Ew#t6wOkwctmG@ zfXmKrbMs3x(b8t9geTI8t?mKgVKJ?qT;38MaRp6hJG*$7%tpwhx1bW8x=nWV&XVeB zMy~?{YED*~v5_};xg)}!>E{9aRc(@wjoG!7@oS07x~?#|8$=L^?5^;uablZqafM2-ttGO0ak3zE?4MU$&(Z6 ziSZqm+45S}Ko5FPzEVyU_Wz6~5!amC}>Iwae?F5*?-el%A(g zQgnn*Bt_(%)4)(QX|(Y};1Zr;sDvjH~XTGkd9H*Tyg7 zFLG?A!|}U?l+!5BS*YVC9}J=+#5T#tog572bET4T!1Q3je;vtU21=yBXEt3jFma-1QHRd@GUP7 zD$yapB|3DdL}%Jz^a8OR=ZbSyc>pR&rg$WNfp~^Ra9PUp=X{(`Kc=#{u5wn#>fzd1 za0Q!`sc`KqxO`9s6{;f(Z3=L7)eb@GHkfPj0Ju)j=sD{hTOm;MACAN_17xHy)w@nN zLFLsbk3*$)RB#oNQ{YlN6u8t58ZNa{4A(wC0oBGr!{zfu!zDTuaET5HD$#)~(i8-j z=v;wIbkgAx9k{d(4ldE5!6iCms6>YXS9}{X7psKd!xy;{@i9k_i?L2FIl1BJ z*HNy%n2ROY`%-3>eLf*qQEJr&)9mqd4Qza`xGO0;wZ<}Q>&i5qk&cXk%aXVT*N)DB zYDe?nvLrBY1#$A>3f8tk6&jr$YN z;am2Ea8(<#o{ibPwxs)yisO`k%%_1!DJ_0rzp$5FuY&88{ek_$4(V-xD|A!jREUch z<{}-K@v}{}BFQ*ffktip|4>yThQ!pNp{lHOi6pzu@5qEpbbbKL+F?+oxIG40s`E_dz8kx*$J$lStQxU^2ICv1Df2bO1Gvxs*C4=$}!1()b>;1V6UY#lUQ zq5~Nx(F3SNM+p}>2m>zBDThnzbipM$aM?N(xI_msN}~4A=?s{#`g`HpSyNE$tVp;} zq0w*wig&;zI^*_5$ITq_rc9!F9ZY*{^`7F{AGXc2f043NDxsi!Ra=V{m2TkFH<=F| z@sXt44%@4sWP>awwwTa6%P8z@VhAL-%Hl9^C9{3u%FtYfst#hh-M+p-nj|!;JDH6H z>porwm;X=>ml1dcuA{0GF42L@f55>dIzN=q*wJJ^l+f5qaX?l=Gei6Dz0R>F0N(%? zIWw7*L>%H^y2%Jkcq=2}Y7HZStEgN7m+1wUB%|S~M#+Iobb8?uodl?=m(g%RSy*t1 zjuk!})9S&Tgvlc2?qYqr>y6e!(Im+g_cSaz>WqK*0GQG%fNwTY|QRY&@X%r2D zj8S3~F3|~wN(oY3RLJBa(ZRx{b);~K4qSj93|yiU1DEJbz$H2%P-z_=T%tpOOLP=a ziH;I3TL%r7=s?y`NDPrmhl9jQXWwCL<6rA`W;{Ju=S zc6jQ?&;R!IB;PGNU)Zwx{GpCdUpd=(Fn34Wf4uq5XM(Snyjt_f5B0%wYkQj4cR%>$ z8~jg8k7nhxtjqnA^vRo_zPTo~@9(N#Ud3;}{2R)a0@Q=44?|AgdpH+TouxfoiyYZUCl|8t^$x zedS1LaIMy7dphk9<#}AJV>0*K0jYUHUQB*618ZlsmK>4#M5owFo;Ta04d|a`mY=ie zbK7(T>8p3Syh31cUaZaU6uwYjS+gP7DnEew;(!vL?NNwY`^Rtz55bP`Se#gHSK(uF z$fkz^*YwPXYkDY$;hLUI$foB6T+_1^uIXWHdW)tbl<@eeX=&q0i{UZ~F^i!x3a78a zWrd+b;F6wRxTFWY4zB4r3)%E+fNOgC;M!c&WvK`81Nf2fX&X)aurya=-CQNlGn0gK?0 zo|}+O4`j*G9>}H#uG3=rd$=sI9Jm}EGGx`Vci^fUQ8hy*J&;8a{t4IgM8mbYln>#W zo?N)RKuS7XZr4f|Czmj3Q`j4byE9ul31e8elp!S*uJz(WHa%pxriTTYGQ0(sGNeN0 z1d3g(eN2EGmL;f;>g!=E)bNGt>{3DIR=^hjz6_UB3R%E;x(Tk$4qM6N6}YB{0$F|l zvgv^>+I$T%-2)fmb~+ob>ESJbE81KN*Yq$p!&HH}b(fO5H9y&hOn(2_y%O1hy(dzJ z`bR>-VrgRkrjF9q^78Ys6#^!mRw1W}`>ypUXs7yGrh-ydrQ!~8$a|)~ySY4{;Cn?X zJg`bKSwa|;_B>Tc+XP`(6qvG?a&ay1R3z88DiS6p(-#I52+9(h{0Us;MB%9FkYMSm zhErEc{c*xW@zio5i%%P>Iqfsu@L5mifvbzLw2JCFN#P#Mw>c?63$HL+hh>u_9RAv) z0#$`HyR|rk_b!VxRg+mk{Q5UUOdQugW~{&eU?{IJ<2aU#AL6#GeR0wM_(V=g|3WzQ zMOjd487r6K^YPOiqWkd^_v`mj5Ao`(Nrt!g_x;okaQ3$3fu*vg|N1z4hvTUQv#?>&EEr_B8BW zpU&kK)A_{}q`sRhR$=d|9Ki~->M`G!lK#fFrEg<|cV&ZV=@EYldQnsp)>Tygj#%-f zqWs7+3{+R1PrwQ6?^04$$GommUVfd{_x|Z@HMhFW@(48{?3BzF(K(V zwywLjt{bDuyt$S4{G@P=h;sp#5|o1RFQZ@G)m<1A6Dy`)El?yZseKdY<3pYJ@@ycj zrYeF)p1yabO4O2h1?4Mg*wej;OQdvfIo}(e!on?xNy(1ID_auKsY(Bm*n~p)R-mG< zZOUvr8p^1tdT;pjm33V;#Nkg^I9%znJU(_ofH;;Y791g#mK;9#-$hA1%7jh(|BJAY z*jrRZuO99HeU31CL^yd+@+7UO`mKO;{%BWIN32+onNv$TR)(Y2ZZBW*p0sbcAwMTp z!g~Jz>joQ5zSR)6IVv-%N7i=YgFWZka&W9WS09C4e=Bg+KO4S2f=>?LFW_GA$&KeM zD$5?_P6aiby<7d0CZhOd!qwAfE2#H6zPg+2d-dOagU^=7eVdd~DBhHMqNsi&`c&wy zyA311Eo3%~Jg0g%TJc@>?TL(hNwi*&aziq~dw%iH*G~CLaAY?!f2-;m-2gEYd5a5i0xR(a_=M_Q4OagkQ-g=TZMV=*hEB^9rP! zrQ;*Y*M};vk!rX0KD>Uu2lI)g4$6j>#BXcSU?~hay~*8b0*L zxQ@70F@*K+^JPPOG36%1P^^D$->TqRbKmaFx)%n2qO$S-$tN8g<{Y|}R zgRzl}`u_}3}n>`!`jo&HvG`c6Z2WK%IdqcNXR(n(pCH@RntkafK(x*~B-C$>(ZWHewTHE{!=D_{&Sy&`{_TO?-REu za%(gt5I2IS{qDkMPQVR96#=`XfC(g$%l&=R@h5j_8v=s9-F|J?{I0$p+|cR@Zi3JC zw{jvLZ7iwfZjvmWcocb*T=EaX+jqV!?0tUCE+K~=hL(QHzqwy5TAaQ$M%gL*qPvK< znTJ==R&cJiaymH~3CCFnxOd_Mwv`5#hRuKe3H!~hx%vEnhAi`RwDSJNk@JFduP;4^+%WJ=%4@ab18-3U z6VsRea-(inH;>cp$09V{exDy#`*c(4cLl7W`z5uCW25aoIjWKRj-2|JcfG!AfZq86 zEq1iB_{fp=vKz@`cQ=NPrHZ9>G;-VWk#pr|sU!C%M+tA1tclKv5HDFHIvrQEtmgT2 z`6r*N?$Ua%lnPo$&k*l7@%H|By-J#P{JGx&C zJ2pzdhBJp5&nyeN_)f{9tQ}kosiElxma!@0)&te05Pmk$mdvUKOb$yR?GQ*ux|1>f zRh<*kqoGRL*7Nd*XKTijFEj>5Uu?X|D|l}yFQX{qwYrbKBt1RDJbbvYI*oWeJz*=i zGveE^p2QOgth(?9+73xGI(2MG(9}WMv5H7V+_RkA@S&Yl<>`UY^6_5uJoME}<tdlVb`i0UP;)4jQ%fikEu5Ydww6^Kpn~(B=JeIQSvmeGptIi zy7{xn+dF&mu|NejcD&U;gnfTBZ&mXvg_nvRlhQVxO`Gt?hUA6($K!)h@8*6GE!!`h z_~Iyq{Mfv>X9|Z&a>Yme__K493WPS~=HjMh0u=JQT`b0o{(_^CjeI>uo$oTuyU8ipi#(hs(pj@6(FvMGODc5(Tu4|C@qqwCt zoy02ckLY(%??P;Rj4-nm>4se*&i@{d#g&Sr200b1>Ko^)SFAJMYD3w)>Q4vkO&le z77;EN(uQ!Cx~CMkt1;P48Eacb$_|FAO?E0AO*pugTv;Fx9uj1h^J15U?@>%ASF~2= zpAO1x&mV4V?HQZsP%f)hVil_kGVAt^+{`T{?;AZ^bw@=@%eWdQyyjChE(lmkzTcD+ zxgR@umKi4Qn5-@zKNqxw+=yM4(Rj1#AGj25fnb>NIPAz^B=J_(LL8IO5O*Yes=xQS zltfHCTJTZNM}@bUrLnQ%KG~_?1?+r$;jIyL%$)qYKR8pXCX|bmSqpRePX&>C#cKGWbPaodE3w`%u z)6fQD%}Y}aN0n{&h~w4EpIWlo` z4{3yjQSx(kNpTd}e8!1m6{LZw_R6@$@ucFQ_Ud&ig*1TI)yeP+S$0ZZAyrOx$xj{I ze?lcmq~Wr1m!Ruts(Ih`E, EntityType> ALPHA_MANTIS = ENTITY_TYPES.register("alpha_mantis", () -> EntityType.Builder.of(AlphaMantisEntity::new, MobCategory.MONSTER) - .sized(4.0F, 3.25F) + .sized(4.25F, 3.35F) .clientTrackingRange(10) .build("alpha_mantis")); public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java index 70d25f9f..a151c550 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java @@ -53,8 +53,11 @@ public final class AntarchyFabricEvents { ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_BLOCK.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_CARPET.get().asItem(), 0.3f); + ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.BIG_BUSH.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CREEPVINE.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.HUSHWEED.get().asItem(), 0.65f); + ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_SHORT_GRASS.get().asItem(), 0.3f); + ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_TALL_GRASS.get().asItem(), 0.5f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CORNEA_EAR.get(), 0.65f); ServerLivingEntityEvents.AFTER_DEATH.register((entity, damageSource) -> { diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index b5f5680d..0e77f432 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -350,6 +350,7 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setDuplicatorTreeEnabled(AntarchyMiscConfig.duplicatorTreeEnabled()); AntarchySettings.setGlowingTorchflowers(AntarchyMiscConfig.glowingTorchflowers()); AntarchySettings.setGlowVinesUnderLeaves(AntarchyMiscConfig.glowVinesUnderLeaves()); + AntarchySettings.setSwingThroughGrassEnabled(AntarchyMiscConfig.swingThroughGrassEnabled()); AntarchySettings.setEntitySpecificFireOverlayEnabled(AntarchyMiscConfig.entitySpecificFireOverlayEnabled()); AntarchySettings.setBloodCrystalArmorShieldRechargeTicks(AntarchyToolsConfig.bloodCrystalArmorShieldRechargeTicks()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java index c8d6ddf0..322fa099 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java @@ -40,6 +40,7 @@ public final class AntarchyMiscConfig { private static final ModConfigSpec.BooleanValue DUPLICATOR_TREE_ENABLED; private static final ModConfigSpec.BooleanValue GLOWING_TORCHFLOWERS; private static final ModConfigSpec.BooleanValue GLOW_VINES_UNDER_LEAVES; + private static final ModConfigSpec.BooleanValue SWING_THROUGH_GRASS_ENABLED; private static final ModConfigSpec.BooleanValue ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED; static { @@ -120,6 +121,7 @@ public final class AntarchyMiscConfig { DUPLICATOR_TREE_ENABLED = b.comment("If false, duplicator trees do not generate and duplicator saplings produce nothing.").define("duplicatorTreeEnabled", true); GLOWING_TORCHFLOWERS = b.comment("Whether fully-grown torchflower blocks emit light.") .define("glowingTorchflowers", true); GLOW_VINES_UNDER_LEAVES = b.comment("Whether glow vines can be placed and survive when attached under leaf blocks.") .define("glowVinesUnderLeaves", true); + SWING_THROUGH_GRASS_ENABLED = b.comment("If true, empty collision plants like grass do not block melee target picking.") .define("swingThroughGrassEnabled", true); ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED = b.comment("If true, burning entities use soul fire / dream fire overlays where appropriate.") .define("entitySpecificFireOverlayEnabled", true); b.pop(); @@ -141,6 +143,7 @@ public final class AntarchyMiscConfig { static boolean duplicatorTreeEnabled() { return DUPLICATOR_TREE_ENABLED.get(); } static boolean glowingTorchflowers() { return GLOWING_TORCHFLOWERS.get(); } static boolean glowVinesUnderLeaves() { return GLOW_VINES_UNDER_LEAVES.get(); } + static boolean swingThroughGrassEnabled() { return SWING_THROUGH_GRASS_ENABLED.get(); } static boolean entitySpecificFireOverlayEnabled() { return ENTITY_SPECIFIC_FIRE_OVERLAY_ENABLED.get(); } static double hushweedSporeLifetimeSeconds() { return HUSHWEED_SPORE_LIFETIME_SECONDS.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index 68c2ab5e..d22259cc 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -390,9 +390,9 @@ public final class AntarchyMobsConfig { // Alpha Mantis b.push("alphaMantis"); - ALPHA_MANTIS_HEALTH = b.comment("Base max health.") .defineInRange("health", 500.0D, 1.0D, 32768.0D); + ALPHA_MANTIS_HEALTH = b.comment("Base max health.") .defineInRange("health", 250.0D, 1.0D, 32768.0D); ALPHA_MANTIS_ATTACK_DAMAGE = b.comment("Base attack damage.") .defineInRange("attackDamage", 18.0D, 0.0D, 1024.0D); - ALPHA_MANTIS_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.42D, 0.0D, 10.0D); + ALPHA_MANTIS_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.546D, 0.0D, 10.0D); ALPHA_MANTIS_FLYING_SPEED = b.comment("Base flying speed.") .defineInRange("flyingSpeed", 0.77D, 0.0D, 10.0D); ALPHA_MANTIS_SUMMON_INTERVAL_TICKS = b.comment("Ticks between mantis minion summons while in combat.") .defineInRange("summonIntervalTicks", 300, 20, 72000); ALPHA_MANTIS_MAX_MINIONS = b.comment("Maximum summoned mantises alive near the alpha at once.") .defineInRange("maxMinions", 4, 0, 32); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java index 4db16c61..4c95ded9 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java @@ -1115,8 +1115,11 @@ public final class AntarchyNeoForgeEvents { ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.AMBER_MOSS_BLOCK.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.AMBER_MOSS_CARPET.get().asItem(), 0.3f); + ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.BIG_BUSH.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.CREEPVINE.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.HUSHWEED.get().asItem(), 0.65f); + ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get().asItem(), 0.3f); + ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get().asItem(), 0.5f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.CORNEA_EAR.get(), 0.65f); }); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index c8d8e664..57d460de 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -98,6 +98,7 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.TORCHFLOWER_BUSH_ITEM.get()); event.accept(AntarchyNeoforgeItems.BIG_BUSH_ITEM.get()); event.accept(AntarchyNeoforgeItems.VERY_SHORT_GRASS_ITEM.get()); + event.accept(AntarchyNeoforgeItems.VERY_TALL_GRASS_ITEM.get()); event.accept(AntarchyNeoforgeItems.HUSHWEED_ITEM.get()); event.accept(AntarchyNeoforgeItems.AMBER_LICHEN_ITEM.get()); event.accept(AntarchyNeoforgeItems.CREEPVINE_ITEM.get()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index 1ab5b1f4..35501ae8 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -97,7 +97,7 @@ public final class AntarchyNeoforgeEntites { .build("mantis")); public static final DeferredHolder, EntityType> ALPHA_MANTIS = ENTITY_TYPES.register("alpha_mantis", () -> EntityType.Builder.of(AlphaMantisEntity::new, MobCategory.MONSTER) - .sized(4.0F, 3.25F) + .sized(4.25F, 3.35F) .clientTrackingRange(10) .build("alpha_mantis")); public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", From 4e67661448e2f3f5d9aa4a61a6e16867b061df18 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Wed, 8 Jul 2026 01:35:41 -0500 Subject: [PATCH 10/13] ruined arena new ant sacrifice portals dorrie overhaul new foliage in overworld biomes --- .../antarchy/config/AntarchySettings.java | 25 + .../antarchy/content/AntarchyTags.java | 3 + .../block/AntDimensionPortalBlock.java | 154 + .../antarchy/content/block/BigBushBlock.java | 37 + .../content/block/BigBushPartBlock.java | 23 + .../content/block/OuranwoodVineBlock.java | 41 + .../block/OuranwoodVinePlantBlock.java | 42 + .../content/entity/AlphaMantisEntity.java | 8 +- .../antarchy/content/entity/DorrieEntity.java | 162 +- .../antarchy/content/entity/MantisEntity.java | 5 +- .../portal/PermanentPortalManager.java | 129 + .../content/portal/PermanentPortalShape.java | 203 + .../portal/PermanentPortalTeleporter.java | 150 + .../content/portal/PermanentPortalType.java | 111 + .../worldgen/BigBushWorldgenFeature.java | 73 + .../VeryTallGrassWorldgenFeature.java | 35 + .../BoneMealItemTorchflowerBushMixin.java | 53 + .../resources/antarchy-common.mixins.json | 1 + .../antarchy/animations/dorrie.animation.json | 5980 ++++++++++------- .../antarchy/blockstates/cavaryn_portal.json | 6 + .../antarchy/blockstates/elythia_portal.json | 6 + .../antarchy/blockstates/ouranwood_vine.json | 7 + .../blockstates/ouranwood_vine_plant.json | 7 + .../antarchy/blockstates/thoraxis_portal.json | 6 + .../assets/antarchy/geo/dorrie.geo.json | 326 +- .../resources/assets/antarchy/lang/en_us.json | 9 + .../models/block/cavaryn_portal_x.json | 17 + .../models/block/cavaryn_portal_z.json | 17 + .../models/block/elythia_portal_x.json | 17 + .../models/block/elythia_portal_z.json | 17 + .../antarchy/models/block/ouranwood_vine.json | 6 + .../models/block/ouranwood_vine_plant.json | 6 + .../models/block/thoraxis_portal_x.json | 17 + .../models/block/thoraxis_portal_z.json | 17 + .../antarchy/models/item/ouranwood_vine.json | 6 + .../textures/block/cavaryn_portal.png | Bin 0 -> 22645 bytes .../textures/block/cavaryn_portal.png.mcmeta | 3 + .../textures/block/elythia_portal.png | Bin 0 -> 25544 bytes .../textures/block/elythia_portal.png.mcmeta | 3 + .../block/ouranwood/ouranwood_vine.png | Bin 0 -> 625 bytes .../block/ouranwood/ouranwood_vine_plant.png | Bin 0 -> 511 bytes .../textures/block/thoraxis_portal.png | Bin 0 -> 24361 bytes .../textures/block/thoraxis_portal.png.mcmeta | 3 + .../antarchy/textures/entity/dorrie.png | Bin 13568 -> 8734 bytes .../textures/entity/dorrie_saddle.png | Bin 15697 -> 11820 bytes .../data/antarchy/advancement/bugged_out.json | 34 + .../antarchy/advancement/challenge_games.json | 42 + .../loot_table/blocks/ouranwood_vine.json | 25 + .../chests/ruined_arena/generic.json | 18 +- .../spawners/fallen_kingdom_castle/hard.json | 2 +- .../fallen_kingdom_castle/medium.json | 2 +- .../spawners/ruined_arena/hard.json | 16 +- .../spawners/ruined_arena/medium.json | 19 +- .../structure/ruined_arena/ruined_arena.nbt | Bin 267168 -> 267191 bytes .../tags/block/cavaryn_portal_frames.json | 6 + .../tags/block/elythia_portal_frames.json | 6 + .../tags/block/thoraxis_portal_frames.json | 6 + .../biome/big_bush_2x2_spawn_biomes.json | 10 + .../worldgen/biome/big_bush_spawn_biomes.json | 8 + .../biome/mega_taiga_spawn_biomes.json | 7 + .../biome/very_short_grass_spawn_biomes.json | 19 + .../biome/very_tall_grass_spawn_biomes.json | 9 + .../worldgen/configured_feature/big_bush.json | 25 + .../configured_feature/big_bush_2x2.json | 4 + .../configured_feature/big_bush_3x3.json | 4 + .../configured_feature/very_short_grass.json | 25 + .../configured_feature/very_tall_grass.json | 4 + .../worldgen/placed_feature/big_bush.json | 9 + .../worldgen/placed_feature/big_bush_2x2.json | 9 + .../worldgen/placed_feature/big_bush_3x3.json | 9 + .../placed_feature/very_short_grass.json | 9 + .../placed_feature/very_tall_grass.json | 9 + .../worldgen/structure/ruined_arena.json | 2 +- .../fabric/AntarchyConfigModuleFabric.java | 4 + .../antarchy/fabric/AntarchyFabric.java | 65 + .../fabric/AntarchyFabricContent.java | 44 + .../antarchy/fabric/AntarchyFabricEvents.java | 2 + .../client/AntarchyFabricClientBootstrap.java | 5 + .../AntarchyConfigModuleNeoforge.java | 4 + .../antarchy/neoforge/AntarchyMiscConfig.java | 20 + .../antarchy/neoforge/AntarchyNeoforge.java | 9 + .../client/AntarchyNeoForgeClient.java | 5 + .../registry/AntarchyNeoForgeEvents.java | 6 + .../registry/AntarchyNeoforgeBlocks.java | 31 + .../AntarchyNeoforgeCreativeModeTabs.java | 1 + .../registry/AntarchyNeoforgeItems.java | 1 + .../registry/AntarchyNeoforgeMisc.java | 8 + .../neoforge/biome_modifier/big_bush.json | 8 + .../neoforge/biome_modifier/big_bush_2x2.json | 8 + .../neoforge/biome_modifier/big_bush_3x3.json | 8 + .../biome_modifier/very_short_grass.json | 8 + .../biome_modifier/very_tall_grass.json | 8 + 92 files changed, 5802 insertions(+), 2512 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVineBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVinePlantBlock.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalType.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java create mode 100644 common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/elythia_portal.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine_plant.json create mode 100644 common/src/main/resources/assets/antarchy/blockstates/thoraxis_portal.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/elythia_portal_x.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/elythia_portal_z.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/ouranwood_vine.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/ouranwood_vine_plant.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_x.json create mode 100644 common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_z.json create mode 100644 common/src/main/resources/assets/antarchy/models/item/ouranwood_vine.json create mode 100644 common/src/main/resources/assets/antarchy/textures/block/cavaryn_portal.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/cavaryn_portal.png.mcmeta create mode 100644 common/src/main/resources/assets/antarchy/textures/block/elythia_portal.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/elythia_portal.png.mcmeta create mode 100644 common/src/main/resources/assets/antarchy/textures/block/ouranwood/ouranwood_vine.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/ouranwood/ouranwood_vine_plant.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png create mode 100644 common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png.mcmeta create mode 100644 common/src/main/resources/data/antarchy/advancement/bugged_out.json create mode 100644 common/src/main/resources/data/antarchy/advancement/challenge_games.json create mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/ouranwood_vine.json create mode 100644 common/src/main/resources/data/antarchy/tags/block/cavaryn_portal_frames.json create mode 100644 common/src/main/resources/data/antarchy/tags/block/elythia_portal_frames.json create mode 100644 common/src/main/resources/data/antarchy/tags/block/thoraxis_portal_frames.json create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/big_bush_2x2_spawn_biomes.json create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/big_bush_spawn_biomes.json create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/mega_taiga_spawn_biomes.json create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/very_short_grass_spawn_biomes.json create mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/very_tall_grass_spawn_biomes.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush_2x2.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush_3x3.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/very_short_grass.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/very_tall_grass.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush_2x2.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush_3x3.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/very_short_grass.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/very_tall_grass.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json create mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index 09881a9e..a5ab19e5 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -447,6 +447,10 @@ public final class AntarchySettings { private static double primordialArmorKnockbackPerPiece = 0.5D; private static int fallenKingCrownArmorValue = 2; private static double fallenKingCrownArmorToughness = 0.0D; + private static boolean permanentPortalsEnabled = true; + private static boolean elythiaPortalEnabled = true; + private static boolean thoraxisPortalEnabled = true; + private static boolean cavarynPortalEnabled = true; private static boolean elythiaFireflyParticlesEnabled = true; private static int bloodCrystalArmorShieldRechargeTicks = 600; private static int bloodCrystalAppleShieldCount = 2; @@ -957,6 +961,22 @@ public final class AntarchySettings { rainbowAntsLeadToInfinityDimensions = value; } + public static void setPermanentPortalsEnabled(boolean value) { + permanentPortalsEnabled = value; + } + + public static void setElythiaPortalEnabled(boolean value) { + elythiaPortalEnabled = value; + } + + public static void setThoraxisPortalEnabled(boolean value) { + thoraxisPortalEnabled = value; + } + + public static void setCavarynPortalEnabled(boolean value) { + cavarynPortalEnabled = value; + } + public static void setBrownAntRequiresReagent(boolean value) { brownAntRequiresReagent = value; } @@ -2434,6 +2454,11 @@ public final class AntarchySettings { public static double fallenKingCrownArmorToughness() { return fallenKingCrownArmorToughness; } public static void setFallenKingCrownArmorToughness(double value) { fallenKingCrownArmorToughness = value; } + public static boolean permanentPortalsEnabled() { return permanentPortalsEnabled; } + public static boolean elythiaPortalEnabled() { return elythiaPortalEnabled; } + public static boolean thoraxisPortalEnabled() { return thoraxisPortalEnabled; } + public static boolean cavarynPortalEnabled() { return cavarynPortalEnabled; } + public static boolean elythiaFireflyParticlesEnabled() { return elythiaFireflyParticlesEnabled; } public static void setElythiaFireflyParticlesEnabled(boolean value) { elythiaFireflyParticlesEnabled = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java index 821c5ef7..cc7c90ff 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java @@ -31,6 +31,9 @@ public final class AntarchyTags { public static final TagKey TERMITE_FOODS = TagKey.create(Registries.BLOCK, id("termite_foods")); public static final TagKey UMBRAL_MOSS_REPLACEABLE = TagKey.create(Registries.BLOCK, id("umbral_moss_replaceable")); public static final TagKey HERCULES_BEETLE_CHARGE_IMMUNE_BLOCKS = TagKey.create(Registries.BLOCK, id("hercules_beetle_charge_immune_blocks")); + public static final TagKey ELYTHIA_PORTAL_FRAMES = TagKey.create(Registries.BLOCK, id("elythia_portal_frames")); + public static final TagKey THORAXIS_PORTAL_FRAMES = TagKey.create(Registries.BLOCK, id("thoraxis_portal_frames")); + public static final TagKey CAVARYN_PORTAL_FRAMES = TagKey.create(Registries.BLOCK, id("cavaryn_portal_frames")); private Blocks() { } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java new file mode 100644 index 00000000..eca7464d --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java @@ -0,0 +1,154 @@ +package com.craisinlord.antarchy.content.block; + +import com.craisinlord.antarchy.content.portal.PermanentPortalManager; +import com.craisinlord.antarchy.content.portal.PermanentPortalType; +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +public final class AntDimensionPortalBlock extends Block { + public static final EnumProperty AXIS = BlockStateProperties.HORIZONTAL_AXIS; + private static final VoxelShape X_SHAPE = Block.box(0.0D, 0.0D, 6.0D, 16.0D, 16.0D, 10.0D); + private static final VoxelShape Z_SHAPE = Block.box(6.0D, 0.0D, 0.0D, 10.0D, 16.0D, 16.0D); + + private final PermanentPortalType type; + private final MapCodec codec; + + public AntDimensionPortalBlock(PermanentPortalType type, BlockBehaviour.Properties properties) { + super(properties); + this.type = type; + this.codec = Block.simpleCodec(ignored -> this); + this.registerDefaultState(this.stateDefinition.any().setValue(AXIS, Direction.Axis.X)); + } + + @Override + public MapCodec codec() { + return this.codec; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + builder.add(AXIS); + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return state.getValue(AXIS) == Direction.Axis.X ? X_SHAPE : Z_SHAPE; + } + + @Override + protected VoxelShape getCollisionShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return Shapes.empty(); + } + + @Override + protected VoxelShape getVisualShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return Shapes.empty(); + } + + @Override + protected VoxelShape getBlockSupportShape(BlockState state, BlockGetter level, BlockPos pos) { + return Shapes.empty(); + } + + @Override + protected RenderShape getRenderShape(BlockState state) { + return RenderShape.MODEL; + } + + @Override + protected boolean skipRendering(BlockState state, BlockState adjacentBlockState, Direction side) { + return adjacentBlockState.is(this) || super.skipRendering(state, adjacentBlockState, side); + } + + @Override + public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { + if (!level.isClientSide()) { + PermanentPortalManager.handleEntityInsidePortal(entity, this.type); + } + } + + @Override + protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) { + super.onPlace(state, level, pos, oldState, movedByPiston); + if (!level.isClientSide() && !state.is(oldState.getBlock())) { + level.scheduleTick(pos, this, 1); + } + } + + @Override + protected BlockState updateShape( + BlockState state, + Direction direction, + BlockState neighborState, + LevelAccessor level, + BlockPos pos, + BlockPos neighborPos + ) { + if (level instanceof ServerLevel serverLevel) { + serverLevel.scheduleTick(pos, this, 1); + } + return super.updateShape(state, direction, neighborState, level, pos, neighborPos); + } + + @Override + protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) { + if (!PermanentPortalManager.isPortalStillValid(level, pos, this.type, state.getValue(AXIS))) { + level.setBlock(pos, Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL); + } + } + + @Override + public void animateTick(BlockState state, Level level, BlockPos pos, RandomSource random) { + if (random.nextInt(100) == 0) { + level.playLocalSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, SoundEvents.PORTAL_AMBIENT, SoundSource.BLOCKS, 0.35F, 0.9F + random.nextFloat() * 0.2F, false); + } + + ParticleOptions particle = switch (this.type) { + case ELYTHIA -> ParticleTypes.SPORE_BLOSSOM_AIR; + case THORAXIS -> ParticleTypes.PORTAL; + case CAVARYN -> ParticleTypes.MYCELIUM; + }; + + for (int i = 0; i < 4; i++) { + double x = pos.getX() + random.nextDouble(); + double y = pos.getY() + random.nextDouble(); + double z = pos.getZ() + random.nextDouble(); + if (state.getValue(AXIS) == Direction.Axis.X) { + z = pos.getZ() + 0.5D + (random.nextDouble() - 0.5D) * 0.25D; + } else { + x = pos.getX() + 0.5D + (random.nextDouble() - 0.5D) * 0.25D; + } + level.addParticle( + particle, + x, + y, + z, + (random.nextDouble() - 0.5D) * 0.2D, + (random.nextDouble() - 0.5D) * 0.2D, + (random.nextDouble() - 0.5D) * 0.2D + ); + } + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java index ef1d89ca..8d4264e8 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushBlock.java @@ -8,6 +8,11 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.ItemInteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; @@ -22,6 +27,7 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.DirectionProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -251,4 +257,35 @@ public class BigBushBlock extends BushBlock implements BonemealableBlock { } placeStage(level, target.origin(), target.state()); } + + /** Pops a bonus item when bone meal is used on a fully-grown (age 2) bush; shared with {@link BigBushPartBlock}. */ + public static boolean grantBonemealBonus(Level level, BlockPos originPos, BlockState originState, Player player, ItemStack stack) { + if (!(originState.getBlock() instanceof BigBushBlock bigBush) || originState.getValue(AGE) != 2) { + return false; + } + if (!level.isClientSide) { + bigBush.popResource(level, originPos, new ItemStack(bigBush, 1)); + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + level.levelEvent(1505, originPos, 15); + } + return true; + } + + @Override + protected ItemInteractionResult useItemOn( + ItemStack stack, + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hitResult + ) { + if (stack.is(Items.BONE_MEAL) && grantBonemealBonus(level, pos, state, player, stack)) { + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java index e9ea7036..a57ff233 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java @@ -5,8 +5,11 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; @@ -16,6 +19,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -119,6 +123,25 @@ public class BigBushPartBlock extends Block { } } + @Override + protected ItemInteractionResult useItemOn( + ItemStack stack, + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hitResult + ) { + if (stack.is(Items.BONE_MEAL)) { + BlockPos origin = findOrigin(level, pos); + if (origin != null && BigBushBlock.grantBonemealBonus(level, origin, level.getBlockState(origin), player, stack)) { + return ItemInteractionResult.sidedSuccess(level.isClientSide); + } + } + return super.useItemOn(stack, state, level, pos, player, hand, hitResult); + } + @Override public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { BlockPos origin = findOrigin(level, pos); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVineBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVineBlock.java new file mode 100644 index 00000000..a8c023c9 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVineBlock.java @@ -0,0 +1,41 @@ +package com.craisinlord.antarchy.content.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.WeepingVinesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +@SuppressWarnings({"rawtypes", "unchecked"}) +public class OuranwoodVineBlock extends WeepingVinesBlock { + public static final MapCodec CODEC = simpleCodec(OuranwoodVineBlock::new); + private static Block bodyBlock; + + public OuranwoodVineBlock(BlockBehaviour.Properties properties) { + super(properties); + } + + @Override + public MapCodec codec() { + return (MapCodec) CODEC; + } + + @Override + protected Block getBodyBlock() { + return bodyBlock; + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return Shapes.block(); + } + + public static void bindBodyBlock(Block block) { + bodyBlock = block; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVinePlantBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVinePlantBlock.java new file mode 100644 index 00000000..4d663c0b --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/OuranwoodVinePlantBlock.java @@ -0,0 +1,42 @@ +package com.craisinlord.antarchy.content.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.GrowingPlantHeadBlock; +import net.minecraft.world.level.block.WeepingVinesBlock; +import net.minecraft.world.level.block.WeepingVinesPlantBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +@SuppressWarnings({"rawtypes", "unchecked"}) +public class OuranwoodVinePlantBlock extends WeepingVinesPlantBlock { + public static final MapCodec CODEC = simpleCodec(OuranwoodVinePlantBlock::new); + private static GrowingPlantHeadBlock headBlock; + + public OuranwoodVinePlantBlock(BlockBehaviour.Properties properties) { + super(properties); + } + + @Override + public MapCodec codec() { + return (MapCodec) CODEC; + } + + @Override + protected GrowingPlantHeadBlock getHeadBlock() { + return headBlock; + } + + @Override + protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { + return Shapes.block(); + } + + public static void bindHeadBlock(WeepingVinesBlock block) { + headBlock = block; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java index fdddadf9..a1ed6773 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/AlphaMantisEntity.java @@ -52,7 +52,10 @@ public class AlphaMantisEntity extends MantisEntity { } public static boolean checkAlphaMantisSpawnRules(EntityType entityType, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { - if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER || spawnReason == MobSpawnType.COMMAND) { + if (spawnReason == MobSpawnType.SPAWN_EGG + || spawnReason == MobSpawnType.SPAWNER + || spawnReason == MobSpawnType.TRIAL_SPAWNER + || spawnReason == MobSpawnType.COMMAND) { return true; } @@ -73,14 +76,12 @@ public class AlphaMantisEntity extends MantisEntity { return false; } - // Only one alpha at a time in the area if (!level.getLevel().getEntitiesOfClass(AlphaMantisEntity.class, new AABB(pos).inflate(128.0D), Entity::isAlive).isEmpty()) { return false; } boolean ignoreLightLevel = AntarchySettings.mantisIgnoreLightLevel(); - // Daytime overworld spawns can't pass the vanilla darkness check, so no light gate here if (level.getLevel().isDay() && level.getBiome(pos).is(AntarchyTags.Biomes.MANTIS_OVERWORLD_SPAWN_BIOMES)) { return level.canSeeSky(pos); } @@ -181,7 +182,6 @@ public class AlphaMantisEntity extends MantisEntity { @Override public void setTarget(@Nullable LivingEntity target) { super.setTarget(target); - // A boss that despawns mid-fight is no boss — stay loaded once engaged if (target != null) { this.setPersistenceRequired(); } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java index 8fa42815..613e1fd1 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java @@ -23,6 +23,7 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.control.MoveControl; import net.minecraft.world.entity.ai.control.SmoothSwimmingLookControl; import net.minecraft.world.entity.ai.control.SmoothSwimmingMoveControl; import net.minecraft.world.entity.ai.goal.BreathAirGoal; @@ -30,8 +31,10 @@ import net.minecraft.world.entity.ai.goal.FloatGoal; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; import net.minecraft.world.entity.ai.goal.RandomSwimmingGoal; import net.minecraft.world.entity.ai.goal.TryFindWaterGoal; +import net.minecraft.world.entity.ai.navigation.GroundPathNavigation; import net.minecraft.world.entity.ai.navigation.PathNavigation; import net.minecraft.world.entity.ai.navigation.WaterBoundPathNavigation; import net.minecraft.world.entity.animal.Animal; @@ -39,6 +42,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; +import net.minecraft.world.level.pathfinder.PathType; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; @@ -59,18 +63,29 @@ public class DorrieEntity extends Animal implements GeoEntity { SynchedEntityData.defineId(DorrieEntity.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor JUMP_CHARGE = SynchedEntityData.defineId(DorrieEntity.class, EntityDataSerializers.INT); + private static final EntityDataAccessor QUIRK_TICKS = + SynchedEntityData.defineId(DorrieEntity.class, EntityDataSerializers.INT); private static final int MAX_CHARGE_TICKS = 40; private static final float WATER_RIDE_SPEED = 1.26F; private static final float LAND_BEACH_SPEED = 0.04F; + private static final int QUIRK_DURATION_TICKS = 65; + private static final int MIN_QUIRK_COOLDOWN_TICKS = 180; + private static final int MAX_QUIRK_COOLDOWN_TICKS = 320; + private static final double MOVING_ANIM_THRESHOLD_SQ = 0.0025D; - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation IDLE_GROUND_ANIM = RawAnimation.begin().thenLoop("idle_ground"); + private static final RawAnimation IDLE_WATER_ANIM = RawAnimation.begin().thenLoop("idle_water"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); private static final RawAnimation SWIM_ANIM = RawAnimation.begin().thenLoop("swim"); - private static final RawAnimation JUMP_START_ANIM = RawAnimation.begin().thenPlay("jump_1"); - private static final RawAnimation JUMP_LOOP_ANIM = RawAnimation.begin().thenLoop("jump_2"); - private static final RawAnimation JUMP_LAND_ANIM = RawAnimation.begin().thenPlay("jump_3"); + private static final RawAnimation JUMP_START_ANIM = RawAnimation.begin().thenPlay("jump_start"); + private static final RawAnimation JUMP_LOOP_ANIM = RawAnimation.begin().thenLoop("jump_idle"); + private static final RawAnimation JUMP_LAND_ANIM = RawAnimation.begin().thenPlay("jump_end"); + private static final RawAnimation QUIRK_ANIM = RawAnimation.begin().thenPlay("quirk"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); + private final MoveControl landMoveControl; + private final MoveControl waterMoveControl; private static final int RIDES_TO_TAME = 4; private static final int BUCK_DELAY_TICKS = 60; @@ -83,11 +98,17 @@ public class DorrieEntity extends Animal implements GeoEntity { private int rideAttempts = 0; private int buckTimer = 0; private int swimForwardTicks = 0; + private int quirkCooldownTicks = MIN_QUIRK_COOLDOWN_TICKS; + private boolean usingLandNavigation = true; public DorrieEntity(EntityType entityType, Level level) { super(entityType, level); - this.moveControl = new SmoothSwimmingMoveControl(this, 85, 10, 0.02F, 1.0F, true); + this.landMoveControl = new MoveControl(this); + this.waterMoveControl = new SmoothSwimmingMoveControl(this, 85, 10, 0.02F, 1.0F, true); + this.moveControl = this.landMoveControl; this.lookControl = new SmoothSwimmingLookControl(this, 10); + this.setPathfindingMalus(PathType.WATER, 0.0F); + this.setPathfindingMalus(PathType.WATER_BORDER, 0.0F); } @Override @@ -96,11 +117,12 @@ public class DorrieEntity extends Animal implements GeoEntity { builder.define(HAS_SADDLE, false); builder.define(TAMED, false); builder.define(JUMP_CHARGE, 0); + builder.define(QUIRK_TICKS, 0); } @Override protected PathNavigation createNavigation(Level level) { - return new WaterBoundPathNavigation(this, level); + return this.createLandNavigation(level); } @Override @@ -110,8 +132,9 @@ public class DorrieEntity extends Animal implements GeoEntity { this.goalSelector.addGoal(2, new TryFindWaterGoal(this)); this.goalSelector.addGoal(3, new HuntCheepGoal(this)); this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10)); - this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F)); - this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.45D, 60)); + this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); } public static AttributeSupplier.Builder createAttributes() { @@ -146,6 +169,14 @@ public class DorrieEntity extends Animal implements GeoEntity { this.entityData.set(JUMP_CHARGE, charge); } + public int getQuirkTicks() { + return this.entityData.get(QUIRK_TICKS); + } + + private void setQuirkTicks(int ticks) { + this.entityData.set(QUIRK_TICKS, ticks); + } + @Override public void addAdditionalSaveData(CompoundTag tag) { super.addAdditionalSaveData(tag); @@ -173,7 +204,18 @@ public class DorrieEntity extends Animal implements GeoEntity { return InteractionResult.sidedSuccess(this.level().isClientSide); } - if (this.hasSaddle() && stack.isEmpty() && !player.isPassengerOfSameVehicle(this)) { + if (this.hasSaddle() && !player.isPassengerOfSameVehicle(this)) { + if (!stack.isEmpty()) { + return super.mobInteract(player, hand); + } + + if (!player.isShiftKeyDown()) { + if (!this.level().isClientSide) { + player.startRiding(this); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + if (!this.level().isClientSide) { this.setSaddle(false); this.spawnAtLocation(new ItemStack(Items.SADDLE)); @@ -193,13 +235,6 @@ public class DorrieEntity extends Animal implements GeoEntity { return InteractionResult.sidedSuccess(this.level().isClientSide); } - if (this.hasSaddle() && !player.isPassengerOfSameVehicle(this)) { - if (!this.level().isClientSide) { - player.startRiding(this); - } - return InteractionResult.sidedSuccess(this.level().isClientSide); - } - return super.mobInteract(player, hand); } @@ -234,6 +269,7 @@ public class DorrieEntity extends Animal implements GeoEntity { @Override public void tick() { super.tick(); + this.updateNavigationMode(); if (this.getControllingPassenger() instanceof Player player) { this.setYRot(player.getYRot()); @@ -275,6 +311,10 @@ public class DorrieEntity extends Animal implements GeoEntity { setJumpCharge((int) ((chargeTicks / (float) MAX_CHARGE_TICKS) * 100)); } + if (!this.level().isClientSide) { + this.tickQuirkAnimation(); + } + if (this.isInWater() && !isLeaping) { Vec3 mov = this.getDeltaMovement(); double push = this.isUnderWater() ? 0.07D : 0.015D; @@ -384,13 +424,29 @@ public class DorrieEntity extends Animal implements GeoEntity { } private PlayState mainAnimController(AnimationState state) { + state.getController().setAnimationSpeed(1.0D); + if (landAnimTicks > 0) { return state.setAndContinue(JUMP_LAND_ANIM); } if (isLeaping) { return state.setAndContinue(wasInAir ? JUMP_LOOP_ANIM : JUMP_START_ANIM); } - return state.setAndContinue(state.isMoving() ? SWIM_ANIM : IDLE_ANIM); + if (this.getQuirkTicks() > 0) { + return state.setAndContinue(QUIRK_ANIM); + } + + boolean moving = this.isMovingForAnimation(state); + if (this.isInWater() || this.isInLava()) { + return state.setAndContinue(moving ? SWIM_ANIM : IDLE_WATER_ANIM); + } + + if (moving) { + state.getController().setAnimationSpeed(0.75D); + return state.setAndContinue(WALK_ANIM); + } + + return state.setAndContinue(IDLE_GROUND_ANIM); } @Override @@ -407,6 +463,78 @@ public class DorrieEntity extends Animal implements GeoEntity { return !stack.isEmpty() && stack.is(BuiltInRegistries.ITEM.getOptional(CHEEP_ITEM_ID).orElse(Items.AIR)); } + private PathNavigation createLandNavigation(Level level) { + GroundPathNavigation navigation = new GroundPathNavigation(this, level); + navigation.setCanFloat(true); + navigation.setCanOpenDoors(false); + navigation.setCanPassDoors(true); + return navigation; + } + + private PathNavigation createWaterNavigation(Level level) { + return new WaterBoundPathNavigation(this, level); + } + + private void updateNavigationMode() { + boolean shouldUseLandNavigation = !this.isInWater() && !this.isUnderWater() && !this.isInLava(); + if (this.navigation == null || this.usingLandNavigation != shouldUseLandNavigation) { + this.usingLandNavigation = shouldUseLandNavigation; + if (this.navigation != null) { + this.navigation.stop(); + } + this.navigation = shouldUseLandNavigation + ? this.createLandNavigation(this.level()) + : this.createWaterNavigation(this.level()); + this.moveControl = shouldUseLandNavigation ? this.landMoveControl : this.waterMoveControl; + } + } + + private void tickQuirkAnimation() { + if (this.getQuirkTicks() > 0) { + if (this.canUseQuirkAnimation()) { + this.setQuirkTicks(this.getQuirkTicks() - 1); + } else { + this.setQuirkTicks(0); + this.quirkCooldownTicks = this.nextQuirkCooldown(); + } + return; + } + + if (this.quirkCooldownTicks > 0) { + this.quirkCooldownTicks--; + return; + } + + if (this.canUseQuirkAnimation()) { + this.setQuirkTicks(QUIRK_DURATION_TICKS); + this.quirkCooldownTicks = this.nextQuirkCooldown(); + } + } + + private int nextQuirkCooldown() { + return MIN_QUIRK_COOLDOWN_TICKS + this.random.nextInt(MAX_QUIRK_COOLDOWN_TICKS - MIN_QUIRK_COOLDOWN_TICKS + 1); + } + + private boolean canUseQuirkAnimation() { + return this.isInWater() + && this.getControllingPassenger() == null + && !this.isLeaping + && this.landAnimTicks <= 0 + && !this.isCharging + && !this.isMovingForAnimation(null); + } + + private boolean isMovingForAnimation(@Nullable AnimationState state) { + if (state != null && state.isMoving()) { + return true; + } + if (this.getControllingPassenger() instanceof Player player) { + return Math.abs(player.zza) > 0.05F || Math.abs(player.xxa) > 0.05F; + } + return this.getDeltaMovement().horizontalDistanceSqr() > MOVING_ANIM_THRESHOLD_SQ + || this.getNavigation().isInProgress(); + } + private static class HuntCheepGoal extends Goal { private static final int COOLDOWN_TICKS = 600; private static final double HUNT_RANGE = 16.0D; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java index 4e435a6e..033bf901 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java @@ -90,7 +90,10 @@ public class MantisEntity extends Monster implements GeoEntity { } public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { - if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER || spawnReason == MobSpawnType.COMMAND) { + if (spawnReason == MobSpawnType.SPAWN_EGG + || spawnReason == MobSpawnType.SPAWNER + || spawnReason == MobSpawnType.TRIAL_SPAWNER + || spawnReason == MobSpawnType.COMMAND) { return true; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java new file mode 100644 index 00000000..04cf7aab --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java @@ -0,0 +1,129 @@ +package com.craisinlord.antarchy.content.portal; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; + +public final class PermanentPortalManager { + private static final int TELEPORT_DELAY_TICKS = 20; + private static final int ACTIVATION_SEARCH_RADIUS = 2; + private static final Map WARMUPS = new HashMap<>(); + + private PermanentPortalManager() { + } + + public static void handleSacrifice(LivingEntity entity) { + PermanentPortalType type = PermanentPortalType.fromSacrifice(entity); + if (type == null || !(entity.level() instanceof ServerLevel serverLevel)) { + return; + } + + PermanentPortalShape shape = findInactiveShape(serverLevel, entity.getBoundingBox(), type); + if (shape == null) { + return; + } + + shape.fill(serverLevel); + Vec3 center = shape.center(); + serverLevel.playSound(null, center.x, center.y, center.z, SoundEvents.END_PORTAL_SPAWN, SoundSource.BLOCKS, 0.9F, 0.9F); + spawnActivationParticles(serverLevel, type, center); + } + + public static void handleEntityInsidePortal(Entity entity, PermanentPortalType type) { + if (!(entity.level() instanceof ServerLevel serverLevel) || !type.isEnabled() || entity.isPassenger() || entity.isVehicle()) { + return; + } + if (entity.isOnPortalCooldown()) { + WARMUPS.remove(entity.getUUID()); + return; + } + + long gameTime = serverLevel.getGameTime(); + PortalWarmup warmup = WARMUPS.computeIfAbsent(entity.getUUID(), ignored -> new PortalWarmup()); + if (warmup.type != type || warmup.lastSeenTick < gameTime - 1) { + warmup.ticks = 0; + } + warmup.type = type; + if (warmup.lastSeenTick != gameTime) { + warmup.ticks++; + warmup.lastSeenTick = gameTime; + } + + if (warmup.ticks < TELEPORT_DELAY_TICKS) { + return; + } + + WARMUPS.remove(entity.getUUID()); + PermanentPortalTeleporter.teleport(entity, type); + if (entity.level() instanceof ServerLevel currentLevel) { + currentLevel.playSound(null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.ENDERMAN_TELEPORT, SoundSource.PLAYERS, 0.8F, 1.0F); + } + } + + public static boolean isPortalStillValid(ServerLevel level, BlockPos pos, PermanentPortalType type, Direction.Axis axis) { + PermanentPortalShape shape = PermanentPortalShape.findActive(level, pos, type, axis); + return shape != null && shape.contains(pos); + } + + @Nullable + private static PermanentPortalShape findInactiveShape(ServerLevel level, AABB bounds, PermanentPortalType type) { + int minX = (int) Math.floor(bounds.minX + 0.001D) - ACTIVATION_SEARCH_RADIUS; + int minY = (int) Math.floor(bounds.minY + 0.001D) - ACTIVATION_SEARCH_RADIUS; + int minZ = (int) Math.floor(bounds.minZ + 0.001D) - ACTIVATION_SEARCH_RADIUS; + int maxX = (int) Math.floor(bounds.maxX - 0.001D) + ACTIVATION_SEARCH_RADIUS; + int maxY = (int) Math.floor(bounds.maxY - 0.001D) + ACTIVATION_SEARCH_RADIUS; + int maxZ = (int) Math.floor(bounds.maxZ - 0.001D) + ACTIVATION_SEARCH_RADIUS; + + for (int x = minX; x <= maxX; x++) { + for (int y = minY; y <= maxY; y++) { + for (int z = minZ; z <= maxZ; z++) { + BlockPos candidate = new BlockPos(x, y, z); + PermanentPortalShape xShape = PermanentPortalShape.findInactive(level, candidate, type, Direction.Axis.X); + if (xShape != null && xShape.intersects(bounds)) { + return xShape; + } + PermanentPortalShape zShape = PermanentPortalShape.findInactive(level, candidate, type, Direction.Axis.Z); + if (zShape != null && zShape.intersects(bounds)) { + return zShape; + } + } + } + } + + return null; + } + + private static void spawnActivationParticles(ServerLevel level, PermanentPortalType type, Vec3 center) { + switch (type) { + case ELYTHIA -> { + level.sendParticles(ParticleTypes.SPORE_BLOSSOM_AIR, center.x, center.y, center.z, 24, 0.8D, 1.2D, 0.8D, 0.02D); + level.sendParticles(ParticleTypes.HAPPY_VILLAGER, center.x, center.y, center.z, 12, 0.6D, 1.0D, 0.6D, 0.02D); + } + case THORAXIS -> { + level.sendParticles(ParticleTypes.PORTAL, center.x, center.y, center.z, 32, 0.8D, 1.2D, 0.8D, 0.15D); + level.sendParticles(ParticleTypes.REVERSE_PORTAL, center.x, center.y, center.z, 10, 0.5D, 0.8D, 0.5D, 0.01D); + } + case CAVARYN -> { + level.sendParticles(ParticleTypes.MYCELIUM, center.x, center.y, center.z, 24, 0.8D, 1.2D, 0.8D, 0.01D); + level.sendParticles(ParticleTypes.FALLING_SPORE_BLOSSOM, center.x, center.y, center.z, 16, 0.6D, 1.0D, 0.6D, 0.01D); + } + } + } + + private static final class PortalWarmup { + private PermanentPortalType type; + private long lastSeenTick; + private int ticks; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java new file mode 100644 index 00000000..879dc473 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java @@ -0,0 +1,203 @@ +package com.craisinlord.antarchy.content.portal; + +import java.util.function.Consumer; +import java.util.function.Predicate; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; + +public final class PermanentPortalShape { + public static final int MIN_WIDTH = 2; + public static final int MIN_HEIGHT = 3; + public static final int MAX_SIZE = 21; + + private final PermanentPortalType type; + private final Direction.Axis axis; + private final BlockPos bottomLeft; + private final int width; + private final int height; + + private PermanentPortalShape(PermanentPortalType type, Direction.Axis axis, BlockPos bottomLeft, int width, int height) { + this.type = type; + this.axis = axis; + this.bottomLeft = bottomLeft; + this.width = width; + this.height = height; + } + + @Nullable + public static PermanentPortalShape findInactive(BlockGetter level, BlockPos interiorPos, PermanentPortalType type, Direction.Axis axis) { + return find(level, interiorPos, type, axis, state -> state.isAir()); + } + + @Nullable + public static PermanentPortalShape findActive(BlockGetter level, BlockPos interiorPos, PermanentPortalType type, Direction.Axis axis) { + Block portalBlock = type.portalBlock(); + return find(level, interiorPos, type, axis, state -> state.is(portalBlock)); + } + + @Nullable + private static PermanentPortalShape find( + BlockGetter level, + BlockPos interiorPos, + PermanentPortalType type, + Direction.Axis axis, + Predicate interiorPredicate + ) { + if (axis == Direction.Axis.Y || !interiorPredicate.test(level.getBlockState(interiorPos))) { + return null; + } + + Direction widthDirection = axis == Direction.Axis.X ? Direction.EAST : Direction.SOUTH; + Direction leftDirection = widthDirection.getOpposite(); + BlockPos cursor = interiorPos; + + for (int i = 0; i < MAX_SIZE && interiorPredicate.test(level.getBlockState(cursor.below())); i++) { + cursor = cursor.below(); + } + + for (int i = 0; i < MAX_SIZE && interiorPredicate.test(level.getBlockState(cursor.relative(leftDirection))); i++) { + cursor = cursor.relative(leftDirection); + } + + int width = measureWidth(level, cursor, widthDirection, type.frameTag(), interiorPredicate); + if (width < MIN_WIDTH) { + return null; + } + + int height = measureHeight(level, cursor, widthDirection, width, type.frameTag(), interiorPredicate); + if (height < MIN_HEIGHT) { + return null; + } + + return new PermanentPortalShape(type, axis, cursor.immutable(), width, height); + } + + private static int measureWidth( + BlockGetter level, + BlockPos bottomLeft, + Direction widthDirection, + TagKey frameTag, + Predicate interiorPredicate + ) { + if (!level.getBlockState(bottomLeft.relative(widthDirection.getOpposite())).is(frameTag)) { + return 0; + } + + int width = 0; + while (width < MAX_SIZE && interiorPredicate.test(level.getBlockState(bottomLeft.relative(widthDirection, width)))) { + if (!level.getBlockState(bottomLeft.relative(widthDirection, width).below()).is(frameTag)) { + return 0; + } + width++; + } + + if (width < MIN_WIDTH || width > MAX_SIZE) { + return 0; + } + + return level.getBlockState(bottomLeft.relative(widthDirection, width)).is(frameTag) ? width : 0; + } + + private static int measureHeight( + BlockGetter level, + BlockPos bottomLeft, + Direction widthDirection, + int width, + TagKey frameTag, + Predicate interiorPredicate + ) { + BlockPos leftFrameBase = bottomLeft.relative(widthDirection.getOpposite()); + BlockPos rightFrameBase = bottomLeft.relative(widthDirection, width); + + for (int height = 0; height < MAX_SIZE; height++) { + if (!level.getBlockState(leftFrameBase.above(height)).is(frameTag) + || !level.getBlockState(rightFrameBase.above(height)).is(frameTag)) { + return 0; + } + + for (int x = 0; x < width; x++) { + BlockPos interiorPos = bottomLeft.relative(widthDirection, x).above(height); + if (!interiorPredicate.test(level.getBlockState(interiorPos))) { + if (height < MIN_HEIGHT) { + return 0; + } + return hasTopFrame(level, bottomLeft, widthDirection, width, height, frameTag) ? height : 0; + } + } + } + + return hasTopFrame(level, bottomLeft, widthDirection, width, MAX_SIZE, frameTag) ? MAX_SIZE : 0; + } + + private static boolean hasTopFrame( + BlockGetter level, + BlockPos bottomLeft, + Direction widthDirection, + int width, + int topY, + TagKey frameTag + ) { + for (int x = 0; x < width; x++) { + if (!level.getBlockState(bottomLeft.relative(widthDirection, x).above(topY)).is(frameTag)) { + return false; + } + } + return true; + } + + public void fill(ServerLevel level) { + BlockState portalState = this.type.portalBlock().defaultBlockState().setValue(BlockStateProperties.HORIZONTAL_AXIS, this.axis); + this.forEachInterior(pos -> level.setBlock(pos, portalState, Block.UPDATE_ALL)); + } + + public boolean contains(BlockPos pos) { + if (pos.getY() < this.bottomLeft.getY() || pos.getY() >= this.bottomLeft.getY() + this.height) { + return false; + } + + if (this.axis == Direction.Axis.X) { + return pos.getZ() == this.bottomLeft.getZ() + && pos.getX() >= this.bottomLeft.getX() + && pos.getX() < this.bottomLeft.getX() + this.width; + } + + return pos.getX() == this.bottomLeft.getX() + && pos.getZ() >= this.bottomLeft.getZ() + && pos.getZ() < this.bottomLeft.getZ() + this.width; + } + + public boolean intersects(AABB box) { + final boolean[] intersects = {false}; + this.forEachInterior(pos -> { + if (box.intersects(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1.0D, pos.getY() + 1.0D, pos.getZ() + 1.0D)) { + intersects[0] = true; + } + }); + return intersects[0]; + } + + public void forEachInterior(Consumer consumer) { + Direction widthDirection = this.axis == Direction.Axis.X ? Direction.EAST : Direction.SOUTH; + for (int y = 0; y < this.height; y++) { + for (int x = 0; x < this.width; x++) { + consumer.accept(this.bottomLeft.relative(widthDirection, x).above(y)); + } + } + } + + public Vec3 center() { + if (this.axis == Direction.Axis.X) { + return new Vec3(this.bottomLeft.getX() + (this.width / 2.0D), this.bottomLeft.getY() + (this.height / 2.0D), this.bottomLeft.getZ() + 0.5D); + } + return new Vec3(this.bottomLeft.getX() + 0.5D, this.bottomLeft.getY() + (this.height / 2.0D), this.bottomLeft.getZ() + (this.width / 2.0D)); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java new file mode 100644 index 00000000..0eabe59c --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java @@ -0,0 +1,150 @@ +package com.craisinlord.antarchy.content.portal; + +import java.util.LinkedHashSet; +import java.util.Set; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.util.Mth; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.vehicle.DismountHelper; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.Heightmap; +import net.minecraft.world.level.portal.DimensionTransition; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; + +public final class PermanentPortalTeleporter { + private static final int SEARCH_RADIUS = 8; + private static final int VERTICAL_SEARCH = 24; + + private PermanentPortalTeleporter() { + } + + public static void teleport(Entity entity, PermanentPortalType type) { + if (!(entity.level() instanceof ServerLevel sourceLevel) || !entity.isAlive()) { + return; + } + + ServerLevel destination = resolveDestination(sourceLevel, type); + if (destination == null) { + return; + } + + Vec3 arrival = findArrivalPosition(entity, destination, entity.blockPosition(), type.platformBlock().defaultBlockState()); + Entity movedEntity = moveEntity(entity, destination, arrival); + if (movedEntity != null) { + movedEntity.setPortalCooldown(); + } + } + + @Nullable + private static ServerLevel resolveDestination(ServerLevel sourceLevel, PermanentPortalType type) { + if (sourceLevel.dimension() == type.primaryDimension()) { + return sourceLevel.getServer().overworld(); + } + return sourceLevel.getServer().getLevel(type.primaryDimension()); + } + + private static Vec3 findArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos, BlockState platformState) { + Vec3 safe = findSafeArrivalPosition(entity, destination, preferredPos); + return safe != null ? safe : createFallbackPlatform(destination, preferredPos, platformState); + } + + @Nullable + private static Vec3 findSafeArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos) { + Set candidates = new LinkedHashSet<>(); + addCandidate(candidates, preferredPos); + + for (int radius = 0; radius <= SEARCH_RADIUS; radius++) { + for (int xOff = -radius; xOff <= radius; xOff++) { + for (int zOff = -radius; zOff <= radius; zOff++) { + if (radius > 0 && Math.abs(xOff) != radius && Math.abs(zOff) != radius) { + continue; + } + + BlockPos horizontalPos = preferredPos.offset(xOff, 0, zOff); + addCandidate(candidates, destination.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, horizontalPos)); + addCandidate(candidates, destination.getHeightmapPos(Heightmap.Types.WORLD_SURFACE, horizontalPos)); + for (int yOff = 0; yOff <= VERTICAL_SEARCH; yOff++) { + addCandidate(candidates, horizontalPos.above(yOff)); + if (yOff > 0) { + addCandidate(candidates, horizontalPos.below(yOff)); + } + } + } + } + } + + for (BlockPos candidate : candidates) { + Vec3 safe = tryFindSafePosition(entity, destination, candidate); + if (safe != null) { + return safe; + } + } + + return null; + } + + private static void addCandidate(Set candidates, @Nullable BlockPos pos) { + if (pos == null) { + return; + } + + candidates.add(pos); + candidates.add(pos.above()); + if (pos.getY() > Integer.MIN_VALUE) { + candidates.add(pos.below()); + } + } + + @Nullable + private static Vec3 tryFindSafePosition(Entity entity, ServerLevel destination, BlockPos candidate) { + Vec3 safe = DismountHelper.findSafeDismountLocation(entity.getType(), destination, candidate, true); + if (safe != null) { + return safe; + } + + for (Direction direction : Direction.Plane.HORIZONTAL) { + safe = DismountHelper.findSafeDismountLocation(entity.getType(), destination, candidate.relative(direction), true); + if (safe != null) { + return safe; + } + } + + return null; + } + + private static Vec3 createFallbackPlatform(ServerLevel destination, BlockPos preferredPos, BlockState platformState) { + int minY = destination.getMinBuildHeight() + 2; + int maxY = destination.getMaxBuildHeight() - 4; + BlockPos center = new BlockPos(preferredPos.getX(), Mth.clamp(preferredPos.getY(), minY, maxY), preferredPos.getZ()); + + for (int dx = -1; dx <= 1; dx++) { + for (int dz = -1; dz <= 1; dz++) { + destination.setBlock(center.offset(dx, -1, dz), platformState, Block.UPDATE_ALL); + destination.removeBlock(center.offset(dx, 0, dz), false); + destination.removeBlock(center.offset(dx, 1, dz), false); + } + } + + return Vec3.atBottomCenterOf(center); + } + + @Nullable + private static Entity moveEntity(Entity entity, ServerLevel destination, Vec3 destinationPos) { + if (entity instanceof ServerPlayer player) { + player.teleportTo(destination, destinationPos.x, destinationPos.y, destinationPos.z, player.getYRot(), player.getXRot()); + return player; + } + + if (entity.level() == destination) { + entity.teleportTo(destinationPos.x, destinationPos.y, destinationPos.z); + return entity; + } + + return entity.changeDimension(new DimensionTransition(destination, destinationPos, Vec3.ZERO, entity.getYRot(), entity.getXRot(), DimensionTransition.DO_NOTHING)); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalType.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalType.java new file mode 100644 index 00000000..3737126f --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalType.java @@ -0,0 +1,111 @@ +package com.craisinlord.antarchy.content.portal; + +import com.craisinlord.antarchy.content.AntarchyTags; +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.entity.ant.BrownAntEntity; +import com.craisinlord.antarchy.content.entity.ant.RedAntEntity; +import com.craisinlord.antarchy.content.entity.ant.TermiteEntity; +import java.util.Objects; +import java.util.function.Supplier; +import net.minecraft.resources.ResourceKey; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import org.jetbrains.annotations.Nullable; + +public enum PermanentPortalType { + ELYTHIA("elythia", AntarchySettings::brownAntDestinationDimension, AntarchySettings::elythiaPortalEnabled, AntarchyTags.Blocks.ELYTHIA_PORTAL_FRAMES) { + @Override + boolean matchesSacrifice(LivingEntity entity) { + return entity instanceof BrownAntEntity; + } + }, + THORAXIS("thoraxis", AntarchySettings::redAntDestinationDimension, AntarchySettings::thoraxisPortalEnabled, AntarchyTags.Blocks.THORAXIS_PORTAL_FRAMES) { + @Override + boolean matchesSacrifice(LivingEntity entity) { + return entity instanceof RedAntEntity; + } + }, + CAVARYN("cavaryn", AntarchySettings::termiteDestinationDimension, AntarchySettings::cavarynPortalEnabled, AntarchyTags.Blocks.CAVARYN_PORTAL_FRAMES) { + @Override + boolean matchesSacrifice(LivingEntity entity) { + return entity instanceof TermiteEntity; + } + }; + + private final String id; + private final Supplier> primaryDimensionSupplier; + private final Supplier enabledSupplier; + private final TagKey frameTag; + private Supplier platformBlockSupplier; + private Supplier portalBlockSupplier; + + PermanentPortalType(String id, Supplier> primaryDimensionSupplier, Supplier enabledSupplier, TagKey frameTag) { + this.id = id; + this.primaryDimensionSupplier = primaryDimensionSupplier; + this.enabledSupplier = enabledSupplier; + this.frameTag = frameTag; + } + + public static void bindBlocks( + Supplier elythiaPlatform, + Supplier elythiaPortal, + Supplier thoraxisPlatform, + Supplier thoraxisPortal, + Supplier cavarynPlatform, + Supplier cavarynPortal + ) { + ELYTHIA.bind(elythiaPlatform, elythiaPortal); + THORAXIS.bind(thoraxisPlatform, thoraxisPortal); + CAVARYN.bind(cavarynPlatform, cavarynPortal); + } + + public static boolean portalsEnabled() { + return AntarchySettings.permanentPortalsEnabled(); + } + + @Nullable + public static PermanentPortalType fromSacrifice(LivingEntity entity) { + if (!portalsEnabled()) { + return null; + } + for (PermanentPortalType type : values()) { + if (type.isEnabled() && type.matchesSacrifice(entity)) { + return type; + } + } + return null; + } + + private void bind(Supplier platformBlockSupplier, Supplier portalBlockSupplier) { + this.platformBlockSupplier = Objects.requireNonNull(platformBlockSupplier); + this.portalBlockSupplier = Objects.requireNonNull(portalBlockSupplier); + } + + public String id() { + return this.id; + } + + public boolean isEnabled() { + return portalsEnabled() && this.enabledSupplier.get(); + } + + public ResourceKey primaryDimension() { + return this.primaryDimensionSupplier.get(); + } + + public TagKey frameTag() { + return this.frameTag; + } + + public Block platformBlock() { + return Objects.requireNonNull(this.platformBlockSupplier, "Platform block supplier not bound for " + this.id).get(); + } + + public Block portalBlock() { + return Objects.requireNonNull(this.portalBlockSupplier, "Portal block supplier not bound for " + this.id).get(); + } + + abstract boolean matchesSacrifice(LivingEntity entity); +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java new file mode 100644 index 00000000..d2352a2f --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java @@ -0,0 +1,73 @@ +package com.craisinlord.antarchy.content.worldgen; + +import com.craisinlord.antarchy.content.block.BigBushBlock; +import com.mojang.serialization.Codec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + +import java.util.ArrayList; +import java.util.List; + +/** Places a {@link BigBushBlock} at a fixed growth stage (age), used for sparse overworld generation. */ +public class BigBushWorldgenFeature extends Feature { + private final int age; + + public BigBushWorldgenFeature(Codec codec, int age) { + super(codec); + this.age = age; + } + + @Override + public boolean place(FeaturePlaceContext context) { + WorldGenLevel level = context.level(); + BlockPos origin = context.origin(); + RandomSource random = context.random(); + + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "big_bush")); + if (!(block instanceof BigBushBlock)) { + return false; + } + + List facings = new ArrayList<>(Direction.Plane.HORIZONTAL.stream().toList()); + for (int i = facings.size() - 1; i > 0; i--) { + Direction swap = facings.set(random.nextInt(i + 1), facings.get(i)); + facings.set(i, swap); + } + + for (Direction facing : facings) { + BlockState grown = block.defaultBlockState().setValue(BigBushBlock.AGE, age).setValue(BigBushBlock.FACING, facing); + if (canPlace(level, origin, grown)) { + BigBushBlock.placeBushBlocks(level, origin, grown, Block.UPDATE_ALL); + return true; + } + if (age == 0) { + // Facing is irrelevant at age 0 (single block); no need to try every rotation. + break; + } + } + return false; + } + + private boolean canPlace(WorldGenLevel level, BlockPos origin, BlockState grown) { + if (!BigBushBlock.hasFullSupport(grown, level, origin)) { + return false; + } + List positions = new ArrayList<>(BigBushBlock.partPositions(grown, origin)); + positions.add(origin); + for (BlockPos pos : positions) { + if (!level.getBlockState(pos).canBeReplaced()) { + return false; + } + } + return true; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java new file mode 100644 index 00000000..40d379de --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java @@ -0,0 +1,35 @@ +package com.craisinlord.antarchy.content.worldgen; + +import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; +import com.mojang.serialization.Codec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + +/** Places a single 3-tall {@link VeryTallGrassBlock} column, used for sparse overworld generation. */ +public class VeryTallGrassWorldgenFeature extends Feature { + public VeryTallGrassWorldgenFeature(Codec codec) { + super(codec); + } + + @Override + public boolean place(FeaturePlaceContext context) { + WorldGenLevel level = context.level(); + BlockPos pos = context.origin(); + if (!level.getBlockState(pos).isAir() + || !level.getBlockState(pos.above()).isAir() + || !level.getBlockState(pos.above(2)).isAir()) { + return false; + } + BlockPos below = pos.below(); + if (!level.getBlockState(below).isFaceSturdy(level, below, Direction.UP)) { + return false; + } + VeryTallGrassBlock.placeAt(level, pos, Block.UPDATE_ALL); + return true; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java new file mode 100644 index 00000000..732ec7db --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java @@ -0,0 +1,53 @@ +package com.craisinlord.antarchy.mixins; + +import com.craisinlord.antarchy.content.block.TorchflowerBushBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.BoneMealItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.DoublePlantBlock; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(BoneMealItem.class) +public abstract class BoneMealItemTorchflowerBushMixin { + @Inject(method = "useOn", at = @At("HEAD"), cancellable = true) + private void antarchy$growTorchflowerBush(UseOnContext context, CallbackInfoReturnable cir) { + Level level = context.getLevel(); + BlockPos pos = context.getClickedPos(); + BlockState clickedState = level.getBlockState(pos); + if (!clickedState.is(Blocks.TORCHFLOWER)) { + return; + } + + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "torchflower_bush")); + if (!(block instanceof TorchflowerBushBlock)) { + return; + } + + BlockState lowerState = block.defaultBlockState(); + if (!level.getBlockState(pos.above()).canBeReplaced() || !lowerState.canSurvive(level, pos)) { + return; + } + + if (!level.isClientSide) { + DoublePlantBlock.placeAt(level, lowerState, pos, Block.UPDATE_ALL); + if (context.getPlayer() == null || !context.getPlayer().getAbilities().instabuild) { + ItemStack stack = context.getItemInHand(); + stack.shrink(1); + } + level.levelEvent(1505, pos, 15); + } + + cir.setReturnValue(InteractionResult.sidedSuccess(level.isClientSide)); + } +} diff --git a/common/src/main/resources/antarchy-common.mixins.json b/common/src/main/resources/antarchy-common.mixins.json index c4e08990..f9a8a757 100644 --- a/common/src/main/resources/antarchy-common.mixins.json +++ b/common/src/main/resources/antarchy-common.mixins.json @@ -6,6 +6,7 @@ "mixins": [ "AccessorRangedAttribute", "BoneMealItemVeryTallGrassMixin", + "BoneMealItemTorchflowerBushMixin", "BlockEntityTypeSignMixin", "BloodglassMixin", "DreamFireBlockMixin", diff --git a/common/src/main/resources/assets/antarchy/animations/dorrie.animation.json b/common/src/main/resources/assets/antarchy/animations/dorrie.animation.json index c3ac7ebb..542b2c0c 100644 --- a/common/src/main/resources/assets/antarchy/animations/dorrie.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/dorrie.animation.json @@ -1,1075 +1,423 @@ { "format_version": "1.8.0", "animations": { - "idle": { + "idle_ground": { "loop": true, - "animation_length": 3, + "animation_length": 4, "bones": { - "left_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-16.3645, -10.7765, -27.5693] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [-7.5897, -8.165, -12.5307] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-16.3645, -10.7765, -27.5693] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, -12.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 2.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 12.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "head": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.5": { - "post": { - "vector": [-7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "body": { - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, -1, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "waist": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { + "1.0": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, "3.0": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.04362, -0.99905] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, -0.95905, -0.95638] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0.04362, -0.99905] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, -1, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 12.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, -2.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, -12.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-16.3645, 10.7765, 27.5693] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [-7.5897, 8.165, 12.5307] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [-16.3645, 10.7765, 27.5693] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "jump_1": { - "loop": "hold_on_last_frame", - "animation_length": 0.25, - "bones": { - "left_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-16.3645, -10.7765, -27.5693] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [3.8261, -7.6671, 6.293] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-5.7195, -7.8752, -9.4221] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -25] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -37.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 0, 12.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 0, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -27.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-17.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "body": { - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, -2, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { "post": { "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "4.0": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.125": { - "vector": [0, -1.95259, 0.43288] - }, - "0.25": { - "vector": [0, 0, 0] - } - } - }, - "neck3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.125": { - "vector": [0, -1.95259, -0.43288] - }, - "0.25": { - "vector": [0, 0, 0] - } - } - }, - "waist": { - "rotation": { - "0.0": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.04362, -0.99905] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, -2.46, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 5.04, -1] + "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "tail": { + "neck": { "rotation": { "0.0": { "post": { - "vector": [-5, 0, 0] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "1.0": { "post": { - "vector": [2.5, 0, 0] + "vector": [15, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { + "3.0": { "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "4.0": { "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "tail3": { + "neck2": { + "rotation": { + "vector": [-15, 0, 0] + } + }, + "torso": { "rotation": { "0.0": { "post": { - "vector": [-5, 0, 0] + "vector": [1, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.125": { + "2.0": { "post": { - "vector": [7.5, 0, 0] + "vector": [-1, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "4.0": { "post": { - "vector": [-17.5, 0, 0] + "vector": [1, 0, 0] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [0, 0, 0] + } + }, + "right_arm": { + "rotation": { + "vector": [10, -22.5, -25] + } + }, + "right_finger": { + "rotation": { + "vector": [0, 0, 20] + } + }, + "left_arm": { + "rotation": { + "vector": [10, 22.5, 25] + } + }, + "left_finger": { + "rotation": { + "vector": [0, 0, -20] + } + }, + "left_leg": { + "rotation": { + "vector": [-7.5, -22.5, 22.5] + } + }, + "left_toe2": { + "rotation": { + "vector": [0, 0, -15] + } + }, + "right_leg": { + "rotation": { + "vector": [-7.5, 22.5, -22.5] + } + }, + "right_toe2": { + "rotation": { + "vector": [0, 0, 15] + } + } + } + }, + "idle_water": { + "loop": true, + "animation_length": 2, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [6.56, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "neck": { + "rotation": { + "vector": [12.5, 0, 0] + } + }, + "neck2": { + "rotation": { + "vector": [-15, 0, 0] } }, "right_arm": { "rotation": { "0.0": { + "post": { + "vector": [5, -15, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [16.46, -15, -27.53] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, -15, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-7.5, -15, -25] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [5, -15, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0.15] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -21.29] + }, + "lerp_mode": "catmullrom" + }, + "1.4583": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 0.15] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_thumb": { + "rotation": { + "vector": [15, 17.5, 12.5] + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 15, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [16.46, 15, 27.53] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 15, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-7.5, 15, 25] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [5, 15, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_thumb": { + "rotation": { + "vector": [15, -17.5, -12.5] + } + }, + "left_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -0.15] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 21.29] + }, + "lerp_mode": "catmullrom" + }, + "1.4583": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -0.15] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.23, -22.5, 19.2] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-13.93, -22.5, 32.37] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [2.5, -22.5, 32.65] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-12.5, -22.5, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [-22.5, -22.5, 10.37] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-17.23, -22.5, 19.2] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_toe": { + "rotation": { + "vector": [15, -17.5, -12.5] + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -18.28] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, -13.31] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 21.72] + }, + "lerp_mode": "catmullrom" + }, + "1.2083": { "post": { "vector": [0, 0, 20] }, "lerp_mode": "catmullrom" }, - "0.125": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 37.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { + "1.7917": { "post": { "vector": [0, 0, -12.5] }, "lerp_mode": "catmullrom" }, - "0.25": { + "2.0": { "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 27.5] + "vector": [0, 0, -18.28] }, "lerp_mode": "catmullrom" } @@ -1079,253 +427,88 @@ "rotation": { "0.0": { "post": { - "vector": [-16.3645, 10.7765, 27.5693] + "vector": [-17.23, 22.5, -19.2] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.3333": { "post": { - "vector": [3.8261, 7.6671, -6.293] + "vector": [-13.93, 22.5, -32.37] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.7917": { "post": { - "vector": [-5.7195, 7.8752, 9.4221] + "vector": [2.5, 22.5, -32.65] }, "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { + }, + "1.3333": { "post": { - "vector": [0.3036, 0.92388, 0.23296] + "vector": [-12.5, 22.5, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [-22.5, 22.5, -10.37] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-17.23, 22.5, -19.2] }, "lerp_mode": "catmullrom" } } }, - "right_leg3": { + "right_toe": { + "rotation": { + "vector": [15, 17.5, 12.5] + } + }, + "right_toe2": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 10] + "vector": [0, 0, 18.28] }, "lerp_mode": "catmullrom" }, - "0.25": { - "post": { - "vector": [0, 0, 25] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg4": { - "rotation": { - "0.0": { + "0.2083": { "post": { "vector": [0, 0, 20] }, "lerp_mode": "catmullrom" }, - "0.125": { + "0.5417": { "post": { - "vector": [0, 0, -10] + "vector": [0, 0, 13.31] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.9583": { "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "jump_2": { - "loop": true, - "animation_length": 0.1667, - "bones": { - "left_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-5.7195, -7.8752, -9.4221] + "vector": [0, 0, -21.72] }, "lerp_mode": "catmullrom" }, - "0.0833": { - "post": { - "vector": [-7.5897, -8.165, -12.5307] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-5.7195, -7.8752, -9.4221] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [-0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -25] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg4": { - "rotation": { - "0.0": { + "1.2083": { "post": { "vector": [0, 0, -20] }, "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { + }, + "1.7917": { "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -37.5] + "vector": [0, 0, 12.5] }, "lerp_mode": "catmullrom" }, - "0.0833": { + "2.0": { "post": { - "vector": [0, 0, -40] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -37.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -27.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "body": { - "position": { - "0.0": { - "post": { - "vector": [0, 5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "vector": [0, 0, 0] - } - }, - "neck3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "vector": [0, 0, 0] - } - }, - "waist": { - "rotation": { - "0.0": { - "post": { - "vector": [-12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 5.04, -1] + "vector": [0, 0, 18.28] }, "lerp_mode": "catmullrom" } @@ -1334,586 +517,20 @@ "tail": { "rotation": { "0.0": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.09, -1] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.09, -1] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [-17.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 37.5] - }, - "lerp_mode": "catmullrom" - }, - "0.0833": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 37.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 27.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-5.7195, 7.8752, 9.4221] - }, - "lerp_mode": "catmullrom" - }, - "0.0833": { - "post": { - "vector": [-7.5897, 8.165, 12.5307] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-5.7195, 7.8752, 9.4221] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 25] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "jump_3": { - "loop": "hold_on_last_frame", - "animation_length": 0.3333, - "bones": { - "left_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-5.7195, -7.8752, -9.4221] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-1.917, -7.5418, -3.15] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-16.3645, -10.7765, -27.5693] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [-0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -25] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -37.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -27.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "head": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-17.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "body": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { "post": { "vector": [-7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { + "1.0": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "2.0": { "post": { - "vector": [0, -0.99144, -0.13053] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "neck3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -0.99619, -0.08716] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "waist": { - "rotation": { - "0.0": { - "post": { - "vector": [-12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 5.04, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0.04362, -0.99905] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0.04362, -0.99905] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.09, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [-7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1922,20 +539,54 @@ "tail2": { "rotation": { "0.0": { + "post": { + "vector": [-11.82, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.125": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-11.82, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.03, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { "post": { "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "1.7917": { "post": { - "vector": [5, 0, 0] + "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "2.0": { "post": { - "vector": [-5, 0, 0] + "vector": [-2.03, 0, 0] }, "lerp_mode": "catmullrom" } @@ -1943,215 +594,25 @@ "position": { "0.0": { "post": { - "vector": [0, 0.09, -1] + "vector": [0, -2, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.5": { "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [0, -1, 0] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "1.5": { "post": { - "vector": [0, 0.08716, -0.99619] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [-17.5, 0, 0] + "vector": [0, -3, 0] }, "lerp_mode": "catmullrom" }, - "0.25": { + "2.0": { "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 37.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 15] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 27.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -15] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-5.7195, 7.8752, 9.4221] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-1.917, 7.5418, 3.15] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-16.3645, 10.7765, 27.5693] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0.3, 0.92, 0.23] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 25] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 20] + "vector": [0, -2, 0] }, "lerp_mode": "catmullrom" } @@ -2163,265 +624,529 @@ "loop": true, "animation_length": 1, "bones": { - "left_leg": { + "head": { "rotation": { "0.0": { "post": { - "vector": [-16.3645, -10.7765, -27.5693] + "vector": [-97.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [5.7195, -7.8752, 9.4221] + "vector": [-90, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5": { "post": { - "vector": [5.7195, -7.8752, 9.4221] + "vector": [-97.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-90, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [-16.3645, -10.7765, -27.5693] + "vector": [-97.5, 0, 0] }, "lerp_mode": "catmullrom" } }, "position": { - "0.0": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-0.3036, 0.92388, 0.23296] - }, - "lerp_mode": "catmullrom" - } + "vector": [0, 4, -3] } }, - "left_leg3": { + "jaw": { + "rotation": { + "vector": [22.5, 0, 0] + } + }, + "neck": { "rotation": { "0.0": { "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_leg4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_arm": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -20] + "vector": [87.6, 1.09, -0.68] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [0, 0, 7.5] + "vector": [77.6, 1.09, -0.68] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 7.5] + "vector": [87.6, 1.09, -0.68] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [77.6, 1.09, -0.68] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, -20] + "vector": [87.6, 1.09, -0.68] }, "lerp_mode": "catmullrom" } + }, + "position": { + "vector": [0, -1, -1] } }, - "left_arm2": { + "neck2": { + "rotation": { + "vector": [17.39426, 0.53648, 1.1707] + } + }, + "right_arm": { "rotation": { "0.0": { + "vector": [-22.5, -30, 37.5] + }, + "0.125": { + "pre": { + "vector": [-32.56, -19.67, 2.51] + }, "post": { - "vector": [0, 0, -10] + "vector": [-32.56, -19.67, 2.51] }, "lerp_mode": "catmullrom" }, - "0.3333": { + "0.25": { "post": { - "vector": [0, 0, -12.5] + "vector": [-17.92, 13.33, -21.67] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, -12.5] + "vector": [12.5, 20, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-7.41, -24.81, 13.4] }, "lerp_mode": "catmullrom" }, "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" + "vector": [-22.5, -30, 37.5] } } }, - "left_arm3": { + "right_finger": { "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 30] + }, "post": { - "vector": [0, 0, -15] + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 39.72] }, "lerp_mode": "catmullrom" }, "0.4167": { "post": { - "vector": [0, 0, 22.5] + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "right_thumb": { + "rotation": { + "vector": [10, 0, 0] + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [-22.5, 30, -37.5] + }, + "0.125": { + "pre": { + "vector": [-32.56, 19.67, -2.51] + }, + "post": { + "vector": [-32.56, 19.67, -2.51] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-17.92, -13.33, 21.67] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 22.5] + "vector": [12.5, -20, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-7.41, 24.81, -13.4] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [-22.5, 30, -37.5] + } + } + }, + "left_thumb": { + "rotation": { + "vector": [10, 0, 0] + } + }, + "left_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "pre": { + "vector": [0, 0, -30] + }, + "post": { + "vector": [0, 0, -30] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -39.72] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [7.28, -29.82, 30.48] + }, + "0.5": { + "pre": { + "vector": [15, 20, -27.5] + }, + "post": { + "vector": [15, 20, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-19.43, 15.04, 12] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-2.84, -19.9, 33.82] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [7.28, -29.82, 30.48] + } + } + }, + "left_toe": { + "rotation": { + "vector": [0, -27.5, 0] + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.66] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 12.34] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, 20] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, -15] + "vector": [0, 0, 32.66] }, "lerp_mode": "catmullrom" } } }, - "left_arm4": { + "right_leg": { "rotation": { "0.0": { + "vector": [7.28, 29.82, -30.48] + }, + "0.5": { + "pre": { + "vector": [15, -20, 27.5] + }, "post": { - "vector": [0, 0, -22.5] + "vector": [15, -20, 27.5] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.625": { "post": { - "vector": [0, 0, 12.5] + "vector": [-19.43, -15.04, -12] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-2.84, 19.9, -33.82] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [7.28, 29.82, -30.48] + } + } + }, + "right_toe": { + "rotation": { + "vector": [0, 27.5, 0] + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.66] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.34] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, -20] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [0, 0, -22.5] + "vector": [0, 0, -32.66] }, "lerp_mode": "catmullrom" } } }, - "head": { + "tail": { "rotation": { "0.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-25, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [-37.5, 0, 0] + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [-27.5, 0, 0] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" } - }, - "position": { + } + }, + "tail2": { + "rotation": { "0.0": { + "vector": [-12.5, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [20, 0, 0] + }, "post": { - "vector": [0, 0, 0] + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-20, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { + "vector": [-12.5, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [20, 0, 0] + }, "post": { - "vector": [0, -1.58671, -1.21752] + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-20, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [-12.5, 0, 0] } } }, "body": { "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [2.5, 0, 0] + }, "post": { - "vector": [0, 0, 0] + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.75, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { + "vector": [0, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [2.5, 0, 0] + }, "post": { - "vector": [4.5, 0, 0] + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-0.75, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [0, 0, 0] } }, "position": { @@ -2431,9 +1156,33 @@ }, "lerp_mode": "catmullrom" }, + "0.1667": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 1.13, 0] + }, + "lerp_mode": "catmullrom" + }, "0.5": { "post": { - "vector": [0, -1, 0] + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 1.13, 0] }, "lerp_mode": "catmullrom" }, @@ -2444,38 +1193,115 @@ "lerp_mode": "catmullrom" } } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1.5, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [-5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [2.5, 0, 0] + }, + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [-12.19, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [-45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "vector": [-5, 0, 0] + } + } }, "neck": { "rotation": { "0.0": { "post": { - "vector": [12.5, 0, 0] + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [12.02, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [12.5, 0, 0] + "vector": [25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [20.42, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [6.25, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { "post": { - "vector": [12.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] + "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.125": { "post": { - "vector": [0, 0, 0] + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.3333": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2484,114 +1310,486 @@ "neck2": { "rotation": { "0.0": { + "vector": [-10, 0, 0] + }, + "0.375": { + "pre": { + "vector": [-15, 0, 0] + }, + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [-10, 0, 0] + }, + "0.9167": { + "pre": { + "vector": [10, 0, 0] + }, "post": { "vector": [10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.2083": { "post": { - "vector": [2.5, 0, 0] + "vector": [5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { - "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, -0.98481, 0.17365] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -0.98481, 0.17365] - }, - "lerp_mode": "catmullrom" + "1.5": { + "vector": [-10, 0, 0] } } }, - "neck3": { + "torso": { "rotation": { "0.0": { "post": { - "vector": [10, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.125": { "post": { - "vector": [17.5, 0, 0] + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, "1.0": { - "post": { - "vector": [10, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, -0.98481, 0.17365] - }, - "lerp_mode": "catmullrom" + "vector": [0, 0, 0] }, - "1.0": { - "post": { - "vector": [0, -0.98481, 0.17365] + "1.1667": { + "pre": { + "vector": [-2.5, 0, 0] }, - "lerp_mode": "catmullrom" - } - } - }, - "waist": { - "rotation": { - "0.0": { "post": { "vector": [-2.5, 0, 0] }, "lerp_mode": "catmullrom" }, + "1.375": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -0.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + }, + "1.125": { + "pre": { + "vector": [0, 1, 0] + }, + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 1.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [0, -0.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, -0.25, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [-2.5, 5, -24.5] + }, + "0.125": { + "pre": { + "vector": [4.25, 5.45, -21.2] + }, + "post": { + "vector": [4.25, 5.45, -21.2] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [5.39, -2.07, -15.36] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-5.94, -16.98, -8.85] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [7.5, -27.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [12.5, -27.5, -27.5] + }, + "1.125": { + "vector": [8.75, -19.37, -25.5] + }, + "1.25": { + "vector": [5, -11.25, -25] + }, + "1.375": { + "vector": [1.25, -3.12, -24.25] + }, + "1.5": { + "vector": [-2.5, 5, -24.5] + } + } + }, + "right_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, 25] + }, + "0.1667": { + "pre": { + "vector": [0, 0, 12.5] + }, + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 3.12] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 35.31] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 35.31] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 25] + }, + "1.5": { + "vector": [0, 0, 25] + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [-2.5, -5, 24.5] + }, + "0.125": { + "pre": { + "vector": [4.25, -5.45, 21.2] + }, + "post": { + "vector": [4.25, -5.45, 21.2] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [5.39, 2.07, 15.36] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-5.94, 16.98, 8.85] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [7.5, 27.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [12.5, 27.5, 27.5] + }, + "1.125": { + "vector": [8.75, 19.37, 25.5] + }, + "1.25": { + "vector": [5, 11.25, 25] + }, + "1.375": { + "vector": [1.25, 3.12, 24.25] + }, + "1.5": { + "vector": [-2.5, -5, 24.5] + } + } + }, + "left_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, -25] + }, + "0.1667": { + "pre": { + "vector": [0, 0, -12.5] + }, + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -3.12] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -35.31] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -35.31] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, -25] + }, + "1.5": { + "vector": [0, 0, -25] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [0, 0.41, 24.33] + }, + "0.0833": { + "vector": [-2.5, -5, 24.5] + }, + "0.2083": { + "pre": { + "vector": [4.25, -5.45, 21.2] + }, + "post": { + "vector": [4.25, -5.45, 21.2] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [5.39, 2.07, 15.36] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-5.94, 16.98, 8.85] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [7.5, 27.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "vector": [12.5, 27.5, 27.5] + }, + "1.2083": { + "vector": [8.75, 19.37, 25.5] + }, + "1.3333": { + "vector": [5, 11.25, 25] + }, + "1.4583": { + "vector": [1.25, 3.12, 24.25] + }, + "1.5": { + "vector": [0, 0.41, 24.33] + } + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, -25] + }, + "0.0833": { + "vector": [0, 0, -25] + }, "0.25": { + "pre": { + "vector": [0, 0, -15] + }, "post": { - "vector": [10, 0, 0] + "vector": [0, 0, -15] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.4583": { "post": { - "vector": [10, 0, 0] + "vector": [0, 0, -3.12] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.75": { "post": { - "vector": [-2.5, 0, 0] + "vector": [0, 0, -35.31] }, "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -35.31] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "vector": [0, 0, -25] + }, + "1.5": { + "vector": [0, 0, -25] } - }, - "position": { + } + }, + "right_leg": { + "rotation": { "0.0": { + "vector": [0, -0.41, -24.33] + }, + "0.0833": { + "vector": [-2.5, 5, -24.5] + }, + "0.2083": { + "pre": { + "vector": [4.25, 5.45, -21.2] + }, "post": { - "vector": [0, 0.04362, -0.99905] + "vector": [4.25, 5.45, -21.2] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.375": { "post": { - "vector": [0, 0.04362, -0.99905] + "vector": [5.39, -2.07, -15.36] }, "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-5.94, -16.98, -8.85] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [7.5, -27.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "vector": [12.5, -27.5, -27.5] + }, + "1.2083": { + "vector": [8.75, -19.37, -25.5] + }, + "1.3333": { + "vector": [5, -11.25, -25] + }, + "1.4583": { + "vector": [1.25, -3.12, -24.25] + }, + "1.5": { + "vector": [0, -0.41, -24.33] + } + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, 25] + }, + "0.0833": { + "vector": [0, 0, 25] + }, + "0.25": { + "pre": { + "vector": [0, 0, 15] + }, + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 3.12] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 35.31] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 35.31] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "vector": [0, 0, 25] + }, + "1.5": { + "vector": [0, 0, 25] } } }, @@ -2603,15 +1801,15 @@ }, "lerp_mode": "catmullrom" }, - "0.3333": { + "0.5": { "post": { - "vector": [10, 0, 0] + "vector": [-7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.8333": { "post": { - "vector": [10, 0, 0] + "vector": [4.35, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -2620,18 +1818,22 @@ "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { + }, + "1.125": { "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [-15, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.3333": { "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2640,84 +1842,143 @@ "tail2": { "rotation": { "0.0": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [-10, 0, 0] + }, "post": { - "vector": [-5, 0, 0] + "vector": [-10, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.875": { "post": { "vector": [7.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "1.0": { "post": { - "vector": [15, 0, 0] + "vector": [0.71, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.1667": { "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [-20, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "1.2917": { "post": { - "vector": [0, 0.08716, -0.99619] + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "tail3": { + "body": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 12] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + } + } + }, + "jump_start": { + "animation_length": 0.5, + "bones": { + "head": { "rotation": { "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [0, 0, 0] }, - "0.5": { + "0.0417": { + "pre": { + "vector": [22.5, 0, 0] + }, "post": { "vector": [22.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.125": { "post": { - "vector": [-5, 0, 0] + "vector": [-25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [20, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "bone": { - "position": { + "jaw": { + "rotation": { + "0.2083": { + "vector": [0, 0, 0] + }, + "0.5": { + "pre": { + "vector": [30, 0, 0] + }, + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { "0.0": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.125": { "post": { - "vector": [0, -6.8, 0] + "vector": [30, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.3333": { "post": { - "vector": [0, 0, 0] + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2727,103 +1988,848 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 20] + "vector": [10, -22.5, -26.5] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.0833": { "post": { - "vector": [0, 0, -7.5] + "vector": [7.5, -22.5, -19] }, "lerp_mode": "catmullrom" }, - "0.5": { + "0.125": { "post": { - "vector": [0, 0, -7.5] + "vector": [15.33, -22.5, -35.35] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.1667": { "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_arm2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] + "vector": [25, -22.5, -49] }, "lerp_mode": "catmullrom" }, "0.3333": { "post": { - "vector": [0, 0, 12.5] + "vector": [5.16, -22.5, -3.84] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 12.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] + "vector": [-7.5, -22.5, 23.5] }, "lerp_mode": "catmullrom" } } }, - "right_arm3": { + "right_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, 25] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 17.5] + }, + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "vector": [0, 0, -18.86] + }, + "0.5": { + "vector": [0, 0, 25] + } + } + }, + "left_arm": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 15] + "vector": [10, 22.5, 26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [7.5, 22.5, 19] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [15.33, 22.5, 35.35] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [25, 22.5, 49] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [5.16, 22.5, 3.84] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 22.5, -23.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, -25] + }, + "0.0833": { + "pre": { + "vector": [0, 0, -17.5] + }, + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "vector": [0, 0, 18.86] + }, + "0.5": { + "vector": [0, 0, -25] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, -22.5, 26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, -22.5, 19] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-15.33, -22.5, 35.35] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25, -22.5, 49] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-5.16, -22.5, 3.84] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [7.5, -22.5, -23.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, -25] + }, + "0.0833": { + "pre": { + "vector": [0, 0, -17.5] + }, + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "vector": [0, 0, 18.86] + }, + "0.5": { + "vector": [0, 0, -25] + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-10, 22.5, -26.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, 22.5, -19] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-15.33, 22.5, -35.35] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-25, 22.5, -49] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-5.16, 22.5, -3.84] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [7.5, 22.5, 23.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, 25] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 17.5] + }, + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "vector": [0, 0, -18.86] + }, + "0.5": { + "vector": [0, 0, 25] + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "pre": { + "vector": [-20, 0, 0] + }, + "post": { + "vector": [-20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, 0, 0] + }, + "0.5": { + "pre": { + "vector": [-5, 0, 0] + }, + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -3, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 10, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 13.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 14, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "0.0833": { + "pre": { + "vector": [1.1, 0.8, 1.1] + }, + "post": { + "vector": [1.1, 0.8, 1.1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.9, 1.2, 0.9] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "jump_idle": { + "loop": true, + "animation_length": 0.5, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [11.72, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [19.53, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.4167": { "post": { - "vector": [0, 0, -22.5] + "vector": [12.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 15] + "vector": [11.72, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "right_arm4": { + "jaw": { + "rotation": { + "vector": [30, 0, 0] + } + }, + "neck": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 22.5] + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [2.5, 0, 0] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, -12.5] + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck2": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.0833": { "post": { - "vector": [0, 0, 22.5] + "vector": [-11.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-11.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-5.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, -22.5, 23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, -22.5, 28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-7.5, -22.5, 18.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.5, -22.5, 23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-7.5, -22.5, 28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-7.5, -22.5, 18.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, -22.5, 23.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 23.75] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 23.75] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 22.5, -23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, 22.5, -28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-7.5, 22.5, -18.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-7.5, 22.5, -23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-7.5, 22.5, -28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-7.5, 22.5, -18.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 22.5, -23.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -23.75] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -23.75] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, -22.5, -21.94] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [7.5, -22.5, -13.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [7.5, -22.5, -28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [7.5, -22.5, -21.94] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -32.5] }, "lerp_mode": "catmullrom" } @@ -2833,25 +2839,126 @@ "rotation": { "0.0": { "post": { - "vector": [-16.3645, 10.7765, 27.5693] + "vector": [7.5, 22.5, 21.94] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [7.5, 22.5, 13.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [7.5, 22.5, 28.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [7.5, 22.5, 21.94] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 32.5] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [5.7195, 7.8752, -9.4221] + "vector": [0, 0, 17.5] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.3333": { "post": { - "vector": [5.7195, 7.8752, -9.4221] + "vector": [0, 0, 32.5] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.4167": { "post": { - "vector": [-16.3645, 10.7765, 27.5693] + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-6.59, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-4, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-4, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-6.59, 0, 0] }, "lerp_mode": "catmullrom" } @@ -2859,69 +2966,1404 @@ "position": { "0.0": { "post": { - "vector": [0.3036, 0.92388, 0.23296] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.125": { "post": { - "vector": [0.3036, 0.92388, 0.23296] + "vector": [0, 15, 0] }, "lerp_mode": "catmullrom" - } - } - }, - "right_leg3": { - "rotation": { - "0.0": { + }, + "0.25": { "post": { - "vector": [0, 0, 10] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [0, 0, 7.5] + "vector": [0, 15, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.5": { "post": { - "vector": [0, 0, 7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] + "vector": [0, 14, 0] }, "lerp_mode": "catmullrom" } - } - }, - "right_leg4": { - "rotation": { + }, + "scale": { "0.0": { "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 20] + "vector": [1, 1, 1] }, "lerp_mode": "catmullrom" } } } } + }, + "jump_end": { + "animation_length": 0.5, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [11.72, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-13.79, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [7.76, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "jaw": { + "rotation": { + "0.0": { + "vector": [30, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [42.5, 0, 0] + }, + "post": { + "vector": [42.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [2.41, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [12.24, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck2": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-26.64, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-13.79, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-15, 0, 0] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, -22.5, 23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, -22.5, 58.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-20, -22.5, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "vector": [10, -22.5, -25] + }, + "0.4167": { + "pre": { + "vector": [10, -22.5, -25] + }, + "post": { + "vector": [10, -22.5, -25] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, -22.5, -25] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 23.75] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 4.69] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 49.12] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 22.5, -23.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-7.5, 22.5, -58.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-20, 22.5, -1] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "vector": [10, 22.5, 25] + }, + "0.4167": { + "pre": { + "vector": [10, 22.5, 25] + }, + "post": { + "vector": [10, 22.5, 25] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [10, 22.5, 25] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_finger": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -23.75] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -4.69] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -49.12] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, -22.5, -21.94] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [6.24, -22.5, -45.71] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.5, -22.5, 8.17] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-7.5, -22.5, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, -22.5, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 15.36] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -43.55] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, -17.5] + }, + "0.375": { + "vector": [0, 0, -20.49] + }, + "0.4167": { + "pre": { + "vector": [0, 0, -21.77] + }, + "post": { + "vector": [0, 0, -21.77] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 22.5, 21.94] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [6.24, 22.5, 45.71] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.5, 22.5, -8.17] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-7.5, 22.5, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 22.5, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -15.36] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, 43.55] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "vector": [0, 0, 17.5] + }, + "0.375": { + "vector": [0, 0, 20.49] + }, + "0.4167": { + "pre": { + "vector": [0, 0, 21.77] + }, + "post": { + "vector": [0, 0, 21.77] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "tail2": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-6.59, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-14.09, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-1.59, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 14, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 9.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -3.91, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, -2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "scale": { + "0.0": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0.8, 1.4, 0.8] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [1.1, 0.8, 1.1] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [1.1, 0.8, 1.1] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 1, 1] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "quirk": { + "animation_length": 3.25, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2083": { + "pre": { + "vector": [7.5, 0, 0] + }, + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [7.5, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [15, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.125": { + "post": { + "vector": [-18.28, -16.25, -0.94] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [-60.19, -66.12, -63.54] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [-50.7606, -57.0882, -54.3983] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [-1.6, -61.94, -14.84] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [-1.6, -46.94, -14.84] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [-0.8, 19.97, -22.42] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + } + } + }, + "neck": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [10, 0, 2.5] + }, + "post": { + "vector": [10, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [80, -17.5, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [80, -17.5, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [80, -35, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "2.4583": { + "post": { + "vector": [62.5, -35, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "2.7083": { + "post": { + "vector": [14.43, -14.18, 8.77] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + } + } + }, + "neck2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.9167": { + "vector": [0, 0, 0] + }, + "1.2083": { + "pre": { + "vector": [9.35, 15.96, 17.33] + }, + "post": { + "vector": [9.35, 15.96, 17.33] + }, + "lerp_mode": "catmullrom" + }, + "1.4583": { + "post": { + "vector": [12.5, 20, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [12.5, 20, 20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [12.5, 20, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [0, 12.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "2.2917": { + "post": { + "vector": [-10, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "2.625": { + "post": { + "vector": [-10, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "vector": [0, -22.5, -22.5] + }, + "0.3333": { + "pre": { + "vector": [0, -22.5, -22.5] + }, + "post": { + "vector": [0, -22.5, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, -22.5, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [0, -22.5, 74.75] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [0, -22.5, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [0, -22.5, 15] + }, + "lerp_mode": "catmullrom" + }, + "2.0417": { + "post": { + "vector": [0, -22.5, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "2.2917": { + "post": { + "vector": [0, -22.5, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "2.625": { + "post": { + "vector": [0, -22.5, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, -22.5, -30] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [0, -22.5, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.4167": { + "vector": [0, 0, 0] + }, + "0.7917": { + "pre": { + "vector": [0, 0, 52.5] + }, + "post": { + "vector": [0, 0, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 65] + }, + "lerp_mode": "catmullrom" + }, + "1.6667": { + "post": { + "vector": [0, 0, 52.25] + }, + "lerp_mode": "catmullrom" + }, + "2.0417": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "2.375": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "2.7083": { + "post": { + "vector": [0, 0, -62.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + }, + "3.25": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "vector": [0, 22.5, 22.5] + }, + "0.2917": { + "pre": { + "vector": [0, 22.5, 22.5] + }, + "post": { + "vector": [0, 22.5, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 22.5, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0833": { + "post": { + "vector": [0, 22.5, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [0, 22.5, -15] + }, + "lerp_mode": "catmullrom" + }, + "2.2083": { + "post": { + "vector": [0, 22.5, -50] + }, + "lerp_mode": "catmullrom" + }, + "2.6667": { + "post": { + "vector": [0, 22.5, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "post": { + "vector": [0, 22.5, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [0, 22.5, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_finger": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.3333": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 53.59] + }, + "lerp_mode": "catmullrom" + }, + "1.5417": { + "post": { + "vector": [0, 0, 47] + }, + "lerp_mode": "catmullrom" + }, + "1.9167": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "2.375": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5833": { + "post": { + "vector": [0, 0, -35.94] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [0, 0, -9.06] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + }, + "3.25": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [0, -22.5, 22.5] + }, + "0.375": { + "pre": { + "vector": [0, -22.5, 55] + }, + "post": { + "vector": [0, -22.5, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -22.5, 76.16] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, -22.5, 80] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, -22.5, 53.96] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [0, -22.5, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.7917": { + "post": { + "vector": [0, -22.5, -11.38] + }, + "lerp_mode": "catmullrom" + }, + "2.125": { + "post": { + "vector": [0, -22.5, -55] + }, + "lerp_mode": "catmullrom" + }, + "2.4167": { + "post": { + "vector": [0, -22.5, -72.5] + }, + "lerp_mode": "catmullrom" + }, + "2.625": { + "post": { + "vector": [0, -22.5, -38.59] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [0, -22.5, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, -22.5, 22.5] + } + } + }, + "left_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "pre": { + "vector": [0, 0, -36.39] + }, + "post": { + "vector": [0, 0, -36.39] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 75] + }, + "lerp_mode": "catmullrom" + }, + "1.7083": { + "post": { + "vector": [0, 0, 44.22] + }, + "lerp_mode": "catmullrom" + }, + "2.1667": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "2.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [0, 22.5, -22.5] + }, + "0.2083": { + "pre": { + "vector": [0, 22.5, -6.5] + }, + "post": { + "vector": [0, 22.5, -6.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 22.5, 45] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 22.5, 60] + }, + "lerp_mode": "catmullrom" + }, + "1.4167": { + "post": { + "vector": [0, 22.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 22.5, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "2.3333": { + "post": { + "vector": [0, 22.5, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "2.7917": { + "post": { + "vector": [0, 22.5, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 22.5, -22.5] + } + } + }, + "right_toe2": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "pre": { + "vector": [0, 0, -22.5] + }, + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [0, 0, 72.5] + }, + "lerp_mode": "catmullrom" + }, + "1.4583": { + "post": { + "vector": [0, 0, 48.48] + }, + "lerp_mode": "catmullrom" + }, + "1.8333": { + "post": { + "vector": [0, 0, -4.5] + }, + "lerp_mode": "catmullrom" + }, + "2.125": { + "post": { + "vector": [0, 0, -19.64] + }, + "lerp_mode": "catmullrom" + }, + "2.375": { + "post": { + "vector": [0, 0, -45] + }, + "lerp_mode": "catmullrom" + }, + "2.625": { + "post": { + "vector": [0, 0, -70] + }, + "lerp_mode": "catmullrom" + }, + "2.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.0": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, -33.75] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -124.34] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -167.5] + }, + "lerp_mode": "catmullrom" + }, + "1.5833": { + "post": { + "vector": [0, 0, -180] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -180] + }, + "lerp_mode": "catmullrom" + }, + "2.2917": { + "post": { + "vector": [0, 0, -130.25] + }, + "lerp_mode": "catmullrom" + }, + "2.625": { + "post": { + "vector": [0, 0, -39.68] + }, + "lerp_mode": "catmullrom" + }, + "2.9167": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + }, + "3.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "vector": [0, -2, 0] + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json b/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json new file mode 100644 index 00000000..2dd199fb --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json @@ -0,0 +1,6 @@ +{ + "variants": { + "axis=x": { "model": "antarchy:block/cavaryn_portal_x" }, + "axis=z": { "model": "antarchy:block/cavaryn_portal_z" } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/elythia_portal.json b/common/src/main/resources/assets/antarchy/blockstates/elythia_portal.json new file mode 100644 index 00000000..a86cfef0 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/elythia_portal.json @@ -0,0 +1,6 @@ +{ + "variants": { + "axis=x": { "model": "antarchy:block/elythia_portal_x" }, + "axis=z": { "model": "antarchy:block/elythia_portal_z" } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine.json b/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine.json new file mode 100644 index 00000000..dace25bd --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "antarchy:block/ouranwood_vine" + } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine_plant.json b/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine_plant.json new file mode 100644 index 00000000..ab51785b --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/ouranwood_vine_plant.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "antarchy:block/ouranwood_vine_plant" + } + } +} diff --git a/common/src/main/resources/assets/antarchy/blockstates/thoraxis_portal.json b/common/src/main/resources/assets/antarchy/blockstates/thoraxis_portal.json new file mode 100644 index 00000000..5801a031 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/blockstates/thoraxis_portal.json @@ -0,0 +1,6 @@ +{ + "variants": { + "axis=x": { "model": "antarchy:block/thoraxis_portal_x" }, + "axis=z": { "model": "antarchy:block/thoraxis_portal_z" } + } +} diff --git a/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json b/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json index 3e6f3cf6..8e16dbbb 100644 --- a/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json @@ -4,247 +4,195 @@ { "description": { "identifier": "geometry.unknown", - "texture_width": 256, - "texture_height": 256, - "visible_bounds_width": 9, + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 7, "visible_bounds_height": 4.5, "visible_bounds_offset": [0, 1.75, 0] }, "bones": [ { - "name": "bone", - "pivot": [0, 8.5, 16.125] - }, - { - "name": "waist", - "parent": "bone", - "pivot": [0, 8.5, 16.125], - "cubes": [ - {"origin": [-10, 1, 15], "size": [20, 19, 6], "uv": [98, 55]} - ] - }, - { - "name": "tail", - "parent": "waist", - "pivot": [0, 7.83333, 20.83333], - "cubes": [ - {"origin": [-7, 2, 21], "size": [14, 17, 17], "uv": [70, 81]} - ] - }, - { - "name": "tail2", - "parent": "tail", - "pivot": [0, 6.5, 37.5], - "cubes": [ - {"origin": [-5, 2, 38], "size": [10, 11, 17], "uv": [62, 115]} - ] - }, - { - "name": "tail3", - "parent": "tail2", - "pivot": [0, 5.5, 54.5], - "cubes": [ - {"origin": [-3, 2, 55], "size": [6, 7, 7], "uv": [34, 163]} - ] + "name": "Dorrie", + "pivot": [0, 0, 0] }, { "name": "body", - "parent": "bone", - "pivot": [0, 11.33767, -10.06778], - "cubes": [ - {"origin": [-13, 0, -19], "size": [26, 21, 34], "uv": [0, 0]}, - {"origin": [-11, 2, -24.6], "size": [22, 21, 13], "pivot": [0, 12.5, -19.6], "rotation": [-12.5, 0, 0], "uv": [0, 81]} - ] + "parent": "Dorrie", + "pivot": [0, 8.2, 4.4] }, { - "name": "neck", + "name": "right_arm", "parent": "body", - "pivot": [0, 20.33333, -19.1], + "pivot": [-8.5, 7.75, -2], "cubes": [ - {"origin": [-8, 10, -26.6], "size": [16, 16, 15], "uv": [0, 115]} + {"origin": [-25.5, 6, -6], "size": [17, 3, 9], "uv": [7, 88]} ] }, { - "name": "neck2", - "parent": "neck", - "pivot": [0, 25.5, -19.1], + "name": "right_thumb", + "parent": "right_arm", + "pivot": [-23.5, 7, -6], "cubes": [ - {"origin": [-6, 26, -25.6], "size": [12, 8, 13], "uv": [120, 12]} + {"origin": [-25.5, 7, -10], "size": [4, 0, 4], "uv": [20, 72]} ] }, { - "name": "neck3", - "parent": "neck2", - "pivot": [0, 34, -19.1], + "name": "right_finger", + "parent": "right_arm", + "pivot": [-25.5, 7, -1.5], "cubes": [ - {"origin": [-5, 34, -24.6], "size": [10, 6, 11], "uv": [0, 146]} - ] - }, - { - "name": "head", - "parent": "neck3", - "pivot": [0.025, 40.75, -18.1], - "cubes": [ - {"origin": [-6.5, 39, -25.6], "size": [13, 12, 13], "pivot": [-0.5, 44.5, -19.1], "rotation": [10, 0, 0], "uv": [116, 115]}, - {"origin": [-4.9, 39, -37.6], "size": [10, 3, 16], "uv": [120, 33]}, - {"origin": [-5.5, 42, -30.6], "size": [11, 7, 9], "uv": [100, 156]}, - {"origin": [-5.5, 42, -37.6], "size": [11, 7, 8], "inflate": 0.2, "uv": [150, 65]} - ] - }, - { - "name": "googles", - "parent": "head", - "pivot": [0, 47.45804, -21.34628], - "cubes": [ - {"origin": [-5.5, 46.7, -27.4], "size": [11, 3, 1], "inflate": 0.1, "pivot": [0, 47.6, -24.6], "rotation": [9, 0, 0], "uv": [162, 151]}, - {"origin": [-7, 45.7, -19.3], "size": [14, 3, 7], "pivot": [-0.5, 44.5, -19.1], "rotation": [10, 0, 0], "uv": [140, 156]}, - {"origin": [-7.5, 44.7, -26.6], "size": [15, 5, 8], "pivot": [-0.5, 44.5, -19.1], "rotation": [10, 0, 0], "uv": [150, 52]} - ] - }, - { - "name": "saddle", - "parent": "body", - "pivot": [4.66667, 18.5, 1.16667], - "cubes": [ - {"origin": [-13, 21, -10], "size": [26, 3, 23], "uv": [0, 55]}, - {"origin": [-9, 24, -10], "size": [18, 5, 3], "uv": [132, 106]}, - {"origin": [-13, 24, 9], "size": [26, 4, 4], "uv": [132, 80]}, - {"origin": [-14, -1, 7], "size": [28, 10, 2], "uv": [120, 0]}, - {"origin": [-15, 9, 6], "size": [2, 14, 4], "uv": [88, 164]}, - {"origin": [13, 9, 6], "size": [2, 14, 4], "uv": [88, 164], "mirror": true}, - {"origin": [13, 9, -7], "size": [2, 14, 4], "uv": [88, 164], "mirror": true}, - {"origin": [-15, 9, -7], "size": [2, 14, 4], "uv": [88, 164]}, - {"origin": [-14, -1, -6], "size": [28, 10, 2], "uv": [120, 0]} - ] - }, - { - "name": "left_leg", - "parent": "body", - "pivot": [-10.875, 0.875, 13.375], - "rotation": [0, 45, 0], - "cubes": [ - {"origin": [-14, 0, 9], "size": [5, 3, 9], "uv": [60, 164]} - ] - }, - { - "name": "left_leg2", - "parent": "left_leg", - "pivot": [-14.66667, 0.66667, 13.33333] - }, - { - "name": "left_leg3", - "parent": "left_leg2", - "pivot": [-14.66667, 0.66667, 13.33333], - "cubes": [ - {"origin": [-19, 0, 9], "size": [5, 2, 9], "uv": [140, 166]} - ] - }, - { - "name": "left_leg4", - "parent": "left_leg3", - "pivot": [-19.25, 0.5, 13.25], - "cubes": [ - {"origin": [-27, 0, 9], "size": [8, 1, 9], "uv": [0, 163]}, - {"origin": [-30, 0, 9], "size": [3, 1, 8], "uv": [168, 114]} - ] - }, - { - "name": "right_leg", - "parent": "body", - "pivot": [10.875, 0.875, 13.375], - "rotation": [0, -45, 0], - "cubes": [ - {"origin": [9, 0, 9], "size": [5, 3, 9], "uv": [60, 164], "mirror": true} - ] - }, - { - "name": "right_leg2", - "parent": "right_leg", - "pivot": [14.66667, 0.66667, 13.33333] - }, - { - "name": "right_leg3", - "parent": "right_leg2", - "pivot": [14.66667, 0.66667, 13.33333], - "cubes": [ - {"origin": [14, 0, 9], "size": [5, 2, 9], "uv": [140, 166], "mirror": true} - ] - }, - { - "name": "right_leg4", - "parent": "right_leg3", - "pivot": [19.25, 0.5, 13.25], - "cubes": [ - {"origin": [19, 0, 9], "size": [8, 1, 9], "uv": [0, 163], "mirror": true}, - {"origin": [27, 0, 9], "size": [3, 1, 8], "uv": [168, 114], "mirror": true} + {"origin": [-33.5, 7, -6], "size": [8, 0, 9], "uv": [23, 79]} ] }, { "name": "left_arm", "parent": "body", - "pivot": [-12.41667, 1.66667, -9.25], + "pivot": [8.5, 7.75, -2], "cubes": [ - {"origin": [-15, 0, -18], "size": [4, 6, 15], "uv": [62, 143]} + {"origin": [8.5, 6, -6], "size": [17, 3, 9], "uv": [7, 88], "mirror": true} ] }, { - "name": "left_arm2", + "name": "left_thumb", "parent": "left_arm", - "pivot": [-14.7, 1.4, -9], + "pivot": [23.5, 7, -6], "cubes": [ - {"origin": [-25, 0, -17], "size": [10, 5, 13], "uv": [132, 88]} + {"origin": [21.5, 7, -10], "size": [4, 0, 4], "uv": [20, 72], "mirror": true} ] }, { - "name": "left_arm3", - "parent": "left_arm2", - "pivot": [-25.125, 1.125, -8.625], + "name": "left_finger", + "parent": "left_arm", + "pivot": [25.5, 7, -1.5], "cubes": [ - {"origin": [-35, 0, -17], "size": [10, 3, 13], "uv": [116, 140]} + {"origin": [25.5, 7, -6], "size": [8, 0, 9], "uv": [23, 79], "mirror": true} ] }, { - "name": "left_arm4", - "parent": "left_arm3", - "pivot": [-35.5, 1, -8], - "cubes": [ - {"origin": [-45, 0, -17], "size": [10, 2, 9], "uv": [162, 140]}, - {"origin": [-42, 0, -7], "size": [2, 2, 3], "uv": [100, 143]}, - {"origin": [-40, 0, -8], "size": [5, 2, 4], "uv": [42, 146]} - ] - }, - { - "name": "right_arm", + "name": "left_leg", "parent": "body", - "pivot": [12.41667, 1.66667, -9.25], + "pivot": [4.5, 7.75, 18], "cubes": [ - {"origin": [11, 0, -18], "size": [4, 6, 15], "uv": [62, 143], "mirror": true} + {"origin": [4.5, 6, 14], "size": [17, 3, 9], "uv": [7, 88], "mirror": true} ] }, { - "name": "right_arm2", - "parent": "right_arm", - "pivot": [14.7, 1.4, -9], + "name": "left_toe", + "parent": "left_leg", + "pivot": [19.5, 7, 14], "cubes": [ - {"origin": [15, 0, -17], "size": [10, 5, 13], "uv": [132, 88], "mirror": true} + {"origin": [17.5, 7, 8], "size": [4, 0, 6], "uv": [26, 71], "mirror": true} ] }, { - "name": "right_arm3", - "parent": "right_arm2", - "pivot": [25.125, 1.125, -8.625], + "name": "left_toe2", + "parent": "left_leg", + "pivot": [21.5, 7, 18.5], "cubes": [ - {"origin": [25, 0, -17], "size": [10, 3, 13], "uv": [116, 140], "mirror": true} + {"origin": [21.5, 7, 14], "size": [10, 0, 9], "uv": [41, 80], "mirror": true} ] }, { - "name": "right_arm4", - "parent": "right_arm3", - "pivot": [35.5, 1, -8], + "name": "right_leg", + "parent": "body", + "pivot": [-4.5, 7.75, 18], "cubes": [ - {"origin": [35, 0, -17], "size": [10, 2, 9], "uv": [162, 140], "mirror": true}, - {"origin": [40, 0, -7], "size": [2, 2, 3], "uv": [100, 143], "mirror": true}, - {"origin": [35, 0, -8], "size": [5, 2, 4], "uv": [42, 146], "mirror": true} + {"origin": [-21.5, 6, 14], "size": [17, 3, 9], "uv": [7, 88]} + ] + }, + { + "name": "right_toe", + "parent": "right_leg", + "pivot": [-19.5, 7, 14], + "cubes": [ + {"origin": [-21.5, 7, 8], "size": [4, 0, 6], "uv": [26, 71]} + ] + }, + { + "name": "right_toe2", + "parent": "right_leg", + "pivot": [-21.5, 7, 18.5], + "cubes": [ + {"origin": [-31.5, 7, 14], "size": [10, 0, 9], "uv": [41, 80]} + ] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 15, 7], + "cubes": [ + {"origin": [-11.5, 6, 3], "size": [23, 13, 13], "inflate": 0.1, "uv": [0, 126]}, + {"origin": [-10.5, 0, -10], "size": [21, 18, 30], "inflate": 0.1, "uv": [0, 0]}, + {"origin": [-15.75, 9, -5], "size": [5, 9, 14], "uv": [73, 125]} + ] + }, + { + "name": "tail", + "parent": "torso", + "pivot": [0, 12.5, 20], + "cubes": [ + {"origin": [-4, 4, 20], "size": [8, 14, 12], "inflate": 0.05, "uv": [0, 100]} + ] + }, + { + "name": "tail2", + "parent": "tail", + "pivot": [0, 14, 32], + "cubes": [ + {"origin": [-4, 10, 32], "size": [8, 8, 12], "uv": [59, 80]} + ] + }, + { + "name": "neck", + "parent": "torso", + "pivot": [0, 16, -5.175], + "cubes": [ + {"origin": [-6, 12, -10.175], "size": [12, 13, 10], "uv": [66, 57]}, + {"origin": [-6, 14, -10.175], "size": [12, 13, 10], "inflate": 0.1, "uv": [72, 0]} + ] + }, + { + "name": "neck2", + "parent": "neck", + "pivot": [0, 25, -5.175], + "cubes": [ + {"origin": [-4, 24, -9.175], "size": [8, 8, 8], "uv": [0, 71]} + ] + }, + { + "name": "head", + "parent": "neck2", + "pivot": [0, 31, -6.00833], + "cubes": [ + {"origin": [-5, 31, -11.175], "size": [10, 13, 10], "inflate": 0.1, "uv": [0, 48]}, + {"origin": [-8, 31, -9.175], "size": [3, 6, 7], "uv": [40, 60]}, + {"origin": [5, 31, -9.175], "size": [3, 6, 7], "uv": [0, 9]}, + {"origin": [-5, 33, -15.175], "size": [10, 5, 4], "uv": [76, 48]}, + {"origin": [-6, 33, -21.175], "size": [12, 6, 6], "uv": [40, 48]} + ] + }, + { + "name": "goggle", + "parent": "head", + "pivot": [0, 41, -6.175], + "cubes": [ + {"origin": [-6, 37, -12.175], "size": [12, 8, 12], "inflate": 0.1, "uv": [47, 102]} + ] + }, + { + "name": "eyes_closed", + "parent": "head", + "pivot": [0, 40.95, -8.75], + "cubes": [ + {"origin": [-5, 37.95, -10.25], "size": [10, 6, 3], "inflate": 0.1, "uv": [28, 100]} + ] + }, + { + "name": "jaw", + "parent": "head", + "pivot": [0, 33, -11.175], + "cubes": [ + {"origin": [-4, 31, -18.175], "size": [8, 2, 7], "uv": [0, 0]} ] } ] diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index fb9a11cc..2a915733 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -17,6 +17,7 @@ "block.antarchy.ouranwood_button": "Ouranwood Button", "block.antarchy.ouranwood_leaves": "Ouranwood Leaves", "block.antarchy.ouranwood_acorn": "Ouranwood Acorn", + "block.antarchy.ouranwood_vine": "Ouranwood Vine", "block.antarchy.ouranwood_sign": "Ouranwood Sign", "block.antarchy.ouranwood_hanging_sign": "Ouranwood Hanging Sign", "block.antarchy.orange_milkweed": "Orange Milkweed", @@ -76,10 +77,13 @@ "block.antarchy.nyxite_spike": "Nyxite Spike", "block.antarchy.potent_nyxite": "Potent Nyxite", "block.antarchy.triffid_goo_block": "Triffid Goo Block", + "block.antarchy.elythia_portal": "Elythia Portal", "block.antarchy.cloud_block": "Cloud Block", + "block.antarchy.thoraxis_portal": "Thoraxis Portal", "block.antarchy.antimetal": "Antimetal", "block.antarchy.polished_antimetal": "Polished Antimetal", "block.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", + "block.antarchy.cavaryn_portal": "Cavaryn Portal", "block.antarchy.cornea_stalk": "Cornea Stalk", "block.antarchy.dream_torch": "Dream Torch", "block.antarchy.dream_wall_torch": "Dream Wall Torch", @@ -272,6 +276,7 @@ "item.antarchy.polished_antimetal": "Polished Antimetal", "item.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", "item.antarchy.ouranwood_acorn": "Ouranwood Acorn", + "item.antarchy.ouranwood_vine": "Ouranwood Vine", "item.antarchy.ouranwood_boat": "Ouranwood Boat", "item.antarchy.ouranwood_chest_boat": "Ouranwood Chest Boat", "item.antarchy.big_bush": "Big Bush", @@ -520,6 +525,10 @@ "advancements.antarchy.water_cannon_craft.description": "Obtain a Water Cannon.", "advancements.antarchy.kill_toreterror.title": "More like Tore-Terrible Aim!", "advancements.antarchy.kill_toreterror.description": "Defeat the Toreterror.", + "advancements.antarchy.challenge_games.title": "Challenge Games!", + "advancements.antarchy.challenge_games.description": "Enter the Ruined Arena.", + "advancements.antarchy.bugged_out.title": "Bugged Out", + "advancements.antarchy.bugged_out.description": "Defeat the Alpha Mantis.", "death.attack.bed_bug_bite": "%1$s got bit by the bed bugs", "death.attack.bed_bug_bite.player": "%1$s got bit by the bed bugs while fighting %2$s", "message.antarchy.dread_too_scared_to_sleep": "You are too scared to sleep.", diff --git a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json new file mode 100644 index 00000000..c3fbe98d --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/cavaryn_portal", + "particle": "antarchy:block/cavaryn_portal" + }, + "elements": [ + { + "from": [0, 0, 7.5], + "to": [16, 16, 8.5], + "faces": { + "north": { "texture": "#portal" }, + "south": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json new file mode 100644 index 00000000..8f25f81e --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/cavaryn_portal", + "particle": "antarchy:block/cavaryn_portal" + }, + "elements": [ + { + "from": [7.5, 0, 0], + "to": [8.5, 16, 16], + "faces": { + "west": { "texture": "#portal" }, + "east": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/elythia_portal_x.json b/common/src/main/resources/assets/antarchy/models/block/elythia_portal_x.json new file mode 100644 index 00000000..b86b9cb8 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/elythia_portal_x.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/elythia_portal", + "particle": "antarchy:block/elythia_portal" + }, + "elements": [ + { + "from": [0, 0, 7.5], + "to": [16, 16, 8.5], + "faces": { + "north": { "texture": "#portal" }, + "south": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/elythia_portal_z.json b/common/src/main/resources/assets/antarchy/models/block/elythia_portal_z.json new file mode 100644 index 00000000..a666ed72 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/elythia_portal_z.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/elythia_portal", + "particle": "antarchy:block/elythia_portal" + }, + "elements": [ + { + "from": [7.5, 0, 0], + "to": [8.5, 16, 16], + "faces": { + "west": { "texture": "#portal" }, + "east": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine.json b/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine.json new file mode 100644 index 00000000..dcfef446 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "antarchy:block/ouranwood/ouranwood_vine" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine_plant.json b/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine_plant.json new file mode 100644 index 00000000..e5543ea7 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/ouranwood_vine_plant.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "antarchy:block/ouranwood/ouranwood_vine_plant" + } +} diff --git a/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_x.json b/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_x.json new file mode 100644 index 00000000..bdc9a94d --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_x.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/thoraxis_portal", + "particle": "antarchy:block/thoraxis_portal" + }, + "elements": [ + { + "from": [0, 0, 7.5], + "to": [16, 16, 8.5], + "faces": { + "north": { "texture": "#portal" }, + "south": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_z.json b/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_z.json new file mode 100644 index 00000000..7e260fd7 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/block/thoraxis_portal_z.json @@ -0,0 +1,17 @@ +{ + "parent": "block/block", + "textures": { + "portal": "antarchy:block/thoraxis_portal", + "particle": "antarchy:block/thoraxis_portal" + }, + "elements": [ + { + "from": [7.5, 0, 0], + "to": [8.5, 16, 16], + "faces": { + "west": { "texture": "#portal" }, + "east": { "texture": "#portal" } + } + } + ] +} diff --git a/common/src/main/resources/assets/antarchy/models/item/ouranwood_vine.json b/common/src/main/resources/assets/antarchy/models/item/ouranwood_vine.json new file mode 100644 index 00000000..dbd3bb74 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/ouranwood_vine.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "antarchy:block/ouranwood/ouranwood_vine" + } +} diff --git a/common/src/main/resources/assets/antarchy/textures/block/cavaryn_portal.png b/common/src/main/resources/assets/antarchy/textures/block/cavaryn_portal.png new file mode 100644 index 0000000000000000000000000000000000000000..55cd182a9370598445fc67ba765779b6483ac3c9 GIT binary patch literal 22645 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 LNkvXXu0mjfskIeN literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/ouranwood/ouranwood_vine_plant.png b/common/src/main/resources/assets/antarchy/textures/block/ouranwood/ouranwood_vine_plant.png new file mode 100644 index 0000000000000000000000000000000000000000..75b6fa3077b32e02f29e38ef4f0ece0849b79eb0 GIT binary patch literal 511 zcmVNXxT%9_gq+ExKM*2$f(yY+GYQsWj~;Q zR)3(6RkW%ITnItwLXy%z#gwOIFmbM&$7pxq%s6w-z4zSnbiQ0PKjBy{xCyn|{8FwP zSD%5e5V7l~nv@E%9}apdnetSo@vgePQ2Cy#t{&dBgG+)D1P|&X0mmyfIRnf9`241- zv3F{hFFM~HO|u+kA}|4o#kgdxT-~ngod8v=kix1_%|fGH8M`z|>985ERn}4+xZYHgh6iD!=rPL^M!yU|e8D z=^&zjXbtgulvQ`tmWJqP!HG(?O2f)grJfsd4_!!du(e`95>*fs)AEN`??_)HZ0FXb z1)C%`)DekHVXxrJhGj!xtcbcl?R(xpe1la(L{z{FDxSP;OLp6ZFclNg3l4rBUpv|c zqgR0ET?jB*1sJ}WG1AW2wrp${l7ORSl@xGhj0Dq#=otXp7j$61-;Xd60o1j@5R68` zM}@2$^X^GtNFps1jyDXyMhavbi#lMOJmWoD`2!NC7gMvpr|JLz002ovPDHLkV1jEv B*P{Rc literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png b/common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e9be40b4e9f694af9e2eaa469856b3e25090b4 GIT binary patch literal 24361 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 z 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png.mcmeta b/common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png.mcmeta new file mode 100644 index 00000000..4f0718ac --- /dev/null +++ b/common/src/main/resources/assets/antarchy/textures/block/thoraxis_portal.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/textures/entity/dorrie.png b/common/src/main/resources/assets/antarchy/textures/entity/dorrie.png index 05cda900da7433971bec3afc2089480098fc9ead..e47505920fe3b23dd606d8749bbd2072c97e8d53 100644 GIT binary patch literal 8734 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 literal 13568 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 S^I*II80eZjD8KIz`hNgWlkt53 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png b/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png index fb471c8903636f8443d6c2d6bc679b5e16852e68..b9f008158eb729c55c83cbd6d1bf92ab290e29f3 100644 GIT binary patch literal 11820 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 I-Q~&u08;Sx#{d8T literal 15697 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 delta 4671 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 f95O1N%{dXQ0J>bvFX5KeK}6Uu_4mLdTVMKr VERY_SHORT_GRASS_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass_spawn_biomes") + ); + private static final TagKey VERY_TALL_GRASS_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass_spawn_biomes") + ); + private static final TagKey BIG_BUSH_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_spawn_biomes") + ); + private static final TagKey BIG_BUSH_2X2_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2_spawn_biomes") + ); + private static final TagKey MEGA_TAIGA_SPAWN_BIOMES = TagKey.create( + Registries.BIOME, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "mega_taiga_spawn_biomes") + ); + private static final ResourceKey VERY_SHORT_GRASS_FEATURE = ResourceKey.create( + Registries.PLACED_FEATURE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass") + ); + private static final ResourceKey VERY_TALL_GRASS_FEATURE = ResourceKey.create( + Registries.PLACED_FEATURE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass") + ); + private static final ResourceKey BIG_BUSH_FEATURE = ResourceKey.create( + Registries.PLACED_FEATURE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush") + ); + private static final ResourceKey BIG_BUSH_2X2_FEATURE = ResourceKey.create( + Registries.PLACED_FEATURE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2") + ); + private static final ResourceKey BIG_BUSH_3X3_FEATURE = ResourceKey.create( + Registries.PLACED_FEATURE, + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_3x3") + ); @Override public void onInitialize() { @@ -91,5 +131,30 @@ public final class AntarchyFabric implements ModInitializer { AntarchyFabricContent.ALPHA_MANTIS.get(), 1, 1, 1 ); + BiomeModifications.addFeature( + BiomeSelectors.tag(VERY_SHORT_GRASS_SPAWN_BIOMES), + GenerationStep.Decoration.VEGETAL_DECORATION, + VERY_SHORT_GRASS_FEATURE + ); + BiomeModifications.addFeature( + BiomeSelectors.tag(VERY_TALL_GRASS_SPAWN_BIOMES), + GenerationStep.Decoration.VEGETAL_DECORATION, + VERY_TALL_GRASS_FEATURE + ); + BiomeModifications.addFeature( + BiomeSelectors.tag(BIG_BUSH_SPAWN_BIOMES), + GenerationStep.Decoration.VEGETAL_DECORATION, + BIG_BUSH_FEATURE + ); + BiomeModifications.addFeature( + BiomeSelectors.tag(BIG_BUSH_2X2_SPAWN_BIOMES), + GenerationStep.Decoration.VEGETAL_DECORATION, + BIG_BUSH_2X2_FEATURE + ); + BiomeModifications.addFeature( + BiomeSelectors.tag(MEGA_TAIGA_SPAWN_BIOMES), + GenerationStep.Decoration.VEGETAL_DECORATION, + BIG_BUSH_3X3_FEATURE + ); } } diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index 1c190d30..7a41c0bc 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -168,6 +168,7 @@ import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisSpikeConfigura import com.craisinlord.antarchy.content.worldgen.thoraxis.ThoraxisSpikeFeature; import com.craisinlord.antarchy.content.client.particle.InvertedGeyserBaseParticleOptions; import com.craisinlord.antarchy.content.client.particle.InvertedGeyserParticleOptions; +import com.craisinlord.antarchy.content.portal.PermanentPortalType; import java.util.List; import java.util.ArrayList; import java.util.Comparator; @@ -519,6 +520,10 @@ public final class AntarchyFabricContent { () -> new OuranwoodLeavesBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_LEAVES).randomTicks())); public static final DeferredBlock OURANWOOD_ACORN_BLOCK = BLOCKS.register("ouranwood_acorn", () -> new OuranwoodAcornBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SAPLING).randomTicks().noCollission())); + // public static final DeferredBlock OURANWOOD_VINE = BLOCKS.register("ouranwood_vine", + // () -> OURANWOOD_VINE_INSTANCE); + // public static final DeferredBlock OURANWOOD_VINE_PLANT = BLOCKS.register("ouranwood_vine_plant", + // () -> OURANWOOD_VINE_PLANT_INSTANCE); public static final DeferredBlock ORANGE_MILKWEED = BLOCKS.register("orange_milkweed", () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); public static final DeferredBlock PINK_MILKWEED = BLOCKS.register("pink_milkweed", @@ -636,6 +641,12 @@ public final class AntarchyFabricContent { AntarchyFabricContent::cloudBucketItem, BlockBehaviour.Properties.ofFullCopy(Blocks.POWDER_SNOW).noLootTable().noOcclusion() )); + public static final DeferredBlock ELYTHIA_PORTAL = BLOCKS.register("elythia_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties())); + public static final DeferredBlock THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties())); + public static final DeferredBlock CAVARYN_PORTAL = BLOCKS.register("cavaryn_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.CAVARYN, portalProperties())); public static final DeferredBlock PALE_NYXITE = BLOCKS.register("pale_nyxite", () -> new Block(nyxiteProperties())); public static final DeferredBlock NYXITE_SPIKE = BLOCKS.register("nyxite_spike", @@ -1103,6 +1114,12 @@ public final class AntarchyFabricContent { () -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.TORCHFLOWER_FIELDS)); public static final DeferredHolder, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover", () -> new ElythiaSurfaceCoverFeature(NoneFeatureConfiguration.CODEC)); + public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature> VERY_TALL_GRASS_FEATURE = FEATURES.register("very_tall_grass", + () -> new com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature(NoneFeatureConfiguration.CODEC)); + public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_2X2_FEATURE = FEATURES.register("big_bush_2x2", + () -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 1)); + public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_3X3_FEATURE = FEATURES.register("big_bush_3x3", + () -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 2)); public static final DeferredHolder, ElythiaUndergroundFeature> ELYTHIA_UNDERGROUND = FEATURES.register("elythia_underground", () -> new ElythiaUndergroundFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BrutalflyCocoonFeature> BRUTALFLY_COCOON = FEATURES.register("brutalfly_cocoon", @@ -1192,6 +1209,7 @@ public final class AntarchyFabricContent { public static final DeferredItem OURANWOOD_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_BUTTON); public static final DeferredItem OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_LEAVES); public static final DeferredItem OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(OURANWOOD_ACORN_BLOCK); + // public static final DeferredItem OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_VINE); public static final DeferredItem VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_SHORT_GRASS); public static final DeferredItem VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_TALL_GRASS); public static final DeferredItem BIG_BUSH_ITEM = ITEMS.register("big_bush", @@ -2173,6 +2191,13 @@ public final class AntarchyFabricContent { return BLOOD_CRYSTAL_CRYSTAL.get(); } + // private static OuranwoodVinePlantBlock createOuranwoodVinePlant() { + // OuranwoodVinePlantBlock.bindHeadBlock(OURANWOOD_VINE_INSTANCE); + // OuranwoodVinePlantBlock block = new OuranwoodVinePlantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WEEPING_VINES_PLANT)); + // OuranwoodVineBlock.bindBodyBlock(block); + // return block; + // } + private static Block createDirtOre(Block copyFrom) { return new Block(dirtOreProperties()); } @@ -2192,6 +2217,17 @@ public final class AntarchyFabricContent { return BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK); } + private static BlockBehaviour.Properties portalProperties() { + return BlockBehaviour.Properties.of() + .strength(-1.0F) + .noCollission() + .noOcclusion() + .lightLevel(state -> 11) + .noLootTable() + .isSuffocating((state, level, pos) -> false) + .isViewBlocking((state, level, pos) -> false); + } + private static Block createOre(Block copyFrom) { return new Block(BlockBehaviour.Properties.ofFullCopy(copyFrom).requiresCorrectToolForDrops()); } @@ -2419,6 +2455,14 @@ public final class AntarchyFabricContent { // Wire common-module accessors after all registrations are complete. AntarchyObjects.setHerculesBeetle(() -> HERCULES_BEETLE.get()); + PermanentPortalType.bindBlocks( + () -> MOSSY_OURANWOOD_WOOD.get(), + () -> ELYTHIA_PORTAL.get(), + () -> NYXITE.get(), + () -> THORAXIS_PORTAL.get(), + () -> MYRMITE.get(), + () -> CAVARYN_PORTAL.get() + ); AntarchySoundEvents.bind( SQUIDZOOKA_FIRE, diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java index a151c550..765ce68f 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java @@ -10,6 +10,7 @@ import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity; import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; import com.craisinlord.antarchy.content.gravity.AntarchyGravityDirection; import com.craisinlord.antarchy.content.gravity.AntarchyGravityTransition; +import com.craisinlord.antarchy.content.portal.PermanentPortalManager; import com.craisinlord.antarchy.content.command.CaterpillarCommand; import com.craisinlord.antarchy.content.command.GravityCommand; import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; @@ -64,6 +65,7 @@ public final class AntarchyFabricEvents { if (entity instanceof ServerPlayer sp) { BloodglassManager.handleDeath(sp); } + PermanentPortalManager.handleSacrifice(entity); if (entity instanceof MissileSquidEntity missileSquid) { if (missileSquid.isSpawnedByKraken()) { return; diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index ce72a88e..fbe05412 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -223,6 +223,8 @@ public final class AntarchyFabricClientBootstrap { BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.OURANWOOD_DOOR.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.OURANWOOD_TRAPDOOR.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.OURANWOOD_ACORN_BLOCK.get(), RenderType.cutout()); + // BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.OURANWOOD_VINE.get(), RenderType.cutout()); + // BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.OURANWOOD_VINE_PLANT.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.DUPLICATOR_SAPLING.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ORANGE_MILKWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.PINK_MILKWEED.get(), RenderType.cutout()); @@ -253,6 +255,9 @@ public final class AntarchyFabricClientBootstrap { BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.DREAM_FIRE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.DREAM_CEILING_FIRE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ANTIWATER_BLOCK.get(), RenderType.translucent()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ELYTHIA_PORTAL.get(), RenderType.translucent()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.THORAXIS_PORTAL.get(), RenderType.translucent()); + BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CAVARYN_PORTAL.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TRIFFID_GOO_BLOCK.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.URANIUM_DOOR.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TITANIUM_DOOR.get(), RenderType.cutout()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index 0e77f432..f13309c6 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -333,6 +333,10 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setDiamondMinecartCoastDeceleration(AntarchyMiscConfig.diamondMinecartCoastDeceleration()); AntarchySettings.setDiamondMinecartMobDamageEnabled(AntarchyMiscConfig.diamondMinecartMobDamageEnabled()); AntarchySettings.setDiamondMinecartMaxMobDamage(AntarchyMiscConfig.diamondMinecartMaxMobDamage()); + AntarchySettings.setPermanentPortalsEnabled(AntarchyMiscConfig.permanentPortalsEnabled()); + AntarchySettings.setElythiaPortalEnabled(AntarchyMiscConfig.elythiaPortalEnabled()); + AntarchySettings.setThoraxisPortalEnabled(AntarchyMiscConfig.thoraxisPortalEnabled()); + AntarchySettings.setCavarynPortalEnabled(AntarchyMiscConfig.cavarynPortalEnabled()); // Misc diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java index 322fa099..ad704183 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java @@ -25,6 +25,12 @@ public final class AntarchyMiscConfig { private static final ModConfigSpec.BooleanValue DISABLE_INFINITY_BOOK_PORTAL_CREATION; private static final ModConfigSpec.BooleanValue RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS; + // Permanent portals + private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED; + private static final ModConfigSpec.BooleanValue ELYTHIA_PORTAL_ENABLED; + private static final ModConfigSpec.BooleanValue THORAXIS_PORTAL_ENABLED; + private static final ModConfigSpec.BooleanValue CAVARYN_PORTAL_ENABLED; + // Diamond Minecart private static final ModConfigSpec.BooleanValue DIAMOND_MINECART_ENABLED; private static final ModConfigSpec.BooleanValue DIAMOND_MINECART_PLACES_RAILS; @@ -100,6 +106,16 @@ public final class AntarchyMiscConfig { b.pop(); + // Permanent Portals + + b.push("permanentPortals"); + PERMANENT_PORTALS_ENABLED = b.comment("Master toggle for sacrifice-activated permanent portals.").define("permanentPortalsEnabled", true); + ELYTHIA_PORTAL_ENABLED = b.comment("Whether mossy ouranwood wood portals to Elythia can activate and function.").define("elythiaPortalEnabled", true); + THORAXIS_PORTAL_ENABLED = b.comment("Whether Nyxite portals to Thoraxis can activate and function.").define("thoraxisPortalEnabled", true); + CAVARYN_PORTAL_ENABLED = b.comment("Whether Myrmite portals to Cavaryn can activate and function.").define("cavarynPortalEnabled", true); + b.pop(); + + // Diamond Minecart b.push("diamondMinecart"); @@ -150,6 +166,10 @@ public final class AntarchyMiscConfig { static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); } static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); } + public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); } + public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); } + public static boolean thoraxisPortalEnabled() { return THORAXIS_PORTAL_ENABLED.get(); } + public static boolean cavarynPortalEnabled() { return CAVARYN_PORTAL_ENABLED.get(); } static boolean diamondMinecartEnabled() { return DIAMOND_MINECART_ENABLED.get(); } static boolean diamondMinecartPlacesRails() { return DIAMOND_MINECART_PLACES_RAILS.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java index a3e20f77..dfcbac37 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java @@ -7,6 +7,7 @@ import com.craisinlord.antarchy.content.AntarchySoundEvents; import com.craisinlord.antarchy.content.item.BloodCrystalKatanaItem; import com.craisinlord.antarchy.content.item.ScorpionWhipTetherSync; import com.craisinlord.antarchy.content.network.BloodCrystalKatanaTrailPayload; +import com.craisinlord.antarchy.content.portal.PermanentPortalType; import com.craisinlord.antarchy.neoforge.registry.*; import com.craisinlord.antarchy.neoforge.network.AntarchyGravityNetworking; import net.neoforged.bus.api.IEventBus; @@ -183,6 +184,14 @@ public class AntarchyNeoforge { } private static void bindCommonObjects() { + PermanentPortalType.bindBlocks( + () -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get(), + () -> AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), + () -> AntarchyNeoforgeBlocks.NYXITE.get(), + () -> AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), + () -> AntarchyNeoforgeBlocks.MYRMITE.get(), + () -> AntarchyNeoforgeBlocks.CAVARYN_PORTAL.get() + ); AntarchyObjects.bind( AntarchyNeoforgeEntites.EASTER_BUNNY, AntarchyNeoforgeEntites.FLYING_SQUIRREL, diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index cfa2c872..b15a8a38 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -433,6 +433,8 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_DOOR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_TRAPDOOR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK.get(), RenderType.cutout()); + // ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE.get(), RenderType.cutout()); + // ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.OURANWOOD_VINE_PLANT.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout()); @@ -462,6 +464,9 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_FIRE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DREAM_CEILING_FIRE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get(), RenderType.translucent()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), RenderType.translucent()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), RenderType.translucent()); + ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CAVARYN_PORTAL.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.URANIUM_DOOR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TITANIUM_DOOR.get(), RenderType.cutout()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java index 4c95ded9..3e999d49 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java @@ -18,6 +18,7 @@ import com.craisinlord.antarchy.content.item.*; import com.craisinlord.antarchy.content.item.ultimate.UltimateGearHelper; import com.craisinlord.antarchy.content.movement.DreamSandLowGravityAccess; import com.craisinlord.antarchy.content.AntarchyTags; +import com.craisinlord.antarchy.content.portal.PermanentPortalManager; import com.craisinlord.antarchy.neoforge.AntarchyNeoForgeFluidTypes; import com.craisinlord.antarchy.neoforge.entity.multipart.MultipartPartEntity; import com.craisinlord.antarchy.neoforge.network.AntarchyGravityNetworking; @@ -65,6 +66,7 @@ public final class AntarchyNeoForgeEvents { public static void register(IEventBus modEventBus) { modEventBus.addListener(AntarchyNeoForgeEvents::onCommonSetup); NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onMissileSquidDeath); + NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onPermanentPortalSacrifice); NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::onLivingBreathe); NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::registerBrewingRecipes); NeoForge.EVENT_BUS.addListener(AntarchyNeoForgeEvents::handleNaturalRabbitReplacement); @@ -132,6 +134,10 @@ public final class AntarchyNeoForgeEvents { } } + public static void onPermanentPortalSacrifice(LivingDeathEvent event) { + PermanentPortalManager.handleSacrifice(event.getEntity()); + } + public static void onLivingBreathe(LivingBreatheEvent event) { if (!(event.getEntity() instanceof Player)) { return; diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java index e35c1613..73697cb1 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java @@ -12,6 +12,7 @@ import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity; import com.craisinlord.antarchy.content.block.entity.PotentNyxiteBlockEntity; import com.craisinlord.antarchy.content.block.entity.WaspNestBlockEntity; import com.craisinlord.antarchy.content.fluid.BileLiquidBlock; +import com.craisinlord.antarchy.content.portal.PermanentPortalType; import com.craisinlord.antarchy.neoforge.OuranwoodWoodTypes; import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType; import com.mojang.serialization.MapCodec; @@ -37,6 +38,8 @@ import net.neoforged.neoforge.registries.DeferredRegister; public final class AntarchyNeoforgeBlocks { private static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Antarchy.MODID); private static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, Antarchy.MODID); + // private static final OuranwoodVineBlock OURANWOOD_VINE_INSTANCE = new OuranwoodVineBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WEEPING_VINES).lightLevel(state -> 12)); + // private static final OuranwoodVinePlantBlock OURANWOOD_VINE_PLANT_INSTANCE = createOuranwoodVinePlant(); public static final DeferredBlock DUPLICATOR_LOG = BLOCKS.register("duplicator_log", () -> new DuplicatorLogBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_LOG).randomTicks())); @@ -74,6 +77,10 @@ public final class AntarchyNeoforgeBlocks { () -> new OuranwoodLeavesBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_LEAVES).randomTicks())); public static final DeferredBlock OURANWOOD_ACORN_BLOCK = BLOCKS.register("ouranwood_acorn", () -> new OuranwoodAcornBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SAPLING).randomTicks().noCollission())); + // public static final DeferredBlock OURANWOOD_VINE = BLOCKS.register("ouranwood_vine", + // () -> OURANWOOD_VINE_INSTANCE); + // public static final DeferredBlock OURANWOOD_VINE_PLANT = BLOCKS.register("ouranwood_vine_plant", + // () -> OURANWOOD_VINE_PLANT_INSTANCE); public static final DeferredBlock ORANGE_MILKWEED = BLOCKS.register("orange_milkweed", () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); public static final DeferredBlock PINK_MILKWEED = BLOCKS.register("pink_milkweed", @@ -191,6 +198,12 @@ public final class AntarchyNeoforgeBlocks { AntarchyNeoforgeItems::cloudBucketItem, BlockBehaviour.Properties.ofFullCopy(Blocks.POWDER_SNOW).noLootTable().noOcclusion() )); + public static final DeferredBlock ELYTHIA_PORTAL = BLOCKS.register("elythia_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties())); + public static final DeferredBlock THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties())); + public static final DeferredBlock CAVARYN_PORTAL = BLOCKS.register("cavaryn_portal", + () -> new AntDimensionPortalBlock(PermanentPortalType.CAVARYN, portalProperties())); public static final DeferredBlock PALE_NYXITE = BLOCKS.register("pale_nyxite", () -> new Block(nyxiteProperties())); public static final DeferredBlock NYXITE_SPIKE = BLOCKS.register("nyxite_spike", @@ -419,6 +432,17 @@ public final class AntarchyNeoforgeBlocks { return BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK); } + private static BlockBehaviour.Properties portalProperties() { + return BlockBehaviour.Properties.of() + .strength(-1.0F) + .noCollission() + .noOcclusion() + .lightLevel(state -> 11) + .noLootTable() + .isSuffocating((state, level, pos) -> false) + .isViewBlocking((state, level, pos) -> false); + } + private static Block createOre(Block copyFrom, int minExperience, int maxExperience) { return new DropExperienceBlock(UniformInt.of(minExperience, maxExperience), BlockBehaviour.Properties.ofFullCopy(copyFrom).requiresCorrectToolForDrops()); } @@ -453,6 +477,13 @@ public final class AntarchyNeoforgeBlocks { return BLOOD_CRYSTAL_CRYSTAL.get(); } + // private static OuranwoodVinePlantBlock createOuranwoodVinePlant() { + // OuranwoodVinePlantBlock.bindHeadBlock(OURANWOOD_VINE_INSTANCE); + // OuranwoodVinePlantBlock block = new OuranwoodVinePlantBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WEEPING_VINES_PLANT)); + // OuranwoodVineBlock.bindBodyBlock(block); + // return block; + // } + private static final class SimpleHorizontalFacingBlock extends HorizontalDirectionalBlock { private static final MapCodec CODEC = simpleCodec(SimpleHorizontalFacingBlock::new); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index 57d460de..83b4c767 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -91,6 +91,7 @@ public class AntarchyNeoforgeCreativeModeTabs { if (event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) { event.accept(AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get()); event.accept(AntarchyNeoforgeItems.OURANWOOD_ACORN.get()); + // event.accept(AntarchyNeoforgeItems.OURANWOOD_VINE_ITEM.get()); event.accept(AntarchyNeoforgeItems.DUPLICATOR_LOG_ITEM.get()); event.accept(AntarchyNeoforgeItems.DUPLICATOR_SAPLING_ITEM.get()); event.accept(AntarchyNeoforgeItems.ORANGE_MILKWEED_ITEM.get()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index ec229b03..f7645752 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -158,6 +158,7 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem OURANWOOD_BUTTON_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_BUTTON); public static final DeferredItem OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_LEAVES); public static final DeferredItem OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_ACORN_BLOCK); + // public static final DeferredItem OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_VINE); public static final DeferredItem ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ORANGE_MILKWEED); public static final DeferredItem PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PINK_MILKWEED); public static final DeferredItem TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java index eae7bec6..f1dbcb58 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java @@ -22,6 +22,8 @@ import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeConfiguratio import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeFeature; import com.craisinlord.antarchy.content.worldgen.elythia.*; import com.craisinlord.antarchy.content.worldgen.thoraxis.*; +import com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature; +import com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature; import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluid; import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType; import com.mojang.serialization.MapCodec; @@ -213,6 +215,12 @@ public final class AntarchyNeoforgeMisc { () -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.TORCHFLOWER_FIELDS)); public static final DeferredHolder, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover", () -> new ElythiaSurfaceCoverFeature(NoneFeatureConfiguration.CODEC)); + public static final DeferredHolder, VeryTallGrassWorldgenFeature> VERY_TALL_GRASS_FEATURE = FEATURES.register("very_tall_grass", + () -> new VeryTallGrassWorldgenFeature(NoneFeatureConfiguration.CODEC)); + public static final DeferredHolder, BigBushWorldgenFeature> BIG_BUSH_2X2_FEATURE = FEATURES.register("big_bush_2x2", + () -> new BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 1)); + public static final DeferredHolder, BigBushWorldgenFeature> BIG_BUSH_3X3_FEATURE = FEATURES.register("big_bush_3x3", + () -> new BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 2)); public static final DeferredHolder, ElythiaUndergroundFeature> ELYTHIA_UNDERGROUND = FEATURES.register("elythia_underground", () -> new ElythiaUndergroundFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BrutalflyCocoonFeature> BRUTALFLY_COCOON = FEATURES.register("brutalfly_cocoon", diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json new file mode 100644 index 00000000..190035c7 --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json @@ -0,0 +1,8 @@ +{ + "type": "neoforge:add_features", + "biomes": "#antarchy:big_bush_spawn_biomes", + "features": [ + "antarchy:big_bush" + ], + "step": "vegetal_decoration" +} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json new file mode 100644 index 00000000..27409ca0 --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json @@ -0,0 +1,8 @@ +{ + "type": "neoforge:add_features", + "biomes": "#antarchy:big_bush_2x2_spawn_biomes", + "features": [ + "antarchy:big_bush_2x2" + ], + "step": "vegetal_decoration" +} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json new file mode 100644 index 00000000..a32da043 --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json @@ -0,0 +1,8 @@ +{ + "type": "neoforge:add_features", + "biomes": "#antarchy:mega_taiga_spawn_biomes", + "features": [ + "antarchy:big_bush_3x3" + ], + "step": "vegetal_decoration" +} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json new file mode 100644 index 00000000..32d32d1f --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json @@ -0,0 +1,8 @@ +{ + "type": "neoforge:add_features", + "biomes": "#antarchy:very_short_grass_spawn_biomes", + "features": [ + "antarchy:very_short_grass" + ], + "step": "vegetal_decoration" +} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json new file mode 100644 index 00000000..b1930fe7 --- /dev/null +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json @@ -0,0 +1,8 @@ +{ + "type": "neoforge:add_features", + "biomes": "#antarchy:very_tall_grass_spawn_biomes", + "features": [ + "antarchy:very_tall_grass" + ], + "step": "vegetal_decoration" +} From f23cf63f4f386e58ee37e392ca0443fa3e34f1cd Mon Sep 17 00:00:00 2001 From: craisinlord Date: Wed, 8 Jul 2026 13:33:22 -0500 Subject: [PATCH 11/13] finish ant portals optional flint and steel functionality dorrie --- .../antarchy/config/AntarchySettings.java | 16 +- .../block/AntDimensionPortalBlock.java | 21 +- .../antarchy/content/entity/DorrieEntity.java | 303 ++++++++++++++++-- .../content/entity/EmperorScorpionEntity.java | 9 + .../portal/PermanentPortalManager.java | 27 +- .../content/portal/PermanentPortalShape.java | 86 +++++ .../portal/PermanentPortalTeleporter.java | 128 +++++++- .../FlintAndSteelPortalIgnitionMixin.java | 53 +++ .../resources/antarchy-common.mixins.json | 1 + .../assets/antarchy/geo/dorrie.geo.json | 2 +- .../antarchy/textures/entity/dorrie.png | Bin 8734 -> 9723 bytes .../textures/entity/dorrie_saddle.png | Bin 11820 -> 11796 bytes .../fabric/AntarchyConfigModuleFabric.java | 1 + .../AntarchyConfigModuleNeoforge.java | 1 + .../antarchy/neoforge/AntarchyMiscConfig.java | 3 + 15 files changed, 598 insertions(+), 53 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/FlintAndSteelPortalIgnitionMixin.java diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index a5ab19e5..db23fffd 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -448,6 +448,7 @@ public final class AntarchySettings { private static int fallenKingCrownArmorValue = 2; private static double fallenKingCrownArmorToughness = 0.0D; private static boolean permanentPortalsEnabled = true; + private static boolean permanentPortalsFlintAndSteelEnabled = false; private static boolean elythiaPortalEnabled = true; private static boolean thoraxisPortalEnabled = true; private static boolean cavarynPortalEnabled = true; @@ -965,6 +966,10 @@ public final class AntarchySettings { permanentPortalsEnabled = value; } + public static void setPermanentPortalsFlintAndSteelEnabled(boolean value) { + permanentPortalsFlintAndSteelEnabled = value; + } + public static void setElythiaPortalEnabled(boolean value) { elythiaPortalEnabled = value; } @@ -977,6 +982,12 @@ public final class AntarchySettings { cavarynPortalEnabled = value; } + public static boolean permanentPortalsEnabled() { return permanentPortalsEnabled; } + public static boolean permanentPortalsFlintAndSteelEnabled() { return permanentPortalsFlintAndSteelEnabled; } + public static boolean elythiaPortalEnabled() { return elythiaPortalEnabled; } + public static boolean thoraxisPortalEnabled() { return thoraxisPortalEnabled; } + public static boolean cavarynPortalEnabled() { return cavarynPortalEnabled; } + public static void setBrownAntRequiresReagent(boolean value) { brownAntRequiresReagent = value; } @@ -2454,11 +2465,6 @@ public final class AntarchySettings { public static double fallenKingCrownArmorToughness() { return fallenKingCrownArmorToughness; } public static void setFallenKingCrownArmorToughness(double value) { fallenKingCrownArmorToughness = value; } - public static boolean permanentPortalsEnabled() { return permanentPortalsEnabled; } - public static boolean elythiaPortalEnabled() { return elythiaPortalEnabled; } - public static boolean thoraxisPortalEnabled() { return thoraxisPortalEnabled; } - public static boolean cavarynPortalEnabled() { return cavarynPortalEnabled; } - public static boolean elythiaFireflyParticlesEnabled() { return elythiaFireflyParticlesEnabled; } public static void setElythiaFireflyParticlesEnabled(boolean value) { elythiaFireflyParticlesEnabled = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java index eca7464d..27eeff06 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/AntDimensionPortalBlock.java @@ -2,6 +2,7 @@ package com.craisinlord.antarchy.content.block; import com.craisinlord.antarchy.content.portal.PermanentPortalManager; import com.craisinlord.antarchy.content.portal.PermanentPortalType; +import com.craisinlord.antarchy.content.portal.PermanentPortalTeleporter; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -11,6 +12,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; +import net.minecraft.world.level.portal.DimensionTransition; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; @@ -27,7 +29,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -public final class AntDimensionPortalBlock extends Block { +public final class AntDimensionPortalBlock extends Block implements net.minecraft.world.level.block.Portal { public static final EnumProperty AXIS = BlockStateProperties.HORIZONTAL_AXIS; private static final VoxelShape X_SHAPE = Block.box(0.0D, 0.0D, 6.0D, 16.0D, 16.0D, 10.0D); private static final VoxelShape Z_SHAPE = Block.box(6.0D, 0.0D, 0.0D, 10.0D, 16.0D, 16.0D); @@ -85,10 +87,25 @@ public final class AntDimensionPortalBlock extends Block { @Override public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { if (!level.isClientSide()) { - PermanentPortalManager.handleEntityInsidePortal(entity, this.type); + entity.setAsInsidePortal(this, pos); } } + @Override + public net.minecraft.world.level.block.Portal.Transition getLocalTransition() { + return net.minecraft.world.level.block.Portal.Transition.CONFUSION; + } + + @Override + public int getPortalTransitionTime(ServerLevel level, Entity entity) { + return 20; + } + + @Override + public DimensionTransition getPortalDestination(ServerLevel level, Entity entity, BlockPos pos) { + return PermanentPortalTeleporter.createTransition(level, entity, pos, this.type); + } + @Override protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) { super.onPlace(state, level, pos, oldState, movedByPiston); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java index 613e1fd1..09cc8fed 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java @@ -3,6 +3,7 @@ package com.craisinlord.antarchy.content.entity; import com.craisinlord.antarchy.config.AntarchySettings; import java.util.EnumSet; import java.util.List; +import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; @@ -12,6 +13,8 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; +import net.minecraft.tags.FluidTags; +import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; @@ -26,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.control.MoveControl; import net.minecraft.world.entity.ai.control.SmoothSwimmingLookControl; import net.minecraft.world.entity.ai.control.SmoothSwimmingMoveControl; -import net.minecraft.world.entity.ai.goal.BreathAirGoal; -import net.minecraft.world.entity.ai.goal.FloatGoal; import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; @@ -67,11 +68,11 @@ public class DorrieEntity extends Animal implements GeoEntity { SynchedEntityData.defineId(DorrieEntity.class, EntityDataSerializers.INT); private static final int MAX_CHARGE_TICKS = 40; - private static final float WATER_RIDE_SPEED = 1.26F; - private static final float LAND_BEACH_SPEED = 0.04F; + private static final float WATER_RIDE_SPEED = 1.84F; + private static final float LAND_BEACH_SPEED = 0.10F; private static final int QUIRK_DURATION_TICKS = 65; - private static final int MIN_QUIRK_COOLDOWN_TICKS = 180; - private static final int MAX_QUIRK_COOLDOWN_TICKS = 320; + private static final int MIN_QUIRK_COOLDOWN_TICKS = 140; + private static final int MAX_QUIRK_COOLDOWN_TICKS = 260; private static final double MOVING_ANIM_THRESHOLD_SQ = 0.0025D; private static final RawAnimation IDLE_GROUND_ANIM = RawAnimation.begin().thenLoop("idle_ground"); @@ -127,20 +128,19 @@ public class DorrieEntity extends Animal implements GeoEntity { @Override protected void registerGoals() { - this.goalSelector.addGoal(0, new FloatGoal(this)); - this.goalSelector.addGoal(1, new BreathAirGoal(this)); - this.goalSelector.addGoal(2, new TryFindWaterGoal(this)); - this.goalSelector.addGoal(3, new HuntCheepGoal(this)); - this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10)); - this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.45D, 60)); - this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); - this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(0, new TryFindWaterGoal(this)); + this.goalSelector.addGoal(1, new HuntCheepGoal(this)); + this.goalSelector.addGoal(2, new DolphinSwimGoal()); + this.goalSelector.addGoal(3, new RandomSwimmingGoal(this, 1.35D, 8)); + this.goalSelector.addGoal(4, new WaterAvoidingRandomStrollGoal(this, 0.72D, 40)); + this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F)); + this.goalSelector.addGoal(6, new RandomLookAroundGoal(this)); } public static AttributeSupplier.Builder createAttributes() { return Mob.createMobAttributes() .add(Attributes.MAX_HEALTH, AntarchySettings.dorrieHealth()) - .add(Attributes.MOVEMENT_SPEED, 1.0D) + .add(Attributes.MOVEMENT_SPEED, 1.15D) .add(Attributes.FOLLOW_RANGE, 16.0D) .add(Attributes.ATTACK_DAMAGE, 4.0D); } @@ -255,13 +255,20 @@ public class DorrieEntity extends Animal implements GeoEntity { protected Vec3 getRiddenInput(Player player, Vec3 travelVector) { float forward = player.zza; float strafe = player.xxa * 0.5F; - return new Vec3(strafe, 0, forward); + float pitch = Mth.clamp(player.getXRot(), -60.0F, 60.0F); + double vertical = 0.0D; + if (player.zza > 0.02F) { + vertical = -pitch / 45.0D; + } else if (Math.abs(pitch) > 10.0F) { + vertical = -pitch / 60.0D; + } + return new Vec3(strafe, Mth.clamp(vertical, -1.0D, 1.0D), forward); } @Override protected float getRiddenSpeed(Player player) { float speed = (this.isInWater() || this.isInLava()) - ? WATER_RIDE_SPEED * (1.0F + Math.min(this.swimForwardTicks, 60) * 0.025F) + ? WATER_RIDE_SPEED * (1.0F + Math.min(this.swimForwardTicks, 60) * 0.03F) : LAND_BEACH_SPEED; return (float) this.getAttributeValue(Attributes.MOVEMENT_SPEED) * speed; } @@ -270,6 +277,7 @@ public class DorrieEntity extends Animal implements GeoEntity { public void tick() { super.tick(); this.updateNavigationMode(); + this.setNoGravity(this.isInWater() || this.isInLava()); if (this.getControllingPassenger() instanceof Player player) { this.setYRot(player.getYRot()); @@ -315,13 +323,6 @@ public class DorrieEntity extends Animal implements GeoEntity { this.tickQuirkAnimation(); } - if (this.isInWater() && !isLeaping) { - Vec3 mov = this.getDeltaMovement(); - double push = this.isUnderWater() ? 0.07D : 0.015D; - double cappedY = this.isUnderWater() ? 0.3D : 0.05D; - this.setDeltaMovement(mov.x, Math.min(mov.y + push, cappedY), mov.z); - } - if (landAnimTicks > 0) { landAnimTicks--; } @@ -342,17 +343,57 @@ public class DorrieEntity extends Animal implements GeoEntity { } } + @Override + public void baseTick() { + super.baseTick(); + if (this.isInWater() || this.isInLava()) { + this.setAirSupply(this.getMaxAirSupply()); + } + } + + @Override + public void travel(Vec3 travelVector) { + if (this.getControllingPassenger() instanceof Player rider && this.isVehicle()) { + this.setYRot(rider.getYRot()); + this.yRotO = this.getYRot(); + this.yBodyRot = this.getYRot(); + this.yHeadRot = this.getYRot(); + + Vec3 riddenInput = this.getRiddenInput(rider, travelVector); + this.setSpeed(this.getRiddenSpeed(rider)); + + if (this.isInWater() || this.isInLava()) { + this.moveRelative(this.getSpeed(), new Vec3(riddenInput.x, 0.0D, riddenInput.z)); + Vec3 motion = this.getDeltaMovement(); + double vertical = this.isLeaping ? 0.0D : riddenInput.y * 0.09D; + this.setDeltaMovement( + motion.x * 0.92D, + motion.y * 0.90D + vertical, + motion.z * 0.92D + ); + this.move(net.minecraft.world.entity.MoverType.SELF, this.getDeltaMovement()); + return; + } + + this.moveRelative(this.getSpeed(), new Vec3(riddenInput.x, 0.0D, riddenInput.z)); + this.move(net.minecraft.world.entity.MoverType.SELF, this.getDeltaMovement()); + return; + } + + super.travel(travelVector); + } + public void releaseJump() { if (!this.level().isClientSide && isCharging) { float power = chargeTicks / (float) MAX_CHARGE_TICKS; if (power > 0.05F) { Vec3 look = this.getLookAngle(); Vec3 current = this.getDeltaMovement(); - double forwardAdd = power * 0.5D; - double vertical = 0.55D + power * 0.9D; + double forwardAdd = 0.18D + power * 0.42D; + double vertical = 0.28D + power * 0.62D; this.setDeltaMovement( current.x + look.x * forwardAdd, - vertical, + current.y + vertical, current.z + look.z * forwardAdd ); this.hasImpulse = true; @@ -517,6 +558,7 @@ public class DorrieEntity extends Animal implements GeoEntity { private boolean canUseQuirkAnimation() { return this.isInWater() + && !this.isUnderWater() && this.getControllingPassenger() == null && !this.isLeaping && this.landAnimTicks <= 0 @@ -524,6 +566,72 @@ public class DorrieEntity extends Animal implements GeoEntity { && !this.isMovingForAnimation(null); } + @Nullable + private Vec3 findWaterSurfaceTarget(double radius, int minYDelta, int maxYDelta) { + int baseY = Mth.floor(this.getY()); + for (int attempt = 0; attempt < 12; attempt++) { + double offsetX = (this.random.nextDouble() - 0.5D) * radius * 2.0D; + double offsetZ = (this.random.nextDouble() - 0.5D) * radius * 2.0D; + int x = Mth.floor(this.getX() + offsetX); + int z = Mth.floor(this.getZ() + offsetZ); + Vec3 target = this.findWaterSurfaceTarget(x, z, baseY + minYDelta, baseY + maxYDelta); + if (target != null) { + return target; + } + } + return this.findWaterSurfaceTarget(Mth.floor(this.getX()), Mth.floor(this.getZ()), + baseY + minYDelta, baseY + maxYDelta); + } + + @Nullable + private Vec3 findWaterSurfaceTarget(int x, int z, int minY, int maxY) { + int top = Math.min(maxY, this.level().getMaxBuildHeight() - 2); + int bottom = Math.max(minY, this.level().getMinBuildHeight() + 1); + for (int y = top; y >= bottom; y--) { + BlockPos pos = BlockPos.containing(x, y, z); + if (!this.isWaterAt(pos) || this.isWaterAt(pos.above())) { + continue; + } + return new Vec3(x + 0.5D, y + 0.85D, z + 0.5D); + } + return null; + } + + @Nullable + private Vec3 findSubmergedTarget(double radius, int minYDelta, int maxYDelta) { + int baseY = Mth.floor(this.getY()); + for (int attempt = 0; attempt < 16; attempt++) { + double offsetX = (this.random.nextDouble() - 0.5D) * radius * 2.0D; + double offsetZ = (this.random.nextDouble() - 0.5D) * radius * 2.0D; + int x = Mth.floor(this.getX() + offsetX); + int z = Mth.floor(this.getZ() + offsetZ); + Vec3 target = this.findSubmergedTarget(x, z, baseY + minYDelta, baseY + maxYDelta); + if (target != null) { + return target; + } + } + return this.findSubmergedTarget(Mth.floor(this.getX()), Mth.floor(this.getZ()), + baseY + minYDelta, baseY + maxYDelta); + } + + @Nullable + private Vec3 findSubmergedTarget(int x, int z, int minY, int maxY) { + int top = Math.min(maxY, this.level().getMaxBuildHeight() - 2); + int bottom = Math.max(minY, this.level().getMinBuildHeight() + 1); + for (int y = top; y >= bottom; y--) { + BlockPos pos = BlockPos.containing(x, y, z); + if (!this.isWaterAt(pos) || !this.isWaterAt(pos.below())) { + continue; + } + return new Vec3(x + 0.5D, y + 0.3D, z + 0.5D); + } + return null; + } + + private boolean isWaterAt(BlockPos pos) { + return this.level().getFluidState(pos).is(FluidTags.WATER); + } + private boolean isMovingForAnimation(@Nullable AnimationState state) { if (state != null && state.isMoving()) { return true; @@ -535,6 +643,147 @@ public class DorrieEntity extends Animal implements GeoEntity { || this.getNavigation().isInProgress(); } + private class DolphinSwimGoal extends Goal { + private static final int COOLDOWN_MIN_TICKS = 120; + private static final int COOLDOWN_MAX_TICKS = 240; + private static final int DIVE_MIN_TICKS = 50; + private static final int DIVE_MAX_TICKS = 110; + private static final int ROAM_MIN_TICKS = 70; + private static final int ROAM_MAX_TICKS = 140; + private static final int TARGET_REFRESH_TICKS = 20; + private static final double AQUATIC_SPEED = 1.15D; + private static final double SEARCH_RADIUS = 12.0D; + + @Nullable + private Vec3 targetPos; + private int phaseTicks; + private int targetRefreshTicks; + private int cooldownTicks; + private Phase phase = Phase.ROAM; + + DolphinSwimGoal() { + this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); + } + + @Override + public boolean canUse() { + if (DorrieEntity.this.level().isClientSide + || DorrieEntity.this.isVehicle() + || DorrieEntity.this.getControllingPassenger() != null + || DorrieEntity.this.isCharging + || DorrieEntity.this.isLeaping + || DorrieEntity.this.landAnimTicks > 0 + || DorrieEntity.this.getTarget() != null) { + return false; + } + if (!DorrieEntity.this.isInWater()) { + return false; + } + if (this.cooldownTicks > 0) { + this.cooldownTicks--; + return false; + } + if (DorrieEntity.this.random.nextInt(6) != 0) { + return false; + } + this.targetPos = DorrieEntity.this.isUnderWater() + ? DorrieEntity.this.findSubmergedTarget(SEARCH_RADIUS, -5, 2) + : DorrieEntity.this.findSubmergedTarget(SEARCH_RADIUS, -5, 1); + return this.targetPos != null; + } + + @Override + public boolean canContinueToUse() { + return this.targetPos != null + && !DorrieEntity.this.isVehicle() + && DorrieEntity.this.getControllingPassenger() == null + && DorrieEntity.this.isAlive() + && DorrieEntity.this.isInWater(); + } + + @Override + public void start() { + this.phase = DorrieEntity.this.isUnderWater() ? Phase.ROAM : Phase.DIVE; + this.phaseTicks = this.phase == Phase.DIVE + ? DorrieEntity.this.random.nextInt(DIVE_MAX_TICKS - DIVE_MIN_TICKS + 1) + DIVE_MIN_TICKS + : DorrieEntity.this.random.nextInt(ROAM_MAX_TICKS - ROAM_MIN_TICKS + 1) + ROAM_MIN_TICKS; + this.targetRefreshTicks = 0; + if (this.targetPos == null) { + this.targetPos = this.pickTargetForPhase(); + } + if (this.targetPos == null) { + this.stop(); + } + } + + @Override + public void stop() { + this.targetPos = null; + this.phaseTicks = 0; + this.targetRefreshTicks = 0; + DorrieEntity.this.getNavigation().stop(); + this.cooldownTicks = DorrieEntity.this.random.nextInt(COOLDOWN_MAX_TICKS - COOLDOWN_MIN_TICKS + 1) + COOLDOWN_MIN_TICKS; + } + + @Override + public void tick() { + if (this.targetPos == null) { + this.stop(); + return; + } + + if (this.phaseTicks > 0) { + this.phaseTicks--; + } + if (this.targetRefreshTicks > 0) { + this.targetRefreshTicks--; + } + + if (this.phase == Phase.DIVE && this.phaseTicks <= 0) { + this.phase = Phase.ROAM; + this.phaseTicks = DorrieEntity.this.random.nextInt(ROAM_MAX_TICKS - ROAM_MIN_TICKS + 1) + ROAM_MIN_TICKS; + this.targetPos = this.pickTargetForPhase(); + } else if (this.phase == Phase.ROAM && this.phaseTicks <= 0) { + this.phase = Phase.SURFACE; + this.phaseTicks = DorrieEntity.this.random.nextInt(DIVE_MAX_TICKS - DIVE_MIN_TICKS + 1) + DIVE_MIN_TICKS; + this.targetPos = DorrieEntity.this.findWaterSurfaceTarget(SEARCH_RADIUS, -1, 4); + } else if (this.phase == Phase.SURFACE && this.phaseTicks <= 0 && this.isCloseToTarget()) { + this.stop(); + return; + } + + if (this.targetPos == null || this.targetRefreshTicks <= 0 || this.isCloseToTarget()) { + this.targetPos = this.pickTargetForPhase(); + this.targetRefreshTicks = TARGET_REFRESH_TICKS; + } + + if (this.targetPos == null) { + this.stop(); + return; + } + + DorrieEntity.this.getLookControl().setLookAt(this.targetPos.x, this.targetPos.y, this.targetPos.z, 25.0F, 20.0F); + DorrieEntity.this.getNavigation().moveTo(this.targetPos.x, this.targetPos.y, this.targetPos.z, AQUATIC_SPEED); + } + + @Nullable + private Vec3 pickTargetForPhase() { + return this.phase == Phase.SURFACE + ? DorrieEntity.this.findWaterSurfaceTarget(SEARCH_RADIUS, -1, 4) + : DorrieEntity.this.findSubmergedTarget(SEARCH_RADIUS, -5, 2); + } + + private boolean isCloseToTarget() { + return this.targetPos != null && DorrieEntity.this.distanceToSqr(this.targetPos) < 4.0D; + } + + private enum Phase { + DIVE, + ROAM, + SURFACE + } + } + private static class HuntCheepGoal extends Goal { private static final int COOLDOWN_TICKS = 600; private static final double HUNT_RANGE = 16.0D; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index 7f815a30..421c14de 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -108,6 +108,15 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { .add(Attributes.FOLLOW_RANGE, AntarchySettings.emperorScorpionFollowRange()); } + @Override + public boolean fireImmune() { + return true; + } + + @Override + public void lavaHurt() { + } + public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { if (spawnReason == MobSpawnType.SPAWN_EGG diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java index 04cf7aab..9fc76074 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalManager.java @@ -11,6 +11,7 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; @@ -34,10 +35,19 @@ public final class PermanentPortalManager { return; } - shape.fill(serverLevel); - Vec3 center = shape.center(); - serverLevel.playSound(null, center.x, center.y, center.z, SoundEvents.END_PORTAL_SPAWN, SoundSource.BLOCKS, 0.9F, 0.9F); - spawnActivationParticles(serverLevel, type, center); + activatePortal(serverLevel, type, shape, SoundEvents.END_PORTAL_SPAWN, 0.9F, 0.9F); + } + + public static boolean tryIgnitePortal(Level level, BlockPos triggerPos, PermanentPortalType type) { + PermanentPortalShape shape = PermanentPortalShape.findInactiveNear(level, triggerPos, type); + if (shape == null) { + return false; + } + + if (level instanceof ServerLevel serverLevel) { + activatePortal(serverLevel, type, shape, SoundEvents.FLINTANDSTEEL_USE, 0.9F, 1.0F); + } + return true; } public static void handleEntityInsidePortal(Entity entity, PermanentPortalType type) { @@ -67,7 +77,7 @@ public final class PermanentPortalManager { WARMUPS.remove(entity.getUUID()); PermanentPortalTeleporter.teleport(entity, type); if (entity.level() instanceof ServerLevel currentLevel) { - currentLevel.playSound(null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.ENDERMAN_TELEPORT, SoundSource.PLAYERS, 0.8F, 1.0F); + currentLevel.playSound(null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.PORTAL_TRAVEL, SoundSource.PLAYERS, 0.8F, 1.0F); } } @@ -121,6 +131,13 @@ public final class PermanentPortalManager { } } + private static void activatePortal(ServerLevel level, PermanentPortalType type, PermanentPortalShape shape, net.minecraft.sounds.SoundEvent sound, float volume, float pitch) { + shape.fill(level); + Vec3 center = shape.center(); + level.playSound(null, center.x, center.y, center.z, sound, SoundSource.BLOCKS, volume, pitch); + spawnActivationParticles(level, type, center); + } + private static final class PortalWarmup { private PermanentPortalType type; private long lastSeenTick; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java index 879dc473..9d84f0fa 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java @@ -8,6 +8,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.TagKey; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.AABB; @@ -18,6 +19,7 @@ public final class PermanentPortalShape { public static final int MIN_WIDTH = 2; public static final int MIN_HEIGHT = 3; public static final int MAX_SIZE = 21; + public static final int ACTIVE_SEARCH_RADIUS = 8; private final PermanentPortalType type; private final Direction.Axis axis; @@ -38,12 +40,52 @@ public final class PermanentPortalShape { return find(level, interiorPos, type, axis, state -> state.isAir()); } + @Nullable + public static PermanentPortalShape findInactiveNear(BlockGetter level, BlockPos center, PermanentPortalType type) { + for (int x = center.getX() - 2; x <= center.getX() + 2; x++) { + for (int y = center.getY() - 2; y <= center.getY() + 2; y++) { + for (int z = center.getZ() - 2; z <= center.getZ() + 2; z++) { + BlockPos candidate = new BlockPos(x, y, z); + PermanentPortalShape xShape = findInactive(level, candidate, type, Direction.Axis.X); + if (xShape != null) { + return xShape; + } + PermanentPortalShape zShape = findInactive(level, candidate, type, Direction.Axis.Z); + if (zShape != null) { + return zShape; + } + } + } + } + return null; + } + @Nullable public static PermanentPortalShape findActive(BlockGetter level, BlockPos interiorPos, PermanentPortalType type, Direction.Axis axis) { Block portalBlock = type.portalBlock(); return find(level, interiorPos, type, axis, state -> state.is(portalBlock)); } + @Nullable + public static PermanentPortalShape findActiveNear(BlockGetter level, BlockPos center, PermanentPortalType type) { + for (int x = center.getX() - ACTIVE_SEARCH_RADIUS; x <= center.getX() + ACTIVE_SEARCH_RADIUS; x++) { + for (int y = center.getY() - ACTIVE_SEARCH_RADIUS; y <= center.getY() + ACTIVE_SEARCH_RADIUS; y++) { + for (int z = center.getZ() - ACTIVE_SEARCH_RADIUS; z <= center.getZ() + ACTIVE_SEARCH_RADIUS; z++) { + BlockPos candidate = new BlockPos(x, y, z); + PermanentPortalShape xShape = findActive(level, candidate, type, Direction.Axis.X); + if (xShape != null) { + return xShape; + } + PermanentPortalShape zShape = findActive(level, candidate, type, Direction.Axis.Z); + if (zShape != null) { + return zShape; + } + } + } + } + return null; + } + @Nullable private static PermanentPortalShape find( BlockGetter level, @@ -159,6 +201,50 @@ public final class PermanentPortalShape { this.forEachInterior(pos -> level.setBlock(pos, portalState, Block.UPDATE_ALL)); } + @Nullable + public static PermanentPortalShape create(ServerLevel level, BlockPos bottomLeft, PermanentPortalType type, Direction.Axis axis) { + if (axis == Direction.Axis.Y || !canCreate(level, bottomLeft, type, axis)) { + return null; + } + + BlockState frameState = type.platformBlock().defaultBlockState(); + BlockState portalState = type.portalBlock().defaultBlockState().setValue(BlockStateProperties.HORIZONTAL_AXIS, axis); + Direction widthDirection = axis == Direction.Axis.X ? Direction.EAST : Direction.SOUTH; + + for (int y = -1; y <= 3; y++) { + for (int x = -1; x <= 2; x++) { + BlockPos pos = bottomLeft.relative(widthDirection, x).above(y); + if (x == -1 || x == 2 || y == -1 || y == 3) { + level.setBlock(pos, frameState, Block.UPDATE_ALL); + } else { + level.setBlock(pos, portalState, Block.UPDATE_ALL); + } + } + } + + return new PermanentPortalShape(type, axis, bottomLeft.immutable(), 2, 3); + } + + private static boolean canCreate(BlockGetter level, BlockPos bottomLeft, PermanentPortalType type, Direction.Axis axis) { + Direction widthDirection = axis == Direction.Axis.X ? Direction.EAST : Direction.SOUTH; + Block frameBlock = type.platformBlock(); + for (int y = -1; y <= 3; y++) { + for (int x = -1; x <= 2; x++) { + BlockPos pos = bottomLeft.relative(widthDirection, x).above(y); + BlockState state = level.getBlockState(pos); + boolean frameSpot = x == -1 || x == 2 || y == -1 || y == 3; + if (frameSpot) { + if (!state.isAir() && !state.is(frameBlock) && !state.canBeReplaced()) { + return false; + } + } else if (!state.isAir() && !state.canBeReplaced() && !state.is(Blocks.AIR)) { + return false; + } + } + } + return true; + } + public boolean contains(BlockPos pos) { if (pos.getY() < this.bottomLeft.getY() || pos.getY() >= this.bottomLeft.getY() + this.height) { return false; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java index 0eabe59c..bfd18721 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java @@ -1,14 +1,17 @@ package com.craisinlord.antarchy.content.portal; +import com.craisinlord.antarchy.config.AntarchySettings; import java.util.LinkedHashSet; import java.util.Set; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.vehicle.DismountHelper; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.Heightmap; @@ -28,18 +31,23 @@ public final class PermanentPortalTeleporter { return; } - ServerLevel destination = resolveDestination(sourceLevel, type); - if (destination == null) { - return; - } - - Vec3 arrival = findArrivalPosition(entity, destination, entity.blockPosition(), type.platformBlock().defaultBlockState()); - Entity movedEntity = moveEntity(entity, destination, arrival); + DimensionTransition transition = createTransition(sourceLevel, entity, entity.blockPosition(), type); + Entity movedEntity = moveEntity(entity, transition); if (movedEntity != null) { movedEntity.setPortalCooldown(); } } + public static DimensionTransition createTransition(ServerLevel sourceLevel, Entity entity, BlockPos portalPos, PermanentPortalType type) { + ServerLevel destination = resolveDestination(sourceLevel, type); + if (destination == null) { + return new DimensionTransition(sourceLevel, entity, DimensionTransition.DO_NOTHING); + } + + Vec3 arrival = findArrivalPosition(entity, destination, portalPos, type); + return new DimensionTransition(destination, arrival, Vec3.ZERO, entity.getYRot(), entity.getXRot(), DimensionTransition.PLAY_PORTAL_SOUND); + } + @Nullable private static ServerLevel resolveDestination(ServerLevel sourceLevel, PermanentPortalType type) { if (sourceLevel.dimension() == type.primaryDimension()) { @@ -48,13 +56,31 @@ public final class PermanentPortalTeleporter { return sourceLevel.getServer().getLevel(type.primaryDimension()); } - private static Vec3 findArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos, BlockState platformState) { + private static Vec3 findArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos, PermanentPortalType type) { + PermanentPortalShape active = PermanentPortalShape.findActiveNear(destination, preferredPos, type); + if (active != null) { + return active.center(); + } + Vec3 safe = findSafeArrivalPosition(entity, destination, preferredPos); - return safe != null ? safe : createFallbackPlatform(destination, preferredPos, platformState); + if (safe != null) { + PermanentPortalShape created = createReturnPortal(destination, safe, type); + if (created != null) { + return created.center(); + } + return safe; + } + + return createFallbackPlatform(destination, preferredPos, type.platformBlock().defaultBlockState()); } @Nullable private static Vec3 findSafeArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos) { + int[] yRange = getDimensionYRange(destination); + if (yRange != null) { + return findSafeArrivalPositionInYRange(entity, destination, preferredPos, yRange[0], yRange[1]); + } + Set candidates = new LinkedHashSet<>(); addCandidate(candidates, preferredPos); @@ -88,6 +114,29 @@ public final class PermanentPortalTeleporter { return null; } + @Nullable + private static Vec3 findSafeArrivalPositionInYRange(Entity entity, ServerLevel destination, BlockPos preferredPos, int minY, int maxY) { + for (int radius = 0; radius <= SEARCH_RADIUS; radius++) { + for (int xOff = -radius; xOff <= radius; xOff++) { + for (int zOff = -radius; zOff <= radius; zOff++) { + if (radius > 0 && Math.abs(xOff) != radius && Math.abs(zOff) != radius) { + continue; + } + + int x = preferredPos.getX() + xOff; + int z = preferredPos.getZ() + zOff; + for (int y = maxY; y >= minY + 1; y--) { + Vec3 safePos = tryFindSafePosition(entity, destination, new BlockPos(x, y, z)); + if (safePos != null && safePos.y >= minY && safePos.y <= maxY) { + return safePos; + } + } + } + } + } + return null; + } + private static void addCandidate(Set candidates, @Nullable BlockPos pos) { if (pos == null) { return; @@ -103,13 +152,13 @@ public final class PermanentPortalTeleporter { @Nullable private static Vec3 tryFindSafePosition(Entity entity, ServerLevel destination, BlockPos candidate) { Vec3 safe = DismountHelper.findSafeDismountLocation(entity.getType(), destination, candidate, true); - if (safe != null) { + if (safe != null && isValidArrivalPosition(destination, safe)) { return safe; } for (Direction direction : Direction.Plane.HORIZONTAL) { safe = DismountHelper.findSafeDismountLocation(entity.getType(), destination, candidate.relative(direction), true); - if (safe != null) { + if (safe != null && isValidArrivalPosition(destination, safe)) { return safe; } } @@ -134,7 +183,60 @@ public final class PermanentPortalTeleporter { } @Nullable - private static Entity moveEntity(Entity entity, ServerLevel destination, Vec3 destinationPos) { + private static PermanentPortalShape createReturnPortal(ServerLevel destination, Vec3 safePos, PermanentPortalType type) { + BlockPos preferred = BlockPos.containing(safePos); + int minY = destination.getMinBuildHeight() + 2; + int maxY = destination.getMaxBuildHeight() - 4; + int clampedY = Mth.clamp(preferred.getY(), minY, maxY); + + for (int radius = 0; radius <= 4; radius++) { + for (int xOff = -radius; xOff <= radius; xOff++) { + for (int zOff = -radius; zOff <= radius; zOff++) { + if (radius > 0 && Math.abs(xOff) != radius && Math.abs(zOff) != radius) { + continue; + } + + BlockPos anchor = new BlockPos(preferred.getX() + xOff, clampedY, preferred.getZ() + zOff); + PermanentPortalShape xShape = PermanentPortalShape.create(destination, anchor, type, Direction.Axis.X); + if (xShape != null) { + return xShape; + } + PermanentPortalShape zShape = PermanentPortalShape.create(destination, anchor, type, Direction.Axis.Z); + if (zShape != null) { + return zShape; + } + } + } + } + + return null; + } + + @Nullable + private static int[] getDimensionYRange(ServerLevel destination) { + ResourceKey dim = destination.dimension(); + if (dim == AntarchySettings.termiteDestinationDimension()) { + return new int[]{100, 200}; + } + if (dim == AntarchySettings.brownAntDestinationDimension()) { + return new int[]{75, 120}; + } + return null; + } + + private static boolean isValidArrivalPosition(ServerLevel destination, Vec3 safePos) { + BlockPos standPos = BlockPos.containing(safePos); + if (destination.dimension() == AntarchySettings.termiteDestinationDimension() + || destination.dimension() == AntarchySettings.redAntDestinationDimension()) { + return !destination.getBlockState(standPos.below()).is(net.minecraft.world.level.block.Blocks.BEDROCK); + } + return true; + } + + @Nullable + private static Entity moveEntity(Entity entity, DimensionTransition transition) { + ServerLevel destination = transition.newLevel(); + Vec3 destinationPos = transition.pos(); if (entity instanceof ServerPlayer player) { player.teleportTo(destination, destinationPos.x, destinationPos.y, destinationPos.z, player.getYRot(), player.getXRot()); return player; @@ -145,6 +247,6 @@ public final class PermanentPortalTeleporter { return entity; } - return entity.changeDimension(new DimensionTransition(destination, destinationPos, Vec3.ZERO, entity.getYRot(), entity.getXRot(), DimensionTransition.DO_NOTHING)); + return entity.changeDimension(transition); } } diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/FlintAndSteelPortalIgnitionMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/FlintAndSteelPortalIgnitionMixin.java new file mode 100644 index 00000000..58bb411b --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/FlintAndSteelPortalIgnitionMixin.java @@ -0,0 +1,53 @@ +package com.craisinlord.antarchy.mixins; + +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.portal.PermanentPortalManager; +import com.craisinlord.antarchy.content.portal.PermanentPortalType; +import net.minecraft.core.BlockPos; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.FlintAndSteelItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(FlintAndSteelItem.class) +public abstract class FlintAndSteelPortalIgnitionMixin { + @Inject(method = "useOn", at = @At("HEAD"), cancellable = true) + private void antarchy$ignitePermanentPortal(UseOnContext context, CallbackInfoReturnable cir) { + if (!AntarchySettings.permanentPortalsEnabled() || !AntarchySettings.permanentPortalsFlintAndSteelEnabled()) { + return; + } + + Level level = context.getLevel(); + BlockPos clickedPos = context.getClickedPos(); + BlockState clickedState = level.getBlockState(clickedPos); + + for (PermanentPortalType type : PermanentPortalType.values()) { + if (!type.isEnabled() || !clickedState.is(type.frameTag())) { + continue; + } + if (!PermanentPortalManager.tryIgnitePortal(level, clickedPos, type)) { + continue; + } + + if (!level.isClientSide() && context.getPlayer() != null) { + ItemStack stack = context.getItemInHand(); + stack.hurtAndBreak(1, context.getPlayer(), handToSlot(context.getHand())); + } + + cir.setReturnValue(InteractionResult.sidedSuccess(level.isClientSide())); + return; + } + } + + private static EquipmentSlot handToSlot(InteractionHand hand) { + return hand == InteractionHand.MAIN_HAND ? EquipmentSlot.MAINHAND : EquipmentSlot.OFFHAND; + } +} diff --git a/common/src/main/resources/antarchy-common.mixins.json b/common/src/main/resources/antarchy-common.mixins.json index f9a8a757..2a281ed4 100644 --- a/common/src/main/resources/antarchy-common.mixins.json +++ b/common/src/main/resources/antarchy-common.mixins.json @@ -13,6 +13,7 @@ "DreamSandLowGravityMixin", "FireVisualBaseFireBlockMixin", "FireVisualEntityMixin", + "FlintAndSteelPortalIgnitionMixin", "GlowVinesUnderLeavesMixin", "NightmareSwordDamageMixin", "ServerPlayerGameModeMixin", diff --git a/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json b/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json index 8e16dbbb..074a5581 100644 --- a/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/dorrie.geo.json @@ -5,7 +5,7 @@ "description": { "identifier": "geometry.unknown", "texture_width": 128, - "texture_height": 128, + "texture_height": 256, "visible_bounds_width": 7, "visible_bounds_height": 4.5, "visible_bounds_offset": [0, 1.75, 0] diff --git a/common/src/main/resources/assets/antarchy/textures/entity/dorrie.png b/common/src/main/resources/assets/antarchy/textures/entity/dorrie.png index e47505920fe3b23dd606d8749bbd2072c97e8d53..98b9b53cd012d77bff2a126a7a95532d4070831c 100644 GIT binary patch literal 9723 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 literal 8734 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 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png b/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png index b9f008158eb729c55c83cbd6d1bf92ab290e29f3..8df880c91e9eb944bd0d2a499c63d843da54164f 100644 GIT binary patch delta 11252 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 delta 11283 zcmW++cOaDiAHO?}IGk)><0yNRZ0>|)9wEvei4xiC+;fu5%rY`dQIQqOJjs@o%I30l z*4gX$UB7?tx%cb+{(N4q=ks}w=eb>(U5YYrJFNKLogcBO?H6=$a`Y_BIUQW7W4aPI zx*^mOcjewg(#P79qORe_oW#ZgrSKRh`69kh``5*3=h_lJvL@ zitY}1DCW3d|9eq()4v4h&n^w0J!?2=Zjp#MIZ(&1OW|i#4_Zz#vQ7BT8qYd?YG=Lx z%T^x;&rf;iF-x2F_GZ;QEn(qAqtBI?3R&qU1^oR9_n{`a1vICpKrXR;b&`}LzD>>4B>h-l z@|m@0s?ljo?}YI4xXMU>mlCne;oWi`M7k|7hS^3|zTCUHx$ypN`Z?}9pX55d!07z*4290LAA}AGBGCJw3eBqfrW>h*@h}qTK+2S~r^R$~4Wje^T^(T4r`A`F& zz33)KGWNfrT9DKu-imn%2+T94DAf(aehsm2rSz=qfPLi-DCk@`bHiFHzcX~}NBGJ{ zMts5xt+hi=NAk7)a;L6*#C&X2Fv7(;N{P@zx|=c*!wX+5kNw0m{RvqmJhS-qmb+ z_&m$;gv%{LPqC|GtJDXY7{#v{9alPH?o(+#fuF-Bl#}LC4Lr0beQp}KMedjKR;z7^ zuVqAxrM^1Biu4z9%(x(T``=QBRQuS6yXza~>q1T>hQPLQ%aTuRTp;<0_!fVSWqZ$J z`g%q@cBl%}*?a;B4>}23`b|IJRXM#u+9-S+{v#TV&Rh$>b*(lspD!GHdYP#u@rK)N z2k+qOPpuqS(yI8wnTSqS;LLxS<@=^#hqz#*sb5Q3m3E7z8DP-;!S;jL4 zZrn-^af|f3sktL|*=x93^LA26lT!bUM4^sUVz*WoRjKHpuwTlJMw@Cd`Z_J_p{*8% zJ<4Xmg?M?>e+tvZ+B&CpwxjJK$)KPvAM&t*WynFWg)1oVMY5}=+1uqV$6PzvRAvQ( zgWna(p}k_jg6(pfA}NYp8+zFwO_;KfxK>LSVU?h|_PL&wu}Wx*ORTWS^!=iLJh=wf z`k*FCTH}-$WW;71E0~d=pSjVlTXFgdsU3VxH)!bk4c;c0hXpODesHUwF=tHj zkE=-+{ypF>`iHVbuHQ1?j)jhr0aCadk6QXjK$_{jAr8ds=EibYfvm);N5zE`$_CWq zsSV48mbX7Bsqfd@S2Rr%V>4|kKMAYTa`RO#jyyQ^od}e|t=P1o*O7Tl(?Jbij4JM| zRocs1DhSu+t~HRVTn8%#iqog$H@;-r1+nBsB_=W2uJ7TJpq2N0PkI~u)0oN|tB5WD z=YHc!m!_}5b7O<`650LJ!-ILwx}e$x!)mt}Ui9@Ykp*Jpz}fGs{#Ww0I)c|;_V~_M z$P7?l!;SWsm(|F-J5TBcI`KGKb1GTLz$_n6E24a_ApKsI(H=l-Twb22m0TZ zJuSpGw>u;&J#YYVyd6o`I99Vf>e!nsnpQ&=-1#sP?b!bQQx3<`%k)-SHsE?{#cgoz z2o~#|D$F7q8Q7)T$h$VSGmnnZ7tCLHkzU59&il(95gT+EgL%37k{ze_OgF5lY0EOr z5~Fa)U`@`1Glpa71>F|F28lvOQXZVLJCrNpol+<&$8iF6{_!^W#!ScZhB1q0v!)An z6pclGl_lrVTJWtzY9h~ox!4j$UvkFx!^#JOKBD}LVvweG&Y(UYo*3kGjqBnxYPNj+ zX~a2U>9;?ykESQg?)Kb*9fpd^6`E{Jx8dr7nE+DfEtrtmwv^o29=efr@(Lw-0j9Hr zl6~RBY1;j_JR1#{$TJT!*$>xk^Ha}=9|y&>hW_f5gAtE}@xa;O{@Vl0w%f7ws4RQP ziGFf1{G8MQ{r;9o{&S%-ClU8l%4;ZPnD*Lr_)_hE?=-=fmF-CNP2=*aNY{_wRteu| zM~Y(5oQTo={L{1WB(}|2^`}&8np#P8D#f+)zSYWEO(g=JIQS%140(p*9G$;UUP0q8 zq9?z&B)-c`2ReQDZ8?`Hy;C2f_HOWCV4k$Fe54jxMO_ogKej{V zs}?Zw`9qG5IViM5-Z#N4$eYj6Fono4Bh)t7Zd|ig3Kz&^NKsrrr7>-^eo~+^2X-Wb zv|@a@9TR_jd4}}*-gheCroGxG>o!a)5$Xa~kI){w1(=694Z_H48jvA2gBAcgafcJ zfhuMU5m3hN$RVmh_FKQdhS_jBA=E4##bPs0(gLZ%vCf%Yu<_$>FiRFX3Mlgz0%%ww{IOV)i3Kz0Bm>lKTY+vPmIP zhwwT7-@*a~g>iHq)+tduB3l`9WA>_JAU+N3>^%B#JQG9eQ1(PhMe0+r*j-;4s$5Qn zKc5dTolr@nO@wdz&abwf;uy2=W521k7Cdlv3}OcerD=*31RRu4%vTctNVmG8YAn-= zrEt4RIz6%bz+*8LX+UpuNwP&xdC@`V=`WhH`fU?>C2 zno>@4xKQU8W))RxTNx>5`_Vz5s5A&Hh1?AIcY6n91(BzyaM0# z;oX%7lq`7?XEnwu7g_zU`cyJG*&kLzHDXzZ+-cM3U-gNrR#IW>v9*We*7n%&$G~n= zBMSk%nSD~xe3bh9+g#g;qpxD*{AZ?JFRIigj2{b~TYkThLJQOG+R71FD+c=-{Zr*{ z=M7W1mtcYHjG7Ic2nlJm{!@|<+=E~R+_`~;R;FIx?W4qWS*+ljaw?ycsh!quJ+xvF z4&It|m3KQO>4`X{N=~XRaFFktm@?zl@kKvhoH53Ub*Q)$!k3lIg@b3|1K({6?{u1@ zc$(;-r|p*|qnd_3&*EHoj{V9~k`o3dOw`tYMuKVDk{q|HY~FQHtI?q%zrWE|KLENm z9j3JHP-(CJrQS~$-CYJ{C%z`Yk74$SQ4EP!n3eui@cHZ25}l?GtD+>-{o-Vzng&`- zt?wesynef6>mEtoyf`Mb3gO_Fx{tDDxPXK)Rt+7;#gSaQ_+OiJiVFOROnJ42LjbW# z9}r}{SqzS8EXp_G;?UD9$@^y*z%PZpVSlpkc=+j*yO{$o*H647e$EPK@Tf*iB&a8P zxflnnLhUjq+$nakbUBJmXJZ|SQ4x^2VJeWEdXU=pjbjl$7kPL*JWHQ}-_Pr6T_*WE z@G_5{x=Nc7i{N4MW&)A{w##W}Jz>yrvC~PtU!}8RYw-}~ZZ`I&XnXZlOq#|eCi8bA2lESN z$gArwwpjfG$v=JxVleStq7f*3=RFP8L{`k-u8>67RwqX{(8Z-d)_2TXiScd_)5i36 z+hBKomlU7x)|P01mGOJ7bQ>Ydv=&U&6-}!;9q4U6JXyrg>|}zqkavjn3LL4S7)L9@ z|B^sS`ks?D!lJ7&V?h`$U3_5GHO{)gpl{up-|5aZ^+4PyAP_UiKv&x`VKV(H2-EG) zgRj}>sssE}qSx<_S z7(7IGUD8j8Mw7gI(X<-e`Ha|2y(^xZ9g{!G^O6go3TjGg)~pfiI9;PAu%QSgtSvXQ ztK14|PU=zv;X#H3ombew8*LQutOrP!lrb*g@>yGn)Ei#6&Tk?i>)x@tMtxdBS#YuMa{A+4Z_c`A`LUN W7}Y=;(ays%*Hdp!ReJ<@tw;&9=SXPx;QGY`szQ0`;6vIg>|!&u zqZvc6J%yH5Kf zBtZ+8^o)-Y(;;w=r;60v*5^>bU6XSnE>MR#j30gg%-0d?K^Pjx$6xJ(m=v7+`yVg` z@cGLsg)%3UNc#%Jp|0Qi9HpcyKjird+JfRx!{E&<xZyn?et*SklvmZ#+O7Ikoga)vPYb3Dg;TkqZs+?gV%tpplM-ScDL~(jm0umO1QF=#P zXz91`)Al$Zp#KFeELSB+?dxe8 zjC=MXP|=_eg@!4mkSf#~)|tOP`SoBbvA3??yLsyqjja5UlW;po*y=G=8upJxaB<#p zzXc~nTG4#HncD4bL>S|LbR=n0NJtz48GLe+QfmJm-IiU$?z532afQn|R&E z!LB1E-yuTvFhwq``X8Nsq1l73Kg6GC2P>UBIAgq?4T`5nCCYeh5xGBc^n=W!k^#M1 z+jTd!klps14JZ5atDcV@Hy=+O5V$q67caRhL&v=CYv#Xt)f-vY+$lB5I4MKl`q(yv zj@ir>GP74NP0{S~=eNX`I(1E8$!c}gr@oc|tOGJ40-{CVJ}pvFO4H)8?2Lt3&?=%%`0^^%G4joi*=TzXM8I#FpRnI!e4>h_&g}xdeZ+MbIxs zA^49&);HNe2i$A^iXoLym#y~@&B~sLT6{oX!DsKYeNE|_wMIE$2~j7}SG2A`u+sjt>Z4KKz5E_wN7&#IVOP5`LMN=9hHg^}k+rOfXPl*hP?U zShh1r)V+bUFm;*cnxY0dwwSBTB2rc@W>KcU>Ac2*s#o<#Ye5XaP}e(cr?{u3TI6!- zkV01~OpQL6l|$dSgTOXKqrsgQBx+OR9prV1#x^>!lZnYbyHnh0IWus=mp+zVzUS3c z$x(`Rq-mnWbYb;)h}7RIPj&_hXD3FbkAL{1KQ2r@Q^)bjSqQfV|kk=r=LOo zWU-L>-^n%{w(7unZi^5l&B=hQp)R7j$H9EDf*Dy8$3vaV0?J)>PbsSS_HJm8nyc=z zvbp!2?O@KGI-UX*radd~^zp0jI{X=HnN_C_hl6!~J&r+RXXmt@Nl+X0H{L!)M5N~w)dL10Oq7c$dL;HNu^E*3DYvj` z-Jg0!#W^OXY2Adc8_lxLJ3aF~ZiMC+nw{;o&}%~m2n z{PpgWAZvKNu^>vum8#zO-^*BtcFGjxplH5($lTeAo^Zt{Tl{RXiYuVrWaBxCYB8w0 z%Y^SULFY~RNEKBd*-&Oz;+|+mmJ5-pn+gaD-U_VY%u$<_2pxrNHMFo|S}IsSs7d!} zVfMZ!zP=Dz&$sP+vj?osCZ!lK=^HPgUm_nbEV4qiOXs$mce*-O*^vyfhdHt38DC?7 z!P3AXV#(9y@VlY){WQIP^4bU-{P{!T#2PVx+?xQ84!gZ{r2KdBKRaOl^BsZ07(ktH zvWuf_ILvPxJtvg@(Bg_e-YUtA3>>UmZSQvGUFd|=GtHU|x^vmst#Ii0slUp>YZd0$ z-$wooB4wlWQ(Lu30zE7(;lBD4;eTA>gYo|k(J`7!G=BrVy4B60EOCMMHCOyjypN~q zzDpLz+FO}9ZzfFz)0*j*WhU|iy7tHO%OdCW282)WH4}Vj*UWBQ&Ou!PEic+($?9ve zVbe;yk^A;62eZFrtS{W?-n3UePwm#b9(^-|eXfzKGQbBtN>AxJ&td$4fM=GX(FNWbP4R3?2H6~-TGu3m!|_nJGx}0eB;S!e4RzBenYb^qy(ojz3W0f z_V?g@=B6P%JsWH6uL{6^%&18@AB5QUEbP$4#i=w1gMZPCDk-LIuz`F+o=AC(k@{V4 zNDUdN@KG{0yG*|GpfaKHx8=>0BDq1^ z9#BJ{2LxE{6Rnhp{oI?yuTW4TUS^cWZee@cm@heu2JB zY=P)-qJ(~=GHuL#Wz3!fMH58Iyj56oh`Er+6#ek5Y5oI*$5hl8`1=NZXV!?(VOidm zON(FrluQ2DoDRCZZTqzl?h847ypqfhplJfhi56M`U@kj0@JzpXt4XGd8FfHl>^$P5 z1dUJG4UL~2D|!^bq(`m+ETk*fpHGqLDxn85R)th`t=5UL!gX5RtK&Z=xtxohiGHhq zK9vFWK=nW(4}O3XoYK5*r5>)Ht zAU$|2X-+{PNxt(?NMs^Db7lYI~;SOwGFtx<9^MmtPRou4pX4kI>eRaZE?V<$ZXV znI`U#l7&;^X^r9iMbqL^dC|g4;bBC^$r4pPW8<&uU65{{o7*|;%2E?%SDoO_*EUk$ zFW5>c%r3(2Zyy3A+sT^*%~4sl^GDZCYwS$P-*W*_TZ}wLY~CLr0f}>n%B>OqPRpmH zY@Mkmi%?N{<_a^R{wpvASA{wdw9Fxc-r5Nj(xJz%wBc*u5 z64kb5<8(P&bu1O2(i;8KbM)B83vvumO4*q(6Ta-oNEsz4<9Ea9FrWGMc0>;g-8K&= zX)Op*6>6!i2Y==r7u<^aX%DID_Y0Y+dVOmmnYMf|GkL3&7PJ3dnS~=CZv6U(6IO15 zdPHx%VONYSVQ0+Ei5Gw9dcaP8zHE&C{2!g{!EhC*X&kV43IL)>4yQ3^2hns|enjqu z^T==aB1}zV%IDu@`YwhLU#&BKNq*$KwU!Jlq@7`S=g@)?WeRY1XuLYR-vs+9G zVv|14_ksKUpEe2lL4DB;NZ6gl-Xna@zNU zK#V>ADs}#6f`9rH)U|e15ek;Cg{P8DPKG`ICHz%_59IRyg~FiIwnNm+Pn2=$GQvc@ zOxEv6Hahw0dBIV`BZjf%>x#8gAtcrrP}vupxO<09+hlvZWuYEz6sdgLpUKQl(VFy= z{(`EqRut5!YdNkfeNVk@@ce5*ajX9Mj!8#F$_e;Brh6DWue9G>ftrO146`_FJWec^ z+WdJo%xR~XK3^Td`5h(mEjWHSc_Rt^_V?&{=>5PQXG&e{uohlLZYYdXJ2nZDo2RLCZ8V??H*S%az9@z9iOR@%T(Ijn7PbTNB^pE zk2?YDH5g)fZvQY{UXWFq8p#CKLS#lUyiSgl7D-tai1L++ohMV~maq+Sn;mQm#Tg+% z-84_O9WB06Nz8<0 z_J=*bS2Z8SkhU0``G!~IS{GBzzcO%pic?mEFF#Lfk8ce4^hGljthM067$1J_B(Av? zBd$rAbOx-=TnRZ$VuhZskVVsk^u08=8!Nx=u2vFP

eCo0cEZ58#RmDf4FZ%c6SeO4hnVwJV+`dsN@%AOGd*Wao}M@kB6G4LO|tgLp`-U3O>nHiDbUAq?e)vdY_eYQ0+fsTH>`bPn0>tl4I-(y%4^`wQXf^p}$iX8N7c(7Enos zQUstBMH}!ZDmg?352f$H`m+~K6|0_O*!mtuBp+biP5F2 zqzpNTc4WZ+RYH{O$T7`vcN*Ksh2|iU+;#$$_YwEt(XaauL9NMn6}w9^*a^bTO8#X(#v7+h<+K zh$P2L+NNVf#f*-l@xHesA2@`D!e);CA|66(A{lKr&qDX%`Nz;X(MM=mvOx6OFZNC5 zjJtEu4Dh0?O+)a7rN~6uE9HHJ35I|NP;wLrN8(<-pS~%|54UnUTmr&HFsp! zO)@u{1vEnsLUkBVPVLp>0sMFmSO;nwToz?-OQ;H(?@WKh6zw!Yx?_sOVjNvHsBI=Vrg>NG5p z5<$BPsWcL>!Klm0Qa6&rPY}jQfokg5S7eULcAm@yNu~oZcw75VK12xFspwI*rCtiU z#-(2d9rPVYs+Z%I{Dq#8b%>FdIlcewwJk>ZQPNKHdJ);$As9G*=BR4MyScI5yt8~2 zNr=R3=4*Ox=3n7*pYk1)`>?=cbQe74JoCPZR@&*-boWSQQmbt- zOW&R*mzr<~ejK#Wcu`|_=+8m}oF1~ZutpOJ`Kg>(&2@{uHF#F40Sdo?Q}+q}BiG$Z z3+xReR%TUPDC5ZgHVdn0Nqw^5(7Bxl8V>U95xDTk7q2~#@JDpqZ#K7lA(1W@#w!Ef zf|`^LDwpPc8l}l6%6VT;9M1N3^G743Lvj8OPu>@du73*}OTc4yOB~5O`iVV!7E`S8pZ!`|B`)#bHT zMr;~^R2FrE&eJSd?%gh zeWK4CE9O5+;Z*Jq*J^q1`S3>WHKe4gmG?rje)cHNZvfDjkQJc6xVK0g_ulZ{dAcWk z;rZ1ZiR5BXu|ysjT`Z0}8}$M{XuO1Q`KyhF9~Ogthd=GqXekDDHnkEpF%}@Arj9GW zqXo#-fw0HlB97b3eA&!%m-3o)xvbBZ{4rO(XvbAP$gxqXXg35_!|2LwN1K}EJ zGc_D528jq;xc+yKVt!}LfNqkl^^Mzo<9RQ7Cu5kpxN{C9>$&kWPaxL>oEYLPDs5*0 zO3$denEY8BcTslbP4okLrymMRb0iAv95k=ykqOxNPUm%vnPSlOrowcNa&eqN-&kxH z1vZu=;N~|)sNDN(p5ZSP@59$j?`KiGU-iHIU$6z}@||u2#u18lcW>Q!Z+a(PnCg4y zmy}KV{>)>_1OPMCr=)MpP@dm=)J;-`$}K=l8^S5UvJ}H32hx!HvxQW^1i+^J@*I#6V~>NwBp5jimK}mxtL}aWG|RZ;G*z z2yL#u1&B&!s^-g8sGM{*?<0N_@NWI15x|||y5?@p;E^J9X!)^8PAJ7XV_0i>gbh^y zQ+l{Wv9`T_l8d$gMaYcRWK&!}Gx=vC;@{56x(+Z5xMW&wEp}VtE z{1doult?y6Uac%RJZ(^)8qdEYOB&y diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyConfigModuleFabric.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyConfigModuleFabric.java index 07550736..be11f333 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyConfigModuleFabric.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyConfigModuleFabric.java @@ -170,6 +170,7 @@ public final class AntarchyConfigModuleFabric { return name.equals("disableInfinityBookPortalCreation") || name.equals("rainbowAntsLeadToInfinityDimensions") || name.equals("permanentPortalsEnabled") + || name.equals("permanentPortalsFlintAndSteelEnabled") || name.equals("elythiaPortalEnabled") || name.equals("thoraxisPortalEnabled") || name.equals("cavarynPortalEnabled") diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index f13309c6..c2e356a0 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -334,6 +334,7 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setDiamondMinecartMobDamageEnabled(AntarchyMiscConfig.diamondMinecartMobDamageEnabled()); AntarchySettings.setDiamondMinecartMaxMobDamage(AntarchyMiscConfig.diamondMinecartMaxMobDamage()); AntarchySettings.setPermanentPortalsEnabled(AntarchyMiscConfig.permanentPortalsEnabled()); + AntarchySettings.setPermanentPortalsFlintAndSteelEnabled(AntarchyMiscConfig.permanentPortalsFlintAndSteelEnabled()); AntarchySettings.setElythiaPortalEnabled(AntarchyMiscConfig.elythiaPortalEnabled()); AntarchySettings.setThoraxisPortalEnabled(AntarchyMiscConfig.thoraxisPortalEnabled()); AntarchySettings.setCavarynPortalEnabled(AntarchyMiscConfig.cavarynPortalEnabled()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java index ad704183..04369feb 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMiscConfig.java @@ -27,6 +27,7 @@ public final class AntarchyMiscConfig { // Permanent portals private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_ENABLED; + private static final ModConfigSpec.BooleanValue PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED; private static final ModConfigSpec.BooleanValue ELYTHIA_PORTAL_ENABLED; private static final ModConfigSpec.BooleanValue THORAXIS_PORTAL_ENABLED; private static final ModConfigSpec.BooleanValue CAVARYN_PORTAL_ENABLED; @@ -110,6 +111,7 @@ public final class AntarchyMiscConfig { b.push("permanentPortals"); PERMANENT_PORTALS_ENABLED = b.comment("Master toggle for sacrifice-activated permanent portals.").define("permanentPortalsEnabled", true); + PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED = b.comment("Whether flint and steel can ignite permanent portal frames.").define("permanentPortalsFlintAndSteelEnabled", false); ELYTHIA_PORTAL_ENABLED = b.comment("Whether mossy ouranwood wood portals to Elythia can activate and function.").define("elythiaPortalEnabled", true); THORAXIS_PORTAL_ENABLED = b.comment("Whether Nyxite portals to Thoraxis can activate and function.").define("thoraxisPortalEnabled", true); CAVARYN_PORTAL_ENABLED = b.comment("Whether Myrmite portals to Cavaryn can activate and function.").define("cavarynPortalEnabled", true); @@ -167,6 +169,7 @@ public final class AntarchyMiscConfig { static boolean disableInfinityBookPortalCreation() { return DISABLE_INFINITY_BOOK_PORTAL_CREATION.get(); } static boolean rainbowAntsLeadToInfinityDimensions() { return RAINBOW_ANTS_LEAD_TO_INFINITY_DIMENSIONS.get(); } public static boolean permanentPortalsEnabled() { return PERMANENT_PORTALS_ENABLED.get(); } + public static boolean permanentPortalsFlintAndSteelEnabled() { return PERMANENT_PORTALS_FLINT_AND_STEEL_ENABLED.get(); } public static boolean elythiaPortalEnabled() { return ELYTHIA_PORTAL_ENABLED.get(); } public static boolean thoraxisPortalEnabled() { return THORAXIS_PORTAL_ENABLED.get(); } public static boolean cavarynPortalEnabled() { return CAVARYN_PORTAL_ENABLED.get(); } From e74ee5733a053c340306483360dc9f9d299bea92 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Thu, 9 Jul 2026 15:27:37 -0500 Subject: [PATCH 12/13] Beta 7 Commit --- common/build.gradle | 7 +- .../antarchy/config/AntarchySettings.java | 9 +- .../antarchy/content/AntarchyObjects.java | 16 +- .../antarchy/content/AntarchyTags.java | 1 + .../antarchy/content/GlimmerParticles.java | 45 + .../content/block/BigBushPartBlock.java | 26 +- .../content/client/BigBushCameraHider.java | 56 - .../content/client/BigBushRenderHelper.java | 26 - .../client/model/EmperorScorpionModel.java | 6 +- .../content/client/model/GlimmerModel.java | 45 + .../content/client/model/NightmareModel.java | 3 + .../content/client/model/SpitBugModel.java | 23 - .../renderer/EmperorScorpionRenderer.java | 83 + .../client/renderer/GlimmerRenderer.java | 108 + .../client/renderer/NightmareRenderer.java | 35 + .../renderer/SpitBugProjectileRenderer.java | 73 - .../client/renderer/SpitBugRenderer.java | 14 - .../effect/GlimmersGraceMobEffect.java | 68 + .../antarchy/content/entity/DorrieEntity.java | 40 +- .../content/entity/EmperorScorpionEntity.java | 780 +++- .../content/entity/GlimmerEntity.java | 430 ++ .../content/entity/SpitBugEntity.java | 265 -- .../entity/SpitBugProjectileEntity.java | 172 - .../content/entity/kraken/KrakenEntity.java | 37 +- .../entity/multipart/MultipartFramework.java | 1 - .../content/item/BigBushBlockItem.java | 23 - .../content/portal/PermanentPortalShape.java | 2 +- .../portal/PermanentPortalTeleporter.java | 2 +- .../worldgen/BigBushWorldgenFeature.java | 73 - .../VeryTallGrassWorldgenFeature.java | 35 - .../worldgen/elythia/ElythiaFloraFeature.java | 20 +- .../BoneMealItemTorchflowerBushMixin.java | 53 - .../BoneMealItemVeryTallGrassMixin.java | 65 - .../mixins/TorchflowerBlockStateMixin.java | 23 - .../BlockRenderDispatcherBigBushMixin.java | 25 - .../LivingEntityRendererBigBushMixin.java | 54 - .../client/MountedVehicleCameraMixin.java | 4 +- .../resources/antarchy-common.mixins.json | 142 +- .../emperor_scorpion.animation.json | 1584 +++++++ .../animations/glimmer.animation.json | 1669 ++++++++ .../animations/glimmer_baby.animation.json | 1669 ++++++++ .../animations/spit_bug.animation.json | 2625 ------------ .../assets/antarchy/antarchy_logo.png | Bin 13091 -> 80619 bytes .../antarchy/blockstates/amber_lichen.json | 150 - .../blockstates/amber_moss_block.json | 7 - .../blockstates/amber_moss_carpet.json | 154 - .../antarchy/blockstates/bile_vein.json | 7 - .../antarchy/blockstates/broodstone.json | 7 - .../antarchy/blockstates/cavaryn_portal.json | 6 - .../antarchy/blockstates/chiten_block.json | 16 - .../antarchy/blockstates/chiten_spike.json | 14 - .../blockstates/creeping_horror_egg.json | 76 - .../antarchy/blockstates/creepvine.json | 120 - .../blockstates/lurking_terror_egg.json | 76 - .../assets/antarchy/blockstates/myrmite.json | 7 - .../antarchy/blockstates/termite_nest.json | 8 - .../assets/antarchy/geo/glimmer.geo.json | 104 + .../assets/antarchy/geo/glimmer_baby.geo.json | 102 + .../assets/antarchy/geo/spit_bug.geo.json | 231 -- .../resources/assets/antarchy/lang/en_us.json | 1573 ++++--- .../antarchy/models/block/amber_lichen.json | 17 - .../models/block/amber_moss_block.json | 6 - .../models/block/amber_moss_carpet.json | 6 - .../block/amber_moss_carpet_side_small.json | 6 - .../block/amber_moss_carpet_side_tall.json | 18 - .../antarchy/models/block/bile_vein.json | 6 - .../antarchy/models/block/broodstone.json | 6 - .../models/block/cavaryn_portal_x.json | 17 - .../models/block/cavaryn_portal_z.json | 17 - .../antarchy/models/block/chiten_block.json | 7 - .../models/block/chiten_spike_down_base.json | 6 - .../block/chiten_spike_down_frustum.json | 6 - .../block/chiten_spike_down_middle.json | 6 - .../models/block/chiten_spike_down_tip.json | 6 - .../block/chiten_spike_down_tip_merge.json | 6 - .../models/block/chiten_spike_up_base.json | 6 - .../models/block/chiten_spike_up_frustum.json | 6 - .../models/block/chiten_spike_up_middle.json | 6 - .../models/block/chiten_spike_up_tip.json | 6 - .../block/chiten_spike_up_tip_merge.json | 6 - .../models/block/creeping_horror_egg_1.json | 6 - .../models/block/creeping_horror_egg_2.json | 6 - .../models/block/creeping_horror_egg_3.json | 6 - .../models/block/creeping_horror_egg_4.json | 7 - .../antarchy/models/block/creepvine.json | 18 - .../models/block/lurking_terror_egg_1.json | 6 - .../models/block/lurking_terror_egg_2.json | 6 - .../models/block/lurking_terror_egg_3.json | 6 - .../models/block/lurking_terror_egg_4.json | 7 - .../assets/antarchy/models/block/myrmite.json | 6 - ...lightly_cracked_creeping_horror_egg_1.json | 6 - ...lightly_cracked_creeping_horror_egg_2.json | 6 - ...lightly_cracked_creeping_horror_egg_3.json | 6 - ...lightly_cracked_creeping_horror_egg_4.json | 7 - ...slightly_cracked_lurking_terror_egg_1.json | 6 - ...slightly_cracked_lurking_terror_egg_2.json | 6 - ...slightly_cracked_lurking_terror_egg_3.json | 6 - ...slightly_cracked_lurking_terror_egg_4.json | 7 - .../antarchy/models/block/termite_nest.json | 12 - .../very_cracked_creeping_horror_egg_1.json | 6 - .../very_cracked_creeping_horror_egg_2.json | 6 - .../very_cracked_creeping_horror_egg_3.json | 6 - .../very_cracked_creeping_horror_egg_4.json | 7 - .../very_cracked_lurking_terror_egg_1.json | 6 - .../very_cracked_lurking_terror_egg_2.json | 6 - .../very_cracked_lurking_terror_egg_3.json | 6 - .../very_cracked_lurking_terror_egg_4.json | 7 - .../antarchy/models/item/amber_lichen.json | 6 - .../models/item/amber_moss_block.json | 3 - .../models/item/amber_moss_carpet.json | 3 - .../antarchy/models/item/bile_vein.json | 3 - .../antarchy/models/item/broodstone.json | 3 - .../assets/antarchy/models/item/chiten.json | 6 - .../antarchy/models/item/chiten_block.json | 3 - .../antarchy/models/item/chiten_spike.json | 6 - .../models/item/creeping_horror_egg.json | 6 - .../antarchy/models/item/creepvine.json | 6 - ..._spawn_egg.json => glimmer_spawn_egg.json} | 0 .../models/item/lurking_terror_egg.json | 6 - .../assets/antarchy/models/item/myrmite.json | 3 - .../antarchy/models/item/termite_nest.json | 3 - .../resources/assets/antarchy/sounds.json | 3683 ++++++++--------- .../creeping_horror/creeping_horror_bite1.ogg | Bin 23450 -> 0 bytes .../creeping_horror/creeping_horror_bite2.ogg | Bin 23671 -> 0 bytes .../creeping_horror/creeping_horror_bite3.ogg | Bin 21421 -> 0 bytes .../creeping_horror/creeping_horror_bite4.ogg | Bin 25011 -> 0 bytes .../creeping_horror_growl1.ogg | Bin 16000 -> 0 bytes .../creeping_horror_growl2.ogg | Bin 7731 -> 0 bytes .../creeping_horror/creeping_horror_hurt1.ogg | Bin 14827 -> 0 bytes .../creeping_horror/creeping_horror_hurt2.ogg | Bin 11437 -> 0 bytes .../lurking_terror/lurking_terror_bite1.ogg | Bin 8568 -> 0 bytes .../lurking_terror_fly_loop.ogg | Bin 33914 -> 0 bytes .../lurking_terror/lurking_terror_hurt1.ogg | Bin 14827 -> 0 bytes .../lurking_terror/lurking_terror_hurt2.ogg | Bin 11437 -> 0 bytes .../lurking_terror/lurking_terror_snarl1.ogg | Bin 21519 -> 0 bytes .../lurking_terror/lurking_terror_snarl2.ogg | Bin 21836 -> 0 bytes .../block/amber_moss/amber_lichen.png | Bin 299 -> 0 bytes .../block/amber_moss/amber_moss_block.png | Bin 573 -> 0 bytes .../block/amber_moss/amber_moss_carpet.png | Bin 573 -> 0 bytes .../textures/block/broodstone/broodstone.png | Bin 468 -> 0 bytes .../textures/block/cavaryn_portal.png | Bin 22645 -> 0 bytes .../chiten_spike/chiten_spike_down_base.png | Bin 441 -> 0 bytes .../chiten_spike_down_frustum.png | Bin 408 -> 0 bytes .../chiten_spike/chiten_spike_down_middle.png | Bin 419 -> 0 bytes .../chiten_spike/chiten_spike_down_tip.png | Bin 276 -> 0 bytes .../chiten_spike_down_tip_merge.png | Bin 299 -> 0 bytes .../chiten_spike/chiten_spike_up_base.png | Bin 420 -> 0 bytes .../chiten_spike/chiten_spike_up_frustum.png | Bin 393 -> 0 bytes .../chiten_spike/chiten_spike_up_middle.png | Bin 424 -> 0 bytes .../chiten_spike/chiten_spike_up_tip.png | Bin 241 -> 0 bytes .../chiten_spike_up_tip_merge.png | Bin 279 -> 0 bytes .../creeping_horror_egg.png | Bin 465 -> 0 bytes .../creeping_horror_egg_slightly_cracked.png | Bin 525 -> 0 bytes .../creeping_horror_egg_very_cracked.png | Bin 523 -> 0 bytes .../antarchy/textures/block/creepvine.png | Bin 392 -> 0 bytes .../lurking_terror_egg/lurking_terror_egg.png | Bin 428 -> 0 bytes .../lurking_terror_egg_slightly_cracked.png | Bin 459 -> 0 bytes .../lurking_terror_egg_very_cracked.png | Bin 436 -> 0 bytes .../antarchy/textures/block/myrmite.png | Bin 488 -> 0 bytes .../antarchy/textures/entity/cloud_shark.png | Bin 9081 -> 0 bytes .../entity/cloud_shark/cloud_shark.png | Bin 7423 -> 9166 bytes .../antarchy/textures/entity/dorrie.png | Bin 9723 -> 9710 bytes .../textures/entity/dorrie_saddle.png | Bin 11796 -> 11784 bytes .../emperor_scorpion_harden.png | Bin 0 -> 15145 bytes .../textures/entity/glimmer/glimmer.png | Bin 0 -> 6317 bytes .../textures/entity/glimmer/glimmer_baby.png | Bin 0 -> 4623 bytes .../entity/glimmer/glimmer_baby_day.png | Bin 0 -> 4648 bytes .../entity/glimmer/glimmer_baby_emissive.png | Bin 0 -> 4575 bytes .../textures/entity/glimmer/glimmer_day.png | Bin 0 -> 6376 bytes .../entity/glimmer/glimmer_emissive.png | Bin 0 -> 6317 bytes .../antarchy/textures/entity/nightmare.png | Bin 19820 -> 19601 bytes .../textures/entity/nightmare_emissive.png | Bin 0 -> 6158 bytes .../antarchy/textures/entity/spit_bug.png | Bin 9538 -> 0 bytes .../assets/antarchy/textures/item/chiten.png | Bin 323 -> 0 bytes .../antarchy/textures/item/chiten_spike.png | Bin 241 -> 0 bytes .../textures/item/creeping_horror_egg.png | Bin 428 -> 0 bytes .../textures/item/lurking_terror_egg.png | Bin 307 -> 0 bytes .../textures/mob_effect/glimmers_grace.png | Bin 0 -> 355 bytes .../data/antarchy/dimension/cavaryn.json | 48 - .../loot_table/blocks/amber_lichen.json | 25 - .../loot_table/blocks/amber_moss_block.json | 20 - .../loot_table/blocks/amber_moss_carpet.json | 20 - .../antarchy/loot_table/blocks/big_bush.json | 66 - .../antarchy/loot_table/blocks/bile_vein.json | 20 - .../loot_table/blocks/broodstone.json | 20 - .../loot_table/blocks/chiten_block.json | 20 - .../loot_table/blocks/chiten_spike.json | 19 - .../blocks/creeping_horror_egg.json | 91 - .../antarchy/loot_table/blocks/creepvine.json | 25 - .../loot_table/blocks/lurking_terror_egg.json | 91 - .../antarchy/loot_table/blocks/myrmite.json | 20 - .../loot_table/blocks/torchflower_bush.json | 29 - .../loot_table/blocks/very_short_grass.json | 49 - .../loot_table/blocks/very_tall_grass.json | 65 - .../loot_table/entities/creeping_horror.json | 39 - .../loot_table/entities/jumpy_bug.json | 66 - .../loot_table/entities/lurking_terror.json | 39 - .../loot_table/entities/spit_bug.json | 39 - .../loot_table/entities/stink_bug.json | 25 - .../antarchy/recipe/amber_moss_carpet.json | 17 - .../recipe/bone_meal_from_chiten.json | 13 - .../data/antarchy/recipe/chiten_block.json | 18 - .../orange_dye_from_torchflower_bush.json | 13 - ...nium_ingot_from_raw_titanium_blasting.json | 2 +- ...nium_ingot_from_raw_titanium_smelting.json | 2 +- ...gget_from_raw_titanium_scrap_blasting.json | 2 +- ...gget_from_raw_titanium_scrap_smelting.json | 2 +- ...anium_ingot_from_raw_uranium_blasting.json | 2 +- ...anium_ingot_from_raw_uranium_smelting.json | 2 +- ...ugget_from_raw_uranium_scrap_blasting.json | 2 +- ...ugget_from_raw_uranium_scrap_smelting.json | 2 +- .../tags/block/amber_moss_replaceable.json | 8 - .../tags/block/cavaryn_portal_frames.json | 6 - .../data/antarchy/tags/item/glimmer_food.json | 9 + .../tags/item/hercules_beetle_food.json | 6 - .../antarchy/tags/item/rolly_polly_food.json | 7 - .../tags/item/termite_activation_items.json | 6 - .../tags/item/termite_breeding_foods.json | 21 - .../antarchy/tags/item/termite_foods.json | 4 - .../biome/big_bush_2x2_spawn_biomes.json | 10 - .../worldgen/biome/big_bush_spawn_biomes.json | 8 - .../tags/worldgen/biome/is_cavaryn.json | 7 - .../biome/mega_taiga_spawn_biomes.json | 7 - .../biome/very_short_grass_spawn_biomes.json | 19 - .../biome/very_tall_grass_spawn_biomes.json | 9 - .../worldgen/biome/brooding_tunnels.json | 72 - .../data/antarchy/worldgen/biome/cavaryn.json | 93 - .../worldgen/biome/elythia_meadow.json | 2 +- .../biome/fungal_ouranwood_forest.json | 2 +- .../worldgen/biome/ouranwood_forest.json | 2 +- .../antarchy/worldgen/biome/rolly_caves.json | 70 - .../biome/sparse_ouranwood_forest.json | 233 +- .../amber_moss_patch_bonemeal.json | 27 - .../amber_moss_vegetation.json | 18 - .../worldgen/configured_feature/big_bush.json | 25 - .../configured_feature/big_bush_2x2.json | 4 - .../configured_feature/big_bush_3x3.json | 4 - .../cavaryn_bile_cysts.json | 4 - .../cavaryn_bile_veins.json | 4 - .../cavaryn_chiten_spikes.json | 18 - .../configured_feature/cavaryn_creepvine.json | 4 - .../cavaryn_terror_egg_patch.json | 4 - .../cavaryn_wall_amber_moss.json | 4 - .../rolly_caves_amber_moss_patch.json | 65 - .../configured_feature/termite_nest.json | 14 - .../configured_feature/very_short_grass.json | 25 - .../configured_feature/very_tall_grass.json | 4 - .../density_function/cavaryn_custom.json | 107 - .../worldgen/noise_settings/cavaryn.json | 213 - .../worldgen/placed_feature/big_bush.json | 9 - .../worldgen/placed_feature/big_bush_2x2.json | 9 - .../worldgen/placed_feature/big_bush_3x3.json | 9 - .../brooding_tunnels_creepvine.json | 27 - .../cavaryn_amber_moss_patch.json | 27 - .../placed_feature/cavaryn_bile_cysts.json | 27 - .../placed_feature/cavaryn_bile_veins.json | 27 - .../placed_feature/cavaryn_chiten_spikes.json | 27 - .../placed_feature/cavaryn_creepvine.json | 27 - .../cavaryn_terror_egg_patch.json | 27 - .../cavaryn_wall_amber_moss.json | 27 - .../rolly_caves_amber_moss_patch.json | 27 - .../worldgen/placed_feature/termite_nest.json | 19 - .../placed_feature/very_short_grass.json | 9 - .../placed_feature/very_tall_grass.json | 9 - .../resources/data/c/tags/block/stones.json | 6 +- .../data/minecraft/tags/block/climbable.json | 9 +- .../data/minecraft/tags/block/dirt.json | 13 +- .../data/minecraft/tags/block/flowers.json | 3 +- .../minecraft/tags/block/mineable/hoe.json | 14 +- .../tags/block/mineable/pickaxe.json | 149 +- .../tags/block/needs_stone_tool.json | 44 +- .../minecraft/tags/block/sword_efficient.json | 6 +- .../minecraft/tags/block/tall_flowers.json | 3 +- .../data/minecraft/tags/block/vines.json | 9 +- .../minecraft/tags/entity_type/arthropod.json | 30 +- .../data/minecraft/tags/item/dirt.json | 13 +- .../data/minecraft/tags/item/flowers.json | 3 +- .../minecraft/tags/item/tall_flowers.json | 3 +- .../data/minecraft/tags/item/vines.json | 9 +- fabric/build.gradle | 7 + .../antarchy/fabric/AntarchyFabric.java | 67 +- .../fabric/AntarchyFabricContent.java | 262 +- .../antarchy/fabric/AntarchyFabricEvents.java | 6 - .../fabric/client/AntarchyFabricClient.java | 1 + .../client/AntarchyFabricClientBootstrap.java | 37 +- .../MultipartClientPartLevelRegistry.java | 37 + .../renderer/MultipartPartRenderer.java | 26 + .../FabricKrakenMultipartLayout.java | 65 + .../entity/multipart/MultipartPartEntity.java | 199 + .../MultipartServerPartLevelRegistry.java | 37 + .../client/MultipartClientSpawnMixin.java | 19 + .../MultipartEntityLevelRegistryMixin.java | 34 + .../MultipartEntityLevelRegistryMixin.java | 37 + .../AntarchyFabricClientNetworking.java | 20 + .../network/AntarchyFabricNetworking.java | 27 +- .../resources/antarchy-fabric.mixins.json | 5 +- fabric/src/main/resources/fabric.mod.json | 3 +- neoforge/build.gradle | 3 + .../AntarchyConfigModuleNeoforge.java | 1 + .../antarchy/neoforge/AntarchyMobsConfig.java | 12 +- .../antarchy/neoforge/AntarchyNeoforge.java | 39 +- .../client/AntarchyNeoForgeClient.java | 33 +- .../neoforge/client/BigBushHideHandler.java | 20 - .../registry/AntarchyNeoForgeEvents.java | 6 - .../registry/AntarchyNeoforgeBlocks.java | 55 +- .../AntarchyNeoforgeCreativeModeTabs.java | 26 +- .../registry/AntarchyNeoforgeEntites.java | 49 +- .../AntarchyNeoforgeEntityAttributes.java | 11 +- .../registry/AntarchyNeoforgeItems.java | 44 +- .../registry/AntarchyNeoforgeMisc.java | 32 +- .../AntarchyNeoforgeSpawnPlacements.java | 7 +- .../resources/META-INF/neoforge.mods.toml | 9 +- .../biome_modifier/ant_nests_in_forests.json | 15 +- .../neoforge/biome_modifier/big_bush.json | 8 - .../neoforge/biome_modifier/big_bush_2x2.json | 8 - .../neoforge/biome_modifier/big_bush_3x3.json | 8 - .../remove_glow_lichen_from_cavaryn.json | 8 - .../biome_modifier/very_short_grass.json | 8 - .../biome_modifier/very_tall_grass.json | 8 - .../sizeable_foliage-fabric-1.21.1-1.0.0.jar | Bin 0 -> 91386 bytes ...sizeable_foliage-neoforge-1.21.1-1.0.0.jar | Bin 0 -> 94235 bytes 321 files changed, 10199 insertions(+), 10966 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/GlimmerParticles.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/model/GlimmerModel.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/model/SpitBugModel.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/renderer/GlimmerRenderer.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugProjectileRenderer.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugRenderer.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/effect/GlimmersGraceMobEffect.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/entity/GlimmerEntity.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugEntity.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugProjectileEntity.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/TorchflowerBlockStateMixin.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java delete mode 100644 common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java create mode 100644 common/src/main/resources/assets/antarchy/animations/glimmer.animation.json create mode 100644 common/src/main/resources/assets/antarchy/animations/glimmer_baby.animation.json delete mode 100644 common/src/main/resources/assets/antarchy/animations/spit_bug.animation.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/amber_lichen.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/amber_moss_block.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/amber_moss_carpet.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/bile_vein.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/broodstone.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/chiten_block.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/chiten_spike.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/creeping_horror_egg.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/creepvine.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/lurking_terror_egg.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/myrmite.json delete mode 100644 common/src/main/resources/assets/antarchy/blockstates/termite_nest.json create mode 100644 common/src/main/resources/assets/antarchy/geo/glimmer.geo.json create mode 100644 common/src/main/resources/assets/antarchy/geo/glimmer_baby.geo.json delete mode 100644 common/src/main/resources/assets/antarchy/geo/spit_bug.geo.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/amber_lichen.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/amber_moss_block.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_small.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_tall.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/bile_vein.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/broodstone.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_block.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_base.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_frustum.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_middle.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip_merge.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_base.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_frustum.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_middle.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip_merge.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/creepvine.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/myrmite.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/termite_nest.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_1.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_2.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_3.json delete mode 100644 common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_4.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/amber_lichen.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/amber_moss_block.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/amber_moss_carpet.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/bile_vein.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/broodstone.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/chiten.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/chiten_block.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/chiten_spike.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/creeping_horror_egg.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/creepvine.json rename common/src/main/resources/assets/antarchy/models/item/{spit_bug_spawn_egg.json => glimmer_spawn_egg.json} (100%) delete mode 100644 common/src/main/resources/assets/antarchy/models/item/lurking_terror_egg.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/myrmite.json delete mode 100644 common/src/main/resources/assets/antarchy/models/item/termite_nest.json delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite2.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite3.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite4.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl2.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_hurt1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_hurt2.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_bite1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_fly_loop.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_hurt1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_hurt2.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_snarl1.ogg delete mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_snarl2.ogg delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/amber_moss/amber_lichen.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/amber_moss/amber_moss_block.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/amber_moss/amber_moss_carpet.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/broodstone/broodstone.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/cavaryn_portal.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_base.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_frustum.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_middle.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_tip.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_tip_merge.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_base.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_frustum.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_middle.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_tip.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_tip_merge.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/creeping_horror_egg/creeping_horror_egg.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/creeping_horror_egg/creeping_horror_egg_slightly_cracked.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/creeping_horror_egg/creeping_horror_egg_very_cracked.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/creepvine.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/lurking_terror_egg/lurking_terror_egg.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/lurking_terror_egg/lurking_terror_egg_slightly_cracked.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/lurking_terror_egg/lurking_terror_egg_very_cracked.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/block/myrmite.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_harden.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby_day.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby_emissive.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_day.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_emissive.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/nightmare_emissive.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/spit_bug.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/item/chiten.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/item/chiten_spike.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/item/creeping_horror_egg.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/item/lurking_terror_egg.png create mode 100644 common/src/main/resources/assets/antarchy/textures/mob_effect/glimmers_grace.png delete mode 100644 common/src/main/resources/data/antarchy/dimension/cavaryn.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/amber_lichen.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/amber_moss_block.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/amber_moss_carpet.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/big_bush.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/bile_vein.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/broodstone.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/chiten_block.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/chiten_spike.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/creeping_horror_egg.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/creepvine.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/lurking_terror_egg.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/myrmite.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/torchflower_bush.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/very_short_grass.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/blocks/very_tall_grass.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/creeping_horror.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/jumpy_bug.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/lurking_terror.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/spit_bug.json delete mode 100644 common/src/main/resources/data/antarchy/loot_table/entities/stink_bug.json delete mode 100644 common/src/main/resources/data/antarchy/recipe/amber_moss_carpet.json delete mode 100644 common/src/main/resources/data/antarchy/recipe/bone_meal_from_chiten.json delete mode 100644 common/src/main/resources/data/antarchy/recipe/chiten_block.json delete mode 100644 common/src/main/resources/data/antarchy/recipe/orange_dye_from_torchflower_bush.json delete mode 100644 common/src/main/resources/data/antarchy/tags/block/amber_moss_replaceable.json delete mode 100644 common/src/main/resources/data/antarchy/tags/block/cavaryn_portal_frames.json create mode 100644 common/src/main/resources/data/antarchy/tags/item/glimmer_food.json delete mode 100644 common/src/main/resources/data/antarchy/tags/item/hercules_beetle_food.json delete mode 100644 common/src/main/resources/data/antarchy/tags/item/rolly_polly_food.json delete mode 100644 common/src/main/resources/data/antarchy/tags/item/termite_activation_items.json delete mode 100644 common/src/main/resources/data/antarchy/tags/item/termite_breeding_foods.json delete mode 100644 common/src/main/resources/data/antarchy/tags/item/termite_foods.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/big_bush_2x2_spawn_biomes.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/big_bush_spawn_biomes.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/is_cavaryn.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/mega_taiga_spawn_biomes.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/very_short_grass_spawn_biomes.json delete mode 100644 common/src/main/resources/data/antarchy/tags/worldgen/biome/very_tall_grass_spawn_biomes.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/biome/brooding_tunnels.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/biome/cavaryn.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/biome/rolly_caves.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/amber_moss_patch_bonemeal.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/amber_moss_vegetation.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush_2x2.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/big_bush_3x3.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_bile_cysts.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_bile_veins.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_chiten_spikes.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_creepvine.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_terror_egg_patch.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/cavaryn_wall_amber_moss.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_amber_moss_patch.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/termite_nest.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/very_short_grass.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/very_tall_grass.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/density_function/cavaryn_custom.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/noise_settings/cavaryn.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush_2x2.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/big_bush_3x3.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/brooding_tunnels_creepvine.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_amber_moss_patch.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_bile_cysts.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_bile_veins.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_chiten_spikes.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_creepvine.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_terror_egg_patch.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/cavaryn_wall_amber_moss.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_amber_moss_patch.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/termite_nest.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/very_short_grass.json delete mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/very_tall_grass.json create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/client/multipart/MultipartClientPartLevelRegistry.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/client/renderer/MultipartPartRenderer.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/FabricKrakenMultipartLayout.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartPartEntity.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartServerPartLevelRegistry.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartClientSpawnMixin.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartEntityLevelRegistryMixin.java create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/entity/MultipartEntityLevelRegistryMixin.java delete mode 100644 neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/remove_glow_lichen_from_cavaryn.json delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json create mode 100644 sizeable_foliage_jars/sizeable_foliage-fabric-1.21.1-1.0.0.jar create mode 100644 sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar diff --git a/common/build.gradle b/common/build.gradle index 2d4e3714..26b5e534 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -27,7 +27,12 @@ dependencies { // compileOnly(files("$rootDir/infinite_dimensions_jars/soul-fire-d-neoforge-1.21-6.1.0.jar")) // compileOnly(files("$rootDir/infinite_dimensions_jars/prometheus-neoforge-1.21-1.2.5.jar")) compileOnly(files("$rootDir/infinite_dimensions_jars/sable-neoforge-1.21.1-2.0.3.jar")) - compileOnly(files("$rootDir/infinite_dimensions_jars/antarchy-1.0.0+1.21.1-neoforge.jar")) +// compileOnly(files("$rootDir/infinite_dimensions_jars/antarchy-1.0.0+1.21.1-neoforge.jar")) + // NeoForge jar (not fabric) — sizeable_foliage's fabric jar is intermediary-mapped + // (Fabric remaps to intermediary for shipping, not official names), which common's + // official-Mojang-mapped compile can't resolve directly. NeoForge jars use official + // names throughout, so this is the one common can safely compile against. + compileOnly(files("$rootDir/sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar")) compileOnly("software.bernie.geckolib:geckolib-neoforge-${minecraft_version}:${geckolib_version}") // // compileOnly group: 'org.ow2.asm', name: 'asm-tree', version: '9.4' diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index db23fffd..1af8f10f 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -162,7 +162,7 @@ public final class AntarchySettings { private static int basiliskSpawnMaxLightLevel = 5; private static double basiliskHealth = 150.0D; private static double basiliskAttackDamage = 36.0D; - private static double basiliskMovementSpeed = 0.225D; + private static double basiliskMovementSpeed = 0.18D; private static double basiliskArmor = 6.0D; private static double basiliskKnockbackResistance = 0.5D; private static double basiliskFollowRange = 28.0D; @@ -239,10 +239,10 @@ public final class AntarchySettings { private static final int reverieAmbientTargetMaxAgeTicks = 40; private static final int reverieAmbientPulseIntervalMinTicks = 12; private static final int reverieAmbientPulseIntervalMaxTicks = 19; - private static double emperorScorpionHealth = 400.0D; + private static double emperorScorpionHealth = 300.0D; private static double emperorScorpionAttackDamage = 28.0D; private static double emperorScorpionMovementSpeed = 0.384D; - private static double emperorScorpionArmor = 25.0D; + private static double emperorScorpionArmor = 22.0D; private static double emperorScorpionKnockbackResistance = 0.8D; private static double emperorScorpionFollowRange = 40.0D; private static int emperorScorpionXpReward = 25; @@ -490,6 +490,7 @@ public final class AntarchySettings { private static double herculesBeetleHealth = 500.0D; private static double herculesBeetleAttackDamage = 30.0D; private static double herculesBeetleChargeDamage = 40.0D; + private static double glimmerHealth = 20.0D; private AntarchySettings() { } @@ -2547,4 +2548,6 @@ public final class AntarchySettings { public static double herculesBeetleChargeDamage() { return herculesBeetleChargeDamage; } public static void setHerculesBeetleChargeDamage(double v) { herculesBeetleChargeDamage = v; } public static void setDorrieHealth(double v) { dorrieHealth = v; } + public static double glimmerHealth() { return glimmerHealth; } + public static void setGlimmerHealth(double v) { glimmerHealth = v; } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyObjects.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyObjects.java index b139b9da..20caefd9 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyObjects.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyObjects.java @@ -99,6 +99,10 @@ public final class AntarchyObjects { @SuppressWarnings("unchecked") public static Supplier> HERCULES_BEETLE = (Supplier>) UNBOUND; @SuppressWarnings("unchecked") + public static Supplier> GLIMMER = (Supplier>) UNBOUND; + @SuppressWarnings("unchecked") + public static Supplier> GLIMMERS_GRACE = (Supplier>) UNBOUND; + @SuppressWarnings("unchecked") public static Supplier CHEEP_ITEM = (Supplier) UNBOUND; @SuppressWarnings("unchecked") public static Supplier DUPLICATOR_LOG = (Supplier) UNBOUND; @@ -211,8 +215,6 @@ public final class AntarchyObjects { @SuppressWarnings("unchecked") public static Supplier PINK_MILKWEED = (Supplier) UNBOUND; @SuppressWarnings("unchecked") - public static Supplier TORCHFLOWER_BUSH = (Supplier) UNBOUND; - @SuppressWarnings("unchecked") public static Supplier BED_BUG_EGG = (Supplier) UNBOUND; @SuppressWarnings("unchecked") public static Supplier CREEPING_HORROR_EGGS = (Supplier) UNBOUND; @@ -319,7 +321,6 @@ public final class AntarchyObjects { Supplier mossyOuranwoodWood, Supplier orangeMilkweed, Supplier pinkMilkweed, - Supplier torchflowerBush, Supplier bedBugEggs, Supplier creepingHorrorEggs, Supplier lurkingTerrorEggs, @@ -413,7 +414,6 @@ public final class AntarchyObjects { MOSSY_OURANWOOD_WOOD = mossyOuranwoodWood; ORANGE_MILKWEED = orangeMilkweed; PINK_MILKWEED = pinkMilkweed; - TORCHFLOWER_BUSH = torchflowerBush; BED_BUG_EGG = bedBugEggs; CREEPING_HORROR_EGGS = creepingHorrorEggs; LURKING_TERROR_EGGS = lurkingTerrorEggs; @@ -444,6 +444,14 @@ public final class AntarchyObjects { HERCULES_BEETLE = supplier; } + public static void setGlimmer(Supplier> supplier) { + GLIMMER = supplier; + } + + public static void setGlimmersGrace(Supplier> supplier) { + GLIMMERS_GRACE = supplier; + } + public static BlockBehaviour.Properties shellstoneProperties() { return BlockBehaviour.Properties.ofFullCopy(Blocks.STONE).requiresCorrectToolForDrops(); } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java index cc7c90ff..ae5cd781 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java @@ -94,6 +94,7 @@ public final class AntarchyTags { public static final TagKey REVERIE_DUPLICATION_ITEMS = TagKey.create(Registries.ITEM, id("reverie_duplication_items")); public static final TagKey HERCULES_BEETLE_FOOD = TagKey.create(Registries.ITEM, id("hercules_beetle_food")); public static final TagKey ROLLY_POLLY_FOOD = TagKey.create(Registries.ITEM, id("rolly_polly_food")); + public static final TagKey GLIMMER_FOOD = TagKey.create(Registries.ITEM, id("glimmer_food")); private Items() { } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/GlimmerParticles.java b/common/src/main/java/com/craisinlord/antarchy/content/GlimmerParticles.java new file mode 100644 index 00000000..4be4e240 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/GlimmerParticles.java @@ -0,0 +1,45 @@ +package com.craisinlord.antarchy.content; + +import net.minecraft.core.particles.DustParticleOptions; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.phys.Vec3; +import org.joml.Vector3f; + +public final class GlimmerParticles { + private static final int AMBIENT_INTERVAL_TICKS = 6; + private static final DustParticleOptions AMBIENT = new DustParticleOptions(new Vector3f(0.55F, 0.85F, 1.0F), 0.9F); + private static final DustParticleOptions TRAIL = new DustParticleOptions(new Vector3f(0.6F, 0.9F, 1.0F), 1.1F); + + private GlimmerParticles() { + } + + public static void tickAmbient(LivingEntity entity, boolean running) { + if (!(entity.level() instanceof ServerLevel serverLevel)) { + return; + } + if (!entity.isAlive() || entity.tickCount % AMBIENT_INTERVAL_TICKS != 0) { + return; + } + + int count = running ? 2 : 1; + serverLevel.sendParticles( + AMBIENT, + entity.getRandomX(0.6D), + entity.getY(0.3D) + entity.getBbHeight() * 0.6D, + entity.getRandomZ(0.6D), + count, + 0.15D, + 0.2D, + 0.15D, + 0.0D + ); + + Vec3 motion = entity.getDeltaMovement(); + if (running && motion.horizontalDistanceSqr() > 1.0E-4D) { + Vec3 direction = new Vec3(motion.x, 0.0D, motion.z).normalize(); + Vec3 behind = entity.position().subtract(direction.scale(0.4D)).add(0.0D, 0.15D, 0.0D); + serverLevel.sendParticles(TRAIL, behind.x, behind.y, behind.z, 1, 0.05D, 0.05D, 0.05D, 0.0D); + } + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java index a57ff233..56a0731e 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/block/BigBushPartBlock.java @@ -15,6 +15,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BonemealableBlock; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -31,7 +32,7 @@ import org.jetbrains.annotations.Nullable; * part directly two above the origin of a stage-3 bush renders the top slice of * the oversized cross model */ -public class BigBushPartBlock extends Block { +public class BigBushPartBlock extends Block implements BonemealableBlock { public static final MapCodec CODEC = Block.simpleCodec(BigBushPartBlock::new); public static final BooleanProperty CAP = BooleanProperty.create("cap"); @@ -123,6 +124,29 @@ public class BigBushPartBlock extends Block { } } + /** Bonemeal applied to any part of a growing bush grows the whole thing, same as clicking the origin. */ + @Override + public boolean isValidBonemealTarget(LevelReader level, BlockPos pos, BlockState state) { + BlockPos origin = findOrigin(level, pos); + return origin != null && level.getBlockState(origin).getBlock() instanceof BigBushBlock bigBush + && bigBush.isValidBonemealTarget(level, origin, level.getBlockState(origin)); + } + + @Override + public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos, BlockState state) { + BlockPos origin = findOrigin(level, pos); + return origin != null && level.getBlockState(origin).getBlock() instanceof BigBushBlock bigBush + && bigBush.isBonemealSuccess(level, random, origin, level.getBlockState(origin)); + } + + @Override + public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) { + BlockPos origin = findOrigin(level, pos); + if (origin != null && level.getBlockState(origin).getBlock() instanceof BigBushBlock bigBush) { + bigBush.performBonemeal(level, random, origin, level.getBlockState(origin)); + } + } + @Override protected ItemInteractionResult useItemOn( ItemStack stack, diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java deleted file mode 100644 index b91991b9..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushCameraHider.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.craisinlord.antarchy.content.client; - -import com.craisinlord.antarchy.content.block.BigBushBlock; -import com.craisinlord.antarchy.content.block.BigBushPartBlock; -import net.minecraft.client.Minecraft; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.Vec3; - -import java.util.Objects; - -public final class BigBushCameraHider { - private static BlockPos hiddenOrigin; - - private BigBushCameraHider() { - } - - public static void update(Minecraft mc) { - BlockPos newOrigin = null; - if (mc.level != null && mc.player != null) { - Vec3 cameraPos = mc.gameRenderer.getMainCamera().getPosition(); - BlockPos pos = BlockPos.containing(cameraPos); - BlockState state = mc.level.getBlockState(pos); - if (state.getBlock() instanceof BigBushBlock && state.getValue(BigBushBlock.AGE) > 0) { - newOrigin = pos; - } else if (state.getBlock() instanceof BigBushPartBlock) { - newOrigin = BigBushPartBlock.findOrigin(mc.level, pos); - } - } - if (!Objects.equals(newOrigin, hiddenOrigin)) { - BlockPos previous = hiddenOrigin; - hiddenOrigin = newOrigin; - markDirty(mc, previous); - markDirty(mc, newOrigin); - } - } - - private static void markDirty(Minecraft mc, BlockPos origin) { - if (origin != null && mc.levelRenderer != null) { - mc.levelRenderer.setBlocksDirty( - origin.getX() - 2, origin.getY() - 1, origin.getZ() - 2, - origin.getX() + 2, origin.getY() + 3, origin.getZ() + 2); - } - } - - public static boolean shouldFade(BlockPos pos) { - BlockPos origin = hiddenOrigin; - if (origin == null) { - return false; - } - return Math.abs(pos.getX() - origin.getX()) <= 1 - && Math.abs(pos.getZ() - origin.getZ()) <= 1 - && pos.getY() >= origin.getY() - && pos.getY() <= origin.getY() + 2; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java b/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java deleted file mode 100644 index 8a7f1aca..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/BigBushRenderHelper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.craisinlord.antarchy.content.client; - -import com.craisinlord.antarchy.content.block.BigBushBlock; -import com.craisinlord.antarchy.content.block.BigBushPartBlock; -import net.minecraft.core.BlockPos; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.state.BlockState; - -public final class BigBushRenderHelper { - private BigBushRenderHelper() { - } - - public static boolean isInsideBigBush(LivingEntity entity) { - Level level = entity.level(); - return isBush(level, entity.blockPosition()) || isBush(level, BlockPos.containing(entity.getEyePosition())); - } - - private static boolean isBush(Level level, BlockPos pos) { - BlockState state = level.getBlockState(pos); - if (state.getBlock() instanceof BigBushPartBlock) { - return true; - } - return state.getBlock() instanceof BigBushBlock && state.getValue(BigBushBlock.AGE) > 0; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java index c7dd6671..bc9e0f25 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java @@ -6,6 +6,10 @@ import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; public class EmperorScorpionModel extends GeoModel { + public static final ResourceLocation NORMAL_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion.png"); + public static final ResourceLocation HARDEN_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion_harden.png"); public static final ResourceLocation EMISSIVE_TEXTURE = ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion_emissive.png"); @@ -17,7 +21,7 @@ public class EmperorScorpionModel extends GeoModel { @Override public ResourceLocation getTextureResource(EmperorScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion.png"); + return NORMAL_TEXTURE; } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/GlimmerModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/GlimmerModel.java new file mode 100644 index 00000000..b17874e3 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/GlimmerModel.java @@ -0,0 +1,45 @@ +package com.craisinlord.antarchy.content.client.model; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.GlimmerEntity; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.model.GeoModel; + +public class GlimmerModel extends GeoModel { + private static final ResourceLocation ADULT_GEO = rl("geo/glimmer.geo.json"); + private static final ResourceLocation BABY_GEO = rl("geo/glimmer_baby.geo.json"); + private static final ResourceLocation ADULT_ANIM = rl("animations/glimmer.animation.json"); + private static final ResourceLocation BABY_ANIM = rl("animations/glimmer_baby.animation.json"); + private static final ResourceLocation ADULT_DAY = rl("textures/entity/glimmer/glimmer_day.png"); + private static final ResourceLocation ADULT_NIGHT = rl("textures/entity/glimmer/glimmer.png"); + private static final ResourceLocation BABY_DAY = rl("textures/entity/glimmer/glimmer_baby_day.png"); + private static final ResourceLocation BABY_NIGHT = rl("textures/entity/glimmer/glimmer_baby.png"); + public static final ResourceLocation ADULT_EMISSIVE = rl("textures/entity/glimmer/glimmer_emissive.png"); + public static final ResourceLocation BABY_EMISSIVE = rl("textures/entity/glimmer/glimmer_baby_emissive.png"); + + private static ResourceLocation rl(String path) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, path); + } + + @Override + public ResourceLocation getModelResource(GlimmerEntity animatable) { + return animatable.isBaby() ? BABY_GEO : ADULT_GEO; + } + + @Override + public ResourceLocation getAnimationResource(GlimmerEntity animatable) { + return animatable.isBaby() ? BABY_ANIM : ADULT_ANIM; + } + + @Override + public ResourceLocation getTextureResource(GlimmerEntity animatable) { + return textureFor(animatable, animatable.getGlowBlend(0.0F) >= 0.5F); + } + + public static ResourceLocation textureFor(GlimmerEntity animatable, boolean glowing) { + if (animatable.isBaby()) { + return glowing ? BABY_NIGHT : BABY_DAY; + } + return glowing ? ADULT_NIGHT : ADULT_DAY; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/NightmareModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/NightmareModel.java index a412667a..0b88a76c 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/NightmareModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/NightmareModel.java @@ -6,6 +6,9 @@ import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; public class NightmareModel extends GeoModel { + public static final ResourceLocation EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/nightmare_emissive.png"); + @Override public ResourceLocation getModelResource(NightmareEntity animatable) { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/nightmare.geo.json"); diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/SpitBugModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/SpitBugModel.java deleted file mode 100644 index a051572b..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/SpitBugModel.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.craisinlord.antarchy.content.client.model; - -import com.craisinlord.antarchy.Antarchy; -import com.craisinlord.antarchy.content.entity.SpitBugEntity; -import net.minecraft.resources.ResourceLocation; -import software.bernie.geckolib.model.GeoModel; - -public class SpitBugModel extends GeoModel { - @Override - public ResourceLocation getModelResource(SpitBugEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/spit_bug.geo.json"); - } - - @Override - public ResourceLocation getTextureResource(SpitBugEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/spit_bug.png"); - } - - @Override - public ResourceLocation getAnimationResource(SpitBugEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/spit_bug.animation.json"); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java index 340a1bc4..e868babb 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java @@ -4,6 +4,8 @@ import com.craisinlord.antarchy.content.client.model.EmperorScorpionModel; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; @@ -15,13 +17,22 @@ import software.bernie.geckolib.renderer.GeoEntityRenderer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class EmperorScorpionRenderer extends GeoEntityRenderer { + private static final int CROSSFADE_TICKS = 12; + private final Map transitions = new HashMap<>(); public EmperorScorpionRenderer(EntityRendererProvider.Context context) { super(context, new EmperorScorpionModel()); this.shadowRadius = 3.0F; + this.addRenderLayer(new EmperorScorpionHardenLayer(this)); this.addRenderLayer(new EmperorScorpionEmissiveLayer(this)); } + @Override + public void render(EmperorScorpionEntity entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight) { + this.updateTransition(entity); + super.render(entity, entityYaw, partialTick, poseStack, bufferSource, packedLight); + } + @Override public RenderType getRenderType(EmperorScorpionEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { return RenderType.entityCutoutNoCull(texture); @@ -57,4 +68,76 @@ public class EmperorScorpionRenderer extends GeoEntityRenderer + new HardenTransitionState(phase, entity.tickCount)); + + if (state.currentPhase != phase) { + state.currentPhase = phase; + state.transitionStartTick = entity.tickCount; + } else if (phase == 0 + && entity.tickCount - state.transitionStartTick > CROSSFADE_TICKS) { + this.transitions.remove(entity.getId()); + } + } + + private float getHardenAlpha(EmperorScorpionEntity entity, float partialTick) { + HardenTransitionState state = this.transitions.get(entity.getId()); + if (state == null) { + return 0.0F; + } + + float elapsed = (entity.tickCount - state.transitionStartTick) + partialTick; + return switch (state.currentPhase) { + case 2 -> Math.max(0.0F, Math.min(1.0F, elapsed / 11.0F)); + case 3 -> 1.0F; + case 4 -> Math.max(0.0F, Math.min(1.0F, 1.0F - (elapsed / 20.0F))); + default -> 0.0F; + }; + } + + private static final class HardenTransitionState { + private int currentPhase; + private int transitionStartTick; + + private HardenTransitionState(int currentPhase, int transitionStartTick) { + this.currentPhase = currentPhase; + this.transitionStartTick = transitionStartTick; + } + } + + private static final class EmperorScorpionHardenLayer extends GeoRenderLayer { + private EmperorScorpionHardenLayer(EmperorScorpionRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, EmperorScorpionEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + EmperorScorpionRenderer renderer = (EmperorScorpionRenderer) this.getRenderer(); + float alpha = renderer.getHardenAlpha(animatable, partialTick); + if (alpha <= 0.0F) { + return; + } + + RenderType hardenType = RenderType.entityTranslucent(EmperorScorpionModel.HARDEN_TEXTURE); + VertexConsumer hardenBuffer = bufferSource.getBuffer(hardenType); + int color = ((Math.max(0, Math.min(255, Math.round(alpha * 255.0F))) & 0xFF) << 24) | 0x00FFFFFF; + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + hardenType, + hardenBuffer, + partialTick, + packedLight, + packedOverlay, + color + ); + } + } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/GlimmerRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/GlimmerRenderer.java new file mode 100644 index 00000000..65e3344c --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/GlimmerRenderer.java @@ -0,0 +1,108 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.client.model.GlimmerModel; +import com.craisinlord.antarchy.content.entity.GlimmerEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; + +public class GlimmerRenderer extends GeoEntityRenderer { + private static final float SHADOW_RADIUS = 0.5F; + + public GlimmerRenderer(EntityRendererProvider.Context context) { + super(context, new GlimmerModel()); + this.shadowRadius = SHADOW_RADIUS; + this.addRenderLayer(new GlimmerCrossfadeLayer(this)); + this.addRenderLayer(new GlimmerEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(GlimmerEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityTranslucent(texture); + } + + @Override + public void preRender(PoseStack poseStack, GlimmerEntity animatable, BakedGeoModel model, @Nullable MultiBufferSource bufferSource, + @Nullable VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int colour) { + super.preRender(poseStack, animatable, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, colour); + this.shadowRadius = SHADOW_RADIUS; + } + + private static final class GlimmerCrossfadeLayer extends GeoRenderLayer { + private GlimmerCrossfadeLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, GlimmerEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + float glowBlend = animatable.getGlowBlend(partialTick); + if (glowBlend <= 0.0F || glowBlend >= 1.0F) { + return; + } + + boolean baseGlowing = glowBlend >= 0.5F; + float overlayAlpha = baseGlowing ? 1.0F - glowBlend : glowBlend; + if (overlayAlpha <= 0.0F) { + return; + } + + ResourceLocation overlayTexture = GlimmerModel.textureFor(animatable, !baseGlowing); + RenderType overlayType = RenderType.entityTranslucent(overlayTexture); + VertexConsumer overlayBuffer = bufferSource.getBuffer(overlayType); + int color = ((Math.max(0, Math.min(255, Math.round(overlayAlpha * 255.0F))) & 0xFF) << 24) | 0x00FFFFFF; + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + overlayType, + overlayBuffer, + partialTick, + packedLight, + packedOverlay, + color + ); + } + } + + private static final class GlimmerEmissiveLayer extends GeoRenderLayer { + private GlimmerEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, GlimmerEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + if (!animatable.isGlowingState()) { + return; + } + + ResourceLocation texture = animatable.isBaby() ? GlimmerModel.BABY_EMISSIVE : GlimmerModel.ADULT_EMISSIVE; + RenderType emissiveType = RenderType.eyes(texture); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/NightmareRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/NightmareRenderer.java index dc0d0786..87bfce1e 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/NightmareRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/NightmareRenderer.java @@ -2,18 +2,53 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.NightmareModel; import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class NightmareRenderer extends GeoEntityRenderer { public NightmareRenderer(EntityRendererProvider.Context context) { super(context, new NightmareModel()); this.shadowRadius = 1.8F; this.withScale(1.15F); + this.addRenderLayer(new NightmareEmissiveLayer(this)); } @Override protected float getDeathMaxRotation(NightmareEntity animatable) { return 0.0F; } + + private static final class NightmareEmissiveLayer extends GeoRenderLayer { + private NightmareEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, NightmareEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(NightmareModel.EMISSIVE_TEXTURE); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } + } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugProjectileRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugProjectileRenderer.java deleted file mode 100644 index 7b9fbedd..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugProjectileRenderer.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.craisinlord.antarchy.content.client.renderer; - -import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import org.joml.Matrix4f; - -public class SpitBugProjectileRenderer extends EntityRenderer { - private static final ResourceLocation PROJECTILE_TEXTURE = - ResourceLocation.withDefaultNamespace("textures/entity/enderdragon/dragon_fireball.png"); - - public SpitBugProjectileRenderer(EntityRendererProvider.Context context) { - super(context); - } - - @Override - protected int getBlockLightLevel(SpitBugProjectileEntity entity, BlockPos pos) { - return 15; - } - - @Override - public void render(SpitBugProjectileEntity entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource buffer, int packedLight) { - poseStack.pushPose(); - poseStack.mulPose(this.entityRenderDispatcher.cameraOrientation()); - - float scale = entity.getRenderScale(partialTick); - poseStack.scale(scale, scale, scale); - - VertexConsumer vertexConsumer = buffer.getBuffer(RenderType.entityTranslucent(PROJECTILE_TEXTURE)); - PoseStack.Pose pose = poseStack.last(); - Matrix4f matrix4f = pose.pose(); - float alpha = entity.isLingering() ? 0.78F : 0.95F; - - addVertex(vertexConsumer, pose, matrix4f, -0.5F, -0.5F, 0.0F, 1.0F, alpha, packedLight); - addVertex(vertexConsumer, pose, matrix4f, 0.5F, -0.5F, 1.0F, 1.0F, alpha, packedLight); - addVertex(vertexConsumer, pose, matrix4f, 0.5F, 0.5F, 1.0F, 0.0F, alpha, packedLight); - addVertex(vertexConsumer, pose, matrix4f, -0.5F, 0.5F, 0.0F, 0.0F, alpha, packedLight); - - poseStack.popPose(); - super.render(entity, entityYaw, partialTick, poseStack, buffer, packedLight); - } - - private static void addVertex( - VertexConsumer vertexConsumer, - PoseStack.Pose pose, - Matrix4f matrix4f, - float x, - float y, - float u, - float v, - float alpha, - int packedLight - ) { - vertexConsumer.addVertex(matrix4f, x, y, 0.0F) - .setColor(0.55F, 1.0F, 0.35F, alpha) - .setUv(u, v) - .setOverlay(OverlayTexture.NO_OVERLAY) - .setLight(packedLight) - .setNormal(pose, 0.0F, 0.0F, 1.0F); - } - - @Override - public ResourceLocation getTextureLocation(SpitBugProjectileEntity entity) { - return PROJECTILE_TEXTURE; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugRenderer.java deleted file mode 100644 index 34bae797..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/SpitBugRenderer.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.craisinlord.antarchy.content.client.renderer; - -import com.craisinlord.antarchy.content.client.model.SpitBugModel; -import com.craisinlord.antarchy.content.entity.SpitBugEntity; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import software.bernie.geckolib.renderer.GeoEntityRenderer; - -public class SpitBugRenderer extends GeoEntityRenderer { - public SpitBugRenderer(EntityRendererProvider.Context context) { - super(context, new SpitBugModel()); - this.shadowRadius = 1.6F; - this.withScale(0.85F); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/effect/GlimmersGraceMobEffect.java b/common/src/main/java/com/craisinlord/antarchy/content/effect/GlimmersGraceMobEffect.java new file mode 100644 index 00000000..4a44f095 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/effect/GlimmersGraceMobEffect.java @@ -0,0 +1,68 @@ +package com.craisinlord.antarchy.content.effect; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.GlimmerParticles; +import net.minecraft.core.Holder; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.ai.attributes.AttributeInstance; +import net.minecraft.world.entity.ai.attributes.AttributeMap; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; + +public final class GlimmersGraceMobEffect extends MobEffect { + private static final ResourceLocation SPEED_MODIFIER_ID = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "glimmers_grace_speed"); + private static final ResourceLocation JUMP_MODIFIER_ID = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "glimmers_grace_jump"); + private static final ResourceLocation FALL_DAMAGE_MODIFIER_ID = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "glimmers_grace_fall_damage"); + + public GlimmersGraceMobEffect() { + super(MobEffectCategory.BENEFICIAL, 0x7FDBFF); + } + + @Override + public void addAttributeModifiers(AttributeMap attributeMap, int amplifier) { + addModifier(attributeMap, Attributes.MOVEMENT_SPEED, SPEED_MODIFIER_ID, 0.35D * (amplifier + 1)); + addModifier(attributeMap, Attributes.JUMP_STRENGTH, JUMP_MODIFIER_ID, 0.5D * (amplifier + 1)); + addModifier(attributeMap, Attributes.FALL_DAMAGE_MULTIPLIER, FALL_DAMAGE_MODIFIER_ID, -0.6D * (amplifier + 1)); + } + + @Override + public void removeAttributeModifiers(AttributeMap attributeMap) { + removeModifier(attributeMap, Attributes.MOVEMENT_SPEED, SPEED_MODIFIER_ID); + removeModifier(attributeMap, Attributes.JUMP_STRENGTH, JUMP_MODIFIER_ID); + removeModifier(attributeMap, Attributes.FALL_DAMAGE_MULTIPLIER, FALL_DAMAGE_MODIFIER_ID); + } + + @Override + public boolean shouldApplyEffectTickThisTick(int duration, int amplifier) { + return true; + } + + @Override + public boolean applyEffectTick(LivingEntity livingEntity, int amplifier) { + GlimmerParticles.tickAmbient(livingEntity, livingEntity.getDeltaMovement().horizontalDistanceSqr() > 0.01D); + return true; + } + + private static void addModifier(AttributeMap attributeMap, Holder attribute, ResourceLocation id, double amount) { + AttributeInstance instance = attributeMap.getInstance(attribute); + if (instance == null) { + return; + } + instance.addTransientModifier(new AttributeModifier(id, amount, AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL)); + } + + private static void removeModifier(AttributeMap attributeMap, Holder attribute, ResourceLocation id) { + AttributeInstance instance = attributeMap.getInstance(attribute); + if (instance == null) { + return; + } + instance.removeModifier(id); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java index 09cc8fed..67a28023 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/DorrieEntity.java @@ -68,7 +68,7 @@ public class DorrieEntity extends Animal implements GeoEntity { SynchedEntityData.defineId(DorrieEntity.class, EntityDataSerializers.INT); private static final int MAX_CHARGE_TICKS = 40; - private static final float WATER_RIDE_SPEED = 1.84F; + private static final float WATER_RIDE_SPEED = 0.78F; private static final float LAND_BEACH_SPEED = 0.10F; private static final int QUIRK_DURATION_TICKS = 65; private static final int MIN_QUIRK_COOLDOWN_TICKS = 140; @@ -277,13 +277,16 @@ public class DorrieEntity extends Animal implements GeoEntity { public void tick() { super.tick(); this.updateNavigationMode(); - this.setNoGravity(this.isInWater() || this.isInLava()); + this.setNoGravity(false); if (this.getControllingPassenger() instanceof Player player) { this.setYRot(player.getYRot()); this.yRotO = this.getYRot(); this.yBodyRot = this.getYRot(); this.yHeadRot = this.getYRot(); + if (this.getQuirkTicks() > 0) { + this.setQuirkTicks(0); + } if (this.isInWater() || this.isInLava()) { if (player.zza > 0.05F) { this.swimForwardTicks = Math.min(this.swimForwardTicks + 1, 60); @@ -365,7 +368,14 @@ public class DorrieEntity extends Animal implements GeoEntity { if (this.isInWater() || this.isInLava()) { this.moveRelative(this.getSpeed(), new Vec3(riddenInput.x, 0.0D, riddenInput.z)); Vec3 motion = this.getDeltaMovement(); - double vertical = this.isLeaping ? 0.0D : riddenInput.y * 0.09D; + double vertical = 0.0D; + if (!this.isLeaping) { + if (this.isUnderWater()) { + vertical = riddenInput.y * 0.025D; + } else if (riddenInput.y < 0.0D) { + vertical = riddenInput.y * 0.02D; + } + } this.setDeltaMovement( motion.x * 0.92D, motion.y * 0.90D + vertical, @@ -374,10 +384,6 @@ public class DorrieEntity extends Animal implements GeoEntity { this.move(net.minecraft.world.entity.MoverType.SELF, this.getDeltaMovement()); return; } - - this.moveRelative(this.getSpeed(), new Vec3(riddenInput.x, 0.0D, riddenInput.z)); - this.move(net.minecraft.world.entity.MoverType.SELF, this.getDeltaMovement()); - return; } super.travel(travelVector); @@ -410,9 +416,9 @@ public class DorrieEntity extends Animal implements GeoEntity { if (this.hasPassenger(passenger)) { Vec3 forward = this.getLookAngle().multiply(1.0D, 0.0D, 1.0D); moveFunction.accept(passenger, - this.getX() - forward.x * 0.25D, + this.getX() - forward.x * 0.65D, this.getY() + 0.5D, - this.getZ() - forward.z * 0.25D); + this.getZ() - forward.z * 0.65D); } } @@ -478,16 +484,18 @@ public class DorrieEntity extends Animal implements GeoEntity { } boolean moving = this.isMovingForAnimation(state); + if (this.onGround()) { + if (moving) { + state.getController().setAnimationSpeed(0.75D); + return state.setAndContinue(WALK_ANIM); + } + return state.setAndContinue(IDLE_GROUND_ANIM); + } + if (this.isInWater() || this.isInLava()) { return state.setAndContinue(moving ? SWIM_ANIM : IDLE_WATER_ANIM); } - - if (moving) { - state.getController().setAnimationSpeed(0.75D); - return state.setAndContinue(WALK_ANIM); - } - - return state.setAndContinue(IDLE_GROUND_ANIM); + return state.setAndContinue(moving ? SWIM_ANIM : IDLE_GROUND_ANIM); } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index 421c14de..258f42eb 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -1,42 +1,49 @@ package com.craisinlord.antarchy.content.entity; -import com.craisinlord.antarchy.content.AntarchySoundEvents; import com.craisinlord.antarchy.Antarchy; -import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.AntarchySoundEvents; +import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.damage.AntarchyDamageSources; +import com.craisinlord.antarchy.content.entity.ScorpionEntity; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.Registries; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerBossEvent; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.RandomSource; -import net.minecraft.world.Difficulty; import net.minecraft.world.BossEvent; +import net.minecraft.world.Difficulty; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.FloatGoal; -import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; +import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; import net.minecraft.world.entity.ai.goal.RandomStrollGoal; import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.DifficultyInstance; import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.level.levelgen.Heightmap; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraft.world.entity.player.Player; +import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; @@ -47,53 +54,75 @@ import software.bernie.geckolib.animation.PlayState; import software.bernie.geckolib.animation.RawAnimation; import software.bernie.geckolib.util.GeckoLibUtil; -public class EmperorScorpionEntity extends Monster implements GeoEntity { - private static final byte SNAP_ATTACK_ANIM_EVENT = 4; - private static final byte STING_ATTACK_ANIM_EVENT = 5; - private static final byte AGRO_ANIM_EVENT = 6; +import java.util.EnumSet; + +public class EmperorScorpionEntity extends Monster implements GeoEntity { + private static final byte CLAW_ATTACK_EVENT = 4; + private static final byte STING_ATTACK_EVENT = 5; + private static final EntityDataAccessor ANIMATION_STATE = + SynchedEntityData.defineId(EmperorScorpionEntity.class, EntityDataSerializers.INT); + private static final EntityDataAccessor HARDEN_PHASE = + SynchedEntityData.defineId(EmperorScorpionEntity.class, EntityDataSerializers.INT); - private static final int SNAP_ATTACK_ANIM_TICKS = 23; - private static final int SNAP_ATTACK_HIT_TICK = 12; - private static final int SNAP_ATTACK_COOLDOWN_TICKS = 28; - private static final int STING_ATTACK_ANIM_TICKS = 25; - private static final int STING_ATTACK_HIT_TICK = 13; - private static final int STING_ATTACK_COOLDOWN_TICKS = 60; - private static final int AGRO_ANIM_TICKS = 30; private static final int DEATH_ANIM_TICKS = 40; - private static final float STING_DAMAGE = 18.0F; - private static final double STING_AOE_RADIUS = 5.0D; - private static final int POISON_DURATION_TICKS = 300; - private static final int WEAKNESS_DURATION_TICKS = 120; - private static final int SUMMON_INTERVAL_TICKS = 140; - private static final int MAX_SUMMONED_SCORPIONS = 8; - private static final String EMPEROR_SUMMON_TAG = "antarchy_emperor_summoned"; + private static final int ANIM_IDLE = 0; + private static final int ANIM_WALK = 1; + private static final int ANIM_CLAW_ATTACK = 2; + private static final int ANIM_STING_ATTACK = 3; + private static final int ANIM_DEATH = 4; + private static final int ANIM_HARDEN_START = 5; + private static final int ANIM_HARDEN_ACTIVE = 6; + private static final int ANIM_HARDEN_END = 7; + private static final double CLAW_LUNGE_SPEED = 0.12D; + private static final double CLAW_LUNGE_LIFT = 0.02D; + private static final double STING_LUNGE_SPEED = 0.08D; + private static final double STING_LUNGE_LIFT = 0.01D; + private static final double CLAW_RANGE = 5.25D; + private static final double STING_RANGE = 5.75D; + private static final int HARDEN_START_TICKS = 11; + private static final int HARDEN_END_TICKS = 20; + private static final int HARDEN_HEAL_INTERVAL_TICKS = 20; + private static final float HARDEN_HEAL_AMOUNT = 2.0F; + private static final int HARDEN_MIN_DURATION_TICKS = 100; + private static final int HARDEN_MAX_DURATION_TICKS = 200; private static final ResourceKey THORAXIS_KEY = ResourceKey.create(Registries.DIMENSION, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "thoraxis")); - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); - private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation SNAP_ANIM = RawAnimation.begin().thenPlay("snap"); - private static final RawAnimation STING_ANIM = RawAnimation.begin().thenPlay("sting"); - private static final RawAnimation AGRO_ANIM = RawAnimation.begin().thenPlay("agro"); + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation CLAW_ATTACK_ANIM = RawAnimation.begin().thenPlay("snap"); + private static final RawAnimation STING_ATTACK_ANIM = RawAnimation.begin().thenPlay("sting"); + private static final RawAnimation HARDEN_START_ANIM = RawAnimation.begin().thenPlay("harden"); + private static final RawAnimation HARDEN_ACTIVE_ANIM = RawAnimation.begin().thenLoop("harden_state"); + private static final RawAnimation HARDEN_END_ANIM = RawAnimation.begin().thenPlay("end_of_harden_state"); private static final RawAnimation DEATH_ANIM = RawAnimation.begin().thenPlay("death"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private final ServerBossEvent bossEvent = new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.PURPLE, BossEvent.BossBarOverlay.PROGRESS); - private int attackAnimTicks = 0; - private int stingCooldownTicks = 0; - private int agroAnimTicks = 0; - private int summonCooldown = 0; - private boolean attackDamageApplied = false; - private boolean stingAttackActive = false; - private boolean hasAgroed = false; + private int attackAnimTicks; + private int clawCooldownTicks; + private int stingCooldownTicks; + private int hardenCooldownTicks = AntarchySettings.emperorScorpionSummonIntervalTicks(); + private int hardenCastTicks; + private int hardenCastSpawnTicks; + private int hardenStateTicks; + private int hardenDurationTicks; + private int hardenHealTicks; + private int hardenSummonedScorpions; + private float hardenLockedYaw; + private float hardenLockedPitch; + private boolean attackDamageApplied; + private AttackType currentAttack = AttackType.NONE; + private HardenPhase hardenPhase = HardenPhase.NONE; + @Nullable private LivingEntity attackTarget; public EmperorScorpionEntity(EntityType entityType, Level level) { super(entityType, level); - this.xpReward = 25; + this.xpReward = AntarchySettings.emperorScorpionXpReward(); this.bossEvent.setDarkenScreen(false); } @@ -108,11 +137,42 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { .add(Attributes.FOLLOW_RANGE, AntarchySettings.emperorScorpionFollowRange()); } + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(ANIMATION_STATE, ANIM_IDLE); + builder.define(HARDEN_PHASE, HardenPhase.NONE.ordinal()); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new EmperorScorpionCombatGoal()); + this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8D)); + this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 12.0F)); + this.goalSelector.addGoal(7, new RandomLookAroundGoal(this)); + this.targetSelector.addGoal(1, new HurtByTargetGoal(this)); + this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); + } + @Override public boolean fireImmune() { return true; } + @Override + public boolean hurt(DamageSource source, float amount) { + if (this.isHardenedStateActive()) { + return false; + } + return super.hurt(source, amount); + } + + @Override + public boolean isInvulnerableTo(DamageSource source) { + return this.isHardenedStateActive() || super.isInvulnerableTo(source); + } + @Override public void lavaHurt() { } @@ -131,47 +191,6 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { && Monster.checkMonsterSpawnRules(entityType, level, spawnReason, pos, random); } - @Override - protected void registerGoals() { - this.goalSelector.addGoal(0, new FloatGoal(this)); - this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.2D, true)); - this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8D) { - @Override - public boolean canUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); - } - - @Override - public boolean canContinueToUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); - } - }); - this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 12.0F) { - @Override - public boolean canUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); - } - - @Override - public boolean canContinueToUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); - } - }); - this.goalSelector.addGoal(7, new RandomLookAroundGoal(this) { - @Override - public boolean canUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canUse(); - } - - @Override - public boolean canContinueToUse() { - return !EmperorScorpionEntity.this.isInCombat() && super.canContinueToUse(); - } - }); - this.targetSelector.addGoal(1, new HurtByTargetGoal(this)); - this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); - } - @Override public float maxUpStep() { return 1.5F; @@ -179,157 +198,260 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { @Override public int getMaxHeadYRot() { - return 35; + return 40; } @Override public void tick() { super.tick(); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); + + if (this.clawCooldownTicks > 0) { + this.clawCooldownTicks--; + } if (this.stingCooldownTicks > 0) { this.stingCooldownTicks--; } + if (this.hardenCooldownTicks > 0) { + this.hardenCooldownTicks--; + } if (this.attackAnimTicks > 0) { + if (!this.level().isClientSide) { + this.tickActiveAttack(); + } this.attackAnimTicks--; if (this.attackAnimTicks <= 0) { - this.attackDamageApplied = false; - this.stingAttackActive = false; + this.resetAttackState(); } } - if (this.agroAnimTicks > 0) { - this.agroAnimTicks--; - } - if (this.summonCooldown > 0) { - this.summonCooldown--; - } - if (!this.level().isClientSide) { - if (this.getTarget() != null) { - if (!this.hasAgroed) { - this.hasAgroed = true; - this.agroAnimTicks = AGRO_ANIM_TICKS; - this.getNavigation().stop(); - this.level().broadcastEntityEvent(this, AGRO_ANIM_EVENT); - this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ROAR.get(), 2.0F, 0.7F); - } - } else { - this.hasAgroed = false; - } + this.tickHardenState(); } - if (this.getTarget() != null - && this.summonCooldown <= 0 - && !this.isAttackLocked() - && this.getHealth() <= this.getMaxHealth() * 0.75F - && this.level() instanceof ServerLevel serverLevel) { - this.trySummonScorpions(serverLevel); - } - } - - private void trySummonScorpions(ServerLevel serverLevel) { - long nearby = serverLevel.getEntitiesOfClass(ScorpionEntity.class, this.getBoundingBox().inflate(16.0D), - scorpion -> scorpion.getTags().contains(EMPEROR_SUMMON_TAG)).size(); - this.summonCooldown = SUMMON_INTERVAL_TICKS; - if (nearby >= MAX_SUMMONED_SCORPIONS) { - return; - } - - int toSpawn = 2 + this.random.nextInt(2); - EntityType scorpionType = AntarchyObjects.SCORPION.get(); - for (int i = 0; i < toSpawn; i++) { - double offsetX = (this.random.nextDouble() - 0.5D) * 6.0D; - double offsetZ = (this.random.nextDouble() - 0.5D) * 6.0D; - BlockPos xzPos = BlockPos.containing(this.getX() + offsetX, 0, this.getZ() + offsetZ); - BlockPos spawnPos = serverLevel.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, xzPos); - @Nullable ScorpionEntity scorpion = scorpionType.create(serverLevel); - if (scorpion == null) continue; - scorpion.moveTo(spawnPos.getX() + 0.5D, spawnPos.getY(), spawnPos.getZ() + 0.5D, - this.getYRot(), 0.0F); - scorpion.addTag(EMPEROR_SUMMON_TAG); - scorpion.setTarget(this.getTarget()); - scorpion.finalizeSpawn(serverLevel, - serverLevel.getCurrentDifficultyAt(spawnPos), - MobSpawnType.MOB_SUMMONED, null); - serverLevel.addFreshEntity(scorpion); - } - this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ROAR.get(), 1.2F, 0.75F); + this.updateAnimationState(); } @Override public boolean doHurtTarget(Entity target) { boolean hurt = super.doHurtTarget(target); - if (hurt) { - boolean usedSting = false; - if (target instanceof LivingEntity livingTarget && this.shouldUseSting(livingTarget)) { - this.stingAttackActive = true; - this.attackAnimTicks = STING_ATTACK_ANIM_TICKS; - this.attackDamageApplied = false; - this.level().broadcastEntityEvent(this, STING_ATTACK_ANIM_EVENT); - usedSting = this.performStingAttack(livingTarget); - if (usedSting) { - this.stingCooldownTicks = STING_ATTACK_COOLDOWN_TICKS; - } + if (!hurt) { + return false; + } + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); + return true; + } + + private boolean doStingAttack(LivingEntity target) { + boolean hurt; + if (this.level() instanceof net.minecraft.server.level.ServerLevel serverLevel) { + hurt = target.hurt( + AntarchyDamageSources.emperorScorpionSting(serverLevel, this), + (float) this.getAttributeValue(Attributes.ATTACK_DAMAGE) + ); + } else { + hurt = target.hurt(this.damageSources().mobAttack(this), (float) this.getAttributeValue(Attributes.ATTACK_DAMAGE)); + } + + if (!hurt) { + return false; + } + + int poisonDuration = this.level().getDifficulty() == Difficulty.HARD + ? AntarchySettings.emperorScorpionPoisonTicks() * 2 + : AntarchySettings.emperorScorpionPoisonTicks(); + target.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); + target.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, AntarchySettings.emperorScorpionWeaknessTicks(), 0)); + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 1.0F, 0.88F + this.random.nextFloat() * 0.08F); + return true; + } + + private void beginAttack(LivingEntity target, AttackType attackType) { + if (this.isHardenSequenceActive()) { + return; + } + this.attackTarget = target; + this.currentAttack = attackType; + this.attackAnimTicks = attackType.animTicks(); + this.attackDamageApplied = false; + this.getNavigation().stop(); + if (attackType == AttackType.CLAW) { + this.clawCooldownTicks = AntarchySettings.emperorScorpionClawCooldownTicks(); + this.level().broadcastEntityEvent(this, CLAW_ATTACK_EVENT); + this.commitLunge(target, CLAW_LUNGE_SPEED, CLAW_LUNGE_LIFT); + } else if (attackType == AttackType.STING) { + this.stingCooldownTicks = AntarchySettings.emperorScorpionStingCooldownTicks(); + this.level().broadcastEntityEvent(this, STING_ATTACK_EVENT); + this.commitLunge(target, STING_LUNGE_SPEED, STING_LUNGE_LIFT); + } + } + + private void tickActiveAttack() { + if (this.attackTarget == null || !this.attackTarget.isAlive() || this.isHardenSequenceActive()) { + this.resetAttackState(); + return; + } + + this.getLookControl().setLookAt(this.attackTarget, 30.0F, 30.0F); + if (!this.attackDamageApplied + && this.attackAnimTicks == this.currentAttack.hitTick() + && this.canHitAttackTarget(this.attackTarget, this.currentAttack)) { + this.attackDamageApplied = true; + if (this.currentAttack == AttackType.STING) { + this.doStingAttack(this.attackTarget); } else { - this.stingAttackActive = false; - this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; - this.attackDamageApplied = false; - this.level().broadcastEntityEvent(this, SNAP_ATTACK_ANIM_EVENT); - } - if (!usedSting) { - this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); + this.doHurtTarget(this.attackTarget); } } - return hurt; } - private boolean performStingAttack(Entity target) { - if (!(target instanceof LivingEntity living)) { - return false; + private boolean canHitAttackTarget(LivingEntity target, AttackType attackType) { + double range = attackType == AttackType.STING ? STING_RANGE : CLAW_RANGE; + return this.distanceToSqr(target) <= range * range && this.hasLineOfSight(target); + } + + private void resetAttackState() { + this.attackAnimTicks = 0; + this.attackDamageApplied = false; + this.currentAttack = AttackType.NONE; + this.attackTarget = null; + } + + private void tickHardenState() { + if (this.getHardenPhase() == HardenPhase.NONE) { + if (this.hardenCooldownTicks <= 0 && this.getTarget() != null && this.getTarget().isAlive()) { + this.beginHardenCast(); + } + return; } + + this.getNavigation().stop(); + this.setSpeed(0.0F); + this.setZza(0.0F); + + switch (this.getHardenPhase()) { + case CASTING -> { + if (this.hardenCastTicks % this.hardenCastSpawnTicks == 0 + && this.hardenSummonedScorpions < AntarchySettings.emperorScorpionMaxSummonedScorpions()) { + this.summonScorpionMinion(); + this.hardenSummonedScorpions++; + if (this.hardenSummonedScorpions >= AntarchySettings.emperorScorpionMaxSummonedScorpions()) { + this.beginHardening(); + return; + } + } + if (--this.hardenCastTicks <= 0) { + this.beginHardening(); + } + } + case START -> { + this.lockHardenRotation(); + if (--this.hardenStateTicks <= 0) { + this.beginHardened(); + } + } + case ACTIVE -> { + this.lockHardenRotation(); + Vec3 motion = this.getDeltaMovement(); + this.setDeltaMovement(0.0D, motion.y, 0.0D); + if (--this.hardenDurationTicks <= 0) { + this.beginHardeningEnd(); + return; + } + if (--this.hardenHealTicks <= 0) { + this.hardenHealTicks = HARDEN_HEAL_INTERVAL_TICKS; + this.heal(HARDEN_HEAL_AMOUNT); + } + } + case END -> { + this.lockHardenRotation(); + Vec3 motion = this.getDeltaMovement(); + this.setDeltaMovement(0.0D, motion.y, 0.0D); + if (--this.hardenStateTicks <= 0) { + this.setHardenPhase(HardenPhase.NONE); + this.hardenCooldownTicks = Math.max(1, AntarchySettings.emperorScorpionSummonIntervalTicks()); + } + } + } + } + + private void beginHardenCast() { + this.setHardenPhase(HardenPhase.CASTING); + this.hardenCastTicks = Math.max(1, AntarchySettings.emperorScorpionSummonIntervalTicks()); + this.hardenCastSpawnTicks = Math.max(1, this.hardenCastTicks / Math.max(1, AntarchySettings.emperorScorpionMaxSummonedScorpions())); + this.hardenStateTicks = 0; + this.hardenDurationTicks = 0; + this.hardenHealTicks = 0; + this.hardenSummonedScorpions = 0; + this.resetAttackState(); + this.getNavigation().stop(); + } + + private void beginHardening() { + this.setHardenPhase(HardenPhase.START); + this.hardenStateTicks = HARDEN_START_TICKS; + this.hardenLockedYaw = this.getYRot(); + this.hardenLockedPitch = this.getXRot(); + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ROAR.get(), 1.0F, 0.95F + this.random.nextFloat() * 0.05F); + this.setAggressive(false); + } + + private void beginHardened() { + this.setHardenPhase(HardenPhase.ACTIVE); + this.hardenDurationTicks = HARDEN_MIN_DURATION_TICKS + this.random.nextInt(HARDEN_MAX_DURATION_TICKS - HARDEN_MIN_DURATION_TICKS + 1); + this.hardenHealTicks = HARDEN_HEAL_INTERVAL_TICKS; + } + + private void beginHardeningEnd() { + this.setHardenPhase(HardenPhase.END); + this.hardenStateTicks = HARDEN_END_TICKS; + this.setAggressive(false); + } + + private void summonScorpionMinion() { if (!(this.level() instanceof ServerLevel serverLevel)) { - return false; + return; } - boolean hurt = living.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), STING_DAMAGE); - if (hurt) { - int poisonDuration = this.level().getDifficulty() == Difficulty.HARD - ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; - living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); - living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); - this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 1.0F, 0.9F + this.random.nextFloat() * 0.08F); + + ScorpionEntity scorpion = AntarchyObjects.SCORPION.get().create(serverLevel); + if (scorpion == null) { + return; } - return hurt; + + Vec3 ring = Vec3.directionFromRotation(0.0F, this.random.nextFloat() * 360.0F) + .scale(2.75D + this.random.nextDouble() * 1.75D); + BlockPos spawnPos = BlockPos.containing(this.getX() + ring.x, this.getY(), this.getZ() + ring.z); + scorpion.moveTo(spawnPos.getX() + 0.5D, spawnPos.getY(), spawnPos.getZ() + 0.5D, this.random.nextFloat() * 360.0F, 0.0F); + scorpion.finalizeSpawn(serverLevel, serverLevel.getCurrentDifficultyAt(spawnPos), MobSpawnType.MOB_SUMMONED, null); + scorpion.setPersistenceRequired(); + if (this.getTarget() instanceof LivingEntity target) { + scorpion.setTarget(target); + } + serverLevel.addFreshEntity(scorpion); } - private boolean shouldUseSting(LivingEntity target) { - return this.stingCooldownTicks <= 0 - && target.isAlive() - && (this.getHealth() <= this.getMaxHealth() * 0.8F || this.random.nextFloat() < 0.35F); - } - - private boolean isAttackLocked() { - return this.attackAnimTicks > 0 || this.agroAnimTicks > 0; - } - - private boolean isInCombat() { - return this.getTarget() != null || this.isAttackLocked(); + private void commitLunge(LivingEntity target, double horizontalSpeed, double verticalSpeed) { + Vec3 lunge = target.position().subtract(this.position()); + Vec3 horizontal = new Vec3(lunge.x, 0.0D, lunge.z); + if (horizontal.lengthSqr() < 1.0E-4D) { + return; + } + horizontal = horizontal.normalize().scale(horizontalSpeed); + this.setDeltaMovement(this.getDeltaMovement().add(horizontal.x, verticalSpeed, horizontal.z)); + this.hasImpulse = true; } @Override public void handleEntityEvent(byte id) { - if (id == SNAP_ATTACK_ANIM_EVENT) { - this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; + if (id == CLAW_ATTACK_EVENT) { + this.currentAttack = AttackType.CLAW; + this.attackAnimTicks = AntarchySettings.emperorScorpionClawAnimTicks(); this.attackDamageApplied = false; - this.stingAttackActive = false; return; } - if (id == STING_ATTACK_ANIM_EVENT) { - this.attackAnimTicks = STING_ATTACK_ANIM_TICKS; + if (id == STING_ATTACK_EVENT) { + this.currentAttack = AttackType.STING; + this.attackAnimTicks = AntarchySettings.emperorScorpionStingAnimTicks(); this.attackDamageApplied = false; - this.stingAttackActive = true; - return; - } - if (id == AGRO_ANIM_EVENT) { - this.agroAnimTicks = AGRO_ANIM_TICKS; return; } super.handleEntityEvent(id); @@ -341,19 +463,85 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private PlayState mainController(AnimationState state) { + return switch (this.getAnimationState()) { + case ANIM_WALK -> state.setAndContinue(WALK_ANIM); + case ANIM_CLAW_ATTACK -> state.setAndContinue(CLAW_ATTACK_ANIM); + case ANIM_STING_ATTACK -> state.setAndContinue(STING_ATTACK_ANIM); + case ANIM_HARDEN_START -> state.setAndContinue(HARDEN_START_ANIM); + case ANIM_HARDEN_ACTIVE -> state.setAndContinue(HARDEN_ACTIVE_ANIM); + case ANIM_HARDEN_END -> state.setAndContinue(HARDEN_END_ANIM); + case ANIM_DEATH -> state.setAndContinue(DEATH_ANIM); + default -> state.setAndContinue(IDLE_ANIM); + }; + } + + private int getAnimationState() { + return this.entityData.get(ANIMATION_STATE); + } + + private HardenPhase getHardenPhase() { + HardenPhase[] phases = HardenPhase.values(); + int phaseOrdinal = this.entityData.get(HARDEN_PHASE); + return phaseOrdinal >= 0 && phaseOrdinal < phases.length ? phases[phaseOrdinal] : HardenPhase.NONE; + } + + public int getHardenPhaseIndex() { + return this.entityData.get(HARDEN_PHASE); + } + + private void setAnimationState(int animationState) { + this.entityData.set(ANIMATION_STATE, animationState); + } + + private void setHardenPhase(HardenPhase phase) { + this.hardenPhase = phase; + this.entityData.set(HARDEN_PHASE, phase.ordinal()); + } + + private void lockHardenRotation() { + if (!this.isHardenSequenceActive()) { + return; + } + this.setYRot(this.hardenLockedYaw); + this.setYHeadRot(this.hardenLockedYaw); + this.yBodyRot = this.hardenLockedYaw; + this.yBodyRotO = this.hardenLockedYaw; + this.yHeadRotO = this.hardenLockedYaw; + this.setXRot(this.hardenLockedPitch); + this.xRotO = this.hardenLockedPitch; + } + + private void updateAnimationState() { if (this.isDeadOrDying()) { - return state.setAndContinue(DEATH_ANIM); + this.setAnimationState(ANIM_DEATH); + return; + } + HardenPhase currentHardenPhase = this.getHardenPhase(); + if (currentHardenPhase == HardenPhase.START) { + this.setAnimationState(ANIM_HARDEN_START); + return; + } + if (currentHardenPhase == HardenPhase.ACTIVE) { + this.setAnimationState(ANIM_HARDEN_ACTIVE); + return; + } + if (currentHardenPhase == HardenPhase.END) { + this.setAnimationState(ANIM_HARDEN_END); + return; } if (this.attackAnimTicks > 0) { - return state.setAndContinue(this.stingAttackActive ? STING_ANIM : SNAP_ANIM); + this.setAnimationState(this.currentAttack == AttackType.STING ? ANIM_STING_ATTACK : ANIM_CLAW_ATTACK); + return; } - if (this.agroAnimTicks > 0) { - return state.setAndContinue(AGRO_ANIM); + if (currentHardenPhase == HardenPhase.CASTING) { + this.setAnimationState(ANIM_IDLE); + return; } - if (state.isMoving()) { - return state.setAndContinue(WALK_ANIM); + if (this.getTarget() != null || this.getDeltaMovement().horizontalDistanceSqr() > 1.0E-4D) { + this.setAnimationState(ANIM_WALK); + return; } - return state.setAndContinue(IDLE_ANIM); + this.setAnimationState(ANIM_IDLE); } @Override @@ -390,6 +578,50 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return 0.8F; } + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putInt("HardenPhase", this.hardenPhase.ordinal()); + tag.putInt("HardenCooldownTicks", this.hardenCooldownTicks); + tag.putInt("HardenCastTicks", this.hardenCastTicks); + tag.putInt("HardenCastSpawnTicks", this.hardenCastSpawnTicks); + tag.putInt("HardenStateTicks", this.hardenStateTicks); + tag.putInt("HardenDurationTicks", this.hardenDurationTicks); + tag.putInt("HardenHealTicks", this.hardenHealTicks); + tag.putInt("HardenSummonedScorpions", this.hardenSummonedScorpions); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + if (tag.contains("HardenPhase")) { + int phaseOrdinal = tag.getInt("HardenPhase"); + HardenPhase[] phases = HardenPhase.values(); + this.setHardenPhase(phaseOrdinal >= 0 && phaseOrdinal < phases.length ? phases[phaseOrdinal] : HardenPhase.NONE); + } + if (tag.contains("HardenCooldownTicks")) { + this.hardenCooldownTicks = tag.getInt("HardenCooldownTicks"); + } + if (tag.contains("HardenCastTicks")) { + this.hardenCastTicks = tag.getInt("HardenCastTicks"); + } + if (tag.contains("HardenCastSpawnTicks")) { + this.hardenCastSpawnTicks = tag.getInt("HardenCastSpawnTicks"); + } + if (tag.contains("HardenStateTicks")) { + this.hardenStateTicks = tag.getInt("HardenStateTicks"); + } + if (tag.contains("HardenDurationTicks")) { + this.hardenDurationTicks = tag.getInt("HardenDurationTicks"); + } + if (tag.contains("HardenHealTicks")) { + this.hardenHealTicks = tag.getInt("HardenHealTicks"); + } + if (tag.contains("HardenSummonedScorpions")) { + this.hardenSummonedScorpions = tag.getInt("HardenSummonedScorpions"); + } + } + @Override public void setCustomName(@Nullable net.minecraft.network.chat.Component name) { super.setCustomName(name); @@ -413,4 +645,158 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { super.remove(reason); this.bossEvent.removeAllPlayers(); } + + private boolean isAttackLocked() { + return this.attackAnimTicks > 0; + } + + public boolean isHardenSequenceActive() { + return this.getHardenPhase() != HardenPhase.NONE; + } + + public boolean isHardenedStateActive() { + HardenPhase currentHardenPhase = this.getHardenPhase(); + return currentHardenPhase == HardenPhase.START + || currentHardenPhase == HardenPhase.ACTIVE + || currentHardenPhase == HardenPhase.END; + } + + public boolean isHardened() { + return this.getHardenPhase() == HardenPhase.ACTIVE; + } + + public boolean shouldUseHardenTexture() { + return this.getHardenPhase() == HardenPhase.START + || this.getHardenPhase() == HardenPhase.ACTIVE + || this.getHardenPhase() == HardenPhase.END; + } + + private final class EmperorScorpionCombatGoal extends Goal { + private static final double CHASE_SPEED = 1.1D; + + private EmperorScorpionCombatGoal() { + this.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK)); + } + + @Override + public boolean canUse() { + LivingEntity target = EmperorScorpionEntity.this.getTarget(); + return target != null && target.isAlive() && !EmperorScorpionEntity.this.isHardenSequenceActive(); + } + + @Override + public boolean canContinueToUse() { + LivingEntity target = EmperorScorpionEntity.this.getTarget(); + return (target != null && target.isAlive()) || EmperorScorpionEntity.this.isAttackLocked(); + } + + @Override + public void start() { + EmperorScorpionEntity.this.setAggressive(true); + } + + @Override + public void stop() { + EmperorScorpionEntity.this.setAggressive(false); + EmperorScorpionEntity.this.getNavigation().stop(); + } + + @Override + public void tick() { + LivingEntity target = EmperorScorpionEntity.this.getTarget(); + if (target == null) { + EmperorScorpionEntity.this.getNavigation().stop(); + return; + } + + if (EmperorScorpionEntity.this.isHardenSequenceActive()) { + this.stopMovement(); + return; + } + + EmperorScorpionEntity.this.getLookControl().setLookAt(target, 30.0F, 30.0F); + + if (EmperorScorpionEntity.this.isAttackLocked()) { + this.stopMovement(); + return; + } + + if (!EmperorScorpionEntity.this.hasLineOfSight(target)) { + EmperorScorpionEntity.this.getNavigation().moveTo(target, CHASE_SPEED); + return; + } + + if (!EmperorScorpionEntity.this.isWithinMeleeAttackRange(target)) { + EmperorScorpionEntity.this.getNavigation().moveTo(target, CHASE_SPEED); + return; + } + + this.stopMovement(); + AttackType attackType = EmperorScorpionEntity.this.selectAttack(target); + if (attackType == AttackType.NONE) { + EmperorScorpionEntity.this.getNavigation().moveTo(target, CHASE_SPEED); + return; + } + + EmperorScorpionEntity.this.beginAttack(target, attackType); + } + + private void stopMovement() { + EmperorScorpionEntity.this.getNavigation().stop(); + EmperorScorpionEntity.this.setSpeed(0.0F); + EmperorScorpionEntity.this.setZza(0.0F); + } + } + + @Override + public boolean isWithinMeleeAttackRange(LivingEntity target) { + return this.distanceToSqr(target) <= STING_RANGE * STING_RANGE; + } + + private AttackType selectAttack(LivingEntity target) { + boolean inClawRange = this.clawCooldownTicks <= 0 && this.distanceToSqr(target) <= CLAW_RANGE * CLAW_RANGE; + boolean inStingRange = this.stingCooldownTicks <= 0 && this.distanceToSqr(target) <= STING_RANGE * STING_RANGE; + boolean canClaw = inClawRange && this.hasLineOfSight(target); + boolean canSting = inStingRange && this.hasLineOfSight(target); + if (canSting && (!canClaw || this.random.nextFloat() < 0.3F)) { + return AttackType.STING; + } + if (canClaw) { + return AttackType.CLAW; + } + if (canSting) { + return AttackType.STING; + } + return AttackType.NONE; + } + + private enum AttackType { + NONE, + CLAW, + STING; + + private int animTicks() { + return switch (this) { + case CLAW -> AntarchySettings.emperorScorpionClawAnimTicks(); + case STING -> AntarchySettings.emperorScorpionStingAnimTicks(); + default -> 0; + }; + } + + private int hitTick() { + return switch (this) { + case CLAW -> AntarchySettings.emperorScorpionClawHitTick(); + case STING -> AntarchySettings.emperorScorpionStingHitTick(); + default -> 0; + }; + } + } + + private enum HardenPhase { + NONE, + CASTING, + START, + ACTIVE, + END + } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/GlimmerEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/GlimmerEntity.java new file mode 100644 index 00000000..79732784 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/GlimmerEntity.java @@ -0,0 +1,430 @@ +package com.craisinlord.antarchy.content.entity; + +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.AntarchyObjects; +import com.craisinlord.antarchy.content.AntarchyTags; +import com.craisinlord.antarchy.content.GlimmerParticles; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.SpawnGroupData; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.FollowParentGoal; +import net.minecraft.world.entity.ai.goal.Goal; +import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; +import net.minecraft.world.entity.ai.goal.PanicGoal; +import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.TemptGoal; +import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; +import net.minecraft.world.entity.ai.util.DefaultRandomPos; +import net.minecraft.world.entity.animal.Animal; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.util.Mth; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.ServerLevelAccessor; +import net.minecraft.world.level.pathfinder.Path; +import net.minecraft.world.phys.Vec3; +import net.minecraft.server.level.ServerLevel; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.animation.AnimatableManager; +import software.bernie.geckolib.animation.AnimationController; +import software.bernie.geckolib.animation.AnimationState; +import software.bernie.geckolib.animation.PlayState; +import software.bernie.geckolib.animation.RawAnimation; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class GlimmerEntity extends Animal implements GeoEntity { + private static final EntityDataAccessor GLOW_TICKS = + SynchedEntityData.defineId(GlimmerEntity.class, EntityDataSerializers.INT); + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation RUN_ANIM = RawAnimation.begin().thenLoop("run"); + private static final String QUIRK_CONTROLLER = "quirk_controller"; + private static final String QUIRK_TRIGGER = "quirk"; + + private static final int TRUST_REQUIRED_FEEDS = 3; + private static final int GRACE_DURATION_TICKS = 2400; + private static final int GRACE_COOLDOWN_TICKS = 6000; + private static final int GLOW_LIGHT_THRESHOLD = 7; + private static final int GLOW_CHECK_INTERVAL_TICKS = 20; + private static final int GLOW_TRANSITION_TICKS = 10; + private static final double WALK_SPEED_THRESHOLD_SQR = 0.0009D; + private static final double RUN_SPEED_THRESHOLD_SQR = 0.0035D; + + private static final int MIN_QUIRK_COOLDOWN = 20 * 8; + private static final int MAX_QUIRK_COOLDOWN = 20 * 25; + + private static final String TRUST_KEY = "GlimmerTrust"; + private static final String TRUST_PLAYER_KEY = "Player"; + private static final String TRUST_FEED_COUNT_KEY = "FeedCount"; + private static final String TRUST_TRUSTED_KEY = "Trusted"; + private static final String TRUST_COOLDOWN_KEY = "GraceCooldown"; + private static final String GLOWING_SAVE_KEY = "Glowing"; + + private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); + private final Map trustByPlayer = new HashMap<>(); + + private boolean glowing; + private int quirkCooldown = createQuirkCooldown(); + + public GlimmerEntity(EntityType entityType, Level level) { + super(entityType, level); + } + + public static AttributeSupplier.Builder createAttributes() { + return net.minecraft.world.entity.Mob.createMobAttributes() + .add(Attributes.MAX_HEALTH, AntarchySettings.glimmerHealth()) + .add(Attributes.MOVEMENT_SPEED, 0.3D) + .add(Attributes.FOLLOW_RANGE, 24.0D); + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(GLOW_TICKS, 0); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.6D)); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.GLIMMER_FOOD), false)); + this.goalSelector.addGoal(3, new AvoidUntrustedPlayerGoal(10.0F, 1.15D)); + this.goalSelector.addGoal(4, new net.minecraft.world.entity.ai.goal.AvoidEntityGoal<>(this, Monster.class, 8.0F, 1.0D, 1.2D)); + this.goalSelector.addGoal(5, new FollowParentGoal(this, 1.25D)); + this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 1.0D)); + this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(8, new RandomLookAroundGoal(this)); + } + + @Override + public boolean isFood(ItemStack stack) { + return stack.is(AntarchyTags.Items.GLIMMER_FOOD); + } + + @Override + public GlimmerEntity getBreedOffspring(ServerLevel level, AgeableMob otherParent) { + return null; + } + + @Override + public InteractionResult mobInteract(Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + if (stack.is(AntarchyTags.Items.GLIMMER_FOOD)) { + return this.feedGlimmerFood(player, stack, hand); + } + return super.mobInteract(player, hand); + } + + private InteractionResult feedGlimmerFood(Player player, ItemStack stack, InteractionHand hand) { + if (this.level().isClientSide) { + return InteractionResult.CONSUME; + } + + this.usePlayerItem(player, hand, stack); + this.playSound(SoundEvents.GENERIC_EAT, 1.0F, 1.0F + (this.random.nextFloat() - 0.5F) * 0.2F); + + if (!this.isBaby()) { + TrustEntry entry = this.trustByPlayer.computeIfAbsent(player.getUUID(), id -> new TrustEntry()); + if (!entry.trusted) { + entry.feedCount++; + if (entry.feedCount >= TRUST_REQUIRED_FEEDS) { + entry.trusted = true; + } + } else if (this.glowing && entry.graceCooldown <= 0) { + player.addEffect(new MobEffectInstance(AntarchyObjects.GLIMMERS_GRACE.get(), GRACE_DURATION_TICKS, 0, false, true, true)); + entry.graceCooldown = GRACE_COOLDOWN_TICKS; + } + } + + return InteractionResult.SUCCESS; + } + + public boolean isTrusted(UUID playerId) { + TrustEntry entry = this.trustByPlayer.get(playerId); + return entry != null && entry.trusted; + } + + private boolean hasAnyTrustProgress() { + for (TrustEntry entry : this.trustByPlayer.values()) { + if (entry.trusted || entry.feedCount > 0) { + return true; + } + } + return false; + } + + @Override + public boolean isPersistenceRequired() { + return super.isPersistenceRequired() || (!this.isBaby() && this.hasAnyTrustProgress()); + } + + public boolean isGlowingState() { + return this.getGlowTicks() > 0; + } + + public float getGlowBlend(float partialTick) { + return Mth.clamp((this.getGlowTicks() + partialTick) / (float) GLOW_TRANSITION_TICKS, 0.0F, 1.0F); + } + + @Override + public void tick() { + super.tick(); + + if (this.quirkCooldown > 0) { + this.quirkCooldown--; + } + + if (!this.level().isClientSide && this.tickCount % GLOW_CHECK_INTERVAL_TICKS == 0) { + this.glowing = this.level().getMaxLocalRawBrightness(this.blockPosition()) <= GLOW_LIGHT_THRESHOLD; + } + + if (!this.level().isClientSide) { + int glowTicks = this.getGlowTicks(); + if (this.glowing && glowTicks < GLOW_TRANSITION_TICKS) { + this.setGlowTicks(glowTicks + 1); + } else if (!this.glowing && glowTicks > 0) { + this.setGlowTicks(glowTicks - 1); + } + } + + if (this.isGlowingState()) { + GlimmerParticles.tickAmbient(this, this.getDeltaMovement().horizontalDistanceSqr() > RUN_SPEED_THRESHOLD_SQR); + } + + if (this.level().isClientSide) { + return; + } + + for (TrustEntry entry : this.trustByPlayer.values()) { + if (entry.graceCooldown > 0) { + entry.graceCooldown--; + } + } + } + + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putBoolean(GLOWING_SAVE_KEY, this.glowing); + + ListTag trustList = new ListTag(); + for (Map.Entry entry : this.trustByPlayer.entrySet()) { + CompoundTag entryTag = new CompoundTag(); + entryTag.putUUID(TRUST_PLAYER_KEY, entry.getKey()); + entryTag.putInt(TRUST_FEED_COUNT_KEY, entry.getValue().feedCount); + entryTag.putBoolean(TRUST_TRUSTED_KEY, entry.getValue().trusted); + entryTag.putInt(TRUST_COOLDOWN_KEY, entry.getValue().graceCooldown); + trustList.add(entryTag); + } + tag.put(TRUST_KEY, trustList); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + this.glowing = tag.getBoolean(GLOWING_SAVE_KEY); + this.setGlowTicks(this.glowing ? GLOW_TRANSITION_TICKS : 0); + + this.trustByPlayer.clear(); + for (net.minecraft.nbt.Tag rawEntry : tag.getList(TRUST_KEY, net.minecraft.nbt.Tag.TAG_COMPOUND)) { + CompoundTag entryTag = (CompoundTag) rawEntry; + TrustEntry entry = new TrustEntry(); + entry.feedCount = entryTag.getInt(TRUST_FEED_COUNT_KEY); + entry.trusted = entryTag.getBoolean(TRUST_TRUSTED_KEY); + entry.graceCooldown = entryTag.getInt(TRUST_COOLDOWN_KEY); + this.trustByPlayer.put(entryTag.getUUID(TRUST_PLAYER_KEY), entry); + } + } + + @Override + @Nullable + public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData spawnGroupData) { + GlimmerSpawnData glimmerSpawnData = spawnGroupData instanceof GlimmerSpawnData data ? data : new GlimmerSpawnData(); + SpawnGroupData result = super.finalizeSpawn(level, difficulty, spawnReason, spawnGroupData); + + if ((spawnReason == MobSpawnType.NATURAL || spawnReason == MobSpawnType.CHUNK_GENERATION)) { + if (glimmerSpawnData.adultSpawned) { + this.setAge(-24000); + } else { + glimmerSpawnData.adultSpawned = true; + } + } + + return result != null ? result : glimmerSpawnData; + } + + @Override + public net.minecraft.world.entity.EntityDimensions getDefaultDimensions(net.minecraft.world.entity.Pose pose) { + net.minecraft.world.entity.EntityDimensions dimensions = super.getDefaultDimensions(pose); + if (this.isBaby()) { + return dimensions; + } + return net.minecraft.world.entity.EntityDimensions.scalable(dimensions.width() * 2.0F, dimensions.height() * 2.0F); + } + + @Override + protected void ageBoundaryReached() { + super.ageBoundaryReached(); + this.refreshDimensions(); + } + + @Override + protected SoundEvent getAmbientSound() { + return SoundEvents.FOX_AMBIENT; + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSource) { + return SoundEvents.FOX_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.FOX_DEATH; + } + + @Override + protected float getSoundVolume() { + return 0.8F; + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + controllers.add(new AnimationController<>(this, "main_controller", 0, this::mainAnimController)); + controllers.add(new AnimationController<>(this, QUIRK_CONTROLLER, 0, state -> PlayState.STOP) + .triggerableAnim(QUIRK_TRIGGER, RawAnimation.begin().thenPlay("quirk"))); + } + + private PlayState mainAnimController(AnimationState state) { + double speedSqr = this.getDeltaMovement().horizontalDistanceSqr(); + if (speedSqr > RUN_SPEED_THRESHOLD_SQR) { + return state.setAndContinue(RUN_ANIM); + } + if (speedSqr > WALK_SPEED_THRESHOLD_SQR) { + return state.setAndContinue(WALK_ANIM); + } + + if (this.quirkCooldown <= 0) { + this.quirkCooldown = this.createQuirkCooldown(); + this.triggerAnim(QUIRK_CONTROLLER, QUIRK_TRIGGER); + } + + return state.setAndContinue(IDLE_ANIM); + } + + private int createQuirkCooldown() { + return MIN_QUIRK_COOLDOWN + this.random.nextInt(MAX_QUIRK_COOLDOWN - MIN_QUIRK_COOLDOWN + 1); + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.geoCache; + } + + private int getGlowTicks() { + return this.entityData.get(GLOW_TICKS); + } + + private void setGlowTicks(int glowTicks) { + this.entityData.set(GLOW_TICKS, Mth.clamp(glowTicks, 0, GLOW_TRANSITION_TICKS)); + } + + private static final class TrustEntry { + int feedCount; + boolean trusted; + int graceCooldown; + } + + private static final class GlimmerSpawnData implements SpawnGroupData { + private boolean adultSpawned; + } + + private final class AvoidUntrustedPlayerGoal extends Goal { + private final float maxDistance; + private final double speedModifier; + private Player avoidTarget; + private Path path; + + AvoidUntrustedPlayerGoal(float maxDistance, double speedModifier) { + this.maxDistance = maxDistance; + this.speedModifier = speedModifier; + this.setFlags(EnumSet.of(Flag.MOVE)); + } + + @Override + public boolean canUse() { + if (GlimmerEntity.this.isBaby()) { + return false; + } + + Player nearest = GlimmerEntity.this.level().getNearestPlayer(GlimmerEntity.this, this.maxDistance); + if (nearest == null || nearest.isSpectator() || nearest.isCreative() + || GlimmerEntity.this.isTrusted(nearest.getUUID()) + || GlimmerEntity.this.distanceToSqr(nearest) > (double) (this.maxDistance * this.maxDistance)) { + return false; + } + + Path escapePath = this.findEscapePath(nearest); + if (escapePath == null) { + return false; + } + + this.avoidTarget = nearest; + this.path = escapePath; + return true; + } + + @Override + public boolean canContinueToUse() { + return this.avoidTarget != null + && this.avoidTarget.isAlive() + && !GlimmerEntity.this.isTrusted(this.avoidTarget.getUUID()) + && !GlimmerEntity.this.getNavigation().isDone(); + } + + @Override + public void start() { + GlimmerEntity.this.getNavigation().moveTo(this.path, this.speedModifier); + } + + @Override + public void stop() { + this.avoidTarget = null; + this.path = null; + } + + @Nullable + private Path findEscapePath(Player toAvoid) { + Vec3 escapeVec = DefaultRandomPos.getPosAway(GlimmerEntity.this, 16, 7, toAvoid.position()); + if (escapeVec == null) { + return null; + } + return GlimmerEntity.this.getNavigation().createPath(BlockPos.containing(escapeVec), 0); + } + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugEntity.java deleted file mode 100644 index 8acee363..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugEntity.java +++ /dev/null @@ -1,265 +0,0 @@ -package com.craisinlord.antarchy.content.entity; - -import com.craisinlord.antarchy.Antarchy; -import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.syncher.EntityDataAccessor; -import net.minecraft.network.syncher.EntityDataSerializers; -import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.util.RandomSource; -import net.minecraft.world.Difficulty; -import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.entity.MobSpawnType; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.ai.goal.FloatGoal; -import net.minecraft.world.entity.ai.goal.Goal; -import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; -import net.minecraft.world.entity.ai.goal.MeleeAttackGoal; -import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; -import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; -import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal; -import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; -import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.Heightmap; -import net.minecraft.world.phys.Vec3; -import software.bernie.geckolib.animatable.GeoEntity; -import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; -import software.bernie.geckolib.animation.AnimatableManager; -import software.bernie.geckolib.animation.AnimationController; -import software.bernie.geckolib.animation.AnimationState; -import software.bernie.geckolib.animation.PlayState; -import software.bernie.geckolib.animation.RawAnimation; -import software.bernie.geckolib.util.GeckoLibUtil; - -import java.util.EnumSet; - -public class SpitBugEntity extends Monster implements GeoEntity { - private static final EntityDataAccessor SPIT_ANIM_TICKS = - SynchedEntityData.defineId(SpitBugEntity.class, EntityDataSerializers.INT); - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); - private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation SPIT_ANIM = RawAnimation.begin().thenPlay("spit"); - - private static final double MAX_HEALTH = 50.0D; - private static final double MOVEMENT_SPEED = 0.23D; - private static final double ATTACK_DAMAGE = 5.0D; - private static final double FOLLOW_RANGE = 24.0D; - private static final double SPIT_RANGE_SQR = 14.0D * 14.0D; - private static final double MELEE_RANGE_SQR = 3.5D * 3.5D; - private static final int SPIT_COOLDOWN_TICKS = 55; - private static final int SPIT_ANIMATION_TICKS = 18; - private static final int SPIT_RELEASE_TICKS = 8; - - private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); - - private int spitCooldownTicks; - private int spitAnimationTicks; - private int spitReleaseTicks; - - public SpitBugEntity(EntityType entityType, Level level) { - super(entityType, level); - this.xpReward = 10; - } - - public static AttributeSupplier.Builder createAttributes() { - return Mob.createMobAttributes() - .add(Attributes.MAX_HEALTH, MAX_HEALTH) - .add(Attributes.MOVEMENT_SPEED, MOVEMENT_SPEED) - .add(Attributes.ATTACK_DAMAGE, ATTACK_DAMAGE) - .add(Attributes.FOLLOW_RANGE, FOLLOW_RANGE) - .add(Attributes.ARMOR, 4.0D) - .add(Attributes.KNOCKBACK_RESISTANCE, 0.2D); - } - - public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, MobSpawnType spawnReason, BlockPos pos, RandomSource random) { - if (spawnReason == MobSpawnType.SPAWN_EGG || spawnReason == MobSpawnType.SPAWNER || spawnReason == MobSpawnType.COMMAND) { - return true; - } - - return level.getDifficulty() != Difficulty.PEACEFUL - && level.isEmptyBlock(pos) - && level.isEmptyBlock(pos.above()) - && Monster.checkMonsterSpawnRules(entityType, level, spawnReason, pos, random); - } - - @Override - protected void defineSynchedData(SynchedEntityData.Builder builder) { - super.defineSynchedData(builder); - builder.define(SPIT_ANIM_TICKS, 0); - } - - @Override - protected void registerGoals() { - this.goalSelector.addGoal(0, new FloatGoal(this)); - this.goalSelector.addGoal(1, new SpitAttackGoal()); - this.goalSelector.addGoal(2, new MeleeAttackGoal(this, 1.0D, false)); - this.goalSelector.addGoal(3, new WaterAvoidingRandomStrollGoal(this, 0.9D)); - this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 12.0F)); - this.goalSelector.addGoal(5, new RandomLookAroundGoal(this)); - this.targetSelector.addGoal(1, new HurtByTargetGoal(this)); - this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); - } - - @Override - public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { - controllers.add(new AnimationController<>(this, "main_controller", 2, this::mainAnimController)); - } - - @Override - public AnimatableInstanceCache getAnimatableInstanceCache() { - return this.geoCache; - } - - @Override - public void tick() { - super.tick(); - if (this.level().isClientSide) { - return; - } - - if (this.spitCooldownTicks > 0) { - this.spitCooldownTicks--; - } - - if (this.spitAnimationTicks > 0) { - this.spitAnimationTicks--; - this.entityData.set(SPIT_ANIM_TICKS, this.spitAnimationTicks); - if (this.spitReleaseTicks > 0 && --this.spitReleaseTicks == 0) { - this.fireSpitProjectile(); - } - } - } - - @Override - public boolean doHurtTarget(net.minecraft.world.entity.Entity target) { - boolean hurt = super.doHurtTarget(target); - if (hurt) { - this.playSound(SoundEvents.SPIDER_HURT, 0.7F, 0.8F + this.random.nextFloat() * 0.2F); - } - return hurt; - } - - @Override - protected SoundEvent getAmbientSound() { - return SoundEvents.SPIDER_AMBIENT; - } - - @Override - protected SoundEvent getHurtSound(DamageSource damageSource) { - return SoundEvents.SPIDER_HURT; - } - - @Override - protected SoundEvent getDeathSound() { - return SoundEvents.SPIDER_DEATH; - } - - @Override - protected void playStepSound(BlockPos pos, BlockState blockState) { - this.playSound(SoundEvents.SPIDER_STEP, 0.18F, 0.95F); - } - - private PlayState mainAnimController(AnimationState state) { - if (this.entityData.get(SPIT_ANIM_TICKS) > 0) { - return state.setAndContinue(SPIT_ANIM); - } - return state.setAndContinue(state.isMoving() ? WALK_ANIM : IDLE_ANIM); - } - - private boolean canSpitAt(LivingEntity target) { - return this.spitCooldownTicks <= 0 - && this.spitAnimationTicks <= 0 - && this.hasLineOfSight(target) - && this.distanceToSqr(target) <= SPIT_RANGE_SQR - && this.distanceToSqr(target) > MELEE_RANGE_SQR; - } - - private void startSpitAttack() { - this.spitCooldownTicks = SPIT_COOLDOWN_TICKS; - this.spitAnimationTicks = SPIT_ANIMATION_TICKS; - this.spitReleaseTicks = SPIT_RELEASE_TICKS; - this.entityData.set(SPIT_ANIM_TICKS, this.spitAnimationTicks); - } - - @SuppressWarnings("unchecked") - private void fireSpitProjectile() { - if (!(this.level() instanceof ServerLevel serverLevel)) { - return; - } - - LivingEntity target = this.getTarget(); - if (target == null || !target.isAlive()) { - return; - } - - EntityType projectileType = (EntityType) BuiltInRegistries.ENTITY_TYPE.getOptional( - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "spit_bug_projectile") - ).orElse(null); - if (projectileType == null) { - return; - } - - SpitBugProjectileEntity projectile = new SpitBugProjectileEntity(projectileType, this, serverLevel); - Vec3 origin = this.position() - .add(0.0D, this.getBbHeight() * 0.55D, 0.0D) - .add(this.getViewVector(0.0F).scale(1.35D)); - Vec3 aimPoint = target.getEyePosition().add(target.getDeltaMovement().scale(0.45D)); - Vec3 direction = aimPoint.subtract(origin).normalize(); - - projectile.setPos(origin.x, origin.y, origin.z); - projectile.shoot(direction.x, direction.y, direction.z, 1.05F, 0.0F); - serverLevel.addFreshEntity(projectile); - this.playSound(SoundEvents.SLIME_ATTACK, 1.0F, 0.85F + this.random.nextFloat() * 0.15F); - } - - private final class SpitAttackGoal extends Goal { - SpitAttackGoal() { - this.setFlags(EnumSet.of(Flag.MOVE, Flag.LOOK)); - } - - @Override - public boolean canUse() { - LivingEntity target = SpitBugEntity.this.getTarget(); - return target != null && target.isAlive(); - } - - @Override - public boolean canContinueToUse() { - return this.canUse(); - } - - @Override - public void tick() { - LivingEntity target = SpitBugEntity.this.getTarget(); - if (target == null) { - return; - } - - SpitBugEntity.this.getLookControl().setLookAt(target, 30.0F, 30.0F); - - if (SpitBugEntity.this.canSpitAt(target)) { - SpitBugEntity.this.getNavigation().stop(); - SpitBugEntity.this.startSpitAttack(); - return; - } - - if (SpitBugEntity.this.distanceToSqr(target) > 36.0D || !SpitBugEntity.this.hasLineOfSight(target)) { - SpitBugEntity.this.getNavigation().moveTo(target, 1.0D); - } else { - SpitBugEntity.this.getNavigation().stop(); - } - } - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugProjectileEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugProjectileEntity.java deleted file mode 100644 index 34211277..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/SpitBugProjectileEntity.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.craisinlord.antarchy.content.entity; - -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.network.syncher.EntityDataAccessor; -import net.minecraft.network.syncher.EntityDataSerializers; -import net.minecraft.network.syncher.SynchedEntityData; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.projectile.ThrowableItemProjectile; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.EntityHitResult; -import net.minecraft.world.phys.Vec3; - -public class SpitBugProjectileEntity extends ThrowableItemProjectile { - private static final EntityDataAccessor LINGERING = - SynchedEntityData.defineId(SpitBugProjectileEntity.class, EntityDataSerializers.BOOLEAN); - private static final int MAX_FLIGHT_TICKS = 100; - private static final int LINGER_DURATION_TICKS = 300; - private static final int DIRECT_HIT_DAMAGE = 8; - private static final float LINGER_RADIUS = 1.65F; - - private boolean lingering; - private int lingeringTicks; - - public SpitBugProjectileEntity(EntityType entityType, Level level) { - super(entityType, level); - } - - public SpitBugProjectileEntity(EntityType entityType, LivingEntity owner, Level level) { - super(entityType, owner, level); - } - - @Override - protected void defineSynchedData(SynchedEntityData.Builder builder) { - super.defineSynchedData(builder); - builder.define(LINGERING, false); - } - - @Override - protected Item getDefaultItem() { - return Items.SLIME_BALL; - } - - @Override - protected double getDefaultGravity() { - return 0.03D; - } - - @Override - public boolean canBeCollidedWith() { - return false; - } - - @Override - public boolean isAttackable() { - return false; - } - - public boolean isLingering() { - return this.entityData.get(LINGERING); - } - - public float getRenderScale(float partialTick) { - if (!this.isLingering()) { - return 0.65F; - } - float progress = Math.min(1.0F, (this.lingeringTicks + partialTick) / 8.0F); - return 0.6F + progress * 0.5F; - } - - @Override - public void tick() { - if (this.isLingering()) { - this.tickLingering(); - return; - } - - super.tick(); - if (this.tickCount > MAX_FLIGHT_TICKS) { - this.discard(); - return; - } - - if (this.level().isClientSide) { - this.level().addParticle(ParticleTypes.ITEM_SLIME, this.getX(), this.getY(), this.getZ(), 0.0D, 0.0D, 0.0D); - } - } - - private void tickLingering() { - this.lingeringTicks++; - this.setDeltaMovement(Vec3.ZERO); - - if (this.level().isClientSide) { - double radius = 0.4D + this.random.nextDouble() * 0.45D; - this.level().addParticle( - ParticleTypes.ITEM_SLIME, - this.getX() + (this.random.nextDouble() - 0.5D) * radius, - this.getY() + 0.04D, - this.getZ() + (this.random.nextDouble() - 0.5D) * radius, - 0.0D, - 0.0D, - 0.0D - ); - return; - } - - if (this.lingeringTicks % 4 == 0) { - this.applyLingeringSpit(); - } - - if (this.lingeringTicks >= LINGER_DURATION_TICKS) { - this.discard(); - } - } - - private void applyLingeringSpit() { - for (LivingEntity target : this.level().getEntitiesOfClass( - LivingEntity.class, - this.getBoundingBox().inflate(LINGER_RADIUS, 0.6D, LINGER_RADIUS), - entity -> entity.isAlive() && entity != this.getOwner() - )) { - target.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 30, 3, false, true, true)); - target.makeStuckInBlock(Blocks.HONEY_BLOCK.defaultBlockState(), new Vec3(0.2D, 0.0D, 0.2D)); - } - - if (this.level() instanceof ServerLevel serverLevel) { - serverLevel.sendParticles(ParticleTypes.ITEM_SLIME, this.getX(), this.getY() + 0.05D, this.getZ(), 3, 0.45D, 0.02D, 0.45D, 0.0D); - } - } - - @Override - protected void onHitEntity(EntityHitResult result) { - if (!this.level().isClientSide && result.getEntity() instanceof LivingEntity livingTarget) { - Entity owner = this.getOwner(); - if (owner instanceof LivingEntity livingOwner) { - livingTarget.hurt(this.damageSources().mobProjectile(this, livingOwner), DIRECT_HIT_DAMAGE); - } else { - livingTarget.hurt(this.damageSources().magic(), DIRECT_HIT_DAMAGE); - } - livingTarget.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 80, 3, false, true, true)); - livingTarget.makeStuckInBlock(Blocks.HONEY_BLOCK.defaultBlockState(), new Vec3(0.25D, 0.0D, 0.25D)); - } - - this.beginLingering(result.getLocation()); - } - - @Override - protected void onHitBlock(BlockHitResult result) { - this.beginLingering(result.getLocation()); - } - - private void beginLingering(Vec3 location) { - if (this.isLingering()) { - return; - } - - this.lingering = true; - this.entityData.set(LINGERING, true); - this.lingeringTicks = 0; - this.noPhysics = true; - this.setPos(location.x, location.y + 0.05D, location.z); - this.setDeltaMovement(Vec3.ZERO); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java index be235d48..3d754405 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/kraken/KrakenEntity.java @@ -76,8 +76,6 @@ public class KrakenEntity extends Monster implements GeoEntity, MultipartEntityO private static final String AGGRO_TRIGGERED_KEY = "AggroTriggered"; private static final String GRAB_TARGET_KEY = "GrabTarget"; - private static final double BOSS_BAR_RANGE = 40.0D; - private static final int ATTACK_NONE = 0; private static final int ATTACK_GRAB = 1; private static final int ATTACK_SWING_LEFT = 2; @@ -263,8 +261,19 @@ public class KrakenEntity extends Monster implements GeoEntity, MultipartEntityO LivingEntity target = this.getTarget(); if ((target == null || !target.isAlive()) && this.tickCount % 10 == 0) { - Player nearbyPlayer = this.level().getNearestPlayer(this, BOSS_BAR_RANGE); - if (nearbyPlayer != null && this.canAttack(nearbyPlayer)) { + Player nearbyPlayer = null; + double nearestHorizontalDistanceSqr = Double.MAX_VALUE; + for (Player player : this.level().getEntitiesOfClass(Player.class, this.getBoundingBox().inflate(this.getBossBarRange(), 192.0D, this.getBossBarRange()))) { + if (!player.isAlive() || !this.canAttack(player) || !this.isWithinBossBarRange(player)) { + continue; + } + double horizontalDistanceSqr = this.horizontalDistanceToSqr(player); + if (horizontalDistanceSqr < nearestHorizontalDistanceSqr) { + nearestHorizontalDistanceSqr = horizontalDistanceSqr; + nearbyPlayer = player; + } + } + if (nearbyPlayer != null) { this.setTarget(nearbyPlayer); target = nearbyPlayer; } @@ -943,11 +952,12 @@ public class KrakenEntity extends Monster implements GeoEntity, MultipartEntityO return; } - AABB bossBarArea = this.getBoundingBox().inflate(BOSS_BAR_RANGE, 16.0D, BOSS_BAR_RANGE); + double bossBarRange = this.getBossBarRange(); + AABB bossBarArea = this.getBoundingBox().inflate(bossBarRange, 192.0D, bossBarRange); List nearbyPlayers = serverLevel.getEntitiesOfClass( ServerPlayer.class, bossBarArea, - player -> player.isAlive() && this.distanceToSqr(player) <= BOSS_BAR_RANGE * BOSS_BAR_RANGE + player -> player.isAlive() && this.isWithinBossBarRange(player) ); for (ServerPlayer player : List.copyOf(this.bossEvent.getPlayers())) { @@ -965,6 +975,21 @@ public class KrakenEntity extends Monster implements GeoEntity, MultipartEntityO this.setKrakenStormActive(!nearbyPlayers.isEmpty()); } + private double getBossBarRange() { + return Math.max(40.0D, com.craisinlord.antarchy.config.AntarchySettings.krakenBossBarRange()); + } + + private boolean isWithinBossBarRange(Entity entity) { + double bossBarRange = this.getBossBarRange(); + return this.horizontalDistanceToSqr(entity) <= bossBarRange * bossBarRange; + } + + private double horizontalDistanceToSqr(Entity entity) { + double dx = this.getX() - entity.getX(); + double dz = this.getZ() - entity.getZ(); + return dx * dx + dz * dz; + } + private void applyPhaseTwoBuffs() { AttributeInstance movementSpeed = this.getAttribute(Attributes.MOVEMENT_SPEED); if (movementSpeed != null && !movementSpeed.hasModifier(PHASE_TWO_SPEED_ID)) { diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java index 7f36e286..ba954583 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/multipart/MultipartFramework.java @@ -33,7 +33,6 @@ public final class MultipartFramework { @Nullable private static PartFactory partFactory; private static NetworkBridge networkBridge = NOOP_BRIDGE; - private MultipartFramework() { } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java deleted file mode 100644 index f26a2c10..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/item/BigBushBlockItem.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.craisinlord.antarchy.content.item; - -import java.util.List; - -import net.minecraft.ChatFormatting; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.block.Block; - -public class BigBushBlockItem extends BlockItem { - public BigBushBlockItem(Block block, Properties properties) { - super(block, properties); - } - - @Override - public void appendHoverText(ItemStack stack, Item.TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { - tooltipComponents.add(Component.translatable("item.antarchy.big_bush.tooltip").withStyle(ChatFormatting.GRAY)); - super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java index 9d84f0fa..a533f2e6 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java @@ -19,7 +19,7 @@ public final class PermanentPortalShape { public static final int MIN_WIDTH = 2; public static final int MIN_HEIGHT = 3; public static final int MAX_SIZE = 21; - public static final int ACTIVE_SEARCH_RADIUS = 8; + public static final int ACTIVE_SEARCH_RADIUS = 24; private final PermanentPortalType type; private final Direction.Axis axis; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java index bfd18721..02abb785 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java @@ -20,7 +20,7 @@ import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.Nullable; public final class PermanentPortalTeleporter { - private static final int SEARCH_RADIUS = 8; + private static final int SEARCH_RADIUS = 24; private static final int VERTICAL_SEARCH = 24; private PermanentPortalTeleporter() { diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java deleted file mode 100644 index d2352a2f..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/BigBushWorldgenFeature.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.craisinlord.antarchy.content.worldgen; - -import com.craisinlord.antarchy.content.block.BigBushBlock; -import com.mojang.serialization.Codec; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - -import java.util.ArrayList; -import java.util.List; - -/** Places a {@link BigBushBlock} at a fixed growth stage (age), used for sparse overworld generation. */ -public class BigBushWorldgenFeature extends Feature { - private final int age; - - public BigBushWorldgenFeature(Codec codec, int age) { - super(codec); - this.age = age; - } - - @Override - public boolean place(FeaturePlaceContext context) { - WorldGenLevel level = context.level(); - BlockPos origin = context.origin(); - RandomSource random = context.random(); - - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "big_bush")); - if (!(block instanceof BigBushBlock)) { - return false; - } - - List facings = new ArrayList<>(Direction.Plane.HORIZONTAL.stream().toList()); - for (int i = facings.size() - 1; i > 0; i--) { - Direction swap = facings.set(random.nextInt(i + 1), facings.get(i)); - facings.set(i, swap); - } - - for (Direction facing : facings) { - BlockState grown = block.defaultBlockState().setValue(BigBushBlock.AGE, age).setValue(BigBushBlock.FACING, facing); - if (canPlace(level, origin, grown)) { - BigBushBlock.placeBushBlocks(level, origin, grown, Block.UPDATE_ALL); - return true; - } - if (age == 0) { - // Facing is irrelevant at age 0 (single block); no need to try every rotation. - break; - } - } - return false; - } - - private boolean canPlace(WorldGenLevel level, BlockPos origin, BlockState grown) { - if (!BigBushBlock.hasFullSupport(grown, level, origin)) { - return false; - } - List positions = new ArrayList<>(BigBushBlock.partPositions(grown, origin)); - positions.add(origin); - for (BlockPos pos : positions) { - if (!level.getBlockState(pos).canBeReplaced()) { - return false; - } - } - return true; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java deleted file mode 100644 index 40d379de..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/VeryTallGrassWorldgenFeature.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.craisinlord.antarchy.content.worldgen; - -import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; -import com.mojang.serialization.Codec; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - -/** Places a single 3-tall {@link VeryTallGrassBlock} column, used for sparse overworld generation. */ -public class VeryTallGrassWorldgenFeature extends Feature { - public VeryTallGrassWorldgenFeature(Codec codec) { - super(codec); - } - - @Override - public boolean place(FeaturePlaceContext context) { - WorldGenLevel level = context.level(); - BlockPos pos = context.origin(); - if (!level.getBlockState(pos).isAir() - || !level.getBlockState(pos.above()).isAir() - || !level.getBlockState(pos.above(2)).isAir()) { - return false; - } - BlockPos below = pos.below(); - if (!level.getBlockState(below).isFaceSturdy(level, below, Direction.UP)) { - return false; - } - VeryTallGrassBlock.placeAt(level, pos, Block.UPDATE_ALL); - return true; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java index 00a17a11..c7517782 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/worldgen/elythia/ElythiaFloraFeature.java @@ -1,9 +1,8 @@ package com.craisinlord.antarchy.content.worldgen.elythia; -import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.AntarchyObjects; -import com.craisinlord.antarchy.content.block.BigBushBlock; -import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; +import com.craisinlord.sizeablefoliage.content.block.BigBushBlock; +import com.craisinlord.sizeablefoliage.content.block.VeryTallGrassBlock; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -23,6 +22,8 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; public class ElythiaFloraFeature extends Feature { + private static final String SIZEABLE_FOLIAGE_MODID = "sizeable_foliage"; + private final Variant variant; public ElythiaFloraFeature(Codec codec, Variant variant) { @@ -127,7 +128,7 @@ public class ElythiaFloraFeature extends Feature { if (this.variant == Variant.TORCHFLOWER_FIELDS) { float roll = random.nextFloat(); if (roll < 0.14F) { - return placeDouble(level, plantPos, AntarchyObjects.TORCHFLOWER_BUSH.get().defaultBlockState()); + return placeDouble(level, plantPos, torchflowerBush().defaultBlockState()); } if (roll < 0.58F) { return placeSingle(level, plantPos, Blocks.TORCHFLOWER); @@ -201,17 +202,22 @@ public class ElythiaFloraFeature extends Feature { } private static Block veryShortGrass() { - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass")); + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(SIZEABLE_FOLIAGE_MODID, "very_short_grass")); return block == Blocks.AIR ? Blocks.SHORT_GRASS : block; } private static Block veryTallGrass() { - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass")); + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(SIZEABLE_FOLIAGE_MODID, "very_tall_grass")); return block == Blocks.AIR ? Blocks.TALL_GRASS : block; } + private static Block torchflowerBush() { + Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(SIZEABLE_FOLIAGE_MODID, "torchflower_bush")); + return block == Blocks.AIR ? Blocks.TORCHFLOWER : block; + } + private boolean placeBigBushes(WorldGenLevel level, BlockPos origin, RandomSource random, int radius) { - Block bushBlock = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush")); + Block bushBlock = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath(SIZEABLE_FOLIAGE_MODID, "big_bush")); if (!(bushBlock instanceof BigBushBlock)) { return false; } diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java deleted file mode 100644 index 732ec7db..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemTorchflowerBushMixin.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.craisinlord.antarchy.mixins; - -import com.craisinlord.antarchy.content.block.TorchflowerBushBlock; -import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.item.BoneMealItem; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.DoublePlantBlock; -import net.minecraft.world.level.block.state.BlockState; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(BoneMealItem.class) -public abstract class BoneMealItemTorchflowerBushMixin { - @Inject(method = "useOn", at = @At("HEAD"), cancellable = true) - private void antarchy$growTorchflowerBush(UseOnContext context, CallbackInfoReturnable cir) { - Level level = context.getLevel(); - BlockPos pos = context.getClickedPos(); - BlockState clickedState = level.getBlockState(pos); - if (!clickedState.is(Blocks.TORCHFLOWER)) { - return; - } - - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "torchflower_bush")); - if (!(block instanceof TorchflowerBushBlock)) { - return; - } - - BlockState lowerState = block.defaultBlockState(); - if (!level.getBlockState(pos.above()).canBeReplaced() || !lowerState.canSurvive(level, pos)) { - return; - } - - if (!level.isClientSide) { - DoublePlantBlock.placeAt(level, lowerState, pos, Block.UPDATE_ALL); - if (context.getPlayer() == null || !context.getPlayer().getAbilities().instabuild) { - ItemStack stack = context.getItemInHand(); - stack.shrink(1); - } - level.levelEvent(1505, pos, 15); - } - - cir.setReturnValue(InteractionResult.sidedSuccess(level.isClientSide)); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java deleted file mode 100644 index 72b7b415..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/BoneMealItemVeryTallGrassMixin.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.craisinlord.antarchy.mixins; - -import com.craisinlord.antarchy.content.block.VeryTallGrassBlock; -import net.minecraft.core.BlockPos; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.item.BoneMealItem; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.DoublePlantBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(BoneMealItem.class) -public abstract class BoneMealItemVeryTallGrassMixin { - @Inject(method = "useOn", at = @At("HEAD"), cancellable = true) - private void antarchy$growVeryTallGrass(UseOnContext context, CallbackInfoReturnable cir) { - Level level = context.getLevel(); - BlockPos pos = context.getClickedPos(); - BlockState clickedState = level.getBlockState(pos); - if (!clickedState.is(Blocks.TALL_GRASS)) { - return; - } - - BlockPos basePos = clickedState.getValue(DoublePlantBlock.HALF) == DoubleBlockHalf.LOWER ? pos : pos.below(); - BlockState baseState = level.getBlockState(basePos); - BlockState middleState = level.getBlockState(basePos.above()); - if (!baseState.is(Blocks.TALL_GRASS) - || baseState.getValue(DoublePlantBlock.HALF) != DoubleBlockHalf.LOWER - || !middleState.is(Blocks.TALL_GRASS) - || middleState.getValue(DoublePlantBlock.HALF) != DoubleBlockHalf.UPPER) { - return; - } - - Block block = BuiltInRegistries.BLOCK.get(ResourceLocation.fromNamespaceAndPath("antarchy", "very_tall_grass")); - if (!(block instanceof VeryTallGrassBlock)) { - return; - } - - BlockState veryTallState = block.defaultBlockState(); - if (!level.getBlockState(basePos.above(2)).canBeReplaced() - || !veryTallState.canSurvive(level, basePos)) { - return; - } - - if (!level.isClientSide) { - VeryTallGrassBlock.placeAt(level, basePos, Block.UPDATE_ALL); - if (context.getPlayer() == null || !context.getPlayer().getAbilities().instabuild) { - ItemStack stack = context.getItemInHand(); - stack.shrink(1); - } - level.levelEvent(1505, basePos, 15); - } - - cir.setReturnValue(InteractionResult.sidedSuccess(level.isClientSide)); - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/TorchflowerBlockStateMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/TorchflowerBlockStateMixin.java deleted file mode 100644 index 290dca10..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/TorchflowerBlockStateMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.craisinlord.antarchy.mixins; - -import com.craisinlord.antarchy.config.AntarchySettings; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.block.state.BlockState; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -@Mixin(BlockBehaviour.BlockStateBase.class) -/* - * Makes torchflowers glow when the config is on. - */ -public abstract class TorchflowerBlockStateMixin { - @Inject(method = "getLightEmission", at = @At("HEAD"), cancellable = true) - private void antarchy$makeTorchflowerGlow(CallbackInfoReturnable cir) { - BlockState state = (BlockState) (Object) this; - if (AntarchySettings.glowingTorchflowers() && state.is(Blocks.TORCHFLOWER)) { - cir.setReturnValue(10); - } - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java deleted file mode 100644 index 3b948189..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/client/BlockRenderDispatcherBigBushMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.craisinlord.antarchy.mixins.client; - -import com.craisinlord.antarchy.content.block.BigBushBlock; -import com.craisinlord.antarchy.content.block.BigBushPartBlock; -import com.craisinlord.antarchy.content.client.AlphaVertexConsumerProxy; -import com.craisinlord.antarchy.content.client.BigBushCameraHider; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.renderer.block.BlockRenderDispatcher; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; - -@Mixin(BlockRenderDispatcher.class) -public abstract class BlockRenderDispatcherBigBushMixin { - @ModifyVariable(method = "renderBatched", at = @At("HEAD"), argsOnly = true) - private VertexConsumer antarchy$fadeBigBushAroundCamera(VertexConsumer consumer, BlockState state, BlockPos pos) { - if ((state.getBlock() instanceof BigBushBlock || state.getBlock() instanceof BigBushPartBlock) - && BigBushCameraHider.shouldFade(pos)) { - return AlphaVertexConsumerProxy.wrap(consumer, 0.35F); - } - return consumer; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java deleted file mode 100644 index 926c1a78..00000000 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/client/LivingEntityRendererBigBushMixin.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.craisinlord.antarchy.mixins.client; - -import com.craisinlord.antarchy.content.client.BigBushRenderHelper; -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.client.renderer.entity.LivingEntityRenderer; -import net.minecraft.world.entity.LivingEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyArg; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(LivingEntityRenderer.class) -public abstract class LivingEntityRendererBigBushMixin { - @Unique - private boolean antarchy$inBigBush; - - @Inject( - method = "render(Lnet/minecraft/world/entity/LivingEntity;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", - at = @At("HEAD") - ) - private void antarchy$checkBigBush(LivingEntity entity, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource buffer, int packedLight, CallbackInfo ci) { - this.antarchy$inBigBush = BigBushRenderHelper.isInsideBigBush(entity); - } - - @SuppressWarnings({"unchecked", "rawtypes"}) - @Inject(method = "getRenderType", at = @At("HEAD"), cancellable = true) - private void antarchy$bigBushRenderType(LivingEntity entity, boolean bodyVisible, boolean translucent, boolean glowing, CallbackInfoReturnable cir) { - if (bodyVisible && !translucent && !glowing && BigBushRenderHelper.isInsideBigBush(entity)) { - cir.setReturnValue(RenderType.itemEntityTranslucentCull(((EntityRenderer) (Object) this).getTextureLocation(entity))); - } - } - - @Inject(method = "shouldShowName(Lnet/minecraft/world/entity/LivingEntity;)Z", at = @At("HEAD"), cancellable = true) - private void antarchy$hideBigBushNameTag(LivingEntity entity, CallbackInfoReturnable cir) { - if (BigBushRenderHelper.isInsideBigBush(entity)) { - cir.setReturnValue(false); - } - } - - @ModifyArg( - method = "render(Lnet/minecraft/world/entity/LivingEntity;FFLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;I)V", - at = @At(value = "INVOKE", target = "Lnet/minecraft/client/model/EntityModel;renderToBuffer(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;III)V"), - index = 4 - ) - private int antarchy$bigBushAlpha(int color) { - return this.antarchy$inBigBush && color == -1 ? 0x99FFFFFF : color; - } -} diff --git a/common/src/main/java/com/craisinlord/antarchy/mixins/client/MountedVehicleCameraMixin.java b/common/src/main/java/com/craisinlord/antarchy/mixins/client/MountedVehicleCameraMixin.java index 47605151..2ee0c36d 100644 --- a/common/src/main/java/com/craisinlord/antarchy/mixins/client/MountedVehicleCameraMixin.java +++ b/common/src/main/java/com/craisinlord/antarchy/mixins/client/MountedVehicleCameraMixin.java @@ -41,8 +41,8 @@ public abstract class MountedVehicleCameraMixin { } if (vehicle instanceof DorrieEntity) { - args.set(0, (Float) args.get(0) * 1.6F); - args.set(1, (Float) args.get(1) + 0.15F); + args.set(0, (Float) args.get(0) * 0.25F); + args.set(1, (Float) args.get(1) + 0.1F); args.set(2, (Float) args.get(2) + 0.55F); } } diff --git a/common/src/main/resources/antarchy-common.mixins.json b/common/src/main/resources/antarchy-common.mixins.json index 2a281ed4..c8baf76c 100644 --- a/common/src/main/resources/antarchy-common.mixins.json +++ b/common/src/main/resources/antarchy-common.mixins.json @@ -1,76 +1,70 @@ { - "required": true, - "package": "com.craisinlord.antarchy.mixins", - "plugin": "com.craisinlord.antarchy.mixins.AntarchyMixinPlugin", - "compatibilityLevel": "JAVA_21", - "mixins": [ - "AccessorRangedAttribute", - "BoneMealItemVeryTallGrassMixin", - "BoneMealItemTorchflowerBushMixin", - "BlockEntityTypeSignMixin", - "BloodglassMixin", - "DreamFireBlockMixin", - "DreamSandLowGravityMixin", - "FireVisualBaseFireBlockMixin", - "FireVisualEntityMixin", - "FlintAndSteelPortalIgnitionMixin", - "GlowVinesUnderLeavesMixin", - "NightmareSwordDamageMixin", - "ServerPlayerGameModeMixin", - "SquidzookaEnchantMixin", - "SquidzookaMultishotMixin", - "TorchflowerBlockStateMixin", - "gravity.AbstractArrowGravityMixin", - "gravity.BucketItemGravityMixin", - "gravity.ChunkMapAccessor", - "gravity.CrossbowItemGravityMixin", - "gravity.DirectionFacingMixin", - "gravity.EntityCollisionContextMixin", - "gravity.EntityGravityFrameMixin", - "gravity.EntityGravityMixin", - "gravity.EntityMoveMixin", - "gravity.ExplosionGravityMixin", - "gravity.FallingBlockEntityBlockDataMixin", - "gravity.FireworkRocketGravityMixin", - "gravity.GroundPathNavigationMixin", - "gravity.LivingEntityMixin", - "gravity.MobHurtMixin", - "gravity.PathNavigationAccessor", - "gravity.PathNavigationDebugMixin", - "gravity.PlayerAttackMixin", - "gravity.PlayerGravityMixin", - "gravity.PlayerPoseFitMixin", - "gravity.PlayerSneakMixin", - "gravity.ProjectileGravityMixin", - "gravity.ServerChunkCacheAccessor", - "gravity.ServerEntityAccessor", - "gravity.ServerGamePacketListenerMixin", - "gravity.ServerPlayerGravityMixin", - "gravity.ThrowableProjectileGravityMixin", - "gravity.TrackedEntityAccessor", - "multipart.EntityMultipartLifecycleMixin" - ], - "client": [ - "client.BlockRenderDispatcherBigBushMixin", - "client.CavarynSkyMixin", - "client.ElythiaSkyMixin", - "client.ElytraModelAccessor", - "client.GameRendererSwingThroughGrassMixin", - "client.LightningBoltRendererMixin", - "client.LivingEntityRendererBigBushMixin", - "client.MountedVehicleCameraMixin", - "client.ParalyzedMouseTurnMixin", - "client.ScreenEffectRendererFireVisualMixin", - "client.SplashManagerMixin", - "client.ThoraxisFogMixin", - "client.WolfRendererGrimMixin", - "gravity.client.CameraGravityMixin", - "gravity.client.ClientPacketListenerGravityMixin", - "gravity.client.EntityRenderDispatcherGravityMixin", - "gravity.client.FallingBlockRendererBlockEntityMixin" - ], - "injectors": { - "defaultRequire": 1 - }, - "minVersion": "0.8" + "required": true, + "package": "com.craisinlord.antarchy.mixins", + "plugin": "com.craisinlord.antarchy.mixins.AntarchyMixinPlugin", + "compatibilityLevel": "JAVA_21", + "mixins": [ + "AccessorRangedAttribute", + "BlockEntityTypeSignMixin", + "BloodglassMixin", + "DreamFireBlockMixin", + "DreamSandLowGravityMixin", + "FireVisualBaseFireBlockMixin", + "FireVisualEntityMixin", + "FlintAndSteelPortalIgnitionMixin", + "GlowVinesUnderLeavesMixin", + "NightmareSwordDamageMixin", + "ServerPlayerGameModeMixin", + "SquidzookaEnchantMixin", + "SquidzookaMultishotMixin", + "gravity.AbstractArrowGravityMixin", + "gravity.BucketItemGravityMixin", + "gravity.ChunkMapAccessor", + "gravity.CrossbowItemGravityMixin", + "gravity.DirectionFacingMixin", + "gravity.EntityCollisionContextMixin", + "gravity.EntityGravityFrameMixin", + "gravity.EntityGravityMixin", + "gravity.EntityMoveMixin", + "gravity.ExplosionGravityMixin", + "gravity.FallingBlockEntityBlockDataMixin", + "gravity.FireworkRocketGravityMixin", + "gravity.GroundPathNavigationMixin", + "gravity.LivingEntityMixin", + "gravity.MobHurtMixin", + "gravity.PathNavigationAccessor", + "gravity.PathNavigationDebugMixin", + "gravity.PlayerAttackMixin", + "gravity.PlayerGravityMixin", + "gravity.PlayerPoseFitMixin", + "gravity.PlayerSneakMixin", + "gravity.ProjectileGravityMixin", + "gravity.ServerChunkCacheAccessor", + "gravity.ServerEntityAccessor", + "gravity.ServerGamePacketListenerMixin", + "gravity.ServerPlayerGravityMixin", + "gravity.ThrowableProjectileGravityMixin", + "gravity.TrackedEntityAccessor", + "multipart.EntityMultipartLifecycleMixin" + ], + "client": [ + "client.ElythiaSkyMixin", + "client.ElytraModelAccessor", + "client.GameRendererSwingThroughGrassMixin", + "client.LightningBoltRendererMixin", + "client.MountedVehicleCameraMixin", + "client.ParalyzedMouseTurnMixin", + "client.ScreenEffectRendererFireVisualMixin", + "client.SplashManagerMixin", + "client.ThoraxisFogMixin", + "client.WolfRendererGrimMixin", + "gravity.client.CameraGravityMixin", + "gravity.client.ClientPacketListenerGravityMixin", + "gravity.client.EntityRenderDispatcherGravityMixin", + "gravity.client.FallingBlockRendererBlockEntityMixin" + ], + "injectors": { + "defaultRequire": 1 + }, + "minVersion": "0.8" } diff --git a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json index 05be1d2a..ce875de5 100644 --- a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json @@ -5331,6 +5331,1590 @@ } } } + }, + "harden": { + "animation_length": 0.5417, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [-107.5, 0, 0] + }, + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-120, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.375": { + "pre": { + "vector": [-107.5, 0, 0] + }, + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-120, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [12.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-15.05854, 26.48174, -25.94745] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-15.05854, -26.48174, 25.94745] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [17.52448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-145, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5.49824, 16.37564, -51.24195] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0.01826, 1.73134, 136.80371] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [1.80191, -2.27789, 0.75121] + }, + "post": { + "vector": [1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [13.60123, 4.2104, -64.72603] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [1.70318, -3.54515, -0.72874] + }, + "post": { + "vector": [1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [27.13034, -1.74132, -67.04592] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [1.3197, -2.84723, -0.38945] + }, + "post": { + "vector": [1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [46.24426, -3.10601, -77.45876] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 150] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.375": { + "pre": { + "vector": [2, -3.4641, 0] + }, + "post": { + "vector": [2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5.49824, -16.37564, 51.24195] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0.01826, -1.73134, -136.80371] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.375": { + "pre": { + "vector": [-1.80191, -2.27789, 0.75121] + }, + "post": { + "vector": [-1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [13.60123, -4.2104, 64.72603] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.375": { + "pre": { + "vector": [-1.70318, -3.54515, -0.72874] + }, + "post": { + "vector": [-1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [27.13034, 1.74132, 67.04592] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.375": { + "pre": { + "vector": [-1.3197, -2.84723, -0.38945] + }, + "post": { + "vector": [-1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [46.24426, 3.10601, 77.45876] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -150] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.375": { + "pre": { + "vector": [-2, -3.4641, 0] + }, + "post": { + "vector": [-2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [-7.5, 0, 0] + }, + "position": { + "vector": [0, 2.97433, 0.39158] + } + } + } + }, + "harden_state": { + "loop": true, + "animation_length": 0.5, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.05854, 26.48174, -25.94745] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.05854, -26.48174, 25.94745] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [17.52448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [-62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [-145, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.49824, 16.37564, -51.24195] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0.01826, 1.73134, 136.80371] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [13.60123, 4.2104, -64.72603] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [27.13034, -1.74132, -67.04592] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [46.24426, -3.10601, -77.45876] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 150] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.49824, -16.37564, 51.24195] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0.01826, -1.73134, -136.80371] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [13.60123, -4.2104, 64.72603] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [27.13034, 1.74132, 67.04592] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [46.24426, 3.10601, 77.45876] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -150] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "rotation": { + "vector": [-7.5, 0, 0] + }, + "position": { + "vector": [0, 2.97433, 0.39158] + } + } + } + }, + "end_of_harden_state": { + "animation_length": 1, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [-107.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.05854, 26.48174, -25.94745] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.05854, -26.48174, 25.94745] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [17.52448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "1.0": { + "pre": { + "vector": [0, 0, 0] + }, + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [-62.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [-145, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.49824, 16.37564, -51.24195] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0.01826, 1.73134, 136.80371] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [13.60123, 4.2104, -64.72603] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [27.13034, -1.74132, -67.04592] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 145] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [46.24426, -3.10601, -77.45876] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 150] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-5.49824, -16.37564, 51.24195] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0.01826, -1.73134, -136.80371] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.80191, -2.27789, 0.75121] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [13.60123, -4.2104, 64.72603] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.70318, -3.54515, -0.72874] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [27.13034, 1.74132, 67.04592] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -145] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-1.3197, -2.84723, -0.38945] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [46.24426, 3.10601, 77.45876] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -150] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [-2, -3.4641, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "1.0": { + "pre": { + "vector": [-7.5, 0, 0] + }, + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "1.0": { + "pre": { + "vector": [0, 2.97433, 0.39158] + }, + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/glimmer.animation.json b/common/src/main/resources/assets/antarchy/animations/glimmer.animation.json new file mode 100644 index 00000000..9084e98c --- /dev/null +++ b/common/src/main/resources/assets/antarchy/animations/glimmer.animation.json @@ -0,0 +1,1669 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 2, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.72, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-8.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [-6.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-7.72, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [28.85, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5833": { + "vector": [24.17, 0, 0] + }, + "0.75": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "vector": [32.5, 0, 0] + }, + "1.0": { + "vector": [28.85, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 4.5, -7.5] + }, + "0.2083": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -0.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5417": { + "vector": [0, -0.41, 0.92] + }, + "0.5833": { + "vector": [0, -1.83, 1.83] + }, + "0.7083": { + "pre": { + "vector": [0, -2.1, -0.4] + }, + "post": { + "vector": [0, -2.1, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 2.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 4.5, -7.5] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [24.17, 0, 0] + }, + "0.25": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "vector": [32.5, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, -0.41, 0.92] + }, + "0.0833": { + "vector": [0, -1.83, 1.83] + }, + "0.2083": { + "pre": { + "vector": [0, -2.1, -0.4] + }, + "post": { + "vector": [0, -2.1, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 4.5, -7.5] + }, + "0.7083": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, -0.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 0] + }, + "0.3333": { + "vector": [24.17, 0, 0] + }, + "0.5": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [32.5, 0, 0] + }, + "0.9167": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -0.58, -6.56] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -1.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 0] + }, + "0.3333": { + "vector": [0, -0.83, 1.83] + }, + "0.4583": { + "pre": { + "vector": [0, 0.9, -0.4] + }, + "post": { + "vector": [0, 0.9, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 3.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, 4.5, -7.5] + }, + "0.9583": { + "pre": { + "vector": [0, 0.83, -7.08] + }, + "post": { + "vector": [0, 0.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -0.58, -6.56] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [32.5, 0, 0] + }, + "0.4167": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [24.17, 0, 0] + }, + "1.0": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 1.74, -1.74] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 3.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 4.5, -7.5] + }, + "0.4583": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.42, -6.56] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -1.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, -2, 0] + }, + "0.8333": { + "vector": [0, -0.83, 1.83] + }, + "0.9583": { + "pre": { + "vector": [0, 0.9, -0.4] + }, + "post": { + "vector": [0, 0.9, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 1.74, -1.74] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [0, 2, 0] + }, + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 2.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "vector": [0, 1, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5417": { + "vector": [0, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [0, 2, 0] + }, + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 2.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "vector": [0, 1, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + } + } + }, + "run": { + "loop": true, + "animation_length": 0.5, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.98, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [-15.19, 0, 0] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [32.5, 0, 0] + }, + "0.375": { + "pre": { + "vector": [52.5, 0, 0] + }, + "post": { + "vector": [52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.98, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0.5, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0.19, -0.72] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [0, -0.5, 1] + }, + "0.25": { + "vector": [0, -2, 2] + }, + "0.375": { + "pre": { + "vector": [0, 1, 0] + }, + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [-15.19, 0, 0] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [32.5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [52.5, 0, 0] + }, + "post": { + "vector": [52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-15.19, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0.19, -0.72] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, -0.5, 1] + }, + "0.125": { + "vector": [0, -2, 2] + }, + "0.25": { + "pre": { + "vector": [0, 1, 0] + }, + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0.5, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0.19, -0.72] + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [40, 0, 0] + }, + "0.3333": { + "pre": { + "vector": [35.83, 0, 0] + }, + "post": { + "vector": [35.83, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.01, -2.12] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0.69, -1.44] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, -1, 2] + }, + "0.2083": { + "vector": [0, -0.33, 2.33] + }, + "0.2917": { + "pre": { + "vector": [0, 1, 3] + }, + "post": { + "vector": [0, 1, 3] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 3, -2] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.01, -2.12] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [40, 0, 0] + }, + "0.2083": { + "pre": { + "vector": [35.83, 0, 0] + }, + "post": { + "vector": [35.83, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, -1, 2] + }, + "0.0833": { + "vector": [0, -0.33, 2.33] + }, + "0.1667": { + "pre": { + "vector": [0, 1, 3] + }, + "post": { + "vector": [0, 1, 3] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 3, -2] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0.69, -1.44] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [2.5, 0, 0] + }, + "0.2083": { + "pre": { + "vector": [5, 0, 0] + }, + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 2] + }, + "0.0833": { + "vector": [0, -1, 4] + }, + "0.2083": { + "pre": { + "vector": [0, 0.5, 5.25] + }, + "post": { + "vector": [0, 0.5, 5.25] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2, 3.75] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 2] + } + } + } + } + }, + "quirk": { + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "pre": { + "vector": [-7.5, 0, 7.5] + }, + "post": { + "vector": [-7.5, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [10, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [10, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-5, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "right_ear": { + "rotation": { + "0.75": { + "vector": [0, 0, 0] + }, + "0.7917": { + "pre": { + "vector": [-12.5, -30, 7.5] + }, + "post": { + "vector": [-12.5, -30, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.84, -26.02, 6.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "vector": [0, 0, 0] + } + } + }, + "left_ear": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.7083": { + "pre": { + "vector": [-12.5, 30, -7.5] + }, + "post": { + "vector": [-12.5, 30, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.84, 26.02, -6.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "vector": [0, 0, 0] + } + } + }, + "neck": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 5] + }, + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "torso": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "pre": { + "vector": [0, 0, -7.5] + }, + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/glimmer_baby.animation.json b/common/src/main/resources/assets/antarchy/animations/glimmer_baby.animation.json new file mode 100644 index 00000000..9084e98c --- /dev/null +++ b/common/src/main/resources/assets/antarchy/animations/glimmer_baby.animation.json @@ -0,0 +1,1669 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 2, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_ear": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, -22.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.72, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-8.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [-6.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-7.72, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1.25, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [28.85, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5833": { + "vector": [24.17, 0, 0] + }, + "0.75": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "vector": [32.5, 0, 0] + }, + "1.0": { + "vector": [28.85, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 4.5, -7.5] + }, + "0.2083": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -0.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5417": { + "vector": [0, -0.41, 0.92] + }, + "0.5833": { + "vector": [0, -1.83, 1.83] + }, + "0.7083": { + "pre": { + "vector": [0, -2.1, -0.4] + }, + "post": { + "vector": [0, -2.1, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 2.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 4.5, -7.5] + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [24.17, 0, 0] + }, + "0.25": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "vector": [32.5, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, -0.41, 0.92] + }, + "0.0833": { + "vector": [0, -1.83, 1.83] + }, + "0.2083": { + "pre": { + "vector": [0, -2.1, -0.4] + }, + "post": { + "vector": [0, -2.1, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 4.5, -7.5] + }, + "0.7083": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, -0.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 0] + }, + "0.3333": { + "vector": [24.17, 0, 0] + }, + "0.5": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [32.5, 0, 0] + }, + "0.9167": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -0.58, -6.56] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -1.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 0] + }, + "0.3333": { + "vector": [0, -0.83, 1.83] + }, + "0.4583": { + "pre": { + "vector": [0, 0.9, -0.4] + }, + "post": { + "vector": [0, 0.9, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 3.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, 4.5, -7.5] + }, + "0.9583": { + "pre": { + "vector": [0, 0.83, -7.08] + }, + "post": { + "vector": [0, 0.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -0.58, -6.56] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [32.5, 0, 0] + }, + "0.4167": { + "pre": { + "vector": [8.75, 0, 0] + }, + "post": { + "vector": [8.75, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0.85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-6.84, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [24.17, 0, 0] + }, + "1.0": { + "pre": { + "vector": [37.08, 0, 0] + }, + "post": { + "vector": [37.08, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 1.74, -1.74] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 3.45, -4.7] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 4.5, -7.5] + }, + "0.4583": { + "pre": { + "vector": [0, 2.83, -7.08] + }, + "post": { + "vector": [0, 2.83, -7.08] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.42, -6.56] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -1.76, -4.19] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "vector": [0, -2, 0] + }, + "0.8333": { + "vector": [0, -0.83, 1.83] + }, + "0.9583": { + "pre": { + "vector": [0, 0.9, -0.4] + }, + "post": { + "vector": [0, 0.9, -0.4] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 1.74, -1.74] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.1667": { + "pre": { + "vector": [0, 2, 0] + }, + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 2.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "vector": [0, 1, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.5417": { + "vector": [0, 0, 0] + }, + "0.6667": { + "pre": { + "vector": [0, 2, 0] + }, + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 2.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "vector": [0, 1, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + } + } + }, + "run": { + "loop": true, + "animation_length": 0.5, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "neck": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [22.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-15.98, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [-15.19, 0, 0] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [32.5, 0, 0] + }, + "0.375": { + "pre": { + "vector": [52.5, 0, 0] + }, + "post": { + "vector": [52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-15.98, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0.5, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0.19, -0.72] + }, + "0.1667": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [0, -0.5, 1] + }, + "0.25": { + "vector": [0, -2, 2] + }, + "0.375": { + "pre": { + "vector": [0, 1, 0] + }, + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "vector": [-15.19, 0, 0] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [32.5, 0, 0] + }, + "0.25": { + "pre": { + "vector": [52.5, 0, 0] + }, + "post": { + "vector": [52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-32.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-15.19, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0.19, -0.72] + }, + "0.0417": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [0, -0.5, 1] + }, + "0.125": { + "vector": [0, -2, 2] + }, + "0.25": { + "pre": { + "vector": [0, 1, 0] + }, + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 2, -3] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0.5, -1.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0.19, -0.72] + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.2083": { + "vector": [40, 0, 0] + }, + "0.3333": { + "pre": { + "vector": [35.83, 0, 0] + }, + "post": { + "vector": [35.83, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.01, -2.12] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0.69, -1.44] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [0, -1, 2] + }, + "0.2083": { + "vector": [0, -0.33, 2.33] + }, + "0.2917": { + "pre": { + "vector": [0, 1, 3] + }, + "post": { + "vector": [0, 1, 3] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 3, -2] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.01, -2.12] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [40, 0, 0] + }, + "0.2083": { + "pre": { + "vector": [35.83, 0, 0] + }, + "post": { + "vector": [35.83, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0417": { + "vector": [0, -1, 2] + }, + "0.0833": { + "vector": [0, -0.33, 2.33] + }, + "0.1667": { + "pre": { + "vector": [0, 1, 3] + }, + "post": { + "vector": [0, 1, 3] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 3, -2] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0.69, -1.44] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "vector": [2.5, 0, 0] + }, + "0.2083": { + "pre": { + "vector": [5, 0, 0] + }, + "post": { + "vector": [5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 2] + }, + "0.0833": { + "vector": [0, -1, 4] + }, + "0.2083": { + "pre": { + "vector": [0, 0.5, 5.25] + }, + "post": { + "vector": [0, 0.5, 5.25] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 2, 3.75] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 2] + } + } + } + } + }, + "quirk": { + "animation_length": 1, + "bones": { + "head": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "pre": { + "vector": [-7.5, 0, 7.5] + }, + "post": { + "vector": [-7.5, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [10, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [10, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-5, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "right_ear": { + "rotation": { + "0.75": { + "vector": [0, 0, 0] + }, + "0.7917": { + "pre": { + "vector": [-12.5, -30, 7.5] + }, + "post": { + "vector": [-12.5, -30, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-25.84, -26.02, 6.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "vector": [0, 0, 0] + } + } + }, + "left_ear": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.7083": { + "pre": { + "vector": [-12.5, 30, -7.5] + }, + "post": { + "vector": [-12.5, 30, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-25.84, 26.02, -6.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "vector": [0, 0, 0] + } + } + }, + "neck": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.0833": { + "pre": { + "vector": [0, 0, 5] + }, + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 0] + } + } + }, + "torso": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "pre": { + "vector": [0, 0, -7.5] + }, + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "back_left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [2, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/spit_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/spit_bug.animation.json deleted file mode 100644 index 04f7b81c..00000000 --- a/common/src/main/resources/assets/antarchy/animations/spit_bug.animation.json +++ /dev/null @@ -1,2625 +0,0 @@ -{ - "format_version": "1.8.0", - "animations": { - "idle": { - "loop": true, - "animation_length": 2.25, - "bones": { - "body": { - "rotation": { - "0.0": { - "post": { - "vector": [-0.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [0.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.75": { - "post": { - "vector": [0.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-0.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [0, 15, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "root": { - "position": { - "0.0": { - "post": { - "vector": [0, -11.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, -11.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [0, -15, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [0, 55, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [7.5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [-35, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [0, -55, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.75": { - "post": { - "vector": [7.5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.125": { - "post": { - "vector": [-35, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.5": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, - "walk": { - "loop": true, - "animation_length": 0.6667, - "bones": { - "backRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [0.9, 25.37, 22.42] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-14.7966, -19.965, 19.6746] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-12.2252, -29.0774, 13.585] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [13.6745, 58.6061, 23.203] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0.9, 25.37, 22.42] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 35] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 35] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, -30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 30, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "root": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.0833": { - "post": { - "vector": [-4.9811, -0.4352, -4.9811] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0.0189, -0.4352, -4.9811] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [5.0189, -0.4352, -4.9811] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [4.9196, -1.0858, 2.4914] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [4.8066, -1.5099, 7.4746] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-0.1934, -1.5099, 7.4746] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [-5.1934, -1.5099, 7.4746] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, -13.1, -4] - }, - "lerp_mode": "catmullrom" - }, - "0.0833": { - "post": { - "vector": [6, -15.47, -4] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [6, -13.8, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [4, -11.81, 8] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, -12.1, 8] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-6, -14.96, 4] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-6, -14.55, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [-6, -12.99, -6] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, -13.1, -4] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-36.5714, -35.9552, 34.1778] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-23.5556, -44.8303, 14.2689] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [5.1528, -57.991, 18.9213] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 35] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, -30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 30, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, -30, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 70, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 50, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 70, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 50, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 70, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightArm": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-5.3498, 1.8604, -13.9961] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [35, 17.5, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-1.25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-52.19, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [55, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [1.87, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -70, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, -50, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, -70, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -50, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, -70, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftArm": { - "rotation": { - "0.0": { - "post": { - "vector": [-5.3498, -1.8604, 13.9961] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [35, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-5.3498, -1.8604, 13.9961] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-52.19, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-1.25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [55, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [1.87, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [55, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [5.1528, 57.991, -18.9213] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [-36.5714, 35.9552, -34.1778] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-23.5556, 44.8303, -14.2689] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [5.1528, 57.991, -18.9213] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -35] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 30] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-14.7966, 19.965, -19.6746] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-12.2252, 29.0774, -13.585] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [13.6745, -58.6061, -23.203] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0.9, -25.37, -22.42] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [-14.7966, 19.965, -19.6746] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 30] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -35] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 30] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.3333": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.1667": { - "vector": [12.5, 0, 0] - }, - "0.25": { - "vector": [0, 0, 0] - }, - "0.3333": { - "vector": [0, 0, 0] - }, - "0.5": { - "vector": [12.5, 0, 0] - }, - "0.5833": { - "vector": [0, 0, 0] - } - } - } - } - }, - "spit": { - "animation_length": 1, - "bones": { - "body": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [2.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 1, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0, 0, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-25, 25, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "scale": { - "0.0": { - "vector": [1, 1, 1] - }, - "0.1667": { - "vector": [1, 1, 1] - }, - "0.25": { - "vector": [1, 0.3, 1] - }, - "0.4583": { - "vector": [1, 1, 1] - }, - "1.0": { - "vector": [1, 1, 1] - } - } - }, - "rightGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -10, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 25, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, -10, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -10, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "root": { - "position": { - "0.0": { - "post": { - "vector": [0, -11.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, -11.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -11.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-13.01658, -61.28435, 22.32925] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.25": { - "vector": [0, 9, 0] - }, - "1.0": { - "vector": [0, 0, 0] - } - } - }, - "frontRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -35] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftEye": { - "rotation": { - "0.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-25, -25, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "scale": { - "0.25": { - "vector": [1, 0.3, 1] - }, - "0.4583": { - "vector": [1, 1, 1] - } - } - }, - "leftGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 10, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -25, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 10, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 10, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-25.3744, -0.9366, -25.6212] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [41.8878, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [32.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [59.72, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.125": { - "post": { - "vector": [-25.3744, 0.9366, 25.6212] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [41.8878, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-60, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [32.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-37.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [59.72, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, -1] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-13.01658, 61.28435, -22.32925] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.25": { - "vector": [0, 9, 0] - }, - "1.0": { - "vector": [0, 0, 0] - } - } - }, - "frontLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -55] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 35] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, 5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.9167": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "jaw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.86, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.6667": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } - } - } -} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/antarchy_logo.png b/common/src/main/resources/assets/antarchy/antarchy_logo.png index 8d16480f17e6cbe4c1a0703f609bccf81107e70d..d26b97b1dc79c27e4b48ecee41f688d12cd07b51 100644 GIT binary patch literal 80619 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 diff --git a/common/src/main/resources/assets/antarchy/blockstates/amber_lichen.json b/common/src/main/resources/assets/antarchy/blockstates/amber_lichen.json deleted file mode 100644 index c265ce00..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/amber_lichen.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "antarchy:block/amber_lichen" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen" - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 90 - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 180 - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "y": 270 - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "x": 270 - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_lichen", - "uvlock": true, - "x": 90 - }, - "when": { - "down": "false", - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/amber_moss_block.json b/common/src/main/resources/assets/antarchy/blockstates/amber_moss_block.json deleted file mode 100644 index 7e867f05..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/amber_moss_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "antarchy:block/amber_moss_block" - } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/amber_moss_carpet.json b/common/src/main/resources/assets/antarchy/blockstates/amber_moss_carpet.json deleted file mode 100644 index e059b29b..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/amber_moss_carpet.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "antarchy:block/amber_moss_carpet" - }, - "when": { - "bottom": "true" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet" - }, - "when": { - "bottom": "false", - "east": "none", - "north": "none", - "south": "none", - "west": "none" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall" - }, - "when": { - "north": "tall" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_small" - }, - "when": { - "north": "low" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall" - }, - "when": { - "bottom": "false", - "east": "none", - "north": "none", - "south": "none", - "west": "none" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "tall" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_small", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "low" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 90 - }, - "when": { - "bottom": "false", - "east": "none", - "north": "none", - "south": "none", - "west": "none" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "tall" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_small", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "low" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 180 - }, - "when": { - "bottom": "false", - "east": "none", - "north": "none", - "south": "none", - "west": "none" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "tall" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_small", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "low" - } - }, - { - "apply": { - "model": "antarchy:block/amber_moss_carpet_side_tall", - "uvlock": true, - "y": 270 - }, - "when": { - "bottom": "false", - "east": "none", - "north": "none", - "south": "none", - "west": "none" - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/bile_vein.json b/common/src/main/resources/assets/antarchy/blockstates/bile_vein.json deleted file mode 100644 index 1ab1a4b4..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/bile_vein.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "antarchy:block/bile_vein" - } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/broodstone.json b/common/src/main/resources/assets/antarchy/blockstates/broodstone.json deleted file mode 100644 index 4ae6f1c1..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/broodstone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "antarchy:block/broodstone" - } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json b/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json deleted file mode 100644 index 2dd199fb..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/cavaryn_portal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "axis=x": { "model": "antarchy:block/cavaryn_portal_x" }, - "axis=z": { "model": "antarchy:block/cavaryn_portal_z" } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/chiten_block.json b/common/src/main/resources/assets/antarchy/blockstates/chiten_block.json deleted file mode 100644 index 651df798..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/chiten_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "axis=x": { - "model": "antarchy:block/chiten_block", - "x": 90, - "y": 90 - }, - "axis=y": { - "model": "antarchy:block/chiten_block" - }, - "axis=z": { - "model": "antarchy:block/chiten_block", - "x": 90 - } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/chiten_spike.json b/common/src/main/resources/assets/antarchy/blockstates/chiten_spike.json deleted file mode 100644 index 4cef7a2b..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/chiten_spike.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variants": { - "thickness=base,vertical_direction=down": { "model": "antarchy:block/chiten_spike_down_base" }, - "thickness=base,vertical_direction=up": { "model": "antarchy:block/chiten_spike_up_base" }, - "thickness=frustum,vertical_direction=down": { "model": "antarchy:block/chiten_spike_down_frustum" }, - "thickness=frustum,vertical_direction=up": { "model": "antarchy:block/chiten_spike_up_frustum" }, - "thickness=middle,vertical_direction=down": { "model": "antarchy:block/chiten_spike_down_middle" }, - "thickness=middle,vertical_direction=up": { "model": "antarchy:block/chiten_spike_up_middle" }, - "thickness=tip,vertical_direction=down": { "model": "antarchy:block/chiten_spike_down_tip" }, - "thickness=tip,vertical_direction=up": { "model": "antarchy:block/chiten_spike_up_tip" }, - "thickness=tip_merge,vertical_direction=down": { "model": "antarchy:block/chiten_spike_down_tip_merge" }, - "thickness=tip_merge,vertical_direction=up": { "model": "antarchy:block/chiten_spike_up_tip_merge" } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/creeping_horror_egg.json b/common/src/main/resources/assets/antarchy/blockstates/creeping_horror_egg.json deleted file mode 100644 index 8611d9f0..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/creeping_horror_egg.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "variants": { - "eggs=1,hatch=0": [ - { "model": "antarchy:block/creeping_horror_egg_1" }, - { "model": "antarchy:block/creeping_horror_egg_1", "y": 90 }, - { "model": "antarchy:block/creeping_horror_egg_1", "y": 180 }, - { "model": "antarchy:block/creeping_horror_egg_1", "y": 270 } - ], - "eggs=1,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_1" }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_1", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_1", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_1", "y": 270 } - ], - "eggs=1,hatch=2": [ - { "model": "antarchy:block/very_cracked_creeping_horror_egg_1" }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_1", "y": 90 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_1", "y": 180 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_1", "y": 270 } - ], - "eggs=2,hatch=0": [ - { "model": "antarchy:block/creeping_horror_egg_2" }, - { "model": "antarchy:block/creeping_horror_egg_2", "y": 90 }, - { "model": "antarchy:block/creeping_horror_egg_2", "y": 180 }, - { "model": "antarchy:block/creeping_horror_egg_2", "y": 270 } - ], - "eggs=2,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_2" }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_2", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_2", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_2", "y": 270 } - ], - "eggs=2,hatch=2": [ - { "model": "antarchy:block/very_cracked_creeping_horror_egg_2" }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_2", "y": 90 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_2", "y": 180 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_2", "y": 270 } - ], - "eggs=3,hatch=0": [ - { "model": "antarchy:block/creeping_horror_egg_3" }, - { "model": "antarchy:block/creeping_horror_egg_3", "y": 90 }, - { "model": "antarchy:block/creeping_horror_egg_3", "y": 180 }, - { "model": "antarchy:block/creeping_horror_egg_3", "y": 270 } - ], - "eggs=3,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_3" }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_3", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_3", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_3", "y": 270 } - ], - "eggs=3,hatch=2": [ - { "model": "antarchy:block/very_cracked_creeping_horror_egg_3" }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_3", "y": 90 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_3", "y": 180 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_3", "y": 270 } - ], - "eggs=4,hatch=0": [ - { "model": "antarchy:block/creeping_horror_egg_4" }, - { "model": "antarchy:block/creeping_horror_egg_4", "y": 90 }, - { "model": "antarchy:block/creeping_horror_egg_4", "y": 180 }, - { "model": "antarchy:block/creeping_horror_egg_4", "y": 270 } - ], - "eggs=4,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_4" }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_4", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_4", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_creeping_horror_egg_4", "y": 270 } - ], - "eggs=4,hatch=2": [ - { "model": "antarchy:block/very_cracked_creeping_horror_egg_4" }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_4", "y": 90 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_4", "y": 180 }, - { "model": "antarchy:block/very_cracked_creeping_horror_egg_4", "y": 270 } - ] - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/creepvine.json b/common/src/main/resources/assets/antarchy/blockstates/creepvine.json deleted file mode 100644 index 630f81c1..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/creepvine.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "antarchy:block/creepvine" - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine" - }, - "when": { - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "true" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 90 - }, - "when": { - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 180 - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 180 - }, - "when": { - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 270 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "y": 270 - }, - "when": { - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "x": 270 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "antarchy:block/creepvine", - "uvlock": true, - "x": 270 - }, - "when": { - "east": "false", - "north": "false", - "south": "false", - "up": "false", - "west": "false" - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/lurking_terror_egg.json b/common/src/main/resources/assets/antarchy/blockstates/lurking_terror_egg.json deleted file mode 100644 index dce79841..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/lurking_terror_egg.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "variants": { - "eggs=1,hatch=0": [ - { "model": "antarchy:block/lurking_terror_egg_1" }, - { "model": "antarchy:block/lurking_terror_egg_1", "y": 90 }, - { "model": "antarchy:block/lurking_terror_egg_1", "y": 180 }, - { "model": "antarchy:block/lurking_terror_egg_1", "y": 270 } - ], - "eggs=1,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_1" }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_1", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_1", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_1", "y": 270 } - ], - "eggs=1,hatch=2": [ - { "model": "antarchy:block/very_cracked_lurking_terror_egg_1" }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_1", "y": 90 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_1", "y": 180 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_1", "y": 270 } - ], - "eggs=2,hatch=0": [ - { "model": "antarchy:block/lurking_terror_egg_2" }, - { "model": "antarchy:block/lurking_terror_egg_2", "y": 90 }, - { "model": "antarchy:block/lurking_terror_egg_2", "y": 180 }, - { "model": "antarchy:block/lurking_terror_egg_2", "y": 270 } - ], - "eggs=2,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_2" }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_2", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_2", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_2", "y": 270 } - ], - "eggs=2,hatch=2": [ - { "model": "antarchy:block/very_cracked_lurking_terror_egg_2" }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_2", "y": 90 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_2", "y": 180 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_2", "y": 270 } - ], - "eggs=3,hatch=0": [ - { "model": "antarchy:block/lurking_terror_egg_3" }, - { "model": "antarchy:block/lurking_terror_egg_3", "y": 90 }, - { "model": "antarchy:block/lurking_terror_egg_3", "y": 180 }, - { "model": "antarchy:block/lurking_terror_egg_3", "y": 270 } - ], - "eggs=3,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_3" }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_3", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_3", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_3", "y": 270 } - ], - "eggs=3,hatch=2": [ - { "model": "antarchy:block/very_cracked_lurking_terror_egg_3" }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_3", "y": 90 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_3", "y": 180 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_3", "y": 270 } - ], - "eggs=4,hatch=0": [ - { "model": "antarchy:block/lurking_terror_egg_4" }, - { "model": "antarchy:block/lurking_terror_egg_4", "y": 90 }, - { "model": "antarchy:block/lurking_terror_egg_4", "y": 180 }, - { "model": "antarchy:block/lurking_terror_egg_4", "y": 270 } - ], - "eggs=4,hatch=1": [ - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_4" }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_4", "y": 90 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_4", "y": 180 }, - { "model": "antarchy:block/slightly_cracked_lurking_terror_egg_4", "y": 270 } - ], - "eggs=4,hatch=2": [ - { "model": "antarchy:block/very_cracked_lurking_terror_egg_4" }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_4", "y": 90 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_4", "y": 180 }, - { "model": "antarchy:block/very_cracked_lurking_terror_egg_4", "y": 270 } - ] - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/myrmite.json b/common/src/main/resources/assets/antarchy/blockstates/myrmite.json deleted file mode 100644 index 55bfe4a1..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/myrmite.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "antarchy:block/myrmite" - } - } -} diff --git a/common/src/main/resources/assets/antarchy/blockstates/termite_nest.json b/common/src/main/resources/assets/antarchy/blockstates/termite_nest.json deleted file mode 100644 index 016df757..00000000 --- a/common/src/main/resources/assets/antarchy/blockstates/termite_nest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": {"model": "antarchy:block/termite_nest"}, - "facing=east": {"model": "antarchy:block/termite_nest", "y": 90}, - "facing=south": {"model": "antarchy:block/termite_nest", "y": 180}, - "facing=west": {"model": "antarchy:block/termite_nest", "y": 270} - } -} diff --git a/common/src/main/resources/assets/antarchy/geo/glimmer.geo.json b/common/src/main/resources/assets/antarchy/geo/glimmer.geo.json new file mode 100644 index 00000000..2ac10f7c --- /dev/null +++ b/common/src/main/resources/assets/antarchy/geo/glimmer.geo.json @@ -0,0 +1,104 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 4, + "visible_bounds_height": 4.5, + "visible_bounds_offset": [0, 1.75, 0] + }, + "bones": [ + { + "name": "Glimmer", + "pivot": [0, 0, 0] + }, + { + "name": "body", + "parent": "Glimmer", + "pivot": [0, 22.2, 0] + }, + { + "name": "right_leg", + "parent": "body", + "pivot": [-5, 18.5, -8], + "cubes": [ + {"origin": [-7.5, 0, -11.5], "size": [5, 19, 7], "uv": [36, 66]} + ] + }, + { + "name": "left_leg", + "parent": "body", + "pivot": [5, 18.5, -8], + "cubes": [ + {"origin": [2.5, 0, -11.5], "size": [5, 19, 7], "uv": [36, 66], "mirror": true} + ] + }, + { + "name": "back_right_leg", + "parent": "body", + "pivot": [-5, 18.5, 8], + "cubes": [ + {"origin": [-7.5, 0, 4.5], "size": [5, 19, 7], "uv": [36, 66]} + ] + }, + { + "name": "back_left_leg", + "parent": "body", + "pivot": [5, 18.5, 8], + "cubes": [ + {"origin": [2.5, 0, 4.5], "size": [5, 19, 7], "uv": [36, 66], "mirror": true} + ] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 19, 0], + "cubes": [ + {"origin": [-6.5, 12, -12], "size": [13, 14, 24], "uv": [0, 0]}, + {"origin": [-5.5, 15, 12], "size": [11, 16, 7], "pivot": [0, 23, 14.5], "rotation": [7.5, 0, 0], "uv": [0, 80]} + ] + }, + { + "name": "neck", + "parent": "torso", + "pivot": [0, 20.5, -11.5], + "cubes": [ + {"origin": [-4.5, 14, -16], "size": [9, 19, 7], "uv": [0, 38]} + ] + }, + { + "name": "head", + "parent": "neck", + "pivot": [0, 33, -12.5], + "cubes": [ + {"origin": [-4.5, 33, -17], "size": [9, 9, 9], "inflate": 0.1, "uv": [32, 38]}, + {"origin": [-18.5, 41, -12], "size": [18, 14, 0], "uv": [0, 66]}, + {"origin": [0.5, 41, -12], "size": [18, 14, 0], "uv": [0, 66], "mirror": true}, + {"origin": [-3.5, 33, -22], "size": [7, 5, 5], "uv": [32, 56]} + ] + }, + { + "name": "right_ear", + "parent": "head", + "pivot": [-4.5, 41.25, -13], + "cubes": [ + {"origin": [-9.5, 40, -13], "size": [5, 4, 0], "uv": [25, 38]}, + {"origin": [-9.5, 40, -12.975], "size": [5, 4, 0], "uv": [0, 20]} + ] + }, + { + "name": "left_ear", + "parent": "head", + "pivot": [4.5, 41.25, -13], + "cubes": [ + {"origin": [4.5, 40, -12.975], "size": [5, 4, 0], "uv": [0, 20], "mirror": true}, + {"origin": [4.5, 40, -13], "size": [5, 4, 0], "uv": [25, 38], "mirror": true} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/geo/glimmer_baby.geo.json b/common/src/main/resources/assets/antarchy/geo/glimmer_baby.geo.json new file mode 100644 index 00000000..fa42bb28 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/geo/glimmer_baby.geo.json @@ -0,0 +1,102 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.unknown", + "texture_width": 128, + "texture_height": 128, + "visible_bounds_width": 4, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "Glimmer", + "pivot": [0, 16.2, 3] + }, + { + "name": "body", + "parent": "Glimmer", + "pivot": [0, 16.2, 3] + }, + { + "name": "right_leg", + "parent": "body", + "pivot": [-4, 12.5, -5], + "cubes": [ + {"origin": [-5.5, 0, -8.5], "size": [4, 13, 5], "uv": [0, 25]} + ] + }, + { + "name": "left_leg", + "parent": "body", + "pivot": [4, 12.5, -5], + "cubes": [ + {"origin": [1.5, 0, -8.5], "size": [4, 13, 5], "uv": [0, 25], "mirror": true} + ] + }, + { + "name": "back_right_leg", + "parent": "body", + "pivot": [-5, 12.5, 6], + "cubes": [ + {"origin": [-6.5, 0, 3.5], "size": [4, 13, 5], "uv": [0, 25]} + ] + }, + { + "name": "back_left_leg", + "parent": "body", + "pivot": [5, 12.5, 6], + "cubes": [ + {"origin": [2.5, 0, 3.5], "size": [4, 13, 5], "uv": [0, 25], "mirror": true} + ] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 13, 3], + "cubes": [ + {"origin": [-5, 7, -8], "size": [10, 10, 17], "uv": [58, 0]}, + {"origin": [-5.5, 9, 8], "size": [11, 16, 7], "pivot": [0, 17, 17.5], "rotation": [7.5, 0, 0], "uv": [18, 21]} + ] + }, + { + "name": "neck", + "parent": "torso", + "pivot": [0, 14.5, -8.5], + "cubes": [ + {"origin": [-3.5, 8, -13], "size": [7, 14, 7], "uv": [30, 0]} + ] + }, + { + "name": "head", + "parent": "neck", + "pivot": [0, 21, -9.5], + "cubes": [ + {"origin": [-3.5, 21, -14], "size": [7, 8, 8], "inflate": 0.1, "uv": [0, 0]}, + {"origin": [-2.5, 21, -19], "size": [5, 4, 5], "uv": [0, 16]} + ] + }, + { + "name": "right_ear", + "parent": "head", + "pivot": [-3.5, 27.25, -10], + "cubes": [ + {"origin": [-7.5, 26, -10], "size": [4, 4, 0], "uv": [53, 0]} + ] + }, + { + "name": "left_ear", + "parent": "head", + "pivot": [3.5, 27.25, -10], + "cubes": [ + {"origin": [3.5, 26, -10], "size": [4, 4, 0], "uv": [53, 0], "mirror": true}, + {"origin": [3.5, 26, -9.975], "size": [4, 4, 0], "uv": [61, 0], "mirror": true}, + {"origin": [-7.5, 26, -9.975], "size": [4, 4, 0], "uv": [61, 0]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/geo/spit_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/spit_bug.geo.json deleted file mode 100644 index ee5d6389..00000000 --- a/common/src/main/resources/assets/antarchy/geo/spit_bug.geo.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "format_version": "1.12.0", - "minecraft:geometry": [ - { - "description": { - "identifier": "geometry.spitbug", - "texture_width": 256, - "texture_height": 256, - "visible_bounds_width": 6, - "visible_bounds_height": 5.5, - "visible_bounds_offset": [0, 2.25, 0] - }, - "bones": [ - { - "name": "root", - "pivot": [0, 0, 0] - }, - { - "name": "body", - "parent": "root", - "pivot": [0, 36, 0], - "cubes": [ - {"origin": [-11.5, 36, -18], "size": [23, 18, 37], "inflate": -0.05, "uv": [0, 103]}, - {"origin": [-9.5, 54, -35], "size": [19, 7, 59], "uv": [0, 0]}, - {"origin": [-7.5, 54, -52], "size": [15, 7, 17], "uv": [112, 28]}, - {"origin": [-6.5, 42, -51.75], "size": [3, 12, 5], "uv": [34, 23]}, - {"origin": [3.5, 42, -51.75], "size": [3, 12, 5], "uv": [34, 23], "mirror": true}, - {"origin": [-7.5, 52, -52], "size": [15, 2, 0], "uv": [0, 24]}, - {"origin": [-7.5, 44, -52], "size": [0, 10, 17], "uv": [5, 29]}, - {"origin": [-9.5, 47, -35], "size": [2, 7, 0], "uv": [37, 16]}, - {"origin": [-9.5, 45, -35], "size": [0, 9, 17], "uv": [0, 18]}, - {"origin": [9.5, 45, -35], "size": [0, 9, 17], "uv": [0, 18], "mirror": true}, - {"origin": [7.5, 47, -35], "size": [2, 7, 0], "uv": [37, 16], "mirror": true}, - {"origin": [7.5, 44, -52], "size": [0, 10, 17], "uv": [5, 29], "mirror": true}, - {"origin": [-11.5, 32.1, -18], "size": [23, 4, 33], "inflate": -0.05, "uv": [0, 66]} - ] - }, - { - "name": "jaw", - "parent": "body", - "pivot": [-3.07143, 33.92857, -16], - "cubes": [ - {"origin": [-8.5, 32, -51], "size": [17, 2, 18], "uv": [97, 0]}, - {"origin": [-11.5, 30, -33], "size": [23, 4, 17], "uv": [79, 66]}, - {"origin": [-11.5, 34, -33], "size": [0, 8, 17], "uv": [0, -17]}, - {"origin": [-11.5, 34, -33], "size": [3, 8, 0], "uv": [0, 8]}, - {"origin": [8.5, 34, -33], "size": [3, 8, 0], "uv": [0, 8], "mirror": true}, - {"origin": [11.5, 34, -33], "size": [0, 8, 17], "uv": [0, -17], "mirror": true}, - {"origin": [-8.5, 34, -51], "size": [0, 8, 18], "uv": [0, -2]}, - {"origin": [-4.5, 32.5, -52.575], "size": [3, 8, 4], "pivot": [-3, 36.5, -50.575], "rotation": [22.5, 0, 0], "uv": [35, 0]}, - {"origin": [1.5, 32.5, -52.575], "size": [3, 8, 4], "pivot": [3, 36.5, -50.575], "rotation": [22.5, 0, 0], "uv": [35, 0], "mirror": true}, - {"origin": [-8.5, 34, -51], "size": [17, 8, 0], "uv": [0, 26]}, - {"origin": [8.5, 34, -51], "size": [0, 8, 18], "uv": [0, -2], "mirror": true} - ] - }, - { - "name": "rightEye", - "parent": "body", - "pivot": [-11, 45.5, -17], - "cubes": [ - {"origin": [-12, 45.5, -19], "size": [3, 3, 3], "uv": [83, 114]} - ] - }, - { - "name": "leftEye", - "parent": "body", - "pivot": [11, 45.5, -17], - "cubes": [ - {"origin": [9, 45.5, -19], "size": [3, 3, 3], "uv": [83, 114], "mirror": true} - ] - }, - { - "name": "rightGrip", - "parent": "body", - "pivot": [-11.5, 54, -16], - "rotation": [0, 0, 90] - }, - { - "name": "leftGrip", - "parent": "body", - "pivot": [11.5, 54, -16], - "rotation": [0, 0, -90] - }, - { - "name": "backRightThigh", - "parent": "root", - "pivot": [-11.5, 37, 10], - "cubes": [ - {"origin": [-20.5, 33, 8], "size": [9, 4, 4], "uv": [83, 120]} - ] - }, - { - "name": "backRightKnee", - "parent": "backRightThigh", - "pivot": [-20.5, 37, 10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [-34.5, 32, 7], "size": [14, 5, 6], "inflate": 0.025, "uv": [83, 103]} - ] - }, - { - "name": "backRightLeg", - "parent": "backRightKnee", - "pivot": [-34.5, 32, 10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [-53.5, 32, 8], "size": [19, 4, 4], "uv": [97, 20]} - ] - }, - { - "name": "backRightFoot", - "parent": "backRightLeg", - "pivot": [-53.5, 32, 10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [-67.5, 30, 9], "size": [14, 2, 2], "inflate": 0.025, "uv": [97, 28]}, - {"origin": [-76.5, 30, 10], "size": [9, 2, 0], "uv": [97, 32]} - ] - }, - { - "name": "backLeftThigh", - "parent": "root", - "pivot": [11.5, 37, 10], - "cubes": [ - {"origin": [11.5, 33, 8], "size": [9, 4, 4], "uv": [83, 120]} - ] - }, - { - "name": "backLeftKnee", - "parent": "backLeftThigh", - "pivot": [20.5, 37, 10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [20.5, 32, 7], "size": [14, 5, 6], "inflate": 0.025, "uv": [83, 103]} - ] - }, - { - "name": "backLeftLeg", - "parent": "backLeftKnee", - "pivot": [34.5, 32, 10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [34.5, 32, 8], "size": [19, 4, 4], "uv": [97, 20]} - ] - }, - { - "name": "backLeftFoot", - "parent": "backLeftLeg", - "pivot": [53.5, 32, 10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [53.5, 30, 9], "size": [14, 2, 2], "inflate": 0.025, "uv": [97, 28]}, - {"origin": [67.5, 30, 10], "size": [9, 2, 0], "uv": [97, 32], "mirror": true} - ] - }, - { - "name": "frontRightThigh", - "parent": "root", - "pivot": [-11.5, 37, -10], - "cubes": [ - {"origin": [-20.5, 33, -12], "size": [9, 4, 4], "uv": [83, 120]} - ] - }, - { - "name": "frontRightKnee", - "parent": "frontRightThigh", - "pivot": [-20.5, 37, -10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [-34.5, 32, -13], "size": [14, 5, 6], "inflate": 0.025, "uv": [83, 103]} - ] - }, - { - "name": "frontRightLeg", - "parent": "frontRightKnee", - "pivot": [-34.5, 32, -10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [-53.5, 32, -12], "size": [19, 4, 4], "uv": [97, 20]} - ] - }, - { - "name": "frontRightFoot", - "parent": "frontRightLeg", - "pivot": [-53.5, 32, -10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [-67.5, 30, -11], "size": [14, 2, 2], "inflate": 0.025, "uv": [97, 28]}, - {"origin": [-76.5, 30, -10], "size": [9, 2, 0], "uv": [97, 32]} - ] - }, - { - "name": "frontLeftThigh", - "parent": "root", - "pivot": [11.5, 37, -10], - "cubes": [ - {"origin": [11.5, 33, -12], "size": [9, 4, 4], "uv": [83, 120]} - ] - }, - { - "name": "frontLeftKnee", - "parent": "frontLeftThigh", - "pivot": [20.5, 37, -10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [20.5, 32, -13], "size": [14, 5, 6], "inflate": 0.025, "uv": [83, 103]} - ] - }, - { - "name": "frontLeftLeg", - "parent": "frontLeftKnee", - "pivot": [34.5, 32, -10], - "rotation": [0, 0, -90], - "cubes": [ - {"origin": [34.5, 32, -12], "size": [19, 4, 4], "uv": [97, 20]} - ] - }, - { - "name": "frontLeftFoot", - "parent": "frontLeftLeg", - "pivot": [53.5, 32, -10], - "rotation": [0, 0, 90], - "cubes": [ - {"origin": [53.5, 30, -11], "size": [14, 2, 2], "inflate": 0.025, "uv": [97, 28]}, - {"origin": [67.5, 30, -10], "size": [9, 2, 0], "uv": [97, 32], "mirror": true} - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index 2a915733..c1c25ffe 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -1,833 +1,744 @@ { - "block.antarchy.duplicator_log": "Duplicator Log", - "block.antarchy.ouranwood_log": "Ouranwood Log", - "block.antarchy.ouranwood_wood": "Ouranwood Wood", - "block.antarchy.mossy_ouranwood_log": "Mossy Ouranwood Log", - "block.antarchy.mossy_ouranwood_wood": "Mossy Ouranwood Wood", - "block.antarchy.stripped_ouranwood_log": "Stripped Ouranwood Log", - "block.antarchy.stripped_ouranwood_wood": "Stripped Ouranwood Wood", - "block.antarchy.ouranwood_planks": "Ouranwood Planks", - "block.antarchy.ouranwood_stairs": "Ouranwood Stairs", - "block.antarchy.ouranwood_slab": "Ouranwood Slab", - "block.antarchy.ouranwood_fence": "Ouranwood Fence", - "block.antarchy.ouranwood_fence_gate": "Ouranwood Fence Gate", - "block.antarchy.ouranwood_door": "Ouranwood Door", - "block.antarchy.ouranwood_trapdoor": "Ouranwood Trapdoor", - "block.antarchy.ouranwood_pressure_plate": "Ouranwood Pressure Plate", - "block.antarchy.ouranwood_button": "Ouranwood Button", - "block.antarchy.ouranwood_leaves": "Ouranwood Leaves", - "block.antarchy.ouranwood_acorn": "Ouranwood Acorn", - "block.antarchy.ouranwood_vine": "Ouranwood Vine", - "block.antarchy.ouranwood_sign": "Ouranwood Sign", - "block.antarchy.ouranwood_hanging_sign": "Ouranwood Hanging Sign", - "block.antarchy.orange_milkweed": "Orange Milkweed", - "block.antarchy.pink_milkweed": "Pink Milkweed", - "block.antarchy.hushweed": "Hushweed", - "block.antarchy.big_bush": "Big Bush", - "block.antarchy.big_bush_part": "Big Bush", - "block.antarchy.very_short_grass": "Very Short Grass", - "block.antarchy.very_tall_grass": "Very Tall Grass", - "block.antarchy.umbral_moss_block": "Umbral Moss Block", - "block.antarchy.umbral_moss_carpet": "Umbral Moss Carpet", - "block.antarchy.amber_moss_block": "Amber Moss Block", - "block.antarchy.amber_moss_carpet": "Amber Moss Carpet", - "block.antarchy.amber_lichen": "Amber Lichen", - "block.antarchy.bile_vein": "Bile Vein", - "block.antarchy.duplicator_sapling": "Duplicator Sapling", - "block.antarchy.creepvine": "Creepvine", - "block.antarchy.duct_tape": "Duct Tape", - "block.antarchy.infested_rooted_dirt": "Infested Rooted Dirt", - "block.antarchy.infested_coarse_dirt": "Infested Coarse Dirt", - "block.antarchy.nyxite": "Nyxite", - "block.antarchy.myrmite": "Myrmite", - "block.antarchy.broodstone": "Broodstone", - "block.antarchy.polished_nyxite": "Polished Nyxite", - "block.antarchy.chiseled_nyxite": "Chiseled Nyxite", - "block.antarchy.nyxite_bricks": "Nyxite Bricks", - "block.antarchy.chiten_block": "Chiten Block", - "block.antarchy.chiten_spike": "Chiten Spike", - "block.antarchy.shellstone": "Shellstone", - "block.antarchy.polished_shellstone": "Polished Shellstone", - "block.antarchy.shellstone_bricks": "Shellstone Bricks", - "block.antarchy.chiseled_shellstone": "Chiseled Shellstone", - "block.antarchy.mossy_shellstone_bricks": "Mossy Shellstone Bricks", - "block.antarchy.mossy_shellstone_brick_stairs": "Mossy Shellstone Brick Stairs", - "block.antarchy.mossy_shellstone_brick_slab": "Mossy Shellstone Brick Slab", - "block.antarchy.mossy_shellstone_brick_wall": "Mossy Shellstone Brick Wall", - "block.antarchy.cracked_shellstone_bricks": "Cracked Shellstone Bricks", - "block.antarchy.shellstone_stairs": "Shellstone Stairs", - "block.antarchy.shellstone_slab": "Shellstone Slab", - "block.antarchy.shellstone_wall": "Shellstone Wall", - "block.antarchy.polished_shellstone_stairs": "Polished Shellstone Stairs", - "block.antarchy.polished_shellstone_slab": "Polished Shellstone Slab", - "block.antarchy.polished_shellstone_wall": "Polished Shellstone Wall", - "block.antarchy.shellstone_brick_stairs": "Shellstone Brick Stairs", - "block.antarchy.shellstone_brick_slab": "Shellstone Brick Slab", - "block.antarchy.shellstone_brick_wall": "Shellstone Brick Wall", - "block.antarchy.nyxite_stairs": "Nyxite Stairs", - "block.antarchy.nyxite_slab": "Nyxite Slab", - "block.antarchy.nyxite_wall": "Nyxite Wall", - "block.antarchy.polished_nyxite_stairs": "Polished Nyxite Stairs", - "block.antarchy.polished_nyxite_slab": "Polished Nyxite Slab", - "block.antarchy.polished_nyxite_wall": "Polished Nyxite Wall", - "block.antarchy.nyxite_brick_stairs": "Nyxite Brick Stairs", - "block.antarchy.nyxite_brick_slab": "Nyxite Brick Slab", - "block.antarchy.nyxite_brick_wall": "Nyxite Brick Wall", - "block.antarchy.pale_nyxite": "Pale Nyxite", - "block.antarchy.nyxite_spike": "Nyxite Spike", - "block.antarchy.potent_nyxite": "Potent Nyxite", - "block.antarchy.triffid_goo_block": "Triffid Goo Block", - "block.antarchy.elythia_portal": "Elythia Portal", - "block.antarchy.cloud_block": "Cloud Block", - "block.antarchy.thoraxis_portal": "Thoraxis Portal", - "block.antarchy.antimetal": "Antimetal", - "block.antarchy.polished_antimetal": "Polished Antimetal", - "block.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", - "block.antarchy.cavaryn_portal": "Cavaryn Portal", - "block.antarchy.cornea_stalk": "Cornea Stalk", - "block.antarchy.dream_torch": "Dream Torch", - "block.antarchy.dream_wall_torch": "Dream Wall Torch", - "block.antarchy.dream_lantern": "Dream Lantern", - "block.antarchy.dream_campfire": "Dream Campfire", - "block.antarchy.dream_fire": "Dream Fire", - "block.antarchy.dream_fire_ceiling": "Dream Fire", - "block.antarchy.budding_blood_crystal": "Budding Blood Crystal", - "block.antarchy.blood_crystal_block": "Blood Crystal Block", - "block.antarchy.small_blood_crystal_bud": "Small Blood Crystal Bud", - "block.antarchy.medium_blood_crystal_bud": "Medium Blood Crystal Bud", - "block.antarchy.large_blood_crystal_bud": "Large Blood Crystal Bud", - "block.antarchy.blood_crystal_cluster": "Blood Crystal Cluster", - "block.antarchy.dream_sand": "Dream Sand", - "block.antarchy.dream_sandstone": "Dream Sandstone", - "block.antarchy.chiseled_dream_sandstone": "Chiseled Dream Sandstone", - "block.antarchy.cut_dream_sandstone": "Cut Dream Sandstone", - "block.antarchy.smooth_dream_sandstone": "Smooth Dream Sandstone", - "block.antarchy.dream_sandstone_stairs": "Dream Sandstone Stairs", - "block.antarchy.dream_sandstone_slab": "Dream Sandstone Slab", - "block.antarchy.dream_sandstone_wall": "Dream Sandstone Wall", - "block.antarchy.smooth_dream_sandstone_stairs": "Smooth Dream Sandstone Stairs", - "block.antarchy.smooth_dream_sandstone_slab": "Smooth Dream Sandstone Slab", - "block.antarchy.cut_dream_sandstone_slab": "Cut Dream Sandstone Slab", - "block.antarchy.bed_bug_egg": "Bed Bug Egg", - "block.antarchy.creeping_horror_egg": "Creeping Horror Egg", - "block.antarchy.lurking_terror_egg": "Lurking Terror Egg", - "block.antarchy.wasp_nest": "Wasp Nest", - "block.antarchy.red_ant_nest": "Red Ant Nest", - "block.antarchy.brown_ant_nest": "Brown Ant Nest", - "block.antarchy.rainbow_ant_nest": "Rainbow Ant Nest", - "block.antarchy.termite_nest": "Termite Nest", - "block.antarchy.uranium_ore": "Uranium Ore", - "block.antarchy.deepslate_uranium_ore": "Deepslate Uranium Ore", - "block.antarchy.titanium_ore": "Titanium Ore", - "block.antarchy.deepslate_titanium_ore": "Deepslate Titanium Ore", - "block.antarchy.uranium_block": "Block of Uranium", - "block.antarchy.titanium_block": "Block of Titanium", - "block.antarchy.raw_uranium_block": "Block of Raw Uranium", - "block.antarchy.raw_titanium_block": "Block of Raw Titanium", - "block.antarchy.cut_uranium": "Cut Uranium", - "block.antarchy.cut_titanium": "Cut Titanium", - "block.antarchy.cut_uranium_slab": "Cut Uranium Slab", - "block.antarchy.cut_titanium_slab": "Cut Titanium Slab", - "block.antarchy.cut_uranium_stairs": "Cut Uranium Stairs", - "block.antarchy.cut_titanium_stairs": "Cut Titanium Stairs", - "block.antarchy.chiseled_uranium": "Chiseled Uranium", - "block.antarchy.chiseled_titanium": "Chiseled Titanium", - "block.antarchy.uranium_bulb": "Uranium Bulb", - "block.antarchy.titanium_bulb": "Titanium Bulb", - "block.antarchy.uranium_door": "Uranium Door", - "block.antarchy.titanium_door": "Titanium Door", - "block.antarchy.uranium_trapdoor": "Uranium Trapdoor", - "block.antarchy.titanium_trapdoor": "Titanium Trapdoor", - "block.antarchy.uranium_bars": "Uranium Bars", - "block.antarchy.titanium_bars": "Titanium Bars", - "tooltip.antarchy.signal_saving_bulb": "Toggles on/off. Has light level equal to the signal strength stored on it.", - "block.antarchy.bile": "Bile", - "block.antarchy.ichor": "Ichor", - "block.antarchy.antiwater": "Antiwater", - "entity.antarchy.apple_cow": "Apple Cow", - "entity.antarchy.golden_apple_cow": "Golden Apple Cow", - "entity.antarchy.enchanted_golden_apple_cow": "Enchanted Golden Apple Cow", - "entity.antarchy.honeyed_apple_cow": "Honeyed Apple Cow", - "entity.antarchy.easter_bunny": "Easter Bunny", - "entity.antarchy.flying_squirrel": "Flying Squirrel", - "entity.antarchy.caterpillar": "Caterpillar", - "entity.antarchy.butterfly": "Butterfly", - "entity.antarchy.brutalfly": "Brutalfly", - "entity.antarchy.red_ant": "Red Ant", - "entity.antarchy.brown_ant": "Brown Ant", - "entity.antarchy.rainbow_ant": "Rainbow Ant", - "entity.antarchy.termite": "Termite", - "entity.antarchy.diamond_minecart": "The Diamond Minecart", - "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", - "entity.antarchy.cloud_shark": "Cloud Shark", - "entity.antarchy.kraken": "The Kraken", - "entity.antarchy.missile_squid": "Missile Squid", - "entity.antarchy.octopus_bomb": "Octopus Bomb", - "entity.antarchy.nightmare": "Nightmare", - "entity.antarchy.bed_bug": "Bed Bug", - "entity.antarchy.stink_bug": "Stink Bug", - "entity.antarchy.jumpy_bug": "Jumpy Bug", - "entity.antarchy.spit_bug": "Spit Bug", - "entity.antarchy.wasp": "Wasp", - "entity.antarchy.bomber": "Bomber", - "entity.antarchy.moleworm": "Moleworm", - "entity.antarchy.molevore": "Molevore", - "entity.antarchy.mantis": "Mantis", - "entity.antarchy.alpha_mantis": "Alpha Mantis", - "entity.antarchy.triffid": "Triffid", - "entity.antarchy.toreterror": "Toreterror", - "entity.antarchy.water_bomb": "Water Bomb", - "entity.antarchy.creeping_horror": "Creeping Horror", - "entity.antarchy.lurking_terror": "Lurking Terror", - "subtitles.antarchy.mantis_ambient": "Mantis clicks", - "subtitles.antarchy.mantis_hurt": "Mantis screeches", - "subtitles.antarchy.mantis_attack": "Mantis snaps", - "subtitles.antarchy.mantis_fly_loop": "Mantis wings buzz", - "item.antarchy.big_bertha": "Big Bertha", - "item.antarchy.wasp_nest": "Wasp Nest", - "item.antarchy.stink_bug": "Stink Bug", - "item.antarchy.stink_bug_spawn_egg": "Stink Bug Spawn Egg", - "item.antarchy.wasp_spawn_egg": "Wasp Spawn Egg", - "item.antarchy.bomber_spawn_egg": "Bomber Spawn Egg", - "item.antarchy.jumpy_bug_spawn_egg": "Jumpy Bug Spawn Egg", - "item.antarchy.spit_bug_spawn_egg": "Spit Bug Spawn Egg", - "item.antarchy.big_bertha_blade": "Big Bertha Blade", - "item.antarchy.big_bertha_handle": "Big Bertha Handle", - "item.antarchy.big_bertha_hilt": "Big Bertha Hilt", - "item.antarchy.battle_axe": "Battle Axe", - "item.antarchy.cloud_shark_fin": "Cloud Shark Fin", - "item.antarchy.cloud_shark_fin_soup": "Cloud Shark Fin Soup", - "tooltip.antarchy.cloud_shark_fin_soup": "Grants Strength and Slow Falling.", - "item.antarchy.kraken_tooth": "Kraken Tooth", - "item.antarchy.basilisk_fang": "Basilisk Fang", - "item.antarchy.basilisk_dagger": "Basilisk Dagger", - "item.antarchy.blood_crystal_block": "Blood Crystal Block", - "item.antarchy.small_blood_crystal_bud": "Small Blood Crystal Bud", - "item.antarchy.medium_blood_crystal_bud": "Medium Blood Crystal Bud", - "item.antarchy.large_blood_crystal_bud": "Large Blood Crystal Bud", - "item.antarchy.blood_crystal_cluster": "Blood Crystal Cluster", - "item.antarchy.dream_sand": "Dream Sand", - "item.antarchy.dream_sandstone": "Dream Sandstone", - "item.antarchy.chiseled_dream_sandstone": "Chiseled Dream Sandstone", - "item.antarchy.cut_dream_sandstone": "Cut Dream Sandstone", - "item.antarchy.smooth_dream_sandstone": "Smooth Dream Sandstone", - "item.antarchy.dream_sandstone_stairs": "Dream Sandstone Stairs", - "item.antarchy.dream_sandstone_slab": "Dream Sandstone Slab", - "item.antarchy.dream_sandstone_wall": "Dream Sandstone Wall", - "item.antarchy.smooth_dream_sandstone_stairs": "Smooth Dream Sandstone Stairs", - "item.antarchy.smooth_dream_sandstone_slab": "Smooth Dream Sandstone Slab", - "item.antarchy.cut_dream_sandstone_slab": "Cut Dream Sandstone Slab", - "item.antarchy.dream_torch": "Dream Torch", - "item.antarchy.dream_lantern": "Dream Lantern", - "item.antarchy.dream_campfire": "Dream Campfire", - "item.antarchy.nightmare_scale": "Nightmare Scale", - "item.antarchy.nightmare_helmet": "Nightmare Helmet", - "item.antarchy.nightmare_chestplate": "Nightmare Chestplate", - "item.antarchy.nightmare_leggings": "Nightmare Leggings", - "item.antarchy.nightmare_boots": "Nightmare Boots", - "item.antarchy.nightmare_sword": "Nightmare Sword", - "tooltip.antarchy.nightmare_armor_double_damage": "%s%% chance to deal double damage", - "tooltip.antarchy.nightmare_armor_set_bonus": "Full Set: Wither & Dread immunity", - "tooltip.antarchy.nightmare_sword": "Deals more damage as your health drops.", - "tooltip.antarchy.nightmare_sword_damage": "Deals %s damage", - "tooltip.antarchy.primordial_helmet_water_breathing": "Grants the wearer Water Breathing", - "tooltip.antarchy.primordial_armor_knockback_dealt": "Adds %s attack knockback per piece", - "tooltip.antarchy.primordial_armor_set_bonus": "Full Set: Attacks ignore enemy knockback resistance", - "attribute.antarchy.double_damage_chance": "Double Damage Chance", - "attribute.antarchy.bloodglass_max_hearts": "Max Bloodglass Hearts", - "item.antarchy.molevore_nose": "Molevore Nose", - "item.antarchy.moleworm": "Moleworm", - "item.antarchy.triffid_spawn_egg": "Triffid Spawn Egg", - "item.antarchy.infested_rooted_dirt": "Infested Rooted Dirt", - "item.antarchy.infested_coarse_dirt": "Infested Coarse Dirt", - "item.antarchy.pale_nyxite": "Pale Nyxite", - "item.antarchy.polished_nyxite": "Polished Nyxite", - "item.antarchy.chiseled_nyxite": "Chiseled Nyxite", - "item.antarchy.nyxite_bricks": "Nyxite Bricks", - "item.antarchy.shellstone": "Shellstone", - "item.antarchy.polished_shellstone": "Polished Shellstone", - "item.antarchy.shellstone_bricks": "Shellstone Bricks", - "item.antarchy.chiseled_shellstone": "Chiseled Shellstone", - "item.antarchy.mossy_shellstone_bricks": "Mossy Shellstone Bricks", - "item.antarchy.mossy_shellstone_brick_stairs": "Mossy Shellstone Brick Stairs", - "item.antarchy.mossy_shellstone_brick_slab": "Mossy Shellstone Brick Slab", - "item.antarchy.mossy_shellstone_brick_wall": "Mossy Shellstone Brick Wall", - "item.antarchy.cracked_shellstone_bricks": "Cracked Shellstone Bricks", - "item.antarchy.shellstone_stairs": "Shellstone Stairs", - "item.antarchy.shellstone_slab": "Shellstone Slab", - "item.antarchy.shellstone_wall": "Shellstone Wall", - "item.antarchy.polished_shellstone_stairs": "Polished Shellstone Stairs", - "item.antarchy.polished_shellstone_slab": "Polished Shellstone Slab", - "item.antarchy.polished_shellstone_wall": "Polished Shellstone Wall", - "item.antarchy.shellstone_brick_stairs": "Shellstone Brick Stairs", - "item.antarchy.shellstone_brick_slab": "Shellstone Brick Slab", - "item.antarchy.shellstone_brick_wall": "Shellstone Brick Wall", - "item.antarchy.nyxite_stairs": "Nyxite Stairs", - "item.antarchy.nyxite_slab": "Nyxite Slab", - "item.antarchy.nyxite_wall": "Nyxite Wall", - "item.antarchy.polished_nyxite_stairs": "Polished Nyxite Stairs", - "item.antarchy.polished_nyxite_slab": "Polished Nyxite Slab", - "item.antarchy.polished_nyxite_wall": "Polished Nyxite Wall", - "item.antarchy.nyxite_brick_stairs": "Nyxite Brick Stairs", - "item.antarchy.nyxite_brick_slab": "Nyxite Brick Slab", - "item.antarchy.nyxite_brick_wall": "Nyxite Brick Wall", - "item.antarchy.potent_nyxite": "Potent Nyxite", - "item.antarchy.antimetal": "Antimetal", - "item.antarchy.polished_antimetal": "Polished Antimetal", - "item.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", - "item.antarchy.ouranwood_acorn": "Ouranwood Acorn", - "item.antarchy.ouranwood_vine": "Ouranwood Vine", - "item.antarchy.ouranwood_boat": "Ouranwood Boat", - "item.antarchy.ouranwood_chest_boat": "Ouranwood Chest Boat", - "item.antarchy.big_bush": "Big Bush", - "item.antarchy.big_bush.tooltip": "Can be bonemealed", - "item.antarchy.very_short_grass": "Very Short Grass", - "item.antarchy.very_tall_grass": "Very Tall Grass", - "item.antarchy.orange_milkweed": "Orange Milkweed", - "item.antarchy.pink_milkweed": "Pink Milkweed", - "item.antarchy.hushweed": "Hushweed", - "item.antarchy.umbral_moss_block": "Umbral Moss Block", - "item.antarchy.umbral_moss_carpet": "Umbral Moss Carpet", - "item.antarchy.amber_moss_block": "Amber Moss Block", - "item.antarchy.amber_moss_carpet": "Amber Moss Carpet", - "item.antarchy.amber_lichen": "Amber Lichen", - "item.antarchy.bile_vein": "Bile Vein", - "item.antarchy.creepvine": "Creepvine", - "item.antarchy.chiten": "Chiten", - "item.antarchy.chiten_block": "Chiten Block", - "item.antarchy.chiten_spike": "Chiten Spike", - "item.antarchy.myrmite": "Myrmite", - "item.antarchy.broodstone": "Broodstone", - "item.antarchy.torchflower_bush": "Torchflower Bush", - "block.antarchy.torchflower_bush": "Torchflower Bush", - "item.antarchy.mud_pie": "Mud Pie", - "item.antarchy.duct_tape": "Duct Tape", - "item.antarchy.duct_tape.tooltip": "Place down and right-click to repair tools", - "item.antarchy.rainbow_sugar": "Rainbow Sugar", - "item.antarchy.uranium_nugget": "Uranium Nugget", - "item.antarchy.titanium_nugget": "Titanium Nugget", - "item.antarchy.raw_uranium_scrap": "Raw Uranium Scrap", - "item.antarchy.raw_titanium_scrap": "Raw Titanium Scrap", - "item.antarchy.raw_uranium": "Raw Uranium", - "item.antarchy.raw_titanium": "Raw Titanium", - "item.antarchy.uranium_ingot": "Uranium Ingot", - "item.antarchy.titanium_ingot": "Titanium Ingot", - "item.antarchy.blood_crystal_shard": "Blood Crystal Shard", - "item.antarchy.blood_crystal_apple": "Blood Crystal Apple", - "item.antarchy.blood_crystal_katana": "Blood Crystal Katana", - "item.antarchy.blood_crystal_helmet": "Blood Crystal Helmet", - "item.antarchy.blood_crystal_chestplate": "Blood Crystal Chestplate", - "item.antarchy.blood_crystal_leggings": "Blood Crystal Leggings", - "item.antarchy.blood_crystal_boots": "Blood Crystal Boots", - "item.antarchy.blood_crystal_armor.tooltip": "Grants a Bloodglass Heart that blocks one incoming hit, shatters, then recharges.", - "item.antarchy.blood_crystal_boots.tooltip2": "Cancels fall damage when falling upward while gravity is inverted.", - "item.antarchy.blood_crystal_apple.tooltip": "Grants Bloodglass Ward, providing temporary Bloodglass Hearts that recharge while the effect lasts.", - "tooltip.antarchy.blood_crystal_katana.launch": "Launches you forward on hit.", - "tooltip.antarchy.blood_crystal_katana.trail": "Leaves a crimson trail behind you.", - "item.antarchy.mantis_claw": "Mantis Claw", - "item.antarchy.king_scale": "King Scale", - "item.antarchy.queen_scale": "Queen Scale", - "item.antarchy.jumpy_bug_leg": "Jumpy Bug Leg", - "item.antarchy.jumpy_boots": "Jumpy Boots", - "tooltip.antarchy.jumpy_boots": "Sneak to charge, then jump to spring upward.", - "item.antarchy.brutalfly_wing": "Brutalfly Wing", - "item.antarchy.brutalfly_elytra": "Brutalfly Elytra", - "tooltip.antarchy.brutalfly_elytra.flap": "While flying, hold %s to flap your wings", - "item.antarchy.cornea_ear": "Ear of Cornea", - "item.antarchy.primordial_scute": "Primordial Scute", - "item.antarchy.triffid_goo": "Triffid Goo", - "item.antarchy.triffid_goo_block": "Triffid Goo Block", - "tooltip.antarchy.triffid_goo_block": "At high velocity bounce up, otherwise sink through.", - "item.antarchy.cloud_bucket": "Cloud Bucket", - "tooltip.antarchy.cloud_bucket.midair": "Can be placed midair", - "item.antarchy.scorpion_whip": "Emperor Scorpion Whip", - "tooltip.antarchy.scorpion_whip.lash": "Lashes prey from afar and embeds a venomous tether.", - "tooltip.antarchy.scorpion_whip.reel": "Right-click to reel tethered prey.", - "tooltip.antarchy.scorpion_whip.snap": "Left-click tethered prey again to snap the stinger free.", - "item.antarchy.fallen_king_crown": "Fallen King's Crown", - "tooltip.antarchy.fallen_king_crown.hero": "Grants Hero of the Village when you slay hostile mobs", - "item.antarchy.vortex_eye": "Vortex Eye", - "item.antarchy.ultimate_helmet": "Ultimate Helmet", - "item.antarchy.ultimate_chestplate": "Ultimate Chestplate", - "item.antarchy.ultimate_leggings": "Ultimate Leggings", - "item.antarchy.ultimate_boots": "Ultimate Boots", - "item.antarchy.ultimate_sword": "Ultimate Sword", - "item.antarchy.ultimate_pickaxe": "Ultimate Pickaxe", - "item.antarchy.ultimate_axe": "Ultimate Axe", - "item.antarchy.ultimate_shovel": "Ultimate Shovel", - "item.antarchy.ultimate_hoe": "Ultimate Hoe", - "item.antarchy.ultimate_bow": "Ultimate Bow", - "item.antarchy.ultimate_crossbow": "Ultimate Crossbow", - "item.antarchy.ultimate_crossbow.capacity": "Loads up to 16 arrows at once", - "item.antarchy.ultimate_crossbow.arrows_remaining": "%1$s %2$s loaded", - "item.antarchy.ultimate_mace": "Ultimate Mace", - "item.antarchy.moggles": "Moggles", - "itemGroup.antarchy.antarchy": "Antarchy", - "item.antarchy.bile_bucket": "Bile Bucket", - "item.antarchy.ichor_bucket": "Ichor Bucket", - "item.antarchy.antiwater_bucket": "Antiwater Bucket", - "item.antarchy.reverie_bottle": "Bottle of Reverie", - "item.antarchy.squidzooka": "Squidzooka", - "item.antarchy.shrink_ray": "Shrink Ray", - "item.antarchy.growth_ray": "Growth Ray", - "tooltip.antarchy.shrink_ray": "Permanently shrinks targets. Hold down to charge.", - "tooltip.antarchy.growth_ray": "Permanently Grows Targets. Hold down to charge.", - "tooltip.antarchy.reverie_bottle.capture": "Right click a Reverie with a glass bottle to store it.", - "tooltip.antarchy.reverie_bottle.release": "Right click to release the Reverie.", - "item.antarchy.gravity_gun": "Gravity Gun", - "item.antarchy.diamond_minecart": "The Diamond Minecart", - "item.antarchy.cogwheel_pet": "Cogwheel Pet", - "item.antarchy.fire_dragon_pet": "Fire Dragon Pet", - "item.antarchy.ice_dragon_pet": "Ice Dragon Pet", - "item.antarchy.lightning_dragon_pet": "Lightning Dragon Pet", - "item.antarchy.gorgon_pet": "Gorgon Pet", - "item.antarchy.apple_cow_spawn_egg": "Apple Cow Spawn Egg", - "item.antarchy.red_ant_spawn_egg": "Red Ant Spawn Egg", - "item.antarchy.brown_ant_spawn_egg": "Brown Ant Spawn Egg", - "item.antarchy.rainbow_ant_spawn_egg": "Rainbow Ant Spawn Egg", - "item.antarchy.termite_spawn_egg": "Termite Spawn Egg", - "item.antarchy.golden_apple_cow_spawn_egg": "Golden Apple Cow Spawn Egg", - "item.antarchy.enchanted_golden_apple_cow_spawn_egg": "Enchanted Golden Apple Cow Spawn Egg", - "item.antarchy.honeyed_apple_cow_spawn_egg": "Honeyed Apple Cow Spawn Egg", - "item.antarchy.dr_trayaurus_spawn_egg": "Dr. Trayaurus Spawn Egg", - "item.antarchy.easter_bunny_spawn_egg": "Easter Bunny Spawn Egg", - "item.antarchy.flying_squirrel_spawn_egg": "Flying Squirrel Spawn Egg", - "item.antarchy.caterpillar_spawn_egg": "Caterpillar Spawn Egg", - "item.antarchy.butterfly_spawn_egg": "Butterfly Spawn Egg", - "item.antarchy.brutalfly_spawn_egg": "Brutalfly Spawn Egg", - "item.antarchy.cloud_shark_spawn_egg": "Cloud Shark Spawn Egg", - "item.antarchy.kraken_spawn_egg": "Uh, no. Don't.", - "item.antarchy.missile_squid_spawn_egg": "Missile Squid Spawn Egg", - "item.antarchy.octopus_bomb_spawn_egg": "Octopus Bomb Spawn Egg", - "item.antarchy.nightmare_spawn_egg": "Nightmare Spawn Egg", - "item.antarchy.toreterror_spawn_egg": "Toreterror Spawn Egg", - "item.antarchy.creeping_horror_spawn_egg": "Creeping Horror Spawn Egg", - "item.antarchy.lurking_terror_spawn_egg": "Lurking Terror Spawn Egg", - "item.antarchy.water_cannon": "Water Cannon", - "item.antarchy.primordial_scute": "Primordial Scute", - "item.antarchy.primordial_helmet": "Primordial Helmet", - "item.antarchy.primordial_chestplate": "Primordial Chestplate", - "item.antarchy.primordial_leggings": "Primordial Leggings", - "item.antarchy.primordial_boots": "Primordial Boots", - "item.antarchy.bed_bug_spawn_egg": "Bed Bug Spawn Egg", - "item.antarchy.moleworm_spawn_egg": "Moleworm Spawn Egg", - "item.antarchy.molevore_spawn_egg": "Molevore Spawn Egg", - "item.antarchy.reverie_spawn_egg": "Reverie Spawn Egg", - "item.antarchy.mantis_spawn_egg": "Mantis Spawn Egg", - "item.antarchy.alpha_mantis_spawn_egg": "Alpha Mantis Spawn Egg", - "biome.antarchy.moleworm_caves": "Moleworm Caves", - "biome.antarchy.butterfly_fields": "Butterfly Fields", - "biome.antarchy.torchflower_fields": "Torchflower Fields", - "biome.antarchy.ouranwood_forest": "Ouranwood Forest", - "biome.antarchy.fungal_ouranwood_forest": "Fungal Ouranwood Forest", - "message.antarchy.brown_ant_activated": "The brown ant is ready to open its destination.", - "message.antarchy.brown_ant_needs_reagent": "This brown ant needs a reagent before it can open its destination.", - "message.antarchy.rainbow_ant_activated": "The rainbow ant hums with a new Infinity destination.", - "message.antarchy.rainbow_ant_activated_inherited": "The rainbow ant hums with an inherited Infinity destination.", - "message.antarchy.rainbow_ant_activated_inherited_existing": "The rainbow ant reconnects to an inherited Infinity destination.", - "message.antarchy.rainbow_ant_failed_dimension_create": "Failed to create dimension. This likely means something is wrong in your infinity config. Restart/Relog and try again.", - "message.antarchy.rainbow_ant_infinity_missing": "Infinity must be installed for rainbow ant dimensions to work.", - "message.antarchy.rainbow_ant_needs_reagent": "This rainbow ant needs a reagent before it can open a dimension.", - "message.antarchy.red_ant_activated": "The red ant is ready to open its destination.", - "message.antarchy.red_ant_needs_reagent": "This red ant needs a reagent before it can open its destination.", - "message.antarchy.termite_activated": "The termite is ready to open its destination.", - "message.antarchy.termite_needs_reagent": "This termite needs a reagent before it can open its destination.", - "message.antarchy.big_bertha.mode": "Big Bertha Mode: %s", - "message.antarchy.big_bertha.mode.basilisk": "Basilisk", - "message.antarchy.big_bertha.mode.lucid": "Lucid", - "message.antarchy.big_bertha.mode.nightmare": "Nightmare", - "message.antarchy.big_bertha.mode.kraken": "Kraken", - "message.antarchy.big_bertha.mode.molevore": "Molevore", - "message.antarchy.big_bertha.mode.toreterror": "Toreterror", - "message.antarchy.ultimate_tool.mode_3x3": "Switched to 3x3 Mining", - "message.antarchy.ultimate_tool.mode_default": "Switched to Default Mining", - "advancements.antarchy.hey_listen.title": "Hey Listen", - "advancements.antarchy.hey_listen.description": "A Reverie has joined you.", - "advancements.antarchy.very_hungry_caterpillar.title": "Very Hungry Caterpillar", - "advancements.antarchy.very_hungry_caterpillar.description": "Help a caterpillar grow.", - "effect.antarchy.dread": "Dread", - "effect.antarchy.paralyzed": "Paralyzed", - "effect.antarchy.inverted": "Inverted", - "effect.antarchy.stinky": "Stinky", - "effect.antarchy.shrinking": "Shrinking", - "effect.antarchy.growth": "Growth", - "effect.antarchy.bloodglass_ward": "Bloodglass Ward", - "death.attack.triffid_mauling": "%1$s was mauled to death by a plant", - "death.attack.triffid_mauling.player": "%1$s was mauled to death by a plant", - "death.attack.triffid_swallow": "%1$s was swallowed by a triffid", - "death.attack.triffid_swallow.player": "%1$s was swallowed by a triffid", - "potion.antarchy.haste": "Haste Potion", - "potion.antarchy.strong_haste": "Strong Haste Potion", - "tooltip.antarchy.big_bertha.mode": "Mode: %s", - "tooltip.antarchy.big_bertha.toggle_mode": "Shift-right-click to cycle boss modes.", - "tooltip.antarchy.big_bertha.mode.basilisk": "Right-click paralyzes a target. Hits inflict poison and slow.", - "tooltip.antarchy.big_bertha.mode.lucid": "Hits invert targets for a few seconds. Hits deal more damage while you are inverted.", - "tooltip.antarchy.big_bertha.mode.nightmare": "Players suffer Dread; hits inflict weakness.", - "tooltip.antarchy.big_bertha.mode.kraken": "Hits slam targets back and call lightning.", - "tooltip.antarchy.big_bertha.mode.molevore": "Right-click to spin forward and drill through Molevore blocks.", - "tooltip.antarchy.big_bertha.mode.toreterror": "Right-click to launch into the air and crash down with an AOE shockwave.", - "tooltip.antarchy.ultimate_tools_3x3": "Shift-right-click to toggle 3x3 Mining.", - "tooltip.antarchy.moggles.reveal": "Gives night vision and points to nearby caves.", - "tooltip.antarchy.moggles.underground": "Works only while you have no sky access.", - "tooltip.antarchy.cornea_ear.vision": "Grants Night Vision for %s seconds.", - "tooltip.antarchy.mob_coming_soon": "Mob Coming Soon!", - "tooltip.antarchy.gravity_gun.primary": "Left-click: blast nearby entities or throw the held target.", - "tooltip.antarchy.gravity_gun.secondary": "Right-click: pull in an entity or a valid block.", - "tooltip.antarchy.gravity_gun.scroll": "Hold Ctrl and scroll to move the held target closer or farther away.", - "tooltip.antarchy.gravity_gun.blacklist": "Does not affect blacklisted blocks or entities.", - "tooltip.antarchy.antimetal_inversion": "Inverts entites directly below it", - "tooltip.antarchy.diamond_minecart.forward": "Will be implemented later.", - "tooltip.antarchy.diamond_minecart.rails": " ", - "tooltip.antarchy.rainbow_sugar": "Activates Rainbow Ant Dimensions. Eat while in one to return home.", - "advancements.antarchy.visit_elythia.title": "InterdimANTsional", - "advancements.antarchy.visit_elythia.description": "Use a brown ant to reach Elythia.", - "advancements.antarchy.visit_thoraxis.title": "Ant-ger Management", - "advancements.antarchy.visit_thoraxis.description": "Use a red ant to reach Thoraxis.", - "advancements.antarchy.fallen_kingdom_castle.title": "I Used to Rule the World...", - "advancements.antarchy.fallen_kingdom_castle.description": "Discover the Fallen Kingdom Castle.", - "advancements.antarchy.fallen_king_crown.title": "Chunks would load when I gave the word...", - "advancements.antarchy.fallen_king_crown.description": "Obtain the Fallen King's Crown.", - "advancements.antarchy.visit_cavaryn.title": "You will be Termite-ated", - "advancements.antarchy.visit_cavaryn.description": "Use a termite to reach Cavaryn.", - "advancements.antarchy.the_lab.title": "Hello Everyone, Dan Here!", - "advancements.antarchy.the_lab.description": "Discover Dr. Trayaurus' lab.", - "advancements.antarchy.sweater_dreams.title": "Sweater Dreams", - "advancements.antarchy.sweater_dreams.description": "Defeat the Nightmare.", - "advancements.antarchy.stone_cold.title": "Stone Cold", - "advancements.antarchy.stone_cold.description": "Defeat a Basilisk.", - "advancements.antarchy.moley_poley.title": "Moley Poley", - "advancements.antarchy.moley_poley.description": "Defeat a Molevore.", - "advancements.antarchy.lucid_dreams.title": "Lucid Dreams", - "advancements.antarchy.lucid_dreams.description": "Defeat a Lucid.", - "advancements.antarchy.davy_jones_locker.title": "Davy Jones' Locker", - "advancements.antarchy.davy_jones_locker.description": "Defeat the Kraken.", - "advancements.antarchy.shark_weak.title": "When Sharks Fly", - "advancements.antarchy.shark_weak.description": "Defeat a Cloud Shark.", - "advancements.antarchy.dont_let_the_bed_bugs_bite.title": "Don't Let the Bed Bugs Bite", - "advancements.antarchy.dont_let_the_bed_bugs_bite.description": "Defeat a Bed Bug.", - "advancements.antarchy.soups_up.title": "Soups Up", - "advancements.antarchy.soups_up.description": "Eat Cloud Shark Fin Soup.", - "advancements.antarchy.in_the_upside_down.title": "In the Upside Down", - "advancements.antarchy.in_the_upside_down.description": "Become inverted for the first time.", - "advancements.antarchy.whoever_smelt_it_dealt_it.title": "Whoever smelt it, dealt it", - "advancements.antarchy.whoever_smelt_it_dealt_it.description": "Get Stinky for the first time.", - "advancements.antarchy.ultimate_armor.title": "Ultimate Protection", - "advancements.antarchy.ultimate_armor.description": "Collect the full set of Ultimate Armor.", - "advancements.antarchy.ultimate_bow.title": "Bowhemian Rhapsody", - "advancements.antarchy.ultimate_bow.description": "Obtain an Ultimate Bow.", - "advancements.antarchy.brutalfly.title": "Float Like a Brutalfly, Sting Like a Bee", - "advancements.antarchy.brutalfly.description": "Obtain a Brutalfly Elytra.", - "advancements.antarchy.now_watch_me_whip.title": "Now Watch Me Whip", - "advancements.antarchy.now_watch_me_whip.description": "Now watch me nae nae", - "advancements.antarchy.kill_molevore.title": "Moley Poley", - "advancements.antarchy.kill_molevore.description": "Kill a Molevore.", - "advancements.antarchy.water_cannon_craft.title": "Wetter is Better!", - "advancements.antarchy.water_cannon_craft.description": "Obtain a Water Cannon.", - "advancements.antarchy.kill_toreterror.title": "More like Tore-Terrible Aim!", - "advancements.antarchy.kill_toreterror.description": "Defeat the Toreterror.", - "advancements.antarchy.challenge_games.title": "Challenge Games!", - "advancements.antarchy.challenge_games.description": "Enter the Ruined Arena.", - "advancements.antarchy.bugged_out.title": "Bugged Out", - "advancements.antarchy.bugged_out.description": "Defeat the Alpha Mantis.", - "death.attack.bed_bug_bite": "%1$s got bit by the bed bugs", - "death.attack.bed_bug_bite.player": "%1$s got bit by the bed bugs while fighting %2$s", - "message.antarchy.dread_too_scared_to_sleep": "You are too scared to sleep.", - "death.attack.kraken_mauling": "%1$s was dragged under by the Kraken", - "death.attack.kraken_mauling.player": "%1$s was dragged under by the Kraken while fighting %2$s", - "death.attack.kraken_lightning": "%1$s was struck down by the Kraken's storm", - "death.attack.kraken_lightning.player": "%1$s was struck down by the Kraken's storm while fighting %2$s", - "death.attack.nightmare_mauling": "%1$s was devoured by the Nightmare", - "death.attack.nightmare_mauling.player": "%1$s was devoured by the Nightmare while fighting %2$s", - "death.attack.basilisk_bite": "%1$s was swallowed by a Basilisk", - "death.attack.basilisk_bite.player": "%1$s was swallowed by a Basilisk while fighting %2$s", - "death.attack.emperor_scorpion_sting": "%1$s was stung by the Emperor Scorpion", - "death.attack.emperor_scorpion_sting.player": "%1$s was stung by the Emperor Scorpion while fighting %2$s", - "death.attack.cornea_stalk_prick": "%1$s was pricked to death by a Cornea Stalk", - "death.attack.toreterror_spin": "%1$s was beybladed to death by Toreterror", - "death.attack.toreterror_spin.player": "%1$s was beybladed to death by Toreterror", - "death.attack.toreterror_jump": "%1$s was pounded to death by Toreterror", - "death.attack.toreterror_jump.player": "%1$s was pounded to death by Toreterror", - "death.attack.water_soaked": "%1$s was super soaked to death by %2$s", - "death.attack.water_soaked.player": "%1$s was super soaked to death by %2$s", - "entity.antarchy.lucid": "Lucid", - "item.antarchy.lucid_spawn_egg": "Lucid Spawn Egg", - "item.antarchy.lucid_eye": "Lucid Eye", - "entity.antarchy.scorpion": "Scorpion", - "item.antarchy.scorpion_spawn_egg": "Scorpion Spawn Egg", - "entity.antarchy.basilisk": "Basilisk", - "item.antarchy.basilisk_spawn_egg": "Basilisk Spawn Egg", - "entity.antarchy.emperor_scorpion": "Emperor Scorpion", - "item.antarchy.emperor_scorpion_spawn_egg": "Emperor Scorpion Spawn Egg", - "item.antarchy.emperor_scorpion_stinger": "Emperor Scorpion Stinger", - "item.antarchy.lucid_pearl": "Lucid Pearl", - "tooltip.antarchy.lucid_pearl": "Throws an inverted-gravity projectile.", - "tooltip.antarchy.lucid_pearl.detail": "Teleports you to where it lands and applies Inverted.", - "subtitles.antarchy.squidzooka_fire": "Squidzooka fires", - "subtitles.antarchy.shrink_ray": "Shrink Ray fires", - "subtitles.antarchy.growth_ray": "Growth Ray fires", - "subtitles.antarchy.size_ray_charge": "Size Ray charges", - "subtitles.antarchy.ant_ambient": "Ants chirp", - "subtitles.antarchy.ant_idle": "Ants idle", - "subtitles.antarchy.ant_hurt": "Ants hurt", - "subtitles.antarchy.ant_bite": "Ants bite", - "subtitles.antarchy.ant_gather": "Ants gather", - "subtitles.antarchy.ant_nest": "Ant nest rustles", - "subtitles.antarchy.cloud_shark_bite": "Cloud Shark bites", - "subtitles.antarchy.cloud_shark_idle": "Cloud Shark idles", - "subtitles.antarchy.cloud_shark_hurt": "Cloud Shark hurts", - "subtitles.antarchy.cloud_shark_death": "Cloud Shark dies", - "subtitles.antarchy.cloud_shark_fly": "Cloud Shark flies", - "subtitles.antarchy.caterpillar_idle": "Caterpillar idles", - "subtitles.antarchy.caterpillar_hurt": "Caterpillar hurts", - "subtitles.antarchy.caterpillar_crawl": "Caterpillar crawls", - "subtitles.antarchy.butterfly_hurt": "Butterfly hurts", - "subtitles.antarchy.brutalfly_idle": "Brutalfly idles", - "subtitles.antarchy.brutalfly_death": "Brutalfly dies", - "subtitles.antarchy.thoraxis_nightmare_wastes_ambient": "Nightmare Wastes hums", - "subtitles.antarchy.thoraxis_nightmare_wastes_additions": "Nightmare Wastes stirs", - "subtitles.antarchy.thoraxis_nightmare_wastes_mood": "Nightmare Wastes murmurs", - "subtitles.antarchy.thoraxis_dream_dunes_ambient": "Dream Dunes whisper", - "subtitles.antarchy.thoraxis_dream_dunes_additions": "Dream Dunes rustle", - "subtitles.antarchy.thoraxis_dream_dunes_mood": "Dream Dunes sigh", - "subtitles.antarchy.thoraxis_lucid_pools_ambient": "Lucid Pools hum", - "subtitles.antarchy.thoraxis_lucid_pools_additions": "Lucid Pools curse", - "subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur", - "subtitles.antarchy.lucid_ambient": "Lucid hums", - "subtitles.antarchy.lucid_flying": "Lucid flutters", - "subtitles.antarchy.lucid_attack": "Lucid attacks", - "subtitles.antarchy.lucid_bolt": "Lucid bolt fires", - "subtitles.antarchy.lucid_hurt": "Lucid hurts", - "subtitles.antarchy.lucid_death": "Lucid dies", - "subtitles.antarchy.reverie_idle": "Reverie drifts", - "subtitles.antarchy.reverie_hurt": "Reverie hurts", - "subtitles.antarchy.reverie_worry": "Reverie worries", - "subtitles.antarchy.reverie_save": "Reverie saves you", - "subtitles.antarchy.reverie_join_player": "Reverie joins you", - "subtitles.antarchy.reverie_alert": "Reverie alerts you", - "subtitles.antarchy.flying_squirrel_idle": "Flying squirrel chirps", - "subtitles.antarchy.flying_squirrel_beg": "Flying squirrel begs for food", - "subtitles.antarchy.flying_squirrel_nut": "Flying squirrel eats", - "subtitles.antarchy.flying_squirrel_glide_loop": "Flying squirrel glides", - "subtitles.antarchy.flying_squirrel_hurt": "Flying squirrel hurts", - "subtitles.antarchy.flying_squirrel_death": "Flying squirrel dies", - "subtitles.antarchy.nightmare_idle": "Nightmare snarls", - "subtitles.antarchy.nightmare_hurt": "Nightmare hurts", - "subtitles.antarchy.nightmare_roar": "Nightmare roars", - "subtitles.antarchy.nightmare_death": "Nightmare dies", - "subtitles.antarchy.nightmare_bite": "Nightmare bites", - "subtitles.antarchy.nightmare_flap": "Nightmare flaps", - "subtitles.antarchy.triffid_attack": "Triffid attacks", - "subtitles.antarchy.triffid_grab": "Triffid grabs", - "subtitles.antarchy.triffid_hurt": "Triffid hurts", - "subtitles.antarchy.triffid_death": "Triffid dies", - "subtitles.antarchy.triffid_hiss": "Triffid hisses", - "subtitles.antarchy.triffid_growl": "Triffid growls", - "subtitles.antarchy.gravity_gun_pickup": "Gravity Gun picks up", - "subtitles.antarchy.gravity_gun_drop": "Gravity Gun drops", - "subtitles.antarchy.gravity_gun_hold_loop": "Gravity Gun hums", - "subtitles.antarchy.gravity_gun_launch": "Gravity Gun launches", - "subtitles.antarchy.gravity_gun_dryfire": "Gravity Gun dry fires", - "subtitles.antarchy.bed_bug_ambient": "Bed Bug chirps", - "subtitles.antarchy.bed_bug_hurt": "Bed Bug hurts", - "subtitles.antarchy.bed_bug_attack": "Bed Bug bites", - "subtitles.antarchy.wasp_idle": "Wasp buzzes", - "subtitles.antarchy.wasp_hurt": "Wasp hurts", - "subtitles.antarchy.wasp_attack": "Wasp stings", - "subtitles.antarchy.wasp_death": "Wasp dies", - "subtitles.antarchy.scorpion_ambient": "Scorpion rattles", - "subtitles.antarchy.scorpion_hurt": "Scorpion hurts", - "subtitles.antarchy.scorpion_attack": "Scorpion attacks", - "subtitles.antarchy.emperor_scorpion_ambient": "Emperor Scorpion rattles", - "subtitles.antarchy.emperor_scorpion_hurt": "Emperor Scorpion hurts", - "subtitles.antarchy.emperor_scorpion_attack": "Emperor Scorpion attacks", - "subtitles.antarchy.emperor_scorpion_roar": "Emperor Scorpion roars", - "subtitles.antarchy.moleworm_ambient": "Moleworm rustles", - "subtitles.antarchy.moleworm_hurt": "Moleworm hurts", - "subtitles.antarchy.moleworm_attack": "Moleworm attacks", - "subtitles.antarchy.moleworm_dig": "Moleworm digs", - "subtitles.antarchy.molevore_ambient": "Molevore rumbles", - "subtitles.antarchy.molevore_hurt": "Molevore hurts", - "subtitles.antarchy.molevore_attack": "Molevore attacks", - "subtitles.antarchy.molevore_dig": "Molevore digs", - "subtitles.antarchy.duct_tape_use": "Duct Tape tears", - "subtitles.antarchy.potent_nyxite_hypnotic_gas": "Potent Nyxite hisses", - "subtitles.antarchy.potent_nyxite_geyser_eruption": "Potent Nyxite erupts", - "subtitles.antarchy.potent_nyxite_geyser_continuous": "Potent Nyxite geyser roars", - "subtitles.antarchy.missile_squid_ambient": "Missile Squid hums", - "subtitles.antarchy.missile_squid_hurt": "Missile Squid hurts", - "subtitles.antarchy.missile_squid_death": "Missile Squid dies", - "subtitles.antarchy.missile_squid_attack": "Missile Squid attacks", - "subtitles.antarchy.kraken_flying_loop": "Kraken glides", - "subtitles.antarchy.kraken_flying_sideways_loop": "Kraken circles", - "subtitles.antarchy.kraken_attack": "Kraken strikes", - "subtitles.antarchy.kraken_spin": "Kraken spins", - "subtitles.antarchy.kraken_roar": "Kraken roars", - "subtitles.antarchy.kraken_summon": "Kraken emerges", - "subtitles.antarchy.kraken_hurt": "Kraken hurts", - "subtitles.antarchy.kraken_death": "Kraken dies", - "subtitles.antarchy.basilisk_idle_loop": "Basilisk idles", - "subtitles.antarchy.basilisk_slither_loop": "Basilisk slithers", - "subtitles.antarchy.basilisk_bite": "Basilisk bites", - "subtitles.antarchy.basilisk_hiss": "Basilisk hisses", - "subtitles.antarchy.basilisk_hurt": "Basilisk hurts", - "subtitles.antarchy.basilisk_death": "Basilisk dies", - "subtitles.antarchy.bomber_walk": "Bomber walks", - "subtitles.antarchy.bomber_knock": "Bomber gets hit", - "subtitles.antarchy.bomber_explode": "Bomber fuse hisses", - "subtitles.antarchy.toreterror_idle": "Toreterror idles", - "subtitles.antarchy.toreterror_hurt": "Toreterror hurts", - "subtitles.antarchy.toreterror_death": "Toreterror dies", - "subtitles.antarchy.toreterror_bomber_fire": "Toreterror launches bombers", - "subtitles.antarchy.toreterror_spin": "Toreterror spins", - "subtitles.antarchy.toreterror_ricochet": "Toreterror ricochets", - "subtitles.antarchy.water_cannon_fire": "Water Cannon fires", - "subtitles.antarchy.toreterror_jump_up": "Toreterror jumps", - "subtitles.antarchy.toreterror_jump_land": "Toreterror lands", - "subtitles.antarchy.creeping_horror_growl": "Creeping Horror growls", - "subtitles.antarchy.creeping_horror_hurt": "Creeping Horror hurts", - "subtitles.antarchy.creeping_horror_bite": "Creeping Horror bites", - "subtitles.antarchy.lurking_terror_snarl": "Lurking Terror snarls", - "subtitles.antarchy.lurking_terror_hurt": "Lurking Terror hurts", - "subtitles.antarchy.lurking_terror_bite": "Lurking Terror bites", - "subtitles.antarchy.lurking_terror_fly_loop": "Lurking Terror flies", - "subtitles.antarchy.stinky_fly": "Stinky flies buzz", - "item.minecraft.potion.effect.inversion": "Potion of Inversion", - "item.minecraft.potion.effect.long_inversion": "Potion of Inversion", - "item.minecraft.splash_potion.effect.inversion": "Splash Potion of Inversion", - "item.minecraft.splash_potion.effect.long_inversion": "Splash Potion of Inversion", - "item.minecraft.lingering_potion.effect.inversion": "Lingering Potion of Inversion", - "item.minecraft.lingering_potion.effect.long_inversion": "Lingering Potion of Inversion", - "item.minecraft.tipped_arrow.effect.inversion": "Arrow of Inversion", - "item.minecraft.tipped_arrow.effect.long_inversion": "Arrow of Inversion", - "item.minecraft.potion.effect.paralysis": "Potion of Paralysis", - "item.minecraft.potion.effect.long_paralysis": "Potion of Paralysis", - "item.minecraft.splash_potion.effect.paralysis": "Splash Potion of Paralysis", - "item.minecraft.splash_potion.effect.long_paralysis": "Splash Potion of Paralysis", - "item.minecraft.lingering_potion.effect.paralysis": "Lingering Potion of Paralysis", - "item.minecraft.lingering_potion.effect.long_paralysis": "Lingering Potion of Paralysis", - "item.minecraft.tipped_arrow.effect.paralysis": "Arrow of Paralysis", - "item.minecraft.tipped_arrow.effect.long_paralysis": "Arrow of Paralysis", - "item.minecraft.potion.effect.shrinking": "Potion of Shrinking", - "item.minecraft.potion.effect.strong_shrinking": "Potion of Shrinking II", - "item.minecraft.potion.effect.extreme_shrinking": "Potion of Shrinking III", - "item.minecraft.splash_potion.effect.shrinking": "Splash Potion of Shrinking", - "item.minecraft.splash_potion.effect.strong_shrinking": "Splash Potion of Shrinking II", - "item.minecraft.splash_potion.effect.extreme_shrinking": "Splash Potion of Shrinking III", - "item.minecraft.lingering_potion.effect.shrinking": "Lingering Potion of Shrinking", - "item.minecraft.lingering_potion.effect.strong_shrinking": "Lingering Potion of Shrinking II", - "item.minecraft.lingering_potion.effect.extreme_shrinking": "Lingering Potion of Shrinking III", - "item.minecraft.tipped_arrow.effect.shrinking": "Arrow of Shrinking", - "item.minecraft.tipped_arrow.effect.strong_shrinking": "Arrow of Shrinking II", - "item.minecraft.tipped_arrow.effect.extreme_shrinking": "Arrow of Shrinking III", - "item.minecraft.potion.effect.growing": "Potion of Growth", - "item.minecraft.potion.effect.strong_growing": "Potion of Growth II", - "item.minecraft.potion.effect.extreme_growing": "Potion of Growth III", - "item.minecraft.splash_potion.effect.growing": "Splash Potion of Growth", - "item.minecraft.splash_potion.effect.strong_growing": "Splash Potion of Growth II", - "item.minecraft.splash_potion.effect.extreme_growing": "Splash Potion of Growth III", - "item.minecraft.lingering_potion.effect.growing": "Lingering Potion of Growth", - "item.minecraft.lingering_potion.effect.strong_growing": "Lingering Potion of Growth II", - "item.minecraft.lingering_potion.effect.extreme_growing": "Lingering Potion of Growth III", - "item.minecraft.tipped_arrow.effect.growing": "Arrow of Growth", - "item.minecraft.tipped_arrow.effect.strong_growing": "Arrow of Growth II", - "item.minecraft.tipped_arrow.effect.extreme_growing": "Arrow of Growth III", - "item.minecraft.potion.effect.dread": "Potion of Dread", - "item.minecraft.potion.effect.long_dread": "Potion of Dread", - "item.minecraft.splash_potion.effect.dread": "Splash Potion of Dread", - "item.minecraft.splash_potion.effect.long_dread": "Splash Potion of Dread", - "item.minecraft.lingering_potion.effect.dread": "Lingering Potion of Dread", - "item.minecraft.lingering_potion.effect.long_dread": "Lingering Potion of Dread", - "item.minecraft.tipped_arrow.effect.dread": "Arrow of Dread", - "item.minecraft.tipped_arrow.effect.long_dread": "Arrow of Dread", - "item.minecraft.potion.effect.stinky": "Potion of Stink", - "item.minecraft.potion.effect.long_stinky": "Potion of Stink", - "item.minecraft.splash_potion.effect.stinky": "Splash Potion of Stink", - "item.minecraft.splash_potion.effect.long_stinky": "Splash Potion of Stink", - "item.minecraft.lingering_potion.effect.stinky": "Lingering Potion of Stink", - "item.minecraft.lingering_potion.effect.long_stinky": "Lingering Potion of Stink", - "item.minecraft.tipped_arrow.effect.stinky": "Arrow of Stink", - "item.minecraft.tipped_arrow.effect.long_stinky": "Arrow of Stink", - "item.minecraft.potion.effect.haste": "Potion of Haste", - "item.minecraft.potion.effect.strong_haste": "Potion of Haste II", - "item.minecraft.splash_potion.effect.haste": "Splash Potion of Haste", - "item.minecraft.splash_potion.effect.strong_haste": "Splash Potion of Haste II", - "item.minecraft.lingering_potion.effect.haste": "Lingering Potion of Haste", - "item.minecraft.lingering_potion.effect.strong_haste": "Lingering Potion of Haste II", - "item.minecraft.tipped_arrow.effect.haste": "Arrow of Haste", - "item.minecraft.tipped_arrow.effect.strong_haste": "Arrow of Haste II", - "subtitles.antarchy.squidzooka_fire": "Squidzooka fires", - "advancements.antarchy.visit_elythia.title": "InterdimANTsional", - "advancements.antarchy.visit_elythia.description": "Use a brown ant to reach Elythia.", - "advancements.antarchy.visit_thoraxis.title": "Ant-ger Management", - "advancements.antarchy.visit_thoraxis.description": "Use a red ant to reach Thoraxis.", - "advancements.antarchy.visit_cavaryn.title": "You will be Termite-ated", - "advancements.antarchy.visit_cavaryn.description": "Use a termite to reach Cavaryn.", - "advancements.antarchy.ultimate_armor.title": "Ultimate Protection", - "advancements.antarchy.ultimate_armor.description": "Collect the full set of Ultimate Armor.", - "advancements.antarchy.ultimate_bow.title": "Bowhemian Rhapsody", - "advancements.antarchy.ultimate_bow.description": "Obtain an Ultimate Bow.", - "advancements.antarchy.kill_molevore.title": "Moley Poley", - "advancements.antarchy.kill_molevore.description": "Kill a Molevore.", - "advancements.antarchy.water_cannon_craft.title": "Wetter is Better!", - "advancements.antarchy.water_cannon_craft.description": "Obtain a Water Cannon.", - "advancements.antarchy.kill_toreterror.title": "More like Tore-Terrible Aim!", - "advancements.antarchy.kill_toreterror.description": "Defeat the Toreterror.", - "advancements.antarchy.cancel_out.title": "1 - 1 = ?", - "advancements.antarchy.cancel_out.description": "Have Growth and Shrinking active at the same time.", - "death.attack.bed_bug_bite": "%1$s got bit by the bed bugs", - "death.attack.bed_bug_bite.player": "%1$s got bit by the bed bugs while fighting %2$s", - "death.attack.kraken_mauling": "%1$s was dragged under by the Kraken", - "death.attack.kraken_mauling.player": "%1$s was dragged under by the Kraken while fighting %2$s", - "death.attack.kraken_lightning": "%1$s was struck down by the Kraken's storm", - "death.attack.kraken_lightning.player": "%1$s was struck down by the Kraken's storm while fighting %2$s", - "death.attack.nightmare_mauling": "%1$s was devoured by the Nightmare", - "death.attack.nightmare_mauling.player": "%1$s was devoured by the Nightmare while fighting %2$s", - "death.attack.basilisk_bite": "%1$s was swallowed by a Basilisk", - "death.attack.basilisk_bite.player": "%1$s was swallowed by a Basilisk while fighting %2$s", - "death.attack.emperor_scorpion_sting": "%1$s was stung by the Emperor Scorpion", - "death.attack.emperor_scorpion_sting.player": "%1$s was stung by the Emperor Scorpion while fighting %2$s", - "death.attack.cornea_stalk_prick": "%1$s was pricked to death by a Cornea Stalk", - "death.attack.toreterror_spin": "%1$s was beybladed to death by Toreterror", - "death.attack.toreterror_spin.player": "%1$s was beybladed to death by Toreterror", - "death.attack.toreterror_jump": "%1$s was pounded to death by Toreterror", - "death.attack.toreterror_jump.player": "%1$s was pounded to death by Toreterror", - "death.attack.water_soaked": "%1$s was super soaked to death by %2$s", - "death.attack.water_soaked.player": "%1$s was super soaked to death by %2$s", - "entity.antarchy.cheep": "Cheep", - "entity.antarchy.dorrie": "Dorrie", - "entity.antarchy.hercules_beetle": "Hercules Beetle", - "item.antarchy.cheep": "Cheep", - "item.antarchy.cheep_spawn_egg": "Cheep Spawn Egg", - "item.antarchy.dorrie_spawn_egg": "Dorrie Spawn Egg", - "item.antarchy.hercules_beetle_spawn_egg": "Hercules Beetle Spawn Egg", - "key.antarchy.dorrie_charge_jump": "Dorrie: Charge Jump", - "key.antarchy.hercules_beetle_charge": "Hercules Beetle: Charge", - "entity.antarchy.rolly_polly": "Rolly Polly", - "item.antarchy.rolly_polly_spawn_egg": "Rolly Polly Spawn Egg", - "key.antarchy.rolly_polly_roll": "Rolly Polly: Roll", - "entity.antarchy.reverie": "Reverie", - "biome.antarchy.rolly_caves": "Rolly Caves", - "biome.antarchy.thoraxis": "Thoraxis", - "biome.antarchy.nightmare_wastes": "Nightmare Wastes", - "biome.antarchy.umbral_hills": "Umbral Hills", - "biome.antarchy.lucid_pools": "Lucid Pools", - "biome.antarchy.dream_dunes": "Dream Dunes", - "biome.antarchy.cloud_sea": "Cloud Sea", - - "trim_material.antarchy.blood_crystal": "Blood Crystal", - "trim_material.antarchy.nightmare_scale": "Nightmare Scale", - "trim_material.antarchy.uranium": "Uranium", - "trim_material.antarchy.titanium": "Titanium", - "advancements.antarchy.duct_tape.title": "I sawed this boat in half!", - "advancements.antarchy.duct_tape.description": "and fixed it with the power of duct tape!", - "key.categories.antarchy": "Antarchy", - "key.antarchy.brutalfly_flap": "Brutalfly Elytra: Flap", - "advancements.antarchy.shrink_ray_craft.title": "Honey, I Shrunk the Mobs", - "advancements.antarchy.shrink_ray_craft.description": "Craft a Shrink Ray.", - "advancements.antarchy.growth_ray_craft.title": "Go Big or Go Home", - "advancements.antarchy.growth_ray_craft.description": "Craft a Growth Ray.", - "advancements.antarchy.squidzooka_craft.title": "Ink and Destroy", - "advancements.antarchy.squidzooka_craft.description": "Craft a Squidzooka.", - "advancements.antarchy.gravity_gun_craft.title": "Pick Up Artist", - "advancements.antarchy.gravity_gun_craft.description": "Craft a Gravity Gun." + "block.antarchy.duplicator_log": "Duplicator Log", + "block.antarchy.ouranwood_log": "Ouranwood Log", + "block.antarchy.ouranwood_wood": "Ouranwood Wood", + "block.antarchy.mossy_ouranwood_log": "Mossy Ouranwood Log", + "block.antarchy.mossy_ouranwood_wood": "Mossy Ouranwood Wood", + "block.antarchy.stripped_ouranwood_log": "Stripped Ouranwood Log", + "block.antarchy.stripped_ouranwood_wood": "Stripped Ouranwood Wood", + "block.antarchy.ouranwood_planks": "Ouranwood Planks", + "block.antarchy.ouranwood_stairs": "Ouranwood Stairs", + "block.antarchy.ouranwood_slab": "Ouranwood Slab", + "block.antarchy.ouranwood_fence": "Ouranwood Fence", + "block.antarchy.ouranwood_fence_gate": "Ouranwood Fence Gate", + "block.antarchy.ouranwood_door": "Ouranwood Door", + "block.antarchy.ouranwood_trapdoor": "Ouranwood Trapdoor", + "block.antarchy.ouranwood_pressure_plate": "Ouranwood Pressure Plate", + "block.antarchy.ouranwood_button": "Ouranwood Button", + "block.antarchy.ouranwood_leaves": "Ouranwood Leaves", + "block.antarchy.ouranwood_acorn": "Ouranwood Acorn", + "block.antarchy.ouranwood_vine": "Ouranwood Vine", + "block.antarchy.ouranwood_sign": "Ouranwood Sign", + "block.antarchy.ouranwood_hanging_sign": "Ouranwood Hanging Sign", + "block.antarchy.orange_milkweed": "Orange Milkweed", + "block.antarchy.pink_milkweed": "Pink Milkweed", + "block.antarchy.hushweed": "Hushweed", + "block.antarchy.big_bush": "Big Bush", + "block.antarchy.big_bush_part": "Big Bush", + "block.antarchy.very_short_grass": "Very Short Grass", + "block.antarchy.very_tall_grass": "Very Tall Grass", + "block.antarchy.umbral_moss_block": "Umbral Moss Block", + "block.antarchy.umbral_moss_carpet": "Umbral Moss Carpet", + "block.antarchy.duplicator_sapling": "Duplicator Sapling", + "block.antarchy.duct_tape": "Duct Tape", + "block.antarchy.infested_rooted_dirt": "Infested Rooted Dirt", + "block.antarchy.infested_coarse_dirt": "Infested Coarse Dirt", + "block.antarchy.nyxite": "Nyxite", + "block.antarchy.polished_nyxite": "Polished Nyxite", + "block.antarchy.chiseled_nyxite": "Chiseled Nyxite", + "block.antarchy.nyxite_bricks": "Nyxite Bricks", + "block.antarchy.shellstone": "Shellstone", + "block.antarchy.polished_shellstone": "Polished Shellstone", + "block.antarchy.shellstone_bricks": "Shellstone Bricks", + "block.antarchy.chiseled_shellstone": "Chiseled Shellstone", + "block.antarchy.mossy_shellstone_bricks": "Mossy Shellstone Bricks", + "block.antarchy.mossy_shellstone_brick_stairs": "Mossy Shellstone Brick Stairs", + "block.antarchy.mossy_shellstone_brick_slab": "Mossy Shellstone Brick Slab", + "block.antarchy.mossy_shellstone_brick_wall": "Mossy Shellstone Brick Wall", + "block.antarchy.cracked_shellstone_bricks": "Cracked Shellstone Bricks", + "block.antarchy.shellstone_stairs": "Shellstone Stairs", + "block.antarchy.shellstone_slab": "Shellstone Slab", + "block.antarchy.shellstone_wall": "Shellstone Wall", + "block.antarchy.polished_shellstone_stairs": "Polished Shellstone Stairs", + "block.antarchy.polished_shellstone_slab": "Polished Shellstone Slab", + "block.antarchy.polished_shellstone_wall": "Polished Shellstone Wall", + "block.antarchy.shellstone_brick_stairs": "Shellstone Brick Stairs", + "block.antarchy.shellstone_brick_slab": "Shellstone Brick Slab", + "block.antarchy.shellstone_brick_wall": "Shellstone Brick Wall", + "block.antarchy.nyxite_stairs": "Nyxite Stairs", + "block.antarchy.nyxite_slab": "Nyxite Slab", + "block.antarchy.nyxite_wall": "Nyxite Wall", + "block.antarchy.polished_nyxite_stairs": "Polished Nyxite Stairs", + "block.antarchy.polished_nyxite_slab": "Polished Nyxite Slab", + "block.antarchy.polished_nyxite_wall": "Polished Nyxite Wall", + "block.antarchy.nyxite_brick_stairs": "Nyxite Brick Stairs", + "block.antarchy.nyxite_brick_slab": "Nyxite Brick Slab", + "block.antarchy.nyxite_brick_wall": "Nyxite Brick Wall", + "block.antarchy.pale_nyxite": "Pale Nyxite", + "block.antarchy.nyxite_spike": "Nyxite Spike", + "block.antarchy.potent_nyxite": "Potent Nyxite", + "block.antarchy.triffid_goo_block": "Triffid Goo Block", + "block.antarchy.elythia_portal": "Elythia Portal", + "block.antarchy.cloud_block": "Cloud Block", + "block.antarchy.thoraxis_portal": "Thoraxis Portal", + "block.antarchy.antimetal": "Antimetal", + "block.antarchy.polished_antimetal": "Polished Antimetal", + "block.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", + "block.antarchy.cornea_stalk": "Cornea Stalk", + "block.antarchy.dream_torch": "Dream Torch", + "block.antarchy.dream_wall_torch": "Dream Wall Torch", + "block.antarchy.dream_lantern": "Dream Lantern", + "block.antarchy.dream_campfire": "Dream Campfire", + "block.antarchy.dream_fire": "Dream Fire", + "block.antarchy.dream_fire_ceiling": "Dream Fire", + "block.antarchy.budding_blood_crystal": "Budding Blood Crystal", + "block.antarchy.blood_crystal_block": "Blood Crystal Block", + "block.antarchy.small_blood_crystal_bud": "Small Blood Crystal Bud", + "block.antarchy.medium_blood_crystal_bud": "Medium Blood Crystal Bud", + "block.antarchy.large_blood_crystal_bud": "Large Blood Crystal Bud", + "block.antarchy.blood_crystal_cluster": "Blood Crystal Cluster", + "block.antarchy.dream_sand": "Dream Sand", + "block.antarchy.dream_sandstone": "Dream Sandstone", + "block.antarchy.chiseled_dream_sandstone": "Chiseled Dream Sandstone", + "block.antarchy.cut_dream_sandstone": "Cut Dream Sandstone", + "block.antarchy.smooth_dream_sandstone": "Smooth Dream Sandstone", + "block.antarchy.dream_sandstone_stairs": "Dream Sandstone Stairs", + "block.antarchy.dream_sandstone_slab": "Dream Sandstone Slab", + "block.antarchy.dream_sandstone_wall": "Dream Sandstone Wall", + "block.antarchy.smooth_dream_sandstone_stairs": "Smooth Dream Sandstone Stairs", + "block.antarchy.smooth_dream_sandstone_slab": "Smooth Dream Sandstone Slab", + "block.antarchy.cut_dream_sandstone_slab": "Cut Dream Sandstone Slab", + "block.antarchy.bed_bug_egg": "Bed Bug Egg", + "block.antarchy.wasp_nest": "Wasp Nest", + "block.antarchy.red_ant_nest": "Red Ant Nest", + "block.antarchy.brown_ant_nest": "Brown Ant Nest", + "block.antarchy.rainbow_ant_nest": "Rainbow Ant Nest", + "block.antarchy.uranium_ore": "Uranium Ore", + "block.antarchy.deepslate_uranium_ore": "Deepslate Uranium Ore", + "block.antarchy.titanium_ore": "Titanium Ore", + "block.antarchy.deepslate_titanium_ore": "Deepslate Titanium Ore", + "block.antarchy.uranium_block": "Block of Uranium", + "block.antarchy.titanium_block": "Block of Titanium", + "block.antarchy.raw_uranium_block": "Block of Raw Uranium", + "block.antarchy.raw_titanium_block": "Block of Raw Titanium", + "block.antarchy.cut_uranium": "Cut Uranium", + "block.antarchy.cut_titanium": "Cut Titanium", + "block.antarchy.cut_uranium_slab": "Cut Uranium Slab", + "block.antarchy.cut_titanium_slab": "Cut Titanium Slab", + "block.antarchy.cut_uranium_stairs": "Cut Uranium Stairs", + "block.antarchy.cut_titanium_stairs": "Cut Titanium Stairs", + "block.antarchy.chiseled_uranium": "Chiseled Uranium", + "block.antarchy.chiseled_titanium": "Chiseled Titanium", + "block.antarchy.uranium_bulb": "Uranium Bulb", + "block.antarchy.titanium_bulb": "Titanium Bulb", + "block.antarchy.uranium_door": "Uranium Door", + "block.antarchy.titanium_door": "Titanium Door", + "block.antarchy.uranium_trapdoor": "Uranium Trapdoor", + "block.antarchy.titanium_trapdoor": "Titanium Trapdoor", + "block.antarchy.uranium_bars": "Uranium Bars", + "block.antarchy.titanium_bars": "Titanium Bars", + "tooltip.antarchy.signal_saving_bulb": "Toggles on/off. Has light level equal to the signal strength stored on it.", + "block.antarchy.bile": "Bile", + "block.antarchy.ichor": "Ichor", + "block.antarchy.antiwater": "Antiwater", + "entity.antarchy.apple_cow": "Apple Cow", + "entity.antarchy.golden_apple_cow": "Golden Apple Cow", + "entity.antarchy.enchanted_golden_apple_cow": "Enchanted Golden Apple Cow", + "entity.antarchy.honeyed_apple_cow": "Honeyed Apple Cow", + "entity.antarchy.easter_bunny": "Easter Bunny", + "entity.antarchy.glimmer": "Glimmer", + "entity.antarchy.flying_squirrel": "Flying Squirrel", + "entity.antarchy.caterpillar": "Caterpillar", + "entity.antarchy.butterfly": "Butterfly", + "entity.antarchy.brutalfly": "Brutalfly", + "entity.antarchy.red_ant": "Red Ant", + "entity.antarchy.brown_ant": "Brown Ant", + "entity.antarchy.rainbow_ant": "Rainbow Ant", + "entity.antarchy.diamond_minecart": "The Diamond Minecart", + "entity.antarchy.dr_trayaurus": "Dr. Trayaurus", + "entity.antarchy.cloud_shark": "Cloud Shark", + "entity.antarchy.kraken": "The Kraken", + "entity.antarchy.missile_squid": "Missile Squid", + "entity.antarchy.octopus_bomb": "Octopus Bomb", + "entity.antarchy.nightmare": "Nightmare", + "entity.antarchy.bed_bug": "Bed Bug", + "entity.antarchy.wasp": "Wasp", + "entity.antarchy.bomber": "Bomber", + "entity.antarchy.moleworm": "Moleworm", + "entity.antarchy.molevore": "Molevore", + "entity.antarchy.mantis": "Mantis", + "entity.antarchy.alpha_mantis": "Alpha Mantis", + "entity.antarchy.triffid": "Triffid", + "entity.antarchy.toreterror": "Toreterror", + "entity.antarchy.water_bomb": "Water Bomb", + "subtitles.antarchy.mantis_ambient": "Mantis clicks", + "subtitles.antarchy.mantis_hurt": "Mantis screeches", + "subtitles.antarchy.mantis_attack": "Mantis snaps", + "subtitles.antarchy.mantis_fly_loop": "Mantis wings buzz", + "item.antarchy.big_bertha": "Big Bertha", + "item.antarchy.wasp_nest": "Wasp Nest", + "item.antarchy.stink_bug": "Stink Bug", + "item.antarchy.wasp_spawn_egg": "Wasp Spawn Egg", + "item.antarchy.bomber_spawn_egg": "Bomber Spawn Egg", + "item.antarchy.big_bertha_blade": "Big Bertha Blade", + "item.antarchy.big_bertha_handle": "Big Bertha Handle", + "item.antarchy.big_bertha_hilt": "Big Bertha Hilt", + "item.antarchy.battle_axe": "Battle Axe", + "item.antarchy.cloud_shark_fin": "Cloud Shark Fin", + "item.antarchy.cloud_shark_fin_soup": "Cloud Shark Fin Soup", + "tooltip.antarchy.cloud_shark_fin_soup": "Grants Strength and Slow Falling.", + "item.antarchy.kraken_tooth": "Kraken Tooth", + "item.antarchy.basilisk_fang": "Basilisk Fang", + "item.antarchy.basilisk_dagger": "Basilisk Dagger", + "item.antarchy.blood_crystal_block": "Blood Crystal Block", + "item.antarchy.small_blood_crystal_bud": "Small Blood Crystal Bud", + "item.antarchy.medium_blood_crystal_bud": "Medium Blood Crystal Bud", + "item.antarchy.large_blood_crystal_bud": "Large Blood Crystal Bud", + "item.antarchy.blood_crystal_cluster": "Blood Crystal Cluster", + "item.antarchy.dream_sand": "Dream Sand", + "item.antarchy.dream_sandstone": "Dream Sandstone", + "item.antarchy.chiseled_dream_sandstone": "Chiseled Dream Sandstone", + "item.antarchy.cut_dream_sandstone": "Cut Dream Sandstone", + "item.antarchy.smooth_dream_sandstone": "Smooth Dream Sandstone", + "item.antarchy.dream_sandstone_stairs": "Dream Sandstone Stairs", + "item.antarchy.dream_sandstone_slab": "Dream Sandstone Slab", + "item.antarchy.dream_sandstone_wall": "Dream Sandstone Wall", + "item.antarchy.smooth_dream_sandstone_stairs": "Smooth Dream Sandstone Stairs", + "item.antarchy.smooth_dream_sandstone_slab": "Smooth Dream Sandstone Slab", + "item.antarchy.cut_dream_sandstone_slab": "Cut Dream Sandstone Slab", + "item.antarchy.dream_torch": "Dream Torch", + "item.antarchy.dream_lantern": "Dream Lantern", + "item.antarchy.dream_campfire": "Dream Campfire", + "item.antarchy.nightmare_scale": "Nightmare Scale", + "item.antarchy.nightmare_helmet": "Nightmare Helmet", + "item.antarchy.nightmare_chestplate": "Nightmare Chestplate", + "item.antarchy.nightmare_leggings": "Nightmare Leggings", + "item.antarchy.nightmare_boots": "Nightmare Boots", + "item.antarchy.nightmare_sword": "Nightmare Sword", + "tooltip.antarchy.nightmare_armor_double_damage": "%s%% chance to deal double damage", + "tooltip.antarchy.nightmare_armor_set_bonus": "Full Set: Wither \u0026 Dread immunity", + "tooltip.antarchy.nightmare_sword": "Deals more damage as your health drops.", + "tooltip.antarchy.nightmare_sword_damage": "Deals %s damage", + "tooltip.antarchy.primordial_helmet_water_breathing": "Grants the wearer Water Breathing", + "tooltip.antarchy.primordial_armor_knockback_dealt": "Adds %s attack knockback per piece", + "tooltip.antarchy.primordial_armor_set_bonus": "Full Set: Attacks ignore enemy knockback resistance", + "attribute.antarchy.double_damage_chance": "Double Damage Chance", + "attribute.antarchy.bloodglass_max_hearts": "Max Bloodglass Hearts", + "item.antarchy.molevore_nose": "Molevore Nose", + "item.antarchy.moleworm": "Moleworm", + "item.antarchy.triffid_spawn_egg": "Triffid Spawn Egg", + "item.antarchy.infested_rooted_dirt": "Infested Rooted Dirt", + "item.antarchy.infested_coarse_dirt": "Infested Coarse Dirt", + "item.antarchy.pale_nyxite": "Pale Nyxite", + "item.antarchy.polished_nyxite": "Polished Nyxite", + "item.antarchy.chiseled_nyxite": "Chiseled Nyxite", + "item.antarchy.nyxite_bricks": "Nyxite Bricks", + "item.antarchy.shellstone": "Shellstone", + "item.antarchy.polished_shellstone": "Polished Shellstone", + "item.antarchy.shellstone_bricks": "Shellstone Bricks", + "item.antarchy.chiseled_shellstone": "Chiseled Shellstone", + "item.antarchy.mossy_shellstone_bricks": "Mossy Shellstone Bricks", + "item.antarchy.mossy_shellstone_brick_stairs": "Mossy Shellstone Brick Stairs", + "item.antarchy.mossy_shellstone_brick_slab": "Mossy Shellstone Brick Slab", + "item.antarchy.mossy_shellstone_brick_wall": "Mossy Shellstone Brick Wall", + "item.antarchy.cracked_shellstone_bricks": "Cracked Shellstone Bricks", + "item.antarchy.shellstone_stairs": "Shellstone Stairs", + "item.antarchy.shellstone_slab": "Shellstone Slab", + "item.antarchy.shellstone_wall": "Shellstone Wall", + "item.antarchy.polished_shellstone_stairs": "Polished Shellstone Stairs", + "item.antarchy.polished_shellstone_slab": "Polished Shellstone Slab", + "item.antarchy.polished_shellstone_wall": "Polished Shellstone Wall", + "item.antarchy.shellstone_brick_stairs": "Shellstone Brick Stairs", + "item.antarchy.shellstone_brick_slab": "Shellstone Brick Slab", + "item.antarchy.shellstone_brick_wall": "Shellstone Brick Wall", + "item.antarchy.nyxite_stairs": "Nyxite Stairs", + "item.antarchy.nyxite_slab": "Nyxite Slab", + "item.antarchy.nyxite_wall": "Nyxite Wall", + "item.antarchy.polished_nyxite_stairs": "Polished Nyxite Stairs", + "item.antarchy.polished_nyxite_slab": "Polished Nyxite Slab", + "item.antarchy.polished_nyxite_wall": "Polished Nyxite Wall", + "item.antarchy.nyxite_brick_stairs": "Nyxite Brick Stairs", + "item.antarchy.nyxite_brick_slab": "Nyxite Brick Slab", + "item.antarchy.nyxite_brick_wall": "Nyxite Brick Wall", + "item.antarchy.potent_nyxite": "Potent Nyxite", + "item.antarchy.antimetal": "Antimetal", + "item.antarchy.polished_antimetal": "Polished Antimetal", + "item.antarchy.antimetal_scaffolding": "Antimetal Scaffolding", + "item.antarchy.ouranwood_acorn": "Ouranwood Acorn", + "item.antarchy.ouranwood_vine": "Ouranwood Vine", + "item.antarchy.ouranwood_boat": "Ouranwood Boat", + "item.antarchy.ouranwood_chest_boat": "Ouranwood Chest Boat", + "item.antarchy.big_bush": "Big Bush", + "item.antarchy.big_bush.tooltip": "Can be bonemealed", + "item.antarchy.very_short_grass": "Very Short Grass", + "item.antarchy.very_tall_grass": "Very Tall Grass", + "item.antarchy.orange_milkweed": "Orange Milkweed", + "item.antarchy.pink_milkweed": "Pink Milkweed", + "item.antarchy.hushweed": "Hushweed", + "item.antarchy.umbral_moss_block": "Umbral Moss Block", + "item.antarchy.umbral_moss_carpet": "Umbral Moss Carpet", + "item.antarchy.torchflower_bush": "Torchflower Bush", + "block.antarchy.torchflower_bush": "Torchflower Bush", + "item.antarchy.mud_pie": "Mud Pie", + "item.antarchy.duct_tape": "Duct Tape", + "item.antarchy.duct_tape.tooltip": "Place down and right-click to repair tools", + "item.antarchy.rainbow_sugar": "Rainbow Sugar", + "item.antarchy.uranium_nugget": "Uranium Nugget", + "item.antarchy.titanium_nugget": "Titanium Nugget", + "item.antarchy.raw_uranium_scrap": "Raw Uranium Scrap", + "item.antarchy.raw_titanium_scrap": "Raw Titanium Scrap", + "item.antarchy.raw_uranium": "Raw Uranium", + "item.antarchy.raw_titanium": "Raw Titanium", + "item.antarchy.uranium_ingot": "Uranium Ingot", + "item.antarchy.titanium_ingot": "Titanium Ingot", + "item.antarchy.blood_crystal_shard": "Blood Crystal Shard", + "item.antarchy.blood_crystal_apple": "Blood Crystal Apple", + "item.antarchy.blood_crystal_katana": "Blood Crystal Katana", + "item.antarchy.blood_crystal_helmet": "Blood Crystal Helmet", + "item.antarchy.blood_crystal_chestplate": "Blood Crystal Chestplate", + "item.antarchy.blood_crystal_leggings": "Blood Crystal Leggings", + "item.antarchy.blood_crystal_boots": "Blood Crystal Boots", + "item.antarchy.blood_crystal_armor.tooltip": "Grants a Bloodglass Heart that blocks one incoming hit, shatters, then recharges.", + "item.antarchy.blood_crystal_boots.tooltip2": "Cancels fall damage when falling upward while gravity is inverted.", + "item.antarchy.blood_crystal_apple.tooltip": "Grants Bloodglass Ward, providing temporary Bloodglass Hearts that recharge while the effect lasts.", + "tooltip.antarchy.blood_crystal_katana.launch": "Launches you forward on hit.", + "tooltip.antarchy.blood_crystal_katana.trail": "Leaves a crimson trail behind you.", + "item.antarchy.mantis_claw": "Mantis Claw", + "item.antarchy.king_scale": "King Scale", + "item.antarchy.queen_scale": "Queen Scale", + "item.antarchy.jumpy_bug_leg": "Jumpy Bug Leg", + "item.antarchy.jumpy_boots": "Jumpy Boots", + "tooltip.antarchy.jumpy_boots": "Sneak to charge, then jump to spring upward.", + "item.antarchy.brutalfly_wing": "Brutalfly Wing", + "item.antarchy.brutalfly_elytra": "Brutalfly Elytra", + "tooltip.antarchy.brutalfly_elytra.flap": "While flying, hold %s to flap your wings", + "item.antarchy.cornea_ear": "Ear of Cornea", + "item.antarchy.primordial_scute": "Primordial Scute", + "item.antarchy.triffid_goo": "Triffid Goo", + "item.antarchy.triffid_goo_block": "Triffid Goo Block", + "tooltip.antarchy.triffid_goo_block": "At high velocity bounce up, otherwise sink through.", + "item.antarchy.cloud_bucket": "Cloud Bucket", + "tooltip.antarchy.cloud_bucket.midair": "Can be placed midair", + "item.antarchy.scorpion_whip": "Emperor Scorpion Whip", + "tooltip.antarchy.scorpion_whip.lash": "Lashes prey from afar and embeds a venomous tether.", + "tooltip.antarchy.scorpion_whip.reel": "Right-click to reel tethered prey.", + "tooltip.antarchy.scorpion_whip.snap": "Left-click tethered prey again to snap the stinger free.", + "item.antarchy.fallen_king_crown": "Fallen King\u0027s Crown", + "tooltip.antarchy.fallen_king_crown.hero": "Grants Hero of the Village when you slay hostile mobs", + "item.antarchy.vortex_eye": "Vortex Eye", + "item.antarchy.ultimate_helmet": "Ultimate Helmet", + "item.antarchy.ultimate_chestplate": "Ultimate Chestplate", + "item.antarchy.ultimate_leggings": "Ultimate Leggings", + "item.antarchy.ultimate_boots": "Ultimate Boots", + "item.antarchy.ultimate_sword": "Ultimate Sword", + "item.antarchy.ultimate_pickaxe": "Ultimate Pickaxe", + "item.antarchy.ultimate_axe": "Ultimate Axe", + "item.antarchy.ultimate_shovel": "Ultimate Shovel", + "item.antarchy.ultimate_hoe": "Ultimate Hoe", + "item.antarchy.ultimate_bow": "Ultimate Bow", + "item.antarchy.ultimate_crossbow": "Ultimate Crossbow", + "item.antarchy.ultimate_crossbow.capacity": "Loads up to 16 arrows at once", + "item.antarchy.ultimate_crossbow.arrows_remaining": "%1$s %2$s loaded", + "item.antarchy.ultimate_mace": "Ultimate Mace", + "item.antarchy.moggles": "Moggles", + "itemGroup.antarchy.antarchy": "Antarchy", + "item.antarchy.bile_bucket": "Bile Bucket", + "item.antarchy.ichor_bucket": "Ichor Bucket", + "item.antarchy.antiwater_bucket": "Antiwater Bucket", + "item.antarchy.reverie_bottle": "Bottle of Reverie", + "item.antarchy.squidzooka": "Squidzooka", + "item.antarchy.shrink_ray": "Shrink Ray", + "item.antarchy.growth_ray": "Growth Ray", + "tooltip.antarchy.shrink_ray": "Permanently shrinks targets. Hold down to charge.", + "tooltip.antarchy.growth_ray": "Permanently Grows Targets. Hold down to charge.", + "tooltip.antarchy.reverie_bottle.capture": "Right click a Reverie with a glass bottle to store it.", + "tooltip.antarchy.reverie_bottle.release": "Right click to release the Reverie.", + "item.antarchy.gravity_gun": "Gravity Gun", + "item.antarchy.diamond_minecart": "The Diamond Minecart", + "item.antarchy.cogwheel_pet": "Cogwheel Pet", + "item.antarchy.fire_dragon_pet": "Fire Dragon Pet", + "item.antarchy.ice_dragon_pet": "Ice Dragon Pet", + "item.antarchy.lightning_dragon_pet": "Lightning Dragon Pet", + "item.antarchy.gorgon_pet": "Gorgon Pet", + "item.antarchy.apple_cow_spawn_egg": "Apple Cow Spawn Egg", + "item.antarchy.red_ant_spawn_egg": "Red Ant Spawn Egg", + "item.antarchy.brown_ant_spawn_egg": "Brown Ant Spawn Egg", + "item.antarchy.rainbow_ant_spawn_egg": "Rainbow Ant Spawn Egg", + "item.antarchy.golden_apple_cow_spawn_egg": "Golden Apple Cow Spawn Egg", + "item.antarchy.enchanted_golden_apple_cow_spawn_egg": "Enchanted Golden Apple Cow Spawn Egg", + "item.antarchy.honeyed_apple_cow_spawn_egg": "Honeyed Apple Cow Spawn Egg", + "item.antarchy.dr_trayaurus_spawn_egg": "Dr. Trayaurus Spawn Egg", + "item.antarchy.easter_bunny_spawn_egg": "Easter Bunny Spawn Egg", + "item.antarchy.glimmer_spawn_egg": "Glimmer Spawn Egg", + "item.antarchy.flying_squirrel_spawn_egg": "Flying Squirrel Spawn Egg", + "item.antarchy.caterpillar_spawn_egg": "Caterpillar Spawn Egg", + "item.antarchy.butterfly_spawn_egg": "Butterfly Spawn Egg", + "item.antarchy.brutalfly_spawn_egg": "Brutalfly Spawn Egg", + "item.antarchy.cloud_shark_spawn_egg": "Cloud Shark Spawn Egg", + "item.antarchy.kraken_spawn_egg": "Uh, no. Don\u0027t.", + "item.antarchy.missile_squid_spawn_egg": "Missile Squid Spawn Egg", + "item.antarchy.octopus_bomb_spawn_egg": "Octopus Bomb Spawn Egg", + "item.antarchy.nightmare_spawn_egg": "Nightmare Spawn Egg", + "item.antarchy.toreterror_spawn_egg": "Toreterror Spawn Egg", + "item.antarchy.water_cannon": "Water Cannon", + "item.antarchy.primordial_helmet": "Primordial Helmet", + "item.antarchy.primordial_chestplate": "Primordial Chestplate", + "item.antarchy.primordial_leggings": "Primordial Leggings", + "item.antarchy.primordial_boots": "Primordial Boots", + "item.antarchy.bed_bug_spawn_egg": "Bed Bug Spawn Egg", + "item.antarchy.moleworm_spawn_egg": "Moleworm Spawn Egg", + "item.antarchy.molevore_spawn_egg": "Molevore Spawn Egg", + "item.antarchy.reverie_spawn_egg": "Reverie Spawn Egg", + "item.antarchy.mantis_spawn_egg": "Mantis Spawn Egg", + "item.antarchy.alpha_mantis_spawn_egg": "Alpha Mantis Spawn Egg", + "biome.antarchy.moleworm_caves": "Moleworm Caves", + "biome.antarchy.butterfly_fields": "Butterfly Fields", + "biome.antarchy.torchflower_fields": "Torchflower Fields", + "biome.antarchy.ouranwood_forest": "Ouranwood Forest", + "biome.antarchy.fungal_ouranwood_forest": "Fungal Ouranwood Forest", + "message.antarchy.brown_ant_activated": "The brown ant is ready to open its destination.", + "message.antarchy.brown_ant_needs_reagent": "This brown ant needs a reagent before it can open its destination.", + "message.antarchy.rainbow_ant_activated": "The rainbow ant hums with a new Infinity destination.", + "message.antarchy.rainbow_ant_activated_inherited": "The rainbow ant hums with an inherited Infinity destination.", + "message.antarchy.rainbow_ant_activated_inherited_existing": "The rainbow ant reconnects to an inherited Infinity destination.", + "message.antarchy.rainbow_ant_failed_dimension_create": "Failed to create dimension. This likely means something is wrong in your infinity config. Restart/Relog and try again.", + "message.antarchy.rainbow_ant_infinity_missing": "Infinity must be installed for rainbow ant dimensions to work.", + "message.antarchy.rainbow_ant_needs_reagent": "This rainbow ant needs a reagent before it can open a dimension.", + "message.antarchy.red_ant_activated": "The red ant is ready to open its destination.", + "message.antarchy.red_ant_needs_reagent": "This red ant needs a reagent before it can open its destination.", + "message.antarchy.termite_activated": "The termite is ready to open its destination.", + "message.antarchy.termite_needs_reagent": "This termite needs a reagent before it can open its destination.", + "message.antarchy.big_bertha.mode": "Big Bertha Mode: %s", + "message.antarchy.big_bertha.mode.basilisk": "Basilisk", + "message.antarchy.big_bertha.mode.lucid": "Lucid", + "message.antarchy.big_bertha.mode.nightmare": "Nightmare", + "message.antarchy.big_bertha.mode.kraken": "Kraken", + "message.antarchy.big_bertha.mode.molevore": "Molevore", + "message.antarchy.big_bertha.mode.toreterror": "Toreterror", + "message.antarchy.ultimate_tool.mode_3x3": "Switched to 3x3 Mining", + "message.antarchy.ultimate_tool.mode_default": "Switched to Default Mining", + "advancements.antarchy.hey_listen.title": "Hey Listen", + "advancements.antarchy.hey_listen.description": "A Reverie has joined you.", + "advancements.antarchy.very_hungry_caterpillar.title": "Very Hungry Caterpillar", + "advancements.antarchy.very_hungry_caterpillar.description": "Help a caterpillar grow.", + "effect.antarchy.dread": "Dread", + "effect.antarchy.paralyzed": "Paralyzed", + "effect.antarchy.inverted": "Inverted", + "effect.antarchy.stinky": "Stinky", + "effect.antarchy.glimmers_grace": "Glimmer's Grace", + "effect.antarchy.shrinking": "Shrinking", + "effect.antarchy.growth": "Growth", + "effect.antarchy.bloodglass_ward": "Bloodglass Ward", + "death.attack.triffid_mauling": "%1$s was mauled to death by a plant", + "death.attack.triffid_mauling.player": "%1$s was mauled to death by a plant", + "death.attack.triffid_swallow": "%1$s was swallowed by a triffid", + "death.attack.triffid_swallow.player": "%1$s was swallowed by a triffid", + "potion.antarchy.haste": "Haste Potion", + "potion.antarchy.strong_haste": "Strong Haste Potion", + "tooltip.antarchy.big_bertha.mode": "Mode: %s", + "tooltip.antarchy.big_bertha.toggle_mode": "Shift-right-click to cycle boss modes.", + "tooltip.antarchy.big_bertha.mode.basilisk": "Right-click paralyzes a target. Hits inflict poison and slow.", + "tooltip.antarchy.big_bertha.mode.lucid": "Hits invert targets for a few seconds. Hits deal more damage while you are inverted.", + "tooltip.antarchy.big_bertha.mode.nightmare": "Players suffer Dread; hits inflict weakness.", + "tooltip.antarchy.big_bertha.mode.kraken": "Hits slam targets back and call lightning.", + "tooltip.antarchy.big_bertha.mode.molevore": "Right-click to spin forward and drill through Molevore blocks.", + "tooltip.antarchy.big_bertha.mode.toreterror": "Right-click to launch into the air and crash down with an AOE shockwave.", + "tooltip.antarchy.ultimate_tools_3x3": "Shift-right-click to toggle 3x3 Mining.", + "tooltip.antarchy.moggles.reveal": "Gives night vision and points to nearby caves.", + "tooltip.antarchy.moggles.underground": "Works only while you have no sky access.", + "tooltip.antarchy.cornea_ear.vision": "Grants Night Vision for %s seconds.", + "tooltip.antarchy.mob_coming_soon": "Mob Coming Soon!", + "tooltip.antarchy.gravity_gun.primary": "Left-click: blast nearby entities or throw the held target.", + "tooltip.antarchy.gravity_gun.secondary": "Right-click: pull in an entity or a valid block.", + "tooltip.antarchy.gravity_gun.scroll": "Hold Ctrl and scroll to move the held target closer or farther away.", + "tooltip.antarchy.gravity_gun.blacklist": "Does not affect blacklisted blocks or entities.", + "tooltip.antarchy.antimetal_inversion": "Inverts entites directly below it", + "tooltip.antarchy.diamond_minecart.forward": "Will be implemented later.", + "tooltip.antarchy.diamond_minecart.rails": " ", + "tooltip.antarchy.rainbow_sugar": "Activates Rainbow Ant Dimensions. Eat while in one to return home.", + "advancements.antarchy.visit_elythia.title": "InterdimANTsional", + "advancements.antarchy.visit_elythia.description": "Use a brown ant to reach Elythia.", + "advancements.antarchy.visit_thoraxis.title": "Ant-ger Management", + "advancements.antarchy.visit_thoraxis.description": "Use a red ant to reach Thoraxis.", + "advancements.antarchy.fallen_kingdom_castle.title": "I Used to Rule the World...", + "advancements.antarchy.fallen_kingdom_castle.description": "Discover the Fallen Kingdom Castle.", + "advancements.antarchy.fallen_king_crown.title": "Chunks would load when I gave the word...", + "advancements.antarchy.fallen_king_crown.description": "Obtain the Fallen King\u0027s Crown.", + "advancements.antarchy.the_lab.title": "Hello Everyone, Dan Here!", + "advancements.antarchy.the_lab.description": "Discover Dr. Trayaurus\u0027 lab.", + "advancements.antarchy.sweater_dreams.title": "Sweater Dreams", + "advancements.antarchy.sweater_dreams.description": "Defeat the Nightmare.", + "advancements.antarchy.stone_cold.title": "Stone Cold", + "advancements.antarchy.stone_cold.description": "Defeat a Basilisk.", + "advancements.antarchy.moley_poley.title": "Moley Poley", + "advancements.antarchy.moley_poley.description": "Defeat a Molevore.", + "advancements.antarchy.lucid_dreams.title": "Lucid Dreams", + "advancements.antarchy.lucid_dreams.description": "Defeat a Lucid.", + "advancements.antarchy.davy_jones_locker.title": "Davy Jones\u0027 Locker", + "advancements.antarchy.davy_jones_locker.description": "Defeat the Kraken.", + "advancements.antarchy.shark_weak.title": "When Sharks Fly", + "advancements.antarchy.shark_weak.description": "Defeat a Cloud Shark.", + "advancements.antarchy.dont_let_the_bed_bugs_bite.title": "Don\u0027t Let the Bed Bugs Bite", + "advancements.antarchy.dont_let_the_bed_bugs_bite.description": "Defeat a Bed Bug.", + "advancements.antarchy.soups_up.title": "Soups Up", + "advancements.antarchy.soups_up.description": "Eat Cloud Shark Fin Soup.", + "advancements.antarchy.in_the_upside_down.title": "In the Upside Down", + "advancements.antarchy.in_the_upside_down.description": "Become inverted for the first time.", + "advancements.antarchy.whoever_smelt_it_dealt_it.title": "Whoever smelt it, dealt it", + "advancements.antarchy.whoever_smelt_it_dealt_it.description": "Get Stinky for the first time.", + "advancements.antarchy.ultimate_armor.title": "Ultimate Protection", + "advancements.antarchy.ultimate_armor.description": "Collect the full set of Ultimate Armor.", + "advancements.antarchy.ultimate_bow.title": "Bowhemian Rhapsody", + "advancements.antarchy.ultimate_bow.description": "Obtain an Ultimate Bow.", + "advancements.antarchy.brutalfly.title": "Float Like a Brutalfly, Sting Like a Bee", + "advancements.antarchy.brutalfly.description": "Obtain a Brutalfly Elytra.", + "advancements.antarchy.now_watch_me_whip.title": "Now Watch Me Whip", + "advancements.antarchy.now_watch_me_whip.description": "Now watch me nae nae", + "advancements.antarchy.kill_molevore.title": "Moley Poley", + "advancements.antarchy.kill_molevore.description": "Kill a Molevore.", + "advancements.antarchy.water_cannon_craft.title": "Wetter is Better!", + "advancements.antarchy.water_cannon_craft.description": "Obtain a Water Cannon.", + "advancements.antarchy.kill_toreterror.title": "More like Tore-Terrible Aim!", + "advancements.antarchy.kill_toreterror.description": "Defeat the Toreterror.", + "advancements.antarchy.challenge_games.title": "Challenge Games!", + "advancements.antarchy.challenge_games.description": "Enter the Ruined Arena.", + "advancements.antarchy.bugged_out.title": "Bugged Out", + "advancements.antarchy.bugged_out.description": "Defeat the Alpha Mantis.", + "death.attack.bed_bug_bite": "%1$s got bit by the bed bugs", + "death.attack.bed_bug_bite.player": "%1$s got bit by the bed bugs while fighting %2$s", + "message.antarchy.dread_too_scared_to_sleep": "You are too scared to sleep.", + "death.attack.kraken_mauling": "%1$s was dragged under by the Kraken", + "death.attack.kraken_mauling.player": "%1$s was dragged under by the Kraken while fighting %2$s", + "death.attack.kraken_lightning": "%1$s was struck down by the Kraken\u0027s storm", + "death.attack.kraken_lightning.player": "%1$s was struck down by the Kraken\u0027s storm while fighting %2$s", + "death.attack.nightmare_mauling": "%1$s was devoured by the Nightmare", + "death.attack.nightmare_mauling.player": "%1$s was devoured by the Nightmare while fighting %2$s", + "death.attack.basilisk_bite": "%1$s was swallowed by a Basilisk", + "death.attack.basilisk_bite.player": "%1$s was swallowed by a Basilisk while fighting %2$s", + "death.attack.emperor_scorpion_sting": "%1$s was stung by the Emperor Scorpion", + "death.attack.emperor_scorpion_sting.player": "%1$s was stung by the Emperor Scorpion while fighting %2$s", + "death.attack.cornea_stalk_prick": "%1$s was pricked to death by a Cornea Stalk", + "death.attack.toreterror_spin": "%1$s was beybladed to death by Toreterror", + "death.attack.toreterror_spin.player": "%1$s was beybladed to death by Toreterror", + "death.attack.toreterror_jump": "%1$s was pounded to death by Toreterror", + "death.attack.toreterror_jump.player": "%1$s was pounded to death by Toreterror", + "death.attack.water_soaked": "%1$s was super soaked to death by %2$s", + "death.attack.water_soaked.player": "%1$s was super soaked to death by %2$s", + "entity.antarchy.lucid": "Lucid", + "item.antarchy.lucid_spawn_egg": "Lucid Spawn Egg", + "item.antarchy.lucid_eye": "Lucid Eye", + "entity.antarchy.scorpion": "Scorpion", + "item.antarchy.scorpion_spawn_egg": "Scorpion Spawn Egg", + "entity.antarchy.basilisk": "Basilisk", + "item.antarchy.basilisk_spawn_egg": "Basilisk Spawn Egg", + "entity.antarchy.emperor_scorpion": "Emperor Scorpion", + "item.antarchy.emperor_scorpion_spawn_egg": "Emperor Scorpion Spawn Egg", + "item.antarchy.emperor_scorpion_stinger": "Emperor Scorpion Stinger", + "item.antarchy.lucid_pearl": "Lucid Pearl", + "tooltip.antarchy.lucid_pearl": "Throws an inverted-gravity projectile.", + "tooltip.antarchy.lucid_pearl.detail": "Teleports you to where it lands and applies Inverted.", + "subtitles.antarchy.squidzooka_fire": "Squidzooka fires", + "subtitles.antarchy.shrink_ray": "Shrink Ray fires", + "subtitles.antarchy.growth_ray": "Growth Ray fires", + "subtitles.antarchy.size_ray_charge": "Size Ray charges", + "subtitles.antarchy.ant_ambient": "Ants chirp", + "subtitles.antarchy.ant_idle": "Ants idle", + "subtitles.antarchy.ant_hurt": "Ants hurt", + "subtitles.antarchy.ant_bite": "Ants bite", + "subtitles.antarchy.ant_gather": "Ants gather", + "subtitles.antarchy.ant_nest": "Ant nest rustles", + "subtitles.antarchy.cloud_shark_bite": "Cloud Shark bites", + "subtitles.antarchy.cloud_shark_idle": "Cloud Shark idles", + "subtitles.antarchy.cloud_shark_hurt": "Cloud Shark hurts", + "subtitles.antarchy.cloud_shark_death": "Cloud Shark dies", + "subtitles.antarchy.cloud_shark_fly": "Cloud Shark flies", + "subtitles.antarchy.caterpillar_idle": "Caterpillar idles", + "subtitles.antarchy.caterpillar_hurt": "Caterpillar hurts", + "subtitles.antarchy.caterpillar_crawl": "Caterpillar crawls", + "subtitles.antarchy.butterfly_hurt": "Butterfly hurts", + "subtitles.antarchy.brutalfly_idle": "Brutalfly idles", + "subtitles.antarchy.brutalfly_death": "Brutalfly dies", + "subtitles.antarchy.thoraxis_nightmare_wastes_ambient": "Nightmare Wastes hums", + "subtitles.antarchy.thoraxis_nightmare_wastes_additions": "Nightmare Wastes stirs", + "subtitles.antarchy.thoraxis_nightmare_wastes_mood": "Nightmare Wastes murmurs", + "subtitles.antarchy.thoraxis_dream_dunes_ambient": "Dream Dunes whisper", + "subtitles.antarchy.thoraxis_dream_dunes_additions": "Dream Dunes rustle", + "subtitles.antarchy.thoraxis_dream_dunes_mood": "Dream Dunes sigh", + "subtitles.antarchy.thoraxis_lucid_pools_ambient": "Lucid Pools hum", + "subtitles.antarchy.thoraxis_lucid_pools_additions": "Lucid Pools curse", + "subtitles.antarchy.thoraxis_lucid_pools_mood": "Lucid Pools murmur", + "subtitles.antarchy.lucid_ambient": "Lucid hums", + "subtitles.antarchy.lucid_flying": "Lucid flutters", + "subtitles.antarchy.lucid_attack": "Lucid attacks", + "subtitles.antarchy.lucid_bolt": "Lucid bolt fires", + "subtitles.antarchy.lucid_hurt": "Lucid hurts", + "subtitles.antarchy.lucid_death": "Lucid dies", + "subtitles.antarchy.reverie_idle": "Reverie drifts", + "subtitles.antarchy.reverie_hurt": "Reverie hurts", + "subtitles.antarchy.reverie_worry": "Reverie worries", + "subtitles.antarchy.reverie_save": "Reverie saves you", + "subtitles.antarchy.reverie_join_player": "Reverie joins you", + "subtitles.antarchy.reverie_alert": "Reverie alerts you", + "subtitles.antarchy.flying_squirrel_idle": "Flying squirrel chirps", + "subtitles.antarchy.flying_squirrel_beg": "Flying squirrel begs for food", + "subtitles.antarchy.flying_squirrel_nut": "Flying squirrel eats", + "subtitles.antarchy.flying_squirrel_glide_loop": "Flying squirrel glides", + "subtitles.antarchy.flying_squirrel_hurt": "Flying squirrel hurts", + "subtitles.antarchy.flying_squirrel_death": "Flying squirrel dies", + "subtitles.antarchy.nightmare_idle": "Nightmare snarls", + "subtitles.antarchy.nightmare_hurt": "Nightmare hurts", + "subtitles.antarchy.nightmare_roar": "Nightmare roars", + "subtitles.antarchy.nightmare_death": "Nightmare dies", + "subtitles.antarchy.nightmare_bite": "Nightmare bites", + "subtitles.antarchy.nightmare_flap": "Nightmare flaps", + "subtitles.antarchy.triffid_attack": "Triffid attacks", + "subtitles.antarchy.triffid_grab": "Triffid grabs", + "subtitles.antarchy.triffid_hurt": "Triffid hurts", + "subtitles.antarchy.triffid_death": "Triffid dies", + "subtitles.antarchy.triffid_hiss": "Triffid hisses", + "subtitles.antarchy.triffid_growl": "Triffid growls", + "subtitles.antarchy.gravity_gun_pickup": "Gravity Gun picks up", + "subtitles.antarchy.gravity_gun_drop": "Gravity Gun drops", + "subtitles.antarchy.gravity_gun_hold_loop": "Gravity Gun hums", + "subtitles.antarchy.gravity_gun_launch": "Gravity Gun launches", + "subtitles.antarchy.gravity_gun_dryfire": "Gravity Gun dry fires", + "subtitles.antarchy.bed_bug_ambient": "Bed Bug chirps", + "subtitles.antarchy.bed_bug_hurt": "Bed Bug hurts", + "subtitles.antarchy.bed_bug_attack": "Bed Bug bites", + "subtitles.antarchy.wasp_idle": "Wasp buzzes", + "subtitles.antarchy.wasp_hurt": "Wasp hurts", + "subtitles.antarchy.wasp_attack": "Wasp stings", + "subtitles.antarchy.wasp_death": "Wasp dies", + "subtitles.antarchy.scorpion_ambient": "Scorpion rattles", + "subtitles.antarchy.scorpion_hurt": "Scorpion hurts", + "subtitles.antarchy.scorpion_attack": "Scorpion attacks", + "subtitles.antarchy.emperor_scorpion_ambient": "Emperor Scorpion rattles", + "subtitles.antarchy.emperor_scorpion_hurt": "Emperor Scorpion hurts", + "subtitles.antarchy.emperor_scorpion_attack": "Emperor Scorpion attacks", + "subtitles.antarchy.emperor_scorpion_roar": "Emperor Scorpion roars", + "subtitles.antarchy.moleworm_ambient": "Moleworm rustles", + "subtitles.antarchy.moleworm_hurt": "Moleworm hurts", + "subtitles.antarchy.moleworm_attack": "Moleworm attacks", + "subtitles.antarchy.moleworm_dig": "Moleworm digs", + "subtitles.antarchy.molevore_ambient": "Molevore rumbles", + "subtitles.antarchy.molevore_hurt": "Molevore hurts", + "subtitles.antarchy.molevore_attack": "Molevore attacks", + "subtitles.antarchy.molevore_dig": "Molevore digs", + "subtitles.antarchy.duct_tape_use": "Duct Tape tears", + "subtitles.antarchy.potent_nyxite_hypnotic_gas": "Potent Nyxite hisses", + "subtitles.antarchy.potent_nyxite_geyser_eruption": "Potent Nyxite erupts", + "subtitles.antarchy.potent_nyxite_geyser_continuous": "Potent Nyxite geyser roars", + "subtitles.antarchy.missile_squid_ambient": "Missile Squid hums", + "subtitles.antarchy.missile_squid_hurt": "Missile Squid hurts", + "subtitles.antarchy.missile_squid_death": "Missile Squid dies", + "subtitles.antarchy.missile_squid_attack": "Missile Squid attacks", + "subtitles.antarchy.kraken_flying_loop": "Kraken glides", + "subtitles.antarchy.kraken_flying_sideways_loop": "Kraken circles", + "subtitles.antarchy.kraken_attack": "Kraken strikes", + "subtitles.antarchy.kraken_spin": "Kraken spins", + "subtitles.antarchy.kraken_roar": "Kraken roars", + "subtitles.antarchy.kraken_summon": "Kraken emerges", + "subtitles.antarchy.kraken_hurt": "Kraken hurts", + "subtitles.antarchy.kraken_death": "Kraken dies", + "subtitles.antarchy.basilisk_idle_loop": "Basilisk idles", + "subtitles.antarchy.basilisk_slither_loop": "Basilisk slithers", + "subtitles.antarchy.basilisk_bite": "Basilisk bites", + "subtitles.antarchy.basilisk_hiss": "Basilisk hisses", + "subtitles.antarchy.basilisk_hurt": "Basilisk hurts", + "subtitles.antarchy.basilisk_death": "Basilisk dies", + "subtitles.antarchy.bomber_walk": "Bomber walks", + "subtitles.antarchy.bomber_knock": "Bomber gets hit", + "subtitles.antarchy.bomber_explode": "Bomber fuse hisses", + "subtitles.antarchy.toreterror_idle": "Toreterror idles", + "subtitles.antarchy.toreterror_hurt": "Toreterror hurts", + "subtitles.antarchy.toreterror_death": "Toreterror dies", + "subtitles.antarchy.toreterror_bomber_fire": "Toreterror launches bombers", + "subtitles.antarchy.toreterror_spin": "Toreterror spins", + "subtitles.antarchy.toreterror_ricochet": "Toreterror ricochets", + "subtitles.antarchy.water_cannon_fire": "Water Cannon fires", + "subtitles.antarchy.toreterror_jump_up": "Toreterror jumps", + "subtitles.antarchy.toreterror_jump_land": "Toreterror lands", + "subtitles.antarchy.stinky_fly": "Stinky flies buzz", + "item.minecraft.potion.effect.inversion": "Potion of Inversion", + "item.minecraft.potion.effect.long_inversion": "Potion of Inversion", + "item.minecraft.splash_potion.effect.inversion": "Splash Potion of Inversion", + "item.minecraft.splash_potion.effect.long_inversion": "Splash Potion of Inversion", + "item.minecraft.lingering_potion.effect.inversion": "Lingering Potion of Inversion", + "item.minecraft.lingering_potion.effect.long_inversion": "Lingering Potion of Inversion", + "item.minecraft.tipped_arrow.effect.inversion": "Arrow of Inversion", + "item.minecraft.tipped_arrow.effect.long_inversion": "Arrow of Inversion", + "item.minecraft.potion.effect.paralysis": "Potion of Paralysis", + "item.minecraft.potion.effect.long_paralysis": "Potion of Paralysis", + "item.minecraft.splash_potion.effect.paralysis": "Splash Potion of Paralysis", + "item.minecraft.splash_potion.effect.long_paralysis": "Splash Potion of Paralysis", + "item.minecraft.lingering_potion.effect.paralysis": "Lingering Potion of Paralysis", + "item.minecraft.lingering_potion.effect.long_paralysis": "Lingering Potion of Paralysis", + "item.minecraft.tipped_arrow.effect.paralysis": "Arrow of Paralysis", + "item.minecraft.tipped_arrow.effect.long_paralysis": "Arrow of Paralysis", + "item.minecraft.potion.effect.shrinking": "Potion of Shrinking", + "item.minecraft.potion.effect.strong_shrinking": "Potion of Shrinking II", + "item.minecraft.potion.effect.extreme_shrinking": "Potion of Shrinking III", + "item.minecraft.splash_potion.effect.shrinking": "Splash Potion of Shrinking", + "item.minecraft.splash_potion.effect.strong_shrinking": "Splash Potion of Shrinking II", + "item.minecraft.splash_potion.effect.extreme_shrinking": "Splash Potion of Shrinking III", + "item.minecraft.lingering_potion.effect.shrinking": "Lingering Potion of Shrinking", + "item.minecraft.lingering_potion.effect.strong_shrinking": "Lingering Potion of Shrinking II", + "item.minecraft.lingering_potion.effect.extreme_shrinking": "Lingering Potion of Shrinking III", + "item.minecraft.tipped_arrow.effect.shrinking": "Arrow of Shrinking", + "item.minecraft.tipped_arrow.effect.strong_shrinking": "Arrow of Shrinking II", + "item.minecraft.tipped_arrow.effect.extreme_shrinking": "Arrow of Shrinking III", + "item.minecraft.potion.effect.growing": "Potion of Growth", + "item.minecraft.potion.effect.strong_growing": "Potion of Growth II", + "item.minecraft.potion.effect.extreme_growing": "Potion of Growth III", + "item.minecraft.splash_potion.effect.growing": "Splash Potion of Growth", + "item.minecraft.splash_potion.effect.strong_growing": "Splash Potion of Growth II", + "item.minecraft.splash_potion.effect.extreme_growing": "Splash Potion of Growth III", + "item.minecraft.lingering_potion.effect.growing": "Lingering Potion of Growth", + "item.minecraft.lingering_potion.effect.strong_growing": "Lingering Potion of Growth II", + "item.minecraft.lingering_potion.effect.extreme_growing": "Lingering Potion of Growth III", + "item.minecraft.tipped_arrow.effect.growing": "Arrow of Growth", + "item.minecraft.tipped_arrow.effect.strong_growing": "Arrow of Growth II", + "item.minecraft.tipped_arrow.effect.extreme_growing": "Arrow of Growth III", + "item.minecraft.potion.effect.dread": "Potion of Dread", + "item.minecraft.potion.effect.long_dread": "Potion of Dread", + "item.minecraft.splash_potion.effect.dread": "Splash Potion of Dread", + "item.minecraft.splash_potion.effect.long_dread": "Splash Potion of Dread", + "item.minecraft.lingering_potion.effect.dread": "Lingering Potion of Dread", + "item.minecraft.lingering_potion.effect.long_dread": "Lingering Potion of Dread", + "item.minecraft.tipped_arrow.effect.dread": "Arrow of Dread", + "item.minecraft.tipped_arrow.effect.long_dread": "Arrow of Dread", + "item.minecraft.potion.effect.stinky": "Potion of Stink", + "item.minecraft.potion.effect.long_stinky": "Potion of Stink", + "item.minecraft.splash_potion.effect.stinky": "Splash Potion of Stink", + "item.minecraft.splash_potion.effect.long_stinky": "Splash Potion of Stink", + "item.minecraft.lingering_potion.effect.stinky": "Lingering Potion of Stink", + "item.minecraft.lingering_potion.effect.long_stinky": "Lingering Potion of Stink", + "item.minecraft.tipped_arrow.effect.stinky": "Arrow of Stink", + "item.minecraft.tipped_arrow.effect.long_stinky": "Arrow of Stink", + "item.minecraft.potion.effect.haste": "Potion of Haste", + "item.minecraft.potion.effect.strong_haste": "Potion of Haste II", + "item.minecraft.splash_potion.effect.haste": "Splash Potion of Haste", + "item.minecraft.splash_potion.effect.strong_haste": "Splash Potion of Haste II", + "item.minecraft.lingering_potion.effect.haste": "Lingering Potion of Haste", + "item.minecraft.lingering_potion.effect.strong_haste": "Lingering Potion of Haste II", + "item.minecraft.tipped_arrow.effect.haste": "Arrow of Haste", + "item.minecraft.tipped_arrow.effect.strong_haste": "Arrow of Haste II", + "advancements.antarchy.cancel_out.title": "1 - 1 = ?", + "advancements.antarchy.cancel_out.description": "Have Growth and Shrinking active at the same time.", + "entity.antarchy.cheep": "Cheep", + "item.antarchy.cheep": "Cheep", + "item.antarchy.cheep_spawn_egg": "Cheep Spawn Egg", + "entity.antarchy.reverie": "Reverie", + "biome.antarchy.thoraxis": "Thoraxis", + "biome.antarchy.nightmare_wastes": "Nightmare Wastes", + "biome.antarchy.umbral_hills": "Umbral Hills", + "biome.antarchy.lucid_pools": "Lucid Pools", + "biome.antarchy.dream_dunes": "Dream Dunes", + "biome.antarchy.cloud_sea": "Cloud Sea", + "trim_material.antarchy.blood_crystal": "Blood Crystal", + "trim_material.antarchy.nightmare_scale": "Nightmare Scale", + "trim_material.antarchy.uranium": "Uranium", + "trim_material.antarchy.titanium": "Titanium", + "advancements.antarchy.duct_tape.title": "I sawed this boat in half!", + "advancements.antarchy.duct_tape.description": "and fixed it with the power of duct tape!", + "key.categories.antarchy": "Antarchy", + "key.antarchy.brutalfly_flap": "Brutalfly Elytra: Flap", + "advancements.antarchy.shrink_ray_craft.title": "Honey, I Shrunk the Mobs", + "advancements.antarchy.shrink_ray_craft.description": "Craft a Shrink Ray.", + "advancements.antarchy.growth_ray_craft.title": "Go Big or Go Home", + "advancements.antarchy.growth_ray_craft.description": "Craft a Growth Ray.", + "advancements.antarchy.squidzooka_craft.title": "Ink and Destroy", + "advancements.antarchy.squidzooka_craft.description": "Craft a Squidzooka.", + "advancements.antarchy.gravity_gun_craft.title": "Pick Up Artist", + "advancements.antarchy.gravity_gun_craft.description": "Craft a Gravity Gun." } diff --git a/common/src/main/resources/assets/antarchy/models/block/amber_lichen.json b/common/src/main/resources/assets/antarchy/models/block/amber_lichen.json deleted file mode 100644 index e6913b4a..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/amber_lichen.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "antarchy:block/amber_moss/amber_lichen", - "glow_lichen": "antarchy:block/amber_moss/amber_lichen" - }, - "elements": [ - { - "from": [0, 0, 0.1], - "to": [16, 16, 0.1], - "faces": { - "north": { "uv": [16, 0, 0, 16], "texture": "#glow_lichen" }, - "south": { "uv": [0, 0, 16, 16], "texture": "#glow_lichen" } - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/models/block/amber_moss_block.json b/common/src/main/resources/assets/antarchy/models/block/amber_moss_block.json deleted file mode 100644 index f3079b40..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/amber_moss_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "antarchy:block/amber_moss/amber_moss_block" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet.json b/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet.json deleted file mode 100644 index 3058b1b5..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/carpet", - "textures": { - "wool": "antarchy:block/amber_moss/amber_moss_carpet" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_small.json b/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_small.json deleted file mode 100644 index 279f1af9..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_small.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/mossy_carpet_side", - "textures": { - "side": "antarchy:block/amber_moss/amber_moss_carpet" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_tall.json b/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_tall.json deleted file mode 100644 index f4bcd957..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/amber_moss_carpet_side_tall.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "ambientocclusion": true, - "textures": { - "particle": "#side", - "side": "antarchy:block/amber_moss/amber_moss_carpet" - }, - "elements": [ - { - "from": [0, 0, 0.1], - "to": [16, 16, 0.1], - "shade": true, - "faces": { - "north": {"uv": [16, 0, 0, 16], "texture": "#side"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#side"} - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/models/block/bile_vein.json b/common/src/main/resources/assets/antarchy/models/block/bile_vein.json deleted file mode 100644 index 1bbd5a7f..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/bile_vein.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "antarchy:block/bile/bile_vein" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/broodstone.json b/common/src/main/resources/assets/antarchy/models/block/broodstone.json deleted file mode 100644 index b282bd92..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/broodstone.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "antarchy:block/broodstone/broodstone" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json deleted file mode 100644 index c3fbe98d..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_x.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "block/block", - "textures": { - "portal": "antarchy:block/cavaryn_portal", - "particle": "antarchy:block/cavaryn_portal" - }, - "elements": [ - { - "from": [0, 0, 7.5], - "to": [16, 16, 8.5], - "faces": { - "north": { "texture": "#portal" }, - "south": { "texture": "#portal" } - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json b/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json deleted file mode 100644 index 8f25f81e..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/cavaryn_portal_z.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parent": "block/block", - "textures": { - "portal": "antarchy:block/cavaryn_portal", - "particle": "antarchy:block/cavaryn_portal" - }, - "elements": [ - { - "from": [7.5, 0, 0], - "to": [8.5, 16, 16], - "faces": { - "west": { "texture": "#portal" }, - "east": { "texture": "#portal" } - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_block.json b/common/src/main/resources/assets/antarchy/models/block/chiten_block.json deleted file mode 100644 index c3d21bb3..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "antarchy:block/chiten_block", - "side": "antarchy:block/chiten_block" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_base.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_base.json deleted file mode 100644 index 5bb4d70a..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_down_base" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_frustum.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_frustum.json deleted file mode 100644 index c94fcdb5..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_frustum.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_down_frustum" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_middle.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_middle.json deleted file mode 100644 index 8cd7d902..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_middle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_down_middle" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip.json deleted file mode 100644 index d8b89d9b..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_down_tip" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip_merge.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip_merge.json deleted file mode 100644 index 3941f02d..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_down_tip_merge.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_down_tip_merge" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_base.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_base.json deleted file mode 100644 index a896ccbb..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_up_base" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_frustum.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_frustum.json deleted file mode 100644 index e3e84f52..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_frustum.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_up_frustum" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_middle.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_middle.json deleted file mode 100644 index ba4e46f2..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_middle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_up_middle" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip.json deleted file mode 100644 index 25dda590..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_up_tip" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip_merge.json b/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip_merge.json deleted file mode 100644 index 6349e79a..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/chiten_spike_up_tip_merge.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/pointed_dripstone", - "textures": { - "cross": "antarchy:block/chiten_spike/chiten_spike_up_tip_merge" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_1.json deleted file mode 100644 index f4187644..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_2.json deleted file mode 100644 index d2f9f14d..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_3.json deleted file mode 100644 index ef956bbe..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_4.json deleted file mode 100644 index e5ba6281..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/creeping_horror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg", - "particle": "antarchy:block/creeping_horror_egg/creeping_horror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/creepvine.json b/common/src/main/resources/assets/antarchy/models/block/creepvine.json deleted file mode 100644 index 3ee3bc66..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/creepvine.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "antarchy:block/creepvine", - "vine": "antarchy:block/creepvine" - }, - "elements": [ - { - "from": [0, 0, 0.8], - "to": [16, 16, 0.8], - "shade": false, - "faces": { - "north": { "uv": [16, 0, 0, 16], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [0, 0, 16, 16], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_1.json deleted file mode 100644 index a63af561..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_2.json deleted file mode 100644 index 71eec9e4..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_3.json deleted file mode 100644 index 7e5d23e4..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_4.json deleted file mode 100644 index 30d35294..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/lurking_terror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg", - "particle": "antarchy:block/lurking_terror_egg/lurking_terror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/myrmite.json b/common/src/main/resources/assets/antarchy/models/block/myrmite.json deleted file mode 100644 index 1c17e6da..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/myrmite.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "antarchy:block/myrmite" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_1.json deleted file mode 100644 index 20b6a8ae..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_2.json deleted file mode 100644 index cbfa51e2..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_3.json deleted file mode 100644 index 03be473f..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_4.json deleted file mode 100644 index a3863d21..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_creeping_horror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_slightly_cracked", - "particle": "antarchy:block/creeping_horror_egg/creeping_horror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_1.json deleted file mode 100644 index 7c3dc843..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_2.json deleted file mode 100644 index 5e296fad..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_3.json deleted file mode 100644 index 7f1c780e..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_4.json deleted file mode 100644 index 884cc982..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/slightly_cracked_lurking_terror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_slightly_cracked", - "particle": "antarchy:block/lurking_terror_egg/lurking_terror_egg_slightly_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/termite_nest.json b/common/src/main/resources/assets/antarchy/models/block/termite_nest.json deleted file mode 100644 index 1bc0e245..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/termite_nest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "minecraft:block/cube", - "textures": { - "particle": "antarchy:block/brown_ant_nest/brown_ant_nest", - "down": "minecraft:block/coarse_dirt", - "up": "antarchy:block/brown_ant_nest/brown_ant_nest_top", - "north": "antarchy:block/brown_ant_nest/brown_ant_nest", - "south": "antarchy:block/brown_ant_nest/brown_ant_nest", - "west": "antarchy:block/brown_ant_nest/brown_ant_nest", - "east": "antarchy:block/brown_ant_nest/brown_ant_nest" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_1.json deleted file mode 100644 index 4ccfd5ca..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_2.json deleted file mode 100644 index 37334cc9..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_3.json deleted file mode 100644 index 824df80f..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_4.json deleted file mode 100644 index 71494d84..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_creeping_horror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/creeping_horror_egg/creeping_horror_egg_very_cracked", - "particle": "antarchy:block/creeping_horror_egg/creeping_horror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_1.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_1.json deleted file mode 100644 index 248b4d18..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_1.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_turtle_egg", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_2.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_2.json deleted file mode 100644 index 0ac42d62..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_2.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_two_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_3.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_3.json deleted file mode 100644 index 40a9f01b..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_3.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/template_three_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_4.json b/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_4.json deleted file mode 100644 index c4e1dca5..00000000 --- a/common/src/main/resources/assets/antarchy/models/block/very_cracked_lurking_terror_egg_4.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/template_four_turtle_eggs", - "textures": { - "all": "antarchy:block/lurking_terror_egg/lurking_terror_egg_very_cracked", - "particle": "antarchy:block/lurking_terror_egg/lurking_terror_egg_very_cracked" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/amber_lichen.json b/common/src/main/resources/assets/antarchy/models/item/amber_lichen.json deleted file mode 100644 index 809509a9..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/amber_lichen.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:block/amber_moss/amber_lichen" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/amber_moss_block.json b/common/src/main/resources/assets/antarchy/models/item/amber_moss_block.json deleted file mode 100644 index 7507fc94..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/amber_moss_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/amber_moss_block" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/amber_moss_carpet.json b/common/src/main/resources/assets/antarchy/models/item/amber_moss_carpet.json deleted file mode 100644 index 900da03b..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/amber_moss_carpet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/amber_moss_carpet" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/bile_vein.json b/common/src/main/resources/assets/antarchy/models/item/bile_vein.json deleted file mode 100644 index 1a1067eb..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/bile_vein.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/bile_vein" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/broodstone.json b/common/src/main/resources/assets/antarchy/models/item/broodstone.json deleted file mode 100644 index c212825a..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/broodstone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/broodstone" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/chiten.json b/common/src/main/resources/assets/antarchy/models/item/chiten.json deleted file mode 100644 index 20b2e019..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/chiten.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:item/chiten" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/chiten_block.json b/common/src/main/resources/assets/antarchy/models/item/chiten_block.json deleted file mode 100644 index 47e06517..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/chiten_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/chiten_block" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/chiten_spike.json b/common/src/main/resources/assets/antarchy/models/item/chiten_spike.json deleted file mode 100644 index 0a70c0e9..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/chiten_spike.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:item/chiten_spike" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/creeping_horror_egg.json b/common/src/main/resources/assets/antarchy/models/item/creeping_horror_egg.json deleted file mode 100644 index 09dddc04..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/creeping_horror_egg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:item/creeping_horror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/creepvine.json b/common/src/main/resources/assets/antarchy/models/item/creepvine.json deleted file mode 100644 index bea911f8..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/creepvine.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:block/creepvine" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/spit_bug_spawn_egg.json b/common/src/main/resources/assets/antarchy/models/item/glimmer_spawn_egg.json similarity index 100% rename from common/src/main/resources/assets/antarchy/models/item/spit_bug_spawn_egg.json rename to common/src/main/resources/assets/antarchy/models/item/glimmer_spawn_egg.json diff --git a/common/src/main/resources/assets/antarchy/models/item/lurking_terror_egg.json b/common/src/main/resources/assets/antarchy/models/item/lurking_terror_egg.json deleted file mode 100644 index 42cebd01..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/lurking_terror_egg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "antarchy:item/lurking_terror_egg" - } -} diff --git a/common/src/main/resources/assets/antarchy/models/item/myrmite.json b/common/src/main/resources/assets/antarchy/models/item/myrmite.json deleted file mode 100644 index 9da582d2..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/myrmite.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/myrmite" -} diff --git a/common/src/main/resources/assets/antarchy/models/item/termite_nest.json b/common/src/main/resources/assets/antarchy/models/item/termite_nest.json deleted file mode 100644 index 0f2c65eb..00000000 --- a/common/src/main/resources/assets/antarchy/models/item/termite_nest.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "antarchy:block/termite_nest" -} diff --git a/common/src/main/resources/assets/antarchy/sounds.json b/common/src/main/resources/assets/antarchy/sounds.json index 698e1e6f..3987f11c 100644 --- a/common/src/main/resources/assets/antarchy/sounds.json +++ b/common/src/main/resources/assets/antarchy/sounds.json @@ -1,1882 +1,1805 @@ { - "squidzooka_fire": { - "subtitle": "subtitles.antarchy.squidzooka_fire", - "sounds": [ - { - "name": "antarchy:squidzooka/squizooka1" - }, - { - "name": "antarchy:squidzooka/squizooka2" - }, - { - "name": "antarchy:squidzooka/squizooka3" - }, - { - "name": "antarchy:squidzooka/squizooka4" - } - ] - }, - "shrink_ray": { - "subtitle": "subtitles.antarchy.shrink_ray", - "sounds": [ - { - "name": "antarchy:size_ray/shrink_ray" - } - ] - }, - "growth_ray": { - "subtitle": "subtitles.antarchy.growth_ray", - "sounds": [ - { - "name": "antarchy:size_ray/growth_ray" - } - ] - }, - "size_ray_charge": { - "subtitle": "subtitles.antarchy.size_ray_charge", - "sounds": [ - { - "name": "antarchy:size_ray/size_ray_charge" - } - ] - }, - "ant_ambient": { - "subtitle": "subtitles.antarchy.ant_ambient", - "sounds": [ - { - "name": "antarchy:mob/ant/ant_ambient" - } - ] - }, - "ant_idle": { - "subtitle": "subtitles.antarchy.ant_idle", - "sounds": [ - { - "name": "antarchy:mob/ant/ant_idle1" - }, - { - "name": "antarchy:mob/ant/ant_idle2" - }, - { - "name": "antarchy:mob/ant/ant_idle3" - }, - { - "name": "antarchy:mob/ant/ant_idle4" - }, - { - "name": "antarchy:mob/ant/ant_idle5" - }, - { - "name": "antarchy:mob/ant/ant_idle6" - } - ] - }, - "ant_hurt": { - "subtitle": "subtitles.antarchy.ant_hurt", - "sounds": [ - { - "name": "antarchy:mob/ant/ant_hurt" - } - ] - }, - "ant_bite": { - "subtitle": "subtitles.antarchy.ant_bite", - "sounds": [ - { - "name": "antarchy:mob/ant/ant_bite" - } - ] - }, - "ant_gather": { - "subtitle": "subtitles.antarchy.ant_gather", - "sounds": [ - { - "name": "antarchy:mob/ant/ant_gather1" - }, - { - "name": "antarchy:mob/ant/ant_gather2" - } - ] - }, - "ant_nest": { - "subtitle": "subtitles.antarchy.ant_nest", - "sounds": [ - { - "name": "antarchy:block/ant_nest_exit" - } - ] - }, - "cloud_shark_bite": { - "subtitle": "subtitles.antarchy.cloud_shark_bite", - "sounds": [ - { - "name": "antarchy:mob/cloud_shark/cloud_shark_bite" - } - ] - }, - "cloud_shark_idle": { - "subtitle": "subtitles.antarchy.cloud_shark_idle", - "sounds": [ - { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle1" - }, - { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle2" - }, - { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle3" - }, - { - "name": "antarchy:mob/cloud_shark/cloud_shark_idle4" - } - ] - }, - "cloud_shark_hurt": { - "subtitle": "subtitles.antarchy.cloud_shark_hurt", - "sounds": [ - { - "name": "antarchy:mob/cloud_shark/cloud_shark_hurt" - } - ] - }, - "cloud_shark_death": { - "subtitle": "subtitles.antarchy.cloud_shark_death", - "sounds": [ - { - "name": "antarchy:mob/cloud_shark/cloud_shark_death" - } - ] - }, - "cloud_shark_fly": { - "subtitle": "subtitles.antarchy.cloud_shark_fly", - "sounds": [ - { - "name": "antarchy:mob/cloud_shark/cloud_shark_fly1" - } - ] - }, - "caterpillar_idle": { - "subtitle": "subtitles.antarchy.caterpillar_idle", - "sounds": [ - { - "name": "antarchy:mob/caterpillar/caterpillar_idle1" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_idle2" - } - ] - }, - "caterpillar_hurt": { - "subtitle": "subtitles.antarchy.caterpillar_hurt", - "sounds": [ - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt1" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt2" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt3" - } - ] - }, - "caterpillar_crawl": { - "subtitle": "subtitles.antarchy.caterpillar_crawl", - "sounds": [ - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl1" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl2" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl3" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl4" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl5" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_crawl6" - } - ] - }, - "butterfly_hurt": { - "subtitle": "subtitles.antarchy.butterfly_hurt", - "sounds": [ - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt1" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt2" - }, - { - "name": "antarchy:mob/caterpillar/caterpillar_hurt3" - } - ] - }, - "brutalfly_idle": { - "subtitle": "subtitles.antarchy.brutalfly_idle", - "sounds": [ - { - "name": "antarchy:mob/brutalfly/brutalfly_idle1" - }, - { - "name": "antarchy:mob/brutalfly/brutalfly_idle2" - }, - { - "name": "antarchy:mob/brutalfly/brutalfly_idle3" - } - ] - }, - "brutalfly_death": { - "subtitle": "subtitles.antarchy.brutalfly_death", - "sounds": [ - { - "name": "antarchy:mob/brutalfly/brutalfly_death1" - } - ] - }, - "missile_squid_ambient": { - "subtitle": "subtitles.antarchy.missile_squid_ambient", - "sounds": [ - { - "name": "entity.squid.ambient", - "type": "event" - } - ] - }, - "missile_squid_hurt": { - "subtitle": "subtitles.antarchy.missile_squid_hurt", - "sounds": [ - { - "name": "entity.squid.hurt", - "type": "event" - } - ] - }, - "missile_squid_death": { - "subtitle": "subtitles.antarchy.missile_squid_death", - "sounds": [ - { - "name": "entity.squid.death", - "type": "event" - } - ] - }, - "missile_squid_attack": { - "subtitle": "subtitles.antarchy.missile_squid_attack", - "sounds": [ - { - "name": "antarchy:mob/missile_squid/missile_squid_attack1" - }, - { - "name": "antarchy:mob/missile_squid/missile_squid_attack2" - }, - { - "name": "antarchy:mob/missile_squid/missile_squid_attack3" - } - ] - }, - "kraken_flying_loop": { - "subtitle": "subtitles.antarchy.kraken_flying_loop", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_flying_loop1", - "stream": true - }, - { - "name": "antarchy:mob/kraken/kraken_flying_loop2", - "stream": true - } - ] - }, - "kraken_flying_sideways_loop": { - "subtitle": "subtitles.antarchy.kraken_flying_sideways_loop", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_flying_sideways_loop1", - "stream": true - }, - { - "name": "antarchy:mob/kraken/kraken_flying_sideways_loop2", - "stream": true - } - ] - }, - "kraken_attack": { - "subtitle": "subtitles.antarchy.kraken_attack", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_attack1" - } - ] - }, - "kraken_spin": { - "subtitle": "subtitles.antarchy.kraken_spin", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_spin" - } - ] - }, - "kraken_roar": { - "subtitle": "subtitles.antarchy.kraken_roar", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_roar" - } - ] - }, - "kraken_summon": { - "subtitle": "subtitles.antarchy.kraken_summon", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_spawn" - } - ] - }, - "kraken_hurt": { - "subtitle": "subtitles.antarchy.kraken_hurt", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_hurt1" - }, - { - "name": "antarchy:mob/kraken/kraken_hurt2" - } - ] - }, - "kraken_death": { - "subtitle": "subtitles.antarchy.kraken_death", - "sounds": [ - { - "name": "antarchy:mob/kraken/kraken_death" - } - ] - }, - "basilisk_idle_loop": { - "subtitle": "subtitles.antarchy.basilisk_idle_loop", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_idle_loop1", - "stream": true - }, - { - "name": "antarchy:mob/basilisk/basilisk_idle_loop2", - "stream": true - } - ] - }, - "basilisk_slither_loop": { - "subtitle": "subtitles.antarchy.basilisk_slither_loop", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_slither_loop1", - "stream": true - }, - { - "name": "antarchy:mob/basilisk/basilisk_slither_loop2", - "stream": true - } - ] - }, - "basilisk_bite": { - "subtitle": "subtitles.antarchy.basilisk_bite", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_bite" - } - ] - }, - "basilisk_hiss": { - "subtitle": "subtitles.antarchy.basilisk_hiss", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_hiss" - } - ] - }, - "basilisk_hurt": { - "subtitle": "subtitles.antarchy.basilisk_hurt", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_hurt1" - }, - { - "name": "antarchy:mob/basilisk/basilisk_hurt2" - } - ] - }, - "basilisk_death": { - "subtitle": "subtitles.antarchy.basilisk_death", - "sounds": [ - { - "name": "antarchy:mob/basilisk/basilisk_death" - } - ] - }, - "bomber_walk": { - "subtitle": "subtitles.antarchy.bomber_walk", - "sounds": [ - { - "name": "antarchy:mob/bomber/walk1" - }, - { - "name": "antarchy:mob/bomber/walk2" - }, - { - "name": "antarchy:mob/bomber/walk3" - }, - { - "name": "antarchy:mob/bomber/walk4" - } - ] - }, - "bomber_knock": { - "subtitle": "subtitles.antarchy.bomber_knock", - "sounds": [ - { - "name": "antarchy:mob/bomber/knock1" - }, - { - "name": "antarchy:mob/bomber/knock2" - }, - { - "name": "antarchy:mob/bomber/knock3" - }, - { - "name": "antarchy:mob/bomber/knock4" - }, - { - "name": "antarchy:mob/bomber/knock5" - } - ] - }, - "bomber_explode": { - "subtitle": "subtitles.antarchy.bomber_explode", - "sounds": [ - { - "name": "antarchy:mob/bomber/explode1" - }, - { - "name": "antarchy:mob/bomber/explode2" - } - ] - }, - "toreterror_idle": { - "subtitle": "subtitles.antarchy.toreterror_idle", - "sounds": [ - { - "name": "antarchy:mob/toreterror/idle1" - }, - { - "name": "antarchy:mob/toreterror/idle2" - }, - { - "name": "antarchy:mob/toreterror/idle3" - } - ] - }, - "toreterror_hurt": { - "subtitle": "subtitles.antarchy.toreterror_hurt", - "sounds": [ - { - "name": "antarchy:mob/toreterror/hurt1" - }, - { - "name": "antarchy:mob/toreterror/hurt2" - }, - { - "name": "antarchy:mob/toreterror/hurt3" - } - ] - }, - "toreterror_death": { - "subtitle": "subtitles.antarchy.toreterror_death", - "sounds": [ - { - "name": "antarchy:mob/toreterror/death" - } - ] - }, - "toreterror_bomber_fire": { - "subtitle": "subtitles.antarchy.toreterror_bomber_fire", - "sounds": [ - { - "name": "antarchy:mob/toreterror/bomber_fire1" - }, - { - "name": "antarchy:mob/toreterror/bomber_fire2" - } - ] - }, - "toreterror_spin": { - "subtitle": "subtitles.antarchy.toreterror_spin", - "sounds": [ - { - "name": "antarchy:mob/toreterror/spin" - } - ] - }, - "toreterror_ricochet": { - "subtitle": "subtitles.antarchy.toreterror_ricochet", - "sounds": [ - { - "name": "antarchy:mob/toreterror/richochet1" - }, - { - "name": "antarchy:mob/toreterror/richochet2" - }, - { - "name": "antarchy:mob/toreterror/richochet3" - } - ] - }, - "water_cannon_fire": { - "subtitle": "subtitles.antarchy.water_cannon_fire", - "sounds": [ - { - "name": "antarchy:mob/toreterror/water_cannon1" - }, - { - "name": "antarchy:mob/toreterror/water_cannon2" - }, - { - "name": "antarchy:mob/toreterror/water_cannon3" - }, - { - "name": "antarchy:mob/toreterror/water_cannon4" - } - ] - }, - "toreterror_jump_up": { - "subtitle": "subtitles.antarchy.toreterror_jump_up", - "sounds": [ - { - "name": "antarchy:mob/toreterror/jump_up1" - }, - { - "name": "antarchy:mob/toreterror/jump_up2" - } - ] - }, - "toreterror_jump_land": { - "subtitle": "subtitles.antarchy.toreterror_jump_land", - "sounds": [ - { - "name": "antarchy:mob/toreterror/jump_land1" - }, - { - "name": "antarchy:mob/toreterror/jump_land2" - } - ] - }, - "creeping_horror_growl": { - "subtitle": "subtitles.antarchy.creeping_horror_growl", - "sounds": [ - { - "name": "antarchy:mob/creeping_horror/creeping_horror_growl1" - }, - { - "name": "antarchy:mob/creeping_horror/creeping_horror_growl2" - } - ] - }, - "creeping_horror_hurt": { - "subtitle": "subtitles.antarchy.creeping_horror_hurt", - "sounds": [ - { - "name": "antarchy:mob/creeping_horror/creeping_horror_hurt1" - }, - { - "name": "antarchy:mob/creeping_horror/creeping_horror_hurt2" - } - ] - }, - "creeping_horror_bite": { - "subtitle": "subtitles.antarchy.creeping_horror_bite", - "sounds": [ - { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite1" - }, - { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite2" - }, - { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite3" - }, - { - "name": "antarchy:mob/creeping_horror/creeping_horror_bite4" - } - ] - }, - "lurking_terror_snarl": { - "subtitle": "subtitles.antarchy.lurking_terror_snarl", - "sounds": [ - { - "name": "antarchy:mob/lurking_terror/lurking_terror_snarl1" - }, - { - "name": "antarchy:mob/lurking_terror/lurking_terror_snarl2" - } - ] - }, - "lurking_terror_hurt": { - "subtitle": "subtitles.antarchy.lurking_terror_hurt", - "sounds": [ - { - "name": "antarchy:mob/lurking_terror/lurking_terror_hurt1" - }, - { - "name": "antarchy:mob/lurking_terror/lurking_terror_hurt2" - } - ] - }, - "lurking_terror_bite": { - "subtitle": "subtitles.antarchy.lurking_terror_bite", - "sounds": [ - { - "name": "antarchy:mob/lurking_terror/lurking_terror_bite1" - } - ] - }, - "lurking_terror_fly_loop": { - "subtitle": "subtitles.antarchy.lurking_terror_fly_loop", - "sounds": [ - { - "name": "antarchy:mob/lurking_terror/lurking_terror_fly_loop" - } - ] - }, - "stinky_fly": { - "subtitle": "subtitles.antarchy.stinky_fly", - "sounds": [ - { - "name": "antarchy:effect/stinky/stinky_flies1" - }, - { - "name": "antarchy:effect/stinky/stinky_flies2" - }, - { - "name": "antarchy:effect/stinky/stinky_flies3" - }, - { - "name": "antarchy:effect/stinky/stinky_flies4" - }, - { - "name": "antarchy:effect/stinky/stinky_flies5" - }, - { - "name": "antarchy:effect/stinky/stinky_flies6" - }, - { - "name": "antarchy:effect/stinky/stinky_flies7" - }, - { - "name": "antarchy:effect/stinky/stinky_flies8" - } - ] - }, - "thoraxis_nightmare_wastes_ambient": { - "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_ambient", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/ambience_reversed", - "volume": 0.28, - "weight": 4 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/dark1_reversed", - "volume": 0.24, - "weight": 2 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/dark2_reversed", - "volume": 0.24, - "weight": 2 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground1_reversed", - "volume": 0.2, - "weight": 1 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground2_reversed", - "volume": 0.2, - "weight": 1 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground3_reversed", - "volume": 0.2, - "weight": 1 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground4_reversed", - "volume": 0.2, - "weight": 1 - } - ] - }, - "thoraxis_nightmare_wastes_additions": { - "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_additions", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition1_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition2_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition3_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition4_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition5_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition6_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition7_reversed", - "volume": 0.6 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition8_reversed", - "volume": 0.6 - } - ] - }, - "thoraxis_nightmare_wastes_mood": { - "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_mood", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood1_reversed", - "volume": 0.5 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood2_reversed", - "volume": 0.5 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood3_reversed", - "volume": 0.5 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood4_reversed", - "volume": 0.5 - }, - { - "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood5_reversed", - "volume": 0.5 - } - ] - }, - "thoraxis_dream_dunes_ambient": { - "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_ambient", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/dream_dunes/wind1_reversed", - "volume": 0.3, - "weight": 3 - }, - { - "name": "antarchy:ambient/thoraxis/dream_dunes/wind2_reversed", - "volume": 0.3, - "weight": 3 - }, - { - "name": "antarchy:ambient/thoraxis/dream_dunes/wind3_reversed", - "volume": 0.3, - "weight": 3 - }, - { - "name": "antarchy:ambient/thoraxis/dream_dunes/wind4_reversed", - "volume": 0.3, - "weight": 3 - }, - { - "name": "antarchy:ambient/thoraxis/dream_dunes/with1_reversed", - "volume": 0.24, - "weight": 2 - } - ] - }, - "thoraxis_dream_dunes_additions": { - "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_additions", - "sounds": [ - { - "name": "ambient/nether/soulsand_valley/sand1", - "volume": 0.65, - "weight": 3 - }, - { - "name": "ambient/nether/soulsand_valley/sand2", - "volume": 0.65, - "weight": 3 - }, - { - "name": "ambient/nether/soulsand_valley/sand3", - "volume": 0.65, - "weight": 3 - }, - { - "name": "ambient/nether/soulsand_valley/ambience", - "volume": 0.5, - "weight": 2 - }, - { - "name": "ambient/nether/soulsand_valley/mood1", - "volume": 0.45, - "weight": 1 - }, - { - "name": "ambient/nether/soulsand_valley/mood2", - "volume": 0.45, - "weight": 1 - } - ] - }, - "thoraxis_dream_dunes_mood": { - "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_mood", - "sounds": [ - { - "name": "ambient/nether/soulsand_valley/mood1", - "volume": 0.45, - "weight": 2 - }, - { - "name": "ambient/nether/soulsand_valley/mood2", - "volume": 0.45, - "weight": 2 - } - ] - }, - "thoraxis_lucid_pools_ambient": { - "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_ambient", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/lucid_pools/ambient", - "volume": 0.26, - "weight": 4 - } - ] - }, - "thoraxis_lucid_pools_additions": { - "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_additions", - "sounds": [ - { - "name": "antarchy:ambient/thoraxis/lucid_pools/curse1", - "volume": 0.48 - }, - { - "name": "antarchy:ambient/thoraxis/lucid_pools/curse2", - "volume": 0.48 - }, - { - "name": "antarchy:ambient/thoraxis/lucid_pools/curse3", - "volume": 0.48 - }, - { - "name": "antarchy:ambient/thoraxis/lucid_pools/curse4", - "volume": 0.48 - } - ] - }, - "thoraxis_lucid_pools_mood": { - "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_mood", - "sounds": [ - { - "name": "ambient/nether/soulsand_valley/mood1", - "volume": 0.45, - "weight": 2 - }, - { - "name": "ambient/nether/soulsand_valley/mood2", - "volume": 0.45, - "weight": 2 - } - ] - }, - "lucid_ambient": { - "subtitle": "subtitles.antarchy.lucid_ambient", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_ambience", - "stream": true - } - ] - }, - "lucid_flying": { - "subtitle": "subtitles.antarchy.lucid_flying", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_flying", - "stream": true - } - ] - }, - "lucid_attack": { - "subtitle": "subtitles.antarchy.lucid_attack", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_attack" - } - ] - }, - "lucid_bolt": { - "subtitle": "subtitles.antarchy.lucid_bolt", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_bolt" - } - ] - }, - "lucid_hurt": { - "subtitle": "subtitles.antarchy.lucid_hurt", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_hurt1" - }, - { - "name": "antarchy:mob/lucid/lucid_hurt2" - } - ] - }, - "lucid_death": { - "subtitle": "subtitles.antarchy.lucid_death", - "sounds": [ - { - "name": "antarchy:mob/lucid/lucid_death" - } - ] - }, - "reverie_idle": { - "subtitle": "subtitles.antarchy.reverie_idle", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_idle1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_idle2", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_idle3", - "volume": 0.5 - } - ] - }, - "reverie_hurt": { - "subtitle": "subtitles.antarchy.reverie_hurt", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_hurt1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_hurt2", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_hurt3", - "volume": 0.5 - } - ] - }, - "reverie_worry": { - "subtitle": "subtitles.antarchy.reverie_worry", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_worry1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_worry2", - "volume": 0.5 - } - ] - }, - "reverie_save": { - "subtitle": "subtitles.antarchy.reverie_save", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_save1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_save2", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_save3", - "volume": 0.5 - } - ] - }, - "reverie_join_player": { - "subtitle": "subtitles.antarchy.reverie_join_player", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_joinplayer1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_joinplayer2", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_joinplayer3", - "volume": 0.5 - } - ] - }, - "reverie_alert": { - "subtitle": "subtitles.antarchy.reverie_alert", - "sounds": [ - { - "name": "antarchy:mob/reverie/reverie_alert1", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_alert2", - "volume": 0.5 - }, - { - "name": "antarchy:mob/reverie/reverie_alert3", - "volume": 0.5 - } - ] - }, - "flying_squirrel_idle": { - "subtitle": "subtitles.antarchy.flying_squirrel_idle", - "sounds": [ - { - "name": "antarchy:mob/flying_squirrel/flying_squirrel_idle1" - }, - { - "name": "minecraft:mob/fox/sniff1" - }, - { - "name": "minecraft:mob/fox/sniff2" - }, - { - "name": "minecraft:mob/fox/sniff4" - } - ] - }, - "flying_squirrel_beg": { - "subtitle": "subtitles.antarchy.flying_squirrel_beg", - "sounds": [ - { - "name": "entity.cat.beg_for_food", - "type": "event" - } - ] - }, - "flying_squirrel_nut": { - "subtitle": "subtitles.antarchy.flying_squirrel_nut", - "sounds": [ - { - "name": "minecraft:mob/fox/eat1" - }, - { - "name": "minecraft:mob/fox/eat2" - }, - { - "name": "minecraft:mob/fox/eat3" - } - ] - }, - "flying_squirrel_glide_loop": { - "subtitle": "subtitles.antarchy.flying_squirrel_glide_loop", - "sounds": [ - { - "name": "antarchy:mob/flying_squirrel/flying_squirrel_glide_loop" - } - ] - }, - "flying_squirrel_hurt": { - "subtitle": "subtitles.antarchy.flying_squirrel_hurt", - "sounds": [ - { - "name": "minecraft:mob/fox/hurt1" - }, - { - "name": "minecraft:mob/fox/hurt2" - }, - { - "name": "minecraft:mob/fox/hurt3" - }, - { - "name": "minecraft:mob/fox/hurt4" - } - ] - }, - "flying_squirrel_death": { - "subtitle": "subtitles.antarchy.flying_squirrel_death", - "sounds": [ - { - "name": "minecraft:mob/fox/death1" - }, - { - "name": "minecraft:mob/fox/death2" - } - ] - }, - "nightmare_idle": { - "subtitle": "subtitles.antarchy.nightmare_idle", - "sounds": [ - { - "name": "antarchy:mob/nightmare/nightmare_idle1" - }, - { - "name": "antarchy:mob/nightmare/nightmare_idle2" - }, - { - "name": "antarchy:mob/nightmare/nightmare_idle3" - }, - { - "name": "antarchy:mob/nightmare/nightmare_idle4" - } - ] - }, - "nightmare_hurt": { - "subtitle": "subtitles.antarchy.nightmare_hurt", - "sounds": [ - { - "name": "antarchy:mob/nightmare/nightmare_hurt1" - } - ] - }, - "nightmare_roar": { - "subtitle": "subtitles.antarchy.nightmare_roar", - "sounds": [ - { - "name": "antarchy:mob/nightmare/nightmare_roar1" - }, - { - "name": "antarchy:mob/nightmare/nightmare_roar2" - } - ] - }, - "nightmare_death": { - "subtitle": "subtitles.antarchy.nightmare_death", - "sounds": [ - { - "name": "antarchy:mob/nightmare/nightmare_death" - } - ] - }, - "nightmare_bite": { - "subtitle": "subtitles.antarchy.nightmare_bite", - "sounds": [ - { - "name": "minecraft:mob/phantom/bite1" - }, - { - "name": "minecraft:mob/phantom/bite2" - } - ] - }, - "nightmare_flap": { - "subtitle": "subtitles.antarchy.nightmare_flap", - "sounds": [ - { - "name": "minecraft:mob/enderdragon/wings1" - }, - { - "name": "minecraft:mob/enderdragon/wings2" - }, - { - "name": "minecraft:mob/enderdragon/wings3" - }, - { - "name": "minecraft:mob/enderdragon/wings4" - }, - { - "name": "minecraft:mob/enderdragon/wings5" - }, - { - "name": "minecraft:mob/enderdragon/wings6" - } - ] - }, - "mantis_ambient": { - "subtitle": "subtitles.antarchy.mantis_ambient", - "sounds": [ - { - "name": "antarchy:mob/mantis/mantis_idle1" - }, - { - "name": "antarchy:mob/mantis/mantis_idle2" - }, - { - "name": "antarchy:mob/mantis/mantis_idle3" - }, - { - "name": "antarchy:mob/mantis/mantis_idle4" - }, - { - "name": "antarchy:mob/mantis/mantis_idle5" - }, - { - "name": "antarchy:mob/mantis/mantis_idle6" - }, - { - "name": "antarchy:mob/mantis/mantis_idle7" - } - ] - }, - "mantis_hurt": { - "subtitle": "subtitles.antarchy.mantis_hurt", - "sounds": [ - { - "name": "antarchy:mob/mantis/mantis_hurt1" - }, - { - "name": "antarchy:mob/mantis/mantis_hurt2" - }, - { - "name": "antarchy:mob/mantis/mantis_hurt3" - } - ] - }, - "mantis_attack": { - "subtitle": "subtitles.antarchy.mantis_attack", - "sounds": [ - { - "name": "antarchy:mob/mantis/mantis_attack1" - }, - { - "name": "antarchy:mob/mantis/mantis_attack2" - }, - { - "name": "antarchy:mob/mantis/mantis_attack3" - }, - { - "name": "antarchy:mob/mantis/mantis_attack4" - } - ] - }, - "mantis_fly_loop": { - "subtitle": "subtitles.antarchy.mantis_fly_loop", - "sounds": [ - { - "name": "antarchy:mob/mantis/mantis_fly_loop", - "stream": true - } - ] - }, - "gravity_gun_pickup": { - "subtitle": "subtitles.antarchy.gravity_gun_pickup", - "sounds": [ - { - "name": "antarchy:gravity_gun/gravity_gun_pickup" - } - ] - }, - "gravity_gun_drop": { - "subtitle": "subtitles.antarchy.gravity_gun_drop", - "sounds": [ - { - "name": "antarchy:gravity_gun/gravity_gun_drop" - } - ] - }, - "gravity_gun_hold_loop": { - "subtitle": "subtitles.antarchy.gravity_gun_hold_loop", - "sounds": [ - { - "name": "antarchy:gravity_gun/gravity_gun_hold_loop" - } - ] - }, - "gravity_gun_launch": { - "subtitle": "subtitles.antarchy.gravity_gun_launch", - "sounds": [ - { - "name": "antarchy:gravity_gun/gravity_gun_launch1" - }, - { - "name": "antarchy:gravity_gun/gravity_gun_launch2" - }, - { - "name": "antarchy:gravity_gun/gravity_gun_launch3" - }, - { - "name": "antarchy:gravity_gun/gravity_gun_launch4" - } - ] - }, - "gravity_gun_dryfire": { - "subtitle": "subtitles.antarchy.gravity_gun_dryfire", - "sounds": [ - { - "name": "antarchy:gravity_gun/gravity_gun_dryfire" - } - ] - }, - "bed_bug_ambient": { - "subtitle": "subtitles.antarchy.bed_bug_ambient", - "sounds": [ - { - "name": "antarchy:mob/bed_bug/bed_bug_ambient1" - }, - { - "name": "antarchy:mob/bed_bug/bed_bug_ambient2" - } - ] - }, - "bed_bug_hurt": { - "subtitle": "subtitles.antarchy.bed_bug_hurt", - "sounds": [ - { - "name": "antarchy:mob/bed_bug/bed_bug_hurt1" - }, - { - "name": "antarchy:mob/bed_bug/bed_bug_hurt2" - } - ] - }, - "bed_bug_attack": { - "subtitle": "subtitles.antarchy.bed_bug_attack", - "sounds": [ - { - "name": "antarchy:mob/bed_bug/bed_bug_attack1" - } - ] - }, - "wasp_idle": { - "subtitle": "subtitles.antarchy.wasp_idle", - "sounds": [ - { - "name": "antarchy:mob/wasp/buzz1" - }, - { - "name": "antarchy:mob/wasp/buzz2" - } - ] - }, - "wasp_hurt": { - "subtitle": "subtitles.antarchy.wasp_hurt", - "sounds": [ - { - "name": "antarchy:mob/wasp/hurt1" - }, - { - "name": "antarchy:mob/wasp/hurt2" - }, - { - "name": "antarchy:mob/wasp/hurt3" - } - ] - }, - "wasp_attack": { - "subtitle": "subtitles.antarchy.wasp_attack", - "sounds": [ - { - "name": "antarchy:mob/wasp/attack1" - }, - { - "name": "antarchy:mob/wasp/attack2" - }, - { - "name": "antarchy:mob/wasp/attack3" - }, - { - "name": "antarchy:mob/wasp/attack4" - }, - { - "name": "antarchy:mob/wasp/attack5" - } - ] - }, - "wasp_death": { - "subtitle": "subtitles.antarchy.wasp_death", - "sounds": [ - { - "name": "antarchy:mob/wasp/death1" - }, - { - "name": "antarchy:mob/wasp/death2" - } - ] - }, - "scorpion_ambient": { - "subtitle": "subtitles.antarchy.scorpion_ambient", - "sounds": [ - { - "name": "antarchy:mob/scorpion/scorpion_ambient1" - } - ] - }, - "scorpion_hurt": { - "subtitle": "subtitles.antarchy.scorpion_hurt", - "sounds": [ - { - "name": "antarchy:mob/scorpion/scorpion_hurt1" - }, - { - "name": "antarchy:mob/scorpion/scorpion_hurt2" - }, - { - "name": "antarchy:mob/scorpion/scorpion_hurt3" - } - ] - }, - "scorpion_attack": { - "subtitle": "subtitles.antarchy.scorpion_attack", - "sounds": [ - { - "name": "antarchy:mob/scorpion/scorpion_attack1" - }, - { - "name": "antarchy:mob/scorpion/scorpion_attack2" - } - ] - }, - "emperor_scorpion_ambient": { - "subtitle": "subtitles.antarchy.emperor_scorpion_ambient", - "sounds": [ - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_ambient1" - } - ] - }, - "emperor_scorpion_hurt": { - "subtitle": "subtitles.antarchy.emperor_scorpion_hurt", - "sounds": [ - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt1" - }, - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt2" - }, - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt3" - } - ] - }, - "emperor_scorpion_attack": { - "subtitle": "subtitles.antarchy.emperor_scorpion_attack", - "sounds": [ - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_attack1" - } - ] - }, - "emperor_scorpion_roar": { - "subtitle": "subtitles.antarchy.emperor_scorpion_roar", - "sounds": [ - { - "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_roar1" - } - ] - }, - "moleworm_ambient": { - "subtitle": "subtitles.antarchy.moleworm_ambient", - "sounds": [ - { - "name": "antarchy:mob/moleworm/moleworm_idle1" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle2" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle3" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle4" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle5" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle6" - }, - { - "name": "antarchy:mob/moleworm/moleworm_idle7" - } - ] - }, - "moleworm_hurt": { - "subtitle": "subtitles.antarchy.moleworm_hurt", - "sounds": [ - { - "name": "antarchy:mob/moleworm/moleworm_hurt1" - }, - { - "name": "antarchy:mob/moleworm/moleworm_hurt2" - }, - { - "name": "antarchy:mob/moleworm/moleworm_hurt3" - } - ] - }, - "moleworm_attack": { - "subtitle": "subtitles.antarchy.moleworm_attack", - "sounds": [ - { - "name": "antarchy:mob/moleworm/moleworm_attack1" - }, - { - "name": "antarchy:mob/moleworm/moleworm_attack2" - } - ] - }, - "moleworm_dig": { - "subtitle": "subtitles.antarchy.moleworm_dig", - "sounds": [ - { - "name": "antarchy:mob/moleworm/moleworm_dig1" - }, - { - "name": "antarchy:mob/moleworm/moleworm_dig2" - }, - { - "name": "antarchy:mob/moleworm/moleworm_dig3" - } - ] - }, - "molevore_ambient": { - "subtitle": "subtitles.antarchy.molevore_ambient", - "sounds": [ - { - "name": "antarchy:mob/molevore/molevore_idle1" - }, - { - "name": "antarchy:mob/molevore/molevore_idle2" - }, - { - "name": "antarchy:mob/molevore/molevore_idle3" - } - ] - }, - "molevore_hurt": { - "subtitle": "subtitles.antarchy.molevore_hurt", - "sounds": [ - { - "name": "antarchy:mob/molevore/molevore_hurt1" - }, - { - "name": "antarchy:mob/molevore/molevore_hurt2" - }, - { - "name": "antarchy:mob/molevore/molevore_hurt3" - } - ] - }, - "molevore_attack": { - "subtitle": "subtitles.antarchy.molevore_attack", - "sounds": [ - { - "name": "antarchy:mob/molevore/molevore_attack1" - }, - { - "name": "antarchy:mob/molevore/molevore_attack2" - }, - { - "name": "antarchy:mob/molevore/molevore_attack3" - } - ] - }, - "molevore_dig": { - "subtitle": "subtitles.antarchy.molevore_dig", - "sounds": [ - { - "name": "antarchy:mob/molevore/molevore_dig1" - } - ] - }, - "duct_tape_use": { - "subtitle": "subtitles.antarchy.duct_tape_use", - "sounds": [ - { - "name": "antarchy:block/duct_tape/duct_tape1" - }, - { - "name": "antarchy:block/duct_tape/duct_tape2" - }, - { - "name": "antarchy:block/duct_tape/duct_tape3" - }, - { - "name": "antarchy:block/duct_tape/duct_tape4" - }, - { - "name": "antarchy:block/duct_tape/duct_tape5" - }, - { - "name": "antarchy:block/duct_tape/duct_tape6" - }, - { - "name": "antarchy:block/duct_tape/duct_tape7" - }, - { - "name": "antarchy:block/duct_tape/duct_tape8" - } - ] - }, - "potent_nyxite_hypnotic_gas": { - "subtitle": "subtitles.antarchy.potent_nyxite_hypnotic_gas", - "sounds": [ - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient1" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient2" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient3" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient4" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient5" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient6" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient7" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient8" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient9" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient10" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient11" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient12" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient13" - }, - { - "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient14" - } - ] - }, - "potent_nyxite_geyser_eruption_start": { - "subtitle": "subtitles.antarchy.potent_nyxite_geyser_eruption", - "sounds": [ - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption1" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption2" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption3" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption4" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption5" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption6" - } - ] - }, - "potent_nyxite_geyser_eruption_active": { - "subtitle": "subtitles.antarchy.potent_nyxite_geyser_eruption", - "sounds": [ - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active1" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active2" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active3" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active4" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active5" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active6" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active7" - } - ] - }, - "potent_nyxite_geyser_continuous_start": { - "subtitle": "subtitles.antarchy.potent_nyxite_geyser_continuous", - "sounds": [ - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption1" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption2" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption3" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption4" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption5" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption6" - } - ] - }, - "potent_nyxite_geyser_continuous_active": { - "subtitle": "subtitles.antarchy.potent_nyxite_geyser_continuous", - "sounds": [ - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active1" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active2" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active3" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active4" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active5" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active6" - }, - { - "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active7" - } - ] - }, - "ambient.elythia.firefly": { - "sounds": [ - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush1", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush2", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush3", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush4", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush5", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush6", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush7", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush8", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush9", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush10", - "stream": false - }, - { - "name": "antarchy:ambient/elythia/firefly/firefly_bush11", - "stream": false - } - ] - }, - "triffid_attack": { - "subtitle": "subtitles.antarchy.triffid_attack", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_attack1" - } - ] - }, - "triffid_grab": { - "subtitle": "subtitles.antarchy.triffid_grab", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_grab1" - } - ] - }, - "triffid_hurt": { - "subtitle": "subtitles.antarchy.triffid_hurt", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_hurt1" - }, - { - "name": "antarchy:mob/triffid/triffid_hurt2" - }, - { - "name": "antarchy:mob/triffid/triffid_hurt3" - } - ] - }, - "triffid_death": { - "subtitle": "subtitles.antarchy.triffid_death", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_hurt3" - } - ] - }, - "triffid_hiss": { - "subtitle": "subtitles.antarchy.triffid_hiss", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_hiss1" - } - ] - }, - "triffid_growl": { - "subtitle": "subtitles.antarchy.triffid_growl", - "sounds": [ - { - "name": "antarchy:mob/triffid/triffid_growl1" - }, - { - "name": "antarchy:mob/triffid/triffid_growl2" - } - ] - } + "squidzooka_fire": { + "subtitle": "subtitles.antarchy.squidzooka_fire", + "sounds": [ + { + "name": "antarchy:squidzooka/squizooka1" + }, + { + "name": "antarchy:squidzooka/squizooka2" + }, + { + "name": "antarchy:squidzooka/squizooka3" + }, + { + "name": "antarchy:squidzooka/squizooka4" + } + ] + }, + "shrink_ray": { + "subtitle": "subtitles.antarchy.shrink_ray", + "sounds": [ + { + "name": "antarchy:size_ray/shrink_ray" + } + ] + }, + "growth_ray": { + "subtitle": "subtitles.antarchy.growth_ray", + "sounds": [ + { + "name": "antarchy:size_ray/growth_ray" + } + ] + }, + "size_ray_charge": { + "subtitle": "subtitles.antarchy.size_ray_charge", + "sounds": [ + { + "name": "antarchy:size_ray/size_ray_charge" + } + ] + }, + "ant_ambient": { + "subtitle": "subtitles.antarchy.ant_ambient", + "sounds": [ + { + "name": "antarchy:mob/ant/ant_ambient" + } + ] + }, + "ant_idle": { + "subtitle": "subtitles.antarchy.ant_idle", + "sounds": [ + { + "name": "antarchy:mob/ant/ant_idle1" + }, + { + "name": "antarchy:mob/ant/ant_idle2" + }, + { + "name": "antarchy:mob/ant/ant_idle3" + }, + { + "name": "antarchy:mob/ant/ant_idle4" + }, + { + "name": "antarchy:mob/ant/ant_idle5" + }, + { + "name": "antarchy:mob/ant/ant_idle6" + } + ] + }, + "ant_hurt": { + "subtitle": "subtitles.antarchy.ant_hurt", + "sounds": [ + { + "name": "antarchy:mob/ant/ant_hurt" + } + ] + }, + "ant_bite": { + "subtitle": "subtitles.antarchy.ant_bite", + "sounds": [ + { + "name": "antarchy:mob/ant/ant_bite" + } + ] + }, + "ant_gather": { + "subtitle": "subtitles.antarchy.ant_gather", + "sounds": [ + { + "name": "antarchy:mob/ant/ant_gather1" + }, + { + "name": "antarchy:mob/ant/ant_gather2" + } + ] + }, + "ant_nest": { + "subtitle": "subtitles.antarchy.ant_nest", + "sounds": [ + { + "name": "antarchy:block/ant_nest_exit" + } + ] + }, + "cloud_shark_bite": { + "subtitle": "subtitles.antarchy.cloud_shark_bite", + "sounds": [ + { + "name": "antarchy:mob/cloud_shark/cloud_shark_bite" + } + ] + }, + "cloud_shark_idle": { + "subtitle": "subtitles.antarchy.cloud_shark_idle", + "sounds": [ + { + "name": "antarchy:mob/cloud_shark/cloud_shark_idle1" + }, + { + "name": "antarchy:mob/cloud_shark/cloud_shark_idle2" + }, + { + "name": "antarchy:mob/cloud_shark/cloud_shark_idle3" + }, + { + "name": "antarchy:mob/cloud_shark/cloud_shark_idle4" + } + ] + }, + "cloud_shark_hurt": { + "subtitle": "subtitles.antarchy.cloud_shark_hurt", + "sounds": [ + { + "name": "antarchy:mob/cloud_shark/cloud_shark_hurt" + } + ] + }, + "cloud_shark_death": { + "subtitle": "subtitles.antarchy.cloud_shark_death", + "sounds": [ + { + "name": "antarchy:mob/cloud_shark/cloud_shark_death" + } + ] + }, + "cloud_shark_fly": { + "subtitle": "subtitles.antarchy.cloud_shark_fly", + "sounds": [ + { + "name": "antarchy:mob/cloud_shark/cloud_shark_fly1" + } + ] + }, + "caterpillar_idle": { + "subtitle": "subtitles.antarchy.caterpillar_idle", + "sounds": [ + { + "name": "antarchy:mob/caterpillar/caterpillar_idle1" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_idle2" + } + ] + }, + "caterpillar_hurt": { + "subtitle": "subtitles.antarchy.caterpillar_hurt", + "sounds": [ + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt1" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt2" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt3" + } + ] + }, + "caterpillar_crawl": { + "subtitle": "subtitles.antarchy.caterpillar_crawl", + "sounds": [ + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl1" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl2" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl3" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl4" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl5" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_crawl6" + } + ] + }, + "butterfly_hurt": { + "subtitle": "subtitles.antarchy.butterfly_hurt", + "sounds": [ + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt1" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt2" + }, + { + "name": "antarchy:mob/caterpillar/caterpillar_hurt3" + } + ] + }, + "brutalfly_idle": { + "subtitle": "subtitles.antarchy.brutalfly_idle", + "sounds": [ + { + "name": "antarchy:mob/brutalfly/brutalfly_idle1" + }, + { + "name": "antarchy:mob/brutalfly/brutalfly_idle2" + }, + { + "name": "antarchy:mob/brutalfly/brutalfly_idle3" + } + ] + }, + "brutalfly_death": { + "subtitle": "subtitles.antarchy.brutalfly_death", + "sounds": [ + { + "name": "antarchy:mob/brutalfly/brutalfly_death1" + } + ] + }, + "missile_squid_ambient": { + "subtitle": "subtitles.antarchy.missile_squid_ambient", + "sounds": [ + { + "name": "entity.squid.ambient", + "type": "event" + } + ] + }, + "missile_squid_hurt": { + "subtitle": "subtitles.antarchy.missile_squid_hurt", + "sounds": [ + { + "name": "entity.squid.hurt", + "type": "event" + } + ] + }, + "missile_squid_death": { + "subtitle": "subtitles.antarchy.missile_squid_death", + "sounds": [ + { + "name": "entity.squid.death", + "type": "event" + } + ] + }, + "missile_squid_attack": { + "subtitle": "subtitles.antarchy.missile_squid_attack", + "sounds": [ + { + "name": "antarchy:mob/missile_squid/missile_squid_attack1" + }, + { + "name": "antarchy:mob/missile_squid/missile_squid_attack2" + }, + { + "name": "antarchy:mob/missile_squid/missile_squid_attack3" + } + ] + }, + "kraken_flying_loop": { + "subtitle": "subtitles.antarchy.kraken_flying_loop", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_flying_loop1", + "stream": true + }, + { + "name": "antarchy:mob/kraken/kraken_flying_loop2", + "stream": true + } + ] + }, + "kraken_flying_sideways_loop": { + "subtitle": "subtitles.antarchy.kraken_flying_sideways_loop", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_flying_sideways_loop1", + "stream": true + }, + { + "name": "antarchy:mob/kraken/kraken_flying_sideways_loop2", + "stream": true + } + ] + }, + "kraken_attack": { + "subtitle": "subtitles.antarchy.kraken_attack", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_attack1" + } + ] + }, + "kraken_spin": { + "subtitle": "subtitles.antarchy.kraken_spin", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_spin" + } + ] + }, + "kraken_roar": { + "subtitle": "subtitles.antarchy.kraken_roar", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_roar" + } + ] + }, + "kraken_summon": { + "subtitle": "subtitles.antarchy.kraken_summon", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_spawn" + } + ] + }, + "kraken_hurt": { + "subtitle": "subtitles.antarchy.kraken_hurt", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_hurt1" + }, + { + "name": "antarchy:mob/kraken/kraken_hurt2" + } + ] + }, + "kraken_death": { + "subtitle": "subtitles.antarchy.kraken_death", + "sounds": [ + { + "name": "antarchy:mob/kraken/kraken_death" + } + ] + }, + "basilisk_idle_loop": { + "subtitle": "subtitles.antarchy.basilisk_idle_loop", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_idle_loop1", + "stream": true + }, + { + "name": "antarchy:mob/basilisk/basilisk_idle_loop2", + "stream": true + } + ] + }, + "basilisk_slither_loop": { + "subtitle": "subtitles.antarchy.basilisk_slither_loop", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_slither_loop1", + "stream": true + }, + { + "name": "antarchy:mob/basilisk/basilisk_slither_loop2", + "stream": true + } + ] + }, + "basilisk_bite": { + "subtitle": "subtitles.antarchy.basilisk_bite", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_bite" + } + ] + }, + "basilisk_hiss": { + "subtitle": "subtitles.antarchy.basilisk_hiss", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_hiss" + } + ] + }, + "basilisk_hurt": { + "subtitle": "subtitles.antarchy.basilisk_hurt", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_hurt1" + }, + { + "name": "antarchy:mob/basilisk/basilisk_hurt2" + } + ] + }, + "basilisk_death": { + "subtitle": "subtitles.antarchy.basilisk_death", + "sounds": [ + { + "name": "antarchy:mob/basilisk/basilisk_death" + } + ] + }, + "bomber_walk": { + "subtitle": "subtitles.antarchy.bomber_walk", + "sounds": [ + { + "name": "antarchy:mob/bomber/walk1" + }, + { + "name": "antarchy:mob/bomber/walk2" + }, + { + "name": "antarchy:mob/bomber/walk3" + }, + { + "name": "antarchy:mob/bomber/walk4" + } + ] + }, + "bomber_knock": { + "subtitle": "subtitles.antarchy.bomber_knock", + "sounds": [ + { + "name": "antarchy:mob/bomber/knock1" + }, + { + "name": "antarchy:mob/bomber/knock2" + }, + { + "name": "antarchy:mob/bomber/knock3" + }, + { + "name": "antarchy:mob/bomber/knock4" + }, + { + "name": "antarchy:mob/bomber/knock5" + } + ] + }, + "bomber_explode": { + "subtitle": "subtitles.antarchy.bomber_explode", + "sounds": [ + { + "name": "antarchy:mob/bomber/explode1" + }, + { + "name": "antarchy:mob/bomber/explode2" + } + ] + }, + "toreterror_idle": { + "subtitle": "subtitles.antarchy.toreterror_idle", + "sounds": [ + { + "name": "antarchy:mob/toreterror/idle1" + }, + { + "name": "antarchy:mob/toreterror/idle2" + }, + { + "name": "antarchy:mob/toreterror/idle3" + } + ] + }, + "toreterror_hurt": { + "subtitle": "subtitles.antarchy.toreterror_hurt", + "sounds": [ + { + "name": "antarchy:mob/toreterror/hurt1" + }, + { + "name": "antarchy:mob/toreterror/hurt2" + }, + { + "name": "antarchy:mob/toreterror/hurt3" + } + ] + }, + "toreterror_death": { + "subtitle": "subtitles.antarchy.toreterror_death", + "sounds": [ + { + "name": "antarchy:mob/toreterror/death" + } + ] + }, + "toreterror_bomber_fire": { + "subtitle": "subtitles.antarchy.toreterror_bomber_fire", + "sounds": [ + { + "name": "antarchy:mob/toreterror/bomber_fire1" + }, + { + "name": "antarchy:mob/toreterror/bomber_fire2" + } + ] + }, + "toreterror_spin": { + "subtitle": "subtitles.antarchy.toreterror_spin", + "sounds": [ + { + "name": "antarchy:mob/toreterror/spin" + } + ] + }, + "toreterror_ricochet": { + "subtitle": "subtitles.antarchy.toreterror_ricochet", + "sounds": [ + { + "name": "antarchy:mob/toreterror/richochet1" + }, + { + "name": "antarchy:mob/toreterror/richochet2" + }, + { + "name": "antarchy:mob/toreterror/richochet3" + } + ] + }, + "water_cannon_fire": { + "subtitle": "subtitles.antarchy.water_cannon_fire", + "sounds": [ + { + "name": "antarchy:mob/toreterror/water_cannon1" + }, + { + "name": "antarchy:mob/toreterror/water_cannon2" + }, + { + "name": "antarchy:mob/toreterror/water_cannon3" + }, + { + "name": "antarchy:mob/toreterror/water_cannon4" + } + ] + }, + "toreterror_jump_up": { + "subtitle": "subtitles.antarchy.toreterror_jump_up", + "sounds": [ + { + "name": "antarchy:mob/toreterror/jump_up1" + }, + { + "name": "antarchy:mob/toreterror/jump_up2" + } + ] + }, + "toreterror_jump_land": { + "subtitle": "subtitles.antarchy.toreterror_jump_land", + "sounds": [ + { + "name": "antarchy:mob/toreterror/jump_land1" + }, + { + "name": "antarchy:mob/toreterror/jump_land2" + } + ] + }, + "stinky_fly": { + "subtitle": "subtitles.antarchy.stinky_fly", + "sounds": [ + { + "name": "antarchy:effect/stinky/stinky_flies1" + }, + { + "name": "antarchy:effect/stinky/stinky_flies2" + }, + { + "name": "antarchy:effect/stinky/stinky_flies3" + }, + { + "name": "antarchy:effect/stinky/stinky_flies4" + }, + { + "name": "antarchy:effect/stinky/stinky_flies5" + }, + { + "name": "antarchy:effect/stinky/stinky_flies6" + }, + { + "name": "antarchy:effect/stinky/stinky_flies7" + }, + { + "name": "antarchy:effect/stinky/stinky_flies8" + } + ] + }, + "thoraxis_nightmare_wastes_ambient": { + "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_ambient", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/ambience_reversed", + "volume": 0.28, + "weight": 4 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/dark1_reversed", + "volume": 0.24, + "weight": 2 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/dark2_reversed", + "volume": 0.24, + "weight": 2 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground1_reversed", + "volume": 0.2, + "weight": 1 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground2_reversed", + "volume": 0.2, + "weight": 1 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground3_reversed", + "volume": 0.2, + "weight": 1 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/ground4_reversed", + "volume": 0.2, + "weight": 1 + } + ] + }, + "thoraxis_nightmare_wastes_additions": { + "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_additions", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition1_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition2_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition3_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition4_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition5_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition6_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition7_reversed", + "volume": 0.6 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/addition8_reversed", + "volume": 0.6 + } + ] + }, + "thoraxis_nightmare_wastes_mood": { + "subtitle": "subtitles.antarchy.thoraxis_nightmare_wastes_mood", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood1_reversed", + "volume": 0.5 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood2_reversed", + "volume": 0.5 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood3_reversed", + "volume": 0.5 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood4_reversed", + "volume": 0.5 + }, + { + "name": "antarchy:ambient/thoraxis/nightmare_wastes/mood5_reversed", + "volume": 0.5 + } + ] + }, + "thoraxis_dream_dunes_ambient": { + "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_ambient", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/dream_dunes/wind1_reversed", + "volume": 0.3, + "weight": 3 + }, + { + "name": "antarchy:ambient/thoraxis/dream_dunes/wind2_reversed", + "volume": 0.3, + "weight": 3 + }, + { + "name": "antarchy:ambient/thoraxis/dream_dunes/wind3_reversed", + "volume": 0.3, + "weight": 3 + }, + { + "name": "antarchy:ambient/thoraxis/dream_dunes/wind4_reversed", + "volume": 0.3, + "weight": 3 + }, + { + "name": "antarchy:ambient/thoraxis/dream_dunes/with1_reversed", + "volume": 0.24, + "weight": 2 + } + ] + }, + "thoraxis_dream_dunes_additions": { + "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_additions", + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/sand1", + "volume": 0.65, + "weight": 3 + }, + { + "name": "ambient/nether/soulsand_valley/sand2", + "volume": 0.65, + "weight": 3 + }, + { + "name": "ambient/nether/soulsand_valley/sand3", + "volume": 0.65, + "weight": 3 + }, + { + "name": "ambient/nether/soulsand_valley/ambience", + "volume": 0.5, + "weight": 2 + }, + { + "name": "ambient/nether/soulsand_valley/mood1", + "volume": 0.45, + "weight": 1 + }, + { + "name": "ambient/nether/soulsand_valley/mood2", + "volume": 0.45, + "weight": 1 + } + ] + }, + "thoraxis_dream_dunes_mood": { + "subtitle": "subtitles.antarchy.thoraxis_dream_dunes_mood", + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/mood1", + "volume": 0.45, + "weight": 2 + }, + { + "name": "ambient/nether/soulsand_valley/mood2", + "volume": 0.45, + "weight": 2 + } + ] + }, + "thoraxis_lucid_pools_ambient": { + "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_ambient", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/lucid_pools/ambient", + "volume": 0.26, + "weight": 4 + } + ] + }, + "thoraxis_lucid_pools_additions": { + "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_additions", + "sounds": [ + { + "name": "antarchy:ambient/thoraxis/lucid_pools/curse1", + "volume": 0.48 + }, + { + "name": "antarchy:ambient/thoraxis/lucid_pools/curse2", + "volume": 0.48 + }, + { + "name": "antarchy:ambient/thoraxis/lucid_pools/curse3", + "volume": 0.48 + }, + { + "name": "antarchy:ambient/thoraxis/lucid_pools/curse4", + "volume": 0.48 + } + ] + }, + "thoraxis_lucid_pools_mood": { + "subtitle": "subtitles.antarchy.thoraxis_lucid_pools_mood", + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/mood1", + "volume": 0.45, + "weight": 2 + }, + { + "name": "ambient/nether/soulsand_valley/mood2", + "volume": 0.45, + "weight": 2 + } + ] + }, + "lucid_ambient": { + "subtitle": "subtitles.antarchy.lucid_ambient", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_ambience", + "stream": true + } + ] + }, + "lucid_flying": { + "subtitle": "subtitles.antarchy.lucid_flying", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_flying", + "stream": true + } + ] + }, + "lucid_attack": { + "subtitle": "subtitles.antarchy.lucid_attack", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_attack" + } + ] + }, + "lucid_bolt": { + "subtitle": "subtitles.antarchy.lucid_bolt", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_bolt" + } + ] + }, + "lucid_hurt": { + "subtitle": "subtitles.antarchy.lucid_hurt", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_hurt1" + }, + { + "name": "antarchy:mob/lucid/lucid_hurt2" + } + ] + }, + "lucid_death": { + "subtitle": "subtitles.antarchy.lucid_death", + "sounds": [ + { + "name": "antarchy:mob/lucid/lucid_death" + } + ] + }, + "reverie_idle": { + "subtitle": "subtitles.antarchy.reverie_idle", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_idle1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_idle2", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_idle3", + "volume": 0.5 + } + ] + }, + "reverie_hurt": { + "subtitle": "subtitles.antarchy.reverie_hurt", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_hurt1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_hurt2", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_hurt3", + "volume": 0.5 + } + ] + }, + "reverie_worry": { + "subtitle": "subtitles.antarchy.reverie_worry", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_worry1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_worry2", + "volume": 0.5 + } + ] + }, + "reverie_save": { + "subtitle": "subtitles.antarchy.reverie_save", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_save1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_save2", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_save3", + "volume": 0.5 + } + ] + }, + "reverie_join_player": { + "subtitle": "subtitles.antarchy.reverie_join_player", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_joinplayer1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_joinplayer2", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_joinplayer3", + "volume": 0.5 + } + ] + }, + "reverie_alert": { + "subtitle": "subtitles.antarchy.reverie_alert", + "sounds": [ + { + "name": "antarchy:mob/reverie/reverie_alert1", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_alert2", + "volume": 0.5 + }, + { + "name": "antarchy:mob/reverie/reverie_alert3", + "volume": 0.5 + } + ] + }, + "flying_squirrel_idle": { + "subtitle": "subtitles.antarchy.flying_squirrel_idle", + "sounds": [ + { + "name": "antarchy:mob/flying_squirrel/flying_squirrel_idle1" + }, + { + "name": "minecraft:mob/fox/sniff1" + }, + { + "name": "minecraft:mob/fox/sniff2" + }, + { + "name": "minecraft:mob/fox/sniff4" + } + ] + }, + "flying_squirrel_beg": { + "subtitle": "subtitles.antarchy.flying_squirrel_beg", + "sounds": [ + { + "name": "entity.cat.beg_for_food", + "type": "event" + } + ] + }, + "flying_squirrel_nut": { + "subtitle": "subtitles.antarchy.flying_squirrel_nut", + "sounds": [ + { + "name": "minecraft:mob/fox/eat1" + }, + { + "name": "minecraft:mob/fox/eat2" + }, + { + "name": "minecraft:mob/fox/eat3" + } + ] + }, + "flying_squirrel_glide_loop": { + "subtitle": "subtitles.antarchy.flying_squirrel_glide_loop", + "sounds": [ + { + "name": "antarchy:mob/flying_squirrel/flying_squirrel_glide_loop" + } + ] + }, + "flying_squirrel_hurt": { + "subtitle": "subtitles.antarchy.flying_squirrel_hurt", + "sounds": [ + { + "name": "minecraft:mob/fox/hurt1" + }, + { + "name": "minecraft:mob/fox/hurt2" + }, + { + "name": "minecraft:mob/fox/hurt3" + }, + { + "name": "minecraft:mob/fox/hurt4" + } + ] + }, + "flying_squirrel_death": { + "subtitle": "subtitles.antarchy.flying_squirrel_death", + "sounds": [ + { + "name": "minecraft:mob/fox/death1" + }, + { + "name": "minecraft:mob/fox/death2" + } + ] + }, + "nightmare_idle": { + "subtitle": "subtitles.antarchy.nightmare_idle", + "sounds": [ + { + "name": "antarchy:mob/nightmare/nightmare_idle1" + }, + { + "name": "antarchy:mob/nightmare/nightmare_idle2" + }, + { + "name": "antarchy:mob/nightmare/nightmare_idle3" + }, + { + "name": "antarchy:mob/nightmare/nightmare_idle4" + } + ] + }, + "nightmare_hurt": { + "subtitle": "subtitles.antarchy.nightmare_hurt", + "sounds": [ + { + "name": "antarchy:mob/nightmare/nightmare_hurt1" + } + ] + }, + "nightmare_roar": { + "subtitle": "subtitles.antarchy.nightmare_roar", + "sounds": [ + { + "name": "antarchy:mob/nightmare/nightmare_roar1" + }, + { + "name": "antarchy:mob/nightmare/nightmare_roar2" + } + ] + }, + "nightmare_death": { + "subtitle": "subtitles.antarchy.nightmare_death", + "sounds": [ + { + "name": "antarchy:mob/nightmare/nightmare_death" + } + ] + }, + "nightmare_bite": { + "subtitle": "subtitles.antarchy.nightmare_bite", + "sounds": [ + { + "name": "minecraft:mob/phantom/bite1" + }, + { + "name": "minecraft:mob/phantom/bite2" + } + ] + }, + "nightmare_flap": { + "subtitle": "subtitles.antarchy.nightmare_flap", + "sounds": [ + { + "name": "minecraft:mob/enderdragon/wings1" + }, + { + "name": "minecraft:mob/enderdragon/wings2" + }, + { + "name": "minecraft:mob/enderdragon/wings3" + }, + { + "name": "minecraft:mob/enderdragon/wings4" + }, + { + "name": "minecraft:mob/enderdragon/wings5" + }, + { + "name": "minecraft:mob/enderdragon/wings6" + } + ] + }, + "mantis_ambient": { + "subtitle": "subtitles.antarchy.mantis_ambient", + "sounds": [ + { + "name": "antarchy:mob/mantis/mantis_idle1" + }, + { + "name": "antarchy:mob/mantis/mantis_idle2" + }, + { + "name": "antarchy:mob/mantis/mantis_idle3" + }, + { + "name": "antarchy:mob/mantis/mantis_idle4" + }, + { + "name": "antarchy:mob/mantis/mantis_idle5" + }, + { + "name": "antarchy:mob/mantis/mantis_idle6" + }, + { + "name": "antarchy:mob/mantis/mantis_idle7" + } + ] + }, + "mantis_hurt": { + "subtitle": "subtitles.antarchy.mantis_hurt", + "sounds": [ + { + "name": "antarchy:mob/mantis/mantis_hurt1" + }, + { + "name": "antarchy:mob/mantis/mantis_hurt2" + }, + { + "name": "antarchy:mob/mantis/mantis_hurt3" + } + ] + }, + "mantis_attack": { + "subtitle": "subtitles.antarchy.mantis_attack", + "sounds": [ + { + "name": "antarchy:mob/mantis/mantis_attack1" + }, + { + "name": "antarchy:mob/mantis/mantis_attack2" + }, + { + "name": "antarchy:mob/mantis/mantis_attack3" + }, + { + "name": "antarchy:mob/mantis/mantis_attack4" + } + ] + }, + "mantis_fly_loop": { + "subtitle": "subtitles.antarchy.mantis_fly_loop", + "sounds": [ + { + "name": "antarchy:mob/mantis/mantis_fly_loop", + "stream": true + } + ] + }, + "gravity_gun_pickup": { + "subtitle": "subtitles.antarchy.gravity_gun_pickup", + "sounds": [ + { + "name": "antarchy:gravity_gun/gravity_gun_pickup" + } + ] + }, + "gravity_gun_drop": { + "subtitle": "subtitles.antarchy.gravity_gun_drop", + "sounds": [ + { + "name": "antarchy:gravity_gun/gravity_gun_drop" + } + ] + }, + "gravity_gun_hold_loop": { + "subtitle": "subtitles.antarchy.gravity_gun_hold_loop", + "sounds": [ + { + "name": "antarchy:gravity_gun/gravity_gun_hold_loop" + } + ] + }, + "gravity_gun_launch": { + "subtitle": "subtitles.antarchy.gravity_gun_launch", + "sounds": [ + { + "name": "antarchy:gravity_gun/gravity_gun_launch1" + }, + { + "name": "antarchy:gravity_gun/gravity_gun_launch2" + }, + { + "name": "antarchy:gravity_gun/gravity_gun_launch3" + }, + { + "name": "antarchy:gravity_gun/gravity_gun_launch4" + } + ] + }, + "gravity_gun_dryfire": { + "subtitle": "subtitles.antarchy.gravity_gun_dryfire", + "sounds": [ + { + "name": "antarchy:gravity_gun/gravity_gun_dryfire" + } + ] + }, + "bed_bug_ambient": { + "subtitle": "subtitles.antarchy.bed_bug_ambient", + "sounds": [ + { + "name": "antarchy:mob/bed_bug/bed_bug_ambient1" + }, + { + "name": "antarchy:mob/bed_bug/bed_bug_ambient2" + } + ] + }, + "bed_bug_hurt": { + "subtitle": "subtitles.antarchy.bed_bug_hurt", + "sounds": [ + { + "name": "antarchy:mob/bed_bug/bed_bug_hurt1" + }, + { + "name": "antarchy:mob/bed_bug/bed_bug_hurt2" + } + ] + }, + "bed_bug_attack": { + "subtitle": "subtitles.antarchy.bed_bug_attack", + "sounds": [ + { + "name": "antarchy:mob/bed_bug/bed_bug_attack1" + } + ] + }, + "wasp_idle": { + "subtitle": "subtitles.antarchy.wasp_idle", + "sounds": [ + { + "name": "antarchy:mob/wasp/buzz1" + }, + { + "name": "antarchy:mob/wasp/buzz2" + } + ] + }, + "wasp_hurt": { + "subtitle": "subtitles.antarchy.wasp_hurt", + "sounds": [ + { + "name": "antarchy:mob/wasp/hurt1" + }, + { + "name": "antarchy:mob/wasp/hurt2" + }, + { + "name": "antarchy:mob/wasp/hurt3" + } + ] + }, + "wasp_attack": { + "subtitle": "subtitles.antarchy.wasp_attack", + "sounds": [ + { + "name": "antarchy:mob/wasp/attack1" + }, + { + "name": "antarchy:mob/wasp/attack2" + }, + { + "name": "antarchy:mob/wasp/attack3" + }, + { + "name": "antarchy:mob/wasp/attack4" + }, + { + "name": "antarchy:mob/wasp/attack5" + } + ] + }, + "wasp_death": { + "subtitle": "subtitles.antarchy.wasp_death", + "sounds": [ + { + "name": "antarchy:mob/wasp/death1" + }, + { + "name": "antarchy:mob/wasp/death2" + } + ] + }, + "scorpion_ambient": { + "subtitle": "subtitles.antarchy.scorpion_ambient", + "sounds": [ + { + "name": "antarchy:mob/scorpion/scorpion_ambient1" + } + ] + }, + "scorpion_hurt": { + "subtitle": "subtitles.antarchy.scorpion_hurt", + "sounds": [ + { + "name": "antarchy:mob/scorpion/scorpion_hurt1" + }, + { + "name": "antarchy:mob/scorpion/scorpion_hurt2" + }, + { + "name": "antarchy:mob/scorpion/scorpion_hurt3" + } + ] + }, + "scorpion_attack": { + "subtitle": "subtitles.antarchy.scorpion_attack", + "sounds": [ + { + "name": "antarchy:mob/scorpion/scorpion_attack1" + }, + { + "name": "antarchy:mob/scorpion/scorpion_attack2" + } + ] + }, + "emperor_scorpion_ambient": { + "subtitle": "subtitles.antarchy.emperor_scorpion_ambient", + "sounds": [ + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_ambient1" + } + ] + }, + "emperor_scorpion_hurt": { + "subtitle": "subtitles.antarchy.emperor_scorpion_hurt", + "sounds": [ + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt1" + }, + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt2" + }, + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_hurt3" + } + ] + }, + "emperor_scorpion_attack": { + "subtitle": "subtitles.antarchy.emperor_scorpion_attack", + "sounds": [ + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_attack1" + } + ] + }, + "emperor_scorpion_roar": { + "subtitle": "subtitles.antarchy.emperor_scorpion_roar", + "sounds": [ + { + "name": "antarchy:mob/emperor_scorpion/emperor_scorpion_roar1" + } + ] + }, + "moleworm_ambient": { + "subtitle": "subtitles.antarchy.moleworm_ambient", + "sounds": [ + { + "name": "antarchy:mob/moleworm/moleworm_idle1" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle2" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle3" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle4" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle5" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle6" + }, + { + "name": "antarchy:mob/moleworm/moleworm_idle7" + } + ] + }, + "moleworm_hurt": { + "subtitle": "subtitles.antarchy.moleworm_hurt", + "sounds": [ + { + "name": "antarchy:mob/moleworm/moleworm_hurt1" + }, + { + "name": "antarchy:mob/moleworm/moleworm_hurt2" + }, + { + "name": "antarchy:mob/moleworm/moleworm_hurt3" + } + ] + }, + "moleworm_attack": { + "subtitle": "subtitles.antarchy.moleworm_attack", + "sounds": [ + { + "name": "antarchy:mob/moleworm/moleworm_attack1" + }, + { + "name": "antarchy:mob/moleworm/moleworm_attack2" + } + ] + }, + "moleworm_dig": { + "subtitle": "subtitles.antarchy.moleworm_dig", + "sounds": [ + { + "name": "antarchy:mob/moleworm/moleworm_dig1" + }, + { + "name": "antarchy:mob/moleworm/moleworm_dig2" + }, + { + "name": "antarchy:mob/moleworm/moleworm_dig3" + } + ] + }, + "molevore_ambient": { + "subtitle": "subtitles.antarchy.molevore_ambient", + "sounds": [ + { + "name": "antarchy:mob/molevore/molevore_idle1" + }, + { + "name": "antarchy:mob/molevore/molevore_idle2" + }, + { + "name": "antarchy:mob/molevore/molevore_idle3" + } + ] + }, + "molevore_hurt": { + "subtitle": "subtitles.antarchy.molevore_hurt", + "sounds": [ + { + "name": "antarchy:mob/molevore/molevore_hurt1" + }, + { + "name": "antarchy:mob/molevore/molevore_hurt2" + }, + { + "name": "antarchy:mob/molevore/molevore_hurt3" + } + ] + }, + "molevore_attack": { + "subtitle": "subtitles.antarchy.molevore_attack", + "sounds": [ + { + "name": "antarchy:mob/molevore/molevore_attack1" + }, + { + "name": "antarchy:mob/molevore/molevore_attack2" + }, + { + "name": "antarchy:mob/molevore/molevore_attack3" + } + ] + }, + "molevore_dig": { + "subtitle": "subtitles.antarchy.molevore_dig", + "sounds": [ + { + "name": "antarchy:mob/molevore/molevore_dig1" + } + ] + }, + "duct_tape_use": { + "subtitle": "subtitles.antarchy.duct_tape_use", + "sounds": [ + { + "name": "antarchy:block/duct_tape/duct_tape1" + }, + { + "name": "antarchy:block/duct_tape/duct_tape2" + }, + { + "name": "antarchy:block/duct_tape/duct_tape3" + }, + { + "name": "antarchy:block/duct_tape/duct_tape4" + }, + { + "name": "antarchy:block/duct_tape/duct_tape5" + }, + { + "name": "antarchy:block/duct_tape/duct_tape6" + }, + { + "name": "antarchy:block/duct_tape/duct_tape7" + }, + { + "name": "antarchy:block/duct_tape/duct_tape8" + } + ] + }, + "potent_nyxite_hypnotic_gas": { + "subtitle": "subtitles.antarchy.potent_nyxite_hypnotic_gas", + "sounds": [ + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient1" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient2" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient3" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient4" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient5" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient6" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient7" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient8" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient9" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient10" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient11" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient12" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient13" + }, + { + "name": "antarchy:block/potent_nyxite/hypnotic_gas/ambient14" + } + ] + }, + "potent_nyxite_geyser_eruption_start": { + "subtitle": "subtitles.antarchy.potent_nyxite_geyser_eruption", + "sounds": [ + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption1" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption2" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption3" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption4" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption5" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption6" + } + ] + }, + "potent_nyxite_geyser_eruption_active": { + "subtitle": "subtitles.antarchy.potent_nyxite_geyser_eruption", + "sounds": [ + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active1" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active2" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active3" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active4" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active5" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active6" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active7" + } + ] + }, + "potent_nyxite_geyser_continuous_start": { + "subtitle": "subtitles.antarchy.potent_nyxite_geyser_continuous", + "sounds": [ + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption1" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption2" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption3" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption4" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption5" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption6" + } + ] + }, + "potent_nyxite_geyser_continuous_active": { + "subtitle": "subtitles.antarchy.potent_nyxite_geyser_continuous", + "sounds": [ + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active1" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active2" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active3" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active4" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active5" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active6" + }, + { + "name": "antarchy:block/potent_nyxite/geyser_continuous/eruption_active7" + } + ] + }, + "ambient.elythia.firefly": { + "sounds": [ + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush1", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush2", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush3", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush4", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush5", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush6", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush7", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush8", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush9", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush10", + "stream": false + }, + { + "name": "antarchy:ambient/elythia/firefly/firefly_bush11", + "stream": false + } + ] + }, + "triffid_attack": { + "subtitle": "subtitles.antarchy.triffid_attack", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_attack1" + } + ] + }, + "triffid_grab": { + "subtitle": "subtitles.antarchy.triffid_grab", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_grab1" + } + ] + }, + "triffid_hurt": { + "subtitle": "subtitles.antarchy.triffid_hurt", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_hurt1" + }, + { + "name": "antarchy:mob/triffid/triffid_hurt2" + }, + { + "name": "antarchy:mob/triffid/triffid_hurt3" + } + ] + }, + "triffid_death": { + "subtitle": "subtitles.antarchy.triffid_death", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_hurt3" + } + ] + }, + "triffid_hiss": { + "subtitle": "subtitles.antarchy.triffid_hiss", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_hiss1" + } + ] + }, + "triffid_growl": { + "subtitle": "subtitles.antarchy.triffid_growl", + "sounds": [ + { + "name": "antarchy:mob/triffid/triffid_growl1" + }, + { + "name": "antarchy:mob/triffid/triffid_growl2" + } + ] + } } diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite1.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite1.ogg deleted file mode 100644 index fd89b0487e521cfe2d30c556e37a017438ab5df7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23450 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 J1SGf~U;^n22zmej diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite3.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite3.ogg deleted file mode 100644 index 1f44cc93e95df6b24df7ed38d51bfce6c5c357ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21421 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 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite4.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_bite4.ogg deleted file mode 100644 index 3fa77eaa6337e919acf3feff291925cfb1d0e02c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25011 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 Mvy011%m(iN2Z4-;CjbBd diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl1.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl1.ogg deleted file mode 100644 index 746f4f3a4f12fa2a8a48bda87760c93d78d1678c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16000 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 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl2.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/creeping_horror/creeping_horror_growl2.ogg deleted file mode 100644 index a60677ea8ab573bd18ba4a69cf50273e7328d442..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7731 zcmaiZ2|SeF_y1$bmXM`X(uj#s%GjrbNEn8UEJOAsyRxN1$}S`(Y3$3`x2#2Iv+vs= zS)wSkXd%n+zt8x5zTeOP`}@7Vzvp%5zV36+bI-ZwocB4;xzFfbxncm(Lw{WvXLkm2 zIb7H21nGP|JZ+r3;3>MG`oA8zPDdL&rPG5~{_BEQ!W4YVsxjC3?f>s;XV_sR1L!7B zR~=94d0s)dI@uV}*dw$MQj$`VlJb%=2r<09osX@P`xS(`yRVa{hr64-yEh6JLbq#& z2TE1Vhz?=_GiV(|b5LKLAp~(jkd+9EBf&unMJ8s7-AE#8!lP!%$RuK9Grw&#y5;W< zA!Ek}L5xt47;9|yoR)JB<_f=PtY-$sNmn5c!5pPOjbVND` z0tQmi6bj|V!<|ipP#8bx!Ua6rgz{26*~IfR?y^a>A%b-2DY9XK?peCg8 zfLH4YZ|4(%?tT%yA1CyAWc#Jn4KCpf!R2Fa>}x;b>oejTKu8KTdm2D^8frEgYQ7q3 z%^&tx`x7v=3OAbS2s$W37?U`Q$~t;5YX+0W5E52Q581&cL9oUjMa5@peHbY}tBEp!J%FI$osJ^8_=^ z!fg=nsS5r?v!{%PmrSddB4`@k=i7-o-M@4=|8@fGb_h~I3p8I7Xb0B7OALC-8hf1` z@xqM&Q@|Ga@7Em~UVtJ(sSb(GK`hd7)-hOcVlQ9|f-m9^h?2eU z(lkdvPzV%Af+Q@-vjdd}qT-*9`!3SE_i+C|TJN%eJ~tAy zekln9>9dBH42^x=2#KV}5D1zOT1*mcqS37>!Mduf zI}ZLka<1{VJ`iYsAfjC%f*Ux|{X<6Yr%XSOy1op~fX}?2&u4I-y@8zhpsf9%q5ZJ0 z{aB5?S#1EJ=C6R+37e@ApMOLS93n?Cv9p@-jQ@_D46)c5g;-&&co9PUu^Wk3B1r|0 z(>@nuvHeHnI7a0qMdd|A%}2zFMJ75$k_w+?xptH;*8QLDUy-BXDFPaZ9Cc5Te?-m; zw166jriv4|pF299?FR<+R^R_m2SCt^ICgDX9?{234C7^o@e+oY&i?m^0n}j`+@K6F z>_Z4T071gQ$st@(o^h(~XH8hpb0WJkF-)0n_(Srzq}efhj(W$P6FvJh9`l<0=QLi7 z@4QZM3{pN8vFBCpWv!12EFkSMLi!LCgl;rHy(YR@>|gJw-7wqZoc2?JUvi9~*B z6f&3Fb~Yt@K&w56$gdrhn!{}ySppV8%;2{>voDU1PK6hOY}oN^s8Axl2Q?Rm??8VP zz+*9aDF!_lmct<(Xr|O)E)-e7pa<0|5Ylz-V@hz}IWY)Ayr2U=RWTVmb%;w8n!YO1 zn;@gji`3>(@8z{0;lYhOl%MOvD*h zyYVNX=zc#5=^ZtS!}tsSSRV9 zi|WiRTBs|it8-thyVh0XCXijY&?w&ds=TA(+hX0RDjy+zL!Swv`K&R}!_D$~n%Qb- zh1;2?l8p|)VBim?*F)eLSXSwN2+XzoJg#i55KF#70y`}%NiHl}tZ+a6x_D7l-!Q=Z zq5YJ+Ibpy1lzgn&NK97YLY;VLBM^js*Ww{iFDYO?E(Zvy6(zd^Y}-~@dtJs`u5Fy2 zUGd2-V`pu>53oT8V}qwdB~$1)eUJhj#3VG&YrrMmjPT~dFCcO*p_zodbg|6>#EV#G zA>xpD3*u6&R$EE}H`WnF9KbVYk}qOiGKmzt%ahz8n=go*eOM<6;()1hLCcV7^j=#o zsrekc9xYaK6-)rE<}-3QRI%h7UTv&|Q5OJm_P{yKf*fuGt%7R6ik!1g8;h>tHFHN( z1i*?MZZj=Z3$KBjL<>o{1p!#K!@_AYJ|+N?_py&HKz^fp7yC*<6Y2A54c-u5_n-YX z0$C@B0a6KKwa4`GfoTb9imJj*|I-U&y?+ zz_$Ee9IE06Yepq_K>Bbo?+4ejI+D|Q=pbQr?>l9c$~ z5FM;&!5v`H5+48sa&wodb4k^x3QI{SMM@h9px{vQCdu?T1TBFLEz$A_5{hGnRQR)j zT+9_Nn=Z^J0U3}P1wuH)TT+5KR9X1IHo&{83j;bXRX_msUS=@p$ixAdfX9ADfH@S| z8zvC(Y!D=V6;wp!`gUG-A7p@>Ne|tCb0!wUoJqWZYC#a=@jx6OBSv_q5%Qiwg3WVUI6Y=ykh@dnEZRh z`oAbq0P3v0M&NDT!heWmrz*d|O}n*q{i{e%+PVEl&HnG|{lAUOTuK1s{@Fn)O>E52 zHuE7P4F%M}-6vojxi~Bh8~W#ps*? zJcv(z+hPzvrY>OXE)u9}icNGius_HU6q|dp6w}?%wEI;kNVEJ}*u$L4SN+p8Ukia^ zTa{*Q_+WqszQ};lB6J=LPz7T|CcY}gDP#rDg>L0_OQ^-TDTSj z5M_X~u<$35?2ewxrC(esL=89w*f&R zj3_9h{6!!7G9%*$ZYef)w$>1@0Vf8CE2NG6L4*lAH&5Z6ESuAi$z`iH<{uGf|2kj(04MBns6u$>?^e71v%WHL+TFZ9Oxb27#b|J;Ghx&fdzz+DubjUH!rZ zb#*lj^$Y4(Z5Xl29zEZcaOWbvb%KMOPZFh|yt{s*{%81`zr%VU%TwOhR^rhyw@LZ8T!ge!T#)^ zq%3l(w^g`X8=GJAN5|fo&2P^xXsd1Wwr{cBXQdp@-gRI1f&-J|dmIj4goI#i{+yBI z+f#)5vX-Q!sKv7Ssv-R+v;E`{O1rJo>Bx^4@|X$iAsr|UMZK-tkRTV3x9LEs6$mEH z+$+2}o&fPFVqhjFZ!|0{5}IOV_05ldy(K4S9ypX3bZu~6FHvxS;VFl`hZfWaDIKJ4 z-+xH_n)>YNqS=u|(u~Br)g$zm?trsD1U=u9^SKomJkj}@%srWUc5J;PH!E_ZD}$dk z#dt_w*M$1@7^f?g#zwupWESUjr8sS}QMDx3&unjjevk|jfD?N0q+m8#P?I8wwAA|) zzTYEK=E^un-0}4bTNvTp!Bvu!o80;yc8HTUANrwyRm69nCAJ0@76aw?rRfl)$9yqy|ouXbHys+VZ@lroH}As=Paic3m6B(OmkV}O)QsoT-gZ^nx55T<%uoTK#k zjPooIID|2*wdp}~cUQCSdH!F1@8Uz(-t0e++1AH&q~*Do=uEXX_`}VMk20;E*H3D99U7%tC|9m| zp7Mx0c2^^Q@XSU*kcMk{eG^AwsPLRDtnKaS-Gn;MpYpxy!~6!)lY#4Rj3u4mEm=(+ zwAlFWvZ8RLMU**R(T}WjIlWToaQWt%RVINb>`48^*PPNOTN^d`StL~ z+<~`;yf^1=SC>Ltr>RW~bYG@WO&jZ`7+fTvTk z&k6+oC%k+;F(%EphE^c@alN zcssSqo9O{{mv49`S-)Mq5kBzieWtw`*Qez^J$tO&`&J(8-h!-B$H)U>+12eOh%nU_~yb9qRbQQ8vF&TwfX zz`MH;P%?Wg`-_3_DtdceWb3PC!B)+epa4$0q+-ihtnzLXVLs$^&q(JMhd-;!%fc)r zM*2n<>eOuF3FR|i)P7MqrDdBJk*_@HE?UFv2E(`47PcD7<^|%qH`1H@e>+=r+$o!5 zw4yF(S4K=E4<~x2L3mYBAGWv2cb)1vxHlLfS3)Akjk6+O9>qe9MO4dN2EP@yxz-Ub z+2;9(<849bnX&6IYc4m1Bl8zhWxU?~uomU296R#pXQ*b$s~ZlFe1DytJLO(vzBlMC zo6n0^QoP&osZT&AzD2dnOI1u$`|~lmsgp#S`NHnk(02#UtPno2o7t^#@>gGqwg2~# z)O@F|R&uTINT0F18A0m#_A22R10?8weG>@PE9} zb4BFLo1>6bnprM?a);syL*X+Et7!$+ttjekDQQ1}9*@{sB?L$&`?RfCAjg)g`{>vp z6}O%bgud-B*h#&-v6TC2KXdKlisejGPCu=9g0I9{vwqBv&}aOTuZX-kdbf&loxYvt z!26~R=D{Z0tJ2LvHxC=59#mxbdbjb+7Ao+McscxVrG8|A*pJdFMN?bXAL=w)`#Vnt ziWZ1AZ;U6&KyFCn;R+V$#fOQ`{hYZTHxSbD)t}vEzI=l8rGx+&d~6<+t^)hBzW zvN9IvQ-j9?4)ddXoQ<2>X2V{_Nj8$E2zUKj@B7x!<8nUQ=kRVPiENME5M8w98@TEd zUUaC}WbM#Xx&tnKj6ti$On(|7$Re3KUxk!^;&pOr&BtlU*g#R+Hh}L?3f@n7yx~;L3%>N;i=Nwo3>S}S6P`}!-S!Qzqz0HGk;BmM zUyt+-1)&HGn{Nj~xW6kiy!JS*J1<);t^z5UQ7sqLBVMZ!Hj6yw!TU<7bP0;Rd=Q51 zr?objle#k&_D>HT;cRZ(cyqfG9(C?bcOQv_VjkH zP{Iq#P=bdBBRDiG)c}(hi{bK|wYnbl$Yj;8feW3pw>Zs=cnS!~VNzQ8k>?A}GkdP} zygq#lfe+V3shfGI2wLiv(2ZrVesVBFp2VKf*v}vmsK5^?J*SqrwMV9IWLDMwGy+z^ zWGwUrIR^j{LDwt4ZZ&SZ%1(uqDes@19a&CI`hBvYdfJEXW}%t6e;vd5p379R?>&+@ z(U`oD=8R8Ceq!eaqIMeVb7=G)mzNBMm|qkexWa%wYx{E3O)0|OrG(z=E-fBce@+P>aATQ zDv=cEJ945~J!l@MTJq$W-yN<|dZk+v{{C#0GpScRZr%Etk2=|F6Xoazmp)eF57L}* zqizD2mFWkYzkh2#i)vi?Q?H;~^ix8mF+_5Myozo5DLCz6=+u%-JrsYjs)@7SJ1QgP zrY`uqLdk66xuTZK;Xozolx2b?Zuz9d!9mD&FE~X&qYIh0yn2p2_a$tn>lU@lUVG55 zFrI3izPMk0{v$VZ-F!r;_db(5i$=U-+{W?7U)MjSezaM6Oj=2$W}!Ervkf;vAX^ks z&nUG~nu=EQYRj@O8oUc1{k(fgz!5$ILU9G$&kM>XLrPsqJ-Ek)-@F%i`R|7f%}}jP zJmiMDo^M$sh$=MdToLlhF*0Tll_Ajm_{COSy;5I&b>bi-s6F9-o7Ks8R6D0^{sL}U zf2rymy^0zwdkktuTlW6mQ}ZpaN6vxUYv1CcQh3ap=lb{hKXPB$Gym{$olBk4;LG)H z)+5lQIN-B8QXyae_adeMmA2=|Rag2r`1KXEyixQaqv&~!?D9K@>6bjH_mio^_D4kO zyM)>|pA=N-u$%faERTL-r-K5IPb{q&L`0_w8Euu04Do&wo^o(JMvDf&t(7%Z&9#Lu z?H}gD?*ubvRmb1A9L>5lLh?e%FF)`a%7`&L^6iBpE3{=wy?&F$tDwHIq(7jxHH9=Y z;bAPihSmgofm9mPx4rEBwjBj$`w1=HzIWG#@7rQ^NIFKfC5L_0UQ;^$G(gHM&{q3q zwLdF!{~76)Un}qQ4HTPVCNg>$_kb^hkkz{b-lyxXY@-Q}nA(Yo&nHDbI~#ncjG4JM z^E`Jy8Q1Rlu@;%*N^ivwNZM@8(-S(%nSEikTCdx$)`>7t(LzUnt($RDFk(>|^+>Kl zIsNceTN9D3!zW$5Jay}*G2Paox)xQj@|w%C9~&RC=B8*cjq{)O5}9 z7#w&ISJ=u2`K89TQO~8wNu{b<>glGfG3;Ew(cO1Ba&GHY-8I_BDp%?P9|xczi}lUg z+bjvcQv=k8YdJlDZN2ypbAEu?Amsg&lT&23dtdZF3g;k+=Mj6qS=N8SS7sslgAF!B z_UUKJwf1a#`|MJByIJqgw)}3)X8or75U(DSu#S~G>|ycW2DJ2aH|Z?gq?jB49QRn=H&_ua{KU zVxBsTYRpnhz+Y4VZGYaaS^RmTAZ{oBqsv>uW>fjbw#mbFx##z8kEcC29bs{;%krEr zuCx9(9W)uad3}?Y`-#_e{mHa*xaAX}@E<=Xc1Pl+)Xv-LwK&)8Hu=%5>mg?#i-^ss@q`l_ z*Iz}+191!A%E6zVE?~=6vhP-wW`ft8Cwp^C1qSQNKda8QhIik5(k_Z#z^eCVG{%;k qZoT(4ayw8kmm-Z@u9RCoMZVEqWmCYMz6K3GZGz=my4UFo%?+k zQc&wZk9Z^fX*3~e-jDpR>we@t1@%QT1!3{s|917G{ADBn&<*TfJb$F=X3OAcXQ}sx zJ%cg>A1@y-uQ0Cw13T2l+SAI;*_J`U*~`w&#o5Wm*#mqp?_1R?~1%$dRXiO-b51@K(mz6ILtd!n#5S=MgXqCY~W02rz=Q z5@QG{^uDqTV+^GPs&_PQeT+q!ZrB{fId8D}`WW7-@$KX%YKZL==f#Nave%8t;&9hZ zsHj1v^{gt}&`tf^M?|+W|EaM4tb+lVi!3^oHK8o#J^L_lVX7Oz>hH1`KtcEVRE#H8 zt|lFLT-|O0itYlv?&3gE^pNj|s|_Ek5&X*t_htuyq#-ojt~C9CHlW;-Zi4#m z60`2=vw$k@HS#}Sum9i$SP0|$XUXzA}MaMi*DS7)8 zO2t;-@#fFU89<<5!apefSM>+Ve^H#D5Wz9PUOU7$$aPuG2$$MLsh^9e?1B?DuZ>L3_8^xCkah;8vqvpUh$uX`^h{?L_7W; zW%L(~7BLG@#`(Cl`6YC9boITQ3{yN88$(RzJXdG^S7)PP6rukeSpVfYAi!yY|M(=_ zG78e0`Bp;~>#u?T-is^bMGQdqA}}A38??}oE-L;Zz3@dl@pi^ z6Ifp*+lHr?q-E`te8B#1p7T7SC^e!eEMhAxhCMvlE77Hl&TT$^NFp(D}X^D4B(5CI~GTVBuxqeS>i&m z!69(y2zWCNIsnWn*}zt3Ttf3Q)Dx=gD++8+7MSoOF}@*F1Dh^=;Wy-djeF885@g6&sBE2bUXVG#ii-&rKKgM4Nj$%6~-U7OFxtj z)Yz6*mJie*$|@cA0BU7%X$@CtDOXud`Bf>`UPEzdOT|DT-$KdCxftnwCEj)Fej9R*$ z%W%_mePA62R z;P_khonehSEcUowiLIY{<{@ygdSd}>Al+kwWI#HXkrO#c1PO%BxJ9Z>$kENkGyrz#G)@ENE>b>Wod0Yg5y ziXAt6!pOd)XUZsw$cm6}E8luV8LOb~o&d1g%E`x~+8aqQ~Xn+y<#Ky|t9#U;5?w<6AJq!S={(IqnWNf6u0aj^m6I4_x zk`kapnThwT-o~gXgBuc5)PPy3s8okQjT|8}nNUYTU{(OD1Qkc_9wTG5dQU+zT)1CO3`&gljtp7S7n;6O5fCX42hNDrTmj z(E!29sckyl_s73hZfVcmGhfzl;*m#CmAbG%x zdl-PYgHBaI`F4ylpVW$wselr&O981Bpj%3Jd|3`Es}UJ?aPU(V4sZyeiZV+9kWFLL z0QsEb7~Fscn9$!iVvcKx3khZL(Bb1C3RY8LD|roQw89gBLP7VCk$pwooHS-d$PAw< z3jl>@6<<<~I6ON+wh+^czpMZN9;0aJb9I&JkH(Wq>-Fo)~xY0fX01Zb$FG2uTJw|dW72O67m5c>5 zmgR!80Ep{1(;ZX*g2Qk#2(*NT0jffwRuE#N#NrUJ{{)1 z7Djm$09E%GVGIV$@V75G?!Wp7#kT%J3joyC-{;^@W&c16GZ*Ls(*hu4|I=atT3CM* zxIbVFCI(VDIKcUDADkGF@h825L+=p@sOFyV2daNsSd91T`tva3-?8_(AOKO6`zZWy zn>lZQ$x&eKGs@HFeJY?JToA~0&VCO()5p-A8Jw&d9Op)8`G^P_A*xtyqeRtBISq#t zkZMC6wlgiGv^3vasX)5Q;d(0U@oy&F%Im#`fGs8iCWx1ik^i+c5-DXLASf6W49cnM z9D|skqJAgl!^Xw#4R)WfLje&6_uC=l)nC8DF!kyG4I0&!i|oui^SRH>qIkM z@?;2RKxGW;Mk0+1dQ0N`@*AFJ(BA4?EN7*CWy zoJax(;0pp(Aq5eDf|$|5!or@#oG1G>Q0ME-N2;CS(Y(369= z^*>+Lc&aU_tZ`>cyyTUzt681#4;1w*tUn~#zB}7EUVZfrRUB)Oa8$T!ZanO^D*XL$ z4Na<4t8iNoCb|#70NJm#=5=Nl z&z}K1zT6w_D`$e?1YU-Pyc7C#-|F*MtG6~X-(jMn!ASNOZRt_a{LwddX;NDk!rt<4 zc%_lQR3*}m<5_6IIl4$0=^2ZdzI!UwLFrW%u9dp zoVKJi_|V%IKBdEEWE*~R?4J_1YuH|?VoTFhgPS+Y#fU)i!aF@h)uT3HiL1P&OOoez zo0)z%b%{=Yfq!;&VBOkbwlu>?ISw1?;T4xlKw@TuVMwGgAt;-;ZnR?B$ZZ2!o;hbt z>$&_`-A}`4+3Ueh?|6M-+cB9*VVCt6m4dw1|noF49*%X zvZpczpr=ka>(v9(!_7(fG_)`W@y3zmFRwk69LPIaZ0Y?>6jbp1V_8+4lbZO$&>0`? zAa@d1VhDkl$pSH{u_P7xKG~taCb?$Yu$atb9cg7wSzW!pm)sALo1FKC_g_q zLSyl5Z!er^?tH=T$+VxAOx%MGrxp@Zu#Vobrgmw;sSc7FRp8uw3YZ(@zv|j`LXj*( z_Jsf94Xfql%ZJN5>_PKBvcy84^pM1{U=N*?2j<^QcuT2uz2{jE6}2^e~J=b1WqX?d$dRzMo!$*A`o}ePG-1-=s9_OQbl zwg*TJ%iH`)3rhg$%~34K5!Dw*QN3h+-&_8NlB2}!FWaqh;crZJRuOz+6KDnWka&37;IQVWgAoQUl3p({{VF;*zUt7n=HOS7G0a|S<@D-1Lb7HVjP$Zu zpGO|dMxQX}?2UJ1f83uA)7IeIEGe;}FCe^7JCNJj9S(#7&iS&Jb^R(@L|m#+&Ddz+9a%9?TRc?nrwBSo2M>YLFg`%`ARQ@O zrlibJR8BKb!>-jue(8+UKr(SbSBO5uwK+5!){x|zow?(?5yhMXM@+99dMy&Eqnwf+Zi*(p>opb_==Eg=Vd|9Lad?7^z)PD(8f9ery|Z?@okLCKfeD{meZ?m+ZEuDh4~`fD zvyG?9q~cqbcsgKMuVa6>vEfSg1Et=jd1<*NT8->vQU z#Go%!IAAXl22e#VXlHJ+cF4tDt>TN1+satN`ozaQhdUf6hd4aiO zQ5?cnQzrY@Ri|icL?^L7H2Ic8w?4LGjoa8hT>W|+2ir-sL#9IP*ZYYbf5v5t0WFE* zRO6+@Npt+hi9@IM>G)+|nlaK+R&3+dn_U>94tCW^6*WZ9F5ZB zTkE$GKdW}?DG~W4q^^n_b?MpFbIZRy4smwX*1zAFN6!ccw{w+)ak}M4GxYe=zP2+A zST^3Zws^ijTD!WQ(%7PX@-vJ<`tiz#m+gAI)O%bTD zS{;qGX~?CCzes(fa8OBikon@dY#X1Ik72T3T91-2(SRsuiW?^h@2$|p&L%vF=vt^n zqKs&KBKFWk_`oteg+8|+%Jmw%5o3z%rkGZBkB|7}B5R^Ks-B3S6;r{t52Ze4l+rSs z%k_Ejie}q|J|W0M;6bFP2e!ofO~YQ{sw*ptUcOydV~Ah2ha-21eRpH>YPGkIOOwo> zpp-Luhb@R49CFOq`qy6ahAnxOpsNZOkKz4L^Xe#i!luz5NNsigY7qqI9^7*>Fr_`e zY%*s)^}Fz9acvu{v2^W?lI4q7^GPy$y|af@4hN}m!_cxUlFIqA7BbScJ}LRE6#TN* zis_rr!O-tb{NFa2C6T2_duiGlf$1OnxOis@@H*I~V!a-ZL2FP=-X{^q-DbQdQc zXSvMQeQ0TN`+Guv{&7HS+#A6F^ab=ObqTX8y}CrJuXm~-NR`2R-$@3q$a4`1tt!>y zD;h5^XzaMz%ZVmP-qWzDM9ex?qC+A$H$owaHC0pL+coEFIB%Y5MI;u{yPZ@YET3EoS7MZw(tg@hw+=%!rkd8FHykR%ujGj1r?RDE%nGWtZU`!8bYnP2SXaR~4^B{-) zZCd(*xn>n8Um0OJdK#`pyE%?6 z0%gh|gjHNcI|1zm_YqK_L)Y^!h4>zK6#D!&eM~eMl;r1Nfy`fr;zxx@YIsjJ*e6IV zSA~R{Ye4n&mRESBM%G62_gfOtAEs<`jOpnW0ym%Z(f!C&(KK5NE17NPL{XG_Id0P^ zZS_?PYR{|4eid!2t4_vhK3LS)h>%zI^7h=Nc?2qF86=EmG7ZM+>cyJ-^5oq_R1$`MBCOxeUPdZIZc$Xg_R8yf)n#D**$Bf z@gh;lt$D`TrTj;l8syA!qLKG^>v@jJdBAnkW?UKQS|kvJm%%r0_r1ptxzqGU=PK`8 zrv0h36z#-RvSw-B-P@ZsXKkmxqGJConvU&E7ZzlB8CdT@1D6d!f-;+l4QmiS@s%)+ zn@5IJ0<2nnAwPaNs&#$x*{4J=h5c`CWV(_gCtkUf0^Bf*ta`5IXd2WTxOB@UZ{zvf zv~r{H;s^s3>J-1*d9A(DSoVv|%}|$hWS8q%-^WPeRDdS}b zEnhIADdfqkKIzj_ZMv~Z1Ac#4q5FFf`B({t0Y~BmUFN+Zwbfp<*EX@`I6NrTD<-~d zN9>atZDsidt|MZ)E8b*HI{vEVN7qsI#%_>#P>b3~fV8nINz0d9GOXQrQg;M3IzIXZ7+23Y@xPAlq5u3P1X&&k{836PI5|ABZ0A4ZFecN^46MaEZJ!*RXpndJYV5ug)OqPA z=&fZmk5iq^`m}R(JPk+a}6#9p~GjdVfN_y6PA&Ainb*IfhT2uC@`w z1-&D(q^O2DNGHyz8BF~J_y(pYP5idUQU-1M5Ve9&wnz2&I$`Y|5Q4j1`GQ-S$vR9L z85kB)rr^UI9`%Xpj#2H?8`fsY`E=9nX0K))rQ90%cLY0wy#$RhM~fIi(p0GX5X2s| z?1^yxPwiT4Ys{!@Oq@tyB;{4^OYl?5|F)e@spw$ita=I!l(-T9E1}_ zcqoi#`88EWgo?Y>DO$8x^G8VO)`~%aJ;Gph)T{|1+`##nnm)1!&+_C;K3ElL?jt+- z_2bv_U!G4HX!RS>LNz2*B;G;jNJb)MTg(bC+o9@0Kj4fAbE`!0;B)ZYuxKaI#mtM* zm!%vD{CdpsfMgKJeGr0KFLFWS&$KO3^hPx`UU!zpP5W= zl-jLFL)*U7*vUk1P_{o}d`Ohuem%eOTj+2xGIZa@ZO{Bz3r2#gbfb$Qce{-vBi0yV znBr~dzUv-VVeCj0GQyMM{~c+{ivFjGGlCNTS)Zf1@3oA7=Zu&22J&|7Mzo!w>rhg72{+vdj0L>#_>mvo=>_Cto!Y?eq$p+@* z0nQY7!0c??0s;^&etupa9*6)xKOY|(a4x~mCjcB;2=GII(+c2xf}e+9fd7#I|MEot z_!5wbt2#b@h+=j;TpVWk<5T}YOM6oQx1+P|aFMyzt9E5IB%3|K7P}K(3m!F{K1LNxUdxe3>nr@g}fx-?7T=BvIWbS1TQV$?*;NBbqz4EgPOJZh1-#$DiHfZ=lh4ftl zQ7;`w#c}B+BQX68|KrLT0ZTH8Q@)>kN?v>Fo7Gh{yfIf@2u^rcgs^4h{1j#iekLT4 z-KrB!B=tAw+gfx>Kkh@9;~IyQ?${XE;jUlKM|Fx+K}MH#(BXEy%wcBFyn} zJ;VEBm|hq8%sw?o)Yo`P?A_f3qBIM6ZMghge>Q|BVVC2d_54bH*9kg%hJ@x_0>3U!LcRYTc}>O=LHr4y`((W+WEGf%b9Qla5zMS;(IIz!Id3! zr?zjhz?@ZtDohc)pV1rCuHR|&)YhPNqN`+CZ*3Yi^^l3WJj>^Clb6C)Yu?MkKz-tE z+5NRCmv~}5{|&9I@T$YTApkH3ks*<*i* zS)`gCA+gVL72!woT%;?K^Dsro)Z2c(MWG&VS2yTwpj#T-diCsaQN^t1R#A0VhtBvn z%k)0E_%FGReUk4!JxBuy7zWBO96U${ZA#(fXAMr9Xy7F}(|*G}ifHY=y4>fwN?uRH zl|t!re@`vja-v&j>g}GhfR^K;>GtvRYA9p8a^~&ha>HB`0>!E1{`9l4V)yiSQtO82 zYS6ZQQx0>umNydMR1F-K;~1U0Q?aXJe1e|r@lB6@PyJ#xNvx9Tzxv2cK5aB1JCbGB zhMm`Gr;2*5j) znFHyII^x3vi#sIwOY){qF?bpeQNk^lCQ3i-#X^UpGru|u|Ni}b+@#&f>q(<8oOyf(WD@yd`3hVRYVvW?M}RU)uovM^jR0 zy*#mDESI$|NzO6S#u&je2)X=f-=#H9zOhr}7kI|LLNkR4)?>Si~3Z*1o`|Ft`moU3YP|xO<_I@`d0hj!eAv(hWc6JF^yEbR7wA znb9n-AW)93I)2hFm2r$~ZugHD3yFg3FKM1}5(``F@L=fa8R2;?V63Tp z!gEXxfCzmo1I?7urx%8%bET&!CK=4n7+?7wc)JA1O_=NR1qvb}e~UN`MA9Qg0edf@ zsHC{Zxd@>FNOM(u`e5a6(;1<{1y0s^16b(Qe&v3X%A2*jUrKmKt|lme9i*?`zn+)F z-(8d!W2=SDAUO(sL2l#D`s}3c)nN_i()SIDOeB?fYgF?X0cuy^WsAbimBsk>Wv1UWH2KxbyP?>Iq?sfIJ#fr296UM2eh2{l&|P2k42Hi{pOh&p{^u~UQe2s}55M}>l=WAnfAit36~*dd-Cbyx ziGf;eo88Mmy8Z0!FUyq8T`_Z(r)Of6>z#YFDVtaDOrpP-HuCQP#MsMDa zaUZ;o42S)WAL004(qAoPbEw)RbI3jppu}QE>(I(jsc|vCjAPGh-}t!%91fy7i&vX$+EvCsIZL`r&{;o{{= zsBVEw*u;~MEQo3^=0|u9VJG1#-3N^~I)wxy@-^FLn?9yJnk`Tzv}wsTa9s8H-un0> zC#Fnf;1oBQ8tjH2<^;o?fUMJBeUC0rlxY+xjJ~Zc%$4+6PNTXm*MB^BjhXudAvCJ?Ag1roh0G}yQpy*h+3x6mDHJR!1ZEj@6NQO@E0*a9uIw_ zhUcxlzjC0L3nl7!B+c}`gi*?jKy<{JX0m=5u{mZJE8%v2P`-U~n4EdZANgkaJ#e5n zD5E+0_f*|dmW7zzOIv|{p6J$FiST0ZcWe_p zgz#yxg{aNF?Nv^9}H z`=EDp9$7s3bmG>Pn(sLB#(0FXSl}&tM_zBV-a)1M))P^3sXOznX;JYI#G`Z%rv)bziY8@8jWvn29V@V# z9fMH6@;_>vAjgT;{w~jLGCFEul|J8>axKrv9Z9jQFN=pvLlvkix8JsM{dMS6U8z?x zbJ$q%NdKFe>>+I0QS$1VR#83d>&utTOWv(E?oq_)4D(!6ckJQJv#NR}tH%oPGTQbG zZH(k$--7b$cOQ(cDXuDU#gKQLY^)XOu7*a6_0(xHNe4i{&nxt}C1T;>>!*q>mx)#l zuA#OW3wVLmeuF3S@5NU-5>t6rl*GWp!)VSfth)rCOs_FJf^PIuXJ3D9=a{H|*zqG? zm05%1tx%gwhf9euJjCRS$Xz$l$DIHYJnGd)*%$ANoL}bdVmaAnIP_$5UVDg> zfZp^H`)K4e&|kby!Ml8g$$k5q$2JT}012iF=jMvUkw-q&B~sqcJvwXE?JFo-vc@LE zan%YISgGl#&|Hiu^e%?zGk}$vCykM~@L)J(TvG2zY?%BpmGqY`nmZtgv_&hfB$^+0 zA<#Q5vhJV>O`+3qvGMB&pJFkVALv|=J5Y4~41P85R*=Vjer82%I{(bDF6a75BHf!9 zo*E;g(u-C>1pl6@(3S1UDlBAGOP<`Mb$7hTVkea{Tu zeF3M!j21-$S~Ba-2$Md7hG-G2Pha)o#y9BoVyMKLnjnTf+iyRuBsz~Y`ltEoW@I&t z8>}^_4N#`D8i;Q0)^ic0hb&1`BPoq3j7Ls+grAyc^|)^J6ME39ani8s>N$9kcE&?G znjGg2!oP7jqs`9}m_o0VH``IqJg3w$33oIimK^d_bT-WD5B4NRB(MqlabkN_ndd_0 z+6s=-RiMcJ-w0iPIp#j;)*4bsr!Ab^y-c@oO?+;!8TOhar7}o?hUJZ$Lc8MKi9`2? zio33=HL@PJcEr#b?^ABcfw5xT{h*pt^OwGQ+pm%zIz2JU$?aiC_T|(jqvA+3;A-Tc zTuh^O4E1_7YM9Hfs@X?ZvY?OehNX|d$Jwu517#%*QSgA2f8`oIWy?yL8!k^SwS(^0 z8#xpPRk!<|nlE5%M$JxSXQ?ylsDe|h|Jd-#senZ8q#p^} z-R*uARhIO1mqu>em38OjteGxiN$t{>F+U5SOe^n11y&@)!-!4$Jklbx>!av3Qjbc8 z&d#>@a87XPDQxq?tX-4-bMDYh^wd;gSFgVlMfidCM{?Sh3Q1Ip7o0KiFBjy z>OD;#L`YC;TXnXl&!53;wVv6mOy5XP#O7GKI!m!l{I+M?lXK1vu3gF$YZfvd7RPfM zp$oV?Fh~#zb`w$L4fAWo^)0r9-{)?0K zvpzg~ROpAzQD}CI|HrECQ}0XjqqjGEn=c?_*($+c|IE3p{%BF>uXJnjx2gHF9lnnh zSiijR*tg@7YY`W;`{uP^viONf$~TU+FDCl{z+LjQeo zasT%fUcDZh#N%W0L#%AveB47{*dV;0ir%{gB;l%9Z?;F(iNM{eYf@5%mf*T2c>Okc zOx&hsjjxrnvmab{{&32+NeiTvY_boy&Gw{fdEH0t_40TeEd5KUtO{5Db3n3)9aouG zLy+g8&Vs~p=Que7)uBkpBLh93=C_97OZv&U+agH{UaER!5@RP2b9Oi?f-L3M&L0ey`N z+PL3tE-se+wOJwSXTvGY-@7tlaYLLbrvxhe{_XPv;=(#8No84aCL$^xu~jZ#vY!8V z$wc*AaY#xt`6O;<`IB7Y;`?fRsYJt>WYK2=9)vCRJwYOkLDk>WknpsJ{EQDz)cWCM zO&G7ea9m;;+UJmL7fr{LH+O~g#~f2h8sDN(A(5z0P=)^()q6g(Z#Rw+E9;^p#!H=Pxxb4I)2jCAI2h_xUE})P zpphMd{v+FW+rhl}jkFb^g_N5M8}G_pT=%TCzN*)NzXYYUOGWKBJ*uDtE7Lj}mhY)~ zehO?seV#m)xp9rM@NoOR^qkg#vYMqo` z947uylI|;By>xhDG$d3;u*9Y`Wy^nJy%sj&=#%~GXT>~)gPlcboo%C{WGhN#^wWrr z$CH_yFN929_zPl0(V>u3PF~hGQ>Rjo{QS8P28dRXz=ALT< zlb@RwP8GbgQgsvY*80}Aw9xD0F;Tw7DO^D;uMkl0+^tASUM&4+FvKPE3gQ}U^`ZzS zJ!m0fRT-|QuALBSB3{g|O5VmnxqfIkLiyE=>#cCOT}VxYH3eu2(_48n{}%ryJyQDsQZN8N_Ajg%^=5WUTkR9BF@}G4)EOeDvd(V+li3Rzph!>`gCe>?6O|1tzSBk zH7K9Q;9TQ+8#^Wn2#t`WD~k0v^1Hf9s9jW0-c_`;b{}1OgoOl*6=zG1?InqN8-$Rb z3vzt*}`PRif&hHL<{FhQCPl}plP;&Z;W;IA`O}XPL@rU%BQsm((6$Z zuS_|bJ)bIvc2!hHfzhILtLrcg^RO_!Lg;QEZ_k(YA~G7c3JDseI-W0zvrU%KZLWRz zng=#hRI8Ampz=K`eym@mpYt52Utvc~E7ROYOQR!FaM!Lf(1v|_&C#k;q$Pn+KcAy~ z*(vvF)gILcisv^;K7B=bvk)=sr=iDlPO5>3t@O7xvIGW#c;#3wqGky zpB-9VOwV=oNUc1r?lyhvv6>ZmZ>L-lJ<=c1Md>pTiuDDYXgAukm$7tyXwwqtC%p}J zbR&Bqm68+C@QU$>kbYvjSFM%;z6$J9f_L9NLF3V@bP4`kH{Hp-ciQB7 zi%dW~G}%*~j2ZBftJ`|^GJtF!6UYBL*FF_>spmlKupBmN=TO_6GN3yCv4UQtQjhhD z{&&-d;~*1O6|`7w^e=X{Mnkdm_#53 zC^bL!ZlaBgY`ys^K7h+P`oZRg&2itlpNj-|QQp3LY~@tUfYG&hST1(vdG!aZ!0zNG zDef5#o9zbcIwHYlY?OhzAF^h%ntm~6IM+`DUZU*~48D?S*)HkCR=v7pNV>=wda3ZW zoi!xj^f{ExoqI;)nU`F6r`T)UGqu_iP#6{7tXX{S!e_IrN`^N{zpjoz!j~Bo-T4+@ z&{sk->3-S5=dHh4Hr4gAL|e=MU?tvQz6tLXUXp~r)oZ3bNBp!VCb|n zoQm6Ay|?K;0=G$X-?F+V8a?%`P>W11#iA}qqA)Y?YOh=@NP1q7q-Rv|`h?1xjkL{~ zlVg$>kD3968)M4_v=ZWHLcK~V)vh#SKP>-YAkqyk7!L+1De09m9$eozbt|x>zb{7H z*mDS?!bkdZ)f3!&}p{A`^)9Jw_-{GGi$J>2a*d|_uw{%Sp={y$#C zfA1kz@=2&;h_LD2yh}K?_!ddny$82&Z{QbxFiN!o_y6+9n{n z|J8A$?3e+72nZ7*Pb^r~av73yWED*G&X;q(F8iFDG|u3&9C^pSfUQSyZLzDz5R9LU z+Kduh3pqFBK$n%%pX=Xs7dh472~2NcL&?r>e?Mq%1@`HdF^iSl2B zYDd&4;k9Ghx`;_*+salFtGhl!a%(yNbmZsf;0E`iM#5%Cr$%-rJ_c6&$Qu;(_gLIO z*qJ@Ar7&q#GYwR;zZ-?>{}44`lp2-PFf`J`fR~?@iNF1{zu&Zfh}ok^i^dSM#z>2q zNUOt0Yu2cL+Ru>r!?SjNbZ!Wc&nK6$1bfDN@!6u>Gs1|dast5a%p~08sl2e%0y&UORjJ7*RDAI-rm!~Xx>RGfN+0Ts}eJznfRUQi7* zw8vYN^xVR|0O(T{v}l(%>Y5L#$43Ed*L>CcaJujIbZP(Pgfq7TfC_@W%Zt4av<4bJ z?k#2Fqd4uOHw~KN%p(8ub^jbM;6ZqD9Wq?P$Rv}k&&?7Bie-IDc7^J%CU8Q`(`D|g zk*wW!ax_^h`6W!*-#Si5r{aEBz4*f8-F^Q3Y5CeftjBYI(loDUPP zYL|rHK(h%J`93&5IX3`A(4C|BU)?#B|Dw1sHBPu+=;a`CK=iCD?;Miftm>q@LWKZP zEGh+}_+i~@o=>HmrfX5%l(|R|4y_F<`WsQ8Q@QPuRY};+gCy#acR%bo7#08NxNp#5 zdXCZmXv5#x4H)>rHj0EBN-AQEFed))W|@9-4Utwee)H2I^V1Kp7oz?LD@05E7G z&SMg1lYr>S3BRsJ{@20(iX1Pdo)q@J6sS%ORBuf5-4B%hE^3rf!vLjc$ZR#r>^IJ0 zZzydwE@eNCv7hv}pRKpIXb3T@|0iJnhRyu6-+x5TS%~n;B`#^E68$@J@`Vx?WfS?d zQlVz40)ZKhu~{XL^EOJJQT(^aaf*BXDDHVo+*(YcP;7>CY*y*3XKwwKn@#`E_Fs{6 z%^M0fFmg1!q5ly%ZxHNPz-X!w)!Y4hM#WLkpuQRx{?h>f@Ftl`=RA)Xpy88fsYx^( zW2E>$M-0fFMCpyAK*Od302=`CfliK~i}Oxa^H4M;L##rHpUROueajm0oKBKTj+)mu zSyfQ6F;%XUYWFi*h*@1X{2{+gA~$tMv8C3EEE$;ghyVis2t)KD-m-cRY4zo+4%BLgA%n%hO0I;D# zQ@|o|=poo@GP)nJ!j9IKd!A!BBuB;((T^a>4X1+@u^SG-de|cdRabJtM^uFXfcp&u z{8JM`*=YcDg23n7(BU+c4imo)qsB0k{WPQAbUNxCO3J_pGr)+MG{VfW=wa&l^%(W^ z_KYx$8W?8Gc!nOP&V3kVKWl{f$by-yx1VFVXOiJJFR5n+-cEsBzv+w+?3BCJqklx{ zF`bK&#!S~s8TeuhF!p9f7&Cu+vqOx@REQ49HPoAB#$f6(v-|FtjF1IijFpM~>>b~c;DYyEf(Fn%9# zR!b(}Ioz=Uc@~F}HSU+&DvtX>0b@VqhCSI|fy-WcTmr|scSV$~WfO}Wv%sB}R%Dl! zZPs{*be3HVk`KGib$cDlFCF+5;Hk)al0a-g&alDQukw^fgdj{70+8^mF&WYccX9jDp}%k! z8X-t{e6DMEvEy!NyYS#9guA(o6194B(ipUzV7M_f>C>Vc+OAJ=Q)t)f;t88=?m`xA zXE<)m+@+*@!aRZAmJYdAXg8!qUQ~O=07b3k7t*L{7Zoz;Xv2*MK_C~5scM!KG8k%= z)PbUk3R!ft5%o+K9*8M+a77`5g%+%v$vEu48faK&)QWcCI*6Ued*4kq9a`bd@TeayesIxGPR&`Dj;6O`sow z3|sfs$*ka=f1TXM1>QYnQ*owTxH>%*RKEJ&JV6dOW&?^!MJIqOEZkldXSjfjEOdO` z>U$qIse=jg@-rPe;1j|p>D9h5n03Mk0hKUv`~0&Mau&9#G3X&JXFBgeIbm|OK{>$^ zZ(TJQ3^S-o#$Pui2ZMD@$&v9FvFHfHyNq37Fz^&`u3EA+LBA9+*@CuZ^`TJ{X0shq6@o?F&=!V8(rIh)7lG9@1v^;J zxsBjV*})C{%_Fy{Y^V@X+`dLgVfqMNZNZZJphYYEKqwS-4Vt@D)Xu1oRYXo9b@)Lj zI8?lSWG(^#Ti}Ma&hrRAkW31wuoi%NS9F=WR`L{0*_2C7 zgCMS3&2rTS8LsbM0l)`hQlN_Pl7_S(E4eVr?)(s8+@Ki~5K&Avafr2?D`c>)M_`Rp z%z9ROfDhTT`Xd2kfVbTsLvD@ztjqC9{C8pUZ;Jf?a)=VJ&Z0L4pVr;1m&pEB|TS?ZWD*M@_#N%@PW&@P}B zd9tF~i8EC*s+zE(Df4(Z7;@U+txbYd6dIh;HDgnbC>%qB@yTji4hE39E4X!6IIM2U zCZP_rKbRq=Y~rP+%qfA-9=Cxo%_^^`^um`Nqo2=x%>x$OYUkEIdoe(RzQ{jA3y-=s zh^jM;@I-)a_&XMn{9j{q@@s#g1p;dA?>yWMwR32ZJq5>L93aSq&MAJ7BL7>!or5ug z0W9Tkpya<}I0jJ1d3lFJpCJ-7%^Bkys^=6r&zZT-C-eMWdsYjA5G6dz!hGw{f_`2% z)Ita04X0jhAdCtCyk=ZBVN<=_T{#gMIuXgq-~uTmN?KA<3j8mP0J*{gNu> zp_lh)Fk|6;S;5@V+G-rsm4uzmkIFRf1M+J?*n}-3FelS6^oSk4P+BD)oyQWdCnlsE zO20iZ)Nr!%`f){@y72rXh#NJfXE7TSJsuD7ZO-%kr+?N4*&T^s~SUz3;=p)vB<_AD*;N zZ8&D0=-kUWnN37Rk1rzZTn}1H60 z&BKWj4+e4)1vb35KfY9eh5~Z)v5LS}%UJzJw;O8I~WzS{XUZ%>{d#9J7eo8lSEW5(; z9!;V>=)A$4Sn$>E2aoB(qD$KLhjLb2c}RP4Wqh+j`_T!t<9UZBu&XSI_ZIu#4P0>*27_mtq%w$cW z5`Yk~1@KBo*iq6=yCoGdxBK@TK^|r>ZoVj0cx^H8q6n>Ei#!PW-S!B;QKzp_*9-q< z3Sb*fuDZpyHBNSmF<3~{$S+Ir@z%GEU9S@#zi8#L>Kk1lW zF=Ll%ty3`SEzqzF#L4s;zOFLQWiO5HQF3&9wIS^<7ouUxc0a9oP4s%F)LzuD2|JJz z@q{{Byt*MpvQhvr;5oaet=>%~jb1Og@wSd`m~sE{R*Fss=dXrllbWs>$)E84?r0)- zsBEAMW&P(=hagoI(w;lCbq*-qR|_}Fus-7=Sf+Ii9oNdw8(y9y1Rngo&P_*$fabsMe|5Y)I_u@K_>y!q{og|{*o$2Y!7;)Vg7d?Y&F@As@hK*K? zn(KrYp2U+NCohS#yT#;jIt$9h?mBO>z%-hhS{&wugT@8?1V#j2xpL`NH%<_-VXr96 zIoj4C7Bx#kTnl%nMlFJEUiLM9(DQOb{@T^>I1)4aKCNF@txlEd6~7dv1)+jtbp%yX zrK*ZVLmfT z);)-p+`-D1i_)a8uNj=0>GHaeHvG(3#?J*kz~4JW=-|*%$Fi82{wZTGr`4UMWOjk*}kiSY77lFy=p&7-@; z{JFe1PEv$>)OpGM!j732t6a(8q*%;>j|qVr4DYD|03qS|mVeea77P_zbyY%-`*Ahj zKd~w5--xgOjo_ty3f24|3^g9udpY0;+(lsP>T|;wd%EusC&%W#@ZgeK&&sTS@y&t} z#T7S4>H-@-{3;;nuxjI)MtthN%EW`W-Df8zeIu^Y)Ku5nl&6o}siwOjhiCq7?1$cd zuQo3jDD0ZsHRJ-3J*J1SbA;w^b z!$V)*qXgJF@ZS32rICc@*%0Rmxr$FRid-6um+|jw#ZVSVcJpHs8weHSG$w)L}^-zd5I-*@yChw@Ald?OWOmRs^*Z z6B{A$3`;&?1U|~Rb|rK7_bje@^Mm2>H&fW2l$3_vo=GpXByA#5=rH-`|*QU;M1K*Nu3g-1hS#Td*f$=kwlGg|ZK<^KhCyA^bJP zZ2$t~8e)Eay3)xW7-D)wKZ~XU{meBl&A|xsVE37Ku-z6vrPj9_k+&S_D=?6aneWq2 zIESuxPsqOQ{s|MZVP33#GCGZ=Xdkm=r*Wr=Nlkhg3ACsVJdLfhyZTnu?cv3k;?C-o z{^t8l$=?XMM7xK^J*#rv2KDjOT8E1~osP0x&$Dws`4@%(If?;K$qyf{)hX`HYMQj+ zeppWxYPkfQd}@J-6$`u8Bb4WQ$%U`w3=DHaEsIB~EdU%xK-$~XNsU51UMVMPt1yy< zFQ@ara=%K4bi@6BO(?XYuI=@?&RsEl5*|?IvRHsiitH(U8qPZ?h1VXg@1S5DpYS3` zu)Di9DJ!Z~^X>|7r@s`!!+)5Giz9;OWFBG%4;3Zq-HPC^pPeM*@&2>#$P3r0WYK^n zr0P6g@Z-&NzqbTmuc)KRL4+nhkckz(U$^m)spW7byfZGU$AqtompDm(F5il|ew=x# zPUshTp<-zMgTqXSUcO4uR00ouwMBI3jIM9_)~jp^MYFbRdISUf8IOK52^bI%T^(Q> zR$=_6wS6RfL!BL^Bfca`=@07D6qH8XqTp?7I~{=I!6V4C z7Kvg)qQ}ZSPrT=Zn-PNwkJn4QhQyf%O;~))F8SJq*gW5Kd1KLTu=qtjTpeeRjoy}C zstOx#h_0FWLmMvbx!m#j=iw}Z-)!<6!2?FS&H1yYkKI(U;)GKe zLgJ8^G*n!(MZ?V7{abtwK1qdqJE#_G{)qo9-#|fYYFouvbDRzZELB5$0~6Gayjytg zaurzq`Mue<8RGZ))uwN#%4W-Y&^_dj`-|~|)b#_QP~G{ZK|R-@%SMTi1Pv^gLS8^U zgNfeyr8oR(p`K$)zRNSxs&}%e?Jp{4REYhq4OVTf2)WH{q!=nY+byi#5%n61Ah>K* zr}Nmzl`U2&m;d~_ag4|G~F>o8V2eU1F2!nPw3 zy&Yv5P#-r&FsK?ol7DU2RQs7m?-5y%N!y9%L0yTor+VeU3XeL+nVA|Jw z0-P3J^1z4?$Rfy`*`9sktvKEI3}>SnV-m~4ji~!g(H;Y z^6Jci9Th?XdcmpAA(+vb4*jE)mM=2*-x8cAT)5yxGMMT=XvHT65Cvg5>N$j|SGnLL zH`KLEI$Z@C-CFGGLJ#88uTQ)Znp8;sG{a7+5!aGXteFl6wj!}FUG&q)=>_+<76ZaL zdlxOdg{1W(2BXuqlx5^_duSP5$yi&Tc^)a&VQH}ip8F7>P%gAK*d??*EM`vrHnMv9 zCYxLAg|zx52_dju5@2#uJLpgX0!TpLSJ^b+64r_j`)Rt+$IwTS7wZ>O=2J^XENezrp1I zkN3eV&!*nVa1%~kINW3Sy6xuPd|RK3I;Ty{8`wvWie6y?aB%EWZ-^8rpsfEUIErGw1KKGZZQs92P5q>Ib- zbE0CMa=H09Bj)S<6NQIOw!TB@=01)=D_riwE$i$VYdGS0PZgQ>S{z@sqk3Ob|z< z$#Axm#O#3L_Rm=kj@%9HHs8kdB>A=H(I4g~jo?Si;x94V3tyZ%PlU*%3X{ zjBIQ?Yc3CwEPwXJ^>Bq)zOcYkkGrSU(rpi94qbpiWU>N{c)C6kP&ou3;XFi^YDbF( zSF7n0??!9)!Ri}fdnIlf8wAxe)89FV2eOyHQ19yOm9^dA00yn`ix=}#IeszT98{4% z_=GJ9P-RF|`ibzgGVP&LIy7N5UT%c@e_+x`yx0EcTRt{?$-pvu%=bOCzT?BFo zeR^t9@_m#$ipwsg4o<6Vv`5!tn_B4E>$$*jhlzrv)ZrUoWQFZiP!tE=P?DFIakZ}D zycp5JKP4*}IR^J7PvK8mL$|aBy~?)W$m_oLS}(8A_ycbIp)u1yR10aut$w!K_y5eh z`w2(!iZzsY`zEaLK8x|sv}mSYZA~2`Du?4A1VyDjqSmYny(n>U$_LeoOqtME@V3e< zSFddEeXqIrHEMTW=xd9pI-2qhf$PM8Y}l7s6NvuS*gPqx#1|Fq{BZXd6r~3`Z6B$* z6l7i%&1kmP#eQYW{i&?QjPk}m%j0*FMr16!WRgTyZ$H@BwZ3>ttoauRZ@Z)&NFCStmLd8J}w!!FJCLpi#+kVb@Dy_ zN^YOoY9sEXMI%&AGJw>(_=EZ-N@;*xX%^bKD}JMF757i3Pg|t}g5^%;9 zK@s8oZlQ%mQWjpeHR6y`cv8idUOiN@>yacF<@CDQFXCH0l%ud)`Rb1j0iD^3MxCC; z^vHMe8>9J?afdjg3o0Vm=H7nlC;gmKa+S!M)DBa{zT4Zr0$eM8jb#_`@Q6j5vVO0Q z&={US*NTW1K5RsZsSlvdBT7x*m-QMVKkO-sxxeY}YzQ*yo~}EApMTpRB18ZC+Xf*> zp5(0DMTiQbP$(%$6jBlq(o3il+@DvjZCkP;LGCm|3x zdMxpnp@5`U21E8KQyBe>gSCZy%mqoO1Jsyh=p$k=xs1D-#uqFW)K36AIc$6#PbUze zHyW1WHr(JpFlM3iV5XucopWj@HU0Ve;Oow!X`;K#0Z%!T4A$ugv)q$vzC1qk%$xa| z8edTJT-dD}p?LTQk#BWL>0mPI&GWd!#+!I$loF2{TfmV*aF9bj@qJCMFyF0@P60id zl|5D@ANO)>FZ8R#U7uIk7!#~7kipK@*(Xkp&RqhwRPpl1Yt|I$D2*chLQJS%_42%A z)Q?%I*EbKOmGwM@oww-!7>c_7Fi*ni_uZ(; z`mW0#S_iZ5@(;11pZ*v^?ZPtsZmNZ}Ui_K5GusN(T4OyG=EU7o--s@(L2$OwuZ~yi zMTbOWI9^O5u#pUDN`1twv~fvd%UM4^Gl_c*DMkQ=X4p=GV428kmJ81T?NVz0B!@+H z8O!Un@F4kUF6`ToU5A0FU=FsxAFlQ(zvacq7zW|^hFFp^$16P>mli7TE$^0H+VoRk z`X(o%KJe$1nfRJt*FoP#!d%0K+3)W@Z+|I5Amyq7VOK?U*J*wvKxm5WXYTY2#vOU`pl{%hPTRle zfgGNIf`j3U@1SqW`8@InZb!^WWHTX+n%>hqDfT~Ean3YYaZSKnu*7euzJ~acSN}9KHMFwItM+FfWY>c=206;dvg*W9QY!p>}F1o6`)HJ0dskj|z#hoe~Wn zPJQtrT*ojyFwQx#M6A~I*J`#1G|dy;q%7iszW)s!&rUa9@sDAPH>N@}1D4cyo;*$p zip3Gqv_$7{+kuegw-d#Pu9+D5M-Bmsd!a2kdsv5TS^u}+F33k+uQD#9erx3lrNhtSz)l`& zx;H}&(5*4wNOXUF^@nBd_AfIHk$2!vpV;LKmWPaKW_K4O8QEF(K4R=}`-C`RJfu5h z=7eR&+!g!;hRq)9+0}_kQE1G{Tp1v~=jvT+8$mTh3x}=eDH{&D$<8Xj^8}UwW&3Ty z=N{Mjw=@W-txAW7m)*UkwofKHj2kY@ImsKnU(7Fr6t=6r?d`cXEt_%Y^Pm@%I&lCY ztz?`~c$fp(NEs9UwX%bjO;m~rt|)K)Vi)7vB)*6_qq3%307V9DYX^XGFg#Ff}@SB}-5F&Ccy~`DVP}}tqWW!}# zN#UnkCj0Qvrnk4tVWiXkXo!Kp)oYppou9M&HMa2Yo5M%6q%6s?sux+C44iZa^tseG zCK+P~Or|eYaLk7X3Uww7Gc9KpO~-#=JnC!`qUX5a*5Qh-EhEgb|L}-~V1!QlC-tom z)J{^+`XCRZ%EjmR{53OgC61BK%HB5YzIN%sSNL#C`r%7#kV5=)o_S4KdQL9&E~!wASIc87Etb?Dv+&9xF6jBdnT1L?M^xWJ?!|5sbK5q4XiTS-=kRy?XO4!M zsV3Y`0ZvQD>$Q<~28|*a(Wa~K8>tf1q0aZn550BjO+JYlaeSFivr@1-j@@pe z|1yK5wJ~oMO}DbPn_B-AVpzpI(^e{pX1_Icd*56uz+m)cjeNz;`m6qGFNiv;GrE2e zEc35G)W(Jie9%&APZ4L@8tN^1IB2N`i$YxPitLYsMdS++d+V&i+Kp z_kA;$+CeFIM$E>oe+r(>OOsi_m*d41}$&krxZAnArWQ%y_Y_yWw!eMT>>>Q|j#JJF+l zo!jpZj}kP})ddFICMU!={-iP1F%Mu03yaWok(=lfcl%k&$- z!o@N*b264Vf*-znzTV13xr&lsQfKDTS`*&rL`Y2o^wLz!nu&Pvr%Rmge0j5~;&(ZJ(?xORMefb+<4_>#P3^ zeq33Wyg`BK7v=a(hnMFj0uj2AMN#MqY**Lo5sWBPTXwanU# zlBxagn~UBs)kEG5RgsfFPoF=p*d`aH#?C!Vp#MzgoYAiNX=gmvx{%{z&Iipz_Xu)5 zOizP7HFAg<@Fmwt<3Qg?en1gITd=r)MN!Jfh~8lNDpO3SC*RH2ur|xC)v5P)b#T-H z(tN2COr*igVa-SFE)34N$GW-l+3T`x8oAc`#PuA_FK(sW?25*xOOlIxB(tLrD8Ja2popkqFBHl!P z9uwjhZ}aGT>zsF0L`O^C^yNsE zvHN1jPM%f6p5qVomRFn3j?x!{$;g^+-jI;hSJ`FxV3Vt=^h1UN$^m|cM!fyB_{@xj zRo!8A1uGyX%gE(4+!WJ5$bkt|v{$T@jb~&cZ+k!ugcTF?z-We#LM8RWLo5szNu(c> z#H`V29-$JP#ThDi0bgpYt+UUp{v+7Z%}kZZi3Z{XX~DcvOTpH_moFbVzqQu2iUjU`*?4Mvp8^)884-SV>I)%zw7iWR8mrmadW`KLd2e^m>dUSP}- zfel`B{t)pR>y~;^lsvSNc!x2w)3{(vhrw@aY&QWDhj=2dm9bqe;J0#;uosMlZk9CO z(?rs4eI4}RpM{7Lhc@zeRLSJT?jd=tyaIRWgY#zgB$uoLTq$MfjW^PJxd?g1ZZcBc z#6FFAZT^*dLUtfDNQuZ|o~VsijaXo^y>nr8{{lW{i|d`v7kdlW;~K9hRb{dkURK}KJWY3y?-%??+l{L$deaqNMviFNh_APsn zRI-y)5-RT*e$Vs#-sgQk|Ns3tj&q;uKG*ua&V8MGbnWf+0R{N`x?!|G7<%pU5OEyg z=k8_g=uMtN5T5+~h(BU)(16e-ul)B#UP-15pf)O)&+qH?=kc*Hcr~O71k6wyY-_4=?)rG1Lz=?OT6K1 zIC5uwmp6hFc6WHZI(dsSy%^BNxgiWvoybrvsl|dM9fif>2XP8Z!Zokd4v5tZVYMVj z4Q(o)(wN`!?#Ik${@u~<*@1+*sL^oQGON*%+22JKrg}kE`(_~l0h$ReCa`HdV(WRt z(>Exf`&CqrRd!HXUEe?(4=-QyD}Hw4e!k;=fySxfrVW9{4dJG*!_7CttvDn8Za)L3 zH_2_!bR+`g@?%nFQ2Bh^`5!U)lwlF&6u_435+r>hA1d*IM&UK5O2>>khq5}?o@&va zYR0`sU~s9(+JIcg^uqtAT{BLx``??2Lnj)jKwoxv@^p9#sN)1WyhLgDJlqLjOjU5A zZC)}Ly=6MQ&%k!k=X@7YtM9wkp??K|9CiRyBzf9AdAguCaALz=vRAy7#=W)2p)1H9 z`Jb=bdw79{@Mc|0aU#%3$6M{Wg#g)d=Fy#F+?NC&xSRJ0nf@yMTOWogeKxm*Eo1n3 zq(O#IV@YbpUIbnGxn^K2QQc{6xoNM`z56v7(@FcI0G15eijpBX$2FhH)XrrEpK}~a zr!9G71lJnBN}nrkWP_tfVuny{qrpDEzhO~gk=g$o^8v1ioXBu)q&J77E!)h`ee~qH z|AvnWjGNVK&i1SjWMCYPH5+dsZ_;s}drV2WlAWl6T_vZM-TC*ItrDq{X74{|45-GY7z=3ERs_qIHa9M`oyw8vTBN|CKqO zY#j+aT?qo3)dJc>qJ3Xwbic_Ava0LJXzR0^53>6XAF`q{myvooy^ zG_LzQVfNEzdffLPnL|zyK1|%qr9`U#WKOPd+{e>#{2GY@#)&5bQtTtsOVY9zOY#~1 zD{~y8ic+JB?nceujT4Scag0naZOnJ+u3T>VU)#Sk=c1PYY%p`wy#)S|InN|{&cSS| z7S;Z?Z==#6bf}Ly$3FuAz_WNp&Aoj@4<|N?lO4s0;SH4j=Zt~WQ5o%F8R*z#0Js3) zhd~Zwj`E6Eb5k;+lbjQv&co2;z2polVwPsa9OUzfR~1rfNW`=qpJSn@)-jDsR_&2ssm;r@ZLjUAW24(O;D3n zeSpnwoK<@~S*A}$R?h(6!-^j@z)v30#@7jIvubO9H^8&1TW%7s@#WRS`%V$fXRbgyT(A0Pn{I|zyDGL+>~up0 zLq9PC?mUff*<-h(aIXEEh_cn`IFfxj)U>oBqqJ=eyr0=)~ zv4J3CgSA^Fk5`0(a2f$Z1A`6aS9mR-4CQc>oBPKD2ZJ4Fz3vBx}=t(tX z0%SFxTfn4-B^9t~V#N%5A&?&osa`56VA0nosfDaa1xGZol67pRZjxg>a76)&sRpW@ zP2W|lJ)OTD30ZZKh40CjO(jBBX`zW&Y(;V+t~WD@%qlbvtAVOZ#A-pUu-Hf8I1?Ai zu}qwcEYu3JO2oQ|wVRk~)%r4<9N5#UqSnyasiGYU7bJ0NVjtBWadwlOF>h)=pyWW7ZX9;pj)niBS05 zgh>pBIAjf3CE{Y>3R9QH!W1V+NXJFj&P{l`$o?2HDJRR&gl`D%dyN~0aMvMF0u=(i zT`qYGA*ZeCU0lD0BePd822HQlixDdE(o#dA@V%;Zg0=k^6sm0uLnlZ&qKOu3Gjv9w zpcP`U?$}FP8tuq71j9jNdT<_QaXS+3J2YG*&d^t!1#C9Vd?Zd77ZRHd^ev}1lNy@K zre9SU6?PemMujtDH3Uhp(q-U*^_y*ZbOe& z_(CX<+Imf#Dr#P<&{c$wNofi~C|s*}nQ9^ezzS4oWp5u51o5;$h4TTFi?L_6?!_$d z$iSVECyWW*o*BxdM#m1-fbXha4D6WIAOY5Ud7-c)5r@bG9Ci^2=TIacGJ%L=008X) zE21hrTknvBT)1aafB^EIiN(<75ig+Hk;FtC6bDTz@nVF&YcnJhh$bsY2n`omKV}H4 zc9V11iZ&zXN?y{Kb-C;~1aa+Lx-%9MockI9cuP$Sswj`D%L#GPqh)OOj36MP8)GCR z*sP-@=QGdIq1sYmjZ?@;E?<&p(MIGCTDHsvsZ zOq`+W&SI$AG3%IG=zq9Fj9Ev^j+q<)@7+8A;Zl`nL~_C77lZHjV$BPSZM8jblMeisoT6oW6A*#q2;SGaf*q;lF|MwiT!u&q8AfV>=pCevY+k+Ne9-KoRgCG;$8wtV@ z{eA(r2gWcKSjrJ0=lwY%3zV@}-Vt$RL_*h)342i88`1NU-L>~H@BUhHEeIh>N#2F| z7X%)3^SQ`;ctLsDp%V)Ti~xAPc3MV_bt2m`!%{TE;=P!yPaVcZVJ<$hyTsMTIZBiy zvFYQS7c#A5^mMaqu#&CiL_@4_LdcL;d97bBJX#{@fCMwI^lcRc8)qjJ6h?&txmC|z zNt#hnePWSfU}WeB^B!`f1k7Qbj0ty*7+F|LZ|7Sp03$QYPFezEY-~;Rfd#2&)aGw} zkzq(G-n(rGws=A)tK0RD2Xz~s(<`WxnD$P>?*TXtK;l6pA745qj_KZ^c;C@$HOL(I;!J)?PvJ%vOno$#&*Hzg|PGJb@_QM-Gah*Cs|nl zh>X!s(ACx!gqmtQ6b*=9)#;%CzhruLs}F9hE^0ow&9Qy_c^4w}rnF8toA=m-+3n9K z^49&^I#CF=3xm@awkIE7RoS|840(DHL{NM`EPWsCuuWOEG8WY>*{pJPonFg&W0(5( z)G$Z!)?yL^GY{|&yl-u!?1NUymJgonukIOr#%QP+^meR9d%?Yv^LUV)ipLP*)5z!E zx+`{P3MUe&rZ|#%yxG4i_56{Y7-9Ot;UmC(Y1LjZm&xPAH}Nk97lYL>q4#5(X~210 z^dIiXxQO8MJYJOAcEAadvNJ9bpRf2A>edMDDnBHM^7@6LoJ6REb0QcS~dvJ8@jbwG_H*8&g2VaEQvoF!EYW^e2zCuPbp&??>`)% zDfu-oPCNvq*}@oOmhMUSky8G;#r>bdZn;C&>8mg9T>p|JThYpTiG@nRi3Pt%g}UWk zpRR~>RLD3{e+&S>MZt}hmu(y4tY?F%Mw9bS#VS(*aN`5xGobbRGnNcP{UAEmn?Z`bX4Ms~?ONxg-`28uv2N2`I=|$s4OuGN0<4 zQBJyz-ZEC0n3~sTjW~kkDm&ow%d_y*(DD1D=;zaxRF^Nz@J#@fAPsOP#8)}F!}8`2 z)pf>MIVAgKRtaeh!P}?mR@qLC&JV5Ta}#825_~;r!-6(~uYcoSS6_0h)CCPD3(E7_ ziXu2gVTm*jb7HK78md<_hyh{d*CwP`@Z)Ev(uYYz2p#*g%v;WAgHS=A9p3d%W5x+V zT%{eRHB>TA2P`<954I{i5~|73IK`}|(i-?#ORd}T$T-sz6HaxF9^X5zJVpo}?C&C1 z#+{C^5L+o$ga^ZW?KHWY0&WdA3(Mx6Ww$9yzt`J-isfjx&-t>S)M&?U``#uX!gZPa}1WR2Ez|A2-cfuWyj<>32nW^i(T@?}ir z6#8vjU&Yi6<^4dE|55lTqDojfF}qIq~v4>T%2rt(??_>DbU5GzLcS7q zr_3ob3rlD(J>IbobpV4*%#^j4DUm*_U+N62Cx+#(CAW5{BhO};a8Ui&lKP!e%ngX8 zi+3h^{eBfw6sNT)5#kK)Py(4%k7lvZMw8P)?Vpo$gl?g)C9ao$xj6sUGZKLG?b`Nx zb7=i~zQD63WoK4)BiD9=vgQM_4@e#|r_CUEmQOtU;CmP_2a1@<-je@ay;i;@mh!~G z;^u;XdUT1RY}2D}q`^1dtC81|b4u=^+&1wqxhuRqGD60GAb$C59P@N%P4=8}ssDb2 znYSd@e{xao;%>^a@LS#&jeT+0o4yhp1NuK0j}MOUrHbbqkV6(5Zcj&9kUzH)e%rAX zn(0zggPm@M5ei@#n3GjWah4ybh;<~K5zKBG|G^l9ott>lz|&dqA-!%??KgWcd_OVk zwEjT=W(i85Q-q-7(Fr!0q&+e4WX|;?b??9(4YanScFK)xGu%LgObn=$Y!pS6IXv?zEkFkmCJ~ zTdH0-P2kzBG`@bI{`EGF(-S#uPcNHGb0Ol%XJ3TJZ>pf}+4exQ085$gIq}OKKmUZb zQQ%C0<7pRb`0nxQf8rSX+?nR&(c#CF_@=(qm&3%zFTGB$T9_DoI62?KNEMb)=t9Du zRjk5wJDsN)Q7d}f8Rl|xzTnL%52af!6xXflMb@9rrPeyFz9jJe#1%FAyqVzO_f>oL zy(8qM<4L)gzk(X_!~de#u=#}m3m+_5Qp}Rc z9v4>zgm2@+Ol3V~s3FtK%6Cd{(bgA&<228;?>88z`Q00Ce=+>}EH9#IU7#`1#Ag|AOmRcineLbB4x)K$wlG_pjZ`*!pc0>S0uZPeL6V>) z7JmqUGhURS%tx0o$#iTZOZnz{;Q9RQeD&imDio7R+zGWIA}W~*OOx+QUrxCwie)XXglCg#s@a z=c5gbUgZ9jb%gU-K+E-kWPay>uP@&!ut^t3B(f#GX)#X$%_XxpA9Cd9J?AKpZH2`W zh1QGNWmr?aen_V><1jb9Vj&TlBi2HrWrLAuJeSd6>B@b5Wvo$G=Igb21zGW}VTMpk zt+Oq{-#S{@4CpRcFvWhp+td{odm{4_6X7HZMKTgvB_gwD z9i@*COgA0QVQ?soG__H;O)jV!@-Qahae&0_@P}N9b zaC&7NR;OS^p8>c$4Zt|p-d()bz15JA7W2foQdW6ZS?(Rhm*LvUc#D!%_Gr}|r_))- zo{8~hU0J+5LZUfUOPL*=rQjKTcj@XubDAB#H2Dfv)up$b3}q;ZCjW-Cv54jNq&eIA zk99))H0_+*{St#LFFUL*G(U{YxUR_}$=oO>bM$qgzCy27892TaE_l-2`G#*}_GOXg zodClsKI4fhfM)L8JP36}O0eXcef9Dmneq)9aqjz}b2Pm%K>B8orSBItvjDp2Q*wWq z2W&~PF06cxvHFg&mqYZo%u4@GTzWVdlRjc|ZdcUda`#Un|3Y$QwyqstlmW#ro$HDl z=yE_IU#dGax0}@?A84n$oxuB8HMEqgdZfpA)xXB%lkX_9C5`RO@zS<;0=1F%=4O-9 z($@oZ;wkzRZhNMOO(NkLe=1Gf{s$&-eN3XHS@*?CaEIIWwW~+Vl%~1terzCQ=1Nw- zsix8M8+HAD{UCtkHX-MVJuu4_@r7L^RR?W)GTEq@Es-RBEksXTrb07OrPM0wOc{bG z<)W7%PF?2X?(n>EjmDvhe({%1p&`Gy#F@?pGsFWaXl^D z(etiUPoKURW!axH&>e_-56<=bBl{|PTx%MN9pvRI(cRm35nt$69mCU0LPmyUm0xrY zs`$)Xtg}5gSc{LS`GRC>o*rUaQ{hIl)LP%1W-V^7C2d@={6mq=_0Iol=gX&x3ln{~ zv?lZ)Dj@Naa-t3m56A?igTQDtb~-2N!TG|c{c?8SMkM)?8&dLz1uyb%h>pg(DvZal zN9{}ybny%EHwGdd?w}s8&W{#*eCP@d^1aP}^xfYrWv?|LM)J^BuDzhwA3K}i0 zy6THq)A;Dlq=wD0pZY7IcHE`${*=$ehe@xif!?ru1kHy~JbD&GEm!RQ3N&~WO6bWmnEebnprkQMIhCj`b(ZDm$3BCzPe9egTrL--iAnQC*@ zWx4f&)bcqYMX~%YGw)qW>R``E&SVF_=ggp9rv%RmeX7C0wWmSuOcwx?=onA^F+R^Sw%hu} zmm94HK4+QDi3QX=P!y5Qm0h%V6hma|e0!6@4L|;Xpv9-I^~`hYz8b#|jo_g=09of~ z2MM4*9=s|v-0-B>%6jT~$Yv!}iyDB_4{q4{7C*kVjZiA zOj}mWd17f5?`TJAFE99OP1$&!**%}(wN^8=cahxFD*@eVJ{ou%tG_IqXA_!N4I{+8 z8WxL%Uikk>J(eTixp7V?@Q=SmRnf;oKqc+qh*1#K=F1Q_IMZ_`W$Vwb8MV10V-dHH z^3s}CSek~(QsvtcuVUkm0#iGX54ufImj&^)|9? zg_R|KDL;<0?F0gXr)UfG$VqDO<e=($I~7Ee#2wwcl+6D?gH zK7Jj@)TjD}FQUebi&8M&``fK{X9{s$aWkRS&Gs!((`cs5VM7~yh@yXr`1Q35-r8ub zmcqCGe*U^s60V;sc;BhH>oy#im7DuH@;VY^7b}UQh9W)iTKzxVqLdMUNMRt748Lot z2m*rp%)Iai>)CBI|08)VhiTR8H|O1sO?_PbUAuKTUy}FsRO&|PJ?nS8>T1KH<2M}= z2bgR;Cl(egXfsKa$%!=v$;n(PMp>5}4lp#A{hqcY7|3BN|X zPoM;y&Ar<*;g~M%B-^8fQPXK=?)b0TMy=+9Ok$G*h8vG!tuCCsIC*o4d{?(^LuiZV$C1N+x$4q~3{|f2Q#Zzm7o`q%_=NM4tWN zb1sMRRLsdwbE6*%D6@;SIu0*}m7VQAQ|*s#j>6bcG$FJ~wII+fCk}IFWG?cwjxY8P zzu5fsXR7OW&CU_d&DQ1yn|9HSST_kFjcbaxH#Rf+@L81kUQW?oQqBPpx%wsaBdbSV z2kLlKtKRWnaw0bD#^G!$%ieH{Q5a9(3QKxOYim`%tUwP-w&pvT%BNP5dHnL`URb3! zn(K!4jHQIq!2&7}(pul!{%Z7!PeZr5gmwnAL0#3dsq$Nh42baXH@_w19` z#xh?KM|AHV;o#Vfin9w9Jd}b%xF1YG_}d=-%3m26TiEi@q3aZ-yppoAva_WE|L)^T kX>}#jNcv|ZKHt`In@D$V=X7_A6>oKBIqVERJx}p}04}@CssI20 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_fly_loop.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/lurking_terror/lurking_terror_fly_loop.ogg deleted file mode 100644 index 7204c176106cf742424407918088acc170e86e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33914 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�hEHH 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 diff --git a/common/src/main/resources/assets/antarchy/textures/block/amber_moss/amber_lichen.png b/common/src/main/resources/assets/antarchy/textures/block/amber_moss/amber_lichen.png deleted file mode 100644 index cb7a9d841d66be046db7ad095163edeba6c42cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~zW|>QS0H`j z$eP|+Q@Xmlnwpx*%FBQvxIn3mdaJW~w~yiUP_3o0+UxVo&{VeYe(D7ZNtFco1vC7| z1=xfBDgafbdb&7(1O=x8B^?=D1Z?xJ#4^QIohUlF zVpE~Pa@jAOiMgsR;(`9s5x%Rg>FwDh{E|0!r@nk}^7I#JD|=&ePnc)@c~!bz@tyh$ fq5GFO?f#_KpVeXe_oYMeILM`*u6{1-oD!Mb@?P)Px$_en%SR49=>lD%%+Fc5@?)QL+a5{)=w5#PCyiUZQbO;D5jw16iY?#r!k_nbaD}Z_t_XB`Suz`O?ggn zj1m93G;4?n9~Q_AUX?MnBvK zSyT2tH?$ce08~1SQI?7-o!ps>5p#-ro4wDscgYwbSr`EK^*(?5ssKDYF{d~M#jjnj zkB80sEK5aPJ-Jv@?t0AzE}L?UlI_)$gAeXZ0Co(7wLLICrM=BH#lZoP{J)`GDzX>R zok^C8{*JTvx$89#&4|Y+kB9B#;@)P4HaJu|$x5e&HUN*0naK_g&rTc<+u+bznu017 z4GsXNpk!;QRK!?bqv(1KprMUn1RpA$*tRjE(y6$yZKcz)6w6YSyH&2s@FMFEs{Xin zpT$l9_-v5HR#P^YTFxnYpDUg0MFcQ7FxHwf!>B21qd5)12g#V`$T$embb@?P)Px$_en%SR49=>lD%%+Fc5@?)QL+a5{)=w5#PCyiUZQbO;D5jw16iY?#r!k_nbaD}Z_t_XB`Suz`O?ggn zj1m93G;4?n9~Q_AUX?MnBvK zSyT2tH?$ce08~1SQI?7-o!ps>5p#-ro4wDscgYwbSr`EK^*(?5ssKDYF{d~M#jjnj zkB80sEK5aPJ-Jv@?t0AzE}L?UlI_)$gAeXZ0Co(7wLLICrM=BH#lZoP{J)`GDzX>R zok^C8{*JTvx$89#&4|Y+kB9B#;@)P4HaJu|$x5e&HUN*0naK_g&rTc<+u+bznu017 z4GsXNpk!;QRK!?bqv(1KprMUn1RpA$*tRjE(y6$yZKcz)6w6YSyH&2s@FMFEs{Xin zpT$l9_-v5HR#P^YTFxnYpDUg0MFcQ7FxHwf!>B21qd5)12g#V`$T$emb~2FhW+n!&Ya}6gbr{3$X|O zyoFJT3FR^rF}f3{UQhRm?rd0KCQOpz#GIyc3Y@T@y6)S`-H7hSMN}9$I(Cc8BCLf4 zBuNRUx9<72Ou-T?Eox8+gd~zqPRlg~dvb8QO0l;_@g*Xuj7Vg|iog^i^p?+^;mOB$ z@bbJa2_TzD5#0!NBW4Tt|IXr5Mpli$Sje%s{^ox|abiMT96=Kkco6HXn>UeDq}UxN zi^pGq$4ux9BoJB5wvz*6%idtW00030|F4K#=l}o!21!IgR09A9_aWC07GxFx0000< KMNUMnLSTY#A-g{J>(5}L@b~nLqN0Ol9Mn;6Y+1^Wh>sw-5oHYOM8vosY(%~Qf zlM8S#qhRUCQWX z=0C99JhE#2InC8Ai@O;&I7Aggt5%|RQRb@Ua#k?p8wnb*1Ct{I6Jv^Lil#rI7lnj_ zU-EJvaJz?f)90*vO=mY}9~=mGu-Q25>VHPHZD?mb@}r37-Hwe}1WaCH79ThKejBj9 z@_5(i(wN^ceF*sQxaRH{v41)6@a1p0OV`MD45w*B<}u)l@f;Fy%r0q2pC|aL^2gNY zkIcUu`FxZr$B>n-Nrm7%9QZUGGRU7(Jj-$I#yIA>!MmEFQ8ZL)S5#&{Fn>C7GohIW!%5m`YVeCSjkbXyqHUVqL$5gMVR(?Wd9*XyYH zRQ#BPS#MeGV>W3>m)lg@bvlQLZ4|Moy0qq7rkf$#@voSa(-dolwv}!XvKBrzW)rbE z#ss~P+oxw9y%g?OZ}>LtQkFy%Jc^qY+saQVr)p%zQg;W~il$r&a+Q6H{3K z<8A9y1hZs$SaOh&cl$m2M2*ym%S9S;HoRZPjEpF1_A=w;{f^%Yk;j@x)6&}XiD~c1 ztq}Sk)NP-S+&q2eA(16f_vA`2y#seft7R-C6Aqp}XqTFlM1-rmBcFT+UqCxboff)5 zJUJe%8Rp6qTR!K)fNSa*+GUqY)#If54ejHcegDXP91+Xf#hgdUE_CYgCI){I30zaA z)e|c3l6-5lGRu&u!uQzwp21*4&vo&OF6A&H5c=v4m~=&qRp82X@Fd;G!4t!6$lf>x zC+U!JV~h)~aq#uCC*OsOn2B(4Z2z2Q?uzVY!`6dT(NOVXynI0bTy0pcVI>K6l`G1f z7TwSxu)6EQ`YdKK{S{-e_OR5VSTU3Zrqm(kFqtzotB837M_K&o@e_}(kGU%H&NU=L z2z*Fb@@V}DP0@ceis%cS&stz3@2pMJqji?$O~s@664HOV=P7?p{@od0+1;#n8f_Z8 zKD(y@cR|RZ?$SNK97`uAzlzpBP$@S(Rxk;2rsVhSVPGB^LRWT? z%Z|e>ebouGtf6+A;L3u`>?a(&3|{-MX-$4$@i62|7!t}w-OIOJG_$l7C#|Mj*)DOS z%#?ZwxZ4M8OJ7qpgC2u86d(K@FZUBZ2M$rk=d9VF@$!kuV#`9FTIjl=m&E-)GE+a` zS&4XTB+_y+V{*IYy;x=^_9-M&q-H~wpN@RD3t3uY4MOFGA>*_mq3D%u;nRU1j11?9 z@8o*ouFGZnoX&Q~R?z`k&mM#(7Yc^EUE3w;nqF=6#vs%K>`b-&reCMWTQy6xtf)#jd6`wh+0Eay&) zuatL?Jr>4_X&e{?Jl=iBy>8}hg>RIp^CFo@=_}BMtHL*w6bIq+n&)-MOvaDwwWgk? zW_PW4RK>dM>4K@3!+&?h*BQuUTr%w|I>DTyLi$c_pH+OC7vFGMOj9;CeP`;V#LgXy zai#3ZxW`MjNvd;6R~HrSPPPP)MEinAqg&_XFy&y&AEUBuc=v((`~~@Do>sykA%8!9 z`a5o>_e_=>mUo}|Xw$vin9=T4sS?~g^TFm&(E~L_@P~FgM?sg7qKz%81TsmkFNY~Gmd5BhGinbH(Caa?2UkP>2vM6B<-&H zTBjq@C6}t};2Y6%NhMoFwSTw!r*u~XHj0a9x%b%iIa6U>$TVKd;WsA6lVRtop*F=L zrMAnt$>d0DN5=){PsYug^JV&;w`13I{-T&Hr?;cd;Oqj=bir;I!gb6(;~ix+)Jb=!2&YxKfU zFh43*E-o**R0_x%6%CL23{~i5&mki#@0LrJi6Y6fx180=)b+XZ{OJ!dp+!rL47K=3 zET&r6)V_Y~@lZIWpfn~y@CBMjRVt6N{$@XC^ZAMQx_B&rB@zw^^!oI`4{CvjMn60D zL($c3szj>Ypq+F{4+EYCOZvTtzMwo5wH4}l>T+*FCI4q}#Ux=!8j(V%H#5?0H+^Q7 zJ|W#Qv@A!Kp;B}ycYL~?mTa^W9~`)m2j;d;@(nqoOuQGz7bIFri|nH<$~7GK5$m~_ zO1t+&wwvXErHYZMF=Q;+X!k_bppZCYhc-H;TmA z630=HO&PM{#%v6ccI~?^zTC{41mC0_Qp!q8T_5S^bjl?!I2$8|Eun{$lBn_I0}~4zH^xy0YC5QD zxfaQMU|IOzlaAb-c!}u`2Mn@Ba^|q+Al<_RcnTsBI8$Ysxf02`a7E#)z!gU96zWE)W9z4f0S~HD=e2hll@urh4$=Hb z-@b38W72|UbfkClo;&pm?nRP!1^HXW#Y~@hGH$Z^6Y9qq$EO+hb}*B0sfc_krgcj5 zvdVSQrId&+B!0Q)*70zvNt$YP zB3XH>5`SvzBFhJsOm<`TlNl4Kx)y^Mt#q3)yT>7SMv*nKx}=JvEC!I}CHlDcNN+o0 zYpZuV?GoVT)&r^+6LK|nKxNw{lXof10tU|mp2{bbn?;&h1kI9edoy}prhIx1xU=z5 zOj5KFJB(B(12JLEbZ=ciYk$vZ}gb)d|> zs`|8r$gGi34la0(LsCJKP_qzOJUB`!THH=*<{HE;2DkKWO{7JVRhM=GlBFya^P@|C zu3!9;+){l@ZSoz{`yDq5pq&jYu~j||c}bMfd&|j@p*)jlG^uGLV|Ekvr3B^fPwDP@ zY?V+JinMGi!D*{Q+xlA58doJiMcbZOcMGBY(TH*VFA^2A-LfgXp|JSO(w4Fo)`F?; zfiI36EB!AQ0mIv0bBkUDLq*0buLG91|J~ui$ap(T47~*pst@)uOwtHY%8ilD(n_#< z{T$k+ba7;%9C|Qd^j<9H?wdo*!G`ZHVw*4|JO|HyDDE5Td#K%twyc*evbuI-BBe8J zkd=27b%9YokWE5X9C%{w;KjI`kfowBJ~doRYNvih?Yhf5ZIG5d0xcZXYSa`nS0>|; z(JqCAOLFm%r5(a3BhTcOI(n7clvh1AsRqgR#UFB{tiX4jQ}Hk zH*#A_F`>9(re>=z=*F|(FDQc!^maYG$$s$Q*-i}(kgld49 zR9VTe8#~>Rje_c*QI*75{k&X8%!G-Fk)O*Fw<=e?^n3J#eOf)p000mGNklFeIM)z3g!gjO9@j+G!kBCJ}QPcx*jl1PaS>1$C&)d7pW@ zO!6efg@`oo36;JfQF3TpU2~nvk&^Wn*5Jw;9n}zZqb#!)nI;b*2gSu+?M&$Sm|e(P zL%6->B+t5O`t+IS!GcFiYqmZ}LZZ^3V%|0QBe~A8t#9|5&Zfs&t=+vujYMN9yNf(j z%R6MG+Cl06NhB26vN$>tncb9)jsx126KXFvOx7VAACl_OTecCGcgmJna+j299?g=W zwsu&I|B-R?KWJ18dgb3z+&tTn8bL}oCmfQ3s_EU*Q|6kFj`S?0>C#xX$>pG=P#)g> z=fg*%G!^!Lpr;f+l0CLU*>)GR6R`y9)&>T(#SWq9eU{TH;`CEDuXjRTIp+idQOXwFSCCYkrB7xNTX@_{AVsHRs-3oLnLpK6jdmj5htmBJ35i=$E}w7S||dQUvtLIS;P@u5_=76w}4 zgNn7&Va~w}BA&ztL&16Kr0`Vg*it`lTVBP*!P??^&y#ZF#*T`-ED7ztQ#u?D*7Qx& z&=p8ZvhG%Iyx4HA8`>hxysc7&`MJ2zR}a}5{*rNTuE2}g<~=Iv_?yOtZ8yc4wXSYT zN!nN>vTwPxEdp&V&?#}EQOIn!W0NstYY9%pA*WtK4E;FcPG%1*Z0*fzq*6NFNV_hc zZA4`KlPE-j5$UtEb*1G_d+O1f@?eyvUi3AV`$8WQI;`5*&=&e$Oaezb`x>+l53pBO z-pIZB4@Wi|3`3rcM9k~(!KSdO@8PFC1x?6ChJE~W%ZE=-d{B}Zh#z+f{mABvodz^Q z>cPf~k=`XC&KHeM=Lcq$Zz;E3PUNbpBoa&rWS?5M!l{yuCmgJW+DXZyCI@Jy8ZZ!X z_$pmI$KV_$*y*0H3+<@*sQB1xx7~Q6(Qv?%f+- zi>DR0u7hXGpRy;Ey3}lh#txC%qq!#9+s400)P>HhSx#BmK0tBM*$h}pzrE|;^h3nqGJ`9ULE98yza_fIgZ8sE!L70MM7!n*J_KOX3@xl21 zz^Bi@;YMZNCJh-$Te0@){r8KZNtH-S!2Y z<&2eLeXEgX;aL3^8fjjj2^7q^Y8;;EyHtAL*z9ZfXjfnAC4dv*0#vlxcRqBWWN%oH1O3|fF zFwZe}!i8HnC$B{gHuMz>J%#pzQ5oBj8IqO@ zf+K+p7%Y!0-6U=zk3ZcoQ9uQ<{7M*DDyf)xz|8WdDZ9#vA$_g7(as4MMWg^FvUs?A z;PL$}-|ND@pnb4GX90y?k~k2gYesq(twbQlwey8;U=Z5Y{}NvYj-_DLDARnAf+ zA~Kf=-ncHVsJv4vQJZ~csvvpv9h?GGG^uDx)QUnpXLF(Q!&Ep}+hb&t#IqI3v1>Rh z`;-m~Wo3sj?U0vRjY^KHNW=*t@(U!34mIV`qCDb`|ABF)PRdw3Hx(>GoQ=jfoqX-1 zZF<{FlD^P5dpPjfs$k+Bwpq8{wj^ zue^R1f+|%Lnxu4Qm{U=O{XJvQ0&0PpU3sNj>2S z3TX3+Qzb2nZ$(qd@vVkY5hD*ACEcxp>q+rIRtrp> z7$<2+q1Q5GVXJiY3ZLKK^Sg1tvmMe*BPPltzSPZ%FJ~n~-N=A7TU1D_e&7&PzoDj~ z(}@;K>-R|OVT~x;r1h0kc@rqPZk4rb=QXa4==;Gau66N2YU~d?!p)kk3~6IwtzcS) zG2tv`u2Jc|U9g#?t?(|&h(~jh;7WP%ptAL?I+McUhWRdJBT*9?ji0JBIT3U#+OaIS z=Y-O=<;&6)1)cth4`Q~L9&bx>kM!Im@+9Q*oV-v_F38I^2f_E4u9DIFrHV__b#SNJ zDF23>(J@fj>V4dCuwtdEq*SskmM|S}c#*r-R`fytHRPA}cTs*ueh)_fz>6t#$@age zuQ|!y&*I;G;gc?U5p;bZmgqGZu@E{$0+-F)tHB-(d5A@@8>8{p7a8(avAwaqpzN{B zIpn26F=0s7h0acrGp**gYP78i7Ty|23~i1u2ZtR7H-WN|OC|wX?d;gtD3_@0XY4!w zGG!s2KFm2-m2)07xj89`vZiThDlj_TGrH-Bv|@dxT6ra~r1Mu~{WRXgf4l4DFDSYm z&VI{QwoK(dz{>PqjWQN*(y%p}2AhxR0iQpF~voeGgrz(BmXP`s>+ZF5z& zzWR3Wpn(QE2ckqwavJb53K>{~3RtdMYE$-WhCzeLR($X6T*)OnqYq7mG&NyOlf5-jflsh}oTCP|KYzu2l<%WVX zm!lwS8;d#_D4~L)7eidTqF&8VcOu+f%uHl6QC*N0{_Vg@-+1k-WrwuQT1Mqf54~i0 z*T((sh23t8ph2Mg5Gn@j_eed@v+Z0kUK@i|OGlz5<_iQ30(m2? z=&Y%Gxi~9wUNhA7UPcC=Y=$iT44&$#$mr%kGx7_eD<{{PQk7Ct7?4`7C@e27un%%f z#ZV@1D5)fD93dG0j){$A(<#xccc=kwy-7V?COLumI$$BymVp)mQL*Gw7YAnQZR#qAPwWQuIt{&FQ{Oy!-tZs?OpI=vNYB08;z`da z4Y`s}P4DfLzF*T<^{3RVG~u4Gm8NCqt+J6XiLypbLtX59(Y~au9kVJnc5>HH7kK5b zDa0Ys;I|A4EegjKyX{WFCe^fHTy0S`g5+L+dF>ZmL>M9aFeJ2H>hhk={fzgsknyKy zJ_xQs^QScBowSS@jr)v^pu1L9dbTH+!uB@rQV@xjbkoQV+oXF!pO3OqO%+^PgUPA7 zvlpelp46Y4(Jh~XEe2YQKIhR7)LoXn>1uHkP+Z^r3~f#HAUGfqlk6wV&-naXBz{6>QD{hTM-YYbZvi?Eyl;{5c!Z7cn z|40>T!)6CF`4X!0m15Pr`w_;DJ{^r%`n%B+__iZMxQ03rQi& zJZYn;k#8SFTS~|%0CBWSChtOzmg}=V^ZqUUR7#_PfTJqeAnlM&K(?HwXg1+%#@Wa)25^kQ zC>oD}{5|>AbfHxCypLI1+=p^u{*0W8^XwsFqati#wBts_FfCl#000mGNklUjHxeV_gxR)Wb&qp3JF1d`P(A0CIMeWp62xo6PDX#NSNkTepNJyfo(zY!$ zQ{y9j6(0lT&#I#DIM^_>Sxfn$*z`DU7cC#e;Jf(RHEwok+CWicM)voNAus$VB~{V_ zuI^K-TvBn6nsC&jv3b~YZ&_!k-82?ocHYqvjh`#bkG2rkf?dEXIaG?@P?~&UB$aMN zI7gL0Jrg+WwVP4U?E43L>oL1*ft+=vJX1+~q-BR>u146w$|0*wc19-_ zCB1R9-<6Gn=NBF*0TY%) z~*Z=?Cc; zevIFIN3-rziM9k^{fu|A$%$BLW{a-fPO;DnxK)B(Nklu|*_B*sN=v6l-5|C~%pX{# zYp>k6Ufr?ooYAR!bd~=0x@Tn+7&Wyu_0vmEONL4q5h&}9<%vMhEhu=_DzGPchs=7; zN^oBn9LnjKd@W1O>|teHbC_~ahT1z2*j#BmrL+~{AmDi(GWoRUgLvVfMN8=nDYZK* zJ2E#WCLvMg_IzCwZXXj$$Y?3)IPATrFSr&(d9%Dr!F4eG-!XVuGZJepW&FULWI4^b zlxi|m#iJ%*t?hy-N7LRT_mh}`wZ6rPy-5<9oI_4?r^ZQ}3$x#0kAy;!c;|n`nZoyM z8?d%h3fov@AZZ+sp*KoEt=3OypqEG|SPYpPJ9rkYEgqJ9QTZ}|^RE(@EuV8I!j<8Q zGH_dgloIitR(?#m|67J~`-4d5pyBh<)(3&aEr|~fH#0tr{{AqnR;U$RY^Rb-Ndjf$ zWd0qc``_?zci@9=j>?9nHKfsp=>U#Oo)ztC>{MbkWp#+z%L9Fte40yeeEfk2Rj|() zkL;=8It>Zs$)Zt?zZ8+|MIbK09cq%`C?Ex= zUvp;eKXL0=-#dgFYuMx9l?zT36WNR`$+Aflx)FzE%dHwsU$s8kH6qqP(L0*0;61z5g%L%Wj5C(Pivef zYh>h^trnjt#lO6QEJWi4kQ!e7irR9*tE8sx()1i$88dToqIh^m{;~hc2Ll(37T5$} zk4XY+b(Q-shXu#hKci{wVC35>;GDMT5W|PR<&!PA3Jw)j<(;on{8&=vTNT*A`WG+hjiLOa^^*rJy@^>KV8`q5wWO*g@%)LFj3$O0)N z$G59_suIzXX;PFn3Fhote@=5WXY{gSXzkIvQL_CFvwD_#!KJE5&6z{QMyqXA7ev#oceX z7uEY>=R?v^6gm&1JBIdJVPGFPMCL5V+k!{Qf<@oUHp!@n8VCmm@xn?hwHBzVHk<{r zRoWv{EmEucv}B7@Gu<-RY+w_t*kAqyS3=*p#M?@(mDoy~TP zYs9Sz$&w;6{5;}^*%uc16H4-THSdtlyA(ByuV-6iZvTOM`xhjV%q@%lB%Wi`BU&W- za$!}T*pD_0Z53*nTG6+dguF=qy$aIF%Yml^B-LkKS(}Me%I5SZoH!6#oy7-5Sv{$8 ze=iZ&qOKDYe^6vcLbfkq-Ab@#jS<~D$Wq_2+`}{a1@2>KU_D) zPlBhWVXr!Qq>Z-aKc;F&BM*PelM#Ghf|!F=&#O||%h#KH3Y`N|u}^z6Ji3h*jhai- zHeoWX>Hj1B?F-wqE5;T*#mWmg`F-IyB)Uz`OYbNwBPO!)LMrr!1MI|qt}M36CpFD! zQnEnOfNE+~(w!-l7ZWb|t1j=nB<|;5^I5KXeSTXTL_+FDk!f@0^l8n#(w;f{_vp$? z8B^|3kqW{2DVOOA$-8@Q)av%d2i0zhGa2n|-cUNf;%(RG!X{o_^J#g{uK9+#89XtN z#dq5t>-WFod)0wYHpO4Jd6#REYyJ!+E4;&${a1hEzO{C+eDL`*?`@G`?D2;caUQae zjypU4>XbMM4@8?W+xhp*-84yiusQoKTwc86LLh31M@I7RlhJO~f=fk#RLnzJFCwxwPKc*i-I%Je-BXPFWdOKcq!S8$%=qVSfywUO9sV!6_Y|5U-T z`Z(pg%>&ExzvA>f!8>6?@W)ewl~cNiPd(1F7vy`tp=U!{p?q)*ju8*+75jBT^YG=! zr{Ul8()l^!?r`t}q&0m-`0sa4Ztjj*jR8L7ILv7QdxPJhir zReG!p9V*z?@=oyZKl7xWKM3;4>oi{%8WcTb#ItWXTf{76^_>8sGKj2*)Sm3F?POO| ztD(lF6Ty2dNh`Lv@Y8tvxzha4=$iZQxYy2GtMeh^DBX^mkd1Y%SSeDV`ig&{s{nmljhNmUWYAG@kc7h+J1r zO#JDIk6LuyI;Ew#Lp$Y=wyAAreZD-hOvEI_&bEl$Td0|V0u6Z>?CE6D{gv9hZo z(xuiudDZR2B2tIApVhsF;>p=AW-TzatQ0B(RsvP2bwNApP|6wdMi=a!1D+25JGNDk zc8(6gbHsz=sO^zt>xdWS1)D><`D^mid+ftM_G=-bu=BFR4^w{o@@q!jYdWVM*OtbF z{f)rnDQQNk4=yV|ruO)29-j}~D*Sg+A!+nKS-GXFiX+fq;AZ#2uJvP@Lg;k{S=lI^ z`&_pE87=k9BU`WAOcxFuX!B*BAhn9qN(@t#)@mjy7-#QL;?SKz_V~akP4??UGS|nn&>zG z)t|lcf&F8d?bDq5ZJ+JMDJRAbBc*40FP8c68{R9tABFq+X_vF`NR(=jU59KH%F&xY z!TvFAO#!!goNy~?BRfyLSKgZ2zo=1!O|ph!N9>fUlAH~gt@|u>!@;VxABf7%RN8pd zrT^4EMPocieBfwuWyq;wttb{69EcV-EQ@uDPZ9SAhy6Zge{;vj!-Bodp3nus2KqvTs^T;QXa|eBcp6nwZkR*rBL3j zV3x>|Najf`J}?*SWYJ5dU|CXZG!h&H0f83F>Ai}nxLCjxuKyWtlu%Dq!mn>vd|aWho%UUF51eg~MV(w-?FfUdqH9bzG&i3KRXO+NP<$qT+ z-&dyg?cYUr{{vd%?|D%Xa<5isX>u~42xI%W*A@Pcw<|gryZa6Q#Q4)sY{(RA<)mbmJ^DXm5#6%0G>_Z>LHxwq{@lrUYUq!r`;4j*iKndXr45CogD;HibxkdHnPTMlXfxzkYkwG}dXLD&aRZh4)LTvhohRU`Q@;K91j zJ~3qv^@X|@&6x+$p78u{oUSDv@x$E6+9&&%K-g}n4tyhnxp$wq7e1Z^pt6jdkS8() zkDBnYzMpeD{zW`J`-(HYUo=@4JJC*Gba~_F@t>Y~)NUhNOn>teeq>L^%LU3x?dRPj zSE9aSZ_cCTgRg$VJEL@U5G$4a68>Y4TUmRomCGkBE)Fw}*ef`i000mGNkl{jBOsquf^N+vd6MCJ! z<22(?mWm_s!AIk|N)BLr7hhb^6*tz6i&;IhNg8}%q341pxGz3D^ZUgU>&qW=rE6^^ z>l?A|LN&lqCGSz(AIYG{-IT58W14?WL)K0ROfQ?5RT|Rl)r8)$-0624p+;e8&sOt7 zpf75lD~(UQ3<>G(J^fD%YA)5ZL(cAKH?!&r2W#OYCuv*8GbGa|aoPVe9;rVkIj~41lPap;5V{E<0pwA#Uq~?cJ6Suc=*xsWkp33_03ANf+5J1ZQ7v zorn*TU7t7EF1h{N-tAVoRpKYe7ZvV`8%GK@^9=0ZyJ2l{4?r@sen{| zOEK6I$f_wN*P0VyY%esJ&=;^CG!}atPZ+Ca=;07umHEo1z~L_#%BZoK-?6mDQk6Q_ z8)mOm?-(3eIh}$;&Y@Uv$?7vCO~#&n>_+VT9LfHHp85TpUmZZTg%U!@&|cIm(aM)8 zdJbvVkT4m1*`gvoXjRM9S1UHX1wGe(mOw{fF+1UXRC1}Em$)V-ex8UAB1ZCmf3(zG zC1BJKxhEhx|L1gsjigv=ZrVPl%1VI@R?_&dE8iWS=R8f147FgRs6|y&=Jk2is&O~t zOaE_qX|`zzNM)0ZNfn@SR#$x>QLQ~xA0E}k)x-zih{`I(28FY8&P2Lh#ZB~bpeHG@ z9AWkjyHbX-b*G4;Cu8=tWA^fE-kBsux+iVXVQYnA0c+6mA?A4B$UhUqk zC}@*Sleduxm}$sJ&G(DQ#69)7Or^;V`wZpkk!vuDk)|moD0O_UL@EbM6iVNbMVXA! zOdB#1KXc~urg}wny=5uRocfaV(&P1C?=fBiul|ObAbq}AFf?@}mz zP4(%9Ct>DUlEo(_PP?j?4+{aQ@P_>K6BCtlen~D9jCVE``h5noSiuzVVv~*yD$m6` z&vBXVl6n50!hzk$tZrE;w;z<^kHUmKQ}DG5!h~xRtD-KWB%AjfQYOZmZCNbuSP3w( z&R(C)?_cbLaU(p(!4>V-Y<>*4?E6Q0Dn>$+F;YQd zO2mN*$3oMi>n3pf>sRsn%7Hzx==d119!B)+UzAjTNzmz(Cwk2^uP_4b^v z+b%8RVmj^D&h`|&hGPb{J#5$L7=tX^;rytiDWVvyV&X@{btGzQf!$PCFy!U$ig@yPyXNz}&ukvC6zcAY2;1U= zT#4M%@32n++zGu)Bk-JB-9zaT?bFN=)@3>r;N1dT((JB z)S5z>V#B8+hK+0`;(=Q^p(>8B=gtYoA)%d5iz)0G#PJw%^uf8P@O9%W8s<1>clxKC z);-!jfv z6^!@lUIz~!d6Lx!a@FMdo~PRbKg5RUyu?-O&#CwSEh9zc!H6_b`L^24G((VR4w$11 zucVrj-}9pVmSUxlGi1_`o-bM4{5$SNsP??!#r*mce~(@^srCcz6n&N>yNL>Eae-$6 zX5-%4qU_M<{)CPLu~OSmCDFzxk>-_9W)DYhR8+R~)lj>4d>Hbe_kB zXIb5`F4w8p`y|D|hI3{WF}J9y8RQTgNu!>Vl~7nsL%vm}C6}ED`-c~~QG>dz;--*y zsn~FKECL%D+7dThsYXgTB(y_GQ@tzco|ihwMw4d4(3UDjgX*1j4^JDM8s8(??$WU| zCeX~)KPbMS+oqc+khq#ROWsb-ktk|Mt*~+H- z2x1w%Q@Wxs{f?Q@E@szbTREp}jrb~h#DhJ}8AtThp)Bm!?`hACT>J{({3V5_@8~U* z>P@Oi`mp7=x@D;fEpY6T5l+G(Sv1%`Nht_O$*iI9O1KlY_uq4mBvFAjHy=LoYdaTu zL1`>voP<<2#d%Q$wtT+O*IF09{wHFsX3i-jAtBE_SnwISF4>pJ@3y81&N!Hm?p*vC7#sT%T1?Njc$pK z?d+@=_ON1l%S2RH(Pj;!=u7LD(~B|}(qI2!7j?t~#ZHs1g>s@mqFSI*HdF*8U&Inf z?O69*8Ht@Zsnf>6v7xK_KmrjLtCYnN_HpF34k&M|p(BWNa1$RQ4ilK8m#s#Jn-QD) zDPI(>_Xgbh88r|5L~mCiToV? z^pUCTu#*9&k}@NFY_!3xs#IUxF zMHgo6X6hX$PK;;oGcs0L&}?Qs>LQ8YX~?am?$+0|#8By4iJA~9(k3nYC^%VFi&QE} zs)B#pw*M;*B9II<%RYefJm!A;%%=Iz)fc!JS>6%hzG%y2*Kn4olCsPs^%iCy37P@7 z(=}sd=ui+ACE(uAxb6KrhRZ1n`#4qFkdZ_M>AfA?(pUcM*+gr)9#=E+n<}>%2yWR?g zp`ROC6Nq)IGb`$a>k;E+o~rtZ;H?Qpz%FIPv* zgvP!3G~|2hrqPIz63k3BVXf`bN)$=&oYx#^)tXoctBNUf{!}^BkW}?Dk~&+XXv?aZ z?CXu5Zz$;Z+zt-?3B6UoRMRaHF~;hzx#Hd8J&U|UrtH&@1Y4t`dG~Upmvbp3z_)rE zFpj}d);g2UHTxW=@O&x{xRW_kt$0xS&sRO#M!Gtd7|M=N2Ut>Zz$goO)iQOdwYSN( zoTqGkZ&lG{cn+>oUdgEOtiHSC>ui&(F&JCIIuHv78GT0*Z9e?K_v;mFsS^bbf#n5N zHS1)awAn-~<$=9ssLvX-J;e@D!qa@MMot`Yr{5jL!RRHTheNEW4Gt0Z*~FQ~AvZ=5 zw&>63D}7BoNLKSyD?g=^AlpWZPMj5GSG3Vp9!IRDJ5{qL7*CXIVs zE2v`T0$i%%((pXYc+5y@jg3Uv43G3woo&%e^>Ca7?{P%$>A#uv_hZ)g8$PEYBb;Of z<%7!IxhnhDGRK_wywQD5=n(1xUj(yvz>)uF@3;J3jg}3fSl&n&&XbThi2lSEtCW7uzoVpk=O%J-biT5zUsDr9+rJ(e z_G0e$N;c>v7aksd;QsEwCyPM2wwP^`@BcvmX~wh3HOV@Ce8>GX;6)c!6@?uQryR8bQ~RgvlL*`D z?EDO=+SeKhyJU22Uxp5htvvcu9$rHF`Z+6MkZTWxT^c71jRJknRskm%*yq?+6#xJb07*na zROAVLqOGZfa6-=JKEEYnc zvTj6_t?LuMDi$e;Bs{GV+t`;&6}iOIh^am0+lAPJy!9ev?Zvpd4&ftZ4=A>WIfvf# z4@R^|Os7a|!J-Q9zDk~0MtreRsGEF!v6c$r&CSz+2VmM8ZP4iyX(-pXM0SVihRO6h=B=O7E@mjXX%eSR&ZTcgW#7c!SWi>C zy5>xn=^F9i^L)YFx=nmge${csTBliy>W?X98l;y)UjK?l`JgDvH^P8;aKk`A8yYnj zp&HAniiM33xwVN+DLm3FY4W0;dh^IiHM5;?xi*BQ_g06R8*SVd?SC$Gamd|CYq75A6 z91<~vQaj3@P+Z@$Hg@o=fx|9$PQi~!*eKJ%)&P(N-76#R}bZbkQ9gGnVdV{<5`(_}0MDqac_zp4)JU?$>ZY_xK%Ewo zIX~k{q1{x-=jEA$IApKyp*XZ?WcjrixtwyzOC+ah=vJ##{TM$53Bh+333(!ylB^%+ z^W^1XnTUj9rDU2uXJ=KetZxg3e8MAXGqXh2f1t2keSGAHSeuZ9|DRdMoa~W-$0XrrxSUZSt7bfi}m4PoZN$OfhJI3}&2VeT< z4Yl(e7h=-1SokCj88Oq-=s+)_dm?zP4{GW_>@45}l^f$F70H_wE` zij6`iB6|MJqeA-GD5j5=_f&lxHnOx3C(pug!^`A%%m@E#Ft)RHxz4KSDxIw~tXU{7 zwu1Q4bbPK9VyUztA>XHjz87)A)`9Tj3*V{ncrOnewW}@pwvsY0F-sn#E)#rhnm-jE zWU1@sgciyA<~1rE`8h4CuT|!6vknE-&3k)uIYUJu9ShFc#!so6;cpn_PswFcf9OUM zvaS|N)mzlhecqlVxGH+&#aJn^a?*}U_5r(0lBB)YDAUZhLw5DQa%=X2amYZf>K&#C zgxC~h76GeG$kZZHt|nj5406NdDddZ>{jrzElgjq9*fqG)*A?!av`0p;O*;lB=TNLy zX-ZZ9%Z!gg*en4l^DyMWFX7+(58Nrn7kMbF3aKJ22r#4JfuX|q$&LYn1^ZNmv~JAG zYa1aqwn$8W`i@V!c`8?>?1f6CD=W4xTFURXetb=Bqa!b?DJv1I5hlvwjjdToXMtqo zK~gT9%eR5zzF>o?;?k&;s9b-|wOWFXZYrfxGPWUR<)YG{ zvfHvwI3!17hP%NZ465MTrb?tV-ENA>JQXDsqhGowSx%)_((WvyCH60D1V{Vtgl+A^ zzP9YQVJ``1gB}Avi!W)4*6K$7_0l!c^4Uhc!$$Lyy+Spx3(5{NdBlj)b>t%5!Jo&x zSelm#p>?aV7v0};H$5_xQTBG|R5_=t-RyDlOto`VHEQ=lHi}3`J6G+__DeI4q)fUIF?-PPPT4p z{glS(|0UHP{rzq#Qe9>Z)tpC3<^1mXh9^}k4@MU|it&T|A1xv#GnncIJkii?lY&&x@APreF>oZAY@p}I&L!obFU8P->OL6Rz zKf@OWZWB_UyyH1b{oR~)ccupEY; zP$$e$@8^Vzt>=C`+yEL_P z&O8O&yi6GZF5-h?8f~cGlvtWSrCI+emC-NINePjxuYGhKIHN~~gFq^{G48=(FC%Vb zkKSNS-$~*rx$Itk&3O3BSC6Q*A{M~bO8v8S%+B(MIMOqU=`)q?)zc)W8JE1Oj;H>V zXIn^Wa?^i0@PH%}%-8x_id5_N`BaIY(d^;MG~Uo~U0fN>C~WJxpdusftczsWt*Bna z&CzCO`M!D9;w;z`YJ+3tl8RZ}Fi+LVSa=2yXhf6eBI5Bs*NhjP1X9QA|=SCMc~PR!VE@dBAeEMac>z*;0tR zvtqYIS!COYh;a3DQlVlT56{n#NaV4Ti$lq$+Pwipr@;m0EBLf4j_+TXVRZb<8#~$n-#$`{*+59LK zGe!+Z9eX9j63LtYmg#uL*pYZrYo$bE=S$l(WEIMet*vdHY(tS(k3Z-Xuj;7hm9e#OQtIqhM^=`pjowHBp)t7nP81RwPpdnxwX@eO z(ySRO_B=&)+Kb{}kBc*q(c&dzhtACm?Xsb&STEWFLu|B>xNF@lzh&RGjiRXh35{oO7r_%n{37-d)N}RE@++q3p%6!c|HjvBH^K;MJy{# zdyl+6vteu&b{&j~UoGCh@9~^HA?tZK%RA=dUo%@yQ8`Jh2pZUd6d=kVp^7GH>OQA3 zLb99VLJ-bs@cP)heccaxO*Vrtr%@qA>l)T)Vo;l@&{(g7I#&=6Mk@Qy0_MB&WZ5W|@PmuCb4i9DPH= z!~yZ=f5(^bNQhpqbQZC79X#WZsAQ>$3+oE!qOcHZC^6iJY(*-sY2G~UxD{Q`Ebo0e z@=2B1`poCz{Es;+DGpL4lFE$@1&*6P(L~#)Eme=(2%G*LBV#OMFmlt21i*G_m2as{ zf6G{Deemg-kNbfA9yZEGqvl^xe_P>O&&AWdYoiXbS#z;}tC6=%WY5@CD=+Q?Zl#8+ zixwIS*z=T)iq6kB|CYPz&)w2_hO1XTu#Zb+i)7JDJ~p!-7!Nk|l8~|h69*(Lfy!Wo ztViC~#~=QO@RO62jSNXMSkmv!c(nC_Jqq+wGMvFaLgXw1#(5|gpdu{9LTNqel2o*= z##2U0Swkb&c_zYDPl-6Fp9##^Ly+Ad{jzQ z7LTmv-?LcFS$i20;)Aguyfy|eWyn~9F`Xo58X{_+nC zzLvcq&ozgZ>I3_%V#+2SgI<=t{5-w}E^n0DOCpfD=zA_TrkWotmJt(qWZLjJm0IU^ zFr~$(`3!ku=SG5NI3KV`l}Rb?>q$e=N@Fu})zGpk+V?FVD9{k?-C9>_k+~6|XW1gz zQj4Ok&h&xQM0`P1mK{oY?4KekI9nJk#lYpK+2<_QX$psv#+*6-c7J_m98iDODt?&&ozS}w>>_4iO z>yTOZSvwHQUUj*zqTBGmH-kV`XT(%i%&bO-A9#Mq@Y8LGK zu?p{n=*$M(vk^5F?W*FsyzDXl^eaB4YNV=ps>>G^vk%OJHHTD%l=A3s9Wqn$%_kkw z30Ki5>*kYrQdcc56@_U@bZ-Mj0T3yzhZ=*8f{v|-eJ^(FoGfk?(nId0?o?jc8WHL+k;d~f_^UgXg7rrAk|W#X zs#U7pHYX`VItiIz#$JQ`2hsZ4ckq<4d&WNb5h_Dxs-(sHuhXdjVo~_fo;k^V%h^#0 z#*j_cu>GXF4OojiR)TWLRL`hXe@11~W0gOrnDj^~#Ra17s*~A`*vaZoHcT@{3B;o!?_8H08sdbS+~%r+U(7@1+C86= zTIOb`njmH^Q5T=*e1~3LpNrE!;zR^<6b1q-l_GLq`Z1NuBKBA*ZS{{GBBRwtg6^>w zaHpO3a@D!2)06Q(F%bv!`)f_PLXOs@55MIx-6E|VawT>)N<@959N1MOmBAsUq2l%F zU()UWEu-6jk1DiwVktE>?8TFTBKAxFBmK+?nXfDS*t*-OQf(G9lwRG|qBi_{UM!iU z4H*SkS>cVMeaFKHiAAIGWo!As;^C>slW1z4i77}wN43*biKUq{ z2%s2M?aowQ<1c&Df7I9yUV3H!7rg%@bRhI@f+ftNW+46i6$jy^UPy zDx}i|LqW9#v2};uDAy{~$`vXC($R_WPdu({D`1n!@D~hpO{VJ7F1S=ggK0;YFmi|e z$C4Hbpuup=prD{SJ>|^S$9bQ8qpc?F1LI7Sd@iH0SgeLDJ1$hOHq#w(C~)8&ngKIMo0 z$M<~1mtzGgrLW_5#P<8|_?=3=rD*Q->%Zh%zeLg)%&P&{GnQTk@1o0<+*VSr_+m?X z<;RK5*7E_XOpEkwIF;B1PNsBn+-}j46G1=*_7GFVUcnL4EVvdI)PtreV`<&PRoL2t>!^a~x zw^MG#z!RzP<>5U~8keL`a=cAIN^YK-j7!lt__m!nOYo-tHMPlanLY%37CJpuFKbt7yyu%%juR!Djb<%bkZnhhC>PUuG4V#HoBiKg=echPSdD&8o)v=zD-btx1j_Q3RWc@7@~}_Pl>tXa4~=Es0Bm77vi}HU>062y6)qK2 zMe$hPi%BepEb|?*nIajv?)BJg67gd5su5u7wFE8KC8<%(?dN~slf*67Ycvq!cpj#5 zMcGMV>_eS4q_dtz07dNoUx_^EV6rD<-!%B9Xee8N{Qlqaz40*;IVId5gw*|azvep` zZLN^5zxydy=>};JJflpz8{hJhD5_tmaIHlu0@Z_kU`GY!LgmcHK4Kz{7)hcGe?#y{AKpuG+nh@nMrDVbdn9CKo0T*FpVD2JJFi?sTB_jVzkMr5A z-AlQL~L!IyLA9OX_J9}N4^UC%juZ7xDA{LFDL`}?F z-~b9D&d%@C+v7{d;YFi0b)E$jO|IkQ#6X^`1`g`CqJ|=1DjcHM3Jcg5P37dLP!Zq& z_8&M<+t36KLXaqmfawb00^!1Ra1dCBBH)IIMtPty^50?+U>|JPTbP;|$zPo^WfjGv(2oRu7 zJw4g=F<1kXi34y%4`` zr~da|Ywf+Rwf5RQ|I5#Be|Noeu(wm$-dgQ!EH70y*H$`WVE?3*DljrMl324&kN1|r zsjDcz$bQ z`E&`Wx-c_QRPGxd$eE^k970DYr~l$t0m%uniNq)73jC~WRDs;zip#6VqForC$`XE4 z1yr?Z#oX*@QCSQsXMle`qpEErxkf~EpcC;nwF5zw+lUdFUz}_Pse=gGLzjRK1i|)< zW`T5ICiX)WI5<3Ro<<@ZP+cPUXxscMz|nrz*lAzfAi)k@0)k1@MXn$Y)xi!`z&}w^ zaKIG|4F;$>?1d^Ikm_vJ;pxKf>dt)w00960VdsAc00006Nkl$TVT8@!cU_!a*fwJ;b2E6RKP1m3Q{I>D(`(G>KMH~KcvYecGKvmt1u~NTW z$!FtiOZUJ7Ppit0uKuvgcAuZy0)-Hf1<_Llza8Iv|7<*ij}gK- diff --git a/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_tip_merge.png b/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_down_tip_merge.png deleted file mode 100644 index 9c78714ddd43b538b89ee4381f3bd955488e5a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4?JBQLn;{OOfuvN$@`;Sx7^i9 zihljnX3-fr5eJ^lFC8v@sM`}{H>W2kC*H@wbloI&4zKQKMHX>YzCWye8Tb@B?%bOB z+k-LhyZ?&$U;WplvTzk?I^<0d^n1QKOMX4mi8)*J554eYGzju=>2dy&!lWVek#A4Z zyV(qK7g&|_PqJ)ST@vt%slk_lKjr%+`-bx@C)PQf*z5m-Nn?VbRVjnyMaGRP#VlM) uW(Y=9|6*cb`2YXi-K`&heq{ssm6<`qGV<_5FZb<05e83JKbLh*2~7aZ8F1(T diff --git a/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_base.png b/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_base.png deleted file mode 100644 index f9eab88eec5ae4511cfe4f318b7219a590fbb881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)}KtbVVZAi z?X~t=>$lFFsnXzccCuHWpB~pNjt+Nf>~C$>O%8UqYYfU#ZlE9nVHamd6IRye6GmF& z36T$*8#uJ5+Du~MaQF0;g74l(f;d7&X&{L1YnRE5D8Og$y-bfLW37pNuQX5y6EANc z6Zlsb4|#GFs%rYBfduKRojGpdzr9Pc@013L`{(@C1mp{7g2{!M6o{iVARnX$RJs*2(_`Ia34YX2XhHPyiRe zw}ziiK_CZbw(@hqfeIE;%m)P?CioEl0RRC1|1GtTvj6}921!IgR09C~y5RXJ1OVdz O00005QX7J!RxZ32#TN}7>KW6rl}YRf|%$7n2S%~E1C%kVjzmkdIeec8>pdsdc}XM zy1MJs>6w{Ioxhu_lhN(<^HGGSz5N{OR(F-|Ihajp3ud<@dY%1o2T&)@Jn(l%BCrrPBML>AVU z6V$sD0v?(M(*sxd8GaSl$VCbP&H1Kg>q*wtQ3xoo9S}5KJ?OrXLO`Q~xqWL)_vYH? z;HqjU1Qaxj_YdzWpY9r7C-QnFzy;z1V%ZzufN(@PS^=M~0=S3=Xl)_~@`!S@0u~y5 z2bwjpi*6HF&Z8Az8@_+I0_(_a=XoJudX7!gkvoucXCIXVE^J_DZ!N_{ksIV!_y+(0 n|NkU!v&8@a00v1!K~w_(lzyX!EZL!M00000NkvXXu0mjfg2t#? diff --git a/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_middle.png b/common/src/main/resources/assets/antarchy/textures/block/chiten_spike/chiten_spike_up_middle.png deleted file mode 100644 index 37c8e4d2daefc6f93229d1350ac47c0f974af55f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)>)3heD}6xd!{E$ZxSt{3R1rCflc``TqH=4VC{ zCg!G7Fx(ugV)egVpmTiEXic_K;LzRESNiO|SG?Unr|;fJg; zQ4wtzq@nT$xqut%I3PI^LIHoBT)@o&EUs@}s@KN{1Ej$E^z6LBA{THw2Mc}c7kZ~a z{5QFPTO(*qe(beDfqhtOgQFm@k27p8Ab}%@?IqIn*iG&oOfK;P9Mmz|PD*bFWBd@rLc?$KUOqd-LY0t&C?T$%*_- z|MNdC`Bb|2hASQ`xOc>UTjQA~K4GqrGsBl!`&dc6hWkv1HlNa4ke8jj!fl_YLry{@ z@4{=76&d?~o4z>yQjruo;MLRrz;@cP?UD_yh03ZcJk@{> l{r|s?QHB@DU<0|BnW0qP#QOVUD`fNmZHW#Lo5Bnb?uj*CaWZ#*Yh!; z>*X|v5=%=!`)jRWv)|gR1__|SA;d}{0Nc&3NvQk&Rj=hkfZN6aF+i&hh7dp<&CH7& z91m-=&lYe1NU7?;U8rXAA%K-#xS>!f1mr6NQqANG!2Nc%n+L>2p;7^u7rsBerPNUt z0QQV+7w@%`C;+zHH01VccOeAOJTVgX5i#=rL+lCxe9Rkt3z3r%00960`Mq|a00006 dNklb;Rzm7DDrlERND+cfP(egI^~}n7 z-&|IfJGqeAH}iIOcizp|Vb>vzgQ6v%$!m_U{dd3@nagm8S{8V$ZKf z<~4EBZbfSTJNO*rVLalw5G?_Ry=HtkZ^*bDCO)j7UI2?`kZM40(-$Xuok&2>g{T*B zsQeOA&^~cZ&F>G#MxD~47r>$OaH}bwDUk>*g`+b3f~~F=>UQe1WmH0pF$*A-`R)*x zO)uD9D>VAoNus^X2T06x(n@3@4-V5&?&KGs6EuGBhNH5|L=aM#5w=SS@z{lg)0i8pVQy%|JpTjYU*K(`fa_)4HG2 z-l|G9@7#0m_nv#s`JQtc?rko$_qUeX=-su2w%m_B7~+oqeqs3|*7I9zMx&#V>1H$5 zWie8z(!mWJvV^nKkqU82)0q+B47<;|w3TZslkPYK8zy0;A#G%1y}Y_tU8|Fu$Kc@P zE;u~94|Y};jAA~YH+o%@o(hjH?gLUK>R3|ZLGRXWYH>^46T}_=d?5&_LIWpI0`oGT zP3Y?Rr%oRC+8l6zvyaBv3k6=E9bOA_K#KM1mmbP3y;oZHmX<6%Tguai080{$421?lFZ8h7H( zHf~|ye7mR8mbgQukjJD7XWB@?;7&*SYjXb7aY`V2*bx2^ zQkR%C+pfMB{h0Kctkm7O zWtA`#cmyL#W$=TQlRz9B&A#N4u7LgKp<=~DB75;JF%ry)hrs}ToatgPaD|Ov#Kwuh z1=d~nDGt@qA%Px$LPFj3iH{U(?N4>s04*<38X>5y}ZPx+tcz1&zH)gFwlcw3AYuf`5g~7q+vdUFi z<;ssI@sg+2Y7m_&H*T^++}HO%jefO#paLN_C#Sonr6;Ki%5ck?jJGS z{QOee-X(Gd5(J2^uMR%@hGnrc@+q8w)Ek8XX|hN3%Mn_?T9ilWNIe~L@0=9k`3o*4h+U4+;*LNn=(jZuh!(XPkT}1WY+Yk*OJ3$<-_GvK zOhbQgQ1wraD{OIeSegHbi_?Mf9xi=?ZR}XSwrSXM>q}(C@>ah>q@bl2QX2iF^;t<+BWZD+ z`1_t0KqLA&5gMneD8Z6;ssN{=F@im`R7G7Hz9ccRz^4}u&?s~2N3mzvX|H4SoZB!X z%){vNIwR&rfT?9O_!(u7;vyELL_RJza@wyah}fhci1_?aXWH65hQrNjf>}_)BUvZt zdrbUKRCM&!KxQ2f<>(cB+l>E4NHg(J3D`N_RYNA zjgQYx>(Rw|J(`@<*cKoD_;S+t5&Cy{HQcds{%+RawQBoEiRH$Y+4GCBrofuXS=(Gz zD-fKJ>iaY17|XYq)(^KxS`2#z$Y8$eV0Lv=OmFXt+4VyKE$Bh33(83|MJtOZQxtFjp_?{uK)?E>HMB_1L;!4}l0dRW%)#R;%956oO#zQY*+rNWq(}99He!L_v z4aL<(J-NBAFN<-FZ1F)aZl}Vcy7vv$!N!KKZ?+!fhKzT<_^^IC7lyu%LjKv?viDb& zf<57uLkCa=oKDbiv61PioM+|Zb2htw$!KdbJy)ADCZB+lW6QG>BfvTjiB;w5y@URV z0TCy-?QmL-dM5keNG|C|2{;)8C&?M5A#aO8H_$((1Wdg>sWHc9mP)Px$qDe$SR5*=olTVAIFdT-TT_c)-h$48XP$=}!>mHW<68qif>S17@kRF6$Nx&#o zW)GUQcGim+d4GSN_sx&Le|~@EDkjQOK0iAAlSx5YD?UFu_LU^cQm)zpusc$B!apzY#r;|W;BYLsY8%EXYsGAa@a-8TO7aHKv|%mL>y9W(H(+Kn zaBf`ynJ5|fjMkB>m~-neZbF<}x9;|E;Ms*&z=vZ&l%=pX5T{?eW$d-P@0_ccSHQ+i z%w|{$c!<63IJYiTr*&cH(Jtrv>ajwUr2+0+T`Vj34zn2o@kB{_-H}Q04X&SZv<~3~ zWv#esORnNY;NjLqfP2+8XnGSKxr%386nWGLjt&HE*YfyV^E#y(G*b@cz;mz%vWF7&$l799WNY6zF= eRlGY@0Q>_(^bpCqWihz`00000_aD(RQfbvuK$ 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 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png index 0c983aabf64da9169ff7d2ef9ad1c3c2096ea323..94d7f245ca70d36bdffa8005386aa80e5faf4348 100644 GIT binary patch literal 9166 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 A8~^|S literal 7423 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 b3j!!PrToy;e%VI(2XIHnP`m7=UHJb1x2Q$g diff --git a/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png b/common/src/main/resources/assets/antarchy/textures/entity/dorrie_saddle.png index 8df880c91e9eb944bd0d2a499c63d843da54164f..810382c478b8dd3f59cb6f348c0eca869389a457 100644 GIT binary patch delta 11423 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 b+eQY$*kvhXg}%@vT>)vS>)tI;wR-bEOP4;8 delta 11428 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 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_harden.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_harden.png new file mode 100644 index 0000000000000000000000000000000000000000..51d8cd61142d8e1de2f5acc9121ec2b3c179bda5 GIT binary patch literal 15145 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 kpy~YcsFt<&824?-!2D}u z#M!dw8(7(Xi|wq|c}FMxnzjKMnNMON6LrX2W?1b^aUqR+x}&Y)Kq}7s;nZ@4P*5r< z{M}S>z}IPe))!sP7y43Oxp>Fj=dPMrT6;q`Xs0UziZj!lL5k$m%VtU0V5~&Tqv-$< zrm>>P)mTk+pfHp9pDv%C57&m`mwS$5 z+AlmVN^)@nW7Abt&VQ&_M3|$#1bTfE@Y=^Svcgt*aZ}zT;Y*7Nhn2+w42$j%5>#IN zJxsjt#;bypE(w;_k1`Epdz&g0I{n-OBC-A-o9YB4t6H;7W& z`q0Q7rA(Mgdqy#2e@c1VifJDU(AM<*t1avNUSSk6l2yeR0&Zm3~PxUmS3T@OkQAWMp#k8t$#)t=3bbVr#j_7Bf;(KVVP zWoxsRmIN6yMcYVezbi$EvnWpLOu4%C`A$5aQy{=T(R5Gg4lH2i3CXXZ97z0}#eLUh z#AM=NiGYLdJ5&q9$$KVl&&Y4g%=&xcRapS){O5(hI@3NU%*e;CAC6Qf%)iCxI!l%| zIpk-+Jbq4_{Ns|1ms*6PU){XPYJa$*-@IOaxm@$^qh71JRCVVQVjuFj$_o{50ms~* z-IgzY3!wJ$(pHC@Fv?}Hy5SVT2a0}Yq^sQ9X0^$l zH{;H1E{g7hZZD vHYfy-3FJlp8n(9=+M+^57g9S6Lmcq=%BuQB{FIq!25|1Q^QlkvevkeSo=VtK literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby.png b/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby.png new file mode 100644 index 0000000000000000000000000000000000000000..4198a656f79f9c67d91b17b7f5a1ec61277a36fb GIT binary patch literal 4623 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 YfYrd0p2Ax=Am0Nx?ci!(XB(LQKMaL6xc~qF literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_baby_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..4c406021797bac141e67c47febd1b01f96545ff7 GIT binary patch literal 4575 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_day.png b/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_day.png new file mode 100644 index 0000000000000000000000000000000000000000..e46e0af4126919b12102e1c0d59ad0d5c5fde1f6 GIT binary patch literal 6376 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 MHJhttW*$-h1NCj?FaQ7m literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/glimmer/glimmer_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..22851d37540775de2e9505d08baf2fed69c134c0 GIT binary patch literal 6317 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 kpy~YcsFt<&824?-!2D}u z#M!dw8(7(Xi|wq|c}FMxnzjKMnNMON6LrX2W?1b^aUqR+x}&Y)Kq}7s;nZ@4P*5r< z{M}S>z}IPe))!sP7y43Oxp>Fj=dPMrT6;q`Xs0UziZj!lL5k$m%VtU0V5~&Tqv-$< zrm>>P)mTk+pfHp9pDv%C57&m`mwS$5 z+AlmVN^)@nW7Abt&VQ&_M3|$#1bTfE@Y=^Svcgt*aZ}zT;Y*7Nhn2+w42$j%5>#IN zJxsjt#;bypE(w;_k1`Epdz&g0I{n-OBC-A-o9YB4t6H;7W& z`q0Q7rA(Mgdqy#2e@c1VifJDU(AM<*t1avNUSSk6l2yeR0&Zm3~PxUmS3T@OkQAWMp#k8t$#)t=3bbVr#j_7Bf;(KVVP zWoxsRmIN6yMcYVezbi$EvnWpLOu4%C`A$5aQy{=T(R5Gg4lH2i3CXXZ97z0}#eLUh z#AM=NiGYLdJ5&q9$$KVl&&Y4g%=&xcRapS){O5(hI@3NU%*e;CAC6Qf%)iCxI!l%| zIpk-+Jbq4_{Ns|1ms*6PU){XPYJa$*-@IOaxm@$^qh71JRCVVQVjuFj$_o{50ms~* z-IgzY3!wJ$(pHC@Fv?}Hy5SVT2a0}Yq^sQ9X0^$l zH{;H1E{g7hZZD vHYfy-3FJlp8n(9=+M+^57g9S6Lmcq=%BuQB{FIq!25|1Q^QlkvevkeSo=VtK literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/nightmare.png b/common/src/main/resources/assets/antarchy/textures/entity/nightmare.png index e803097612396155386e9df47372ea74323402ec..47846a9c914735d0944ec1f36120c05cf2d781dc 100644 GIT binary patch literal 19601 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 literal 19820 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/spit_bug.png b/common/src/main/resources/assets/antarchy/textures/entity/spit_bug.png deleted file mode 100644 index 895cd975100357eede6473f40d08f9d9f08861cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9538 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 Vk!bNNOl|-G002ovPDHLkV1h@@kO=?) diff --git a/common/src/main/resources/assets/antarchy/textures/item/chiten_spike.png b/common/src/main/resources/assets/antarchy/textures/item/chiten_spike.png deleted file mode 100644 index 9b66fa384eb255d1bcf639322f3da6636ca61e53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLn;{GOxVbE$U(qGoZEGZ zNRsM}-}2j%5>?IqIn*iG&oOfK;P9Mmz|PD*bFWBd@rLc?$KUOqd-LY0t&C?T$%*_- z|MNdC`Bb|2hASQ`xOc>UTjQA~K4GqrGsBl!`&dc6hWkv1HlNa4ke8jj!fl_YLry{@ z@4{=76&d?~o4z>yQjruo;MLRrz;@cP?UD_yh03ZcJk@{> l{r|s?QHB@DU<0|BnW0qP#QOVPx$W=TXrR5*>rlEF#>Q51&%8zD0>=8Ox4ASYVrs;u0KvPx#?MXyIR5*>*lCchgFc^dn5wRc+=s=+!Yufxnm0TM;5`7)MOrI_?i$mQrB{y4Em`m^t_0EnIjD7bdZ=S+AHbs}%6V z!OX^V(h|92l)kMk(GoazEqqZn5yv0tqWyv}j+jX-06=!7NG@eBT#x~_!IFI};J5-^ zBH|=p2^?CBzYFyCaFyoZbh3uZm)ji$#+|=4)|`8&(p-rvbFf*jSn1onD*-^2=9r!D z*d-@Jo&$w|WDlTyFaQ93imU0Qoy7N-=GrBvCNB~EUN3OjO>Qulw^#rG002ovPDHLk FV1oMRfq7Adk<7|#i6`&^p2Q1y0`XSjYJ!SC=)y_M(^?@)XC)4Nq*C?OTV3hN z>5sqv1>Ahx7rJ^G3bhWqcmjjOa!qC2szPjZw18E zFxio1W_H;IW3_fle@m@Ge6 zz|`vrBwCs`EybSz00960^(*CB00006Nkl VERY_SHORT_GRASS_SPAWN_BIOMES = TagKey.create( - Registries.BIOME, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass_spawn_biomes") - ); - private static final TagKey VERY_TALL_GRASS_SPAWN_BIOMES = TagKey.create( - Registries.BIOME, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass_spawn_biomes") - ); - private static final TagKey BIG_BUSH_SPAWN_BIOMES = TagKey.create( - Registries.BIOME, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_spawn_biomes") - ); - private static final TagKey BIG_BUSH_2X2_SPAWN_BIOMES = TagKey.create( - Registries.BIOME, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2_spawn_biomes") - ); - private static final TagKey MEGA_TAIGA_SPAWN_BIOMES = TagKey.create( - Registries.BIOME, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "mega_taiga_spawn_biomes") - ); - private static final ResourceKey VERY_SHORT_GRASS_FEATURE = ResourceKey.create( - Registries.PLACED_FEATURE, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_short_grass") - ); - private static final ResourceKey VERY_TALL_GRASS_FEATURE = ResourceKey.create( - Registries.PLACED_FEATURE, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "very_tall_grass") - ); - private static final ResourceKey BIG_BUSH_FEATURE = ResourceKey.create( - Registries.PLACED_FEATURE, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush") - ); - private static final ResourceKey BIG_BUSH_2X2_FEATURE = ResourceKey.create( - Registries.PLACED_FEATURE, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_2x2") - ); - private static final ResourceKey BIG_BUSH_3X3_FEATURE = ResourceKey.create( - Registries.PLACED_FEATURE, - ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "big_bush_3x3") - ); - @Override public void onInitialize() { AntarchyFabricNetworking.register(); + AntarchyFabricNetworking.bootstrapMultipartCommon(); AntarchyConfigModuleFabric.init(); AntarchyFabricContent.register(); registerWorldgenFeatures(); @@ -131,30 +91,5 @@ public final class AntarchyFabric implements ModInitializer { AntarchyFabricContent.ALPHA_MANTIS.get(), 1, 1, 1 ); - BiomeModifications.addFeature( - BiomeSelectors.tag(VERY_SHORT_GRASS_SPAWN_BIOMES), - GenerationStep.Decoration.VEGETAL_DECORATION, - VERY_SHORT_GRASS_FEATURE - ); - BiomeModifications.addFeature( - BiomeSelectors.tag(VERY_TALL_GRASS_SPAWN_BIOMES), - GenerationStep.Decoration.VEGETAL_DECORATION, - VERY_TALL_GRASS_FEATURE - ); - BiomeModifications.addFeature( - BiomeSelectors.tag(BIG_BUSH_SPAWN_BIOMES), - GenerationStep.Decoration.VEGETAL_DECORATION, - BIG_BUSH_FEATURE - ); - BiomeModifications.addFeature( - BiomeSelectors.tag(BIG_BUSH_2X2_SPAWN_BIOMES), - GenerationStep.Decoration.VEGETAL_DECORATION, - BIG_BUSH_2X2_FEATURE - ); - BiomeModifications.addFeature( - BiomeSelectors.tag(MEGA_TAIGA_SPAWN_BIOMES), - GenerationStep.Decoration.VEGETAL_DECORATION, - BIG_BUSH_3X3_FEATURE - ); } } diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index 7a41c0bc..46cd1697 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -76,8 +76,6 @@ import com.craisinlord.antarchy.content.item.LucidPearlItem; import com.craisinlord.antarchy.content.entity.nightmare.NightmareEntity; import com.craisinlord.antarchy.content.entity.ToreterrorEntity; import com.craisinlord.antarchy.content.entity.WaterBombEntity; -import com.craisinlord.antarchy.content.entity.CreepingHorrorEntity; -import com.craisinlord.antarchy.content.entity.LurkingTerrorEntity; import com.craisinlord.antarchy.content.item.PrimordialArmorItem; import com.craisinlord.antarchy.content.item.WaterCannonItem; import com.craisinlord.antarchy.content.entity.kraken.KrakenEntity; @@ -86,15 +84,12 @@ import com.craisinlord.antarchy.content.entity.MolevoreEntity; import com.craisinlord.antarchy.content.entity.MolewormEntity; import com.craisinlord.antarchy.content.entity.BomberEntity; import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity; -import com.craisinlord.antarchy.content.entity.SpitBugEntity; -import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity; import com.craisinlord.antarchy.content.entity.TriffidEntity; import com.craisinlord.antarchy.content.entity.WaspEntity; import com.craisinlord.antarchy.content.entity.ant.BaseAntEntity; import com.craisinlord.antarchy.content.entity.ant.BrownAntEntity; import com.craisinlord.antarchy.content.entity.ant.RainbowAntEntity; import com.craisinlord.antarchy.content.entity.ant.RedAntEntity; -import com.craisinlord.antarchy.content.entity.ant.TermiteEntity; import com.craisinlord.antarchy.content.item.BattleAxeItem; import com.craisinlord.antarchy.content.item.BasiliskDaggerItem; import com.craisinlord.antarchy.content.item.BigBerthaItem; @@ -528,30 +523,6 @@ public final class AntarchyFabricContent { () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); public static final DeferredBlock PINK_MILKWEED = BLOCKS.register("pink_milkweed", () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); - public static final DeferredBlock TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush", - () -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY) - .lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0))); - public static final DeferredBlock VERY_SHORT_GRASS = BLOCKS.register("very_short_grass", - () -> new VeryShortGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SHORT_GRASS))); - public static final DeferredBlock VERY_TALL_GRASS = BLOCKS.register("very_tall_grass", - () -> new VeryTallGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TALL_GRASS))); - public static final DeferredBlock BIG_BUSH = BLOCKS.register("big_bush", - () -> new BigBushBlock(BlockBehaviour.Properties.of() - .mapColor(net.minecraft.world.level.material.MapColor.PLANT) - .noCollission() - .instabreak() - .sound(net.minecraft.world.level.block.SoundType.GRASS) - .ignitedByLava() - .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY))); - public static final DeferredBlock BIG_BUSH_PART = BLOCKS.register("big_bush_part", - () -> new BigBushPartBlock(BlockBehaviour.Properties.of() - .mapColor(net.minecraft.world.level.material.MapColor.PLANT) - .noCollission() - .instabreak() - .sound(net.minecraft.world.level.block.SoundType.GRASS) - .ignitedByLava() - .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY) - .noLootTable())); public static final DeferredBlock OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign", () -> new net.minecraft.world.level.block.StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN))); public static final DeferredBlock OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign", @@ -645,39 +616,19 @@ public final class AntarchyFabricContent { () -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties())); public static final DeferredBlock THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal", () -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties())); - public static final DeferredBlock CAVARYN_PORTAL = BLOCKS.register("cavaryn_portal", - () -> new AntDimensionPortalBlock(PermanentPortalType.CAVARYN, portalProperties())); public static final DeferredBlock PALE_NYXITE = BLOCKS.register("pale_nyxite", () -> new Block(nyxiteProperties())); public static final DeferredBlock NYXITE_SPIKE = BLOCKS.register("nyxite_spike", () -> new NyxiteSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE))); - public static final DeferredBlock CHITEN_SPIKE = BLOCKS.register("chiten_spike", - () -> new ChitenSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE))); public static final DeferredBlock POTENT_NYXITE = BLOCKS.register("potent_nyxite", () -> new PotentNyxiteBlock( AntarchyFabricContent::potentNyxiteBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK).lightLevel(state -> 3) )); - public static final DeferredBlock MYRMITE = BLOCKS.register("myrmite", - () -> new Block(nyxiteProperties())); - public static final DeferredBlock BROODSTONE = BLOCKS.register("broodstone", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE).requiresCorrectToolForDrops())); - public static final DeferredBlock CHITEN_BLOCK = BLOCKS.register("chiten_block", - () -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops())); public static final DeferredBlock UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block", () -> new UmbralMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK))); public static final DeferredBlock UMBRAL_MOSS_CARPET = BLOCKS.register("umbral_moss_carpet", () -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion())); - public static final DeferredBlock AMBER_MOSS_BLOCK = BLOCKS.register("amber_moss_block", - () -> new AmberMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK))); - public static final DeferredBlock AMBER_MOSS_CARPET = BLOCKS.register("amber_moss_carpet", - () -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion())); - public static final DeferredBlock AMBER_LICHEN = BLOCKS.register("amber_lichen", - () -> new GlowLichenBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLOW_LICHEN).lightLevel(state -> 4))); - public static final DeferredBlock BILE_VEIN = BLOCKS.register("bile_vein", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK))); - public static final DeferredBlock CREEPVINE = BLOCKS.register("creepvine", - () -> new VineBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.VINE))); public static final DeferredHolder, SimpleParticleType> DREAM_FIRE_FLAME = PARTICLE_TYPES.register("dream_fire_flame", () -> simpleParticleType()); public static final DeferredHolder, SimpleParticleType> STINKY_GAS = PARTICLE_TYPES.register("stinky_gas", @@ -716,22 +667,6 @@ public final class AntarchyFabricContent { () -> new DreamFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_FIRE))); public static final DeferredBlock DREAM_CEILING_FIRE = BLOCKS.register("dream_fire_ceiling", () -> new DreamCeilingFireBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_FIRE))); - public static final DeferredBlock CREEPING_HORROR_EGG = BLOCKS.register("creeping_horror_egg", - () -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.of() - .strength(0.15F) - .sound(SoundType.METAL) - .randomTicks() - .noOcclusion() - .noCollission() - .replaceable())); - public static final DeferredBlock LURKING_TERROR_EGG = BLOCKS.register("lurking_terror_egg", - () -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.of() - .strength(0.15F) - .sound(SoundType.METAL) - .randomTicks() - .noOcclusion() - .noCollission() - .replaceable())); public static final DeferredBlock BED_BUG_EGG = BLOCKS.register("bed_bug_egg", () -> new BedBugEggBlock(BlockBehaviour.Properties.of() .strength(0.15F) @@ -771,6 +706,7 @@ public final class AntarchyFabricContent { () -> new Potion("stinky", new MobEffectInstance(mobEffectHolder(STINKY), 2400))); public static final DeferredHolder SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new); public static final DeferredHolder GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new); + // public static final DeferredHolder GLIMMERS_GRACE = MOB_EFFECTS.register("glimmers_grace", com.craisinlord.antarchy.content.effect.GlimmersGraceMobEffect::new); public static final DeferredHolder PARALYSIS = POTIONS.register("paralysis", () -> new Potion(new MobEffectInstance(mobEffectHolder(PARALYZED), 200))); public static final DeferredHolder LONG_PARALYSIS = POTIONS.register("long_paralysis", @@ -850,8 +786,6 @@ public final class AntarchyFabricContent { () -> buildAntType(BrownAntEntity::new, MobCategory.CREATURE, "brown_ant")); public static final DeferredHolder, EntityType> RAINBOW_ANT = ENTITY_TYPES.register("rainbow_ant", () -> buildAntType(RainbowAntEntity::new, MobCategory.CREATURE, "rainbow_ant")); - public static final DeferredHolder, EntityType> TERMITE = ENTITY_TYPES.register("termite", - () -> buildAntType(TermiteEntity::new, MobCategory.CREATURE, "termite")); public static final DeferredHolder, EntityType> MOLEWORM = ENTITY_TYPES.register("moleworm", () -> EntityType.Builder.of(MolewormEntity::new, MobCategory.MONSTER) .sized(0.4F, 0.3F) @@ -867,11 +801,6 @@ public final class AntarchyFabricContent { .sized(4.25F, 3.35F) .clientTrackingRange(10) .build("alpha_mantis")); - public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", - () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE) - .sized(0.95F, 0.85F) - .clientTrackingRange(10) - .build("rolly_polly")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -899,11 +828,6 @@ public final class AntarchyFabricContent { .sized(1.15F, 0.8F) .clientTrackingRange(8) .build("bed_bug")); - public static final DeferredHolder, EntityType> STINK_BUG = ENTITY_TYPES.register("stink_bug", - () -> EntityType.Builder.of(StinkBugEntity::new, MobCategory.CREATURE) - .sized(0.35F, 0.2F) - .clientTrackingRange(8) - .build("stink_bug")); public static final DeferredHolder, EntityType> WASP = ENTITY_TYPES.register("wasp", () -> EntityType.Builder.of(WaspEntity::new, MobCategory.MONSTER) .sized(0.8625F, 1.365F) @@ -914,22 +838,6 @@ public final class AntarchyFabricContent { .sized(0.55F, 0.75F) .clientTrackingRange(8) .build("bomber")); - public static final DeferredHolder, EntityType> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug", - () -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER) - .sized(3.0F, 3.0F) - .clientTrackingRange(8) - .build("jumpy_bug")); - public static final DeferredHolder, EntityType> SPIT_BUG = ENTITY_TYPES.register("spit_bug", - () -> EntityType.Builder.of(SpitBugEntity::new, MobCategory.MONSTER) - .sized(2.5F, 3.0F) - .clientTrackingRange(10) - .build("spit_bug")); - public static final DeferredHolder, EntityType> SPIT_BUG_PROJECTILE = ENTITY_TYPES.register("spit_bug_projectile", - () -> EntityType.Builder.of(SpitBugProjectileEntity::new, MobCategory.MISC) - .sized(0.5F, 0.5F) - .clientTrackingRange(8) - .updateInterval(1) - .build("spit_bug_projectile")); public static final DeferredHolder, EntityType> SHRINK_RAY_PROJECTILE = ENTITY_TYPES.register("shrink_ray_projectile", () -> EntityType.Builder.of(SizeRayProjectileEntity::createShrink, MobCategory.MISC) .sized(0.5F, 0.5F) @@ -953,8 +861,6 @@ public final class AntarchyFabricContent { () -> new AntNestBlock(BROWN_ANT, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); public static final DeferredBlock RAINBOW_ANT_NEST = BLOCKS.register("rainbow_ant_nest", () -> new AntNestBlock(RAINBOW_ANT, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); - public static final DeferredBlock TERMITE_NEST = BLOCKS.register("termite_nest", - () -> new AntNestBlock(TERMITE, AntarchyFabricContent::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); public static final DeferredBlock URANIUM_ORE = BLOCKS.register("uranium_ore", () -> createOre(Blocks.EMERALD_ORE, 4, 8)); public static final DeferredBlock DEEPSLATE_URANIUM_ORE = BLOCKS.register("deepslate_uranium_ore", @@ -1063,8 +969,7 @@ public final class AntarchyFabricContent { AntNestBlockEntity::new, RED_ANT_NEST.get(), BROWN_ANT_NEST.get(), - RAINBOW_ANT_NEST.get(), - TERMITE_NEST.get() + RAINBOW_ANT_NEST.get() ).build(null)); public static final DeferredHolder, BlockEntityType> DREAM_CAMPFIRE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("dream_campfire", () -> BlockEntityType.Builder.of( @@ -1092,8 +997,6 @@ public final class AntarchyFabricContent { () -> new BrownAntNestFeature(SimpleBlockConfiguration.CODEC)); public static final DeferredHolder, RainbowAntNestFeature> RAINBOW_ANT_NEST_FEATURE = FEATURES.register("rainbow_ant_nest", () -> new RainbowAntNestFeature(SimpleBlockConfiguration.CODEC)); - public static final DeferredHolder, TermiteNestFeature> TERMITE_NEST_FEATURE = FEATURES.register("termite_nest", - () -> new TermiteNestFeature(SimpleBlockConfiguration.CODEC)); public static final DeferredHolder, OuranwoodTreeFeature> OURANWOOD_LARGE_TREE = FEATURES.register("ouranwood_large_tree", () -> new OuranwoodTreeFeature(OuranwoodTreeConfiguration.CODEC)); public static final DeferredHolder, OuranwoodTreeFeature> OURANWOOD_YOUNG_TREE = FEATURES.register("ouranwood_young_tree", @@ -1114,12 +1017,6 @@ public final class AntarchyFabricContent { () -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.TORCHFLOWER_FIELDS)); public static final DeferredHolder, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover", () -> new ElythiaSurfaceCoverFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature> VERY_TALL_GRASS_FEATURE = FEATURES.register("very_tall_grass", - () -> new com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_2X2_FEATURE = FEATURES.register("big_bush_2x2", - () -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 1)); - public static final DeferredHolder, com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature> BIG_BUSH_3X3_FEATURE = FEATURES.register("big_bush_3x3", - () -> new com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 2)); public static final DeferredHolder, ElythiaUndergroundFeature> ELYTHIA_UNDERGROUND = FEATURES.register("elythia_underground", () -> new ElythiaUndergroundFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BrutalflyCocoonFeature> BRUTALFLY_COCOON = FEATURES.register("brutalfly_cocoon", @@ -1152,16 +1049,6 @@ public final class AntarchyFabricContent { () -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC)); public static final DeferredHolder, NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes", () -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC)); - public static final DeferredHolder, ChitenSpikeFeature> CAVARYN_CHITEN_SPIKES = FEATURES.register("cavaryn_chiten_spikes", - () -> new ChitenSpikeFeature(ChitenSpikeConfiguration.CODEC)); - public static final DeferredHolder, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins", - () -> new CavarynBileVeinFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynBileCystFeature> CAVARYN_BILE_CYSTS = FEATURES.register("cavaryn_bile_cysts", - () -> new CavarynBileCystFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynCreepvineFeature> CAVARYN_CREEPVINE = FEATURES.register("cavaryn_creepvine", - () -> new CavarynCreepvineFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynWallAmberMossFeature> CAVARYN_WALL_AMBER_MOSS = FEATURES.register("cavaryn_wall_amber_moss", - () -> new CavarynWallAmberMossFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, AntiwaterSpringsFeature> ANTIWATER_SPRINGS = FEATURES.register("antiwater_springs", () -> new AntiwaterSpringsFeature(AntiwaterSpringsConfiguration.CODEC)); public static final DeferredHolder, PotentNyxiteFeature> POTENT_NYXITE_FEATURE = FEATURES.register("potent_nyxite", @@ -1174,8 +1061,6 @@ public final class AntarchyFabricContent { () -> new BedBugNestFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BedBugSurfaceClusterFeature> BED_BUG_SURFACE_CLUSTER = FEATURES.register("bed_bug_surface_cluster", () -> new BedBugSurfaceClusterFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynEggPatchFeature> CAVARYN_TERROR_EGG_PATCH = FEATURES.register("cavaryn_terror_egg_patch", - () -> new CavarynEggPatchFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, ThoraxisAntiwaterPoolFeature> THORAXIS_ANTIWATER_POOL = FEATURES.register("thoraxis_antiwater_pool", () -> new ThoraxisAntiwaterPoolFeature(ThoraxisAntiwaterPoolConfiguration.CODEC)); public static final DeferredHolder, LucidAntiwaterPoolFeature> LUCID_ANTIWATER_POOL = FEATURES.register("lucid_antiwater_pool", @@ -1210,13 +1095,8 @@ public final class AntarchyFabricContent { public static final DeferredItem OURANWOOD_LEAVES_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_LEAVES); public static final DeferredItem OURANWOOD_ACORN = ITEMS.registerSimpleBlockItem(OURANWOOD_ACORN_BLOCK); // public static final DeferredItem OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(OURANWOOD_VINE); - public static final DeferredItem VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_SHORT_GRASS); - public static final DeferredItem VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(VERY_TALL_GRASS); - public static final DeferredItem BIG_BUSH_ITEM = ITEMS.register("big_bush", - () -> new com.craisinlord.antarchy.content.item.BigBushBlockItem(BIG_BUSH.get(), new Item.Properties())); public static final DeferredItem ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(ORANGE_MILKWEED); public static final DeferredItem PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(PINK_MILKWEED); - public static final DeferredItem TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(TORCHFLOWER_BUSH); public static final DeferredItem OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign", () -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), OURANWOOD_SIGN.get(), OURANWOOD_WALL_SIGN.get())); public static final DeferredItem OURANWOOD_HANGING_SIGN_ITEM = ITEMS.register("ouranwood_hanging_sign", @@ -1229,7 +1109,6 @@ public final class AntarchyFabricContent { public static final DeferredItem RED_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(RED_ANT_NEST); public static final DeferredItem BROWN_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(BROWN_ANT_NEST); public static final DeferredItem RAINBOW_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(RAINBOW_ANT_NEST); - public static final DeferredItem TERMITE_NEST_ITEM = ITEMS.registerSimpleBlockItem(TERMITE_NEST); public static final DeferredItem URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(URANIUM_ORE); public static final DeferredItem DEEPSLATE_URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(DEEPSLATE_URANIUM_ORE); public static final DeferredItem TITANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(TITANIUM_ORE); @@ -1285,12 +1164,9 @@ public final class AntarchyFabricContent { public static final DeferredItem INFESTED_ROOTED_DIRT_ITEM = ITEMS.registerSimpleBlockItem(INFESTED_ROOTED_DIRT); public static final DeferredItem INFESTED_COARSE_DIRT_ITEM = ITEMS.registerSimpleBlockItem(INFESTED_COARSE_DIRT); public static final DeferredItem NYXITE_ITEM = ITEMS.registerSimpleBlockItem(NYXITE); - public static final DeferredItem MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(MYRMITE); - public static final DeferredItem BROODSTONE_ITEM = ITEMS.registerSimpleBlockItem(BROODSTONE); public static final DeferredItem POLISHED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(POLISHED_NYXITE); public static final DeferredItem CHISELED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(CHISELED_NYXITE); public static final DeferredItem NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_BRICKS); - public static final DeferredItem CHITEN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(CHITEN_BLOCK); public static final DeferredItem NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_STAIRS); public static final DeferredItem NYXITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_SLAB); public static final DeferredItem NYXITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(NYXITE_WALL); @@ -1325,17 +1201,10 @@ public final class AntarchyFabricContent { public static final DeferredItem POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(POTENT_NYXITE); public static final DeferredItem UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(UMBRAL_MOSS_BLOCK); public static final DeferredItem UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(UMBRAL_MOSS_CARPET); - public static final DeferredItem AMBER_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AMBER_MOSS_BLOCK); - public static final DeferredItem AMBER_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AMBER_MOSS_CARPET); - public static final DeferredItem AMBER_LICHEN_ITEM = ITEMS.registerSimpleBlockItem(AMBER_LICHEN); - public static final DeferredItem BILE_VEIN_ITEM = ITEMS.registerSimpleBlockItem(BILE_VEIN); - public static final DeferredItem CREEPVINE_ITEM = ITEMS.registerSimpleBlockItem(CREEPVINE); public static final DeferredItem DREAM_TORCH_ITEM = ITEMS.register("dream_torch", () -> new StandingAndWallBlockItem(DREAM_TORCH.get(), DREAM_WALL_TORCH.get(), new Item.Properties(), Direction.UP)); public static final DeferredItem DREAM_LANTERN_ITEM = ITEMS.registerSimpleBlockItem(DREAM_LANTERN); public static final DeferredItem DREAM_CAMPFIRE_ITEM = ITEMS.registerSimpleBlockItem(DREAM_CAMPFIRE); - public static final DeferredItem CREEPING_HORROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(CREEPING_HORROR_EGG); - public static final DeferredItem LURKING_TERROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(LURKING_TERROR_EGG); public static final DeferredItem BED_BUG_EGG_ITEM = ITEMS.registerSimpleBlockItem(BED_BUG_EGG); public static final DeferredItem WASP_NEST_ITEM = ITEMS.registerSimpleBlockItem(WASP_NEST); public static final DeferredItem HUSHWEED_ITEM = ITEMS.registerSimpleBlockItem(HUSHWEED); @@ -1378,10 +1247,10 @@ public final class AntarchyFabricContent { () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredItem QUEEN_SCALE = ITEMS.register("queen_scale", () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredItem CHITEN = ITEMS.registerSimpleItem("chiten", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem CHITEN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(CHITEN_SPIKE); - public static final DeferredItem STINK_BUG_ITEM = ITEMS.registerSimpleItem("stink_bug", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem JUMPY_BUG_LEG = ITEMS.registerSimpleItem("jumpy_bug_leg", new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem STINK_BUG_ITEM = ITEMS.register("stink_bug", + () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem JUMPY_BUG_LEG = ITEMS.register("jumpy_bug_leg", + () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON))); private static final DeferredHolder JUMPY_BOOTS_ARMOR_MATERIAL = ARMOR_MATERIALS.register("jumpy_boots", () -> new ArmorMaterial( createJumpyBootsDefense(), @@ -1695,6 +1564,15 @@ public final class AntarchyFabricContent { .sized(11.4F, 39.0F) .clientTrackingRange(12) .build("kraken")); + public static final DeferredHolder, EntityType> KRAKEN_PART = ENTITY_TYPES.register("kraken_part", + () -> EntityType.Builder.of( + com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity::new, + MobCategory.MISC + ) + .sized(1.0F, 1.0F) + .clientTrackingRange(12) + .updateInterval(1) + .build("kraken_part")); public static final DeferredHolder, EntityType> MISSILE_SQUID = ENTITY_TYPES.register("missile_squid", () -> EntityType.Builder.of(MissileSquidEntity::new, MobCategory.MONSTER) .sized(1.62F, 3.18F) @@ -1780,16 +1658,12 @@ public final class AntarchyFabricContent { () -> new DeferredSpawnEggItem(BROWN_ANT, 0x6A4320, 0x26160A, new Item.Properties())); public static final DeferredItem RAINBOW_ANT_SPAWN_EGG = ITEMS.register("rainbow_ant_spawn_egg", () -> new DeferredSpawnEggItem(RAINBOW_ANT, 0x56D4F0, 0xF66DBB, new Item.Properties())); - public static final DeferredItem TERMITE_SPAWN_EGG = ITEMS.register("termite_spawn_egg", - () -> new DeferredSpawnEggItem(TERMITE, 0xD4B96A, 0xFF6B1A, new Item.Properties())); public static final DeferredItem MOLEWORM_SPAWN_EGG = ITEMS.register("moleworm_spawn_egg", () -> new DeferredSpawnEggItem(MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties())); public static final DeferredItem MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg", () -> new DeferredSpawnEggItem(MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties())); - public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", - () -> new DeferredSpawnEggItem(ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -1806,12 +1680,6 @@ public final class AntarchyFabricContent { () -> new DeferredSpawnEggItem(WASP, 0x111111, 0xF1D800, new Item.Properties())); public static final DeferredItem BOMBER_SPAWN_EGG = ITEMS.register("bomber_spawn_egg", () -> new DeferredSpawnEggItem(BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties())); - public static final DeferredItem JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg", - () -> new DeferredSpawnEggItem(JUMPY_BUG, 0x0A1636, 0x8A3E00, new Item.Properties())); - public static final DeferredItem SPIT_BUG_SPAWN_EGG = ITEMS.register("spit_bug_spawn_egg", - () -> new DeferredSpawnEggItem(SPIT_BUG, 0x6B4A2B, 0x7ED957, new Item.Properties())); - public static final DeferredItem STINK_BUG_SPAWN_EGG = ITEMS.register("stink_bug_spawn_egg", - () -> new DeferredSpawnEggItem(STINK_BUG, 0x111111, 0xFF7A00, new Item.Properties())); public static final DeferredItem CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg", () -> new DeferredSpawnEggItem(CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties())); public static final DeferredItem KRAKEN_SPAWN_EGG = ITEMS.register("kraken_spawn_egg", @@ -1864,44 +1732,24 @@ public final class AntarchyFabricContent { .clientTrackingRange(8) .updateInterval(1) .build("water_bomb")); - public static final DeferredHolder, EntityType> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror", - () -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER) - .sized(1.3F, 1.5F) - .clientTrackingRange(10) - .build("creeping_horror")); - public static final DeferredHolder, EntityType> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror", - () -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER) - .sized(1.3F, 1.5F) - .clientTrackingRange(10) - .build("lurking_terror")); public static final DeferredItem TORETERROR_SPAWN_EGG = ITEMS.register("toreterror_spawn_egg", () -> new DeferredSpawnEggItem(TORETERROR, 0x90EE90, 0x5C4033, new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredItem CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg", - () -> new DeferredSpawnEggItem(CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties())); - public static final DeferredItem LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg", - () -> new DeferredSpawnEggItem(LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties())); public static final DeferredHolder, EntityType> CHEEP = ENTITY_TYPES.register("cheep", () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.CheepEntity::new, MobCategory.WATER_AMBIENT) .sized(1.0F, 1.2F) .clientTrackingRange(8) .build("cheep")); - public static final DeferredHolder, EntityType> DORRIE = ENTITY_TYPES.register("dorrie", - () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.DorrieEntity::new, MobCategory.WATER_CREATURE) - .sized(2.4F, 2.0F) - .clientTrackingRange(10) - .build("dorrie")); - public static final DeferredHolder, EntityType> HERCULES_BEETLE = ENTITY_TYPES.register("hercules_beetle", - () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.HerculesBeetleEntity::new, MobCategory.MONSTER) - .sized(3.0F, 4.0F) - .clientTrackingRange(12) - .build("hercules_beetle")); public static final DeferredItem CHEEP_SPAWN_EGG = ITEMS.register("cheep_spawn_egg", () -> new DeferredSpawnEggItem(CHEEP, 0xFF00AA, 0x00FF44, new Item.Properties())); - public static final DeferredItem DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg", - () -> new DeferredSpawnEggItem(DORRIE, 0x1B91B3, 0xC0E8FF, new Item.Properties())); - public static final DeferredItem HERCULES_BEETLE_SPAWN_EGG = ITEMS.register("hercules_beetle_spawn_egg", - () -> new DeferredSpawnEggItem(HERCULES_BEETLE, 0x6B1F2A, 0xD4AF37, new Item.Properties().rarity(Rarity.RARE))); + + // public static final DeferredHolder, EntityType> GLIMMER = ENTITY_TYPES.register("glimmer", + // () -> EntityType.Builder.of(com.craisinlord.antarchy.content.entity.GlimmerEntity::new, MobCategory.CREATURE) + // .sized(0.9F, 1.4F) + // .clientTrackingRange(8) + // .build("glimmer")); + // public static final DeferredItem GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg", + // () -> new DeferredSpawnEggItem(GLIMMER, 0xBEEFFF, 0x6FD8FF, new Item.Properties())); public static final DeferredHolder ANTARCHY_TAB = CREATIVE_MODE_TABS.register("antarchy", () -> CreativeModeTab.builder(CreativeModeTab.Row.TOP, 0) @@ -1975,25 +1823,18 @@ public final class AntarchyFabricContent { FabricDefaultAttributeRegistry.register(OCTOPUS_BOMB.get(), OctopusBombEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(NIGHTMARE.get(), NightmareEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(BED_BUG.get(), BedBugEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(STINK_BUG.get(), StinkBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(WASP.get(), WaspEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(BOMBER.get(), BomberEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(MANTIS.get(), MantisEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(TRIFFID.get(), TriffidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(LUCID.get(), LucidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(SCORPION.get(), ScorpionEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(BASILISK.get(), BasiliskEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(EMPEROR_SCORPION.get(), EmperorScorpionEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(TORETERROR.get(), ToreterrorEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.entity.HerculesBeetleEntity.createAttributes().build()); + // FabricDefaultAttributeRegistry.register(GLIMMER.get(), com.craisinlord.antarchy.content.entity.GlimmerEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(RED_ANT.get(), buildAntAttributes( AntarchySettings.redAntHealth(), @@ -2012,11 +1853,6 @@ public final class AntarchyFabricContent { ).build()); FabricDefaultAttributeRegistry.register(MOLEWORM.get(), MolewormEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(MOLEVORE.get(), MolevoreEntity.createAttributes().build()); - FabricDefaultAttributeRegistry.register(TERMITE.get(), buildAntAttributes( - AntarchySettings.termiteHealth(), - AntarchySettings.termiteMovementSpeed(), - AntarchySettings.termiteAttackDamage() - ).build()); } private static void registerSpawnPlacements() { @@ -2031,27 +1867,22 @@ public final class AntarchyFabricContent { SpawnPlacements.register(CLOUD_SHARK.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CloudSharkEntity::canSpawn); SpawnPlacements.register(WASP.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaspEntity::canSpawn); SpawnPlacements.register(BOMBER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BomberEntity::canSpawn); - SpawnPlacements.register(JUMPY_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JumpyBugEntity::canSpawn); - SpawnPlacements.register(SPIT_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SpitBugEntity::canSpawn); SpawnPlacements.register(KRAKEN.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, KrakenEntity::canSpawn); SpawnPlacements.register(MISSILE_SQUID.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn); SpawnPlacements.register(OCTOPUS_BOMB.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, OctopusBombEntity::canSpawn); SpawnPlacements.register(CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.AbstractFish::checkSurfaceWaterAnimalSpawnRules); + // SpawnPlacements.register(GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules); SpawnPlacements.register(NIGHTMARE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, NightmareEntity::canSpawn); SpawnPlacements.register(MOLEWORM.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolewormEntity::canSpawn); SpawnPlacements.register(MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MantisEntity::canSpawn); SpawnPlacements.register(ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules); SpawnPlacements.register(MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn); SpawnPlacements.register(BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn); - SpawnPlacements.register(STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn); SpawnPlacements.register(LUCID.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LucidEntity::canSpawn); SpawnPlacements.register(SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ScorpionEntity::canSpawn); SpawnPlacements.register(BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn); SpawnPlacements.register(EMPEROR_SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn); SpawnPlacements.register(TORETERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ToreterrorEntity::canSpawn); - SpawnPlacements.register(CREEPING_HORROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CreepingHorrorEntity::canSpawn); - SpawnPlacements.register(LURKING_TERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LurkingTerrorEntity::canSpawn); - SpawnPlacements.register(TERMITE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules); } private static void populateCreativeTab(CreativeModeTab.Output output) { @@ -2123,7 +1954,7 @@ public final class AntarchyFabricContent { "smooth_dream_sandstone_stairs", "smooth_dream_sandstone_slab", "cut_dream_sandstone_slab" -> 4; case "umbral_moss_block", "umbral_moss_carpet" -> 4; - case "torchflower_bush", "big_bush", "very_short_grass", "very_tall_grass", "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6; + case "hushweed", "orange_milkweed", "pink_milkweed", "amber_lichen", "creepvine" -> 6; case "blood_crystal_block", "budding_blood_crystal", "small_blood_crystal_bud", "medium_blood_crystal_bud", "large_blood_crystal_bud", "blood_crystal_cluster" -> 7; @@ -2135,7 +1966,6 @@ public final class AntarchyFabricContent { "chiseled_titanium", "uranium_bulb", "titanium_bulb", "uranium_door", "titanium_door", "uranium_trapdoor", "titanium_trapdoor", "uranium_bars", "titanium_bars" -> 8; - case "bile_vein" -> 9; case "infested_rooted_dirt", "infested_coarse_dirt", "triffid_goo_block", "cloud_block", "creeping_horror_egg", "lurking_terror_egg" -> 9; case "dream_torch", "dream_lantern", "dream_campfire", "dream_fire", "dream_fire_ceiling" -> 10; @@ -2145,7 +1975,7 @@ public final class AntarchyFabricContent { "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "rolly_polly_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", "apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg", "honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg", - "bomber_spawn_egg", "jumpy_bug_spawn_egg", "spit_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", + "bomber_spawn_egg", "jumpy_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", "nightmare_spawn_egg", "bed_bug_spawn_egg", "lucid_spawn_egg", "scorpion_spawn_egg", "basilisk_spawn_egg", "emperor_scorpion_spawn_egg", "toreterror_spawn_egg", "hercules_beetle_spawn_egg", @@ -2454,14 +2284,13 @@ public final class AntarchyFabricContent { CREATIVE_MODE_TABS.register(); // Wire common-module accessors after all registrations are complete. - AntarchyObjects.setHerculesBeetle(() -> HERCULES_BEETLE.get()); PermanentPortalType.bindBlocks( () -> MOSSY_OURANWOOD_WOOD.get(), () -> ELYTHIA_PORTAL.get(), () -> NYXITE.get(), () -> THORAXIS_PORTAL.get(), - () -> MYRMITE.get(), - () -> CAVARYN_PORTAL.get() + () -> NYXITE.get(), + () -> THORAXIS_PORTAL.get() ); AntarchySoundEvents.bind( @@ -2588,17 +2417,19 @@ public final class AntarchyFabricContent { TORETERROR_JUMP_UP, TORETERROR_JUMP_LAND, STINKY_FLY_SOUND, - CREEPING_HORROR_GROWL, - CREEPING_HORROR_HURT, - CREEPING_HORROR_BITE, - LURKING_TERROR_SNARL, - LURKING_TERROR_HURT, - LURKING_TERROR_BITE, - LURKING_TERROR_FLY_LOOP, + ANT_IDLE, + ANT_HURT, + ANT_BITE, + ANT_IDLE, + ANT_HURT, + ANT_BITE, + ANT_IDLE, DUCT_TAPE_USE ); AntarchyObjects.setOctopusBomb(OCTOPUS_BOMB); + // AntarchyObjects.setGlimmer(GLIMMER); + // AntarchyObjects.setGlimmersGrace(() -> mobEffectHolder(GLIMMERS_GRACE)); AntarchyObjects.bind( EASTER_BUNNY, FLYING_SQUIRREL, @@ -2619,11 +2450,11 @@ public final class AntarchyFabricContent { HUSH_PROJECTILE, TORETERROR, WATER_BOMB, - CREEPING_HORROR, - LURKING_TERROR, - STINK_BUG, + (java.util.function.Supplier) BOMBER, + (java.util.function.Supplier) BOMBER, + (java.util.function.Supplier) BED_BUG, CHEEP, - DORRIE, + (java.util.function.Supplier) CHEEP, () -> DUPLICATOR_LOG.get(), () -> DUPLICATOR_SAPLING.get(), () -> DUCT_TAPE.get(), @@ -2652,8 +2483,8 @@ public final class AntarchyFabricContent { () -> TRIFFID_GOO_BLOCK.get(), () -> PALE_NYXITE.get(), () -> NYXITE_SPIKE.get(), - () -> CHITEN_BLOCK.get(), - () -> CHITEN_SPIKE.get(), + () -> NYXITE.get(), + () -> NYXITE_SPIKE.get(), () -> POTENT_NYXITE.get(), () -> ANTIMETAL.get(), () -> POLISHED_ANTIMETAL.get(), @@ -2676,10 +2507,9 @@ public final class AntarchyFabricContent { () -> MOSSY_OURANWOOD_WOOD.get(), () -> ORANGE_MILKWEED.get(), () -> PINK_MILKWEED.get(), - () -> TORCHFLOWER_BUSH.get(), () -> BED_BUG_EGG.get(), - () -> CREEPING_HORROR_EGG.get(), - () -> LURKING_TERROR_EGG.get(), + () -> BED_BUG_EGG.get(), + () -> BED_BUG_EGG.get(), () -> WASP_NEST.get(), () -> HUSHWEED.get(), () -> OURANWOOD_SQUIRREL_NEST.get(), diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java index 765ce68f..972fcf8b 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricEvents.java @@ -52,13 +52,7 @@ public final class AntarchyFabricEvents { ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_BLOCK.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.AMBER_MOSS_CARPET.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.BIG_BUSH.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CREEPVINE.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.HUSHWEED.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_SHORT_GRASS.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.VERY_TALL_GRASS.get().asItem(), 0.5f); ComposterBlock.COMPOSTABLES.put(AntarchyFabricContent.CORNEA_EAR.get(), 0.65f); ServerLivingEntityEvents.AFTER_DEATH.register((entity, damageSource) -> { diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClient.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClient.java index d4ad79a8..4570a6e8 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClient.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClient.java @@ -7,6 +7,7 @@ public final class AntarchyFabricClient implements ClientModInitializer { @Override public void onInitializeClient() { AntarchyFabricClientNetworking.register(); + AntarchyFabricClientNetworking.bootstrapMultipartClient(); AntarchyFabricClientBootstrap.register(); } } diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index fbe05412..7c61431e 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -6,6 +6,7 @@ import com.craisinlord.antarchy.content.client.renderer.*; import com.craisinlord.antarchy.content.client.particle.*; import com.craisinlord.antarchy.content.client.renderer.AntiwaterFluidRenderer; import com.craisinlord.antarchy.fabric.AntarchyFabricContent; +import com.craisinlord.antarchy.fabric.client.renderer.MultipartPartRenderer; import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback; import net.minecraft.world.entity.EntityType; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; @@ -75,11 +76,9 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.RED_ANT.get(), AntRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.BROWN_ANT.get(), AntRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.RAINBOW_ANT.get(), AntRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.TERMITE.get(), TermiteRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEWORM.get(), MolewormRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MANTIS.get(), MantisRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.ALPHA_MANTIS.get(), AlphaMantisRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.ROLLY_POLLY.get(), RollyPollyRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEVORE.get(), MolevoreRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.TRIFFID.get(), TriffidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png"), false)); @@ -91,16 +90,14 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.DR_TRAYAURUS.get(), context -> new DrTrayaurusRenderer(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/dr_trayaurus.png"))); EntityRendererRegistry.register(AntarchyFabricContent.CLOUD_SHARK.get(), CloudSharkRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.KRAKEN.get(), KrakenRenderer::new); + EntityRendererRegistry.register(AntarchyFabricContent.KRAKEN_PART.get(), MultipartPartRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MISSILE_SQUID.get(), MissileSquidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.OCTOPUS_BOMB.get(), OctopusBombRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.NIGHTMARE.get(), NightmareRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.LUCID.get(), LucidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.BED_BUG.get(), BedBugRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.STINK_BUG.get(), StinkBugRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.WASP.get(), WaspRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.BOMBER.get(), BomberRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.JUMPY_BUG.get(), JumpyBugRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.SPIT_BUG.get(), SpitBugRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.BASILISK.get(), BasiliskRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.SHRINK_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new); @@ -108,17 +105,13 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.HUSH_PROJECTILE.get(), HushProjectileRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.SPIT_BUG_PROJECTILE.get(), SpitBugProjectileRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.UPWARD_FALLING_BLOCK.get(), UpwardFallingBlockRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.SCORPION.get(), ScorpionRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.EMPEROR_SCORPION.get(), EmperorScorpionRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.TORETERROR.get(), ToreterrorRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.WATER_BOMB.get(), WaterBombRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.CREEPING_HORROR.get(), CreepingHorrorRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.LURKING_TERROR.get(), LurkingTerrorRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.CHEEP.get(), com.craisinlord.antarchy.content.client.renderer.CheepRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.DORRIE.get(), com.craisinlord.antarchy.content.client.renderer.DorrieRenderer::new); - EntityRendererRegistry.register(AntarchyFabricContent.HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.client.renderer.HerculesBeetleRenderer::new); + // EntityRendererRegistry.register(AntarchyFabricContent.GLIMMER.get(), com.craisinlord.antarchy.content.client.renderer.GlimmerRenderer::new); EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.boatLayer(), BoatModel::createBodyModel); EntityModelLayerRegistry.registerModelLayer(OuranwoodBoatRenderer.chestBoatLayer(), ChestBoatModel::createBodyModel); @@ -135,18 +128,11 @@ public final class AntarchyFabricClientBootstrap { ColorProviderRegistry.BLOCK.register( (state, level, pos, tintIndex) -> level != null && pos != null ? BiomeColors.getAverageGrassColor(level, pos) - : net.minecraft.world.level.GrassColor.getDefaultColor(), - AntarchyFabricContent.BIG_BUSH.get(), - AntarchyFabricContent.BIG_BUSH_PART.get(), - AntarchyFabricContent.VERY_SHORT_GRASS.get(), - AntarchyFabricContent.VERY_TALL_GRASS.get() + : net.minecraft.world.level.GrassColor.getDefaultColor() ); ColorProviderRegistry.ITEM.register((stack, tintIndex) -> FoliageColor.getDefaultColor(), AntarchyFabricContent.OURANWOOD_LEAVES_ITEM.get()); ColorProviderRegistry.ITEM.register( - (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor(), - AntarchyFabricContent.BIG_BUSH_ITEM.get(), - AntarchyFabricContent.VERY_SHORT_GRASS_ITEM.get(), - AntarchyFabricContent.VERY_TALL_GRASS_ITEM.get() + (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor() ); } @@ -228,22 +214,12 @@ public final class AntarchyFabricClientBootstrap { BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.DUPLICATOR_SAPLING.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ORANGE_MILKWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.PINK_MILKWEED.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TORCHFLOWER_BUSH.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BIG_BUSH_PART.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_SHORT_GRASS.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.VERY_TALL_GRASS.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.HUSHWEED.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CORNEA_STALK.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.FALLEN_KING_CROWN_BLOCK.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.UMBRAL_MOSS_CARPET.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.AMBER_MOSS_CARPET.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.AMBER_LICHEN.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.BILE_VEIN.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CREEPVINE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.NYXITE_SPIKE.get(), RenderType.cutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CHITEN_SPIKE.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.SMALL_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.MEDIUM_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.LARGE_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); @@ -257,7 +233,6 @@ public final class AntarchyFabricClientBootstrap { BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ANTIWATER_BLOCK.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.ELYTHIA_PORTAL.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.THORAXIS_PORTAL.get(), RenderType.translucent()); - BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.CAVARYN_PORTAL.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TRIFFID_GOO_BLOCK.get(), RenderType.translucent()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.URANIUM_DOOR.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(AntarchyFabricContent.TITANIUM_DOOR.get(), RenderType.cutout()); @@ -369,8 +344,6 @@ public final class AntarchyFabricClientBootstrap { MogglesClientRenderer.register(); StinkySoundHandler.register(); ReverieTrailHandler.register(); - ClientTickEvents.END_CLIENT_TICK.register(com.craisinlord.antarchy.content.client.BigBushCameraHider::update); - HudRenderCallback.EVENT.register((guiGraphics, partialTick) -> { DreadHudRenderer.render(guiGraphics); ParalyzedHudRenderer.render(guiGraphics); diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/multipart/MultipartClientPartLevelRegistry.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/multipart/MultipartClientPartLevelRegistry.java new file mode 100644 index 00000000..3d4d0be6 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/multipart/MultipartClientPartLevelRegistry.java @@ -0,0 +1,37 @@ +package com.craisinlord.antarchy.fabric.client.multipart; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.world.entity.Entity; + +public final class MultipartClientPartLevelRegistry { + private MultipartClientPartLevelRegistry() { + } + + public static void register(MultipartEntityOwner owner) { + Entity[] parts = owner.antarchy$getMultipartParts(); + if (parts == null) { + return; + } + + ClientLevel clientLevel = (ClientLevel) ((Entity) owner).level(); + for (Entity part : parts) { + if (part != null && clientLevel.getEntity(part.getId()) != part) { + clientLevel.addEntity(part); + } + } + } + + public static void unregister(MultipartEntityOwner owner) { + Entity[] parts = owner.antarchy$getMultipartParts(); + if (parts == null) { + return; + } + + for (Entity part : parts) { + if (part != null && !part.isRemoved()) { + part.discard(); + } + } + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/renderer/MultipartPartRenderer.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/renderer/MultipartPartRenderer.java new file mode 100644 index 00000000..9ac04fbc --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/renderer/MultipartPartRenderer.java @@ -0,0 +1,26 @@ +package com.craisinlord.antarchy.fabric.client.renderer; + +import com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.entity.EntityRenderer; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.resources.ResourceLocation; + +public class MultipartPartRenderer extends EntityRenderer { + private static final ResourceLocation TEXTURE = ResourceLocation.withDefaultNamespace("textures/misc/white.png"); + + public MultipartPartRenderer(EntityRendererProvider.Context context) { + super(context); + this.shadowRadius = 0.0F; + } + + @Override + public void render(MultipartPartEntity entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource buffer, int packedLight) { + } + + @Override + public ResourceLocation getTextureLocation(MultipartPartEntity entity) { + return TEXTURE; + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/FabricKrakenMultipartLayout.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/FabricKrakenMultipartLayout.java new file mode 100644 index 00000000..de51b887 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/FabricKrakenMultipartLayout.java @@ -0,0 +1,65 @@ +package com.craisinlord.antarchy.fabric.entity.multipart; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition; + +public final class FabricKrakenMultipartLayout { + private static final MultipartPartDefinition[] PARTS = { + new MultipartPartDefinition( + "tentacle_mass", + 14.0F, + 18.0F, + 0.90F, + 12.0D, + 13.5D, + 0.00D, + true + ), + new MultipartPartDefinition( + "head", + 15.0F, + 11.5F, + 1.00F, + 26.0D, + 19.0D, + 0.00D, + true + ), + new MultipartPartDefinition( + "back_head", + 13.0F, + 11.0F, + 1.10F, + 38.0D, + 20.5D, + 0.00D, + true + ), + new MultipartPartDefinition( + "mantle", + 16.0F, + 14.0F, + 1.00F, + 51.0D, + 23.0D, + 0.00D, + true + ), + new MultipartPartDefinition( + "crest", + 12.0F, + 10.0F, + 1.10F, + 63.0D, + 28.0D, + 0.00D, + true + ) + }; + + private FabricKrakenMultipartLayout() { + } + + public static MultipartPartDefinition part(int partIndex) { + return PARTS[partIndex]; + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartPartEntity.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartPartEntity.java new file mode 100644 index 00000000..2402dfd8 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartPartEntity.java @@ -0,0 +1,199 @@ +package com.craisinlord.antarchy.fabric.entity.multipart; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework; +import com.craisinlord.antarchy.content.entity.multipart.MultipartPartAccess; +import com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityDimensions; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.Pose; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; + +public class MultipartPartEntity extends Entity implements MultipartPartAccess { + @Nullable + private MultipartEntityOwner owner; + private int partIndex; + @Nullable + private MultipartPartDefinition definition; + + public MultipartPartEntity(EntityType entityType, Level level) { + super(entityType, level); + this.setNoGravity(true); + } + + public MultipartPartEntity antarchy$configure(MultipartEntityOwner owner, int partIndex, MultipartPartDefinition definition) { + this.owner = owner; + this.partIndex = partIndex; + this.definition = definition; + this.refreshDimensions(); + this.antarchy$syncFromParent(); + return this; + } + + @Nullable + public Entity antarchy$getMultipartParent() { + return this.owner == null ? null : (Entity) this.owner; + } + + public int getPartIndex() { + return this.partIndex; + } + + public String getPartName() { + return this.definition == null ? "" : this.definition.name(); + } + + public float getDamageMultiplier() { + return this.definition == null ? 1.0F : this.definition.damageMultiplier(); + } + + @Override + public void antarchy$syncFromParent() { + Entity parent = this.antarchy$getMultipartParent(); + MultipartPartDefinition definition = this.definition; + if (parent == null || definition == null || parent.isRemoved()) { + return; + } + + double oldX = this.getX(); + double oldY = this.getY(); + double oldZ = this.getZ(); + double yawRadians = Math.toRadians(parent.getYRot()); + Vec3 forward = new Vec3(-Math.sin(yawRadians), 0.0D, Math.cos(yawRadians)); + Vec3 right = new Vec3(forward.z, 0.0D, -forward.x); + Vec3 position = new Vec3( + parent.getX() + forward.x * definition.forwardOffset() + right.x * definition.lateralOffset(), + parent.getY() + definition.yOffset(), + parent.getZ() + forward.z * definition.forwardOffset() + right.z * definition.lateralOffset() + ); + this.setPos(position.x, position.y, position.z); + this.setYRot(parent.getYRot()); + this.setXRot(parent.getXRot()); + this.xo = oldX; + this.yo = oldY; + this.zo = oldZ; + this.xOld = oldX; + this.yOld = oldY; + this.zOld = oldZ; + } + + @Override + public boolean is(Entity entity) { + return entity == this || entity == this.antarchy$getMultipartParent(); + } + + @Override + public boolean isPickable() { + return true; + } + + @Override + public boolean isAttackable() { + return true; + } + + @Override + public boolean isPushable() { + return false; + } + + @Override + public boolean canBeCollidedWith() { + return !this.isRemoved(); + } + + @Override + public boolean canCollideWith(Entity entity) { + MultipartPartDefinition definition = this.definition; + if (definition == null || !definition.collisionEnabled()) { + return false; + } + + Entity parent = this.antarchy$getMultipartParent(); + if (entity == parent) { + return false; + } + + if (entity instanceof MultipartPartEntity otherPart && otherPart.antarchy$getMultipartParent() == parent) { + return false; + } + + return entity.canBeCollidedWith() && !this.isPassengerOfSameVehicle(entity); + } + + @Override + public boolean shouldBeSaved() { + return false; + } + + @Override + public ItemStack getPickResult() { + Entity parent = this.antarchy$getMultipartParent(); + return parent == null ? ItemStack.EMPTY : parent.getPickResult(); + } + + @Override + public boolean hurt(DamageSource source, float amount) { + Entity parent = this.antarchy$getMultipartParent(); + MultipartPartDefinition definition = this.definition; + if (parent == null || definition == null || parent.isRemoved()) { + return false; + } + + if (this.level().isClientSide()) { + if (source.getEntity() instanceof Player) { + MultipartFramework.sendMultipartAttack(parent.getUUID(), this.partIndex, amount * definition.damageMultiplier()); + } + return true; + } + + return this.owner != null && this.owner.antarchy$hurtMultipartPart(this, source, amount * definition.damageMultiplier()); + } + + @Override + public boolean isInvulnerableTo(DamageSource source) { + return false; + } + + @Override + public InteractionResult interactAt(Player player, Vec3 vec, InteractionHand hand) { + Entity parent = this.antarchy$getMultipartParent(); + if (parent == null || parent.isRemoved()) { + return InteractionResult.PASS; + } + + if (this.level().isClientSide()) { + MultipartFramework.sendMultipartInteract(parent.getUUID(), this.partIndex, hand.ordinal()); + return InteractionResult.SUCCESS; + } + + return this.owner == null ? InteractionResult.PASS : this.owner.antarchy$interactMultipartPart(this, player, vec, hand); + } + + @Override + public EntityDimensions getDimensions(Pose pose) { + MultipartPartDefinition definition = this.definition; + return definition == null ? super.getDimensions(pose) : EntityDimensions.scalable(definition.width(), definition.height()); + } + + @Override + protected void defineSynchedData(net.minecraft.network.syncher.SynchedEntityData.Builder builder) { + } + + @Override + protected void readAdditionalSaveData(CompoundTag tag) { + } + + @Override + protected void addAdditionalSaveData(CompoundTag tag) { + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartServerPartLevelRegistry.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartServerPartLevelRegistry.java new file mode 100644 index 00000000..b2b711ba --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/entity/multipart/MultipartServerPartLevelRegistry.java @@ -0,0 +1,37 @@ +package com.craisinlord.antarchy.fabric.entity.multipart; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.Entity; + +public final class MultipartServerPartLevelRegistry { + private MultipartServerPartLevelRegistry() { + } + + public static void register(MultipartEntityOwner owner) { + Entity[] parts = owner.antarchy$getMultipartParts(); + if (parts == null) { + return; + } + + ServerLevel serverLevel = (ServerLevel) ((Entity) owner).level(); + for (Entity part : parts) { + if (part != null && serverLevel.getEntity(part.getId()) != part) { + serverLevel.addFreshEntity(part); + } + } + } + + public static void unregister(MultipartEntityOwner owner) { + Entity[] parts = owner.antarchy$getMultipartParts(); + if (parts == null) { + return; + } + + for (Entity part : parts) { + if (part != null && !part.isRemoved()) { + part.discard(); + } + } + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartClientSpawnMixin.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartClientSpawnMixin.java new file mode 100644 index 00000000..5968bf07 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartClientSpawnMixin.java @@ -0,0 +1,19 @@ +package com.craisinlord.antarchy.fabric.mixin.client; + +import com.craisinlord.antarchy.fabric.AntarchyFabricContent; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ClientPacketListener.class) +public abstract class MultipartClientSpawnMixin { + @Inject(method = "handleAddEntity", at = @At("HEAD"), cancellable = true) + private void antarchy$skipTrackedMultipartPlaceholders(ClientboundAddEntityPacket packet, CallbackInfo ci) { + if (packet.getType() == AntarchyFabricContent.KRAKEN_PART.get()) { + ci.cancel(); + } + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartEntityLevelRegistryMixin.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartEntityLevelRegistryMixin.java new file mode 100644 index 00000000..1dc6ceaa --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/client/MultipartEntityLevelRegistryMixin.java @@ -0,0 +1,34 @@ +package com.craisinlord.antarchy.fabric.mixin.client; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import com.craisinlord.antarchy.fabric.client.multipart.MultipartClientPartLevelRegistry; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.entity.EntityInLevelCallback; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(Entity.class) +public abstract class MultipartEntityLevelRegistryMixin { + @Inject(method = "setLevelCallback", at = @At("TAIL")) + private void antarchy$registerMultipartParts(EntityInLevelCallback entityInLevelCallback, CallbackInfo ci) { + Entity self = (Entity) (Object) this; + if (self instanceof MultipartEntityOwner owner + && entityInLevelCallback != EntityInLevelCallback.NULL + && self.level().isClientSide()) { + if (owner.antarchy$getMultipartParts() == null) { + owner.antarchy$spawnMultipartParts(); + } + MultipartClientPartLevelRegistry.register(owner); + } + } + + @Inject(method = "setRemoved", at = @At("HEAD")) + private void antarchy$unregisterMultipartParts(Entity.RemovalReason removalReason, CallbackInfo ci) { + Entity self = (Entity) (Object) this; + if (self instanceof MultipartEntityOwner owner && self.level().isClientSide()) { + MultipartClientPartLevelRegistry.unregister(owner); + } + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/entity/MultipartEntityLevelRegistryMixin.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/entity/MultipartEntityLevelRegistryMixin.java new file mode 100644 index 00000000..a2f3c9dc --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/mixin/entity/MultipartEntityLevelRegistryMixin.java @@ -0,0 +1,37 @@ +package com.craisinlord.antarchy.fabric.mixin.entity; + +import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import com.craisinlord.antarchy.fabric.entity.multipart.MultipartServerPartLevelRegistry; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.entity.EntityInLevelCallback; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(Entity.class) +/* + * Keeps multipart child entities registered in Fabric levels. + */ +public abstract class MultipartEntityLevelRegistryMixin { + @Inject(method = "setLevelCallback", at = @At("TAIL")) + private void antarchy$registerMultipartParts(EntityInLevelCallback entityInLevelCallback, CallbackInfo ci) { + Entity self = (Entity) (Object) this; + if (self instanceof MultipartEntityOwner owner + && entityInLevelCallback != EntityInLevelCallback.NULL + && !self.level().isClientSide()) { + if (owner.antarchy$getMultipartParts() == null) { + owner.antarchy$spawnMultipartParts(); + } + MultipartServerPartLevelRegistry.register(owner); + } + } + + @Inject(method = "setRemoved", at = @At("HEAD")) + private void antarchy$unregisterMultipartParts(Entity.RemovalReason removalReason, CallbackInfo ci) { + Entity self = (Entity) (Object) this; + if (self instanceof MultipartEntityOwner owner && !self.level().isClientSide()) { + MultipartServerPartLevelRegistry.unregister(owner); + } + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricClientNetworking.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricClientNetworking.java index 13f6b682..c88148ee 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricClientNetworking.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricClientNetworking.java @@ -4,6 +4,9 @@ import com.craisinlord.antarchy.content.client.BloodglassClientState; import com.craisinlord.antarchy.content.client.BrutalflyElytraClientState; import com.craisinlord.antarchy.content.client.ScorpionWhipTetherClientState; import com.craisinlord.antarchy.content.client.ThoraxisWeatherClientState; +import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework; +import com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload; +import com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload; import com.craisinlord.antarchy.content.network.*; import com.craisinlord.antarchy.content.weather.ThoraxisWeatherKind; import com.craisinlord.antarchy.fabric.client.BloodCrystalKatanaTrailClientState; @@ -14,6 +17,23 @@ public final class AntarchyFabricClientNetworking { private AntarchyFabricClientNetworking() { } + public static void bootstrapMultipartClient() { + MultipartFramework.bootstrap( + AntarchyFabricNetworking::createMultipartPart, + new MultipartFramework.NetworkBridge() { + @Override + public void sendAttack(java.util.UUID parentId, int partIndex, float damage) { + ClientPlayNetworking.send(new MultipartAttackPayload(parentId, partIndex, damage)); + } + + @Override + public void sendInteract(java.util.UUID parentId, int partIndex, int handId) { + ClientPlayNetworking.send(new MultipartInteractPayload(parentId, partIndex, handId)); + } + } + ); + } + public static void register() { ClientPlayNetworking.registerGlobalReceiver(GravityStatePayload.TYPE, (payload, context) -> context.client().execute(() -> AntarchyFabricNetworking.handleGravityState(context.player(), payload))); diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java index 7ce2d2fe..81ff9284 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java @@ -3,6 +3,7 @@ package com.craisinlord.antarchy.fabric.network; import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity; import com.craisinlord.antarchy.content.client.HerculesBeetleImpactShakeClientState; import com.craisinlord.antarchy.content.entity.multipart.MultipartEntityOwner; +import com.craisinlord.antarchy.content.entity.multipart.MultipartFramework; import com.craisinlord.antarchy.content.entity.multipart.network.MultipartAttackPayload; import com.craisinlord.antarchy.content.entity.multipart.network.MultipartInteractPayload; import com.craisinlord.antarchy.content.gravity.AntarchyGravityApi; @@ -19,6 +20,8 @@ import com.craisinlord.antarchy.content.entity.DorrieEntity; import com.craisinlord.antarchy.content.network.DorrieJumpInputPayload; import com.craisinlord.antarchy.content.network.JumpyBootsLaunchPayload; import com.craisinlord.antarchy.content.weather.ThoraxisWeatherSnapshot; +import com.craisinlord.antarchy.fabric.AntarchyFabricContent; +import com.craisinlord.antarchy.fabric.entity.multipart.MultipartPartEntity; import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.PlayerLookup; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; @@ -28,7 +31,6 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ItemStack; @@ -43,6 +45,26 @@ public final class AntarchyFabricNetworking { registerServerReceivers(); } + public static void bootstrapMultipartCommon() { + MultipartFramework.bootstrap( + AntarchyFabricNetworking::createMultipartPart, + new MultipartFramework.NetworkBridge() { + @Override + public void sendAttack(java.util.UUID parentId, int partIndex, float damage) { + } + + @Override + public void sendInteract(java.util.UUID parentId, int partIndex, int handId) { + } + } + ); + } + + public static MultipartPartEntity createMultipartPart(MultipartEntityOwner owner, int partIndex, com.craisinlord.antarchy.content.entity.multipart.MultipartPartDefinition spec) { + return new MultipartPartEntity(AntarchyFabricContent.KRAKEN_PART.get(), ((Entity) owner).level()) + .antarchy$configure(owner, partIndex, spec); + } + private static void registerPayloadTypes() { PayloadTypeRegistry.playS2C().register(GravityStatePayload.TYPE, GravityStatePayload.STREAM_CODEC); PayloadTypeRegistry.playS2C().register(BloodglassStatePayload.TYPE, BloodglassStatePayload.STREAM_CODEC); @@ -275,8 +297,7 @@ public final class AntarchyFabricNetworking { return; } - DamageSource source = serverPlayer.level().damageSources().playerAttack(serverPlayer); - owner.antarchy$hurtMultipartPart(part, source, payload.damage()); + serverPlayer.attack(part); } private static void handleMultipartInteract(ServerPlayer serverPlayer, MultipartInteractPayload payload) { diff --git a/fabric/src/main/resources/antarchy-fabric.mixins.json b/fabric/src/main/resources/antarchy-fabric.mixins.json index c4066f37..e3f62732 100644 --- a/fabric/src/main/resources/antarchy-fabric.mixins.json +++ b/fabric/src/main/resources/antarchy-fabric.mixins.json @@ -15,6 +15,7 @@ "BloodglassRespawnMixin", "DreamCampfireBlockEntityMixin", "JumpyBootsFallDamageMixin", + "entity.MultipartEntityLevelRegistryMixin", "WoodTypeInvoker", "infinity.RandomSpringMixin", "infinity.PortalCreatorMixin" @@ -24,7 +25,9 @@ "client.DuctTapeInputMixin", "client.AntiwaterFogMixin", "client.GravityGunMouseScrollMixin", - "client.CrossbowArmPoseMixin" + "client.CrossbowArmPoseMixin", + "client.MultipartClientSpawnMixin", + "client.MultipartEntityLevelRegistryMixin" ], "injectors": { "defaultRequire": 1 diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index a17a1eae..639fc562 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -33,6 +33,7 @@ "java": ">=21", "fabric-api": "*", "integrated_api": "*", - "geckolib": "*" + "geckolib": "*", + "sizeable_foliage": "*" } } diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 00973c18..5fabcb04 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -37,6 +37,9 @@ dependencies { compileOnly(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar"))) modLocalRuntime(files(rootProject.file("infinite_dimensions_jars/infinity-2.7.1+1.21.1-neoforge.jar"))) + compileOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar"))) + runtimeOnly(files(rootProject.file("sizeable_foliage_jars/sizeable_foliage-neoforge-1.21.1-1.0.0.jar"))) + modLocalRuntime("com.telepathicgrunt:CommandStructures-Neoforge:${project.commandstructures_neoforge}") modLocalRuntime("com.telepathicgrunt:StructureVoidToggle-Neoforge:${project.structurevoidtoggle_neoforge}") diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index c2e356a0..0d3153a3 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -199,6 +199,7 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setHerculesBeetleHealth(AntarchyMobsConfig.herculesBeetleHealth()); AntarchySettings.setHerculesBeetleAttackDamage(AntarchyMobsConfig.herculesBeetleAttackDamage()); AntarchySettings.setHerculesBeetleChargeDamage(AntarchyMobsConfig.herculesBeetleChargeDamage()); + AntarchySettings.setGlimmerHealth(AntarchyMobsConfig.glimmerHealth()); } private static void bakeToolsConfig() { diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index d22259cc..849cce3b 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -212,6 +212,11 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.DoubleValue DORRIE_HEALTH; + // Glimmer + + private static final ModConfigSpec.DoubleValue GLIMMER_HEALTH; + + // Hercules Beetle private static final ModConfigSpec.DoubleValue HERCULES_BEETLE_HEALTH; @@ -473,7 +478,7 @@ public final class AntarchyMobsConfig { .defineInRange("spawnMaxLightLevel", 5, 0, 15); BASILISK_HEALTH = b.comment("Base max health.").defineInRange("health", 150.0D, 1.0D, 32768.0D); BASILISK_ATTACK_DAMAGE = b.comment("Base attack damage.").defineInRange("attackDamage", 36.0D, 0.0D, 1024.0D); - BASILISK_MOVEMENT_SPEED = b.comment("Base movement speed.").defineInRange("movementSpeed", 0.35D, 0.0D, 10.0D); + BASILISK_MOVEMENT_SPEED = b.comment("Base movement speed.").defineInRange("movementSpeed", 0.28D, 0.0D, 10.0D); BASILISK_ARMOR = b.comment("Base armor value.").defineInRange("armor", 6.0D, 0.0D, 1024.0D); BASILISK_KNOCKBACK_RESISTANCE = b.comment("Base knockback resistance.").defineInRange("knockbackResistance", 0.5D, 0.0D, 1.0D); BASILISK_FOLLOW_RANGE = b.comment("Base follow range.").defineInRange("followRange", 28.0D, 1.0D, 128.0D); @@ -542,6 +547,10 @@ public final class AntarchyMobsConfig { DORRIE_HEALTH = b.comment("Base max health.").defineInRange("health", 60.0D, 1.0D, 32768.0D); b.pop(); + b.push("glimmer"); + GLIMMER_HEALTH = b.comment("Base max health.").defineInRange("health", 20.0D, 1.0D, 32768.0D); + b.pop(); + b.push("herculesBeetle"); HERCULES_BEETLE_HEALTH = b.comment("Base max health.").defineInRange("health", 500.0D, 1.0D, 32768.0D); HERCULES_BEETLE_ATTACK_DAMAGE = b.comment("Base melee damage for ground and flying attacks.").defineInRange("attackDamage", 30.0D, 0.0D, 1024.0D); @@ -718,6 +727,7 @@ public final class AntarchyMobsConfig { static double cheepHealth() { return CHEEP_HEALTH.get(); } static double cheepAttackDamage() { return CHEEP_ATTACK_DAMAGE.get(); } static double dorrieHealth() { return DORRIE_HEALTH.get(); } + static double glimmerHealth() { return GLIMMER_HEALTH.get(); } static double herculesBeetleHealth() { return HERCULES_BEETLE_HEALTH.get(); } static double herculesBeetleAttackDamage() { return HERCULES_BEETLE_ATTACK_DAMAGE.get(); } static double herculesBeetleChargeDamage() { return HERCULES_BEETLE_CHARGE_DAMAGE.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java index dfcbac37..bf604348 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java @@ -15,6 +15,7 @@ import net.neoforged.fml.ModContainer; import net.neoforged.fml.ModList; import net.neoforged.fml.common.Mod; import net.neoforged.neoforge.network.PacketDistributor; +import net.minecraft.world.level.block.Blocks; @Mod(Antarchy.MODID) @@ -148,13 +149,13 @@ public class AntarchyNeoforge { AntarchyNeoforgeSounds.TORETERROR_JUMP_UP, AntarchyNeoforgeSounds.TORETERROR_JUMP_LAND, AntarchyNeoforgeSounds.STINKY_FLY, - AntarchyNeoforgeSounds.CREEPING_HORROR_GROWL, - AntarchyNeoforgeSounds.CREEPING_HORROR_HURT, - AntarchyNeoforgeSounds.CREEPING_HORROR_BITE, - AntarchyNeoforgeSounds.LURKING_TERROR_SNARL, - AntarchyNeoforgeSounds.LURKING_TERROR_HURT, - AntarchyNeoforgeSounds.LURKING_TERROR_BITE, - AntarchyNeoforgeSounds.LURKING_TERROR_FLY_LOOP, + AntarchyNeoforgeSounds.ANT_IDLE, + AntarchyNeoforgeSounds.ANT_HURT, + AntarchyNeoforgeSounds.ANT_BITE, + AntarchyNeoforgeSounds.ANT_IDLE, + AntarchyNeoforgeSounds.ANT_HURT, + AntarchyNeoforgeSounds.ANT_BITE, + AntarchyNeoforgeSounds.ANT_IDLE, AntarchyNeoforgeSounds.DUCT_TAPE_USE ); bindCommonObjects(); @@ -189,8 +190,8 @@ public class AntarchyNeoforge { () -> AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), () -> AntarchyNeoforgeBlocks.NYXITE.get(), () -> AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), - () -> AntarchyNeoforgeBlocks.MYRMITE.get(), - () -> AntarchyNeoforgeBlocks.CAVARYN_PORTAL.get() + () -> AntarchyNeoforgeBlocks.NYXITE.get(), + () -> AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get() ); AntarchyObjects.bind( AntarchyNeoforgeEntites.EASTER_BUNNY, @@ -212,11 +213,11 @@ public class AntarchyNeoforge { AntarchyNeoforgeEntites.HUSH_PROJECTILE, AntarchyNeoforgeEntites.TORETERROR, AntarchyNeoforgeEntites.WATER_BOMB, - AntarchyNeoforgeEntites.CREEPING_HORROR, - AntarchyNeoforgeEntites.LURKING_TERROR, - AntarchyNeoforgeEntites.STINK_BUG, + (java.util.function.Supplier) AntarchyNeoforgeEntites.BOMBER, + (java.util.function.Supplier) AntarchyNeoforgeEntites.BOMBER, + (java.util.function.Supplier) AntarchyNeoforgeEntites.BED_BUG, AntarchyNeoforgeEntites.CHEEP, - AntarchyNeoforgeEntites.DORRIE, + (java.util.function.Supplier) AntarchyNeoforgeEntites.CHEEP, () -> AntarchyNeoforgeBlocks.DUPLICATOR_LOG.get(), () -> AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(), () -> AntarchyNeoforgeBlocks.DUCT_TAPE.get(), @@ -245,8 +246,8 @@ public class AntarchyNeoforge { () -> AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), () -> AntarchyNeoforgeBlocks.PALE_NYXITE.get(), () -> AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(), - () -> AntarchyNeoforgeBlocks.CHITEN_BLOCK.get(), - () -> AntarchyNeoforgeBlocks.CHITEN_SPIKE.get(), + () -> AntarchyNeoforgeBlocks.NYXITE.get(), + () -> AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(), () -> AntarchyNeoforgeBlocks.POTENT_NYXITE.get(), () -> AntarchyNeoforgeBlocks.ANTIMETAL.get(), () -> AntarchyNeoforgeBlocks.POLISHED_ANTIMETAL.get(), @@ -269,10 +270,9 @@ public class AntarchyNeoforge { () -> AntarchyNeoforgeBlocks.MOSSY_OURANWOOD_WOOD.get(), () -> AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(), () -> AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), - () -> AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(), () -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(), - () -> AntarchyNeoforgeBlocks.CREEPING_HORROR_EGG.get(), - () -> AntarchyNeoforgeBlocks.LURKING_TERROR_EGG.get(), + () -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(), + () -> AntarchyNeoforgeBlocks.BED_BUG_EGG.get(), () -> AntarchyNeoforgeBlocks.WASP_NEST.get(), () -> AntarchyNeoforgeBlocks.HUSHWEED.get(), () -> AntarchyNeoforgeBlocks.OURANWOOD_SQUIRREL_NEST.get(), @@ -287,8 +287,9 @@ public class AntarchyNeoforge { () -> AntarchyNeoforgeMisc.BLOODGLASS_MAX_HEARTS, () -> AntarchyNeoforgeMisc.BLOODGLASS_WARD ); - AntarchyObjects.setHerculesBeetle(AntarchyNeoforgeEntites.HERCULES_BEETLE); AntarchyObjects.setOctopusBomb(AntarchyNeoforgeEntites.OCTOPUS_BOMB); + // AntarchyObjects.setGlimmer(AntarchyNeoforgeEntites.GLIMMER); + // AntarchyObjects.setGlimmersGrace(() -> AntarchyNeoforgeMisc.GLIMMERS_GRACE); } private static boolean isModLoaded(String modId) { diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index b15a8a38..1e5af0fe 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -91,11 +91,9 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.RED_ANT.get(), context -> withParalyzedGeoLayer(new AntRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.BROWN_ANT.get(), context -> withParalyzedGeoLayer(new AntRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.RAINBOW_ANT.get(), context -> withParalyzedGeoLayer(new AntRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.TERMITE.get(), context -> withParalyzedGeoLayer(new TermiteRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEWORM.get(), context -> withParalyzedGeoLayer(new MolewormRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MANTIS.get(), context -> withParalyzedGeoLayer(new MantisRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), context -> withParalyzedGeoLayer(new AlphaMantisRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), context -> withParalyzedGeoLayer(new RollyPollyRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEVORE.get(), context -> withParalyzedGeoLayer(new MolevoreRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false)); @@ -112,11 +110,8 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.NIGHTMARE.get(), context -> withParalyzedGeoLayer(new NightmareRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.LUCID.get(), context -> withParalyzedGeoLayer(new LucidRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.BED_BUG.get(), context -> withParalyzedGeoLayer(new BedBugRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.STINK_BUG.get(), context -> withParalyzedGeoLayer(new StinkBugRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.WASP.get(), context -> withParalyzedGeoLayer(new WaspRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.BOMBER.get(), context -> withParalyzedGeoLayer(new BomberRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.JUMPY_BUG.get(), context -> withParalyzedGeoLayer(new JumpyBugRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.SPIT_BUG.get(), context -> withParalyzedGeoLayer(new SpitBugRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.BASILISK.get(), context -> withParalyzedGeoLayer(new BasiliskRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.SHRINK_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.GROWTH_RAY_PROJECTILE.get(), SizeRayProjectileRenderer::new); @@ -124,17 +119,13 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.LUCID_PEARL_PROJECTILE.get(), ThrownItemRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.HUSH_PROJECTILE.get(), HushProjectileRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.BRUTALFLY_ORB.get(), BrutalflyOrbRenderer::new); - event.registerEntityRenderer(AntarchyNeoforgeEntites.SPIT_BUG_PROJECTILE.get(), SpitBugProjectileRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.UPWARD_FALLING_BLOCK.get(), com.craisinlord.antarchy.content.client.renderer.UpwardFallingBlockRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.SCORPION.get(), context -> withParalyzedGeoLayer(new ScorpionRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), context -> withParalyzedGeoLayer(new EmperorScorpionRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.WATER_BOMB.get(), WaterBombRenderer::new); - event.registerEntityRenderer(AntarchyNeoforgeEntites.CREEPING_HORROR.get(), CreepingHorrorRenderer::new); - event.registerEntityRenderer(AntarchyNeoforgeEntites.LURKING_TERROR.get(), LurkingTerrorRenderer::new); event.registerEntityRenderer(AntarchyNeoforgeEntites.CHEEP.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.CheepRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.DORRIE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.DorrieRenderer(context))); - event.registerEntityRenderer(AntarchyNeoforgeEntites.HERCULES_BEETLE.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.HerculesBeetleRenderer(context))); + // event.registerEntityRenderer(AntarchyNeoforgeEntites.GLIMMER.get(), context -> withParalyzedGeoLayer(new com.craisinlord.antarchy.content.client.renderer.GlimmerRenderer(context))); } @SubscribeEvent @@ -201,11 +192,7 @@ public final class AntarchyNeoForgeClient { event.register( (state, level, pos, tintIndex) -> level != null && pos != null ? BiomeColors.getAverageGrassColor(level, pos) - : net.minecraft.world.level.GrassColor.getDefaultColor(), - AntarchyNeoforgeBlocks.BIG_BUSH.get(), - AntarchyNeoforgeBlocks.BIG_BUSH_PART.get(), - AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get(), - AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get() + : net.minecraft.world.level.GrassColor.getDefaultColor() ); } @@ -216,10 +203,7 @@ public final class AntarchyNeoForgeClient { AntarchyNeoforgeItems.OURANWOOD_LEAVES_ITEM.get() ); event.register( - (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor(), - AntarchyNeoforgeItems.BIG_BUSH_ITEM.get(), - AntarchyNeoforgeItems.VERY_SHORT_GRASS_ITEM.get(), - AntarchyNeoforgeItems.VERY_TALL_GRASS_ITEM.get() + (stack, tintIndex) -> net.minecraft.world.level.GrassColor.getDefaultColor() ); event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ICHOR_BUCKET.get()); event.register(new DynamicFluidContainerModel.Colors(), AntarchyNeoforgeItems.ANTIWATER_BUCKET.get()); @@ -438,21 +422,11 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.DUPLICATOR_SAPLING.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ORANGE_MILKWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.PINK_MILKWEED.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.BIG_BUSH.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.BIG_BUSH_PART.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.HUSHWEED.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CORNEA_STALK.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIMETAL_SCAFFOLDING.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.AMBER_MOSS_CARPET.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.AMBER_LICHEN.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.BILE_VEIN.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CREEPVINE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.NYXITE_SPIKE.get(), RenderType.cutout()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CHITEN_SPIKE.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.SMALL_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.MEDIUM_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.LARGE_BLOOD_CRYSTAL_BUD.get(), RenderType.cutout()); @@ -466,7 +440,6 @@ public final class AntarchyNeoForgeClient { ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ANTIWATER_BLOCK.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.ELYTHIA_PORTAL.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.THORAXIS_PORTAL.get(), RenderType.translucent()); - ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.CAVARYN_PORTAL.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), RenderType.translucent()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.URANIUM_DOOR.get(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(AntarchyNeoforgeBlocks.TITANIUM_DOOR.get(), RenderType.cutout()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java deleted file mode 100644 index f383a7c8..00000000 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/BigBushHideHandler.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.craisinlord.antarchy.neoforge.client; - -import com.craisinlord.antarchy.Antarchy; -import com.craisinlord.antarchy.content.client.BigBushCameraHider; -import net.minecraft.client.Minecraft; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.neoforge.client.event.ClientTickEvent; - -@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT, bus = EventBusSubscriber.Bus.GAME) -public final class BigBushHideHandler { - private BigBushHideHandler() { - } - - @SubscribeEvent - public static void onClientTick(ClientTickEvent.Post event) { - BigBushCameraHider.update(Minecraft.getInstance()); - } -} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java index 3e999d49..e12edd0a 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoForgeEvents.java @@ -1119,13 +1119,7 @@ public final class AntarchyNeoForgeEvents { ); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.UMBRAL_MOSS_BLOCK.get().asItem(), 0.65f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.AMBER_MOSS_BLOCK.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.AMBER_MOSS_CARPET.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.BIG_BUSH.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.CREEPVINE.get().asItem(), 0.3f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.HUSHWEED.get().asItem(), 0.65f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS.get().asItem(), 0.3f); - ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeBlocks.VERY_TALL_GRASS.get().asItem(), 0.5f); ComposterBlock.COMPOSTABLES.put(AntarchyNeoforgeItems.CORNEA_EAR.get(), 0.65f); }); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java index 73697cb1..a77b7f12 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeBlocks.java @@ -4,8 +4,6 @@ import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.config.AntarchySettings; import com.craisinlord.antarchy.content.AntarchyObjects; import com.craisinlord.antarchy.content.block.*; -import com.craisinlord.antarchy.content.block.CreepingHorrorEggBlock; -import com.craisinlord.antarchy.content.block.LurkingTerrorEggBlock; import com.craisinlord.antarchy.content.block.entity.AntNestBlockEntity; import com.craisinlord.antarchy.content.block.entity.DreamCampfireBlockEntity; import com.craisinlord.antarchy.content.block.entity.HushweedBlockEntity; @@ -85,30 +83,6 @@ public final class AntarchyNeoforgeBlocks { () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); public static final DeferredBlock PINK_MILKWEED = BLOCKS.register("pink_milkweed", () -> new MilkweedBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY))); - public static final DeferredBlock TORCHFLOWER_BUSH = BLOCKS.register("torchflower_bush", - () -> new TorchflowerBushBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PEONY) - .lightLevel(state -> AntarchySettings.glowingTorchflowers() ? 15 : 0))); - public static final DeferredBlock VERY_SHORT_GRASS = BLOCKS.register("very_short_grass", - () -> new VeryShortGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SHORT_GRASS))); - public static final DeferredBlock VERY_TALL_GRASS = BLOCKS.register("very_tall_grass", - () -> new VeryTallGrassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TALL_GRASS))); - public static final DeferredBlock BIG_BUSH = BLOCKS.register("big_bush", - () -> new BigBushBlock(BlockBehaviour.Properties.of() - .mapColor(net.minecraft.world.level.material.MapColor.PLANT) - .noCollission() - .instabreak() - .sound(SoundType.GRASS) - .ignitedByLava() - .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY))); - public static final DeferredBlock BIG_BUSH_PART = BLOCKS.register("big_bush_part", - () -> new BigBushPartBlock(BlockBehaviour.Properties.of() - .mapColor(net.minecraft.world.level.material.MapColor.PLANT) - .noCollission() - .instabreak() - .sound(SoundType.GRASS) - .ignitedByLava() - .pushReaction(net.minecraft.world.level.material.PushReaction.DESTROY) - .noLootTable())); public static final DeferredBlock OURANWOOD_SIGN = BLOCKS.register("ouranwood_sign", () -> new StandingSignBlock(OuranwoodWoodTypes.OURANWOOD, BlockBehaviour.Properties.ofFullCopy(Blocks.JUNGLE_SIGN))); public static final DeferredBlock OURANWOOD_WALL_SIGN = BLOCKS.register("ouranwood_wall_sign", @@ -202,39 +176,19 @@ public final class AntarchyNeoforgeBlocks { () -> new AntDimensionPortalBlock(PermanentPortalType.ELYTHIA, portalProperties())); public static final DeferredBlock THORAXIS_PORTAL = BLOCKS.register("thoraxis_portal", () -> new AntDimensionPortalBlock(PermanentPortalType.THORAXIS, portalProperties())); - public static final DeferredBlock CAVARYN_PORTAL = BLOCKS.register("cavaryn_portal", - () -> new AntDimensionPortalBlock(PermanentPortalType.CAVARYN, portalProperties())); public static final DeferredBlock PALE_NYXITE = BLOCKS.register("pale_nyxite", () -> new Block(nyxiteProperties())); public static final DeferredBlock NYXITE_SPIKE = BLOCKS.register("nyxite_spike", () -> new NyxiteSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE))); - public static final DeferredBlock CHITEN_SPIKE = BLOCKS.register("chiten_spike", - () -> new ChitenSpikeBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.POINTED_DRIPSTONE))); public static final DeferredBlock POTENT_NYXITE = BLOCKS.register("potent_nyxite", () -> new PotentNyxiteBlock( AntarchyNeoforgeItems::potentNyxiteBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK).lightLevel(state -> 3) )); - public static final DeferredBlock MYRMITE = BLOCKS.register("myrmite", - () -> new Block(nyxiteProperties())); - public static final DeferredBlock BROODSTONE = BLOCKS.register("broodstone", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE).requiresCorrectToolForDrops())); - public static final DeferredBlock CHITEN_BLOCK = BLOCKS.register("chiten_block", - () -> new RotatedPillarBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BONE_BLOCK).requiresCorrectToolForDrops())); public static final DeferredBlock UMBRAL_MOSS_BLOCK = BLOCKS.register("umbral_moss_block", () -> new UmbralMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK))); public static final DeferredBlock UMBRAL_MOSS_CARPET = BLOCKS.register("umbral_moss_carpet", () -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion())); - public static final DeferredBlock AMBER_MOSS_BLOCK = BLOCKS.register("amber_moss_block", - () -> new AmberMossBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_BLOCK))); - public static final DeferredBlock AMBER_MOSS_CARPET = BLOCKS.register("amber_moss_carpet", - () -> new UmbralMossCarpetBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MOSS_CARPET).noOcclusion())); - public static final DeferredBlock AMBER_LICHEN = BLOCKS.register("amber_lichen", - () -> new GlowLichenBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLOW_LICHEN).lightLevel(state -> 4))); - public static final DeferredBlock BILE_VEIN = BLOCKS.register("bile_vein", - () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.NETHERRACK))); - public static final DeferredBlock CREEPVINE = BLOCKS.register("creepvine", - () -> new VineBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.VINE))); public static final DeferredBlock DREAM_TORCH = BLOCKS.register("dream_torch", () -> new DreamTorchBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.SOUL_TORCH))); public static final DeferredBlock DREAM_WALL_TORCH = BLOCKS.register("dream_wall_torch", @@ -255,10 +209,6 @@ public final class AntarchyNeoforgeBlocks { .noOcclusion() .noCollission() .replaceable())); - public static final DeferredBlock CREEPING_HORROR_EGG = BLOCKS.register("creeping_horror_egg", - () -> new CreepingHorrorEggBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TURTLE_EGG))); - public static final DeferredBlock LURKING_TERROR_EGG = BLOCKS.register("lurking_terror_egg", - () -> new LurkingTerrorEggBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.TURTLE_EGG))); public static final DeferredBlock WASP_NEST = BLOCKS.register("wasp_nest", () -> new WaspNestBlock(AntarchyNeoforgeItems::waspNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.BEE_NEST))); public static final DeferredBlock OURANWOOD_SQUIRREL_NEST = BLOCKS.register("ouranwood_squirrel_nest", @@ -285,8 +235,6 @@ public final class AntarchyNeoforgeBlocks { () -> new AntNestBlock(AntarchyNeoforgeEntites.BROWN_ANT, AntarchyNeoforgeItems::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); public static final DeferredBlock RAINBOW_ANT_NEST = BLOCKS.register("rainbow_ant_nest", () -> new AntNestBlock(AntarchyNeoforgeEntites.RAINBOW_ANT, AntarchyNeoforgeItems::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); - public static final DeferredBlock TERMITE_NEST = BLOCKS.register("termite_nest", - () -> new AntNestBlock(AntarchyNeoforgeEntites.TERMITE, AntarchyNeoforgeItems::antNestBlockEntityType, BlockBehaviour.Properties.ofFullCopy(Blocks.DIRT).noLootTable())); public static final DeferredBlock URANIUM_ORE = BLOCKS.register("uranium_ore", () -> createOre(Blocks.EMERALD_ORE, 4, 8)); public static final DeferredBlock DEEPSLATE_URANIUM_ORE = BLOCKS.register("deepslate_uranium_ore", @@ -397,8 +345,7 @@ public final class AntarchyNeoforgeBlocks { AntNestBlockEntity::new, RED_ANT_NEST.get(), BROWN_ANT_NEST.get(), - RAINBOW_ANT_NEST.get(), - TERMITE_NEST.get() + RAINBOW_ANT_NEST.get() ).build(null)); public static final DeferredHolder, BlockEntityType> DREAM_CAMPFIRE_BLOCK_ENTITY = BLOCK_ENTITY_TYPES.register("dream_campfire", () -> BlockEntityType.Builder.of( diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index 83b4c767..d67baf59 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -57,11 +57,9 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.RED_ANT_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.BROWN_ANT_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.RAINBOW_ANT_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.TERMITE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEWORM_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MANTIS_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.ALPHA_MANTIS_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.ROLLY_POLLY_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEVORE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.TRIFFID_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.APPLE_COW_SPAWN_EGG.get()); @@ -70,9 +68,6 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.DR_TRAYAURUS_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.WASP_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.BOMBER_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.JUMPY_BUG_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.SPIT_BUG_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.STINK_BUG_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.CLOUD_SHARK_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.KRAKEN_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MISSILE_SQUID_SPAWN_EGG.get()); @@ -84,8 +79,6 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.BASILISK_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.EMPEROR_SCORPION_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.TORETERROR_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.CREEPING_HORROR_SPAWN_EGG.get()); - event.accept(AntarchyNeoforgeItems.LURKING_TERROR_SPAWN_EGG.get()); } if (event.getTabKey() == CreativeModeTabs.NATURAL_BLOCKS) { @@ -96,24 +89,15 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.DUPLICATOR_SAPLING_ITEM.get()); event.accept(AntarchyNeoforgeItems.ORANGE_MILKWEED_ITEM.get()); event.accept(AntarchyNeoforgeItems.PINK_MILKWEED_ITEM.get()); - event.accept(AntarchyNeoforgeItems.TORCHFLOWER_BUSH_ITEM.get()); - event.accept(AntarchyNeoforgeItems.BIG_BUSH_ITEM.get()); - event.accept(AntarchyNeoforgeItems.VERY_SHORT_GRASS_ITEM.get()); - event.accept(AntarchyNeoforgeItems.VERY_TALL_GRASS_ITEM.get()); event.accept(AntarchyNeoforgeItems.HUSHWEED_ITEM.get()); - event.accept(AntarchyNeoforgeItems.AMBER_LICHEN_ITEM.get()); - event.accept(AntarchyNeoforgeItems.CREEPVINE_ITEM.get()); event.accept(AntarchyNeoforgeItems.INFESTED_ROOTED_DIRT_ITEM.get()); event.accept(AntarchyNeoforgeItems.INFESTED_COARSE_DIRT_ITEM.get()); event.accept(AntarchyNeoforgeItems.TRIFFID_GOO_BLOCK_ITEM.get()); event.accept(AntarchyNeoforgeItems.BED_BUG_EGG_ITEM.get()); - event.accept(AntarchyNeoforgeItems.CREEPING_HORROR_EGG_ITEM.get()); - event.accept(AntarchyNeoforgeItems.LURKING_TERROR_EGG_ITEM.get()); event.accept(AntarchyNeoforgeItems.WASP_NEST_ITEM.get()); event.accept(AntarchyNeoforgeItems.RED_ANT_NEST_ITEM.get()); event.accept(AntarchyNeoforgeItems.BROWN_ANT_NEST_ITEM.get()); event.accept(AntarchyNeoforgeItems.RAINBOW_ANT_NEST_ITEM.get()); - event.accept(AntarchyNeoforgeItems.TERMITE_NEST_ITEM.get()); event.accept(AntarchyNeoforgeItems.URANIUM_ORE_ITEM.get()); event.accept(AntarchyNeoforgeItems.DEEPSLATE_URANIUM_ORE_ITEM.get()); event.accept(AntarchyNeoforgeItems.TITANIUM_ORE_ITEM.get()); @@ -156,7 +140,6 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.MANTIS_CLAW.get()); event.accept(AntarchyNeoforgeItems.KING_SCALE.get()); event.accept(AntarchyNeoforgeItems.QUEEN_SCALE.get()); - event.accept(AntarchyNeoforgeItems.CHITEN.get()); event.accept(AntarchyNeoforgeItems.STINK_BUG.get()); event.accept(AntarchyNeoforgeItems.BRUTALFLY_WING.get()); event.accept(AntarchyNeoforgeItems.PRIMORDIAL_SCUTE.get()); @@ -251,13 +234,6 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.SMALL_BLOOD_CRYSTAL_BUD_ITEM.get()); event.accept(AntarchyNeoforgeItems.MEDIUM_BLOOD_CRYSTAL_BUD_ITEM.get()); event.accept(AntarchyNeoforgeItems.LARGE_BLOOD_CRYSTAL_BUD_ITEM.get()); - event.accept(AntarchyNeoforgeItems.MYRMITE_ITEM.get()); - event.accept(AntarchyNeoforgeItems.BROODSTONE_ITEM.get()); - event.accept(AntarchyNeoforgeItems.BILE_VEIN_ITEM.get()); - event.accept(AntarchyNeoforgeItems.CHITEN_BLOCK_ITEM.get()); - event.accept(AntarchyNeoforgeItems.CHITEN_SPIKE_ITEM.get()); - event.accept(AntarchyNeoforgeItems.AMBER_MOSS_BLOCK_ITEM.get()); - event.accept(AntarchyNeoforgeItems.AMBER_MOSS_CARPET_ITEM.get()); event.accept(AntarchyNeoforgeItems.URANIUM_BLOCK_ITEM.get()); event.accept(AntarchyNeoforgeItems.RAW_URANIUM_BLOCK_ITEM.get()); event.accept(AntarchyNeoforgeItems.CUT_URANIUM_ITEM.get()); @@ -397,7 +373,7 @@ public class AntarchyNeoforgeCreativeModeTabs { case "duplicator_sapling", "ouranwood_acorn" -> 10; // 11 - Plants and flowers - case "orange_milkweed", "pink_milkweed", "torchflower_bush", "big_bush", "very_short_grass", "very_tall_grass", "hushweed", "amber_lichen", "bile_vein", "creepvine", + case "orange_milkweed", "pink_milkweed", "hushweed", "amber_lichen", "creepvine", "triffid_goo_block", "wasp_nest", "red_ant_nest", "brown_ant_nest", "rainbow_ant_nest", "termite_nest" -> 11; diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index 35501ae8..14b26395 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -14,6 +14,7 @@ import com.craisinlord.antarchy.content.entity.DiamondMinecartEntity; import com.craisinlord.antarchy.content.entity.DrTrayaurusEntity; import com.craisinlord.antarchy.content.entity.EasterBunnyEntity; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; +import com.craisinlord.antarchy.content.entity.GlimmerEntity; import com.craisinlord.antarchy.content.entity.HushProjectileEntity; import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity; import com.craisinlord.antarchy.content.entity.JumpyBugEntity; @@ -29,8 +30,6 @@ import com.craisinlord.antarchy.content.entity.OuranwoodChestBoatEntity; import com.craisinlord.antarchy.content.entity.ReverieEntity; import com.craisinlord.antarchy.content.entity.ScorpionEntity; import com.craisinlord.antarchy.content.entity.SizeRayProjectileEntity; -import com.craisinlord.antarchy.content.entity.SpitBugEntity; -import com.craisinlord.antarchy.content.entity.SpitBugProjectileEntity; import com.craisinlord.antarchy.content.entity.StinkBugEntity; import com.craisinlord.antarchy.content.entity.TriffidEntity; import com.craisinlord.antarchy.content.entity.UpwardFallingBlockEntity; @@ -132,11 +131,6 @@ public final class AntarchyNeoforgeEntites { .sized(1.15F, 0.8F) .clientTrackingRange(8) .build("bed_bug")); - public static final DeferredHolder, EntityType> STINK_BUG = ENTITY_TYPES.register("stink_bug", - () -> EntityType.Builder.of(StinkBugEntity::new, MobCategory.CREATURE) - .sized(0.35F, 0.2F) - .clientTrackingRange(8) - .build("stink_bug")); public static final DeferredHolder, EntityType> WASP = ENTITY_TYPES.register("wasp", () -> EntityType.Builder.of(WaspEntity::new, MobCategory.MONSTER) .sized(0.8625F, 1.365F) @@ -147,22 +141,6 @@ public final class AntarchyNeoforgeEntites { .sized(0.55F, 0.75F) .clientTrackingRange(8) .build("bomber")); - public static final DeferredHolder, EntityType> JUMPY_BUG = ENTITY_TYPES.register("jumpy_bug", - () -> EntityType.Builder.of(JumpyBugEntity::new, MobCategory.MONSTER) - .sized(3.0F, 3.0F) - .clientTrackingRange(8) - .build("jumpy_bug")); - public static final DeferredHolder, EntityType> SPIT_BUG = ENTITY_TYPES.register("spit_bug", - () -> EntityType.Builder.of(SpitBugEntity::new, MobCategory.MONSTER) - .sized(2.5F, 3.0F) - .clientTrackingRange(10) - .build("spit_bug")); - public static final DeferredHolder, EntityType> SPIT_BUG_PROJECTILE = ENTITY_TYPES.register("spit_bug_projectile", - () -> EntityType.Builder.of(SpitBugProjectileEntity::new, MobCategory.MISC) - .sized(0.5F, 0.5F) - .clientTrackingRange(8) - .updateInterval(1) - .build("spit_bug_projectile")); public static final DeferredHolder, EntityType> SHRINK_RAY_PROJECTILE = ENTITY_TYPES.register("shrink_ray_projectile", () -> EntityType.Builder.of(SizeRayProjectileEntity::createShrink, MobCategory.MISC) .sized(0.5F, 0.5F) @@ -304,31 +282,16 @@ public final class AntarchyNeoforgeEntites { .clientTrackingRange(8) .updateInterval(1) .build("water_bomb")); - public static final DeferredHolder, EntityType> CREEPING_HORROR = ENTITY_TYPES.register("creeping_horror", - () -> EntityType.Builder.of(CreepingHorrorEntity::new, MobCategory.MONSTER) - .sized(1.3F, 1.5F) - .clientTrackingRange(10) - .build("creeping_horror")); - public static final DeferredHolder, EntityType> LURKING_TERROR = ENTITY_TYPES.register("lurking_terror", - () -> EntityType.Builder.of(LurkingTerrorEntity::new, MobCategory.MONSTER) - .sized(1.3F, 1.5F) - .clientTrackingRange(10) - .build("lurking_terror")); public static final DeferredHolder, EntityType> CHEEP = ENTITY_TYPES.register("cheep", () -> EntityType.Builder.of(CheepEntity::new, MobCategory.WATER_AMBIENT) .sized(1.0F, 1.2F) .clientTrackingRange(8) .build("cheep")); - public static final DeferredHolder, EntityType> DORRIE = ENTITY_TYPES.register("dorrie", - () -> EntityType.Builder.of(DorrieEntity::new, MobCategory.WATER_CREATURE) - .sized(2.4F, 2.0F) - .clientTrackingRange(10) - .build("dorrie")); - public static final DeferredHolder, EntityType> HERCULES_BEETLE = ENTITY_TYPES.register("hercules_beetle", - () -> EntityType.Builder.of(HerculesBeetleEntity::new, MobCategory.MONSTER) - .sized(3.0F, 4.0F) - .clientTrackingRange(12) - .build("hercules_beetle")); + // public static final DeferredHolder, EntityType> GLIMMER = ENTITY_TYPES.register("glimmer", + // () -> EntityType.Builder.of(GlimmerEntity::new, MobCategory.CREATURE) + // .sized(0.9F, 1.4F) + // .clientTrackingRange(8) + // .build("glimmer")); public static final DeferredHolder, EntityType> UPWARD_FALLING_BLOCK = ENTITY_TYPES.register("upward_falling_block", () -> EntityType.Builder.of( UpwardFallingBlockEntity::new, MobCategory.MISC) diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java index 48d6f92e..701ce974 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java @@ -47,36 +47,27 @@ public class AntarchyNeoforgeEntityAttributes { event.put(AntarchyNeoforgeEntites.OCTOPUS_BOMB.get(), OctopusBombEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.NIGHTMARE.get(), NightmareEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.BED_BUG.get(), BedBugEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.STINK_BUG.get(), StinkBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.WASP.get(), WaspEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.BOMBER.get(), BomberEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.JUMPY_BUG.get(), JumpyBugEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.MANTIS.get(), MantisEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.LUCID.get(), LucidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.SCORPION.get(), ScorpionEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.BASILISK.get(), BasiliskEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), EmperorScorpionEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.TORETERROR.get(), ToreterrorEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.CREEPING_HORROR.get(), CreepingHorrorEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.LURKING_TERROR.get(), LurkingTerrorEntity.createAttributes().build()); AttributeSupplier redAntAttributes = buildAntAttributes(AntarchySettings.redAntHealth(), AntarchySettings.redAntMovementSpeed(), AntarchySettings.redAntAttackDamage()).build(); AttributeSupplier brownAntAttributes = buildAntAttributes(AntarchySettings.brownAntHealth(), AntarchySettings.brownAntMovementSpeed(), AntarchySettings.brownAntAttackDamage()).build(); AttributeSupplier rainbowAntAttributes = buildAntAttributes(AntarchySettings.rainbowAntHealth(), AntarchySettings.rainbowAntMovementSpeed(), AntarchySettings.rainbowAntAttackDamage()).build(); - AttributeSupplier termiteAttributes = buildAntAttributes(AntarchySettings.termiteHealth(), AntarchySettings.termiteMovementSpeed(), AntarchySettings.termiteAttackDamage()).build(); event.put(AntarchyNeoforgeEntites.RED_ANT.get(), redAntAttributes); event.put(AntarchyNeoforgeEntites.BROWN_ANT.get(), brownAntAttributes); event.put(AntarchyNeoforgeEntites.RAINBOW_ANT.get(), rainbowAntAttributes); - event.put(AntarchyNeoforgeEntites.TERMITE.get(), termiteAttributes); event.put(AntarchyNeoforgeEntites.MOLEWORM.get(), MolewormEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.MOLEVORE.get(), MolevoreEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.CHEEP.get(), com.craisinlord.antarchy.content.entity.CheepEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.DORRIE.get(), com.craisinlord.antarchy.content.entity.DorrieEntity.createAttributes().build()); - event.put(AntarchyNeoforgeEntites.HERCULES_BEETLE.get(), com.craisinlord.antarchy.content.entity.HerculesBeetleEntity.createAttributes().build()); + // event.put(AntarchyNeoforgeEntites.GLIMMER.get(), com.craisinlord.antarchy.content.entity.GlimmerEntity.createAttributes().build()); } private static AttributeSupplier.Builder buildAntAttributes(double health, double speed, double attackDamage) { diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index f7645752..d253f105 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -161,11 +161,6 @@ public final class AntarchyNeoforgeItems { // public static final DeferredItem OURANWOOD_VINE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.OURANWOOD_VINE); public static final DeferredItem ORANGE_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.ORANGE_MILKWEED); public static final DeferredItem PINK_MILKWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PINK_MILKWEED); - public static final DeferredItem TORCHFLOWER_BUSH_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TORCHFLOWER_BUSH); - public static final DeferredItem VERY_SHORT_GRASS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.VERY_SHORT_GRASS); - public static final DeferredItem VERY_TALL_GRASS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.VERY_TALL_GRASS); - public static final DeferredItem BIG_BUSH_ITEM = ITEMS.register("big_bush", - () -> new com.craisinlord.antarchy.content.item.BigBushBlockItem(AntarchyNeoforgeBlocks.BIG_BUSH.get(), new Item.Properties())); public static final DeferredItem OURANWOOD_SIGN_ITEM = ITEMS.register("ouranwood_sign", () -> new net.minecraft.world.item.SignItem(new Item.Properties().stacksTo(16), AntarchyNeoforgeBlocks.OURANWOOD_SIGN.get(), AntarchyNeoforgeBlocks.OURANWOOD_WALL_SIGN.get())); public static final DeferredItem OURANWOOD_HANGING_SIGN_ITEM = ITEMS.register("ouranwood_hanging_sign", @@ -178,7 +173,6 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem RED_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.RED_ANT_NEST); public static final DeferredItem BROWN_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BROWN_ANT_NEST); public static final DeferredItem RAINBOW_ANT_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.RAINBOW_ANT_NEST); - public static final DeferredItem TERMITE_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TERMITE_NEST); public static final DeferredItem URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.URANIUM_ORE); public static final DeferredItem DEEPSLATE_URANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DEEPSLATE_URANIUM_ORE); public static final DeferredItem TITANIUM_ORE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.TITANIUM_ORE); @@ -234,12 +228,9 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem INFESTED_ROOTED_DIRT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.INFESTED_ROOTED_DIRT); public static final DeferredItem INFESTED_COARSE_DIRT_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.INFESTED_COARSE_DIRT); public static final DeferredItem NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE); - public static final DeferredItem MYRMITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.MYRMITE); - public static final DeferredItem BROODSTONE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BROODSTONE); public static final DeferredItem POLISHED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.POLISHED_NYXITE); public static final DeferredItem CHISELED_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CHISELED_NYXITE); public static final DeferredItem NYXITE_BRICKS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE_BRICKS); - public static final DeferredItem CHITEN_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CHITEN_BLOCK); public static final DeferredItem NYXITE_STAIRS_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE_STAIRS); public static final DeferredItem NYXITE_SLAB_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE_SLAB); public static final DeferredItem NYXITE_WALL_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE_WALL); @@ -271,22 +262,14 @@ public final class AntarchyNeoforgeItems { () -> new com.craisinlord.antarchy.content.item.TriffidGooBlockItem(AntarchyNeoforgeBlocks.TRIFFID_GOO_BLOCK.get(), new Item.Properties())); public static final DeferredItem PALE_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.PALE_NYXITE); public static final DeferredItem NYXITE_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.NYXITE_SPIKE); - public static final DeferredItem CHITEN_SPIKE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CHITEN_SPIKE); public static final DeferredItem POTENT_NYXITE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.POTENT_NYXITE); public static final DeferredItem UMBRAL_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.UMBRAL_MOSS_BLOCK); public static final DeferredItem UMBRAL_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.UMBRAL_MOSS_CARPET); - public static final DeferredItem AMBER_MOSS_BLOCK_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.AMBER_MOSS_BLOCK); - public static final DeferredItem AMBER_MOSS_CARPET_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.AMBER_MOSS_CARPET); - public static final DeferredItem AMBER_LICHEN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.AMBER_LICHEN); - public static final DeferredItem BILE_VEIN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BILE_VEIN); - public static final DeferredItem CREEPVINE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CREEPVINE); public static final DeferredItem DREAM_TORCH_ITEM = ITEMS.register("dream_torch", () -> new StandingAndWallBlockItem(AntarchyNeoforgeBlocks.DREAM_TORCH.get(), AntarchyNeoforgeBlocks.DREAM_WALL_TORCH.get(), new Item.Properties(), net.minecraft.core.Direction.UP)); public static final DeferredItem DREAM_LANTERN_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DREAM_LANTERN); public static final DeferredItem DREAM_CAMPFIRE_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.DREAM_CAMPFIRE); public static final DeferredItem BED_BUG_EGG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.BED_BUG_EGG); - public static final DeferredItem CREEPING_HORROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.CREEPING_HORROR_EGG); - public static final DeferredItem LURKING_TERROR_EGG_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.LURKING_TERROR_EGG); public static final DeferredItem WASP_NEST_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.WASP_NEST); public static final DeferredItem HUSHWEED_ITEM = ITEMS.registerSimpleBlockItem(AntarchyNeoforgeBlocks.HUSHWEED); public static final DeferredItem BILE_BUCKET = ITEMS.register("bile_bucket", @@ -328,9 +311,10 @@ public final class AntarchyNeoforgeItems { () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredItem QUEEN_SCALE = ITEMS.register("queen_scale", () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredItem CHITEN = ITEMS.registerSimpleItem("chiten", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem STINK_BUG = ITEMS.registerSimpleItem("stink_bug", new Item.Properties().rarity(Rarity.UNCOMMON)); - public static final DeferredItem JUMPY_BUG_LEG = ITEMS.registerSimpleItem("jumpy_bug_leg", new Item.Properties().rarity(Rarity.UNCOMMON)); + public static final DeferredItem STINK_BUG = ITEMS.register("stink_bug", + () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem JUMPY_BUG_LEG = ITEMS.register("jumpy_bug_leg", + () -> new MobComingSoonTooltipItem(new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem JUMPY_BOOTS = ITEMS.register("jumpy_boots", () -> new JumpyBootsItem(JUMPY_BOOTS_ARMOR_MATERIAL, new Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON).fireResistant().durability(ArmorItem.Type.BOOTS.getDurability(37)))); public static final DeferredItem BRUTALFLY_WING = ITEMS.registerSimpleItem("brutalfly_wing", new Item.Properties().rarity(Rarity.UNCOMMON)); @@ -496,6 +480,8 @@ public final class AntarchyNeoforgeItems { // Spawn eggs public static final DeferredItem EASTER_BUNNY_SPAWN_EGG = ITEMS.register("easter_bunny_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EASTER_BUNNY, 0xFFF2B2, 0xFF85B5, new Item.Properties())); + // public static final DeferredItem GLIMMER_SPAWN_EGG = ITEMS.register("glimmer_spawn_egg", + // () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.GLIMMER, 0xBEEFFF, 0x6FD8FF, new Item.Properties())); public static final DeferredItem FLYING_SQUIRREL_SPAWN_EGG = ITEMS.register("flying_squirrel_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.FLYING_SQUIRREL, 0x7D6649, 0xDCC59C, new Item.Properties())); public static final DeferredItem CATERPILLAR_SPAWN_EGG = ITEMS.register("caterpillar_spawn_egg", @@ -512,16 +498,12 @@ public final class AntarchyNeoforgeItems { () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.BROWN_ANT, 0x6A4320, 0x26160A, new Item.Properties())); public static final DeferredItem RAINBOW_ANT_SPAWN_EGG = ITEMS.register("rainbow_ant_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.RAINBOW_ANT, 0x56D4F0, 0xF66DBB, new Item.Properties())); - public static final DeferredItem TERMITE_SPAWN_EGG = ITEMS.register("termite_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.TERMITE, 0xD4B96A, 0xFF6B1A, new Item.Properties())); public static final DeferredItem MOLEWORM_SPAWN_EGG = ITEMS.register("moleworm_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEWORM, 0xB8B8B8, 0x8A623A, new Item.Properties())); public static final DeferredItem MANTIS_SPAWN_EGG = ITEMS.register("mantis_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties().rarity(Rarity.UNCOMMON))); - public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -538,12 +520,6 @@ public final class AntarchyNeoforgeItems { () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.WASP, 0x111111, 0xF1D800, new Item.Properties())); public static final DeferredItem BOMBER_SPAWN_EGG = ITEMS.register("bomber_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.BOMBER, 0x7A7A7A, 0xB32020, new Item.Properties())); - public static final DeferredItem JUMPY_BUG_SPAWN_EGG = ITEMS.register("jumpy_bug_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.JUMPY_BUG, 0x0A1636, 0x8A3E00, new Item.Properties())); - public static final DeferredItem SPIT_BUG_SPAWN_EGG = ITEMS.register("spit_bug_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.SPIT_BUG, 0x6B4A2B, 0x7ED957, new Item.Properties())); - public static final DeferredItem STINK_BUG_SPAWN_EGG = ITEMS.register("stink_bug_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.STINK_BUG, 0x111111, 0xFF7A00, new Item.Properties())); public static final DeferredItem CLOUD_SHARK_SPAWN_EGG = ITEMS.register("cloud_shark_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.CLOUD_SHARK, 0xDDEAF4, 0x7F96A8, new Item.Properties())); public static final DeferredItem KRAKEN_SPAWN_EGG = ITEMS.register("kraken_spawn_egg", @@ -583,16 +559,8 @@ public final class AntarchyNeoforgeItems { () -> new PrimordialArmorItem(PRIMORDIAL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().stacksTo(1).rarity(Rarity.RARE).fireResistant())); public static final DeferredItem TORETERROR_SPAWN_EGG = ITEMS.register("toreterror_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.TORETERROR, 0x90EE90, 0x5C4033, new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredItem CREEPING_HORROR_SPAWN_EGG = ITEMS.register("creeping_horror_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.CREEPING_HORROR, 0x6B3A1F, 0x6B0000, new Item.Properties())); - public static final DeferredItem LURKING_TERROR_SPAWN_EGG = ITEMS.register("lurking_terror_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.LURKING_TERROR, 0x2D5A1B, 0x8B0000, new Item.Properties())); public static final DeferredItem CHEEP_SPAWN_EGG = ITEMS.register("cheep_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.CHEEP, 0xAA22FF, 0x22FF44, new Item.Properties())); - public static final DeferredItem DORRIE_SPAWN_EGG = ITEMS.register("dorrie_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.DORRIE, 0x1B91B3, 0xC0E8FF, new Item.Properties())); - public static final DeferredItem HERCULES_BEETLE_SPAWN_EGG = ITEMS.register("hercules_beetle_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.HERCULES_BEETLE, 0x6B1F2A, 0xD4AF37, new Item.Properties().rarity(Rarity.RARE))); private AntarchyNeoforgeItems() {} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java index f1dbcb58..e067e82d 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeMisc.java @@ -4,6 +4,7 @@ import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.client.particle.InvertedGeyserBaseParticleOptions; import com.craisinlord.antarchy.content.client.particle.InvertedGeyserParticleOptions; import com.craisinlord.antarchy.content.effect.DreadMobEffect; +import com.craisinlord.antarchy.content.effect.GlimmersGraceMobEffect; import com.craisinlord.antarchy.content.effect.GrowthMobEffect; import com.craisinlord.antarchy.content.effect.InvertedMobEffect; import com.craisinlord.antarchy.content.effect.ParalyzedMobEffect; @@ -12,18 +13,8 @@ import com.craisinlord.antarchy.content.effect.StinkyMobEffect; import com.craisinlord.antarchy.content.worldgen.ants.BrownAntNestFeature; import com.craisinlord.antarchy.content.worldgen.ants.RainbowAntNestFeature; import com.craisinlord.antarchy.content.worldgen.ants.RedAntNestFeature; -import com.craisinlord.antarchy.content.worldgen.ants.TermiteNestFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynBileCystFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynBileVeinFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynCreepvineFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynEggPatchFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.CavarynWallAmberMossFeature; -import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeConfiguration; -import com.craisinlord.antarchy.content.worldgen.cavaryn.ChitenSpikeFeature; import com.craisinlord.antarchy.content.worldgen.elythia.*; import com.craisinlord.antarchy.content.worldgen.thoraxis.*; -import com.craisinlord.antarchy.content.worldgen.VeryTallGrassWorldgenFeature; -import com.craisinlord.antarchy.content.worldgen.BigBushWorldgenFeature; import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluid; import com.craisinlord.antarchy.neoforge.content.fluid.AntiwaterFluidType; import com.mojang.serialization.MapCodec; @@ -83,6 +74,7 @@ public final class AntarchyNeoforgeMisc { public static final DeferredHolder BLOODGLASS_WARD = MOB_EFFECTS.register("bloodglass_ward", com.craisinlord.antarchy.content.effect.BloodglassWardEffect::new); public static final DeferredHolder SHRINKING_EFFECT = MOB_EFFECTS.register("shrinking", ShrinkMobEffect::new); public static final DeferredHolder GROWTH_EFFECT = MOB_EFFECTS.register("growth", GrowthMobEffect::new); + // public static final DeferredHolder GLIMMERS_GRACE = MOB_EFFECTS.register("glimmers_grace", GlimmersGraceMobEffect::new); // Potions public static final DeferredHolder INVERSION = POTIONS.register("inversion", @@ -193,8 +185,6 @@ public final class AntarchyNeoforgeMisc { () -> new BrownAntNestFeature(SimpleBlockConfiguration.CODEC)); public static final DeferredHolder, RainbowAntNestFeature> RAINBOW_ANT_NEST_FEATURE = FEATURES.register("rainbow_ant_nest", () -> new RainbowAntNestFeature(SimpleBlockConfiguration.CODEC)); - public static final DeferredHolder, TermiteNestFeature> TERMITE_NEST_FEATURE = FEATURES.register("termite_nest", - () -> new TermiteNestFeature(SimpleBlockConfiguration.CODEC)); public static final DeferredHolder, OuranwoodTreeFeature> OURANWOOD_LARGE_TREE = FEATURES.register("ouranwood_large_tree", () -> new OuranwoodTreeFeature(OuranwoodTreeConfiguration.CODEC)); public static final DeferredHolder, OuranwoodTreeFeature> OURANWOOD_YOUNG_TREE = FEATURES.register("ouranwood_young_tree", @@ -215,12 +205,6 @@ public final class AntarchyNeoforgeMisc { () -> new ElythiaFloraFeature(NoneFeatureConfiguration.CODEC, ElythiaFloraFeature.Variant.TORCHFLOWER_FIELDS)); public static final DeferredHolder, ElythiaSurfaceCoverFeature> ELYTHIA_SURFACE_COVER = FEATURES.register("elythia_surface_cover", () -> new ElythiaSurfaceCoverFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, VeryTallGrassWorldgenFeature> VERY_TALL_GRASS_FEATURE = FEATURES.register("very_tall_grass", - () -> new VeryTallGrassWorldgenFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, BigBushWorldgenFeature> BIG_BUSH_2X2_FEATURE = FEATURES.register("big_bush_2x2", - () -> new BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 1)); - public static final DeferredHolder, BigBushWorldgenFeature> BIG_BUSH_3X3_FEATURE = FEATURES.register("big_bush_3x3", - () -> new BigBushWorldgenFeature(NoneFeatureConfiguration.CODEC, 2)); public static final DeferredHolder, ElythiaUndergroundFeature> ELYTHIA_UNDERGROUND = FEATURES.register("elythia_underground", () -> new ElythiaUndergroundFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BrutalflyCocoonFeature> BRUTALFLY_COCOON = FEATURES.register("brutalfly_cocoon", @@ -255,16 +239,6 @@ public final class AntarchyNeoforgeMisc { () -> new ThoraxisSpikeFeature(ThoraxisSpikeConfiguration.CODEC)); public static final DeferredHolder, NyxiteSpikeFeature> NYXITE_SPIKES = FEATURES.register("nyxite_spikes", () -> new NyxiteSpikeFeature(NyxiteSpikeConfiguration.CODEC)); - public static final DeferredHolder, ChitenSpikeFeature> CAVARYN_CHITEN_SPIKES = FEATURES.register("cavaryn_chiten_spikes", - () -> new ChitenSpikeFeature(ChitenSpikeConfiguration.CODEC)); - public static final DeferredHolder, CavarynBileVeinFeature> CAVARYN_BILE_VEINS = FEATURES.register("cavaryn_bile_veins", - () -> new CavarynBileVeinFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynBileCystFeature> CAVARYN_BILE_CYSTS = FEATURES.register("cavaryn_bile_cysts", - () -> new CavarynBileCystFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynCreepvineFeature> CAVARYN_CREEPVINE = FEATURES.register("cavaryn_creepvine", - () -> new CavarynCreepvineFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynWallAmberMossFeature> CAVARYN_WALL_AMBER_MOSS = FEATURES.register("cavaryn_wall_amber_moss", - () -> new CavarynWallAmberMossFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, AntiwaterSpringsFeature> ANTIWATER_SPRINGS = FEATURES.register("antiwater_springs", () -> new AntiwaterSpringsFeature(AntiwaterSpringsConfiguration.CODEC)); public static final DeferredHolder, PotentNyxiteFeature> POTENT_NYXITE_FEATURE = FEATURES.register("potent_nyxite", @@ -277,8 +251,6 @@ public final class AntarchyNeoforgeMisc { () -> new BedBugNestFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, BedBugSurfaceClusterFeature> BED_BUG_SURFACE_CLUSTER = FEATURES.register("bed_bug_surface_cluster", () -> new BedBugSurfaceClusterFeature(NoneFeatureConfiguration.CODEC)); - public static final DeferredHolder, CavarynEggPatchFeature> CAVARYN_TERROR_EGG_PATCH = FEATURES.register("cavaryn_terror_egg_patch", - () -> new CavarynEggPatchFeature(NoneFeatureConfiguration.CODEC)); public static final DeferredHolder, ThoraxisAntiwaterPoolFeature> THORAXIS_ANTIWATER_POOL = FEATURES.register("thoraxis_antiwater_pool", () -> new ThoraxisAntiwaterPoolFeature(ThoraxisAntiwaterPoolConfiguration.CODEC)); public static final DeferredHolder, LucidAntiwaterPoolFeature> LUCID_ANTIWATER_POOL = FEATURES.register("lucid_antiwater_pool", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java index c0af0888..8a6b7ccc 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSpawnPlacements.java @@ -34,8 +34,6 @@ public class AntarchyNeoforgeSpawnPlacements { event.register(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CloudSharkEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.WASP.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, WaspEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.BOMBER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BomberEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.JUMPY_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, JumpyBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.SPIT_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, SpitBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.KRAKEN.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, KrakenEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.MISSILE_SQUID.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MissileSquidEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.OCTOPUS_BOMB.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, OctopusBombEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); @@ -45,14 +43,11 @@ public class AntarchyNeoforgeSpawnPlacements { event.register(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AlphaMantisEntity::checkAlphaMantisSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.MOLEVORE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, MolevoreEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.BED_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BedBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.STINK_BUG.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, StinkBugEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.LUCID.get(), SpawnPlacementTypes.NO_RESTRICTIONS, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LucidEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, ScorpionEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.BASILISK.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, BasiliskEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.EMPEROR_SCORPION.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, EmperorScorpionEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.CREEPING_HORROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, CreepingHorrorEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.LURKING_TERROR.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, LurkingTerrorEntity::canSpawn, RegisterSpawnPlacementsEvent.Operation.OR); - event.register(AntarchyNeoforgeEntites.TERMITE.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR); event.register(AntarchyNeoforgeEntites.CHEEP.get(), SpawnPlacementTypes.IN_WATER, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, AbstractFish::checkSurfaceWaterAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR); + // event.register(AntarchyNeoforgeEntites.GLIMMER.get(), SpawnPlacementTypes.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, net.minecraft.world.entity.animal.Animal::checkAnimalSpawnRules, RegisterSpawnPlacementsEvent.Operation.OR); } } diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index be0d7086..3c6b4e34 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -4,7 +4,7 @@ license="All rights reserved" [[mods]] #mandatory modId="antarchy" #mandatory -logoFile="../assets/antarchy_/antarchy_logo.png" +logoFile="../assets/antarchy/antarchy_logo.png" logoBlur=false version="${version}" #mandatory displayName="Antarchy" #mandatory @@ -37,4 +37,11 @@ displayURL="https://www.curseforge.com/minecraft/mc-mods/antarchy" type="required" versionRange="*" ordering="AFTER" + side="BOTH" + +[[dependencies.antarchy]] + modId="sizeable_foliage" + type="required" + versionRange="*" + ordering="AFTER" side="BOTH" \ No newline at end of file diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/ant_nests_in_forests.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/ant_nests_in_forests.json index 684bd2ee..0fecae7d 100644 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/ant_nests_in_forests.json +++ b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/ant_nests_in_forests.json @@ -1,10 +1,9 @@ { - "type": "neoforge:add_features", - "biomes": "#antarchy:overworld_ant_nest_spawn_biomes", - "features": [ - "antarchy:brown_ant_nest", - "antarchy:rainbow_ant_nest", - "antarchy:termite_nest" - ], - "step": "vegetal_decoration" + "type": "neoforge:add_features", + "biomes": "#antarchy:overworld_ant_nest_spawn_biomes", + "features": [ + "antarchy:brown_ant_nest", + "antarchy:rainbow_ant_nest" + ], + "step": "vegetal_decoration" } diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json deleted file mode 100644 index 190035c7..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#antarchy:big_bush_spawn_biomes", - "features": [ - "antarchy:big_bush" - ], - "step": "vegetal_decoration" -} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json deleted file mode 100644 index 27409ca0..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_2x2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#antarchy:big_bush_2x2_spawn_biomes", - "features": [ - "antarchy:big_bush_2x2" - ], - "step": "vegetal_decoration" -} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json deleted file mode 100644 index a32da043..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/big_bush_3x3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#antarchy:mega_taiga_spawn_biomes", - "features": [ - "antarchy:big_bush_3x3" - ], - "step": "vegetal_decoration" -} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/remove_glow_lichen_from_cavaryn.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/remove_glow_lichen_from_cavaryn.json deleted file mode 100644 index 206947e6..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/remove_glow_lichen_from_cavaryn.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:remove_features", - "biomes": "#antarchy:is_cavaryn", - "features": [ - "minecraft:glow_lichen" - ], - "step": "vegetal_decoration" -} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json deleted file mode 100644 index 32d32d1f..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_short_grass.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#antarchy:very_short_grass_spawn_biomes", - "features": [ - "antarchy:very_short_grass" - ], - "step": "vegetal_decoration" -} diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json deleted file mode 100644 index b1930fe7..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/very_tall_grass.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "type": "neoforge:add_features", - "biomes": "#antarchy:very_tall_grass_spawn_biomes", - "features": [ - "antarchy:very_tall_grass" - ], - "step": "vegetal_decoration" -} diff --git a/sizeable_foliage_jars/sizeable_foliage-fabric-1.21.1-1.0.0.jar b/sizeable_foliage_jars/sizeable_foliage-fabric-1.21.1-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..86173754161e8184b7d52826545f4c694cd6c3c2 GIT binary patch literal 91386 zcmcF~1z4O}vNrDS5Zv80xVyUtcXxMp3j}v}4X(jmgIn+ff;;@3%Z7ASy2^1I!QS(23bKlNik7n6?$1Q z-FR8~enz;^vy=w{Pw~3+I)p`QY3D4`t{c}{eL-*XY zc?wD6vlS^}T?~dhGV6Jo$hWZpE2Ei=Vv$Z4`<<$IIm=~;^;j=fOa_K5EeL_n5g0f4 z&AE2i%X;eqEMe+5Ni6{seV1Gb?N>V&xuLqnD|I9!oNG_U1r09ZuDh!2@n5hy10H2y z9#uPno~3By-+bO!9z(Nq4-QkkBz&Q0Oep~C-&~_#IwD7P-8{yl`{ZxhM$j%|SZ0=7 zM?1QMsUQsr)rwwtF%Q6;0}KSD@P}G~{zt8V0)7bjLvuhNKb`=OKfVwJ@a=!8)5*lq z)xyZciQ%uzAo(w6FtW3uH*z$vaI&zqwsSP5ce3y_F)*|?F}1U{FfcQrx3@NMHnnrK zp;!3*jf9D{y@{jr%&4U7*wl!OjQoPMv<&sA%%T&h zGB8&JnZ>+hHS4UGQpX#SGE zNPjVpp|zcnm6Nl9^Ix<9)1REv(85gL(8bA|-qOj=wraK)CWsLZVyj(V(GjC~-5_JD zA$d`it^&f^#d@cmp?w%4QlYcS;!fg@TP(VlkefvNjL?W=y^NS9i^72lc23PBDyyd3 z4i2ZoN?P20zpAKSE7=_0#cb5@oRdl!dZAs5Q~nd$XEX+Xt+#%K2etgJJtcg`JLS z%qmLo!>xxC^d#y5a52Ds<<{(fQ6c*F29C}@wURQJa8B z$>WQT;zXmBE95sW!dR)wbzRR623;W5^B+>RiJ$ABHG1n3xYbjv-agcKTNi@!O zjz;FD)^=_tj(<0E#lDh)0<|>lsLVJGm0G=0Da1tpF?Ix(MKjm^UYV#pQ?9wKuaqT% zfNB^_T`BPR(TRd*pNzdCefw;JTg z;cOrXObq=9gMa!Mcwf_RQ5f}rH)8{kc=Z1SldFlNhrW}!oujk9nIj-VsL$>|F5_jKp~AzDA$6BfcMgHF}&mB@d8T{g+a60>1s7JN^d={A2L`l-k+A z+WH@a&YBd20bzmzpZ1YgtjD+K-_n$_+*Oc~mD~+S=xj&V;apvQ_8#7~oAlC9WZ9_d z{o3LXSDe4{VNdem8xNY~0Ey6;UEeTTbssinI?33ctCpmGZ#)-mWK{^IsZ!7F(G(3A zS+UX9nHwUXCGXqmLIi7#b(dS@`n}=>a1c50kE_HY4wkTmEae^ZS0Iqtp8ftA^Z2!{dBy)WE_q^JL%sN z#^3qzH#(85qNJjeqWc@2fJcaueHh^?6F@H7884q7D9oI{YkbNaAGlJfD9n8NV*Ok= zesxzky938b()AIH(yA1UHSc}Jd)S{Oh-wWo^dt1N0OODK`YRIrU9Z0>;=g1DBvLaI zrk{kt8{G@jPlzOP<{R?0Rl)JvOypZSZIjj-x{%Nd?;9M?j1L?v?R6Mkc}D2=7_F1E2)`|A52%6V60}tZfh@Qpjy)pJPk7P-6YCYB?0P8Bhg;`iq5y z;^_uviqv)tQRYnhzA_Tb)5oekdjX{|*hz*DsxRJ1nr5!LQ zDf9j?ZpWx16?sR|YWZP46*1l()~cJ0z3`h+gC5Q_*(FdGF;3n5-P`U@XhR_IB$F~k zQ%o%IVRB{@5|*m-Tr^H<3t>-RJ%lHlX!0rx~>&Y^e6#G~()TgWB zJ_RW=T_g9OLc*b}36xMEj1=`hyL>Xj>%oJiJ#)_bn zEMfrxEhid9rJ@JMB25`E`sqA(xRkKwn<^2|FsV29R|;jtl@Lq5bW#U(8Rx885>}ay zk1v_KH`3wYIB&;g$cMJD`wdE(i%G8e#?;%BtCZC;XQzre=2yO!CE3|(ExK>-Zpuf$ zslX9EF-oYn#_SSNDuAim&r}$%E)g{U=46%A z+dZ#0&AWZ{JQBDbk1Q=NNN7zolC&KEj3t_~rrT`JnT6K)t=Hf!&kp7#@pptTe#{KS z_Cl|IY2AUB(j<^|@dtDc-r0%L7eAAc4Pmn_HNY-)zqAYQe`*(JJNw^^qPQv-%!uZF zKqKMv34LIF>t)nbSn3uiCL~=CjqLF(doKUx zZ@tfoqX`koZ10y2;Ha%=7UHQjPAW9QzDjS%4a!pOD$=ueo0N3fr#QhdZfQ`ep! z?Yj1y-lK55G2uyGdUkH93kC-E;P6B-gqM?ZRZ{`lOsR#+R#Gv1v$VV6~8oy;GZ?fKUbmu7%6m7 zf-oVBaNxJRq9a=NXC_kGN_5>glEjfa>oMM`b{pe+9bs(D^e{nTt@LSJ7UO!U`3Cwhr zF+gB1!1&{o!uKCT`kRye|HG5p7+BQOz7G0>$xtv0r3?YGy8jZ*kCpGAVzPf(Qqx5X zA^=u{U}qkp$xdXa-sH?jAjlR<%f*(0Pk056YwI7@vu?L#qs#Mdw^L|P=1QLxw6xw% zsGdhhWJtK{RPI#J2uE+wXhzgWl< z*enryMdrsTjnGF8B4e+Wxu3))m$LuH8X$K9VEnPu{l~~`ER2nWR9Vyw53v|#&D~C`c$GR)|r{rt{ha}Uzy2QIoEF|g>i+?m41e0 zwu`w<3pR!{nBp7DeT0fD`c9SgajMqAN{Gx@{O#EvX#V`xlrMt_|YuVo9t6`V@>8F8oRcXOv#ik+1v(xA1+=g(N>6(OTzm@yFUb_Lt`R zRlDZ*`oO~3#O5!R-@j_t{NtQ|t7L!LoHt7PM}UIga*2LnL;1#@8iD&DQ5EWsOVT8| z)@d-e{y2_1>9wMv7!z0`N=?4E9EkOvsX%D?d+zoQoZTvVRg(Cb57kq^27SW_W+u!| z2gY`E{OH@xK~k>bPTp4{_LH-$HovyH=br@nwu=?=hjRRXshmGilmArCKc|GBfY1Se zf(enpZ!-gHvj;StuxA+&$>strR>p_i-5fMi%KJ4=*ilqmHrkq0Nb@SYC>JfnLgIJ! z@ZC!8j_D5zcpwn_uY!2a8dCWwnT2e1%tPbWX1!*~Ek@S(;*oBqf&OYtRn93dSc4{gB z%tNOx(-#$D{W&xk#-Lv&uARl(2Gg8jYH}Tok8tX7{s}Y=+`)p(NeD|iL$4pwQA9UG zL#D5MzI#mf6!Awm!t70Tm;!+OIv@P1SMiTt_D|9HJHap^0M<)jUU~tgbX;sXf?*9} zl#m)jWRXVqXM;AQniF3QDqY?{m%p{s9YK$pF6W~e%~T*NbZheOQvBD1e|>$;_-Ew&@2l0nL?FWd!Tf(C6aC+p#rC#lz;Ga!&k+i8 z;_xsyFn}rHB_%|Z0Ix_t1{4I~nc(u(0Pq5BFQMrK1O$uvV*mrCXJP>X0e4A?2&!<# z6e%%D3n`-Usb^IRCJ^R{G7Gv(?@Vvm!k@0_D_F*}H}zFHLp=c}mTpb&ygMa^7mC_K z;Y`N*(l0L3wtgpv=MksXap71_5g)!>yN@({%lj&-Ch1Uw z#zoo-47H$@GX7!2SO>Q=n$jWj9RiFqw{CS>_jm(pD(UB_CD9bFDRZ5`q~1$^8pJSR z*SXV1&Ci)1aCBVrX2Kp^Lh>f6xORK={Neg@Z;UdS%6H-1pV&?1_Nw!7Ye`Wdfn60B zx=#+&2HL=C?U7>dBz4#<;prkzo-+u@)y04c&>O)JBHQhOi1`ZTlvi4Ija=f9hXd;T zdqW5#&*2ig5t!pd^GUNAn+>yTE`SoG1ARZk( zCMOFgI8tkQGYog`k)O=vkDLUbJGScRny$);B9jPJg)O3U_jI@LpIyIzudeowPcI%* z8Tq>+x7N~|Bf>e7`6E$e(0|qzV0|O&>%;$LMv#RS5;F&2ULZ+PIgx6icY#01#e)(# z2^rAgg8OBc>woWo%=AAz&<-sA@n3i#AwVd?pC0Js>3IeC@UJ`&jOd34YJ@DLPDp7h zqJ>P!awlRmmMP?+fkZ+n(Lz=29Ba5fE+(yiHcZm4W~#5J0*DX0Dwib4EH8 z=oJD5hF6_`N0~oqdmmf9nq?F{t5o==@0rW&wW{-mk3$i6=#-DlrDkLO6+^(FE`Hw1 z#e{8gzrJq6uF`JcmB-(*>Uf`j+)KRmNGJJJ?(rbojMvuCkyuGU!k68z#6Q11J|6C1 zV@i~HZDDzDGlx~~$>n%Gxq@J6UCv}ErW5Z%5bk``lU(4wE4y#GOQUA0U7 zDNewh-j}{jsrAdIjh&rW=U$3Qs&D$uEyf3aAwvF)IPoy?PC>Zao9nho@vJUViG7bj zWYTb?apc_cW1=Ws`EWw?Xb#9i9qmWP_l?@OeFzJrVwvl}(@oWP` zP|SUlAGF*dAt4#8*0OFiNnCTLiGV-?2^JwFo8bsE#ym@t6&*U$DhYO{0T17^ADCnz|dKy~Q8CIw<5prg{JEg|f%_tqGC zc_Qx)iNK28b|8cp7YAocic0AqrS_C&g(U8+xJKq7Ag&0}-U_4=syGqltvHV)ScE-~MBBAn zjEyWTo{HOBggFDfKMaTEOm!;bAxCBgln6eXQ6mfWI5Zg_EGoCZ^cxfepiIVAXU4Q> zH4I|Av0@(OQoo;Ol$L-3u_lz>!l*F8Ra~?jaeb~~5js&52o09RWko??3}!@-RPkft z%M9L$v=Mhf=$Bg0rz(xT*lWXihclCaR2vH3FwrL`RJYok!)Y*5k)&J|!N;T6LwG7V zY|3S~V7W~?0DY}u&$$>-6k#SWmla(f=LANIAKif;vAlNvv0qn5=dRS%s=fMAvgPFL z#7%p%dF^PqO#NL}POf;^79t{|?zi0iEci}bNAV$X`b*;7NkFx+5yy*JMBLqd-mrZ( zv>E%zYrjnt4VEaj$4rvFObbFSy&imXv{ zeT6|`Hu^XQpEd?INw~eAJASaqw8gSB#`oM(3l>>6v`VKKqnn+~4b$$-pjfZ_jF?@mhzv4qY;nJ-F805c^9I+JjyfYXOkR4$B@lx%7PjW0jNv;`M^5$QV+>a`O z@h8ctgWQJ!KKv_^gEs#`a^?Y5AEvBS)X|2{jD=?If}&B2dRGkVz(uwFz$#}fwHukD zo`7Kj-?#=oqzR&F;>i3Eg(4d{CuJVvHSQ|1B)+2~+l|iKH7{T9sW>kRRr=Ka3flwE$&|;($Nmi;FXh!{y9W5Sx9xp5c&o}C z1YFJo4>zZ)R-4z2p`MtZJI!uM;d|`G&BV*EuNUpNqCoe)K3Q*3>>rIG?tylfEpof; z%r`czU>%!V&o?#E%)Xr>JEN_8v6f~>dyJgX!8*{SMem=fi4#lbcRZBPe2=ud1W_HL zP7V|$6JAC&gpxOZ(YhF}z<5Nf~oC7-9d6#otjz79JY8i%uh5S;cMNU;w=BUBL|A#r!xejk~SVRomxdS5>U zT4)6fP(KurkSNXr6I(_PCqENuaR7J*tYMENQKCbz0k3ArnPHhZKXja9ZTw9i$akUY z1l2n=EV*E$#C*1p#zIEQ;>I$p?NtiuMLnciR1fn z2?ss~Uv4jkDIs#%%~*>9ix4!P(G_@%2izA<<7f&L1?)7+3(bZ<3GT-Ti#zcK=>a=% zn$ln>ix|S+$K~V3*mc*8en=%Gg+BL`#77KbepH!8RzWi$Ee(qsj6^peEnMP*K^@;= zR6+;RB?XcsiM6W%-qyX7oh>FL-mi^il}A;UvRtBme|_?4DfiR!z>-W7t^Yo+H&|Su z@h&R5Y@nC2SI&32Bk-?Ia;HhT3^2SRyL|6FfJ#zG9_>rMq$FF{MuI7|0$p;pZR(t7 zyLb!j^71FQcy#pRj*q2xu+SH2bXj~rnm+)p5K}b>MH-c$F3HOyI*X=-0a#cXDt#1; z>BvV+s4m-WUdCzg!Jzv7bl?f9O}jn+S^*6C`(4DYt8MPvSX#mejbQK)WsD#PCaSPN z;C(2eak4}O@}5Rqt$U9_qgBC@V`%t1WRFb9wx)bNAsdQvv)jwiD%S24BxLK3~kdw{Lp2ylcHZSgY1; zS2}_{V8H!)-$el#^c0U~;661zAtPl@JKSe}{HEOl}k0iJKcXQ{pp7)kXuICw1 zF-Wq!eh)lr?QRU-ZF|adKz()Cffr!p=J*r!+vC_Q{ZAg3vKdX&EzOOgdF{f3h(=dL z-$!rN(o+;3CfxZ55g$agfnJGH0ep-e;6?e^duEoM|e zd_FuZHPDBiem8M>^zr_nAS}-DXo~-l$L(fq*}Se>*)QY%eP{bPu7q5R$DCl9u2f|F3avWQTzQVYn;P@N`lZPj zzA_zD_r-F)PP4W^Po#dciCpLn*LeJ2=8}P2T&u&figpZ_-= z4kNrwv=~bEBxCc1!=iJ~qoo>MJFci&c{UubbLXcX{UnMakF&M&#BJ3XGiqQ_WR^C} zzT}rgNe<|8b$`^ea$=Vu5-j)LlRWi|NWDN%212xFX~{4%AlW04PsR6LerHzR5o5Tl zdGX>wg6vuJK19uKP0t}d6B%Gcelpmr;^8!u;~-|0cPk_z5$Dt72Ux%GaD}sH{%8sPw_1@F zk2jiwQzv0ssO5FhMTyJL~t>MSIQ$h0t0qZ!uU?{EppepzBYhvd_xd1)m z8ZW833}-k+;Z(-&jPw%a3S%;>XfFolKDwE`4oe$*x4zv3n`e(5w~xJ=xK%eJ zGnP3|&o>I3n9@!Sycqz%H^(_hTW1Y&42ucy4?~k%cId);I(XeHP;>7+Hn8^AB)x$|O-9q7I?)%I> zX+VS*S03@|S`!M_MXj11JeSPI8>T=CIGSkwUh1~rPbU#FBu{49i8HScqo}LMi){d3 zB}-L|IP8LbD;OGl<^@8zw|+z#+Yj7{8fB1ziIZcp0R=LfP{?eju2wCXwN%pHQ1c#T zFBdAO+)ZNH;aA;WU;&0d8{gE=#H+;{6zuz|@t70$IY;=ya2T z%xbPRJtYvHpUTu#+DEml&jK7kdi{b6Y_nm{)_9e>mDmCFJBaq)j^w3Zv|RE%F{@S0 zRJudTt=!>DWO0$ultd*zu~?JSxgzi@0EB4N5#w1UbA2Q)uin;j$z&6j{L+wrjPvOj zRAv>bC3lY*<;~%s6(=r-T==oBO+~p?boK3vAH))*muSq;ck9$kE0wdp=cge4cCUa_ zf+>qvs&7$Rn*Z#@RgN%{YJirG;xF4e{QnCt{&5!v;KCog&^JIf0YMQivA>cDhGEmInn{O{ujErxIaFKZC~^ zulq&yR|-GhZ^kQkuOf?GEkv)c6_nC?rt5@Twj23n)HOIxcHeG9axHK@t>MB3g4A#D zG{=CQ*@8+ca>m}41e5=~TVgiaXz?AOx*y|@DT4dYEBAlgVEDI+%>>6!_yh;H)<-x# z%xD!0rtrP6B+4jU^lTMKyxJ5LIEOe3y?I+Y`*k*2z0_$->#<=Qa(9!eX+l4+SZ$qc zXOhp8P9m3DdV7C8$!?=`{P-g?4O`_Ezg3o0-@S!FCT%x?N<-?0JyW%i(1)obC@Stx zikxj+6N$-W-{MF+gu&jvi7DW!VlYi#Z_ir);Kixx zl2j5gsecgZeO+hy>Dl&dX&89~Zv#;^(}_L;bxGP&V!f#CBYiZ%5HiWfsFskMxh^XR z4SNO84EDMwDxVlGtAC@{P#{v}WP$=Be4#CJ3*4H{hxZ;<`_!IJ1k*kkd< zq>8L?>s-GYx9ucU>sIFm6qZ+Ou~#L14-_tYPGu$^ADAMA3i0_<$+gfHt6_cbhX*Q%f zh~=_I0B;(7vS)dRum5Oa`?#vK%h2IebO>lQC%xD;F@XMhz`3^=_7@y-n#+e0xh&)>7OV3<)> zJ`3khvYQW3;@1c)uU6sz8kO3LqEDu^g{VK+#p?5RdE=k$AKN{(5&*Eh_b=@)_kTwX ze=6Pn&#ch$Gb`9##J#?L%Zf_kUxK~6C}P7RZ{%ehg-8qzrfQ5&}K}$nt&}qAn ze9=gsyC!%=P;aTq?D!gg7y!CHbxkln>YGAlFzmFmcGQ@*uG*$c%>&Ovo5*XX?c=VK z=J+|0jE}MNV*Ba~ngg$*vSFE8gUw2E88ls`!wx>I>CL(9I}G^-q~_hGn5J)Bb+JT_ z!q=}I&Dm_cujsV5wfBu1TE%rAg)P>PLrUNi?ap;Z(&nxQzC=OylPlKY!GOQYFGey> zIlr6PQmuV?I61L;-#;#nZ8}e}KY(_D?qFMwV&LljeRt0Yy1_Ilq#axX#g}=X@rw08 zQZ; z_`%dauK9;!QGe-r!hdo7-wq-CCkK%j{=|I3cD8`q#kS5)^hVZz)lE!-uJjv0w9w6w zgHuzs^p)bH)EOZr44uf%3Mis#Qnn`bu_wU}kft1gFEmG@QJBxb&x$+CY!OAR zM-v^FlU$dXPNpwwo6iu_gI=L(xeT2>_Sj<*7Eb%0F2ugqp&V#Q;=|Mw6mV`UqNMg> zEs{S)dPR!oabU@d#3v`1Y3P!ED{=@`^0Rk-xDL>%0oQ%|{#j3oT zlx+8tf$rB7YT%YHMVcqL@*LV!DrL{Zthk&)omw)WgcFp8WKJ9*680@&b5#749t5(8 z4KorFjm`J)%1bp<86+^_e(e|K;t_A|q&o-;!HqVuOVuBiwP&C`R@LSn5gPPXuT`VB zJO+1zv2wg3?qfR4aa+NZM0r>Az{r&&?f7lulJ%W`1u_Tob%U^3X$d)!ZW$OKa;?B- zhBzqMbj>ziE3Wm$r2Yn({B?s5y$?gAb>b?8N#UpUoYHmEZSpDvDg~m(D7ux_I7#&9ujkac6J3sdaK16tMCjtC5>X)@W+n=zv^6$s= z#C|`f_tWZGN~^YW0!X~8I+=rV%0g5jj?mLWxVdWJD2Rd*rTO3^jiq7<#M$hVgVtZ% zE1JfHkqK1wawWb4d!rdHN(#atCTM7Kvz&ZjF{9`A^LYf`;%dg~P>AVNaQZMxs^+;> zbRqKHmo}98Jr9Z=W0M<2Gx%UF&kn&y%uCV>ga;C2Qw$h58kTD9!Kge+)DKK(TDGaZ zS*f<-WEO)-v`q>Il#h^JUJMA>I9;;|se}DPBva~&q|QTv=r_a|+l-YyPxFOS#)&-d zDVQVDsq;!;-iM!Z)$J#1f{($;?<;aeda$c_e(n4~%^>Pc+86>6gctEub&?egF6;ft zD+NwUU7$2Oym#-S!woAQqYt1tQc;|fe1G<4@8)L}^Ubgov z?K64Pcx<^F3qBvhpLZSf4_gL_a$JUY>6d0d&kb4T#=20tn$Xt9fREZvg2Z>w=VG zyd_=FyfK@{xxR2i^9mUZ$yI-f95d4}gYqoW=@dN1W{2S_@9Gw*UaYU0;+|ka>*<8iI z(agm8H)^a>)s{yUM0+Wo#;`B)_g83j2eyH&*FlRXwj=_P6eJ0Tj7dLYZUkM$Tgx)M z(!b;Pju$cP3*zq~FyU#}4hepb)GurXV8^USu2uc+I6n~gP_j@H=@i+qz1gJLsx_Or zq#SUD&xYd5iI^c4RN}DW8Q|KQUZ!#wPUtnsmml&>)P3fQWKS_dVuP3(zg>XZuB=g| z*940$?wG$b=dWVj7slFu*|foBg4k`e3*AN?n&ndP>eE4OD{NN(*kA)|M_DtkXTl$A z8X9n!=b&Q{9^y`%OcOP0AhC~^H&O2l2Hsg9JGP&F>+5J~$v%d3&AOCNZ|>=uDNyHe zB+=Q!m{e|8(G_roAuLSYX_59q>R%SUDK^9Af@oJi3gwZ|Fl_vJRi9r|TR~YFq(Gtf^19N)H zBHnL~<#z_uetCMPQ-cm_4wrLX8YtO&qdrw@bN-^;^=#H1T$^4u&JPB}nxOq3R|ARG zqzB>+-80%6SC%N71AL9&ntO?tGLfC8U@SC4i5aC3`9)N#!>@%MdEu07qZ3fC6}KKs zWzh*duz@PWozYKu(NREs648EFiQWM?nY>;>9$JP-Tm zkM7)HxD`#QhuCbZbbO&_fTh!+j;TB5?1P7pMp~`Uqpl{)9s|mL(Zb{+tI(@D9X-zyF17ga1X0c&&i5Q}6&Gu*7^EFvwjt`Qc68`8bnUfE^nz7E$4G zUe=&#W#|Lg_iLf!q_pyVE_t`$)8g@ACe!01x3DxnX!dPj)1!5Hn$d7zrYd)pn32js zvZoYtXsFYq zXEiLQlH}E%!;?RbuOrf)O9(e%J^>Ao$P!bV+prfQ;hqaNv}oY?)I5+j$?M@`nw=qM zGhwTPE$w!s8Ivhv7R~BYN~FcjQUiVEoN-76%67rr3R@s+3_*Mi-_J|}?{1m7yuzeV z01f^D%Z8i4{~pOO2tZ;xuVZyZotPdvKxS;&C!QkO4vt?uzB&~$aYqZ zmffi}8%P%$2p7uS#tkB$4-}oW_X4d`l#T^$uV&P(p(vO!+3VZkdq6V zy)riV1Q85pNT>7LETW6N!C(+#t#^;~yj6;zNzG*M4;NBx-leO|FjriE6il;1m~c@h z>8ubLVicjrT~-P(FEo%#Cyfm2>r= zM#U8K@5Rib#F{7Nin=x3jYwZ~Cx`9*W*0@6q!6D6;x0~&cNR(UL5_-NFclhkNk~gz;K< z1g|kM3tnJiV@;lX+mYo1nt*8^KC@hbm2`1soCLiUw(5o1krVO#+s}&Kg&gnwAIE57 zrwUc9m5StUhuNI~gSJ~%gq zbqaQZchuZn`UQfeh()Q?&0t@NUVYyl<`H=U?aP#}qSA;}79q?CGoNmw*olc(P{6DE z#&pqFKZP!{Q`2srn+MRG1O==p5(|FnE=%aV;^f`V8#)|G6k^yZDv8lL)ds%?O%Sjd zm^Y(H>W=0Nk?j_ql0dkpXI5>`miRE+?C9rE4!`7eq`5+|@PgRcsIGPqL|4eH$ z7RRoW@}O`t9r>Lw7+hlcxd zP@Lx?thxXobJu3*k0OWRpI>R7CxjVhrHjQeh~C{1FwTd%*Ecwub#59@ad>X!5XJnibb&$h)u@9ORsqFBh7v5^;Peiy%uXt6af0wtOG>pfaO^Yn9+{5uxd6 z2;9&m_Ufp}g-0Jb5^AnHP?`*Ll`>L%tHcgfR?R1Ru8JT}qo!d(J5Vv5A>bi_ zO?jR?F|?~Ydv!dM{YLIQAJqd2I-HGoqB-bym5tv=V5KHFn5j2L$2*F9I-KA@g0;{Zf`PX{E|63$IBBV4|?r9kQf-7Lg~uj+up15maa5uv-b?_ z;QUBtMp3Ef@bL^L`-mJfhs&Eak6Z(H%vvRsb5;6Goh!wxwKb5fQrQws+tjKO@}uCk z-C3Wfq9Z5!z}p@{CCAc1Xccq=qXx3UlV~@b42$)@xj6~@u>$hg2uAG92o0K z;Vy?Bu7T_7X(mVSz7#Gl5U=_?hKk5!zBQzbGLON;KqpUN{8;r;sIW{ttv7Jsd55d_ zwJ2v=9^CH$z2xQ9o;A#QsH$T?mf=#V*n>j!dMqpoDke2Z3xk!8gMSxJlyMuz*6IAd zqy9^D4OfcPVO`-MrUYJFaayROu4DZWW}63k4f|#igo&9&(rm8^bV06z^ML33F}}?z z1z-V5OU5Yu8R8?`BG zUrp}YjP(ka8Cw`c*{@I%MnUE5apzxy7&PokGqr3vvrv5LwY}^Kx6E{Oic?uO1xGfd z&~?_+#q<}`)H~RLyWLR~0d}j86-uqMn{$MOE662->Ay@T-WC7i5(Nz-mwsxRGU*>P zY^uD&lVaD3G@g(#{Y!A_(&eZ6EqRQ9Ms`B8uPh1|X^~b5=FhD9G&_7GDSFkP zZ9U#dZ`IS!_bl(LD4i`DL3`hVWE1cyvS!M#G1Lgic;>^yi)FJ-HmVG}N4v(N;S!G6 zI0n+071irHzaa{Te>X73acM#iwn=B22Y-*VX?iSO$x;~|hhi0%VRyhCxvVhBDeE>z zVM}OKXMdIT1l}u=^I?`Tb$&bGWBk3UrEqFe`1vZCsM4l zL;h<^>Lct}Ec>t(Y1vucQKxr~hKT^wDa*y%-kwyds)zzvZj*b_Gv~e;DE5g>mbx0a z7r$ZQ0s&Oi51Ge7eKO7G@So|W&})%ZnFTtTvUT&!JW(}Sa^{yHSbaIqk{;gmT%qIB zqWGtF59+&}lRU+sI1iVlNTR63L2L4k#zoK&++JLJ2lY(RE{))@`nG*mPKZx`H$fS7 zbJ23oZTo`3zqBNoF+A?nT!R~vcUCaT&$abP%W|AN6 z8PMiR#nJ0N-In_c)!fn0^P_-OWqT(}v&ht7?bvAX>?-R^E3$q+M_M+$-W=s?9%CPH z;&Kp8%k?3}l7$S{LqkLCnJ$tv>B^2KUe_zx>*z%H*1-_h-O{^b4S9LPjKYo`pS#eF z!na|in#opMt(zBTqv0P9Y3XpwZJ2w&DBzr&fPJD%M`Rug58kHG7R zb#GX0$~K(Cx+tr!`d+9qMv9GiLjx1nQjb4;MbTAD&T}KyvvI5sk zTvM02+8m5G-+(RGDU^qmk&b)J{J)|FZy}Mx2|LG^QyLmv$uI}cp=g!k>d2-vMr-g| zo0Y5Z>B}7)G=7kEloK~TDM|6VOyZpH6eF9qx_SfRWThK$aytudtjbIu%6##ewEJ05 zt6?QFq_HZrC&UKSd4^hXy}Yn(q0~*8Yl1<^MM-Z#(wWG(?o)b>>S^Vaw)?_&VtN&r zPo=yq;WmejQ8rI$p8o8-GBKdZYqHh8$44YXgf`0+$+g?cBx8l9G4ym=2SP=%!$=8B zrqnJ1j1_7WHtKD1WLYm^mE}zV^duRx=7I3S&_Ph^!3e~unReLwb&UeGn74Y|5~($O z0t9+Wnw5JUN6o8;)N5L$wz9U3_tv1!ss-yf4$0isZqwx71lv5D77&vjicaQiD!%#V z=(6Ds;_a3zURs0^%UKPmo>IG=5_QYdxPjxW^SQMe`B&Rr-SNBtw>fZlRCs3-wShyd zAMJD%@P9t)IdJiD-gbVpnKzC2JZh76%VRa5XWOzV=tRpUTRv*jZsFbP!{ITC*FG{M zj#}}w*X-CnyqT1AsDSeA?rC4{4IgCrzzw^}BRP&&^0CAmW&X?pj!z(4dbB>)y=@{8ec)M#2Fr?R*UuFN`eJ>Y$JhAPIo|Rxs=Os&6mxO6b4Jc9uh4KOD2J1~qzM=xOXz%YJF z9-bxf>?dPz^E(NzAm@OA+5^NnR)>$pI$h!9ltbKQun;Ry90LY-vW)kpkqUtrJ$PeO z&|(tXwumN&D8Xjwe6eR%4n8C{0lW07^t!-QW^I%y$`^J@0$d|plUfO|- z*c4ZII9tk3^&0qLhW8GqkO1?l8AV?4I9BzmCs|BM+$`Edno`|te2UpVwufnU9$G`` zd&7Mr^f}d)d+290NfES5nsbqotGP>)ZmP$1!cImJzm}d!23U+%N*W!|RzPm9qv;7! zfKo59AV@*wjH|L_g*&&WQhqJ z)11Y#XK!|$1a)U@GtDWM@;BrdBz83E8T%iHugSqROSc)>{IUH{myUS09vOStQm3&B zon!EovB~n!({z+(+|x%{B&bEq2+*~7TnVWT{TYjQE}d9otA!<9crBaWl;St*Nw*7f zaQGwGf+VcLrGE^8I8^%*y?XSfF$^EPfj{QEAA-t-^i>zsgL}%UA*4@)d|rDi#%9zZ zzMiE1e$>o{z$04rEzr8v$k;+I9)(nkST;Nr4ynu@4&iFZa-X}FC(R*7HRv)Yp#?Q$ zz&TUe8IGtP!nkJdMD(eLK<=d&((|ht;gnpd zKlXa^tKpKLCxK=)%$zo;V;>3L$xSoV8RvG(X>n=Id$SLKbdLo-#Sf0s7)$A@(H zjm64Q8Zgf_hgs&en}*AU`pzZ90vy=SYMVxCM$&@14w(U;%NB0U8m#r=JH0Nb@g2DE zy|6PfZ}9OIGVQU|XjGKJbusRlxn*zvQ{lmp(g8&OqB$E*vzYV~X?vJj$~kN^`$OM- zSG(d#Icwjw==%_fK*pW;LR1d}!+3i6Q00Mo?17gnBHOx|azS7Df~xYgy7(GiU()@P zM*-`^8^AWLDqQMj$0Ec~{4JB`C%wk+Ut)qf26F?}NPWZ!Hd84ssEoOV&~Z9>2rzvA zA8YRvEDO7&>&`iB+qP}nwr!hp*tTukwr$(C_xyXWjp&H(IBUnbsEE3%tIGT`-^_eo zK?B4-7AG`M@VZHLe~H1U3>?8mZWs<902NOJ`fntJ_XM$RSweGPO4}Xc+x}W_#>Fwq zByYwxp~&R=a^WTvF@oSl86Vu51mC5SA+I>1CIhAG(KQ=Ch6|6tqPSX>V}xYHurd14 ztDvvsI&*gr3a=J2boPg77lVG7qR55OsCkA=?##$=lHfT`^%?1RfoXlqqWXPlz(}aJ zQC)6-QHuy}g2nNaT|d#+Pi>{(37>5M*eG7ZKP~;3vXb$_^>w(r*1#jB<9ZNY@K_*U z=Hrz!`6nS@e{knI_^7HzlO|40$-;fJUHh##qFPQeYgu}(o8E{zQBdfXyI6X-H6ZIZ zim95CJ6`KE5y!8F!q5dnI|4IbzdrpkrCG|pnCA}Txh!`C)1gC~P$)pG*e6a24*)Sc1GNeuF=sEJfWNfV?&U8?}OURDol(jW2S@sHS@T=6XdvEJKxd`+*kT zlVnQx_S1S|V7ozX8g>sRcw=Tc0nB6X89x5R$cSPVut?+`SxFKxzO&GFSk2J9l1vql zYk`5>BHFtJQ+JtT$~n-l|I;A>=TKqibJXQ^VN-s$R`(p>^E98@x>Vic*yulYMj=#_)TS+w?(wRX!ZVcN8> znHZP&h{-QR55oSFYsbyk%<+bx6ihMz`nKCtZi+-s*WJAR={no*wmX7UO4D`$PaU4-k!#s^N+Wq zuSPq99tIR&#J8oePYfQ=x2Ug0!c-RjIw^7`@D!Eby-Q$k7(l7T*K78!P$<^`ofD@> z@jt#9Qi{hPL**I*#|kdGgLPAU{d?sX=0sOJcWu_X1eQv=>e!6vG@Dao38z4>*M<)=OO2(XCfur1wOglBZG*H7_|{9zvrOt^C^@4iwY0~ z5Dcc{BR)WVKRfHjVUzjGiRm?_hEI#QX=50s+Cr0r0$>&~S3`D6UL42!5eU(%Rhka3 zR=Vba@tC8_`S(46z0<`)zaoH&3s~k_Ej%T3TDZ;TkKz;Sf|&sZKExox`-XUJr^-yn z5M>vLw^bTT2TlD+oGa8?->1^50a@DlFTl)^9&5Xp-tj%)x3R}`EQIy*!>s#1e4-=% z12p0Kz9&2k9O_h3>qGU1DFkN1nrOc(;mtS>SKI0W!dlld=BCF>A4O|nR#^K(T>M4@ z37+%_^wYZls<5-#Z{Ax{%pUu*q z6;GiHAk7g@)@O=~gf^It!=f%lWBGMcSL*@%?)6KE><$)^AQtxP4Rj3&vc}V$^Z*N- z**$Q3GVN#n>=U-4tc>--dWcIGHl25urjt4M?AHg|XuH8xnDy{@0a^eU8jX)dtqEs^ zmJtHZEKD95HOmVrvUk*a{t3{$hm_>3Ek~#aguj1M!DkOe~am?%1lEz7s zFlQGkVBjjI6_y=QO6T|&)hjo@v6|vGI9BE-0Gp)cExLND@2&&$N;8_#R{xe5WQ<&+ zux6KJMEkglr+eOO<``0NXtXQwul`cVUvZ`YP#c0}f2-RPHr*V9yqr_|X^a+T4gk?I zb_iIi=@eBMQEpfTWG*0>~TAfmC%Pfy;x5}jlEXcMB9Wg#rU#N3D zndW#9)jNC#{ggUqbxw`lRr$i143k$O)z25u@z5HN8S^#hGCTdW~R)b#y(3uK0F@*&)bxnHY6&f8vs*mjuz(L|_P! zsfDIZkTI@hE?lap+q$~~$@wCiz<$x%oGfVz)yYqsv59G%K;BLxHkM&0OSm1n6TXY* zBVB#cgMEAuI1TefciWuatPtj8t5QQ9&5GW-Gqf@Airpz_o7C~{s@yg4Xu<%W8K2#S zxxm~%)w(%rell)!lziRgmXmq$^`N3-lYQNFpYDSUFZGg!VflCNnSQTnQ_AxPb{zXM zgexsWswjc$_hK0^Xkj(4f6RF47HZ#?TUO)UuQ^mD@hwetK>^^F-t%y_It$LC*JJ9q zMVV{$JVgyoycY^+_YY;7L}A1r!{^o6J8r2@fo(yRV%hkjjplI*(l(BW5Th(lHh0|+D4`!F3+PUimHn;(GU@G=hIi@p&VoDN%Hzt_V^TG_YHJjE(NmoPUb1@iY7T# zlGM-`&w0*_$=JAV4uHjmF2(Toms=skzdeH}U4$snmT&G3W#PpYgTgTv^z#!qR@XdV zQGA%kBF$>TwWQIK3%k-`y!@=Pi1~VN3fDwyTD0gba$1`1uUXN&k`lVxlTGZ97HCc_!l7x$b_=Vfoj}eXsl)1(?1V^^zAl%j{yz+|2qJPHRH49f(fejM9nyk)hhOiNvLd zv%@Fn5QW!EL$iBj!&7d?PYA9g`^FB%+@F!Q~&xj(t7v_%s z-AS?{Zct_StK^wkgq8|+GIxdphs$AFwc%6dvN>LcM1__$G6*vshJ{092?IPlO1DV2 z&Hk~;h1qo1*Q4ubk;#F;Ns6Q{a|E%&NVkc2K&yz3jrR7?*+SR01r zBIeBVctumYuFf>EsZb^Ig;BY-EPa$l0<=Nbvro+m)1b)BmyT{c<>+y=!d@Pmqb`RJ7i-#cNgQ7Y~h7c;#9s%;X1AwCvOq(+-J%GOE4M}3*+i zgNuDepwR<;XA7M&R#OY-cuk%_o)!ga)mV4{ai!rfu-b^gCuY)1CtNii9csTr{A!V*c#T}Lmjw$D;Ai)n9)Nb2#Wd?o)H5^++-h%P~{!_IgdZf}j zC5Sc@>%BXsjlb?18z1Ol;nbGjNZkPoFZMQPz~0xqd`~^9%2!4h+p&Fp+qn^A^MMIR zTIn?D&Skm7b0_;t3#F=yVa&xh4-Cw>YXh5I-3K|dvTachhw?Aleo1YymR;lVxL?ol zK0Ov&;i`1hhfXV_dAoSEn3umWj-Eg}*qc^I`#^T2U$Yl5Ug?H2axlz1abaF3`6U0$ z&{|~;$2XfZH31dFx8t5&FE=OmLc!RAy9fuw;N1))%P}zp?4QW<1R>AKF|kE#bl~>Y zeAq#FadsExB7cQ~V@uBgKl#dZxL5@g2E(UplUpe3HG{%tzsF58?cBKTE72=IRC zFMXXZ=aaG3*H_hbrr2y3i$~?an%;{SG^WN7q}@m2o=AOVfm|<@@!H^LN=+oFDu0*- zp>b>%R!=u6QF*c@hLQq>Fj|((!)PY6+XZeWKth)@vD~Yic(?A?I^2Du*CbmQGFdKUS=23l!gD@&qh*26>V5M$nM7 z(>WJ=o*{GN+UmHKu@eBN9WMp$0EpRr0W9SU1u4jLd=;S1qFge>l4jF-QYPum44Eqr zk>?8MRVpZOn=ImzV4bFfEf~MZweVKiSLzlK9A6QA`=O7S$x;6Hf%iRp_skwXY`lYb zN!&*r`yv^?jCsj9i;MqEhYGd$T5E)ojMaY|{??!>?Sxd5InwTx2%jnF1lO1r)TyQ& zAWAM6HO?EnO@tqyhdp#dcIbp)mx=k&;*VAhKp07Qg;dVw&<<*zFITt{NV*bF^5Xi_ zA%}Yc>d@XNu}ohvJx~atJeQ9|ETi1GEG#ISOVy@lYu&q(=?~wE`}-$A`BFdZt8LJy zK(1A_l&&*DzaaZ^MJWab-R) zA<)GipKA>GRfstflU+anlDyP$7Np$RkPmpKM8oknwj7=@A7j!V56IDkhd=kDH{^H- zrDwm_3;uXbK{9!e%RT#66lX?K|KSfrwrdU2eF2b-SgVEBJ@T`Ya)-^SwQ=M#A7o2bzhGm3L-mA+nax?T~sq9fh; zY_Z>Tj#$G_g%EMp^vIeAWoPfERQcOP_(Kp)gM?)={5oXTQN*u8`D3Z_+49U0!{O>a z;f2Iwb(COzl3R=r(ioBu8JXnpdlnA8G^;>u$TodQq3$!~pWbr@lcEO#=GU(flK-yv z2OIKrKqyMY%EK)slMN~%mk&bsshqL0B4^PClnus@w7iR#G(?H290~1El zI%i6279>q$OCuQa-m%l|^WKrmGq^it$Kmz-JY?m4k8$g~F_uyojZo$xx|!Pa^zHe$ z?zrjZ?D>8=nEBPb=Lw#csU3QVwMCU7JmGR5SMR<#D@tX!*evBe8G3k`Z;7-u8ftt( zLJ&~QY#*b4__3M*CEmZEzb67=GKUu{&l=zG=-{pvMk$Z(6Q?Afz@R}yl?mK(7V4vv zQrjLUE+8qqqEuzbunx2;B`+c-P+Cl_PaP1g=3!4|fD*HgC}K2gH*)m}?Llvge#ET4 zk)294mP)Iy?x>7@g`h$Cj-c`WVzV@GF9N5|bI4 zk{2t21d$wE5~H7dtT7qf5WE_uKcpxho0J-Tf+!G@D|MhwjUg?zwy{GrFr8!(Sq;74 zp%S5BUZ)0LToHUc!MVwp%z}$XOGH8%PM_7ozZIlQKrFcx^BgZh-rh(o4UZKcVNgWK zv`U+};wtJzRGhd;syR9E%O$UnlM0Z5+qvc?8jIe6W{)y7q!tBf(jBL}*kW**_)kgd zTy{vD5QPwDax$FV$W(nGbxNX#)9`VkO%q+IJ#|?edQq~UeFp9V#Fx(IkOQeZUu z_9{2d5*>)WA(;9l@?23tc%-*d55)*QwkksYf>jrozUjo0K$h zU`SZNGZxGN988EErA-Aog*fqgWiL6n%IB<;A6MzBtVDM$A5VD2`C<7fyS z!1}Z?Kuc3=`r1@@FF_=I&&WlDXt>1!Pu`xdtX6YUqJG%6_uz4GQPL%83DkP_Za*<|Wc7n@ZJ5m=XmJqA?sVgFe-D!qVj>SYvocNg(<2Kj>Dxo4ut^hfrM1=^A9%{*(SS)%8gni zj7<616YZ!<69Pz@Zrq5Ly+#F<;|9wKRn5YqE91$sv+ia#)2SNAEeIuG#KwkQ{MNan zr2_4l&P}f-f{OOyis@6om`=&H4(^g;^_A3^TM5Fjua4Mjm5;nM5B51{GyV#Fgduv| zo?lt~-A^F$_;E8gs^o|B1O|h4K=_KM8*iZN9ls|fPvM3RZBiwSh0XJVzwHV`XVa0*toKZ<6HM z?4r$9`+7P9Hqh1J1y#f4>9b}2tl85w&o%k5KIuh@gpgpttBFtiFW01>lm%q{PDCa>}{7q?VB8T+;Nndk~FtnLG(*-^^WO z3E45j$XypR1r04PSnYpF+NhOT!|&#UCb{!oAnWQjU(jE=VJPpq5YUJy_Fzbp!b>f*#^(B`ih>e` zPLN@u#vXFY5FTW@>hTb4vD!n}{y_ipwB8mzU0(jhds6-7dH&b3uGqi*v?~1{|DpeV zD)F!D2&D}LM1DAKz&7~&u+mUgIUAB(szAFi{zM@1DhLB)q?$z|MnC+Fti@{}h;E5T z{s>Us-unzHPge3i0Xi~TPHyfJ*_Z6IGh5#19ssp|1i@`3<^iWxry^_e606pGx!ZVR zit%_aO|;_rrrIX?`b2eRmPEsAC8{RcOs|2hG0$l_G{I{Ju8R5cYe;z;cqfLJ>2-eurAB>?P3IPdwYIUn;xw5VsUUcRQ%+bkkwAP8e-pI3Qs}=4Be?NJ zNg1s|;HLB*(_zeG&>%0s`}j;Q4j ze??(!n4$(%Nj;SvPYc)HcG2;l_d2k z$_O2fFof&@K3BoW8F1A=AJe#HoN$^%3pUZ#edAPME~)|`oBurDwPX|1relgq#Xo8F)>9ug>h;=Yk^p5U4s>K z34vi|7VKqZ|;$mu(${4{zqf5aRrzGMlN=>n0_()_^s0N|2jWG)q8|&31 z`t3RT)l4bfvv>Sp1HZwv=!07W-BdOEg|9W}nJpFRE44jC$X(Mqj8|+eRkn<(AeA?^ z%~=iEDE1!pme53qg}A-J?lWSLiLsgJ6cD_5P1Q;4m; zT9&<@d{2ry`Q+l(uPkA0#8NAtr3LY2Ip*947&d{y$BcBVS`2h#suYwmqPL8qEo+k_ z6T}ALhZ6&9JB%BNl(qpqC6@D6#bPlD=q=x@%H#+djLzlMS9v10KgI$g?Y-#y@iSBG z22C}`O&1V+&Tt)?e6#*&m<{g+*<~EEvCKKT-))R+P zSJx3$heO!<)^wBUkfm6~$k0GF9On52`Z`DrfPDgSL6FRO%wGEJ;TsiW0(OHYyl)e0 zv%YWB6kMu##ky0;yBO^6I9OF7Dq)#b3lA7$W<=zM1!^Y@pdz|LDq<7tDA1K22W5v5DC{i)R{%5bQwQxD zE*i-Q)S%ev0t)IfJ*W;?k`G#gIJYPzr7MUj${ELw^hzeml+l$pkBVOaVjyI51NYpw z9%&!s;!SrI>esIfUshVuuIHug^vt1}*syQQ=JdUWY=;M){9f!>qxa$hA3!y%l`Sh* zm@Qh@gNr+w8&C&WbqKbp#9k|0Edkrz+eE95If9$iVHmX5EbCnnJz@i_6+w%Tri-m7~PwH+8Wd1U~p2nfgs(oT=Q`>Qfc>_#%t% z(zjfkTo&NYC7Z9BwL~pFT&Ob(!eJ4=$ht_~LyGGJF){jqirr=k=)HIEXD~G^=dAp; z1-))kOnpW~X9BAwXIj;=gaR+unK<^$_mFs=4TS3#4$V`BALls9^Ibqpy<1exN#-~| zu@-uqGew5h&G+P<54#0p4%yRndxdvKD9nYpa2ahsQc-vuvO5JSA|+e*KfZt({2kE5 z4G<9ukdQna#z)#H#K4I_z}dc-71<%~ z%+BK*hB=q=x<5C0H@eecSU_vvqX{_@Xo)Nu_AE}YSd?@+D*?9*$WJ+!_s>_TV&=$@ z*Z9aT|HPnyhnhUVn%Xyj1;kYjksoj?+1|nv%Fjmt#+kw3_8|^GLZxE-PpJcY4fMP= zsTo7G0sHb0y7rO$f6By4e+~cs zPa-DzXT1Hd@<&nAaX|&{JKB0E94^{&H0Yzq+%m%-W8cmZ3_MI6AlS&lE@RJ6{xAWL zLNbzSpckny=i`7KKmvhA->qWv*wjF9oxUsH?%GMKcT$OP00sQXrtI(d2JYEyCIRdy} zob6u1DI(f-_9;*TnAFdXf5IuMnB5Y9hWlB|d=0<@w?zQo&eBj@n?qQsEfp=JbAQW) z0^Y*hs{~T}H-}$B!BX0Nl!CC{p2-bGtEs2-8eD7U)KmD95J<;6{D2%nhgik|Fi+Te z)|B(8hDH}5_V9I|4j|#GD1b7xq$L1r!v<#TMcQ$g%(J>qkwJ@-=1MFD_a8wJCamIW z>Gp0+X>g+sr1sUIN(#DFX~Zm8=YmmXX{;gG%xh6ZbFY!B$$1~47Hy1V^_01*To+5L zd^(-i_6BUo1&nHNM9#F`z%ZqY3sgkFs+t6V_rimwr@@A{a+rkRW8fF#(gUWIyDt9T z1`dV7&g*51>_z%A!#{dc9j@pueS`K;3|7J6na~zYH+~FXx;4xf6%3uzhWkx0SQ{1V zc@sV#bl%G5d26%hq6|dtU&yXoEd?fGE64da6LQjFD~qK-Q?qd?S};pBVDYX& zek?x|dB15LXj#q_oFG4i8)s?(XOOSpw&>k;#1Cj?;6^&bF_gnx6x1-zr75XLZXGrM z{xdG-?`vW|+HZR}Ayzcd=Rsy%8QJn2U|zaJt%$pSSJcO^_No~RZ}hqud+s=$FAH(L zy5=92+(sKPmh7i7*4SSYQyrlorag>fD_$oir>R`OVrqGX?V)B&qAT|!re7+ikLDvn8}sqfQ(s zhY~>uGP7Ckv+Io3^&|$|WeJ8V0DXK{OZxJ(po5qf5o9>ikK?iLw5c}I5tFRvhTT|d z^0I4d54=`kiCo8&@2h0OG9C`CxmV%co zRq7_U`Wp??u=mxbM@bIK4wLS@7!sZz2S-$mgCm7V^$&|&sjqnCah+){kczeDHe^$` zwC9B4nOId1U4cwEG@ENLh8xoC2{U9d*s&k%lQCte zh?t;AqZViX%wWQZB(~Rma5`s3Ick;m8Tj*%bg}L}1P$=_qfb$nJIeE{_^Ys*jR1Kp&~Lcs`lr)nADkrA84~#R?ns6O`n8U$!1ewXNUnu zCe{oDsI!ZVsl$ySK8zo!zbORDie5`4>L}lK$3fRJ`gp zj`w3>i<5#zS4Zwem&9lv9|(@CuYWUOeoll}F3yg2K6NqV@Bo7_AQhHGE{skbxh|4R ztSy81q%>qgk`qVRO-jDX#Bz9Z+uprNteX&n$2v&Ua#wSdxK{Kl7$Lsgn_tUzvVPBnD#ouQ;>OnrS}(C+ZF7P6&1VXRS1!x!h=QML+G!iz!Uj z>a!*LptNCENASxtjjndjsA$y;#hNmOP9PdeT8UP2S&+kg=($Wn*lsPM4?z5-@cT$w z6fo5={{siOKIX(phbDtcgyO=e!_iYck_}T3#eqY&0x%L_2tln9Te2o79$UQ1W^FOO z{ioKkAk4eqdcoh=whSjbm3qXFD|V9LaDJ)0{lhUTeZ?4t+61fH;hLDYD4WFx7+RG6 zS638sMR!*=F%AS9Zw^~Hw;$!~<@*w3=MiK63Moh3Y>Xxmg|)Qfzj5UoJ!zAeoI4?J zQ0Sj=g8G6QF}6(&M_~?Uvs8z6H-NWbcLQuXad8#U71Q~f$ex;<@$T9T3Yp zDUj5#pmWIf=#e6XlhifB)zsn4d9ic)xox}BTm^h|rpq1^o-f^?yes%ko^mYW}A|d+F zA%MRsfyMXb9f-cxLGljDI&B8Ugl>K|P{c-%FN84_Imib#{ryBS1cmK3yE9VhRFHMP zA*8jAYukCEgVxmVm);RHoQdyVsotxsG#;FE4NY&Lsw}rsi1Q#YIL{si-G_H#aOKrw zN~~fkkSd5bYOpqyawcHkUDDkLcnwLPaNRj^B&4YBW}1EpQ4nu<8OtD5E$&!}k79cEd&#xuhRDTp**&u zkvdUK?SrJt7#2F&e=yMKQmP8ErcC}3ag-qL9nn)%k6?8K&uwFx5jLGo3mg`Agi?Dh zEolH-aH&HFxwi`OgVzuB&?u$2#ahA0()M>;#e|{%I9jSXUXJW9mr4lIlA5yN2+>&d z_+YkZ07Yn-3nYdpfXq+QAyELOHqUjrPaINwdZ`rP!hLHK$3IrMPHN{gj?I`mwZ|b6f9sDCjy6Vb91Ku}5(PnPsB1 zzsd z?=Mg%`76d7|MAlJ^N@C;;!}OpdrUjsqoz-<4e;0HefmqyTQ<%vE7LL=$k}m=$SkZo ze#Fx5H&**!+IBac#;j$yEIkgp`?Vb=BemWJp&jz=c#L?yquw`|is?g6$j>uZsGqeE zD4kntQ&rc&ui)$c?B{3z7p#6aXbs5Go1ydhK=Gt1U()2zwF&Eu<75(&7HxM@rW0*2 zwrl?rv2w?l;&%&dH-n2Lri#`T4{+PZfpocOEKAtEoY&+Qy?EK@&3z3SJ)UUqn1z9s z()q&RsHntRkr#FeiFWkWC+s0!=Odg&G7&|KP50)oyi4M58RvzcD|b6jEZomx^fn_p zk||t>h@vGe;JBTxxRwihRJ#Kx0zr!~as|?-J}mDhAbTq0PP1IvNFE;Yr)QlHFyxO; z3zhfgxYvg$T3~Ej>L$D13Uu9Sn*Q8D9^b&r;FKt}zPvCfx3@Y}`U5o9WXGVT*MDqoyjLZpFOQb^a1lOfk}^Awm&EL$&a+(H+J7oIsE2gi zQJN`yv|%6$qyY<=`DFfFC%d1nyha&^MYs`(Esv_zn&#PK)?0=XEQ@g^cp>aBj*{YA z!LKDyeGpab?7N~=_~0z57%}TVxUg54QmOPeFbfw)6D;Jnd{EP-p#9+Z)}lq!;Yq*X z^u0)6>QdYjhf&ANCU}*Nrj$Q8@5j6*47sw~x+p2VQjEEE7m11QiMy@rs(+@*f{|2X zh`*|jW!R=oYQp)V;-XaFH6h>D;C#Q{yu$=v9RYXFs^G0hq+wq*0hc!of3QU`8o|b@ z0F+0kqt52*s|_HUOlJ^F+jIL~@2%SdYSstebH#I-E2QW1qk~R2mO-8hckte5Zge#Z{$C?Rq zS&-liA-0*PCu%0-DN`2N`Yfc>( zFaAmW)tV*Uh+0BddqOuo-G9{_Z1j8TIG*iH45!wWTu9%gL=Pht=a-D<9~vN-`Sy=m z4-)4YJM6;kkKHcS_pZZLce7oXaq$|Y#5FkR)cz#CPud2Mg=AKHnVd0)R<-JdwnXN+ zA_g`l47#H{WvFJdEJ?{T26V4YydT_uBp>A@Z0uI(U%!}0|2xU&{|gTBe{swVt<3*j zoY_AH_y3vx_@C*G|LN!Xt?bP7|0?`{(Zqs(IgHNM#tw20wr=i3^#AHfm9-TymC<}) zGK>VZBwk768X+tY#0~3!(^V)4$m{k51q+%jxUFFH&rDEfvVk5!UvWK7lD5wy@eYJb zw%zt@&r5IA83d8%@AA{uxJ`3jxNk-pW;)&;YIbk{)dpDv$DT3WH62LpxK>h{ymq}P zUy~`Dy;t^}<669B!DWxESLP=2J6Z-R1Ssrl4?X!C@DGC@VY}1X4gBeeT-_s1w6B*Q zE;Kv(RY;(M#}t*qty6Zr#w_1hRHJXI>}rl7%n8Qn=Ey&dvHkX*ApQ7VEsW=Yo=y)$V@mksEBS627*vrOIoKD>)I&M)Z+T)^`u+#r;+&$ zvkK@QEq1uIm%?wB1C7vnez<;CrAHhW0S2C&>Kb+&1&qp}L^u?iW&g9FxdsHkb*IYzf$_6rdmq=9A;!&dGt z;LNl^HPNY)L;QeRiZoXETKBK%3Uge^;r<1QEBVDN`;_UmdaHjL(DpDVly}K9LY?MH zfkV_gX9yUg<6_R$`*zy+Iu1&8L2NHqXkP0<8HH;GL89PTe}|fw9!iVYVhN~f+d6%n zn0?XCBa`-7zKc#jD0pX#F^3cdp<}z!{Ht}PS!bcWkKW$&m}8ol<(bjN;~ct7N_JJ% z77B7pu(NhwFv`o?{?ATDiyb(w_Wn&}z+qt%B)&O~}Cb#Qu^ zI6RZKa3R$j^L|~66kyA;l@)kf8E}c?tm$->!`bNx%c{2hIgYBd_(yj5{_}ux_sU<= z60B8S32!74ulwKfOcEgjAs(;d&|QG$%pT=&wc~Q`qu9N&ruitd^i|qCBEO(uXhkSj z<&zJdT$^c9i6PQRL6(P)a>~1PesO_U096|ht?-HG3Z);hSI^}hj&SWvu&};OFw)d_ zXmBR)<-{pQUTXG?_S7cmgTFIU)$EJm5uM-?K_@8Bu%7KLBe2CGNX*yc9V{ir?g?I^ zjkh+_)5<4Cvu#xhKRNs>dQCJ{d?;J58Ey)D?-+3sm7q*)@^oOQ>=b_cgXRNL#3e?a zYdB;?jeA%$$=qL|Y!sdaa!yH!_w!dovc2K4DBL}wG0QDp<%(N)2gz}cLBEhuTy^bV z^GH~w20#5nIspx=A??V31B2B)2<05X^jeDi_86BM57r>r{%=h;?3`e&=39_svShzs zIde1u_Q7^BpZTxhm+#(E2q2GWPFPNGPC}T?r`dRps4_k-p)QC+O|dG71X>+G|6z73 zQg9T6{1;I>_1}tP{|*B2UkUHO%1HlP<^G=tL~1IkBLm^KFo&gP6csswVi7?x3h8wT z1wjEfx`nG*8XMD$t-XBOZ-^YP2h`mNw5UN--^9B~8gLNBeZY>jG;Y)G2k(=~%(thH z4e~$CRE(XqUCG8Do8VYy9zI(TnXdjTT6Gs~Ft%V5&xHsI>dhCY=2O!e zqE?&P5u-^}JD0P#3h%#tEC>eA$@qa(GjfTeaxmUF>4dW!1%m^!qJzxDSZNzVMKVA! z1wvHCk6iSdqDh)cp#GUt;0d#rN<|x>4vupSrFGHf@V%&HwNbPcvq#eqMkk}OE^ke~ z=4*GH%c1>})J_D=o=Q3xgQmHl3Hr)1T=Y%cMk!A%A#I<5of` zKU-pLo6!^i&%t0j$lo<{(-j6Pr)re=Lp*p2a!M*fs|`kHH0B}3 zSkOl4>EAuGckhiMoz9Qf&NMow%K$L9iTe&pCk7^c8|EQ~STk9yfXjn0W4{j?Jh7v1 zHDlsPidJ^GU$#e^O7ybI@}+{>ZSYJQT+#M=PY*m?2Nzw*s+65~$VUNU{(WMps}}7>+*~WLyR3l3kD0%e`4dTl@iUZWQVve}Y9w23FWqSu4cBFEkTS zdrLzAIv4-*AC}2=acn55e+Tfme@8$6_1Nd%8NmN5B>sg371aOxI_ry>8yP$N&tNE0 zQCHM7M)To`w@Y7eDu4uTSFeBuw^oq>XjDTXU!673oLdHl8T&0G?r=H=-W2gsjjFQ( zX_~3ylzA4l6c&jZy}cXRGYTo{-7RQVdgP=vI{CKz;+^y2o)V+`^SUSc3-DD+56?Eq zz+ID-(xlC7El6#sQ~#7v*l?L5{XG+YLeqGJjI+*bE^#22omH)B684OEU|Dp^U!M~0 z?mSO%QZUI@jm>+#?1LAh(+54huy25clDOo;{VLwUXpHoY+=lC2YcnxlJPs1ao+ z{Nuhzk||;!mX#@E#j#hzO8KG?W@^lmCZu_a_|xb6=oTa+jBVm3Bd#m#P$LFv?^FJo zaH`bauAfE-lW-Lu{VFh!BY{3~m6hHzQ*KK71?nj707d>sLp^ORL=9Gc5^k|EGj5`y zIn3b7`FtBmxkZ*heef(1S0OIbwBj+ASY$scEy%H!<^wi*KfQ~|SK1R+EnwSv6!)FBVV zDl)gYtg%*&r3fo0(Sf#}mbGqCR}R_`JMa|c&cGC4f8s42G#2ZVcGL6m>1QM68m;j|wBYIe#RR8r@S#EbXiWXR}jU9=U{i;JrR z8YdK>fGac>>QdCo@+?-7$$UQ`#lD#z+*Znj6h>axS1QL7z-k37;1Rw!KK*9UZM1b~YS%Ox7pNpQgohH;2L?1AxCs+( zN067tMqKaIB!o(w*kSjC_8+(OJs-Oth^BCIv-!D_ed;e6z&-=hFe?o{1faSPB$xTN z9dG;BdmF3aV9y3X)<`xZM6M-vzer&62Nx>51XAqKSnUUm3v!fP^w2m=N>AW4t+N;3 zOA9c8(Tu8uf=${;)jNeb9cda^>1Me7WQkIsvLu-9Xk@pVcM~`9oVrj_6IsXRuBPq5n$QehaHQHf8)2wkb((O+C0U=svlDOP$-$4N zGv#X>GVF}FyHG4`Y|^Zkw!2dt%Qa=%5K#;mZKt$guh+t%A_Npv2i`x}gRMI8rRNs` zTB=0LHMN%37^&TWL%yg!J6)iqtOGBcO2bt*iFR|iB-DJ7mBZ|kvGqu6vV;=N%-=GO zTek*_Q9)7TeVFznZUq@tz+6ob%*-a;{MbEnQnF~B3&`}4?;J6Vst z?so-q9VFzN5Ed^c<#r4DS`caKLK!Ou7Uq3AJ-K$1`8LhIv-bV%_zBsINkw0&QE#JG zP0qEqI$wpB{n|feopB?knW}7~Hh!d!Oguec$r7nolWj;7pk_VXvGiWC$$m+3Z6N`Vn0yLye+tg?) z)V7t9(M_32Ay|`5nUzdbkC4we-U)ZK96bl+oa7@2RZwEbYUd??GW`Bb)ACswtJLoa zg}tHho_&+9G$h#NRP>EBjmUn}`sAKNYd_;K)J?n9@JCpAmxP{2%g1xi>RX-w82X?! zXBZ8~D1H{5s%wbaOu-SFaMaXXiL{iLd7*-O90Jz4zQ1?(VLEK!D3zRo$cej(gux)qh~`56@W7T666w zPcm_qze{==B`kejej6TaB{Y%=6)obX>l7J4#GqGDz^&eY0UFGm4>pJ|<`YGV6^$oC zHDD~Xv~?7zmxs)V8Z7ayC}ad@7ak!(Z4IX z3SBQ$vtIokpSv%MpH)LrV(E2|BoQT%Es*J`#J1K<$h+j?g>}{x(Fz?u@XP1tcL?(D z^bN}EpK;*}V)l&QCF8Y2P0a-i$q;Uo&CqO=?J&~Jbd!jh#)24Q_tJuvW)xef%qYJD z5dE)Z>}H6?_ksBFBgUvt7CYxj8)gjaBTm^%fU3*iVMaV%BR~23GD%mWIe7}6sH(sU zzMjkkAH&Ov1}YJMeEph2mS`?qc(pqi=5#UOak7q{iRzBttUwk|Y$+s;nvWXjj^{~n zB8M>$O(aGerO2&6wdw%6T37Ki|9Bo!~(~eg7x>^|kx$ zEXVH+u7{8h2{5+iR99J$0X{#rE=#A%K)~{F+R12iEaS5jYGO0aO2eK!nc)avG7AY0 z-VcGJHsg4W{L{Jn4GGjr_5{|Grberw?&~~7WMxIJu6{q$1vgnq&vT4gr;e@k+V8#0 zJVH{W>S}Po4(V~{SMW2fb#fIJVqDQLGN2$&tr|!pk#Fu_U%-e>4Hl?UIST|aTJu~c zm^M~2EwF@h;_f{2>?@Tbo*tTHW*Gv~t|*ghejdO%eDmdto)Aj&`=WN(HQ%&9>7J53e;cD}la5XiefOAVvuN0JSp;=$l znLqN*Po0(u_E}VSwF-NNQ8{#(s4sMO%S5-QAny;|r~64oo)S>N%9|rQkU;(5O-y-y zX1jqpgm#5~@?mGhmetZg;Rm%Uu;~zT01PnVnK6^5cI#m@labolxyvS3dU)`Q7HDg5 zmJV^?uLte=NNGZsN*jFX?eh9FMmd`lKW6ICiOkGkb=JU~WhjoyM|mN6KSEHkRnh-z zqw~sLC3lbXj%mgTbXl2G)MCG~Gu9?K)uJuIv)kN#lev8F*uF1SEKk&rCvHg@jf^Nf zc;?D(_l@>YyxhHZ;&y!I>N4twap8-gwGct&4~ zi?S6$PK9WKcM8W54*Q!!XAG_V?s7n0ALi~B7N*n0tZS%8C?{|v(GZjqgYJ+7tZfgC zhIVn)hkmZjIxVBZ+o@M7f0$H*@fI}a`ESE7%u64$DSE-O-GetrZC|#=A+Mcb;XdxM z%QJF>@aR|$>UIiU$h2=Y!&_S%$A?2BSLG$C3_&@phzfR|I zu62iQ3?Q@<(TTXlE{zj@hA&NL3P}wQb0`Enavn+9>j^2n3WppJx;f=0Cn8kCLQIqV zhJJ}bIr3+=x{aWr__=qm?0Cm*cg!UF1myE~Y~&nx8|QGc&|$F0zel-nK)kTFE9F$~ zW9}M5`SyPB>)uS(Q>lpO5ly)K2E7`yLferliOpRShgh+w)tQx23#mOo2BsKI_yagp zrAElH|3Uyj_6ylRJmsrAZb?F)o!UFs$8crP;;su*yQQtX201bad8 z&&x5Hvc$X+jOl>m@Z#WKQz&)tp8hfDBNTQWhYS+w&gmP!+L?Xg*TO#Qf`5r{42JLOM^{ z={LWBtmts-V^^C#B{&^_OGBmo4`x>jXOsUdk4or2J^X(rph$e)_OBMKy!t8aLF1id zGe#yN4j)Pq$&ZB=QiW6q%vT;Pf`P5@mXL`jXOT5kWX6+v1N9Rl*uekug@5es7m|Ew zr2eV%;)7#~(=~6)>uXHS_Lq%8A)uB^OVKi~)N@~*PEFqH9&L*y+qR>P0c)GC8{Q~h z8SJQ*rv}S7o?nM`$79O5bFM#Qrc3LBR^RS{snnUv`rX@^A(7V1%(VSWt&HcerwOC< zV>1=j{OdRwyinei6cA_tJfXiV@JYUt;)JjBp>Fz&tHX$nrG`6flca|P#?hwpl7;lK zDrLY0vL<~KXyk2~1G+W&8ow|6>D#um5t4e{s{80~4RRf1<9>B($k@!xd*y zkg;V%|7j}6SxW4vM$$qRt;tgiMym!&4+ua{xf3YbdNXT1+(I8c#GFhb5yW~ZDiWU$ zDF2xZXEf(xL%CLATXD%H3>JrRo?W%7nqZ*Hn6On)wRT9WgF0y$)hg+h6yiWx7@}f~ zUCl7iL1Ua!51voN+mexL!ztq< zg0na%&DhVd+CeCq{HMsCH-K{kDoiWSQvDgdMPVcb4yX;4b8sKCdp;r@2VuhJ7%LC& zT=H5a8mJq$ZFN`J+FY0756zP1E!t-2R?M}P#j_DJy`xuL&vYz8;ST-5byXQ zM^YsCVdeR^d_zWTu#% z0eLV)(9<2czhJ5ovQZh{=Tt2Hw^K3We^8BXc8=D@W+t}(QJ&I&vhM%y3;tE|YX7=W z)WpEq#qqxou-d5;jv1b>YI4)k?t+9-i{%`7t1J~k7|m!r88>`g){079R)25auKn_y z=9Y04dWFhHPyrguAp$$;_ck1u-BJskj^KF5Upq%Q!$mfwFzm&Jb zgo(SnyvQ~#NGbYh4WwKWI^@2Uph35&B}5JFWzmisO9L_&pHTcX=4>5J=yKa{mq&8I(5l7lXnVMPS>MVpGFE`&)j z!o)~7u*=ICvm-@4wPK{iIj?KZBVv;-Tdx~%Jq1r<>ud&#)M=1oBv-I4t8AImBOf4c zs90WW@mgwrOQz!(4AwXBd<_AElkjA)mjWoI0PDEssk&Q*j)P=1nR2$SW8 z#)V_7G0<`DNj0(jt$p1@jS!YE>zN`LgDAnV8yqSylvTl1#*AGw-%;TfUe)N51Pe(a zSBe$ksvG6wdm)me6f|317zqN+TjShG?n2^pcV_(L-zoE5BCk!>9GknRJBmY9P4P}r(w$(KqG@Nu8^UEI5Z^vxHq ze&n53Vt^C|1lT_CxLt8Ac_sFv5fkRv)C zW+)!bQ94y2NvUudh0a9tbiP9e-^R;(XtGuzyJrY8_P;OGC@)h7Qs!C6+?$w!@T#pdw6zdy8N1Vfr$do+ZmO7TB^pxP`AY-Z} zpG7A>bLZ#V>3_WuC`rrJV&dzxydnwX05SjBzu`uqSP^H|lS=um7_fe}_yWau*013m z8O6229*d8sNnyxHlhZ>XGLU2F!Yuh7TW!4J8G4Eq?<)r4C;zVRR+@luCds8qC{_<9=%pta~6JCHVFyB_(*!d#^! z30%2$_UXI|yDHr3rka7&;Vn9gmd*!#=w)ciJh~_wL1>dE%V9Omgul}+7Qnf}Q@MR0 zOwdM1FFJF_I#P*Qlr0Z!+C4;)7}@`WnC$FRsr(I4e7Iuc+FfzwJcw68PmH}|}@=Roug$)WtL z3j#>7v7;q{MuNR~0=L~&6*0liiVo@@1pAGtZ#gps0lo5F!AZ4x7MteU3zM{0ZMcgD zOp(c^0kTMlh(T#3ye({1Z31abX;!TzJ5m>kb_iYEo9$;=*~G-1HQ6) zzpk(43>-CA$>p9hW}Jfav9D;g$oFDA*P_$kS$U=5vG1Dp6tl$()l(Yu1nb2jD66s& zi=U+w>X`S`JpXEM{RRk<(<)u~)xQYGF7t)HX}Z89C}!px0Uqxar!c#VjU~|m9?O4B7rE=33NM-$x~Ov zj5d@f_MylGlt{NoXPaoJ*V%w&?bJKpuiQ>&gHw;Z!h!J|T+&x9(#-zU+^ZBS(58F$ zWn6qqFI*Ye=NTS8Uud)An^S$Aw2RwjmkSurkSe*8XsUm2_^5jJZLyowg#+3%~%?aDBxkHS-vs!bUE;wR_+yT5O`5bV^Q8AAN> zc=F{7f)SJ$G(Y{CHhwkxj+u0*n0sets{^-AyiAyLo3&(NI}rPNU^tlPlrOAm-OaoA>cL?{UqO-ydjwXn0_U z?94(|YzOV~Q-HmeU7H>F_T7N&PMf#diR_M8U(Ca@z=_Q@jGkTS%_R9#XHsm7=6HbE zYu-!`pxi}I*mM37d~iL?d6*>7Om&s%$SVf`RM0AAgsb?&QV0tM{m>Dv3L*@evE!=KknTlY7rIh zM2gz=k$Jm+kV(hORi%M--g$1a^K6!!+CBCdLV(j>6{T;|g0*QS|~U4-tbJ+`az;-j$1B14WV&2*(~cQT%$IBOD5b1wlY zA0@D)J!@!scNrzwDFh(13zOEioo$%C63VcBH9p6Nm3=yMBfmU?3-$H|9{z((Ylkn- z2>@bgui`T&MmFYq5ZK{^=s;GAmG^ZIPY3cvNVK{uufSwtu0Qopu++?-;)YqSh!#17 zX=#}+=xsTt^kI;Vrbd@verJ;5$gdBpazstaw?Bn{Z5T=nM zkpjRumnB9}#0S4;%Qi8#i;fpP8lJjo%j8Cl5;!!eTMF^7A!10KvQ-KV%865K$BDSm zso+WsYR3Q6?~WRLu2diU13X;d9*gZGuS$F(kgt(5|5pFgAx>C(hvmhBS56%WwGSSt z4@hWS0}SF0)rLCU{S1PL%DoQbljxI%{0)hcZHV+#+RoD5Pt~1Q-*DhW;8N}q=e>MF z|A;Iy=X>~7B!@te1z^WLM%o=^a-{cH<%{#>lKFpv8dIpht9*)o1Jsxr7&=-Q{YOxS z=ifh8^dG0o*!|P)>t8X}Rcc{=ID_c#nhUq?u$#D&#P5gtG*D;o9=5-9znaD)c ziE;765acLuVoMNi(u`G1h3t%cj2v9JIQ)DpySR5lQo=F-Q%_e>_AB|xvwlyC5c1;q z+u7SNVMk*_LVPnor|^NqVrI-Ij$<{9&lu~`0=G9L#Gu|6UH*|F@7x8^Y`9T3Frxs} zse8#o{WN>Nq@FyoUh9r;yze#{Ov_r1def9`KwxHRY?2!@ALK)1Gvx0VwNfo$xb7mX zd!dx2*cge^+2hB(x`?y?VQ?Q=d^SHSZ^p53IMmuf4G0~1WJ)+mEWW! z3fRQA{(ikA`oMUhk<`yvm&v4&rZAUmFeODOWILs*%iukW(NW5TT&9UpqIAfF+!7V` zyR*GnLhJDNQ}d_)eBn$?0^aDs@~4CRTdTjcV-Q?&RaJez%~f^B^PHSzKHy=t%B4W5 zl^zKO1z2X8ZYfHwUM?Y_V&nAM9Dd`BHJA!X@{G`Lu7&5c95JlVuy8(Lv`H!1_C7%L z^t;~$jSMBu^+jRq5Zx--AmJO6ZP_wrVZ^CA*(0dGeT&xF>>iEoz~FsOtnCu-Y!eVA>x`3>}|BzrFr zr(EWh#Zh~!Hn~xp<$W$e8w2ZIe=Fm z;AR(KTdTb24Ey^PagP<(Pjam z=Q$_sJ%XnkujL51tqdFX_60v}y2bzO%LspT`6_ z;d_4(0s>KaviJ)n`cJA@DpS9u>DeQ}1iC zo7MmNF7?qS^8E{r#r-f#{H2JwPzQ(fFjEgm9m-1kk0}&EGX}8CAvaF6ih#8c+Qx{s9-a~Tj{%k+UpE*b7S$bV!P*_5&PB~zG&U!RPl%z)Ji1Y$nELWkLU-Xk+ zl1(0IqhC}cPdwcc;Z&gBThnv96@_A8dx?KnhzcR!cs?(u7wmFKAk=mkfw*N2ZIWI! z4f-^<<_Hg#agX@-_=f+m8pW|eleBgLSa&VB>w8+-9UsQdpC~%7lmG$gW~7da zZ_HfZ*gYwiLMW-@2adrGh2xm=L2~BXbx6t9b}g*QhqP*whSu#lJ)9`IkzCh;=<%%J zX4dd=1*iYXP6l}EDtUf_22HfT8y)!m4?X^0FyX(tyo${yPC)WSz%|AJ4_!yfwU{UM zsmlwq9_?Hs>xBjcNGM*UHtMm|dt;12QIbTEKBzTKhIqc@B}~65WL=Dcrt8Dc!)4b! z+1lCVm_4~JfBbn}-u|*wJ6vn*2^oHhP@92v*=xpnLZP-$;SbR9U((Ia& zugVIs^R(^R{O)o2TXub~dhXy|q2E5U+|IcJ`Fof^wYAFQSi?(kHJ=(*^ZU>Ja2pkb zj#sZ)-&m{5wjl<^W*u&I6Ts9_I+G|-NnDQ!P`K944NG+@IC`AYfGo%kSU64Ffn%Rz zz^uhR>BxIyvrM(9jsFd@c^tY3^;@w}*-TTX>bJwaPk)HRA;}9557(wft}hj{-wsct z7Id+D`2rVC8%$EM4=f!t7D=^@0GBHp7UzS4dFsZgSfLe`5mIDW^QjUBFnaO=cqNiC zj!6S4jNi}h1aDW$1$j)h4I`Jz?~&)JDSbshC!i#NgFZ{anlGUxSZG-&S=|7S`hs<@E?y8Sf`#Rs zJcN{twM0MA2Ij~QN+}}iSLkN9n!J^-kyl~2KzhZfeLf6`LYm74Yki{x8HyxMGj$aS zdj3Iv49=NUOGgrx2vzm6J=4gpiK0aiBD!{xA9=}_mLBQ+@ot2Tg4oF>!mC?A<>l=@ zv*#-mi{f&c2ApT{*18}$JO~*pNEwDKYqx1rfS_>gqw}(ShIqtzvKS~n-^#PQgJ1vT zir5FdPXR3=XHaJ?H3v|~oWG$O3n*d3$yt=d8I#gazK7LqTQCOYoTx3p+6PB6uM{P1 zu=jD0ix;09tn{+H5RlU~+}w$qdnaYeA0nd~G>b7g|AwqK>rTJi&1l0n-QEq^7OXE> zE*9(@h5Den3fiiP70tVUfyT^hld2FM`R&Am+6g=fXoU;s^b>U8c7~WRS-?;BRQCwE z)2cMRdb(lQu<0B$JyJmA9`2wh>5W9@-eDSL)Gm3(N+;SYdio0=c-K1Zdwk*pj=#kR z|Cb{FueXSQzCJdoT4dJp185(&#CchqWg|Tr8?mAUpX%-tFkKc)+fBWqPH!9qGa_l7sOtwL`Fi z&Dm}#=bO|SE@nW4ii)SZxwkZax{P*Q;JtvDt~sCaepb~EG+uwg?ejqpyxTWECN}Z2 z;nSb-^P2HU*@)xIX2WKpG+xWbs(-!R-BWa1M=%jd=z=mA)Tc{ z%tBdhg@;&lL+>^|3bE&{)(}qt$;p_icT%>vDKlS21F?BTOmYhq3(5_v0aSrMX`59d zpyy{CPx+1~K4akb5>vpkim7x}qFgwC7UC3VvOygTX+V3?h#Uj3!M2r|(qvpag1Rs| z5(L&7h#KU>@8eu?#kE7^|21{w1#t#c{e~E z8ltx|o;sfjlYn4WD*@}v+X_n##0lqQmZ!cqd9LSOYm=`g^h9FLr@G8ckR0?y(N604 ze`gtBSUkEYY-qQcBi|*@zBk05W`4$h^50!ccvxzdu*oTqJ@l?PZy25YrIyV4vy}V8 za)y6^AH@=Q6lQy%6MO2(=)tR7dDXr+mmEc1oP0~Kc$tx&eJ_V)DJex&EGbK+ezS)W z4`(pE!I{;31)H>u83DIS!D}~YT*5a$Yrtz(Ze_}7c;(HAad@~T;x=GYk$=shj6@HO zS+9kT77pQ+|6v1;?jN@ig{IfE-Qy=Yx#%}`5;Up*xkXO zMu~8_|ErhcI3>x8Q$tH#5}B=!2P*ZaS57(O zgi<-mRK|>2WFc3%i82_aoXbP?(+-qh=Z{@0&Bfg8B`=$Ei1qf_<}EX=SL^e)=0}kA z7yUs`_P6=@Sl8~nECvNpXSHEFjz1AUyrn)mC%%iF+oNsIrWpI1AD7ynsY~<-`GXDl zP{5e4_F(B*f!JiaqSYPM zZk-im^!H!QZ?E$9TLs)V2s$+hv85+j9STCACK|SE>LvxI-SIO zTLbY3mwIDyRF+Oj%k$A6%Sa@PF_K4)ThwG*=Z$7qEy}i;qWtVz-wr?gZ-B=ilklBy z)N9_?P@Y>)*}1gch+y!~d?=0MPhq)T-P2%~Pd-E^Kdz|-=Y2kn6S5ehZde|C7o5#|^aH@u@uOeC z0=Q+fOJGBHAFmG(FLq=FdTb|6u|c~AeaYe&o}uj`QyHPuMFIypjf(zWAQ$qIK*u=s z-az&p$Tv=FUUHPtO-3&I0>tH!ZWT72z4g9Q7bcYup2|;;HbSd$F#^Nf=ZJyzeB=_^ zE7a1C-O60SY^F*H+BeJcIi(V#{|ae05w9&epZZn6XMn>9geg06-cj$J4tU^O_S6@6w5)=jUqFnzk(#&~%z6+v#> z@Pw!sEggQ>Q;|~{Tx|8`n`DUW211~$BG%!vHWxOPhay~mRXDwkQ_%$~eoNSxS8D;i z=u~E@8cYODmgUA-KU{zAq?8so-#h3}hxX~LgEE2Yl2kq-%6)f&Cqwhzw=D#olYU;{ zIDAtQ?1f_REpdzYAwFP4u{g;R2hML%uTbK5F%D;DF<{`59}h^LabAoq$Gp*eKes%3 z2ZCXkI!x?wC`2WsOSkSkDmD7@1A{ucNXT+Z40dkZfKuSiEe)lc@eV?@OjI({bI!S* za)#2Q0q6}!5XiJy%Hb95dEsmr7_Z)@v5xBC9ggMmz6x8#{ZQ{ejkTA^m53nH#!EqI z1Q}DkFK&WSL_48!bsd{Uf15NlEe5BfO4}=EBlsv`s!we#$fX0bQPS;OA%RLIqKLgO z9ted-*lv(FV!yv_j=f?K8h2}Xt7~D%jY90yv2qR!l0o(js|5kQq=3Drdu$5uLGome zW`bzXyMa%7SPhTM&WWUwN4=PweR3>nB-?P=G<9BA!DwM`rG9j4T*W;4Oo2WPyA6YP zDes)F>LSyP7T$|MATqPQ@(74F@=$T0Wu*W52r2nH`})o?bl)Jdyc<4|H?c;CWxhka zKu(W*GV=wIXRCdJ!W8K37F7qht*m&&Pl z*-493%q(nY$$k5a&O-oJz4Jy;VP6aw62p-mETK|P|I`%=e*i#ex&)C6PD2$id+`ke zSaY*$_7^{izEv=_;&U(7gkM^xZeX{bK}6SM%&mN|HxAc(uxOzzb68hqxmNtCE;1(d zxB0$atc2BGD}TLV2*4v+8R!UUT@N@`2g%+w*h?^5`SVq80hC$%xd$w2c}5EH>Wd#JfX#qS)e{|$@@cgoe9?h5@UL)88E zU`ca94afwz3O&UqVnU%aaRsk1qPi}ndxl^OOo>*w(Hm74EXkw~b$;U;X$H1|o}c|b zdmJP2DI*0Tt0US7PH?aMEUfkdc8>W`e#DL~77F-TeQQ)I#SDA0JZ2zJ0?!ymJ{b2Uc*jVyk`gl9=?_9&muI&z>Lio;Y2t;>`m~SPxVEeKJ8Fx6wZH$*FD&#A ztBZe8Jylo#0$U%OKO&*)^vj#+s!H_*s)#@|u(ik-zq8Ox3ez;%a7jY|(k2E*e;7V3 zUA=a%cXdA$@idM-t%`k`Eg+ui&DMOPF3`R&i+mGV9htA(uWiTEex@H^W`f7z92Tj9 zRJ3NL+AY*w`LyTg&BsFXqBMckkrulOCId^0wc1-(t}PvdwtX|K^Km@@%js`Qk}L8P zbvHdDSTaSMFhB?;r!gpS)=IR;TCbw%u@dRcS@b}C8|ZVund**xY#=kPUXUtAWMFv! zRi(`B?2H(zizaL1jdI}xT}1_|gs*zJT)Ibhd~LS#Pahs=5Qs83$(JcD0rrwgXxfbu z&VAKxHO70OYPp=&(txo-9|X`#jXX)dU;c1z{-9R&$TKuAzs}-YDAE;NE=mS~D$Aj3 zz@EnE)i#nbh{kD)_KHqunM$>umAPh>>$LaM2>D51J$=rCz98z9Y&bi)HpxJThc}j^ zH&%R`O_wJ0a%FdzZKFTd0__L*=7RW#LWq8%A|asq3;HH#!8b-=!!B}ZN7ecbwU5D(ysC(D5(DjI~sp8%hfZM>~95FZr>ZH;1&uV?eSGG1o==_?6`v;`F zSZH*@UiJ!a#Mp^9jZWjp<9_=lgvCn}zs0&_n4Ej6jw2G16Ska`H9(}9IxBl0=_fdX z#@z=ogxKsL*1+gVv$$Fmajt_wVaK%4#lsw}?pidFhD_L|Oc8C8%rEfSb5qZ7s-wF! ze2eP~=Z0Sc;Tky5`G^$mOTUyt5h~GAY>4Ry5d6m?#I!}Zv=Agl=pw(;(f6|<5^1eN zJ42PUy5JkEcsGPNRkz2qqm^K>Z64$@_3qR4qQZ%F!j##^Xo% z?$3M$^kbp4aGVyy3U!F>mIUl-Jd+R)!J(B)h$r09aK}nKxRyZ5k})5G*1agTbHLUo zS4GEQFL6%ls(%aT7~d4`)l0bGPnIfF8hy8>%h;3C4=l;sj23Fd2-?-3i?Nh;c%>mI zi!)U$#W)`Iuu5wGGnPCqCrD}DJU6bV28~%dn@V$pE(W`2k%_oN$s<&DM-#ZsWcR@F zW}^4T9|b7;&7%vYpxQlBYXme?;n^?~JI^%6eLsN-nfB^P zeB@A0PNdi%+PwoR>W3=Uv*nHEF2=J|j6b>9BT{~B->h}2dhM3fLC6#eVRN6>l@_eE z!YZvqMXUrO&itqev(!D8s$OaWdH;nBv)mpi>%9@HcC$s#u3=r#+A+vGeC|$w)W8mv zvFnxo>eC3nwv)R6ks>e+g9wuMwyfZ^!&Ux7&>BEbUobbUp}YgR3#xaiK;9Y*=0Lk- zL=r{B=s5MNjpQ9#19ptWM;w)!>Lb1OJP;|RL{zw{E>TEGJX04Nj^K+X%y+YgRe86M z0J<$+{zjUZbi@319%{?)<5F4@Gd%|=jF~RJ#V!8$hfddT%rt@dQ|mzXw>XXb-xx(~ zEZi;rGuE^8zkRBpovn$CiGlTB%7*_}kcrG+*Z#8wcByKpp^2frV?$u4D8q{%jKi}@!al9`)$Gx-Ni9*Wv$u!zZxNV?6RDNM9dR2D009LV8K`-3IiH5&PoPf zd0BL*BnZycP)AZ7w7HCiD_d+%?L;M8FI1!S_t9fXh}J|M(DGt5BSq9&CKF49tTb#a z{v$ADq0wV8q1#ev;l*`lB{zHw`BOWbU-=mEV2Ed6?wJm}^!jpV@44hERm_=PB2$kV z>s-D#RX-yAe4S8tg_i?rT@rpPv`qXc2Z(Aa#DIHBM({aJU@v4!tQ((otO3C@-=`O? zGxYp%rCfP0(h19xPt7TC@4Cv@L7TSF8ApL><^!oe>W!7No}`E+bFFN0dp=f31R)W(-lVp`URoNhIa zWVog=iUv1QnESbzLxnj+G`uuvy`06J2}_!0Y(noUwGzzhy;C15Hl8jdpn;%t=g>JB z)Ldj+vs6eC{LaM#1o6#{eSLDE7bE`@cvvbUY7_^qmh$5!ys2Ig0lXmK>1xGe)yPWY~!jc-7VeQW(H|WL3gwOc9M1w+;4$yh*OqIq?e#Y(GtTrp$1I(VrFsl`~N5s5jp z>Xc;66*AkXPmIUEswZ;r@TvlfU(jyhq>tv(eSV~U%Vjh{jx-otTJ^JVnnmg;^)<O3shm3iM^yf1+#_%&S;!B!k!Z z>_v}f(o^Lqb~&6bkS%7kRHZhidf;G7BJWLq98$+7 zksF2jO;c9_m=~n8imK0W16sc?q?Dl>M)L?yaY1t21h1i{(Z~ zRi5MBOB5v5N^Y_EDArT#d#j>=Ob<-~_tu3Tt)-B@Z0 z5+KFb>I0GPoa+$hI`OE@)h19Ul1PGXz49xn2$gmMYI+c_)Po5ubfpVvsDurb74H85 zsb60v9sb%ky8o?aPxAlNasC(G^?&vowN*D9HLQ;)T93*&6mB|Nm2;%b!l=xlI2KLO z`gtTX2g}-dB*?E8y^&%@CYiI5)KOXB=HuOsG&Za8$yv=8u}I1--=!$Q5OCi^`5wa{ zw{|kKd#N`9c5Z+d9F&URx&3iY+Q346_%~TrTTy$JeRzm>D_nguucBkn&Lkw)ujc#QhOW0 zcV8ZsdwIea1t}W(sKBQ6iEAa$in-4?W)%uFYHV^O@yujKaywly&TCb22|kbPGzNuy z92@?sr2jsNDfa7yY6N)heuNd{%U)R?v}vb!)yj|RP?5SN(LzeJmO5b`ET}3NB0G|0 zhhnY#CHRVy#WR)xcm*i7fxYBTyPTNO3d|%e@KdoRN}7~7k%OzYb7U-t8n|JzR;b0Y zvojet@3poB=7kziH$yjH3bZ3>4`tEjVzH7D{q%MBnfT)HTQGbN1)yB}mHX>JnI#*& z5$52eMzK!1M9G3P+lhOex_T|nC=@UjCZJFst2{`39#n<;;JKZ%2MmPEoft^t2*Wf2 z*=s5s3*+BG6^zibqM#h%?`qygbGZ`OK?3OAQjwWI^^RVu07=c)@)GN88SB7 zAHilE1VppNZsFx-swy)x6<0f$%vTl)jK!%JIbQcVgAL#6s=g&ram>@?Y`Xsp$|hUt z#fm91E~cR}V84QOlwq7+@zGyQ^`^=xc=idy(3A5}8K;cV{)rO%Hc%MP{2UvAD2Ujs zm1NM^uAstPsSN^6_+1M%*I`s4I;`!R0r-HvMLKEiAzv(!2 zZ=q1#^q7@08J6*_H5B=dW(s-)QA!@$W2CV#AEkva9Fl~_2=O*qqt>M#_b^Ews`V~B z%^OExKcDOwz*pTfM6tAR<((0qGaVNHLFuiza5W9KXsbB-yiqR3bgJFFf}w(YFLqNJ zFuf1kTUv>$*M5XXTVcV-LymiA!qa^;C)pBLgdUOji0-YTe$zy#Q5b(4m5kGxY9KBI zy={egQy6gXUQTvE*)-y%FJ<@#9`~KrTT5GL8#;cRPH^Z+^9N4eb|we1ezZBa;WJ3K z>WvQ%$?gpNse|z!`M#m_Q`Y2SoXMlfu=D9ohO^=4umFPH5^E_d{JMZocNIQ+C1-P# z$Pb|e^4%NwGY*S78@e>tT!nlQ!yZ}utQac-42Y7DD)%ytWxq;jCdnI4vpEGxryt~LaC2{+?bA&GPf4-sQ z=)CV$J@e+&L4dI77yR4~)D?_t+y6EU@Y3#-H+a#k>^n!*6H7Me@2;eF~>w| z|8{g;y5B<<$sc&-exh+(YGl}I^=*r+)Wok-O}b;>G4PhhHT;yd``!I%Y>1rE#v0cv z{r_R_tE0Nwo_G-@rMr>tZUvMM>29REyF}@3m2OZ{K%_wdX=$VzrKC|&Lf-je0T)sH zy?@?XZ!gdFc;U=v&+OSVvupO}M;mo@s2)2EdY@bpS5o`78zY_H8VuKMh~i&ugeCKN zzd@NE#=e>^qo=9La1QR9%*hq^2SkE60BU54uxL%uS(0PtfOXNk!mm#KW zT9D~M>zmZOUuu%>u8G9F`$&ElZ)5x33w0N7%Q>S@juO)dj7w>g5U;h!q3^7^FtkE#}e&n3eT8(dsWgVg%eED<% z-VPImOMqFxTp8+z!4y%6yvf>)0C{^TW@9Lno-JNMCWlN%UUc3z{}S=aZDdhC%MRhJwVX zBy&5T`-$R!jx9=h4b1NjV+v z&7?Si!K#qaR@|MixtzwI#dGrsXPPTjQ#M6j-D5$?>kc0^Ocv4zE7TRcJ;}X=x}D00 zNRZpu^h$2|49FML;7KpW+gWYr*ppmM^66jAAeR8sDSZpYMlrtWAi0Lcp=u+jVnr6p zv+Yx;Im1ReqaoH2V4-GP|EAT32iXs|(u_s9nYS328>)ihxXR;`<`{;7fU?p(>9fX_ zrN}D1C}Gqt_F*O>^opF1U}+YAgYJ?tLm%2#Cc`Xj7A4HFt>6H~Y@ZuTDUawiU;$qnGk>UOYuT^$Ce;G~Zp`uAZgbdyK^`tWB|V z)r*B4#vMD)7VZ1m-z zyY!i%T|Y(_vxcJB(~`)JE{S*0EuO>iE8Gdvx^N4wj6vJl`yH=W-q6k{RC%b(%c7X* zn}^&<>^YoRRjUvznr*94CWFfkjw9seLqWAR*Jws>*s9|$g`lrth>?|7v<#c?wO<-T zkKnM2YE;CPk0s~+lH?(*GVwTW+5$B`(tIy-96$TlKq${gy$sN_UriY{$9C@#Q%Fm0((16=+M8vr+=b$VO*L?QGGu^x8EJaOFbE%WmlqiUZYC_sN8N>JwhO<6nC=9NSg= zc0xg;@7-hVmukWt?z1^4s)iic?4pX|skW9iC7FH4{nK4`aYu@3EbDn7Wr zm1sF5&)3Y}p+Q7%iWKagY~T{Wvm+=8L#>KRpJ8=@p(mUSEDvbf=f42`b7 zwVQsZ&?omOu($XD90F02Fp58RR2jX1-@Eq1)nqxX5g`?Gk`VKa+yIYu;c^9s`y4)L z>>MIDlz4gMX&+u!v-O^P*KB=8VvmGRfY;ut3>y8ImhB8EOhe?8H0*h z3-54q?GU9HRU87T(Yy_loTcp3t>Z|@%djTU1;;IsWdlEi zEw$P*)78AFv|?g^An$v16n@Fr_jR~hsDn;&r6Kk%_2@!9ecoK-ihRcb=It76Pefi5 zDjHl}-)tc$gDlpGYqJcRDaly@{-t+D!_fW0`lKB?KI_U>4foru2t5CI+kOkYYSHO! zGCkvt6R~P4L-=IKZPnxUk%fHn8c#3B7wk$W)b&<|`?#dhi_6`@s=MindRVt^N=4TMpvpFHvYRIM zn$)(6D2B+qW;JjaWqOS?E7|AYIw-yS(yj=p#by>ks!x{s)itRC6#Kx$5*U6PE=}Q~ zmI6`7IriG{i0b!TLeRVjUyts-b%f^-A_Dq<888L>`!1?@(Jm?iWZeDMLk(=@olGo^ z6pU@H9E^;QE?_*?N8hNxIH3-qe}%l-{O}z_5j1S(Ev9-$d3~`#U0hTjOlu}A{Wii&b%mJu0Q5LS_{k>+wzOpL(^lw3F;ZiW`2PAikd< zrFYz=!(+!|$8BeF!Sn0;q??yTX9;12`v)}`EzE?w7@s}lL4S=MzC5b0lu}mW$DRST z5OUQITfzu_!rsgOITue>f_zoMm|n0S7YnbM`j@zo##v?U_*BEt| z5%wgK_F^54Y2GA-ip=3XGkacWomu^y)WIS5iM(}62P67N*yVOTbmzzLJU1N5@>tLu z)HzX>-!>GOS?ZW8C6r)rneRwe_y<{+&*xf;EvdOWuGDx*lAzy$%IEfw&BLyW#Y{3Ow3)w`9-?JT2_oq8 zr^3lz^d)>_rzC;!*Emw*-S3`-dAWLs-PCyp*HR>5+dwY-_SGQloi+`ra-sE93-z)f ze61C%8Lw3+(S zhn-TUOLp~Nf!twI>QobLW7&*e@fxcR6Z(5TUJd>_6L*zS5%ydBtgfNM8;RZbWHt+g zz@He*WXnlEEJuSHAC0A;%xjcul|N_9O&+bqata@uk(SJ6FsMfR zE*LTFpb4pI3%==XammIO3gK`BIcruo;e`+0h4*3xVVmXx3)vs(k;GNsS20md{!&-{ zaU~#j_-SYVW8!Sq9SZ4?6mj@ud~t+uJh5y@_u&9Z2Niz;f?7pyT_@UHT~7#X9lFSo zIYVoQfVGb^U<98U{Jq~n;{^#e5X+9Yy%kt|>Wx`if-Kq4PV^|CyQg4Q)F4!acn#yK zZsZj5%68exV%-in z2%n3=%!sw#48_Wtl}Bf3EG|;98X&uF@84+o*be@7I_q23F6T{X-qnZJ5F)(lBaW14 z%P}tROA%AN=bKa|=xOMKDrF#~6RCsm_nP?mu+N97Z)G9&$8Pesr8M=MpYo9NP zyr#G;emMpP2zVtceAvPAqjG8;$kK@Tukdn5Ip)k45ejY^N@Dll7IX7^uceK@qr$Bg z<{#MQY#(~X=}}w@4;h(juzkl3VRp_Wj^O6xY5I`T`9;etI2bh4d$_dO^aDi%+S2pV zVr5cjSJjzQnBHIgoIbs(_sWE9aJ!7RU`(tfjY7x`c~M}O)}h@?LU!<=8{?YO4PShL zH3Dm)*mquAFAw#Swr6I%B{>8p??u|Nvd~FqIo0=IQdBtIju9>6?C>ThS@o-FW09)Q zFo_Onk!+I7qrO8vpiA(rO4%GHXq_<|`!8H1r4)LuUt%#$&B<`*Swt)XQ>> zQa|FPnmvz}f=AaC+@D50nT@m_@Lvx``v`tl#w5I?(LcE9(<5pJA@1>at`@67y*0`k z0@wC7u3()w?=HQuvchG**v45($KiDU~=5Yg9C8b<J;6^_KxOVh%ZWlW-aLBPGV9nPg${sgKlmPDdW9-3O1$12QkpvCXm%+ zHr3Q6Qg~-bTj}*-K;jG3+36wO8@#ZhOP5w29z4hEZO48?9(-ubHek)jDe(k}dS{xC z{uSASXoa#!i#h!Eu|;@RU~)$2^JVz;jHi#8dSq^G(ZSWhc4vikaJpl+xWwo9ez(RfJ_{InY_q7GWSMQL3TYk<6L{r<2IVKP1k7`g{X&lBAbkdAqr6i$PD zSMG6cE;b{4uy*n=UZ^!BBp{FVM-sUC6!kI|$#vbG?tVJDCn6YjF~-g?B1F&YV>m

U2y?PAfU6KDEcCznAl&8-wX=;IaFqJm-dkVApy=t(c^GhH3fnWHp8CW+wU z6#RTpBH}ygvRq3}G)Yt2)0KRUXpQ?anLkp4JE5S@foYg&2A65jdr|A{23fb|3MgP& z2D}h*`AWf+RhsM8)dR^b{DCY~cVT$Vv%Ot!-mBViaQ0PsIcHT;DLngv;Qg|{X>P2& zoNlF%ZfRx6v>`2uFL7PnMx5mPFp8hBkna^7c;OTMr}?kekz@QkRnw{~hN(()Fbwh;ucm5Qa{O)PA{y%j4F zg0syK7=MjD7z0TV-BUv(EtCx>nJrN$5vLKyT*+);Yta6-J*MpeRWyw}xw2mj%3GAa z=oO2YKKT`khkgAqK^WWuoe7yAXbW2dqU-H|n+HqpfO}>tex*h+d>FaW(f44F6o$tv zVuR-MvWa^^e4vM9xqXBTXMug@m%()-c)Zmv7|5ih zQ>BZ!a77y|B+Wr{L_xPo7fttS-g^xP@D1hvG%+!2iHQ7VK84}cAJqV|A zYKwH)w8lXiYK{SX z$cKiDHxy>@1>6*7NLOoZI(rhuAlGl{lZ7yb`A-YjVe$ERZKOV^UqE9^&>?cmDa`%@nT45n%as3p~E4! z^+VWL&{c_?Y+wS2RLIt-)!}AJbh+Zw8O)X;xu{jxE$ZI(FwJTgP zrHaUbL_Tz0vhYzQ`Yi^5gl7zUeL>5yS1R@*7KQqBKFoO|?QRe?RyK!(vKu7gT9G%A zcQ8uS$iBp;uTwDF(=4iy&sL+u1805IQ5y&mJPxG0>S2gp-*ZYcsi_Oocc)~dDlk@K z+rB{)!}3bvS?#bq1|)1%rI3O2s^A++mTeLrl00a8K@c6NqtMu4wBqw|iVwDp#vL3RMDS z^(@BtFlAN=8e2cd)fR5~Mk}Qsu80B=91m39^NL5x+v0%?G%>MX1p3}Xn>j2L8X9M6EpMbw)v&;G`R=Tp}uT>{g*36@l|!)!x;Eg>NWlLtoq+xN4!+t zDYf*DxHifCavU_9-3!y@Swn1BNxk{kHDzTi2I#Ne#Kmc=Rtxc3>qiU@umSJ{3(d{>0js5hd(xxZXP~n2{pvYTq}Nsp{p76`Hn4XdLM0 z*%GL2GS8=)-wT~cs`_{%;EDAEREtt_XQ?!NEvk38@%R}`Shc0W_pkF;8CR>rs^&9S z@n3PkL8jsiV4-(HG78)h&%G=QLmpsPA=rF17xfWLSZdVg)Hluw`-euGjWz9R;Vz zv|PANNh9F_F6yIX9aBt>WF4t{AM3MUU;F!{Iy z))3mH*F@ovw^QUGkCVTZqPwDNa9@eKZ<#Ofg~;qq)n^gJ*%$GRvG)Ac+Shdg>Nq_b zKZJ@hrN|oRP80S@#P+B)joFV>2aoe5((PFbQ$os?$|zjvy85P(EwKRjgA!;&h*E4D zu9PeKaQT|5WdP}7q-gHoRLdhvddtee9Y@!@!koLfQa(W9qOV<#z0Bv{R}aT7n(|an zWP9!?@E4QOO0z@S0WfRe@u(! z=jJn`%~xCu%jR8EIw=h=t5!#Kc(+8oBD(E5e2)!!%hw~%Bj-PE@da1`zjN+RE~>v6 z%3FUwWOJdsFFY3^eAY3ZB)Mv-%S=d#z7cq&NR#V`(D2H{g1+DZqD0pqWP7-r5*k~L zMCxwC*1^ikZCr9k(_KgNLDJN49;|-$>2-UG_BtV0myIZApazbx){=z!oI9T3uJ4 zBml;!AY(0rAw_H_q#(&&-xL~}@A1%!o9oXRU>>u)H@*Y&QHVC3&p4<$#a23N)>Qo)A9U6%$`lAQ zvO>L#SDjRrk~VJbWA&CU9rsu4R6aw3Vio+6sY{l?CiMbflJ@tLKYw#Z>!-$?Y*;Z1 zYx8eg^O6+ItOkV9c%pqiHk-GVz{7;2NI=^Qn80Pl_&1W!;-Z*{$#C#5w*>Mez=as) z7bmgr=cbFx$mYzl%yKB!ekv4A_jM1Tb7^MTnY5c9cUzeATt9>;@gD*kY&{^qpA7clD6Ra zD4f#`5pIQBn;2OSM=tyI&hH1~)YZda>c!r{>L@d4w?2GQd=-ZBtIzDF;j4wd5F_Tq zYN^NOT~416cFhV|u!BDlrin6}uvR7>>=t^>w%2OA9gziDH;fYuzGVcTg8L-*;|;aJ*ETIpT6EYb$(2~@DgCGbeYj8gs~r~>Zn7YVG) zIN_Qe{=2yGA*n)B>DfW+SX?}5ss&a)(bs&JEoB|O!JeTNIgfiXepH|Pa3gW=nGa36 zg7{PF+9?l6xc1hU_ImSHuWN<2dDg(KHa9LCer@PW=x4`G4-vB|68i~z`lkl^IUc_ByLRm!VutEu^$y*(;e5(r@&WuEtQSm_@jMJB zVWt&+2BT84wxKOm*DaRG##jfiHElm&H-1bEvhSdumsC%%gJASqy!e6?Sgo@sE24z8u~3dD*Y()&KR z2?x_gSL5!bKDvp7=fNBbdB)3@`FFhJ@ud4-eQoNR+m z=Oj(XUWMzN%%5S-gk>Pe5pOKfG%wf1?;Pg<3ah3)AphzQP{pw4i7hO`&nW~(1>T*El| zZQ{N9D#9fVC4}ziM3O>frh%XiXA8PVC1S~<7S&;JB;Bj{IssN8Wm-*7yUd8C?!?UW z#P3$+T_+H@`D6)EYb(&S0HY(l?#r)%_iKGOew;*DAOMew{N*g zEUZ1e?|?)@|JEs-c)GL5OGXa+66(j$7*W!wG>EiJXFiG9RizqVr@;Yz=i2SpR&In7 zE!Er=>#`biz8{DB@2sn!5%z@M$=&W3Vk^^mtEb-<7t!|`E`m%C*&SN(6@f(g^IO4Q zg%yPhYq9*HUY0n|Gfk6M6|Tg%`zw=UeYIe@g-cV={xT*@@_(D8mUI|lG2rhO`Rr>@dPyK+dlf^vv6HY-G zBnf}4{~M`r6t~WZ+WOSM6xY_2(M-T;VVvYFloP1>btRbUrZ+Arj-~=G0i2}C=^?!=k72s zTd7_5R~!|s64(p~QGK`;Vl9#6H(R0U$m%ihByhoEEJGxrYWjU;L{3dY{o$46UKS*{ zseVc^ZQ-d}%!fUj6b_%Jp-jJ+fZ0d1>+Flx1~3R_kbJOclEu3Uwgy$i)4^%8&XB13 zs*<`(*(NRMs}N~ktCEcgvT|-kmCt+62+}+zdmX~(EdfiM2t8StS&xTh6VoS6T)C6@ zI0~N6LNc}03t2JbNmXF3|C6qM^TfMJqz;%? zSM1~Ntt~P)uhV&9O?mo3q{3Rkyu1F1k5zWepZ$Zp@h!l2#spn}e3Y5NLdYLh8}8-qDVMy>}#DK@%ytM+|%x%pO}}?zE?f zo1osv8+b$>_4)F?Y;*M(JdT$M|FD0Y+uFF@{N%Ik_dDS!U|KWCjeb^sq!frDVz|$HYqxfbz3~hVsobIz z7}2z!$TTrv+lGFWf)L`Q-vVwT3rAFZwNdI3N5GD)VJSmfJy4 z!|hIXgELzK6JQbL4$D;J&qGC~LERe4ra0(?#jwusaT(Wt!j`Ql{rbhb^dK_7tUwoa z>R}uq|ALIcI6EtbIgRXXrbf@&u}WepC?~9CdH?Yw374TJ>b0blz8hOz*{>-+!o6WX z2(IldqFKG$hu+9P_L<-5iV130)EX2^N!_@TT6!S1>x;HWj{}lfun3U0jEzb$3BqM} zh3nx6`j-0;Vx9~Og{HS>2FP%ADl;a)3`E>E=y?3(?rvBU)58}i`Z*FzS)C{|>`Ki1 zJnu7XgWmW=5YBydY361c{MtdO@lqx8d2*Td=cAz-ojDopTOjbJ2K4Fofj2Og1Jl>B z*SU~W$N2HlkNeBD4ZocUz7Q3n-%>HRva;8<2c0#(5JAenA*c)5++}wmx@;Gqt7~GU ztqa@~NN;LqWx1-@Yw3Lr&0}2|D>=bpb#nhf7E!>ExZm{jXr|fz&ZRPW!E)A-#)m6S z&sh>uWf%}YY2DF?%cKeJ;N$ZgD*qKP_CD8zEsAI(?H{LZ)_2=!%|EqI4T*X5igHPIr8-sF_d=BX9BJne>iar&F!G$3|n* z*AyWql%hu*muZ)u-zU7^^_&HAWr!^E;ty5MyoesN8=UvsWjQLppzk6Dmvmg4$+ zS+O&p)_@`Uf_96YA7Rj&Xu_udI;&Mlvd%4grrt+r&^BFW*Vz|$9@6a+eoA=6mF0}L zbO#X$-TjKc&HR*Nze9PRmGE>Nt$9U$bvc}O{<@>wGVOEQHG@y2SgRC^gZGzvR1aX` zN#g44oUh2OV(m5Pna$GX5Su}wLtjQp8EjIv#daJ~nyq!5$WOqHxXP>ODO5d6UPCbL z*=SJ%lh)xm`(-Al%0Qo5Y>x+lx?vA`a@?uC9GP&)PyXZ4S-cX77=w90T;b=A$1fsK zM<7wRwwpv(KZ5IA2;6Zch1UYSx-Q zqQgcMUgJu1<9x{#q&K^ZA&L<#OgZhRNKcbF&!ErZRWR7+`eBj6#vMUhdtU8915APC zFj@;9?IdH1*>a8L;)bLZe2f${aoo=TqM&_Pdnh6 zlZR7vC8t$3Ve%tx(a=HM;QIub{kUwfxfj^KGi$o^${2e~qO4j5hn;iS)4_GFX0HP8 zIapTHzzrxatKdqNF<(a5g6sJnBZyDqY(u9owG_WpT!-jDCrN4S>*91ABc140_Sw?g zt+`41epnvMpN%%@jV&u7`7^vGC5NCx=I1o%R)oB2IRy;;D4g%x4(dEBC3+#q{Bq(T77sNa_S#tN zTmDNNw2cAVK_}*04Krm$Zx(O(rvoC4nchRa z!={*6X(|X#Z`ga0GqO_h-nq{Re5A!IGHOxVzaQ3_eH*Vgux?Z^&o-4^X8$GHd?DdX zp#&~1I$Xuf7S{)StK=s4N;M~^&l~TTJ!(}E^sK&)!0F^knFD#DwBK`85yHw{jqsz7 z$XD3!!Zwu`F#JrFSw=4*Kb=oJheBA%aMY*@3sPT{m*UynnGPsNA59+QXWRtYG5CU> zC#FD~f}d;0@PFH;wg!48))#Y!pwu2`E68_ZR<=5pMh4pYE(Y3$wpJF}XIe(Zuv*wg zMkMbYZr{zs96hZpv^mZoJ?j-~r?gD6b*)1Q%`4YEP!c=c~vov|-pNALk7407;wvi(~(|B@w#~SfSoFy67`%wUY6TtKP z;0E`%60p}Xx>yWAdOoS2w-#JvQ!4de($qDvvbb2&gK~bH-SkI{|E%pd%0FTjZ6;?X zZD6mflco02558IQ2T_uimx#TAL5xKY($2X3hdR=NemNGu=*(iTq{ zncvjD(af2~aV-+j{0eH3=PUX;u9XUK;~tZA;DuPm#px+s|OXB>5+=U}Em;HrB7rfDaOs9!Lb(f+G`I zaO@L7;m=#W51s(qW~!;L5w?O%7G`}vRK}`z*j#t1K*BPcoxWU}eQz@4HI$7Y+H_vE zgA=IF_Q*?Vd;%m%aIPKxM_DsFGoK-ASuq4}M!1^oAj;Y;@H#ogNHI7;an$82oC^E3 zeCaWY;^73{!*iQA^g>X}AW65p6z_1)qYip6^@uDI zR?(WW8oy^hLXar`L=dL^p5j;0jUMmk6bSQv0o~Bh6TJBew58gET1KU)uNTO-%UdWq z?rt6sjS9uB*}!n9mSo<|4)79TH#`d846L*7b^;=VKQ~1UXm|EMs4GZ>N1hGX*==EE z`CoD7&CAKiP>a*Gib+T*mdJ_TeoZCy=2GATviX>7jLW|1_qng#&Cm{9;@q)Xz8xvXS+5bW99oO<`XP`>N&R z$Vj}(zWRjfVcx^5fFXi{E+3%mw*uH{0-oO+CeU8je_)u!nMK>i0l4Q;`~NwPCI6jc zTOC`2|F*3|=xx}0*O2^nl67Otl3wNszDgy5CVyu}GFc0gtJ!h5r>%ME&MZlU&cHOK zezMgdr9zh%hHSbM;Rva%kdY}G$;`fJ$#w)O;k_D<)xA&oyu}`#I-)v? z0-B)abP{ii(gmvi;N0ev{deXZEPvOO7GZpV-`KW$>e@_;=oVDI4(#%m?f*9or8Ii~>;0i+qocIm4s0K6M0G8aS6} z;R`WsVPK>K4CzgP|Nh6rgaVubk*LrPmk?Gt7hfSUO0)hbf*>kIAiendBo*b_t9PC? zh*oTaUNW6nFf~bx9JWwyx&#AgNe)YOn@Q=@10HQuujRBnU=(#0TUosJ(wVuQG{R79SF zq5;HX+Xqz^5-LbePa~l(8{GM@aLC35ro9-=6onYUNaJu7mq}SpK)HJ5Zm|q)tlu3q zjE@t^G+~rphv6USGaK6}HpbQSU%YzhYNgW=VD*mQL;ccrnvNOQs`1Ci@ZHqm5-pJZ zQ{yXlK|B{w-A!==IN~^$XTsm|{4=(?NF>PoXL5R0mWC!qz}=hr+J@gQ;k?is*3ExH z_z@W%4e32(`7FJG0pm8TSvTG&P52^IZoAs+_u^rbn&!^10w}uT?R>L$u zMUYD@+{)`Fvd5w-`RJ!_mbmM;TR(n9{ezUNcM$t$&n_k%;wA6BnXra_)M)c~430~L z#uWao$_?x^&sjov*ywgjcv?^cHpTXzJTld&(P=j}5gl2#dsk~&(s3i{8dO%8VqpGA zrsN%!$98XP1L?Fo1a1cYZzx$nS_q7Js?XA+<(8&Ep+-*?piv9>_;aiQ84GAf;2ThARF(LdK#60s)ubmUeVY9Aj zar0%pw3QYv3Vd)!`$is*u$_YrhYaCZe$%O&?bw{!4jcR`6pVV0&|Rwq z;C1%V)j}N8CM50`tcwy}H@cgu5tpE^x?Z~8(*t?f%_SI;SzCcRM2bj5KEjGWf##l` zga@t-gD5sq5mubFEEpxldp)oU9q!V=#+{PEN}Mf(*b=p6y{!W^=Wfi}x5>%G5ZUpa zShX|smR^m_Nf|HVhd0A3trq;@WvDBZrCIgwCta-z9*1v|*+05r{K^z1;uau8sdH8M z_ip^BB|F3PoHe0zz7|v8rppas5PRJgD9s>FOAn|6Os)3ZI!&pHE}h4lW>RNlBS^%G_?E0V_ym@x5kI)qId(d4gkHupyvZN6PD^GcO# z1Zvm%Bl4`z{*Jg`DcZRGqOB-HckMd9Qz6zIED?EljShDYOjO#c-gcKna&w{@l+ zh(zE~;74OeG%>Jlun;`9S!2_eb(JaJoTifEj|^LM>8!we*$!SXob|OfJRh16W{Z-e z_)-pG`u$=RPfzCU(K?IK0%vCv!W53N$7AgHT-zd1_EhU?7_o%#)rSoW?GMY#-Hd$X zsqeh~h|ZlXh{e;u+aIjc7G*mbQ$Y(`BKP=~KmSBQFmwyy?C$m3>?vPoYSlKnoZ<^^ zdpxCoLjm%cQt3K8>wwfK&(*ZQa6zY9?T1`{8p^Ejo6>-6n|9n`JM2{WRhb*^QHwt- zBGT6!x3iNohdSgF%X4>H5rrV~WiCowc|29?w64L}jLsi`0LbYvD*sr9Oc@2I?nIw# zX|Gc{4vm(f>mpyeFe=Jn{FUae5PuVuPi)vR2ntW|Ibow^2B7R~^fess==)iYXnd^` z5&paby_A@z;%~p=4~yEUSpn6TQS9kC_Q#C=aBF)|0{{uXl&Iyct?hzllEuk z5mz_6A~lsPZb&Vymz$*f(?|$`TJXVsF%H*T$YdiTJwAMh%t?^M(Ag)lq%SAkULu@) z6Xeu1-*mmZT$i5rs3Z48g))IUGVQtI{e2kryH0UjyvGO9M>g}PsP6)z#%h%b3}H+S z>Z3J>R>j;&Ohg;2_mt_Qp2EK&$0wQwM@zA{sHG}w z13~1wQZagM!4il(q65bKv)a)whvPOG;XCTcz5DLNKDaERgA%lRFAOuJ10m#f4_!j= z)J`k(Apud69s2u-QF>#nl8-wSOx+(l3V8$eJPtNWZ*Xgso3t+9jLHnnF{3Zyrgq%% zWr!{)=Mc&BRczOrZi2v*1}<}&iCuhCWGt%s*iHil0((S6nlP?v#1OfeaQ2h!ZDv4| zH4B{|nQP^5yN|t2kOpaT2za9XpGEyYXz~vy3WyhEC7PT(0V{zYk3>l@mgZBs*;jyO zqa?L?pR96Me&veiFEbH7RqOUsm774S+@B^>M#8E4rbm{ww_KMe-z9FT?s6cGr0BjG z3dmA4-<=%Nm$@#JW;;z8!Y_;2vl(SG;uVQqWg!1$j{tjSiX@X$xfo+<7!uy2?CV$3 z`O3Q^gKjp53O85E_FCSv!>b;&keTQ$$6tLN9&@-BoI;^qXoaA3H7};+Wye*{M4xs1 z2BO~Jp>!gHq^_MP%GOqT*WK2EPV!*JeI$-Yv~BMD{yV1iZcW)EAYG>Zrpw#2hI$_W zU8Xx%mw!Ln`lBwNo+CM>%t6r$j1dSAK!zh#br`7x?}Rd=2pv~uuvmWNbOEJH+xGmu zA6g%*ih-1Qi+nfCs)de*ndbxlcf)ayrRcjd!=O`B;Q0p9EMLB^1Qwmd$ShFKi1}hY za^@>fkbRe8zJO_UYEwkPi<^Nih1#D!-k;)mvlG78*yxbpcg%2j**eWUf_eY3v)9z} z!4{UvCPWy;8kGMmpv|R6+N_1b^+THtWJ7Mg>Y!_L-}QH@oYicoQCav>7RQkSQf7N4 zy>*Z>pD$}c;5RPjOn=%9kgP$oGyj$GHNHFqeVzpV7 z>kRkZI!8uFYJ#kDo&`qJhQN5TmDv2;&6=UBlV-7o@42Ux`j=6UoZpni#Gf_#_p`)* zrO`j8iB3xT$P22WgG_U7&o|RN{yWo*8Dis$lrEsfw6^5aV^0~g3LU1xW{)QMp+E)E zOv|up{njxzSe&x+%?;vl!e+<-k_Oyh*^wJmIOYa}?ajUYc#qtm#tZZJwH2PZgpNmU z@Rv4kXXpZMkbA`Tm>ZlSbzcX$!5@MK+~AR*L2mH#H#fLRIGG2rj-CJ#bWqOcqcj4C zU+QMJ|L6w)Vvutx$~b$-5XOV(#fWsv>26aNOE66ag5T%*SwjgsRw#=;j2aA7(tRg& zObYDvtx4dd3Ro|4bD)^QH7^&`vWNN{D&9Pb46~|`Jk~KhdeG^wn~h~7NeH9uq_5tC z5KL^bYQ&ZfDh@^`N#N}08WyD$M-tCa#vZL#`??eIXogG2)daO)-xVJ}jOzdw#m>ai z!S2DHogL?!p*hEFHt&u{D4UdnvqxKeMl^3qf#zpW&z-B_ziXl8ba^p?T@M9o*t zlmErD_X9IGMF@k1E`D5@p1+>ypQV)A9j1UguGypU2`59gLEu4CGrs!e9-1pmmU+HI4d25M zC3Z=H-PJdZ2=}$znEF=MUK^=4-++&J-7MsYkmM*n9PukJt++zO_wMyhon zcwn5k`s&%{^zx^ewmTaI4tN2M2CMgCL&~Hc5a#6O2sgHMJR8)#?LYWzm^cGh)&P=~ zgv;zYEAOWX2-e2QB-h)`B3pL%z=tmhbywS8-5GV<5?1UYlEiL<{1j%&wZPa^BxW2Z z8r9vJNrn3vb8YDLL-dB7sHuToOzgU#{gEZx+1DOhtvUiiTd_NX8L}KEZ!InO(t>+= zcnb9$ZXR42+C_1V_wFQ$s^2IgZ#s}~b0EvBbo4=Hep40H_h?pb9~{&ST8-6S;($&j zoa^L)dnv%Ib@a^WE%Yo5>~+2kA4Mg)luG2DK$hIEi5ZxEoBrA>>h(T%YO0*Ip`xj- zoK&ut`dukQUDsTGSyP+4CbG7s#Zd@?mqp#&)$Yn#>cYr)7sJSu{#=fM;%a>Wnw?h% zp5KorNr0c8-Z@0~LqkBRpTDhydPH`Dc1-xJy97}#v{Uma*4|f3Q?kAva9fdR&O8d@ zFw+c59C>{b9uih)*`{SG#AsDBDjU1rDENxdrx-}nnZka!QS1m2Bh}8eCOyXp+#ID6 zFDdyhXdx6Hwbds`1TXmLS!1L~NE)UwM;CQVBQIe-VKNsff}DV;`Dk?TMSy|$N>-#K zMT+gbGM|@W~6u;#%tOw}EG!fFUJal}@rw@d_T*2b3@o)BzM1aRQUKBUQ9saP*{_lY7_Hyc z4+zH$%>S$7ppSnLBl|@Oc-#0hu_IOg57VgT;4L6!Py-&06C{NI1NevfeIxm!-~3*& zIRm!rjRE4`z;jZuzg!r^4%oS6z;vcA_}DxlBm%T84e0PEVOn7?%F7YVw^garO=@wi z%#s>_DF$F}oe-G}+&{svXzNocK9V0#Mm0s5e2U%p>Bz?%y&RQM~X(+21~&QLHj#dQJV&cFj&u=`acfLyl! z2KPJGy5EpKF#rHStbsi3uY!a8mso#g^rRllAI;gF97pPiO*yPApWzF zi9rAOSq{!Yu{UtG2X=p)?;KCMZz-(bSNbQpv)v=8N zk)x3T@}SY8zzOOQ*neH+pVWW6Xn%K+)|N)6yD+gh^?>~qFfc3NISJ^G`@aG*)1LuI zi_ha*4fyyn;5i9se(iq+WH}44z!p|a2@t0&@bI4yX)N_$1D@`SKWy+B3>vkUnrr|# zpa--Z_N!>o{W~7WE}j8~$88{n1;hfN8HO9bkbt*pU@O4yy8kH^|BnSY0|-PL5a3Zc z85ME^z2G81zihyNv>*RbhD##A$s^#A{SNl+uZ({OIqlEBM^81|xj^gaOX{vY@{ z=6~k#H2imWdKUbIS-%7TEe1SNC%CU;{l5nP8$ANS{b*jm5*#ajz}Oa;UHDI1fqv!3 z7f8o`9}KMO`xnRNBhLN$+KI1s&-nVsDEh})+S5jCH_+uqG$6HLph65MsEGr*3ab6_ zx}2saU}Xu|M@xIVZ@F?#6X%g?{_p`H?g)h2p!2T3%5}iu{)xE!$*Y0Sh5(WLAxp|% z^ntfXpi}<|0@#FPZ(wPEu8aX=aI7p{fa=*^5YNKh1_cmE4KNOtJVqG|Oaz#+`r8_R zqs?z(#1EVc<_8@=CKa)@aT^fg~fqnmrg;E+G9|C!hxabNlbmXQOrF zQon#j00Z+U2Lls4fflX&k7zQ$Y|jz1XCrQ8eq31r=0j+K5Ss4}=Zg;biB3S0 zpt+)7rQ+hm`OK}2bpW=2s03t+9V`rNWo)gST}YYE=Bzl96C)O2jS$eEleR}Z^unC| z4*YCr%`PWpZ2(pYSfM+qwwe(ahW>8%1b}4ywmPCF`UbXVgSJ+aP#^(nn*az~{+FbI zH>QXG3i>UH?YBh$Qcz!2vN8t*e|81%N+L#{0~VC>4!9PHsux{r9 zgPQG!dQhBb!-C>J1Akk>{!hq+<*p^~3J6jSm;nMUz5OazfR&^_8S3vug>`goP4rG> zY&+d#?nQQUE`Z!P0lA%=>Rhb6IMT^HMyIj7gx(5(F6Yz$=4?-5b=F=S>xWvLtq<$V z4;>2u&wvA1$dl0v)2j<&om{Fs8!kaqZNnA_&LII&^8acr;7zLSui;L`=-=A!Y`o+5 zb)Phaj2-_Qo`AUt5X7I23S#Vsu9KhOa-{dqsNXV~pH_A1!y%i4D*F zE#_}xu;X_JDS&W(7Phw+Bz+V!|M^O<)65-DwhubD{i_TwT(Aazdt=e*Djd(cd@?qo z+Pq*D{w~M==?Z{&{?WixzXSlhW$gU90zbB8{KpX;&kcNXWo7?DWKZn&INP`!PlI~W zV!!!v5e`m3{YpLj_X1Nq_%qzkgs7*<9?uVWa)F}oB4q#IwU1|xJGp2Ge)-ZLXXixfS0UZAXOXFA?vGb}# zd4e1cA0%bid`JJ5BX?-m{bQakdwrs(U;e-D!y9nZQo=J~ZgRulVUTgEN=B zj%Tzw31tBD_fU?&q`-d?jh*J|c%r3~!7cRF3qt*x!#|U$xEf&P z>R4(2ON!r;8lA4`@nk+HV_H(gb6Ngb)4xfUbQ<+|{+pAi5lH`pdS=?7)2PRj(3}jK z`jP(`^{Dp&gTpg3?VMMGlR?uflz*zh>0@30%^PvL3dd8ooSZHw1I|mFed6id>{vfe zJN+5@cmfsKV;T$w7LE4L&_9j<{TcpvMw636fB^K1z@L}1<+QYqrwTba&~gN}5dXcj zPuuuEb9+2t$I1EbNMODAg2=y2{-1$C4g14Vo!sK+3oKTj4gAxXoR;5lV!$%&u`=*y zVrLxCKTZF5K8us<_3YSxtn3-|&y6gOr=t)!#tIl%2+sck_VXP0Y3`0^lsE}^9ru3% z1p54$zW;b`1(6dRF8&kXX|+ES^muZFll@v6|6jN~0{x}&XJUeQ`=R6~msc+n{1Fov z_#IEeaJtowrwur{twZO+w9nPY;|J(ZDt{&6MVa^k^jlp#euVu047EIx04~xcP%NN@ z7_wy;JM__m6M1VjsxOtW>M#}xqlL@^9H%X z`YV9>xBpfD--6QoGU6h_ib}N7BKOi0<5H3|w6i}YX(*>Art1~x78rL9_YOh+ld-@0 z|2`_%-)}=(>;E#~f0RM^R~bWleRBtM8!KCTqyM8k{{N4>gSnfrzJZmoiLI5nzNztl z(f{pdMidPU1Qh=Fcl`cu=nLA~I5_ItI6BZ8TIoADM9QyA^z$KbuP?EL%3F4B+v2PA z;=dI^<*5Xi^-AcDv)Jq>r36Y-p6G_chrxUK;E~A8x$)~7>6@BPuhu)5Y;Ec40AuS7 z3P7xa*t5LFn36ZW(zt-&zR5JMqUlV;Y{%zDJY&{b9=ZWT2(Bu!MisY47-5im9tz#* z+?e2NP{wSaPvyeorvw9xdI%?FTW0%dRxrr*W`+>LV38%>Wl$QN*P_ZjbWdQO4GOO@ zq;v;1se%@npWB->DvVFAlQy?yU8GUu>gfIC%Qh;rGO%^&629)BxXW>wWulQDqUrj3 zii0`eIsAIXR*oS}harka6)H{5Yv&pVVmOslQG&EE!|tb~6;H+kV!Wu|n7nMZa^9Ye^dwPh@zzakv-b4Yx6YtIK+OLQ-zxrVtcd(0R{r7POvQDZ`G4^+ zTWvfWaey4mA(93yz()gBj0=n)Hw=xqS(rHt<+cI9VnQ^mS*eX1_EK^OBJ2mhlaFA? z3QoZ#)K|wqNL5S$baVZcafOmw^}WL znW{vwmwgL2JFZJvixtp6B)viSd7p1YXT+rfn>p3pbKUVu@RZ>NZoJV{8|1V$TW|F? zjR}KOY`aJ6-!As}3Sx3U{c0>>A{lw2^lU`^6jdacyKQ3r`UZ;o*qXHZ2aRd&Ij$>q zGEgup|D0aQ!>ItYmWDB7Y2!UoijD;kEM&5bwCb(~+3(4LlanCYp52>fa>_a8FHnC5 zA5mSBxrgM>OMY~PYA*|@^g$jgTAg!9{Q~L{@JCRUCxG|?S2j@d1o=&`F4DB}>Gvcq zlbxtC0>X^ZU>eNzP7STiHL{C$lp5^?`p+o%H+KFVxXAw-fn;cF<7jN-_+P;0KiZ-F zAJ{RlvNg2)FV+;8S{!ixhBnAwOqc#2TN5xh6>xGe6ZjX?#G>}LE{{%XS^tvMS`H*YEi~2+f(@q1rPEOi@^jV2Fqr8JC&Dc) zF?w`q8!-$az{0cv>wmyQtWJcp(7|64ia8tV2{4+Kkt9m^2npB5Fdo5dG;4r8hn(?(q-Yc)X*m)w!v8 zQh3aH^xd?~G@5TJSqP=Fnw9EX@p%~2)jYr0mWScL5x&Q z&@it|Vo|kp*qKXL2B->kC6$YuI`>%h{@TCdkn#t-SNjqlNMN6%Pnc|n*>pm+PAlJWLa zWW7f8MgvaNU`-!9g7Y7^()a+d!@jO2rRrSu2bdW-e{_SIF45?uGMzJkR8F}f(auno z&GGO!D2c6P%IKuH?~Q_QHhbP_0`Ue)nLL7KmZG%)_Bij~Xx(JJR>Ud&<|qccz)}TL zI&Lvmx5ybb>PCvcER4yWp>Q`O?9k%r&tRv9_ED74RzjsT77L1w_ql_{PjVS$_X%lt zMYQf=D~s)rA??Du-s)Gr{}Vc}12Jhv)p?v@>)w62@#k$55*I}7?9R9^ z5Ej%18P^s3k31Eo6`W{gn`;RH<_220=$Sua`D7TFB~fi#WpCY*kYegD=nm7M{M`eA z-o1^n*d&s;+yc~vALA88a++*Qzp|B4qZ`$3jaDQQ4k{n}A-jF0kk#qH2c2q<@Lhh8 z_05V=>)=TR{B96vL@XyjgAV>xsi#ey){r-f+te3no)I~JfTsB~tk;g3lFd2+Tjg0> zEiSYc!&I*$6nX?L!%e6iia}u3xoT>X6PqPznD9}hW1xq)S3EdZuT!nmp)QnyEoeb9 znFcW-GR|3YjItM|tYtQg)7he!rN|)7*HBt&7~lu3DPWzeM~q^9kxD_gCJ?J)sqC+3 zZzHU8=!3aoNXVnN=bC|kLsD^|!K|wni6&@%QTQT3q=;*213ic;CoxxAUAAekNFte_ zVv@>+SP#8jSa^s^m5kUGEc*w*Hg##XhVsMffN+|xD-;9;ChD@?Sex4Bkrt^XIYFfw z5nGjggQ;vRxRun8O`MLxhB*jXoJvM5P=iR^+6cU~AHdx?a@+WaRHoO%x7cHGkL1uV zHF0b|%}_I;4M~LyJ1pQgECr7rl>p6Qty_7NoEARYe#m7)=sY0E*8rJ>P0?-%k$t|R zZmH(($Dz{WqhGiKD=xS_+&BRwL+)(H%)qLe5EEd2+JK?CB54!~DWhZbT`jKn*cxYpZtDQWZl5Hpt^& zB}}y-RN(cZ8fB^^P`MhM7gIQdT|fD!_!9NFXXiPKv8Gw@%E77ND`jOsV^8jRXNte2J2vq5X0&cDbyYy*-UnU zp;Umxoq=3s3&Mi;*!^;R3 zxWGZoFi*?rE&R1iNg?WMze1JPPoDQlFX-&*Lx1n0@!Q2jUUXoqB5IKY8VNf(ox$BI zsD7-Y~QIRl!cHY^LVJ!bsgWD9Jj)|AgDL)4ox;v zhq5wy(-Cfjw!=E6yii`D9XuJ6+K{M4EzA2YPL(jIpx03)ivPS-yC0LQPc$P?k;s2k z&NYh9q2#7kR$MVN9PQ!!yyajb;FwtkMElyNypVR0q%i+-nytiAHq%_e1M)V;_d3NDBO0m*mOi?j#E^1`yU6pWCPHHn@kX9F)($lXJ>U|tZF#&#ksiqX6anhCo01hS6r+s7afNf|M`0SXdf>*km_pBv($r`Q%voaMW&zJmA-qJn8 zh%ogH-Q~548J%92M2hrugGr%W}=m{hA2d$+%t&9WDZeiP|DYQWxl{nyDg?$G&lqq38i3_E%GVI2PF`D zbhtEE$ZLhfM`tamYNDg)w*rDrC4>-+Jq8lNjfgT)u;MZu0K=GMdDO{DE;U-XTJF{s zhhm2T#vUWR_J?N_PDW~(ScUkr_i>lK)+obZ0=*yL7YfA)BfBnB-un~ZUZ?X8%;JJn z0-z{D760Zj!S~Fhi2~UeDPJ*#`Y2ipbu|RP%!ol!E|mcv0zPK!H*l)O2$Nz|;;G=n zA5e1Q1$Ko&i?&%adI_&By;d?jxo? zi_i1<{(_yu@9G;~fhglIw`c`m9JB6&w76n70$XZa8(2}sLOz(E6b!~yV30Xv`h)8g zE&bk&T{CG2MuUyFnLBnLH-JVF;n7d~I*NOxhkK&o4y{tf+wawr&`>*poL}85+GP zO%mmx4AU`-!biV;HOcoNj<&-;q^>T>^QfE%hOShyv>7@D3I(~J#d4oc2Z4 z<}`VRCYtK`jv=p*@B+ga&GC5Ln#)2**Ve9 zw7omKx!Jj0GbXGUG({e2fRo+Y9FlqS^p@LtV9-*D4uaMhtP(x7xS~d3WG^+MjZLW9 zn-jR@^oBnAQRH4?ux^uNI{|vy9pWRU_2@2oJ;nWF*HwX4;dqi&RxwNWNYA42;Bv`ggxQ%MSsjZ|S%ZyG9Zqekql~Ps;=dT^;GZDt?5@pUtTASE=os^>PW?C%kOrC}J zTCO9}{HEi`%~jD>toM$tCmY+-+SjQ3^|uLm7Up2Q`ot((b_wRL>tz#mN5w6$JFtOYrZ^5Uqn*p?3bD$?YrI`Jzt)mrsDUjTW|iE~t%aq5X(n z7JYdZPcb8*x6A z_47VNyL+c#He~soMP`(>`S)NfDucBXmE@2~IpLa!5|UTptQj??JrF}V1DY+YO>JBw zz=;J5_K^p+$|~~YmtXqCNq1=2fhWtIXr*=eUwmP#RmpQ`SiR*19Pz|u-C3*zN4z=4 z0-1#bppb8zv8l0}l@v;V$I0VaA*fH~zVem8ULa%KmFkM-8!psJd8)gkBId_=$*|QX z1&VmeZZ11)FkfJ;JmSDN>@IhmE1vp-{^tg?Su=$WhGfpOQH;c#ivfk<`KFk#>;HZ!kt0(-`xOW&UN2pH%%RWMTLLO-}(thzA zZG`N{_=(Ub_L(rZ|Dn<=ShOE8h88qFZg2Ba>geju5JhI7jnE2X1GZ2t$Nt3x zl?Io++ZE^5S9P$>(Vd|BnTB&uq=OXXbt0U(1uiNR1HC1snV1AC$jp?>5#eHsdpeO&!J6`caIw{=WQ2NB}RvA$_+!2Q@#!KYg26w*cP4AxsZJQj(SPyc)eUfsd$X5Rhu`PQa33x zt+>=a*aIBX&9QhxxD5vz%TAh>@u2*s{Q14 zax1OW_7JTd^h&0J;>n2m=E!x^MKAmof5~=)Jf{z4AwTWxXO^FjD165g&U@Jk6b3xa zjWPAj@r#28r#u3k{l|S6BWNo7mQ03j2I>gqiO?lnN}z9r4O2_am3_A(_S@;9j+f51 z@8djobN*UmPv$=9rUL_-t36j1r`(=B8^r|Ry5|LZ8qVm@)um_MS3D4${R%sJ%{#n4 zU-kNA_t-F5ks_Gmhl{x#ISDJmCH|OaNsjq+FH=T1dkOJ?$_`V-fI)>o$o9HipdRK`#&3q2}AE4fVo3R|^)E5xS_2vEWbe z6M5WcLxF*F`|1l)a?*X{)&4)26s~L2S440qY!dWO2%}gKq`%Z`bL3$U?xK6#(2Ftc zyTz{3Z*HcY5MXm|PQMk0@O*~99OSx^Z!AuIlRXrIf9y=~8Sh?>56|E04X!Ls3dxwcf^I*y%CP{F=kYl0QE zxb$FG?U(TLT59!XD&ePXEbVYmHkO{?W5sX~FvfL{Len|@EU;9*v6e`hwM|c>4A>bd zzj6B9M<1fPtVW)MxWO$;c%f3B2_i{Z}_St}`OHVvNb~qQW z?OGh1lCwZJ0JA0K&wf7n5D6P{GQF7>HEM^6VpOy|1H7s9a*L{ca?t^;F~<24aHW!E zPtv5&5Wf-Tit`+>MPH>?+gV6$rm96S<|l}`iWk5Btd7Snu9wqpn-1yl*@!Fn(7ps| ztE~CZ-6f5JypsrJ+0@KM%Y&Gx@}vyJ0mj?8Cfkmkd=6`%gbS<5c2;No58czDWvzuB zT5u}y@O@Rq0%T(rm%Y9SDM|xsGA7i*`s$o^&}XXZ)yU1vle3{_aQ9oYTGpM*Aw%lY zb94;$p-MLHou4fZu+QL|u5*DttivZm@F<%bHXr1Ip6Krjn?AC-)$JQ>3xE@fM(E4R zygI{MV~YamDey3K7dHs_mka&cY>l5U&?(29x8vz_&UjC@JCU8P=BmTF@5bodSI!#> z3+HnOs;v#R@YPo2du_ZIgW038)iqe&x$_hfStx}D-I=m5sj@JOeQ7@WWT@|9;)OF^ z`3%E?Kk69JQrJyomSheXV^i+Kh7ZuehQL0;wC!1C0L4|P?#by7&&P$!qs<6aJx&j7Ybi&+?es&R{+im!`GY>f<0kHJPKpnmD&NB>FMNL^+`juW;W{=1k z6%YA8nb4cZ1RdReyQEQW6I>0&Y%OwxxQai*;0VFa*(3)aBDS@mqqDUmNOH3sjQ~ia zP~5cL3TiTQMWe@DLO%d?{E%qTaMWd0wWr?E4OTGGv3`A@!8_jQ#UWwzkaiG)u-tdn z8G_jbMA!xoScWC;*)!|`sRtBfkr=N0+T~0j6YK?b0^gwr$AERw1L&yigB3{q!PkH= z?K9JC85s(~VV)H;-j#(A@p>ZuZ(sOq_MAmI>n`h^t~hPIf{gOg`Bj(20z9HDHhQ*Bye4=3}t2GR8C)4%n_d#wF~v{FH)FC z7_N0&y|BN6(AY!N7tVnr^0hN&zF|MkAYGjs;wY5r74-eKxH_@E?F_ZizcepsrK0(z ziqyd;(vDr^Kq<)-J3klMd9^cNfdvo4nqBr0M77k{NpRO|aR_mOvo0!&O{ps8(iv{S zJa5E0?}H>@drj?x}_g@yN^ z#p5ys^YkF#j!1M8OOeo8iew-Xol(RwhZAi?T^%s zlbOidB8%+0`yVAaeKM)9F9^inF-um)#bPFwtHRMrCyuA`(P(wd02lb%+q9SILv*;? z;tY)zYGEzmGP0enTO&%LQa6 zFCAmPH>&z^OKQ#Us8cIulilnII$OGz56K^OGesFl1=N8vbqV;!6#QdW{4M9^capD( zhBCZrZ?beXyy>+CGG{ooI>$>eRO#fiYT)W7`RQ~tJDwOkB9S~0UDAPzAMXW5kbc1M zfg5C|wotAc?u8AKXy{I3ckf0d?mIr|UvinUxjzzm&gUegH1}9Bxwj0G+_3nu3lgqt z)ZNjKLqT$=zz?ydVssS^j0dFG9B1;k*$@rmFI)(RNM9>E3XHdje~(|2yVE+<>XaK# z`?){y)1|)Je>T|F3*nr)#NrIf)#x=>TqoSy_R){E0L$_x2iORxAO>C{Steh`0mGLw z8&+FgUS2veQ|^as+)AOWmL~aX7FD1waE0PdI|BgSX6Tbs^ zIggS(>4o}bYtNWi*1amp66C4|P%s5+epP@T>K-V2wU0h|y_QEo5ZcO}EFWCo!K=Vq zWQuMjxu~(esJliwQG{ITZicc+%?7VK^5K2uOwo2uSGv z_5eao-`??m9R~jUA%qt8BIb8@XOJP%2r$4w)ZQ+TWGF{~7#Inh1Ue{zsid+03MhW! z%F5JKp3BY5&9!+6mjJiYrQF(3$p7`d*ZqVZ=w}5fJgzIri_r_Bo*JTJrJPcDslMWAlfW@n5iazpMRr+m znWifr~iM68Ccx@G5 z$wq;*0}(UPkex!3N>g-(T5@nId5j#nA({zeMS2_xL^aZR@oJ%QJbnJ^3{jannLe%H zBQYOZJbS?)!_h9=+}6U(&`e6SuF}w&!b=K{N_k{)Y@IdL;c?ikGuUNfrt@2?aLLE3Pr5f@bui`gWxe3<-=c=}p#a z8v}B4V}G!jogF}t%1SBPoOAo25!dnt(j!8C744`nWH1;{-^&HY1Xy5N+JW?!D&`&E z4HXQf4w?T7rPESydtx%6rwEH?_7iX;FnkXy{{z4u1RNau|k*0*Nj;}r03{@Y>XN8+uGb5v(j{6 zr_IAk$Ui^?Q+g$#wx;QB`m&5rfG%IOF(`G=Zpn-zY9Wqh&D`h^+BGd=epU)PWo}3= zNf>}62wlmDVNtAfcsKn6SUk}rWX12gGK)4+(H>6HR zCvYkjK)W>*BMObMYGT3t3w7F#^m^WmA$B}<>nQg1=O4Kl5&~)>5QfqRGmTNb$usyt zr$Sw3LF>Kn41yshNAtF!`YZw_I7<;3XR?LEJjhNYCd_trSJe0vNi}&T>cVhzm@6Mz zA{c>6AE`9~L`xNeSTxBwq*KT9qTBs#r*eGAVUwy9PTLB0?9`A$WR5%H`jK~xF!IMZ8ZUk$Yb_!;&20hws1*Rq@ZocH<7n zWQ9U{gZ0IdSy5=$;q+*0!w07%rvt;^TU5KA3|rCgbQNhmenE7F3Vl1uM2J_)MB>_; zxc~`f(;}rLvnIPWH@mTMJwr=%Op7eWTe>5 zKA49l=wFH>Y6P8=X}<|k)nz6z5UtUo<+Bc*$d0vuH_z>fYr8k=izp^BUf@~ZxhA}9 zYs#!wtOJ4rIE^;~W$CG>TAC0)S|it+Y9P3y9%YLtHp@ebK3|}srI6mPbs{tDYnw5j3WR!9HR6h_o(oHu$pdJkl2O1$ z7Gjbm83TUB`&ZMu_DgWV>khLLdngVy-&hAl&U3RHLIp@GTb*#uu_j(7l@7Yq=?pSr zPl~_5^`}8&krhAOM7GUu9XDBW(+^6deIVEvL@YJST-!BObw%|K3(v02OBC5ii?k~_ zKqm8n*DXR(xdjWPoo@X(sdxL6+zDt)E0x5Ah{@GogIpe1tC{RXEnJ-m&m~I-41?{x zvTO&1tG)po4Vxx!U4tEsabOix&sOaEnF{Gqq9feBxlrGIPeXOG4^<5AB!P!thRpk3 zL^Otp24tTvE)lYLo3Nzl&m0%)iWU@$@djBi+hn*{4Wu*X(Ic8QA|2c$F;i-$#br}E zyqVOSn_0^1923!k*?1v!5@t;$B5N)uTuqF@d?XmGiwHG@UJgUGMtU?}gn7SP@ar2- z({bwh*|m*R2voGn=wx(gR^(}$<4n^WX+l_oKioCnF?UL zVXdXl3|{eXB}IPhhH?tXbrHz0WY%B!>}EL7rq{&g^#YCuYPsIKLdo$Ir(GH*ciI=l z487BnYFuZ>BMX}D8UQ05i^Ze#%IBw-3{s+MMW}8EI$0Sqlc*!_)PMte6IJF{unA|p zBzn+cn>p9Q5w~$s0R7-WEk8C@YBl21+5p|4FioTVJ<~DWo0~XrWwW}|2+IAI5;~U- zRP++vyh;|OX}rv&!kW%?(DyQdAWJ0^y|<^Di&y+}(p}2Ysyv(Y{;LjCn|R5dG`S$b zW2{OaL*fhC;u$kxs6bOnb~fH&aCB`njQxtjmu66N49>LOD*cP3yHIB*kJbfq2@ zNt1+0VMRpKNxz9@EstUJFAL>7ZN$J2<+f1jAaN&V-ZZagskZkiVk}%4Ds5>wPo^j0 zeJ4ZC*IUxNF}B9!rm+c!@u4nj1;qbTROL*&9W-VP)k|_Z}C7a=4Z`kUjO(7{c{y9Ezr0 z-u(CMee|dZnYl4$RFxN8;X&Hp>Z?2Rg_3PfK zzD*qR2G1eS^{UKu3SH-ADWbpG2+QtTK8D)}6&DYw9^}6>qQm9r%>vzpdw@c1ggT-A zKu3Lr07z7JbDel2U~!fF1OxS7`2f>+%4NfVdJDEQ8T4N{>gAc)^zGzvK0b%Pc$_=d zcISRz?}2OaSybTjjUNqAJSj_3QxNslj#e%i{$-WZ9?1s!6HJ)MdG`I@EJI@ddB+i$ zk8x7VU*RKC>tX(65X1+_M4##_$~(s44;$8Z0o8Bc++AJALH|JmiT~(DkN4B^F!k}te6dzftt!eMl z18fl=V|qQT7fP|;2wThRQRS$es4NEsATx! z%*-|J5z%T(OjD_`tQ zi<)}h6)y~Cp~Ku)Y?^KNl^}Rsr0}MmOv~ILc~5uX%)I|@7!cbp+~KDOz&S=<(OimE}h>Yqz)Qvhb4Qo;nYPjZrc>*%G@Hfi*%6 zc18JK67TZ2Cb!)X(V|_GV3a#=LW0kT$&{)@&lPbu{WRz6Qrwl|kK_w$UfLX^{S3MD zp0hEEHm&%t#>LN3jUE%#g3ISS$n82y0G%a>O#3urW!S6b}$8@KSEg)QR(q)|UpCaIL z(NWU9Lp1^0Tl3a_L1>uTpwVUuj+rPH?wK4$5M!hVlHvFP?ydc9_5Ntjy$-PH7=W{{ zTCs=%&G#JD5!x@8Dq8la(Wf7~y3$DR_e;(xl)UI~bW+ho!tKt2Lf*dk$`iCk8g0oO zwE0taQB|6g11f0&^LYc(;Yh4BXhnsAKHkv5yumobeo=r$16sOgf-!j5-SKDr#S7D* zn+s3!JurRqM+f@F>B5`3*N&<>a4P~Kq5+AMRl=qK8pA^a<(oQ~rnEq)Q_2aW#Svr6 z6^$mi-fxh9UIII7Re9z>0s#S||AXG}FVuqnNE`UiG=P7*q5F@UwbJHRmM+G|M*m^` zJE-=minWaTg$o67L#$_No;buwjHEN&F-_i7gsnw# z&U1U7MEu!PTr>S;C*vU_>uY1)JBRlP@ATAD)<1?n3BpVUK3ILr{n_ie>wWY6>ICom z&#^6#h+R88&WRF&{A{32kRr=-W1YD}|KhRdW!t_6$>iSn#@rG0u-cqR=2^yIG4dyPtXb7b9$btrn;G^s;A_crUT;Lb7!68JtY3OkjK0Xs3`z5jyvY@=UP-yi!oW zZUXb1iCd91yN&q$1eO-rk0YG%1@smZwx(%o-Wgtf4asHp-{3`$k{$9qzp0sU(sw6oJQr@!>==CSqo3H6tXhDbH=Z4uT zCkzwCnA<&|dW>NzSqnk#-Ln!00cGkzpp6U0<}%aVD7!7p>Lp z1xAGggzVlmH7>SL{KQ?Z{1a5A^%eNQBxwJhWIZPg<_aXLgguBa7(M)nxmjipftz&y zv+Nx1xaxGgO{BCTr!d1_*af^6`8H_xV}se|1#HWIScxkNqu-xamySETeSoUd;+28P zPjOwGhXTcDy(Y|%O(s2YEV@V$R@8y;cx;MU-)C4`v3UZkZKs+gS5-kK6w7Ev+zdvh zlr54Gw$@}OA+e}CPnp^?uzf9|gMOpA=QCn@9MfH^SrT^j$k~*SBNURE7(Vlt)BWz$?-dLr3A4pLD zGhf^K=kWk$Y@u0mUYc4aW3nqDayDW^rW}1JSASNRV(Jm@qI!l8$v9K z3VktszxX}GdV`fc!0J&ZiQ^n zHcg^JOI}QvDpr&1bqxut@VR?&Tpw_;(m84?tj@L`2=;5$JNH^7>6>nZY>QbJ7EN*` z?L|OzD`6dv&5U2X!*&T5$k5lFqIa|uAyadMhamdOE6GE50hb)rG&j=`ao#Len2FRl z2{O>n>z9M6w|P!qKU|E;>ZJ?S)}(CXt zURb$EC4^|TIjL>z%0#CR#>mffY4=t2Jq?-P(}|AuD%r(hhb;?=7Zj{rpY^lPd?ih+c}?mYSQG413XO9w z#_BiP^EzT1k~J*~yPWA2{7p%bwwcnWNy>DGzFpGf&sA0))Pm&V8FtqVV&3EM6u8NOA_l8lh3wTwh z#IG$^O?u!!(8hiI}!ZGMsih1W7YPr;!GX<>7kXD zF-UeJ-U_bn0rNYa=k@`HM|vo{czUPa{=V)7o9DND-3v$;6u532oJ+JjeFjD{g=Ua@V5jI`ycOs zE7{r`nwePHx)|I4J0<4dSTO4f$ovT0p!7dRDG{$-0&_yqm)@-riRC5A{nWq*-;Edv z1W7qH+vDYKK)<3+{FDB2{0>>wpKO{?B!v-l;!f93uNXHub-O&@VD->s9WZ)w0wW?p zM;KbNuGn-&jEOx9`-6~2fA*eBFg3<`2(x89Mczazs;*gb-YYaN2bd`tgc5L)c$ybs zW+hs5(aDIu`Sqj?sn6$Hut_`wNC*=3N7}{pgqhuDEo|1ja4h&jMWV!N>fjC`1koH= z9q2PEIjgS4!F8%Ao-!kLd-tal?uHIAjyV8i9pD15dv&BM@sM`Bum3o?HK`L(| zWN}Ks;{4?Uf(+i`%bmlbOB}9IUIU6P3+&Uhw!uvth_|TJ;*(4@r}Q62dhC9&$TqLV%LU;Ulzh5~ zrH0`}hT;q2;;{(x(U2o!-a5tuKfL>Xy7ptl0?X$&RtEVs%+tusm&>Fx-6ZN=SFa$;0c(t#h}G|dFW^5eT+7* zE{h`wRflF2kUv^_Z%puzHJW{yzeg+}Q*A_XoW3^~*ph=T|qCVUDN}l_^@EYS1MO6 zFbbbH5S7u)cw}#HC2nPOG1AWJ z!OftjAMtwqKKTX{2W1Q8=a}D5Qu8sN8}wQ&U*_?#CgmwUWlc7_KQP~i&5U~Pv_m`g zIdH^9hw|SgJp3hALyC+!(&7L31gXF>i;9HOZYwMQh8ihfxKCd6h=L4%_YvUVBZ}<> zZ^?MNPli^BO&Yf{-V&E56IT^b-V)_rfJw6M$u(dI+dqgrv9sXv&q=ivDgCMg4g{p| zmxn9*KTawYWBWgfX14Z@qV|7zvj3s7?o?e>z!F8_{>cFH$BM4E$!_nbZ5(~pU7Ru) zC<6r2DnigmXg%9x2|sAQxv>ecKQF#+O!J2TE>im#;FSO`X3Syho~U%=3eyN26PN{6 z*}SaT{p!?RcKh^oKO4OpG^Ixb2IoYIP=5!g4Wlj#YBFpedi{7j_f_o8X4FwwyX7d3 z>XO-^4lRL9IXu^L;WooAV%NE-CSD!kPA+B5P9fpXW-RmfN5}8-K6o6&gStUn$9%HT z1YdtT3{op~dgw`L?CC_WQP_-Ozu&C}>TPhkh($D=a<2Ljx+q^k%1K^qm-qM~(6}Sh zn^|Lw8C2voVOobKk*@BI*Nv!c#R69XS8{fVkJI$b7t85(Ygz^4NwgEr$4ujCyQllM^)5JQ+GEHPk_poFWSAhYDhb zbfL%)TSJ_%=+4H2b_K*qeH{Uh36)1Dny+3MI%yg zQk1X=y5RSvgf}WPH$52Q-7}0_X3kqZ`Q|xo^?+*`iJcBAIw3*#%b7G)Hm_RMX2S^$ z@u4M)19xaRv0}(5TB-cWOmCb4Odh70S}tycVsZRbg^k#uBw?_lR8}=(raMz_N{?ie7ku@c?sQ+6r$C@O)MeJ|HX(Zy7N8C^@{yn7~ zeOTejRqley`w4FD&^$8A{Nbg7!tt}0YQ(s#3*73S`Uw61odJWmK4 z*zL4RJLO#;bwB51o<28TPE#4&$}OIagdp^I{kHWiI%K0Xy|#FMR5?dqDWNbm+T?B` zwl-_hl)uOV1S^`EBUVOkjk_v*rAUg&vPL4Gd<5PrS)CZylu{NQZwC%vaK z*(A&d{0V8ZMf;8VS1+?IN9RYe^(nWGaIlpR2Zl@YyY{ zSIHc7Ci%ySx+SLXN(`{k(I$$|MsS_tbubG+D2NIkAF z6HL-(Ibf@zn%LV~sH|U}zs<0)9;pyU>y+uKX7ZwsS5@*Zr|I4r% zGus9Aj2M?b!=gKZQlKH_YGU(Yb?}CO8*=d(uF=7<^1O#!roF*AX-LX&>H&pT$^T^FO~&SG-xfhFE_#VyxMpfYSm`(|@3h0;dF@^7>eU zw(w6MyFOFEQIJ-Mi-Q&n83w#pn!F%v4_c_@(!*ha;6^^oXAC?;&G;iYRT$pr{xgJo zT29!h{-p@Z{;i87|F0liN#DxqeARe z`^RNn+35+d_wRjlpkq6VAUI#Y%VjCfnvAynRxdgF^C?gB$yWO<7o2iR>GfxU)4-#Q z^Y!M*I@l}iS}hmqnzP4yt_5CeaD5OEd7NJy;0=2VjeQY4YPB>A>_<`OVstLYhoQ5x z2EM^dr!&fJ<@57_n7HcIhM)={wO@Cwdy4|%dLJU`OvL(nim((o>9v9OYgO0czLTd? zw@FUJ4BF%6X^IZb1(PedAIO5$Q9M>8%Dlkf)$&AtT&SA~ijTmfidBW8TM`(W4RTN* zqEsgaTg4_sx~sAn>DaM)uh?(06v4OyS$yt&Fn(jpgo*c#ZL}=|XF3Yi9mG*4`;f(`eZitV-jrv~AnA zZQHh;S!p{fZQHi(th8+#o%@`9&$#>C?$KxW=*RCRzLyniMZ}yjrx91)9$B=#qtc7B zf5eGY`zm6;y}x%BU@~n_d^a6-QslUW+MCeDtkl$&bI<`Akj6Wf2H3Lw^ z1kbue#yL+?x&CvjX}u1a4QoRpwT-Gj-6sfdp->KtinikU({3Y>CmREl5+x_O-%& zg$dUHg7{lOMaZ5Hcci`+-d8gR=so0gfFIIjD;{FB6xU2)b_EpUdWu)ppWQLMhmZ#7&PliB9A8h==Yyo~9 z?#u^rzzufyw(NZMrVz6up=h-TFf5wHFfzO_iww)y_PM|HRV_8=HA=e13VE^@zT!(OTp$A7=||Y?17;^mx!xKh9}q9EBxmeg0(V7fV?quOU^kOi4u6r zF1^;olMnd6<}a!waenPLvxoLuEkNY|hy4A|)NRy&^g{aU{^dI-K}c;#1Tuv3rys8( zof$1Mj7|i#X6dv>CDbpoB!450siwU?H8qL4SllD<8>nuMp2s-PsJvj2){NW$Js+A` zx1S>v^|f9-1^v4>LIFHjiwdcDxU?`WUY^&A+QS9&yM1ucG)5i?^V=fHb zbdysRHGB`rXkwP&foDL1#l7QpFY0V*A`~$Qqn>8%dAlf9#QhowH&2Hc$W1(k-sNBz zf=el%pQAEJu>kKv8wQoDB{^|@S#&rUYQG#Q>|8F`i_upZ;iqncl2fH@4{Ss99Ly0S z3gMbG!j;M_lfxPp?%9-fQZmF*p=y^9{%cw6Si33{BbaF%UnvkQ<`D)FCa4OEpJm0u zO2wYB39ig)1AWneJToWdw9Ng~R2epNrl^rmN>U1}ZPHDlK2QyN(tZB-9_f9ko=y-L z@|qpAepI0>MpM4#Iiv=~p;$Wvt=dFtTzZG#TtOZ>b)?#po~$jaez_2pO%@!`a+|Rk z{T{!xn^umlq)WOyci-l`$a1^UTG=d&UL5%dt!ll-7>5UhtR z50)}UWl#R0Sx9xSv;H3hG+V-E=41KTE>wi{saMg2iplQXXHoeCd9G#0KySgkdBlC> zmaBhEHcXPY9fVy12aam0Ael_5BmN|d8jtKR`>e<4U@6&&4eEnHo<&rcbmROrJp2fh zcHG@hGE&Wf#RvVM0HYIIR*5eNJX>C72Zel^5HU`^ju@6|S>mP$h9^lxZ(`aEFjw~S z5W|+Ir_d{#8JaZL9#~5$Va{JIp_6GT z^%LO^9?TU#%&j9742%j|n4&p_L&~Rc;-C7<=;ovcNaHaWM4~TDfo^=BI9I$vt@zLzPDtXrKNRCmSrN#o3wS$3s48MAE3S#YsGwL~Z!c?nX zgTYH}iY?dGuyvHw*s$jTjVwNUBir_+Z>%4w=d=d)EpU7La0T+pU58NM3~5FLZ+2*7 zRWNCa;aPS5Xi&Io4qJZ`wK_J4rceoqOlZS|FS{-YpJ(fb$2TVlaZX>091$?iz8@CO z><@^>E2|&AaRI%OyOHULsBHfs$paL;fz7yV+Aoq=NYpg3=N1#r+neohnJnp9{L)xs zQB&f_-}@oXRk%H^^v=G?DNA~U6Ht-D$fp%o#~sYkzf&96Tbs4{J5yAE&`>+K_p+;Y zyGQKG&h$yl&dzT}<9P&$U>RTF?oH{P_%r;2+xX02Q7^#k3aIM@$o=8>1wy1ISuBzc zJEsMbR$@k4t#)+CuVKN`YxF;`v-NHoz3j--p>uji9du)t$3KVXX^MpJZCr<<0?uvX z5Xn2V>`yIT|`lME}|S|IaO>=Hhcr92}9 z$(Z;)1;`gSQ1n1s z+reo=s6V2kuIV6eF4#>nG9J?H8YTca@bbjal0D~z)9#Ero}!IQ zYPjGfbP1RUIYK`%BPOHc&g`~jBGDv=!kAAX>6f@U9#2lNT)jswSLhD@Me@=fWWAOa z5G41r7ab3Yt?_NTh`1(qbH0W9R2=l(SqoIo%0FthY?tWb9(T;<__3vY!~NcTToymN z9J!_=aY;TL3QD2?iEaZ7-sz9D|3>kxvgJUpk9lJxmEuYsSXGpVnJ(E9Q`#5PS}Ac` zdbjs=jR?xCeDn3JKB`K2r!{3ChFt3urr6LT>omL!FUfOrw*gA=45~jIu$Y~??N%{3 z(0dIeUZm$Avko10c2F^eqOyS0U0|Pz~ z!g<$jK!iEiKf6;ro00euzAYIRI351i# zi}%IRRlZ;u@Nx;4F3P?ZV`{@J*{PNtgQ0(s)RZl5a_(#5UhtH(yhP1Y0~NW|C52X9 z=+q~G+?3AlLX-8wHoDc=-Z0FSI0H0c7r{|*7ATa`WaYG`*%PHI`mpM#O7eJUf1$

HV$drOF;pIAk!G~j8um`s166{$@F~(Nh}`|8p|apIPFtU19)HU8RbY~6$D<$T zfDdD`U=4mU9#nnS@+&8LlyyaW&9@Z=L@ZzRB+IC`DkDLQ$T6hGlAH+QEJV?ZW!Hm_eiAa1P{))&pM&9GZ8tD& z$!I(9GSab2cKIju69Zjr_-J2Tm{ppzkkJSwMCCS$l0&qMJ+;@1hSn=JjxH@lV5E6f zujhea*i)EIPgtm*A{!hM!KB^PP*}OlB|7_*)=!l|A*u9zTPTOCE?R`U&p-Jc;&hMg z(VjDKqbI?wi;FI^5_H?ZZ5Q`vc|OJxjoL*gcC;nLZ_cJ;k*kdh;~y^b>onDT-|Ila zAp_K+?v-%I3(C(4@dqif%t;GJ#c&UlOgVFSzu=qpL0A#y55>9R=63hwqnMXS*rL<( z5Ov_EeP4}uer%GU;=$h-woQK8W=Ro4-=E)EBV~0rq|l7-dZr(BU6|>< z*7+}32lZ*a(9A1AVegF8ArYLH2)bWHPJd`343<+N?=Cl15}hNr#njY3EAT{L8mv$F zXn^%iztrozGlRwWLSD~TKfi#j|8XbDNghTn0fFb;=6QBQu4yfN;3_FRP$x6jaz!tn z-g$K_ku^k&nO}ZwSf^I05@PqY(Z|rNh5SX7wbaHmB8u#Xr5xYq6-jHpuAv zHkEs0m8?;iVHvNa^wcRjnDlpgno{h+49m32K-IeZ>cfm%WlA7;-i()`fHLL&{nne) zqJ~?xZneUw(FwcKsMVtGeL%_@C0jXC6tzv;$&8lw#qCpp(otfsXPRJuh8{fM+ydm?(D zdM!46go^W(2x&{PrShE|#6)p}F6GqTwYB=)TiwlupV{|v|EpOa*F_($J$KJV$`BT3 z2-^+F^9IO8;#fm#v3^E7k3)kRzg@`k*rW8BSVNMP?gEoILqgH{VcJgCef+13_f3S| z^ynsJ&=+u&_0e@5>Go0eNP?RBRe819jrKqwED-gLnyx!eZN0j^wl4IIEAQJ)4$@hT zBn734p-P2F*>DR|dEC;CRx4Iz?t?;{2)RWN*2X}-1UZxEm&A@Crdd8|MgQACnQ|r2 z>^?e5^F~T==8;jA8e!xCJdccMp<4U8w0fafmOUgrNeA|{-hIQJu*S!?~iFx zANB+BYj&PV<@XKJYcaz^ES-d*()r~nIPRFg*p`xePjhY&S6n!)e!MomC^4D6V~@(n zx>Zk$O9eNVj&8eFFf$$pT%QEsCmcKue1Qkib!(?){UB>TP}pqb4`?pxrVq#Y)D6m~ zv!u)v3Hi(mcn`-37%%%~m>UH2$N3@_@mjAXsTw&(ew+Pi3Y3lR7Ms7~ImZip4?}(% zWqlT0b2}kNi*#wV{|+P@S{BK87k!G-gjUWqVmu$@&B(v`$hH&p^U)P_oCOelVAffg@3&|yMtedlv@;bss=a$c?OKaw ztc3QQG39)gcv)^Xup2w2bfXjyF$x-M6tvrd?CTqDUno8=u}CJ}?NpSJ@yu26&KQG^ z81$=>v~jzXbCZ+>5Q{mD2MS=P+rtR3yfnL%#x0Q{bI&NnK`5-*M|0Jde?{2~vP{sY>|(tm6JGP( zPuv)NBBT0f8nQ2MpU)HNZZD6nvA2OfkIa?Cir_JVp8M-4I6QK)B0`ex6_n=b+fsCbUv>YR z-qv>?{9kH({}aj1|Hbt&v@-v{6XnCv9GM1u%aMYA%jn7e8$I?v!|_|$ndyIn9Ztq> zg5TPp&ep~bat^j`?nLzeYfiSMh^dV9Nh9upuPx!nhe_20wM#;*E!ns#SBfNF&%(#d z)F@n@GD%FealU&=qWAUVE2QhiNY`0}Y)`Pb>v?-?L4JC}2#iu6%#fIqTvlg=-1F$Ob-b`mW4 zBYf+_F$U-UwOyMHHP>fD`$Ch3ypf@DNE2fuX+d5YM!*Q!8iVnuqeY)-ON+~`n0NtQ ziGf%@-5j8ldUH3J@Iz&(IS`qF?637-m?Ja;kEYcK`QS~yKxmw}gaLIUrATu(;3Kpt z9F8}GetcU)@xXMQDE`U_yHwVav4$*a+*M_PEtj*vUFi%}d;We+w>M-YYhVHVE=vbe zJ+#^JuR*qS?;L}8{cF4a0-QzApBa7a6i&a?_tAp?M!zx;Q4KrB;GJ2K()*kLa@Wdh zvu3SuC?+SMnIPKiH%4Z}sM_|nc+9;*fMq4Gx?y3y>@J zL0}*kG*9RGCl?MCE!d=W@&FWHF47R1x3G8fJ z#`Sqw9>c-&QR|Z#+6X)<_n-1bsa2HkpdsM?5O)5T+em0U!c4fN{sZ-MD{s%=*Ifu8NY)PKM{<;Kb2;9iwkbvHTVwBF}8+4llDp3~m zxs3q@PLeZX&!qcGFMJ**hRztqH#A=$#xHP`yXi$-d&24oq{PTuPLeD=lKhSyA^f)%QF-|Z?I~F9 zkP2Q>8HNcK4C{O%XDkwF#u-~AROhu{sq8W$D9GW*xSXgAgIWkWGSl|gu)S~=SNc#( zgfbdyB%0`7L6L+>m)HiY;fhg_1?z8&_21F&{C~N4{(0>vY5#|Qryyz*RUzL8 zAJTzlb72j^O{s{W7=<(nQ)wwamvpnB`uY@0`*=vlGo{z(`G9Bw{mS~{oUL2lj09bwYr(#iI9Z9b?)f_SGV4mAX+S$st?*b!~pMUuM^T~ zbOo0#la6OQ552tX-p9V=c_>%p2Apfc+I71};lxnE;-U=;vc1maP$>YN64Gi!3+@{O zM1C;hn`ppa;96`j9$TnkXk!AST{r*gb%~kHov+)D=)V4^dZOjN9EEh_<%V&aW(En( z4Z%BR=zcW%xbbZ;8wNmTu`%f7CjO1rR`@amNA_K=%6A09zBgQv>cn)4KaWjp5%zJ{`l$SBCI- zi12wWXp&5iJfX<+bRD078&Utd4B?*z5l)4HNcc0iH~)v7@EPFoXM{I%G!>T@e!BJs z@#F!whQ$js6H^Nh4UN45zfq=VlMI_7~~ zxnS+TK~V&JD^l^_C*23|@39H~dD{OeS1YLh{l4mpnHw29{O36@RMAvK5=Ht<+b~{s z?$Cv!4=~%+@so#7sPTh>sGteeW3ezW`h%Ukw36!Vg7TaG$y4Xn3P&O7wpSvFmcH~? zQi#&6K-q1?ZLEYtn=1-L4qu%n^M?29{mGTr(f!HiM|HLjm>rC+klb&-fShnR3v`$D zIaBA!xr+=J^V4K=H$daY`k@Z3ARfkepnOP8KxjC%96HQOQSm{mHAWTBg?aFx^xC{g z8BlPn@l+a$pr?oQq}S-JTkqVFluW=TBQ`0YB_tkGcqSWKT ztu}>=A?)w8`Mbjwb5m(mG;{5>&@)Oi!SRL!_;bO|fDZ}`J3sucn?iu5V-ahfV|#W% z)zl1H>uz9=wW1<9p>I3chaJ1t<3LS~z&|7H?HucX|d z;ND9DDH$`iOdPZrtqnk09fw2fu;#E{p|bxZ5eL?H z++&VRyGzWGcoaOvcyB%P6mW(l^>@!iUNY_><0M*{$T2>G23g!mwPWm9B@8P=P5c#1 zigq=!Fl9`ryxO?Azoc7M?+;WnWcq4DB*39F8I#!E1 zOgko479F{ImqL)Oy1f~k4K#D-yv(s}S3@mC%zac#^#((ym_Sb%NRGPP`fTCq-oaV@ zX;aQ#u|O#{{|;nc=(EBj~iKJKyLAxNmcmy$Yjl>F(#XOi5!OwXy0c}nboEl z>Y_WIw9{D2{@hYeDqtc*uB&UnR%eZ@1+bfqEZ**#X&j*tkU|U4Dpep&C!|*|E1^SG zv5#jWtdx#o0w&LLi6Wcan?0nO;<5K0Lv>=;$)7`IrWoZB38TAN6f*23R9xgxYt40z zSlVP>5oJc1C-`Xsl)BR{T;hP89<*{;(fD5T*yL!%3_YUa1`6fD8zWcc-bHJ!N)&$+ zcoRCzx+rY^jPbA#h9sU)z#P)$#M z4syMs_K4Yqt=ifc!T%)GP7L z%N_4{dN02G-w^N8=|M;fz@~S z;)(WziG^22a$dhyy5ZB1;#bAVQ>hF+!u){)aoB>j?>WjuBR}n(Z;;z;kGGk^1f%e%FHiWRwx~zB+ zOoA%_$s<5_?FMfG-TKQ+=+OQ&6HkI8^j`5k@od2S6?WDQ^0EftKeFL(Y}br;O-e9e zbz32}J8gu-^Yz~l%(2v-a`=H4%Wt2yP zfr#_|^OI~Zb>qOGBuNN|BW3<7!?w%OWa{(1@dLOAQK?QWXPR$L2+BNo=kH^(b!*e# znx$4k`#uur&`qZ&6A6XEDHr|=JvY|5QE75FJ;5P<-}Yvv#h{pnMyVr z7OY!uDp8!QlCM~TBo1gKq{e@RhfVd8Jt5N$=b0G2B)`4`t|PjC1wf7=+W*mCkpLZBRpGdxBbHq z4o}1{iTRv6_!`_YLfJ3`zlLCb_NRQbB5fvn^;bf)7n}sP@g;jI1-nv5AQ?`BN#ksa&pERD{qX3MG%eY)Ipu0`bd6V&jjR6olbCnVy zBF`3v5$>}P(H60ln`t)|%w!U%gB+P;W^6#c#pW_7eZVQFynf41`1Wt7%shBOm@>)e z#}A1EAtIsL!9%EWFhQ$wxB;b@ZDixsv-~7npf85VNj)@MlFM(AcJaC#gA-;n2!=oP znAcv90mg+r@BvFPd~z2!^D+u&Tw{A+{X&E{QPl%ejfD*ZmkT9Szu{LHtfuoQ{f0eD zbaPwIGM1fj-kl(hkW2&?l(nFb)XS*o0)?~|ONtzGqjq2x8Gd871g*KDEphR`sZ(t; z;moSK!x#T|^MV4Hr{X)XA3p|Q|2=N>zZPEqdj|e9?NrZPkxbFQI!7;M>Hz9Fe2`B+ zlGpXfa+?EzR;++}r3E0Re>PqiJx-eFG1N~@1Q#uNQa>z3q^LBgC^b-Ub03Gq8gk=& z?6dpaq-TFHcI@0dP07^d(qPt1vUA=|y>VS#wensi@O~XNcZ1KwoS8G_$O{UHB9Qwt zqfV&L+etN>MM~?$s*uHUShc&j3FXvw8WKd2FjJezhT46p9g3#cVCg8OY=2fw+GGp=lvu zO?zj4QA?=R{$jl>2PNm2-#*eurmS_9PxXTZuxQ082_+%BHG*V2;` zD-RiV&6Dn@!EUb=)sw_t1f7#$PB=M00fq6Mfrr1#JMT)uS`PqsIv4g7KC4i5fexJX zn6Aum_Vr~M-^)Cno2fL+uJhE?w(&QSK+B;m%ntSk#=u#ym&3+-5i{&vtv4VKxsDAE zapnpTJu591;A=)X$79l#%(?+_S)8i27~pUi3)R8)W|Io*Qm+~3SGpj=>XrXB?BoKK z)_LQS<6y=)B*r$$P>1DMG|+$1swIOxt}oXg8@lKG6*u`JbU`Z%i2oY!1!h@Yxmn z1LX77Ba()IV&}*`03oMwdl3B=%_^0M<=~XPM%qMq(yJ(USumvk=GV9%L_WIgZbh^s z+jQh9FV6_&9?fsnTW%FWv+*7@5)b*;VhT=2c{<+GJw>-Rgk;Ehaz=r@hj)AMW8#Tu zuZKg-YZHm0YCyrqG*m@pyn*tZ8(0Dd6;g@+1&u{d8oJ6aI|)(wI0U6jtJC8xxDWC% zVeBb_1Fi3m^2GRPSz3ju@&MR{BrF<~#XyQV^+soLZB@zzrkA9nBPXtyX*h!tUp=?` z7QV|(?!i(6?btYlVQK;AM*t$Ka?i-~#r8(Jkz-?xx7wHZsX4xEX z#@MtXRR=3Ka>-L=lPOMGI$fiY5&$<)1Cv`2OzLSViLc0T4AJlo)6}WJleJUMO{u_n zmmII_opdMMpw-?Q%wn!Af(@jUs}YvOcutrQc7R)9&RJazH?0ZKZ+A448U}RAsgy#(VwTT+A&gGQlH%J)3g|A7%0{e;S z`+j3_V&=glY^MYBfan~m!fpjz868Q7>N?K)Rf|}Q(VLERfa&f@RMYL8J%epcK9lH# z{dCw@YLGetV)}?`&LQ69&%4pKVHS}q4fWb$_yf=xwDju6;b*Df8KRf?K!hipx)Y1P zGR(YF%e>mX>jGWpo%i4X|fzKr;EQw5Ajei6a3Au!HB1jseOlrmaEe5JFtx0;Nn8P9X9K|puK*) zE~-Jh(bz2DdkfX%^aUn6xrgZ6!+1xxHB?qLYct4yxisJ~*FXAebYB_E12<#}UPMPH z#ylbdT5F;t2=!t;a4X#dcc^s<>B%QQ48czz_yH;IcEC7qM84uxT)Le z#h_t&EV&JE+~ZemA<~MHcs);tPl;5@Rf zJ~wNk*Yszc!pp-esIKV|6Y|D7)|Q4Rf<1RQUc3X0gN`6v2j@)2u{AAoA#G&&bS0vE zExv|Vc=^CrTy)j2IX-D$RKjv)&=;=F!I&FFlen=&Y_W|#m0zUH=kKIxYc~9LgIB(W zV(-vAJ{YQF%w4`ix`+cFLb_4U?n=p5+oI0q~ks9*u`AGZP9IlqDb^v!Es#W<1QJDTMKnT0A|y}Gu*|4 zp*Ko5yhEx-3q-C$;%6jE&YIvgWZP+QtXE`To!KsHrwLPu z${{iCz7vm1UDLs;WY&Q>q8j4^e;m4C0^2%%1e|#Ft3l8U)-s8Jx`C!860v1n^B{NO zDQYxOBLTiY<4(4MMNoF#4S>pVE*-4o-2R0&#CfH>8}1}ua>GH6{d;HWtS@#=6B`|- zq%t)afqc<_>6YQXl-IdHv7p|A5zD4(WbIT%xk!`DWR-b5nOA*5~Xl6tXHMSwFF=beUT^8W@f6OljlS z-k(r?fRsTvUqjMwIlVXM;RU%&e576IRb{){NVP+O&wPEvV<(!A7 zF}1MxzxlC>?{x39D~E0GjP2o547#Xj_9Qa2lRK&gYt^-ee-Y71H?3T^g{R-2t8@^g z`!LozW7ad7jHKm%{d6a?PZ=8A+_(LIPHXyqBNJV19juH@jcxu9pDvWyxdzwov_?kx z_vZZn74Vv~rjFMpK|bLJdPZ{K(Yf!hTcN z$WziTFEABRqe~jPkGP3oM@dO3%n@5BUutTINj}XLTq3aApBG3cI7zpC%xty2&&@kJ z$jE;BJ4kF?O+pxs4@p9TGu|C`x?Z(EwQqG^ad&=hq3Qt5g!2Z;1t@_2L^g(iI&X4f zcA zNt?$OWQ>2*zby$*Si!_ep@g{Z*7@{E zZH3!SOSX03O~v0jAFpB~1~OpEnok))h+YOnv*NV$r^#mMF8755Qzp z{k^IrRjobY-JjcdpBoKnM2{*6-tLJAyrCVUnE+xXZ!?Li4>eFDYpiWy2nENlZ3tx* zi9~lpb?a&TfIPYjjvYC0wH+;L0s%b zW}PsM1y8O&dXVe}$6s0!pTfCAc94EuGTk9Qh*cB;8ksszQv#+;41W@YS!-ifYYl#x z4z@)oH@iM0R-Ue+ugAWx-41F4bICzlhn|=NSfNje9>~PD=eF&yC`v71pk}P{jgMUa zYD2arj`*9_B(YgDje4xN&C&kCF){hl*xGj4h+*PTg9{d%nPzT$g`uhQa1wE1+#F-u z{N7XK?A#lD(RM*N_%&Ws=e~qK2|n85M8_sKk$nd0OdsHsEhq%ZOKvdaTHjy0{2{W| zAo1;h0?5O@SKVK+eshAJ#wNyySu{C%FqELyOKni}hW=31(~@g;5x>UwfpXfx1t#af zO=-~3EyJdeX?!gX6i02W@`dv{p7Y|=T#*+puRdGuM%+tcJFTL@w8_i?+}nbI`6jqxQpADMB9HnA5>xocz_ddZTi0d+6w z-oMITz*|Ph+W5dHj8C7fFYYDFM+UGeQK1#+TPio$>TczKNUS}oFXa<9m#95aNFCMu zjMF1!95$-nM{+K)l24`tXk>{@x<%N1P&t4vYkH4~<85b4J5x=k6PZNx&KwTw9Hv;! zsXS*ZW{r)WXntM)RefALi-J^m;ly8P_%xlf1#2x}bNyX=}Wa zz}{Xo8f*{j`6YQ+&=WPj*#+T$ge%!!2j><}p8M>>m{b;VmfVA=8rq|5_*O-r8G%Z% z8-i47P@wqaY_TFxl+~r+qeFZ|bS7EP0;~|%*&r#bx_eEfUeF!$g?p*p=oaJ^+=Pkn z5*4AkojE7?lUZNA4Ux4`YwC@^r#*T{1gBr(haGEd_fn1Wm_@?8##3*jebCs2u z7fzo3yrW#!4T*QmH1p=nLq-=ozEz*%`|7Fe@cc8+cH__ua9JXCD<7oKNR!4f`f$wh zEBzX=TW}@h`+#ms0m{!)kWH%$A!SnBzb-fS+EjG@QD-(9&DKz?vWB9NIz!a8b#^P1 zEf;_>iDBIV>?bL`X`;(45v^@^B7Ln1}94mxJ5QksW0;zpr z;$GXv8EHMDeFr{_Dzh^Ugj)1rqB8jsO#zC}ZhBfWyuY{EKPS1AIb?i+aq2qNuJqN1 zegw%ySS;LZu`ua#y5!+ln{8)^=s2XgrJD5+hB6qnUu$lXeMN3OQ_`yV9_^fGcRY3Z zb3dcnZZL4D8)T8bPVcgVbtQBryep732dPQt254x|Uqm6it&nwvpYa-cAgPH z^k&$5=j-RcmP}wxK)lW0&C4*T)9_#G8x?C+OkpG+k`*K4_GJ`J zjWNku+IYS`l{W&G(3u7y3qA`v98WH8(|W*3!#IqoYwle3HtcoAE9R>(??4Ld=MUcm zj}Au2#HN;9f)_eRQwQCwxARQSyWy?w4;VcdN)!dLbUG`eSmS5B?b>=8pv$03jdQNJ z+;1-xuZXvc+EHNBsP-F^k<6FJiP%gO|4>sjn!~azE!U+3LRK>lc-Ww`h+-QmqwT~4 ziYJMewxH%2!@fFu089TwI=I%O_O}KA+?}mqaHNXipOJ&|ugfz^VpTUe!zqZ zHvVm6vNQrcwy!i`S%n$Ru6rEX@e(J1x7+XlIcD+fG@VP29-vbi$C9>jIV!Bmvvq(? z+?**f9+8}P3OXfmS{?9*&D0Q15TLrb@UxaIj~$+&!13h`MZ|7%pd`u_ng2JW-sp_= z2z8Yd4aJ8fAip)ph#=|KlVvFJPU`pDtvKv08Y{hiz8^vV49`-t@CdiE7@(9k1zqG3 zy0*Lk-QG&8_YKe#dRS^;p~P9f26$I~eY(x(S8>C-t4aJL}T4s2oz{uHq${i<$V1;-i$ZJC=Y-ftU_k`{Ax+~DO*%+-1n+~g5p`&o}0Ss0( z5jD80>|U$;QsFGe*>pY>7pkmL;=wme#@vW&F{(tR{ed$0Gv%kX?YZCTsR3tZ&%0%1 zlwWn&p-IUFp{Y1n$M2?&r|dZZ{%L8L$;^&@yXG)A0n!UcTuFIkZibQ}xcRP=R*6Yx zW;BndnkxXj8>-~Mx`c-%L+ul=g^REdrz}Y8Y9205G>(5;qDfy79ywY>8DGxgqauElGf41ng5a+n=!sju**N@n8Q%e==f zOvm&p?vd=T!-n2xy#oL{CcrMXhdK%k!5`B{qjd8BOCN3Jmw0DElel8&)taeku4$E0uc8NZ7P0bN3m#jZ-tQmK zeho>TC&`y@294(FgD0=?8CZiCg0gROA)gVSF&P=(2#iZ!P{H&K`vI^io#WN|M>^-% z%k$Ou041=ys1`DvnaGJK4q@46)ap;LVH>hxnUlCiF5hY7#p;f_|Kv*73RBxmC4OZ- zcw3JjrC`2A``qp1%S_Aei_A)mpgJ?v^sj@(88?Pl#Y?ew{2ApqeSVe#LOZrKRkfHk z`85%tM8&zL)8*g`Ak7hu-Q^`?^{huA{}0P&>gklBnmzRtalTER^98$<==R!(eQTpZ zAcD)(89-qV;!5&S^ITU!Xe3{z;W`Jy->7N4{2iTt;0xPo?Z5;oX{(OzNGMxODVjMzD`R&$waJOA+>R)!vIS zVNG_5$!OeNmSH-wIo*p{8YY-F+bD?cO4suGRUdg(aF#9g1m`C5i7wUR?;xhj{tpbC znHxMAXd~Xr7+T=!OHHP{7S<9c~!MvkoRxs{`uI(LBaLd z1)C+Rrb0#JgjGFE4sKecT)&{t$%a+D80cl22cmzK(MHKfnxp--m)RM;L>ZivVv^Jm zEJGMOd*=F+ph-24oh+>Gh_>Vq80={A)e$W&1zFI_tN4WJ@*674Qke;U6RA)=*{6zm zpeE1bCNP@71jLCG?^B#Lqjnq#pX`I4tJDxh7Sb$ELoo6p!dm!yROPf?3BTzNt67#F zQyoHk`lp`}XhVuQ*h&5sh?Erqt+KXXI3Fbrot_!^ftag!Coh`zTS49vlW|TMiCw7< zn=^8I;8^Tb8f>>ds1B^uP>20}!1|iuvne1Ifxoh%qb8?+sPI{3^iE)+9kFPw~p+zl5XifFy>_(hZajGTPmH zIQ#-vGl3;kyzvU%Z;I(wi}v6P3OIsl{nTj1yptg@$9UJH&OE?bS2>)Ho+V!Yv*(i2 zsa6YTJIds%33CSt-R31uSRt%u6&J0v=*vf6rKI5>*CBUdzN;9wGM;8+vj?M2jrh+X zwRD}J(y5AXoTR<=4+QE0HK%+Fz9;rJ%_4VNMv{4E5Bq( zT&lVxR-|fWwyVd~mq=4XwEjZpe}=;IEanQln2FdHlrd;syP*@EjnS~Ik|eZu_ZtQ; zz>kUm%)-KIbLG3>mc7)z?N#*CUuqC1f>KLjFq@OQW19M-6roU7keDYY+M}ES-0KSc z$nWZ3-UvZ=2^#wd;5W)VJd3u7fgV1$UzYC-Y*5jopRo9w5l!7wUrG%v&|BNxIEdTn z&ngYy+iOvi;p!d!AZ@KK9|H^x;-A*&QUD`_@n!ly6GU6X+~dpbfdigbdv;f0oBo(| zpTQw4JJ}<@iWo|Lcjy~a#i{oke`^e|3M?5*Y4tBjb;!vf0psdMzJKKN7$Nn>Lbwl|6N9Md2!6zVFp*j=GH#pnz zivRf;lvzUF2lCq;G+1{7@S9@~V_I$33%4O=vAkZjza-cjS3f3rU6ied9pW~gfRa~X8M)|@DY>~0FE zK!GkisfM8*p{T^4B8g}H1A_~qWsZS5qXCg+2P5&O(cnYof9uDCkw?np9Wwc{AS3g; zuw20Mg7`#*!Q9#Lt^I$UWW8I>G;y%>Numo|r$!&B;nyVQ05>Uf5RVg9(b^3Ip5xEN z^S4|ii{1QdwABiCP_UbKS#)gqDGA^NP=Od@fnbY{26=Ixgq=sPk#Y8@6H`HKL?!yy zoGXSf{3k2n0&|d<-HFntae3*|sF6S}EyP(t^54(wLV`J+oeVpBq6Zx)XH4QAlQA3V zP&=~>A*}{Tex*CF2i*gaUAmqLYevtk5OhKhz?j^9KcUoejm*=P;guk29|g$_8X9 z(R%*ghD68nY+PLLEXZX)&o6cC4>UMB6aKT&@B{EHgR*X$75*vo&Ne}&kCz>PaI_!w zpvyk&-}*{?$?0$j=)ZmgaTBMA4>D43IavLr#O!ibp+JmmZ!%UPirSUKm)UmR{&BZ_ ze{*x_4(O4khVke+SBcTgLhKxp$0x&VB2r_0nIhRdddoRcoz`u4A$kv*FN; z<$1XuoCD5AC#?5-+3_8ixBcCN=aJ6ohT=}i3O>qGL+;k%72dNSHGBwZ4{UmXG0On5 z)=mJENEm52Fl%WOjpe{og*io`wEbKY zt~V!@1skju9JOxa6CWLMNEX+G!;m(1L)o}S@Y|x4A6-#W^)#JhucRTA4e;cynP8_M zX=s)1DjGdhiNOTFL${9{6j7&yn(7*E-e@JwrCC}pn+UQaBic*)pr^@>gk;7OXHb{e zLU%?o&}Fb1uhNm%i@%UNX!QYc6FInviw~d*f0CrpYBiw;YxZg&%~yPq8NlxiW#uW} zbu8-oFsUeFrA_9I7*jPZ3W+`WNFc}i4Z+#O%z2o5JO#@(*`vI4QyS^g_T%0UC1>W! z5;v#E9CD!<$}nR;$G}NJlmRzAA3kUC8qz1eBcur@li;>Ld7_bRH}x7FL4W?5m4{Ir z<`6R?TT`iaQs<{Y!L#qPW~%~XrzrZnas4P4c+!p^_~zUdE$-$ZXQ1F>1*YG)D^=Y= zc1ku4cCkKbHgk%xMvN3)Fsl^cok)}&Dm^ii`6A|5?gb~6H4M$IDNO9--xm)a4>+uJFnCHhc%wO4>=~gTCKZieBPGdTlDj4MQ@MN~Z^A zG#q(ag?X>z1lh<(*&ytQEjBfthdWnxNHTN8kM#BnnfGFiZ(e5W_r&V!EpeCzF;ue6 zZ-YdhW=*u3V=&NmD7Pl-G3l=tDfVAxs>}Q=&N~bT9VkU(6Q2{$ zrc6*xG)S^)d13M*KzcU^hV~r19=!q*TW#2;;7hljd<7Wn7DDM`@4nYE)AnEKXMZw; z4l=_v`_~xg{bwny?ibB1#;iSu``aAxY!&!zkxu;KU-<@-dlVg_>^(p42zk8X`mOej zuU_l={XPQg3cUR=Zn?SUen1wUu|c-?NO8NR@eY@h0|1etlGj_7IXY9*$NBSB%Aa- za%q)y&eZ|#p*t*|?e(*TQuB zZMQ!_oAYx^ST07iYPHh)A5-kpT5RmN{dS&MS({4sU6RcM*TQQ|uO%|uKGdUuM4xTm zfrnG(rEto%=+tGV?q2d;)3r!{q`uR$>`eivKYPSin@i*=NCkDXnkzd9S{K0AI2X(0 z;(@s{O`ej<;pN*$WLwN3|7+vdV7Ie=|10I!sE(T6?knflAoKQX_tymP^Zr*XzX9H8 z9Qkc9bKJdaMV&$$SS6-w>kCpx%N2PcxNgD_D0jEq+lc29@l=p5)`IK#p$DY!bcDYL zsx?bgXSiMC(S^)T$W&kP717Y|{s$D!*K=YdKEKdS=QVL#n2w#Kt=F7dsWhdZ$a`Ud zE9ONB+c?73Mn>a5`9RK6!D^yZ+m9WXS{d1w7&Pj0!Pfh_lbX#zaiP6Z*1n<@xM9ZK zpJzqL+c4$cM)+?4nD;ewwB{EyOVSVZqkxig-ly??!`vYe`e#fnk{%LN@4HM7Bys*P zSeOisFy8>3tH;A-3Q56}26HXi=+dH~KoPs%cT30t{wPCmaT%NeMo{HpYNbJ+GHLC$ zEu20Y4W3HaxN;dynM*=Z2~B9bT{dd6jPOWVeltyPd5y;gIzTrN=Jb|THelPJ_x-xT z><%`XX^dNMAiwjM0M+6xyc$6cJc9C_&WLnAvhVzDmecfnWfP*cVg{xWutq?z&Gy$y zrxhvv>pWL1-zssn^;)Xe#v>4Zlxx=V#UFf{)DGKD8D5m6 zXvv)*ckh;n1YF6-{^_tC8}hKLN_ZHU1?$&To4hAJzRlh)JwBnhCP%bYNq-Y9))IrR zsg&6v;lEaBbBU*o-!tW;8d68JQ0ih~C`B22BN(TmrtA&Kj$~Pp@)iv?tr2*uBoWe1 z`DNHd^etdPL3(R$F2P$w##cX-!bG{bl$ukAv)A>vpH^8U6X-EQ{Woqcf$N5t zpYFP{*8`w0y7NHAHg!GbEoF6qcH~{wvPd*-k;D;alPu{Vu$qmzB*d%_O1u(fWC;g#ieOZ6sx&Luq@idXYDv0 z`l7$X^B=NZ@K1j|Ov$FnlKBJcdLLL<`Hu^Qe`jjV8B2x+H~dPyO<34u~A=)%FMFe*+2K~xe~EE`!%sBY$!%Z-Uw zOa7lPJCs$akP#(1ZVHgh-Plzb!$?YB7!JqAI5%4-J_@zXE^vjuaU!Q9Y65*Beke@P zf{6N+z!91Mlt!Z77=webCHf@eT{1Pb=vf~kB%1V6EJ`0FtuY=IE$@eYLYJM*)~$e> z=}+vy>+EX^jM}~182>#DkgqI|+#4j-s5ACTsPr6T96pH{xE2Ic zg#M63Pb-Kk&*$4m)&OI9wO`=3lL$TY09}6yOMY z;r7HXM=1I;{vG};Z!W2PmC7n|$yzd_$Z-TVVHSR{=)xc?!L1vWt?;d{hY_$CO&)}9 zn7nEp`qWZH1loW8b1Ig+y~fsS6v0p{MLKR`wcyf_vyintk9X6)yL;rT+lj@C+u%KV zC({{a{(UV{&p(OpHqzTYn@na^!FR9=2-!yv?md|z!cBcz8;Xltp-`>Bdz@R`NXR3~ z$EZ_=y}GBkdQ@za;c8hlDT-!>uC@}*k+3H{s9uq=`X(d>B?N4al3%b2oC-U2($kPi9Q ze&I)Y#=LoF-)`M)k=n358&LFi332heG@U;L_3qR`|I64Lj|HzJw_FnPd5#bGy}FZc z#6sYn15Ak}Z4ns9xA499ubD;jlz${y2Ii~3iP#&szqK7S~M zc7UHgss3+4D*mw=`FD((Iw`wb+L^0ZIN7_JTl|-M=YK=#x+d&@DTeS;c$;|iu7s+{ z&g6a|T*r}x3_=BUz~DeMkruE`vEjyM?;{rg8JX)G+ep?QeBmuuT%C9Mgy*h1gdi-ai<+KC zWuZ77!3L7-8?gjcWMo@v$7C$<+*(#oYWYmm%JB9zW_pe^u=X*vo?DaO;mA91kLzBL zeU;^AX1?SK8GD6Qf9RMEN;JHz18GPK*EB~k_P84JdB*1vcNy(}S0=bOgwzJ!FRzs_ z+sd(xKdt2NYFX0qckfverx@#SSU$sEpwsY2$+=J-snsG}8ZJ4D*VaLNOW1xNQ_5yO zyF87xrw6T~v52J%3K6v#t-4 zybZ>)6(wDMfWcF}@fX6U@u+0aku+|$8~-E9dfjX;j7w&X4H zB7KKkr@9*XSQG84eP4ywvcObF?t=}I*19MP4xZ!37=*}HaF7zkDFHrTSRA*UXS~mp zbJ^u9q_P3=T7*fRpZMa67MMIke<3{X9DuQwp}1qtN>E6Ye@7-<>&)}InYc^vv>Ixo zZ#!dAqT-`4QJsx^?y}QCdQ(6)VQreMdU0%AlpWqX%(QeUoSH z&v06nlfsd>CJx9w8AA5a^|XX4ToiuFb=CprAHbVKStdg+zgTi8rb0_U(%H_&y)dd6 z`s*^L0C&4M&$eqFIA+hDK}@{LOa%azlt-PDjA2U?-^s##N^Pyiyu)G?@=QY@c4M%Z zK&h+Sc%_OfgeJF|Vj-5t)ZG2T7Eg~xHmjj>=gG{t2<6nOR8(`f#l$H~!pTCErB1F- z{}CI5%n362g(6y6{r;VFkKwkd(pYA6{l2HE_dIrLrM~uOmP|<1xOR3myfV_{q2aic z!WKTcQ%}#XAbh4Z^#PaiqQbOVSFX^gw?lulZq{d)Nd-QQf@RbMl;H_S|Bbu~dn);* z3Pv{8bs#|7g{nRfi#7r-{5fQXcZ$K0jMdXB6Gq?txSZ_PiZg)&QY@qk!QOtx7M2H< zC&rF#u?|V>cZUEPr4@d(+<2yJ6hC^TT)(^+>YN;+TGMRM5V^K*^zAm*IM;dMcxzE<2GFdsUJLBDn%I=4S~hv4{?59EhbP5Y6CULP zs~)=}Moe4`B>hbwuyXbQ&TV9t5-!j(%s$b|SUQ9pOpQ#pDfQ&joU#VBa-#baj=Q?q zOu{RSY^a---bfVg3x3DlgyZ9kQOy3TI}K(KYta?wpEI)ugVVcyBHipN4R$sQe;gHH!mf08QGY~%0 zkD^SYqff$^OO|Y5@t8#znr;rxKIB^PvM58~K9SAZFKM)3c5FR8@N>^@Kq zSel1jJ-8?pO>y8NCIMAW**(Lp31!>l`M3YT20(gQ<+=)9H09gQZ{#02H7tylNZ%Ds z|LVW^>H33O$%N7X%Ik{dO-&l`$iXLQt>NQ{l8O{Fjg{YcElVMx#LVC_`J+grEO_%7N9H4G2?`Ko;r4|+VTos=} z#HA-bDGj3wY>B{CuQe~Fow=vu71N45!nTTS5M7DnP|(^??}w%n#yx`F{K+^&=7S)q z4LwZ0#o+mf>1Gsm#v9>>(?@_;auv0OBz6rk7)RnC!oQiD>!!HGA4`uUx&RrEJoojQ z^mrN2MZ=3aryd3;c~bF+^+Z`(lZYXzv{~33o$!pIXeb%}Sek&sXiXT2hah)4=x6^M*7O#9+L~ zvR$kK``G|kVgrUvIDO~3rgln}WInAe;#4CaKQ5}$uVFKYyef`pncy&z^ zZcjW?$?=ZMBGzVd-yXriIfr}P70#SW`L-@9!yBtto81}pBCYW>#eEd!0_}o~@23e< z9wbg51bxBt0M;ayB%v;H4!iy{geVhz4uAqCkeu6_2WSn3iDlYRc7qGf5RFOV~N$9x{hMbzHK2YhHs&7k)c1CD(R4O<a-;2u<#b7U0j}C93Q`(UT*q9GX#ZDfWe3%MG!{$0(9$7I?6H2H5JJs>vf!g z_qwyP>zzGFQRFwaOR-Hb`HT(3gK@K!>G{j$7e~d0%cKL-{D)T4Tc)E^^Kj}`&-r## z>3Pnxs&&sDc4~vN>h7t40PeL?=Zw5nU2~Eut7_56zU#^n-5mp`8GW~8 z$Wb;axKs$XACjab<$a7FdxIdk^^xx}dOKZJ>t$3T4w>7%gKvButM046MxrO8b};1z zr@rYKscc^W^j)yoCbiN}PB5O_owPBjKc(LR4dR;qN>xKE&i6nlA>zR81Ku(B zHxHflWNMZ>gHYQ>t+RU?AKQ!(`V5BI3)Y|nnU|_;QI-S&qE}u3dx8lDyJhr&GHtVv z#VW`Z9VL~L1M^C|h&^)fh+-@;#rcCIM*ZRMrq&UO`m*sR0NgL`ot}EESPc#&*|uGx zWg>hLBokr`IDHu$Lk__C}6xs=_%B2hYSF-X6JriW&gD; zN+ou)_>c ziunoyzqgoJ$R8F=FjqSEp-;esE2~$ktFf5d*u)hrDr$ZhVp@f>7*a^d0S?{IKY{MK zD7T9$^~z?zdzk>AWzAdOrLqk<7I&Vak|4sd+$%8FL+p84{(Rd*x<)AduyKww5rc@o z>QL7bavv18W6bnCPSg2Q>{1uLdx^Z~9s_lb~-w@d&A<>8%s)QD~$A zZ<2`xCtCv1-YMQxW@T3?vIo_T#p!LlqjhROju7N5a3CR9^+K^y{5zs70y=Fw^bY}7 zdk{U5XD*RmQ)80VqKfh^h%gDV%-00)HlC)Td+J3thXon1bJif|hIo55t><~Z@2(;8 zaO$5icOU>UTOl`Zg;{i5-bmonm7(UG2t8jzN-Wk{9zjQxnEQ;oKqK7HZ#b{bw@Flz zsX8+%P3$JBvO6Z?cXPo3TWzImrKq{VLu@@~iRs6lj_UMlbQ(BXQFOgvb-R#pGjG+Z9HK=V}W3ETAvJMUczpg z$Wcuo6*4h(s41`}^IU|;f<-@TgCDJK0hq;1sdu+@3%O^&Dj3o4NvPFFdI~rDtb=Z? zG)frkfJvEPv>~U{=h}J*wNap-w-1l?FuRn((;fw$L2+Ev{Zg1fX06VP|Z6n1q*aA+dCcGhz>pj6uR+MvHg_K8FcQ zfaO@6RN%ch*1&b%207-DcZ9OIki26;9KKhOFnR9?zr)#?bEbyarZWJBjBun-nCOJu z91vy?Gjaebu}B`DqRJp#6W6N)_J)!`7TqCB5>oOC1TOLDxK?O*icsSx;y_^clh1_Y zNIAVF=uDA6Xfks)1`wUkE8GD2Fg9;l+&l|cLcfhl*a(pcPDtmY_9cv2UXD?vRjV@T zqSzVW>eTjH4uq~A_tDyeHP=C|QMvH@V)(Rx^9EibOTR}+oUL9WU3il9+nKrn?R78D zxw@9#Ce$Yjd3$oTxo(IUTSYABW*;t+U1^}yGyw)FGa=Qaq#HPrcn3&exEr0Ag@2+{ ze7%X3YdeCciHD73 zFxH2Jtt8RG)gftuCsrrGkdno*51FB&J&S@+U^zdwqzE2wcm!44s#)Q_!XvTn-oN(G6-tFe6UxUocQJ8}mNj3T0 zfHWgZ-cTIjYC>08XxlV#JX8!D?8NUz94Dh;FG|g0S)CU6YyDXagAO(jv2TIAVZ;uO(ZMTE zRkHD@E8-lwY8jyIm6z4Rp{L>-K$|SYg@nhQ!p51n> zw+3+gC*xcdnHK>#NKGBB^(NT(4&9eVXqqafAXQUfW91oW*jCf4p581$!_H<3KL_Lf z@JnhF@sj;lIXMy6F;9}-V&Oer-*~4)8!X5lp_r)3LY?W%If))SBMSleYUu!g6lV`< zrUNs*A2DR}DyP7VoIs4AOB659eK!<#3G)#ODfUbh!#%fHL{l?#f5$YF39*-ycbEO@ zHy@X19dE&>kFhSo^joq9`lwvJ;j|OQ@Q0;5>!#9qdH(5Z`UW6<1`W0Edb^h%$T(Nn zd|XnnHrqWLn1 z<%9aqAKdc;um8#P?O&i*w)8SJG_o-jv$wG{G&lVxbpHWXrExiIMx=KDtTelJoq)8o zbl&GLuM)q(6$oL7l!}t1AosO6+vTj58sitSVK>T4^6{QO`BL~BIZ>3EMzZdz_p$;+JDq8N}1B;uRya~;&X#_Cy zw%0w4oU%3Y;EI@ymGw%kDWB7DzRQH??UfjJI@d7I@o0n{eutlmLNdkTbsd!0AmUgMpM5aq=?}Il?j5ac4O?i#|-?g;| zUDQ-v>%LUic*4Z&$AyA`Dsk^&r0nz=vbq8vD(XK1?_1^(hELXIS-(tUl}Jj2tD;fm zfU-Ijh%Hc_2jbN1>B^zurF7kYxZc~V{K5jxfJzF zP+q%A^;d__op^AfcX`7M)kXX9Gc&QGvrhafO4?nXI0i@7lI?k@)D84NvX98hZt4{H zmaxx=-$ZqKk%R}>kxQbalD^2|T#5K5reP!}8N1$OQ}wyZ_OxJ9sT?CUYb< z95(j^l^li|V)~|9RS;>CTNak&H`ex26-eH@Ksyl2ws0u;aNCmjRbnv-6UFs5NgC^S zDcPA3lQ&Mbzl}011};VktxzhOuuR64o_uY{Q0HR`gtK_TmwyrVUQ6OaGdy9Fhc2|H zR|t<5>7Y06Drbu4onIMTS@`m%DFN2ktNHw$D3-vfhC0Lg4vxJc#gP?Fk_Z*i86ZEw z?Sq(Uc#ShZH>UU|4CN7jSVawNX^Ia~C&|*s7iv>i&#GE#{#Nm02S%~3{BPG&Fwvm2JNAzb&b%nG~5}jufb8dv?{}gBYU0Om2 z1%MGch+TGiK5RU!zm5C9KMZz%2JGZ8vgC0_gvDSqScPperONiPWr-SFy{8PnU}@27 z#_a1aOs%amXAmrY#)U?nbudtTv|M!KMG$kBUqJ3sY`}?s7=zp#UQKb}81^;ZaJ!Wr zjC)lDlu@`Kl(0MV9D2F+{1~YFVGaDUqt_sgyy%FJf;HpWY!TN(rTv8zJ*w_^2g9Ll z?bb?4D+NHj1-^PH{39E*?y?Fqu@^Vlo@^~BL4)irZ)|C8in-Mh;SJ6sx#CC2CW@)C z1`W(4D*C+&AoNNA4VUZ7uHZ?RxF1#mXx1T&t)kgY%F0`0NU`jMS2fOA9lFGPZ-Nnb zXkX69&E)x6$Ii#f%goNkiy<{J1M%1+XU#@EgZbOCjVV1ySwhTFYpBmdr0?pBgK+5d z>uZ+UQb-_#gecCiz_b`A?*6D3c*CBOa# zz=+uKb9$yexG9=QcEH zQ5cAAd+mz|L3Jx$!M)Rin|R0}beE|zJ30OoV^XGDB&qgef(gqNxV+IbL3RvLg)vwn zR$Fu97f<+JRJ?O)a%O7M9-?$aA9jN5dhUU1HXEKxDn7JN@#Gc~x2+7PR1mRWJ}>~6twnKkh&Ro+K_HKMqq@R0bG zBEm>kEdK476XzM_d1b;F3iFQ&T@V5VY99_CUPzfSo@YwvAZ92{GX)wutz#G%bZW>D zouc=I39&bYG=M7vIC?!4JZZCRgt3T&)5nNu(RUGr=S?76ETr?9tL?MIDNnsx=Ca|jE1@?Mjqq~vS=fV07#mty^zLe*| zii(4gRc3m$7*}DUj0=|O2|g+;|CqK`8sIFIz2L&e%rwG>jqjwJ^T1NiLin0tmxnV1 ze_r)y2Y~dEA1b*P!lCxL7Jk|h=ejT;jZy1*Ec3Z$#+@vir#E^e^+O-1aeamA-uHFc zJu&1Qy+~lFqvG)lYc)9VUDV$8{fLfuwmm*Q*o*Sa@!kv5K3yzpTzqycN~uAvP^ zt^CK2tSDXv#x}Io)7RkjWcU2XcF=CLB+w7t=#CkbPVgrm=Sg*0;FOk1-#3P?b+)vqwJ2+&TwH*&6=^v7WkR7EWpHnA01gFEg!kbRVD_YDE9=b!C z)_xCDaaG)=sJf^gR#k8yPb@k(?e6U=!EsH+5WgDmMu<;|#tk{dUuO4)W3i+v2KP^bNGC5qB`h($xUMF7ROytdzS+l(Zl}?=W+3%!jm!7)X1m!q-KI^E50{+ zJQ-!Z=7NT|Ki>e1|P{0`7P$hN-qAu$?e;dyI`(*puPg(8d`U6 z|KKRx1@*6=x+afAuw5#HA9~-wnjP!MX9Nqd&7bVov`Rev>p8biY+Zfg6J4?RSMl}u zyW~E8;^m1+-f%TLhyg%OSf9aZ-{x^@elc~9- zvx}4G|7d%lEY{XDeUwpfACy4h|8(L%34yTFhq;QSo9PEJFjX-$a{dP|P|;SN6+nAe zql?G7$lcN1Q&Umvux^|JfrSW|uV@XG$fesklFEK38JNc3lE2o)cNl~oGWSo~UDkll zkIH3ZUgvGTT)WSt*XQ>Gi|dsF3{4g1>54;tST zqMoTnLZO}N2z5ZBvZM0$d=a(HW_ifk*TBUqTjVRBTd|06y1QI;;hY#h07Jijljrf1 zT=J;G+!Np8XW>b&@<);!rcp~~^GXcNLBwN6m_97I52K1%0O)+4^LSLCE#^?&lRzK7 zVka#9P$F{1e!k}`HWSR7x{t0$WQ1^DA@1Zxp#~_jwWGGf;vn1XX8$g+*NIbmtden! z0g=KARYu7HKA+4-U!^|Dj0nWcQL&vFbKCNh!I{PRg!*@YVOV*0_Y*8aDyEpfx#?uSv?HRO!(8hF^p0wyypoi?ID98x- zo^8uXI+_|`$F$mam=Gm%`zIvM;Hc&dx9ZXns0_`UDJ)0a7?daMgFp7<4_TmxAvC(7 zQ{R+cggL^#rm!FyZY2`e#BUpuK=gzR7~eIrzWveZ=>hM!w2#F8ATM3~KA zD#Cn1%B-^)s#U?A`K<7ugSTCTEjSt|zlG~sLsiiL>CaNKcJ>7UR@iX{R zy9AH)pIQk`aqc!p<~C8OLcfd&y0sqN8HG>wM=Eu#$G8@k({C6L#hbhlqc-eO+@SU6~>GxTP-j_@4c;ApcCVYF%<&CjWvZ}Lbx*? zL@|R5v$Q?4_8@GN&G&gbQZvZp-ByLyDqSlfe7}cMA-vtMbR>P$hrsTu_^2+ z@uVgvM^QC5-#M?t?bivCQ^J$b^b>(@?k%LDL+YH#@*1>xXo)n5h%|rw@GWNJ(U@?U zbcsx4aET0xQ&ox=wu;CMPic@&m&^Qt(j5d^pbzE+u$ZXU&?4d=m zs?8RpQ_MM`8z}o&m_6wo7y#ZG5chc*GFF{r8l5-p?SjfkO`{*2WnuiU@fjl z_lrAygZnq8$B=UR%P5njub0YD=(R8pVz{tIDT-AQK)OM$wkRu*rw1{0bPMxyxWA3? zX}e6nhj;0Xb4G{(@S)1=t6 zqnBg!RC+&a*OU~!DA3F-EaOI>pW8)2m}IG|09wx3Pb#qDqMzU+QzyTOj7^ago&yKqlXDCuhQomH5exm}qNXCU#}UcQ zoZl3!df0+%els{e^ajn6EJ-v>ZjkiT8O>mxTw_OL;qLA}dc4@PI3Y4J6Tx()h?~^p{5!Cr9Ze{8bQdzMjsg}zbWY=?~hgyN?6O1aM(ZTt@DT=8+M4e+N z%EvmEX>6s|Eol+6RJJ7I_Fe$%l1@NEPI^KNd9oH)9WAS(_T&#j1$WxonV$K$skQbd zdZWED2zymgnMg8^Ce5?l2Fp-DAJJyA40Q8zl*vNuZ&h@U>Cn`xI_Me+5A>2FDF$7- z8%m0nq)FErh%Z%`Sd~@qS>8XZtiqXQ3;3z^vraR*l)q1=s zS*^E)>t|4EA{#MHt6MF)+Ob(DaoTlT>5?V4%h%}x)#RQy2v%Zw5qVl<)#X=JU zDvGnE-Z>I$Lol2$)}s!mPCVb0g zBJ$RLZ~`mxO4}M_8VXfwglYZW52A*_X@hXOUVy)gUUs9l!KS9Tls_zZ8X5$fP+8O; zTp;uiY4?R;-P3XHgTV?kWI-?tiF=63olky%d)hz_)@>CY)+Ii2+YgKL7IWyPPBdrj z-S{TtX8|J)1t~JbkRW_i|AO4^KX!p%_wqc@ahg#kA^^P0hw`IJWL2T~tr4~EB7cz& z$sM%cU_ni}SYg4gB`e5lTym?)BW_C^@`4-98~gPtebpP+zP;1^s%!P-Q%*~#{B_al z3*4sAV{MF@8y@XDLDfErRcI-~*4Kz)l+-KiYJ=l{*2wvYJwDPmJ(y1rd)kN8^AM?iHYE&KTR!K|&s`~BJcQ2vwh zQdj}v8yu7hz$lEcHqZVfy^34*T+;U&Hea8@h7*l{LLPsz9#9O>2e(5tAz(^@m0tv` zw)0FehF_fHIsIC_XuE;bRK(tT;4qCu=c=>Oz_YnNlhX1%o;b2MbGvQRv2_S3gHld4 zb#wr(?^{CO+XdHc0A!^1it)x)_2{@0L;t!C&ZU8fpwIv(36P1LT@Yu@&Yh<*R-|*+ z(rb0*ATnd^8XlLPJaz|+j;f{52rU(;Bv#N!*-z%%*qM5_FIJu;_NY{ij^y7 zTf29fD$8xPiO9U9uw)h>c0$nHOveX%&1sm?ATs!>i;llTY}Bnp!(X9VB2~0v<5@0r zozB_XgUJHbXvb=erheKu7Ab>*=7K_AKt%00*ZXQy^+PAE!gPU&k>_lFvTK;^cme7; zr_7^4oxeTB6th}Gmb^u0Z&$g6s+*q152M=Fifwbx?a}rl$S`SJn6|Peg=ow!WaA*I=cm}dU5@_zrn&54TC~)vjt8L8yrWva30&Cf&Di_^IDa@ivAhxvim@u{GHc+?s(5w8Kkdp&U6t;HDzK zmWtCiqmewnA^h~P$6G9;hSW=r;^iIxa@u=`@|eEeYnO0TrrH`$n6#tOpAbY&)zza+ zMJ|5c*gn7uX-P8{7dimn$7A@1JumgA@{Ue&W~yqXL9!u>NKB?&YaV>N1J)8dggjUU z#A_AAyWGG7bRgx3NL%59F%Ii%p@6z#Xph6`?-A{ZVvmW&gpKkHE=~#iBM|)>EfA-3 zX0tP#OAGDUS6lD-xVc6aKQoK$L6s&)8K>elrf=Oc z!)JsS5`k)eXeB$y6=ZF%Ui6GZwaaJv$X6Zd`n{Py+<$M z*C2jTLeG0;VUi$L_i>Fvllwuxuqr$ybX|WsL+Od$p*|_gL*Ye*pZhY}tZK4_I+NsF zYfFJzwl#7?gfT=AM!g7kw$dnL;1aNK9yo}!#+NW0} zd(;V~;P?V!g`%nmf{&O6x|TUNIyBD@7hj+Q$YN3%LZ7IpTxkpxw~3rAF+InD+PgkD zX0JkC1{Ozv)8O9t>8GhDmW~XrMH8_-?&Dz!h%CK7UCY+GRGIGPCT*oe3LF`=?GdIS zzs-54^QPHg?V%^p_Td_XZ(_!sY>5+SvB{Z7l}j6RXh^Jeo93`fz;7Nz3qDebdXVU9`#LlQf}$IcrwJ-cKh46mm*^Znr18pY z84KsTxh9-R&R@hg|N1!;x=BX-EzU*uqnZ=^zyFJpwhlIbZ>?mhSlh3Opz$WAvd65_ zNM}reRbeYF(UQthDn!f*wb@9Ju$L{BqTrL?+c2Gb3}USYUR9LFX{nI(oA=ub>2Oz= ztu`p4Yu|KSa6UZp9pwDU{sU=%eo8mUaADBfM^cQL9{b3Lh_=|?voJx7{1u=~tu(qr z*XPlGJ02gvzCdn%dt$ zDof|un~T2c3Q@+=*VID@R3<4!`Z|{Gn-;dlu0_-8u%!w%$&hI;F23;+lI+D^X)?~V z79oq(pE9arWom=6ccb3po`i`>`cw^5msh-H>PWXCINH;W_p!s!=QFO4p#Dxa8S7Fq(QwgjV4v%>VPh{B0?d3`lq<$elZx^$nP6@Pp0Pp?Hc4s&O~Y! z1URBA9+!H^@m7u)f=d8*Q0Sk9jg9NOJKL7e8P{UuM$nX)K8EOk`uI7cdKvfN_38k$ zz~O!!-aR$7)9nM1T5@L)cZsWpBzZ}FLj~Dx`{Ab?-};dCRj}_n|>FiccNodTi*R zMlny6;tP|Nn-yw$^lZAF>Po9vMFtBK7I_UXxVKOuqmPt+GgRyMpMdJwF>aP#a}BU` zyW~Z}9x!CJ*cbB59Ie?&hFk6PYNNDrMFcPV4hPJIv7bJtXZRL;18dGY5ZOC3n;b9P z7&#rEnuk3_86_Xifcf7Go;dhwNH_Yw3M&$x`-W>jLOodZ0CexJ!0G;dMf(F{|LT?g zC)e-4=;FWcf8M{V=m~yE0GK{fU^xB*;Qs5Nf9tqZsava~ievgg#jzTqizwFWQ9+SV zReMwomPeR@Tv%LNst8(+ripw+JWD6im9bwd= zhOq%L^bpO)yd?oyl-BqZWUNvAqdwi3XUl74kJAv#E87}q*t+J_*g(kyuQfJ2^h=JA z3_l1aUplbd2-=NFr@5s99U&4`dt(0LL*-*droUGl>#DQ9pAH>;9n@tJR)?EjD;mC9 z-Gd8ai#HBK3`M0ML4(bOZb!Q-Uy9}hkn4}BlMt;=$=WK>4?qF~3|D1{xRQ-9mkofE zKZ#~Ay;aZp{6OaeT$+|GlqsqHuB|cPRC@7vinM|a#oHX9AA3Iu(L?tIrhbHx+dBIa z2B;l>@c0V#|_^bRc}yh4vi9R&vDY3wAeQ|JE2EolUlc z1)rthsDxz{8eihGwX8uZ*oyKKMvi()C9{X(TNCW$xB}Cd6Yp+92rwzbcx3MEj;HU) zY^@99jP^7$;ISQCd=Sq{gnV=y9b`?LoB>>SJ0(3V zk60|aY@>-s>XnsrK}vO$>_Gr&ID=6dn!|A_uN}H|Rzo5Q>-5N?8)KSdTHT%C4abKV z+jvFz_;=*h@&q4VuTqg+L75f~N2kg%(@CL&q^u7%z)Buw#1a%3!zr~A^r+I3OPLL) z2a)s3&ul+pt{571mT!8a#>5MD-xD8%n5i~;Y4T)=^&L=^G6E6Vq3lKb^-=||*n}He z3BK>Tk!m6}d5%P-`Sj0tDgr+NJc+k+OgEc&&WD=_Cr(gC86}F zu*7@hJBU*q0nD)}mw4nwaq|_HlsS#PhnPg6 zS5L@q5chKs3*sn!8ndsH;r|bFZvmBMwml95(%k~m-Q5k+-6cqOcZYNe5~4IncO%{1 zAxf8&AR#IFe{e?c3_5e?-uwI3`ev;?$l^Wc-M#nO=j?MtvzD5rbdiWPUp~>-B?uDn z`7jl+U5xKh8YK)|CCaKA9s7kHH7({*Q&Wzh4Za+ekY`Kk%35&bWa>#d4;>s#s2!*_InhGuIcsS2!Rzp7{j;`Q;0a)_urhS7lGR6EgN)_j zEXAS~Z8d?W=mzf{tMg!!w;IDO({FTWHUcan>Pwzz#_mDG#3 zhbk971+qPq^;HO8@)V?XdGsVEC%G)JYv$x=1Fl6mtoz2;wqzHh5O;-M?oG{-+I`GN zAdL2xw+q?mTN;Cn|0)hmo7ouNLVZ!h`8JS56se>I%}Le?1K+-@4d6D z(_4ZswlCK}PA90E2%zl2Ll`9tL9yO$?rgQlxj`g8+EPK$?5R;LAR-2P9yTsA3t%v>S-}i)W0k={?$8Fatx!Oe8HxbDj;i z`JUzM_C`@>vny>Uvy~i{C}-Cd4Eg(LyltE3&pkZMX+wd_!svD>uKbtAZtvaS<#WC& zcn)O6Pl4J1_kZY?|6B%0RsQ|K-_~8FY!#GlhHNq_e$E#-x{TyX&yZ3|3!KAAIresl|nyDm$ZBpqm z2OqkE3qCEQ%FbkADiQ~l%k5kU9flRcn>R@2Y522`AtL0iFdthNo~J3d4j))0H6%O> zH}D)-O0p?LXEMTr>-35!UL-)|p1|iuew<_Ml{x2+P9@J#b@+mK>}XoGiyix=w{%#F z(=EK`$w@)e?Qy(>nK^AdPLqA5edd=9YU((KPe`dfl54`fp0>f$i97>e)mn@?(cUY& zg_BvZaa5ug%(U5sR6>f1F`c=Ap9W#FXyndFhexRFuF#iAtr5?6UK`zl;^%^^8lle4 zIHL3Wh}s8!9gVLHBu{VKfG+nJr^*n^wuv86wD;SE=I|A#MK(Ao3!Mk=A|8JC@w`U& z&-pnNS6_l6phr&t07^|DcKU{v^wx&f#!mW08%hca)DkiyYL!a)kd@Dx;-^+WW)1nr z4qfqPWGLC0s9G2($rbuP@sTqz@F)~kw6OOvS9Gwbh(#26AmQny<)dh00HY940i#g; zvgjq;y$dGhODFds0ZpC(02laX$KOw>>YDs^OqKpy|CA%Wg`=&F_X{C;Fd_J${j2cd zv|%w`Y+Gc6@iqu{?MNo$+Qui_BYLKoA|1YUgM|L%_?H_yJC>&JrDIhNnt@X=&C>qW zZtu(yX1KyBOjTves^*Rf%i3r&JLFhO`y)ZzD|fT|c)f{fv7~#mC8o!qW!Gh6+ zQd#xB72AVPgFI^Akrm(@QJyWjDo&VwY-;b{77h9cp>p_{JL&TEN2AM#fz($GMs-5i zwJj~nBTFA%uhR;)Nl+f3K4#8D5P&gA#XF~(1zS&RD%H1O%ltGNNg|NTHuI?+QirYf zIwCrw-PWphe548Uz1qo4XSyLyr|9!hAjF}TPP3W zTnm)aqDP5kVDSvWOr{6eRGoVrq9XM}xY4vP>#%$4_5(V26c{Sr`5B{U(LO43uR=L| z`)(U97b(y*LcZsTKP*edB_{0`N&fyoavQqc#4-57GvJ-En=CUUjQr1t)#GNY`}JZk zm#d4x7<(HzDqZ=`^o%EP2d6_2YgpSk95%S23m3%;{aT8=m$RL){a(#$(Ch81poc#& zvl=&d3XeHj+Vhp$7<)tz+ibIh*z=&}6kSQI7yJEkVWyH?M3cnI1u_YRI+kfXQF`Efib5?u5+`af4Vq(?^INz+RW(T)ra_A^M0(~J~L$;u2!$_|e9%gD&T86Jm6S6>gc+VyQw0=+p9E||ccXTv%`k9nJehlkhAN!8)cMJZB z1%Dhz`ZwbY?yiqJ`7>fx6z`NIWen;`A@BZT)2Ii)^2Ef%b-+W2Q zL_2H%BRu4Cqr9R6X6}N1@^V%Dv?^T@q?NPPY9m8qA7r>fbB+1A#5s>xWIG`b$&-CT zLz0C8VwzM6dn&j|HTQ_rvQ}GooF+?Yal4I@oJy^DGX!VT0fR$MDrJ~=jar=Y-RK|C z8T_=keX}>q1zg(l_>J0}_B*_~;hw&FJhUwOxz0!valtEiawi=3D#9d5_r|;>nIA4_ z(eS~bjhWRWD?5)zHfAmYv<1qnq6B}|ypejv3=4qpd;r-0Lk8&D={q=m<3hp^6JiG= ze9#JCUO6ublT%TbCUM?dqK+6!7wmk8v!nu+InUdJ&!8XzQ*h0)_Q4CSi9xg0WQsRr zZR*Wc=OT2vxum%7se_nDB|m*>%8fOgJw|!t{1_`yxuWGdBHukF3+R88CW*AWr(qEn zc;nUp)&l@={X^`XY#j{EOss5OjUE0a#^0ioH0^-Q5DnG02=(O|F?JZ2c`eu1^#V~l zrVKM1A1Mn&1;GN&Drz<+Dhf7!Ispn6CcbynR1^YSPg+S^DY-}xis|?ZsyRvcsams1 z1=L}RTh*ZYwe1z+L@6puq)rut3+*%+|q4*VF;f z*>6I?h!8^bBZP0;YciODYC6JZb|OY0n}H5Pz1eH3k>$n(afy|2RX%1MD!Br8dlwZ! zWa0DLV5R(hELBBxPU+@^W?F`L0%mLsbw{;#!#4k)^~8VaUAZfOAp{U3?iTR>#8AFr z>7;LE^#>$VM}%O(nBXDCyyX=u@$CebHKi=p6l7#2*Fq7S8!@yw=Vq?G`qpemJT(+q z7E9W9>+GX*vu0nfOJ02DMVIU%5gxSd=tD2e0Hz*1;GD@W5W9zVyyISOn-7an-!MNvw=ZcK%}Jj zcY}>>be(^bPD0E#6A?X2>-ZGu0V0OQ34&qy5uGE-ZigC%P;fpq7!+C9{6jHCtL@h% zSU;sI){ucYnoJX=l5)|<3AJL|Z}tbs;%O}PFg8VlGsK*T=3rNoN{zYVJX4F7toWBj z_OiSv=qcC6F0sm!v8+e}hU11I!HsUd?7(<`Vpq78m)*YJwqMcf-72vMk~nj{V)IYn|Vu?P*TxJ(S0{>h%iyI*Zo`tf+#twLxoda*(p=!)mJG)UB@a# z*(p~at**0&j?c3vR^d5GTHb(lfvvvT#dnrp0=P|P8N2-X>xA`tE=eYK*Ou2Acq1lY zoP1t&ru^Bm1MTw(hybh31nTPlCHlwywYZJhT9CVh_;ZPSU99!9^S_qA83Q`2A zeq(N~xVMO%Tpd~o_4m&u@+5c7#UHa%IHp#gDCepY+sY2Iv_;`sR{`bHymy{ zzX^6HVagBI^%I&%QRa4}T2_d6QIwavmFiM;JHk>#kGm61S{}4{lw+$v>x$bIdM_9P z$%qWmC=&}ph@9!LgoWx97mcIZyO670_s1i(v@Tq8Hl=))O$XbjaBDqTw(xB0kf_vONzCAi}mcm-gDndVAlqi78lNm)S#+((Bl0|w$ zK+B0vQLN~WIZaalim^Av6Dsvs^HGV&gAl1lUyl_Ea*H9~`_M^kRwN&?YDrk8TwdO! zter}SLf~)@$&mLhV|VK3)#j3%@DHjt#+N9orA&~|t=(@zP@Izs zWJLGcq>=FM#^_pDz8NriEOiDF6_oT8o$PWyZ8B@`QydHuaJK@>=OM-+$s}feR#dUP zAcaLKzDn;|2V)|ViT008pb^WFEX1SpoK)z99mQTyio&K0sfltohwa*3pSiue@XB(4222 zWGWi7B3L%FL%+vHB_3?O*TaKVse`lIA1TVb)orXhqnUVf`afSqTti%Xlye9xc|5O0?v$#K6 z0$qdg)X;_%glD6d4@#i8}45H@Cd*np6F`d3_-cuK%^ z=`3;3PG#9{TRoJyI<-+(@Z{) zSPg;iyNkvXadc)gH%wjvu@n0dC6K!ZA&f32XU#XYQg z7#Wr<;ig@@T14|Wa*^)I5rOQ>rf0$aoVBs$9oL7Tw^>6`Y;rQeNiJ_YQ~w;k zSpi7D06_3RLjGTw=^vFx2Ot4h%G{Cgkp=b4r^mtniRfFHN(8XNn`SY))whjRRXHgu zVgn2M1Ld_Ns^+H!efjUJ>h`?a3p?TE2&TVoyBfoJMBom)Mpo5uD5LbaOS}p4eGat) zmnveX$b31f5qzmZWaK$JdCw6^j=UuJpDD36Hv*buzxkp+P!j(eC1`b(c4$VAz*Vk! zey1caWe_8wA(1LEibu7(J5N)rIVH7GIiRq!IEBA>veQ-y^BA8iX&=jU?coY7_#kpm zg3oiFZ8Tg_Jyq7r(QyUNfc5wsj(D@fb0x7h=@T$-xbTY^oKV|E`*#K2oFQ~LWs}@fECBZ(>F?i_7k-ZmzkF7kyM-0% zjuCzU{9SqBk8^y_48O^cFGBjxpdik;L_e~jer8V$!@ZCw3HHM!sS%xT)}LIs9Ks#( zoYhc_^3M~cCSRZN$9l>1MtJ5RV`UZIb`GN?PJG{+>gw4deO3R%6xh`!%$3NP0q*7= zQm)))zFQ*po&D4X--gNSdk(G1WLnJ}K-vp{e~=V@BmTZi{zd=>KtLcNGQ?Sme|cJ$ zrX%(QBNEx9zxnJ?ubZpAWN>t_-uWl`tv9@o zNS((4y!%y&0+h_cHri&v(eo3Y6XfRo^ZYT$XD#5?$&dEU(PokRYo z`2W(QVMMee1_1c)dqK=NqIqtZ_7%#Liki8+&z(Ns?_QHJk=x{J)>Hu4Pp2-^5fNnd zAvh3Lzf&fXFQZm;(N4BE zXVV(It=JPXdm(5Q{WK6-D=VPHt?-1{DOT>;Q=>9ZsfuJLc*Vzwj0cSL!wSgx$c+kv zGIQuR`exobDed;}7uU~xS_zi+FPqLT+cj}ZPW#6#(yy*h6*wPCJ65%~aAPITP6et! zt+i`*$+!4&i++}0^Dd|qNQZxY{$jBvA?l1K+toT}lJD|Jl1uAz9PnZ7;>9pZ5s-sR z*|>Dukhw^>0t0bkzoLgIx&)N-p#^Rm%-*j+2)`V=$Ea%!E1cxiYr69uF&izK zfGFT-qWgKO+Z^nTASO%hOt2HDoNPrsw?kUK*t=g506Cn zX*RnvvEzp!jCb@>rHaB{4nhl#9&0F&y%-%BtI?O4%dn!S1i|xF89jdWRxR~|AP30P zPN8>f6Cu}Dc*SeQ*w5%!k?g!2$n!sHIcIr1ELAmCX$>m01g>tA#YIL}5(S=-u_C8) zK@?B`kf_!c%M2XcMuNsF9nwYEf6Gpy^MtG2+lI>PTkCy_xdy|S?o zXSn3VJ!55?3&{RC#ik!9{pGGBbg1Ls! zT8H|QzJ5-5k@RFaHpe^K^ux7f5mtZ8Y zA|D9zJOTD)hO?CT@!j2u_8Ym&p15@DsaI9D@-(F?mFJmdLz|42I>roh?V2+^jTYFY zPh@2iFX?X|Y*9hVs|zGL%fZOrV>rO$AHJXQpELY>-t$up(47(`4h8Vv@BlpiFXsC` zvF`7swmT;d4|epAoH&e~gr*~~mknI>0fz<(l9Yl4IQEv`oOzBCleDlRI=^~qvCs>` zOi^YbH|f=}WgCROSzQH-81|Zu5+~>@(AfOtu~of2Vg%ucWmL|1tdE`IA`J`Ya(M2c zPoU_}c=mnHc$T>KsY}?dX^xXXz8q_68IEE&aKDyfreBD6TcXUkeHkMn;(*dsxb$9K z_(KBe`dnpg3vD=FH|IXz2_-H(%O29j#}l{ys?V9bqH2=%Ip|!Z?V!-_v=WA1_Zw;B zHb+td7m6XmI`Qa~zG@w+LQ5q55b<6#fos%E+dr=T$d3jofpDm|6TeoKD9D~yLtirE7h%o#R-XSQZr;X7Y z8QDM{@*!WOgLIng%sQ_d@<%-14(wT^?d{9>_{T3CsI|Np`kL3t zcP6v?cLEO`>a}%D=Hx_CNQ6s5rZIThTI&S%Pi`RQ<~oPQraw^``njOgm(!ae!8?%o zAyXvNe|RFu`bgHtTj1lk5DP2R!}L2n{k8ukmZF|=0tW%H1>k?zIOaPa3~CD=bNP$3 zfe=7~@LSs8=;3h;{PHV}11GxEIG{r^aaih!B6`rMEKe+Eb%8=AI#@Wg5-oJeY6e;b zqL&{yI050ZAa}eHt`sB$fgtiRD0BG;nG^DsV7u@GPz2Q}J<6;Ro3GDH=TZ$LCzP@u zbzF0q-j+0<@^dKS_U`eMIhQRi++qsqSHw(NIvcZ%Y*bb(+7{b(-SYZblziF{81fXa z-`0-ble^qZGv%`}a3EF^l<;Bq&GXA@jERBYTpSf;o_{y9zLd@?cjf$PA-;&<{eqlv zZ&Wk(QM(`XKJ;-JG9@kMYL9s*4|(T>;(}_6`c<@`8@&&GgHrv+C2Lz-&*t?6<3yjN z(=*K10>Xp>$|+vXQw9(BjTwoq!JtMJt(B1$nn!-GXfu6GsKZCi!8@Wpoetd zy($U~R)l}CFmx;f)-3hRF$ESc4JJI+4k;WwD$qza2$a@KJG2ig0L#zpLGyz}WTQ8w z4&f|;&BYb277hbY&|t+?kYKP$4l_349jGyET}05#9h9%N+@PSK7%b;gPc=zg(#MEE z!2AiOAth_!36lps^5Yfln_m^{hnnJsAtmdwH;*$yA3u(-Hc8c`0VP$0^!GgnHqJ^- z4?#DX<;Jd{;l2IUVLECQh>1Y9^J|ucu|r;3VLr_i(c2;d&vjje6lR?6naIn@r-PDO zSDFx(_-e`3KLrVSOo+}cm`JGNNR*lJE=iV5!BgQ$J1wQ+OXYU+)QAVG0V$K=(3i-4 z5jt<5jUm8*@y1X+S5Q%lRD1C`H(8(ByU6_1w)b23I}2oB4>>S*#s zy3F_kB7`(Xja0Nx!SVRu5gDENpP?avr9QSg^F#A`g8;TuOXdMC^{-=$(h|^MR)o^a zm_^38iqjVTF4tu&!aHh$!GV&vtf+{LfsBZfD!xqoDS@lu*5b~Hol*-~RQb=ptT*83 z;f%jPE)RyN8t#x2u9&M$=hW{nic>BL4gBqneb2}BJ;d5XJlgiQ^Bs>s%3WkY8+aZAuWesk~x=%&u`;XmV%(>cS2R8s~D!N z^UB(U1`-LMZJwX`jrU>L+iB6MCr6S{i{{VC-S!~Gel60^PQw_&xLg_ zJZ3)Qgn5vWZ_XmihFv1~#6#yoWE{E2;LyHU9DwLDQNWzYp@% zgC=nG4zMw`J5Rh5`{&%Ow^3AE$!bqO}!l~Uwea3H2O&#oO2=L3VoEnVTol`S=R`Pn( zQbirTci%{O{5&8MEvJ3fpaMeli7$BZxW$udrid$0SpP?^{%|jZMY$(*-iZpGDJiy# za)2r~nk9q-reOWxB@P}VQ@9E98%WvfajNvVuPtf3y1Cnt4};Hud*0?feY{4aJt$=XhDPSdxIlmW1X@-0L}xAP{<3P54&K`yjwWi(H@F%gf5E`R8)A>w(Rn66UOmfGlQ{i+{yjDY#VT9c+sOKSqC|1FHe4#T2bJ{_zm47r`KHdqR-PAg%t(1Eea8l0t~7 zF~|r*A8RmWM(H=c+p#&Bjd^n|DB<=k`WkAF8O<(g?D=O(7Uoz<02!kmjE!^S- zwdF^Ho9QHjLim_P^5a~aVaaxs_n?5ck8uta>2sMul_I^$;6;H>|4?t3r}@w$XgP_F zkfPy(=Qt}k8trZkLMJ03WqZ@U^aS(Hih9rs7@_O8UWN_s2C)#UhYxY%V)U>ODzGDA za5&!(LeT1g<$4oTL+9`l61O&NbdY%)q&2&#cXU#q2N%JDbV3sei{e}`u_d>03NVr8 zK7&YxGiZ|}inR~a=hF<@Hz+U@fQfb}k2&oCI}k2?p?a={B^QVso5dDXoy|y@TU~$^ zALqeI8l)98o)v)D(Lsrs_{Gbu8!1lMQk6hZNhV6H98611rGj*N(t1dmGumCA;3=p*rwI+FvWNk~*XS(VDBISuf!B$I zq%emblK4mg%$F)-C@Sdsr1>GyJ>eMoq}lKJVbO+G8I>?VbVxxYNuJx5fv)JB%TDAH z5^t10XO%}&ma=$H{qkg|`+Y|Db=P~DI9k6AJ}>a-Y@;BB;^&m%_4NKaGY0h54YkUInb?!}_xI=?UO)T^| z8ZG9pk*796i^Np*gOLX$sPi&2iS{FDVF3wCLnjS@Gi`f|30I`KPRTg-T)kkh1(D`;1uu^(HL6+YR<@( z7k$blv7cvWjV%vF7$21dT57&*7D5P@Z>4Od9Cfo6JKyQnMVoDP?PX6*Onr#|5+AaM z5Q~5SiNj_dS{`2j=FOWor%&G6>A&T3U>NF~C!)-F)?tX2dfC{*ZLDzR1 z9U7LAGNbM5F#GhmZjoI-*@O*SwvY%zX*-?|+c4_o#!E(ac9SEE99t_hcv;6J;eCeY z>2w>35E}KeKtu89*GowdMqe&T&N|O056eBiTEw{=CPzde%kueN@Xj~7GI%wtD^G%S zRABpm0Vg-ZAFf;(!e;5bazBzyt{JPVtq#s?eB6U%cuaIKaHf`&pm0G!;OkHhN~;OO z%lu3=u)RHS?z|w}{m`xmw@tgen7JPR;!0t$hmHJdEsxb-%m`E_AeZq`E@X602w5j7 zc@GY48=9=oha3I#m0p4@2ZQrHJ4#;4S4cXo?tBBej0#BCTU+`1x-esU!$;e1ziz$> ziFVi?6}aSeJ)NI1t7ujBP5%0_xp4?rLaxqz(j*|R9474<aq0Gap@R^Ml+|CLgSJ8=ndb1Toi>ek=4yyP z1EO@y%1mto-F%Zfi$R*BkjGkXRJ|sP$qa}+7Lgq>rrJg$o6{gMh(Na~8D5LM8ZJg& zVIn_|faMV~c!;U?O{f8~KRmp}>HdtBmHQ3-Qc z7uc354v5U^P&rHHhP<$Q<+OwrZKg)AQaY2DwOa97o8d0!-S5EYaaHBoxqU+#M<(rT3PM}R5;@c}7gtDyWTSdO{ zciw6{syZ}PT!-ll=WReQO5kVVFwA@{reZOso7GV$r$6B_(f%|yL`*f)uEfy1=}V;P zJFRVLL$b9OTrc~$dAJ>cW&#+JHzc_)MByH4q6$l8fqF{`HyPrkphr=%#~GQu+sZlg z*nVH8W6Kp$F3*O;b?9`}rW;3*r0|r9$YiY?4QxMs0k?!2DEx!AfUSWf{teG+50YdDl^xj0Zt~J*| z-owe@M80L|PG{TtIo+$S$tM#J4aQ{sUlgi>hY@y#WKRq15FaG(Fpyr~idvn9q-$** zCCu^T>9O{vQx;%~Rfrx^;Yg{t(UC z<*M(Yz>T|OZ@RshW#*Z%ghaG=jW4iX;pGZtPq{0j|3z+i_ZOhL^6kIBJ7#sS+J0}- z;it+CUg8_~6rk*u2!J9m`9G{<-kYa4nghPU4{JPA!A`hr82_JP(fE8A^R@-#}bpta^pzbhrpdZih9FU z!eElL(3raL+LKe&IW8}3M0YdX>!iY>``TvzeIH6c-XfA}iX(j(+IwjaiG`eoxAc(& zy(lDaBkF=qCtEBbHS82TlG!V+sJx@NEUOYVNv*QLBEa!V1m1hlkK6`!#p=6)Uf)ZRHroKS$1Km7JEtDL1-5OPVT7kFjD<&Fz55+ zt8?e$&Ygx+`qyxM=TIPvY~YqUo?8i@O?K!^H8-qd(Vr53vU>o(2kDC_=NS(_TzS9fb z`T|R;s5tEr(_YmcEa!Ow1e3^}b&GR+-Ahv}Etr@1N}Z-3HZNaf6pA9tuYovLO8A>0 z7p$tkW!d9^&Jr?uSoL*CG;m>$lms;V3rkf5b|Vt&QFY0*mXUOOT3EfgXBPiP-V2tK zGJvcl0gwYe_J3sh|7b_!=R$nlw?e$_m+0Huh{0`K9@zvQrCkyrCE4sbONu&!>& zgux-e;h?|5V9;*(B6*{cGO{#lG3yrv-Rx3!srRX(11?@nSP(+>il-~s|D2t z9co?#UfNhb(JaDpjKr)8(#oJS8TtE4`*_ED65Al zUxi$|Rufh8nXBSCk;CJY+oswyHojX7+OzVn)r(rW6>lG#FMJBhLx{CK)b4*ZdD8VU z0;ZE(u>ubk;#Ph-oN?4iZ+uy`{N@7aN_yEjB#vz|MX}L^{sqI{rV>@(#qD5i-4LeA zBrd2CLIc%@d4utobyHK5P2zO;h3VL=d%l>0#5Eox78bA0we~a@87t`D6z_q4Z4e`U zC;gxN`kmOnhYQT_ANr|h;(ibKA4d`WBs$pqiF#eUvf)^J8a z6#(?I2-vM<`w!;%zLD^4bN#dGxJ>{dy7#_1R$8+4=f$gp9HP+oQo+m1v)PtcXP~vp zB6X}YoiBI0p*QCpkrL6Gttumz>mg!Ivr%B*>SJsKO!mL65NeHy}9ifNrmL=Y4{?5Opx);fp0g&^seTmrb=T2q zSsRAvE4m=NFyeFo(SrRXH>+)Bn!cbD(|95}wEc)BH~ZGvOS%h!)8s_195>u;JtSld zFYplijV0Ad=ei)->5_g$1e(bhQZ8K073eWuu&e)efh^BNX`Uh%z@K(G z@A@N4lz&t0GaC3&S@q!t`Wq=j=+&B7BF;AJ(!-^YY@KF{L^^CFu|2L7PtG>3aKqIL zObN_5G0Np&ReGB24F)3?|B~qmkK-*0doM&?-3_gT4ww>~59qzPw2O?rmYI6Pi|a+BaRqgAV5V>Ij!;+lYFNxgbW^ z67FK}8Kkn;4pB=FpQ?U+%MCGzL6Y7%F~aFGN4hYo9{9!ZqDg>s=Yuj<2petcI|o(* z@+#bJHRteK<{BCdTLONqf)a*FRL-6L>lWX7nQ;iR-~uI%n>Jk@U$C9`>`e}r#1JJXTX z+_YEg>e=(*Txs0#u$EboB8Loig{wC7jZ%V@Qkh4z81QdbzHlAm*`{@S)oZ!Bo*(Rd z@^02dG_<{$f!8mRvpQRb*4^Q1Ab?eZiwUNWDOR}}!M0F-Y;sPOT}v;cyj)DYhDuP+ z@J)y+n{r>(x0Besn64>j6Bnm4el zzla7nr|$Y*k6Jwa0=liqqLk&wX%m)w!AH0&POz8SK{zZ{Uf^m4J1Ud=fwdy`Tsw!Ti zyW8TZZ4TS9sXikPb3`J}hZx7L*B46l?e-+>1J3h*O;lbh(HqnAN1f(KTAP*L4Sz>e z=(sbKA3)4qOQQ7uM3n9~PXM&>THD(E7TBIMA%YPhi+ailmDkM17GbeqzXX-^BWf!x z?P(meiL6;*SoHkLK$P?82~keYK-cpkil}LSl3nSX+z}oFu)GQ=CyNzHGva4!SaxIN zZj926?Z>b5avIu)sO*E)4$@YN@L%hy3`Sh=WS54_b0=K4OQms(m9si_<3kcIuHHK} zo>)4b;{y;_4#58)Jr*~XZ^Ri#RooFL;@RR~T(aPN70#3_ia8(n04&7==T>LWz{-kT zxryUQN$asLT)=n?=cV?8M-GU5%DU7XoHn5eywUs_kK-ufq9XalGlfQRp?UiI)V9(N z;PzK-d$!Q73e>=6b9C%IWb77$rt7T)I1uNlveu+ar^qN2Y)|f;9_>}Q8uA0k8UjED zfd5i40n&8soq@Blx_>3ax#!=7D5U57&dqfus-pI?+mqpzEL-JTQNp}{xnk{;H zw&pzW1NQC_uJITRNXM;$y~7rG#@9{68G}QJdD=O> zDH6@^?)8;;K7C&34bapDfW-eso3qUyCHOD;^epS}S`CJbG$2VqgAWd{Z*^P@i$B}g zkJR5;VYIN6bV3-Ox;#z^g!l*XoZRP+04uDga5DRDg%f}kzR}UEXJGs?@XZEauIzk{ z(p4OcyC};VX`JCs_5*(Gp_aR0m5@D>2!|BkYM^>=)8FaTk&9gOHAKv&SY4WCdc@t3b`amb;PebEWj z&5h86fQFMijKM%IJ&b*}ZrJ-Pr=eqNcgH9H~k>U;4}r>2DISM}NsKpoRA5RX*_PADkxr z`=PG34pv5{#x_5tTz{N{`XA2mE${kirZHtX?NeX|d|-k0*Uso0AwRJBZKm&un=X?Z zldhwkzN?Myw?F*eRvs&B^MD9G=*$sTq|VX5UP_e+iWf}_c1ln~q~0?$US<<1jJ9IQ z)Ji~?r-w6>gYX5C6*yYCZx_8DYB1^rZP}NbcbH`DSRvym!F`w3yp~16Vg#bHD7*@S zhpD?pcInSEC_aS9Cw+9+IU0DYmQxor5Fo?^N>$zD8+n|_n&~mzWz*O&Ldo=E@Q~IE zCVb!wPV*q%DB>VvJxBrcS|zS#J+j9*oBCy{a()*~{4;~j_PrIbY5eMInNSBX6e4Sm zDz^G(xHIA!w}uoflN7n1NIQfQyRIaRKjg|gyR zrK0giKdc?{7)GMiLXv**SJmU)K${NO9uwcfFVYaG5tUR3%5n(gKk$l%8e_vj)wrJ1De}=A=Cjb0tD!GcTv=#4=vshTtJTlI>n1Xh(?zoq9sti$@#?vL+ zc|WHa{1oMU5tso#)frYI+E0hV!oXHf$yCxsUBt@3N1-YSrNc{BLCM2U z*GgIQ7MxnMBqRPc7^|=(*9>(PCw?x9k-omUiJ}GUkXVpbF^+;vS1w#W)i0Xz|45+f ze@Ec`^zHv=6uL_F#~J{XB>*7%-&1&(w*5?*bCfi!A0cw^S(?GC+SIlpk**99X!3PS zlEr42LY=|eOI;mMy;YJJ{i$V2qcq!TN|h0ROvNl$f*Dc=QBwKVO~}^H+HL>PzUWKGylO2_vBPmAL>!OaXAWQ}|!#n-xvi z%SzLD1!nt1E945KbTu4553qNyxIOit$n_FO#qDoFqUjQ|iAao1S`RQxKS)YuzGiQ8 z8MrPn4MnRf54zXaHJPVybeC+u2SDsUBGTH}R39jcn*;yNVbPf4U?sY3@9C`9zl-bnpU8Yt-<&*9Suz~|%#b4I|{*o2{ zN?d=ziRV0bF)0|hWJ5|_E~ZFD)fghrA)&!qMg!Tk>;?1#W4+_eTQ)8b-K{vLSfm(6 z8fUmiOzKLH)f;zxDimm61?y>Ho-Cx%Jg4-(jXtK&?i`>vn152-+STS^t3McOyDseg z1oS9V-;(RI*-0M4D0Q?WqWuzM4Dp*z+x8z7YIiy!-jN&S?y}%%)(`D3KEuRpm*rk!8w7 z@J0JP_>*HfkAQIYbKemred6ta%a!LHlW1{PNthg<1ZET=ed-J>fOD>fGw>`=57Pw?iPc;UQzxNF8-*?{gww5&`JPFfCBaJ*U3f6 z|8}2Tjnsflv^+K4NGL}kqtXN@mF&o<^q>qBb!q8(;X2s8)sycTj>P{FcHiqx{}j7Y zMzw#39rzL@(iebla)1Vk13&+Boxbl0f7ir8o4~s?6ywEcidF#>f0lrP>I)96X=ea@ri^#md7H^mKWO_{1Co9X?{c=a?s-rgMHH z_Da}dNnik*Q`h-GSc8JmFcHI}@iBt_6^2%%OXh;ivyy!Y0&Y{E4DHv+MwB1mM&b)nIk@HC;R*s)LtN{Zabm~B_a=ISp z3*xIvtxtwuuC?4oA2xqXOCyHJO&Z2(UZJ<~?_^GW)0*_*FuLA$GXz0_`mMS=tI@Mm zxR!`{gl>had)2tmD^eIifSp1B{B_v;JC*##)_-}`Z(RL*xl>Ei6-F{h4)ur0Gf2_W z1EMdG`%N(m%YLPp0BS$H;a^w!f8Yq*y=eG1u1qdVpKl+SkrGg(zpnKE)og!qV>vJQ zEP(}nus=8TSTgPTTHj6okEu;*9_E!-3iKS;MJK_a5eh8)0Tq-!)Wt9o@*)A z8Y~fcbdx^s7)<6QW&9*KA3NSjmbCt|Gm$s~D#Glm868Y49v1vO`#m-zMGu9F!(}Qt z;TO-h+=t)dwhe%le8{r1G7QKO9+3 zw17Oo%kDET*g;1PVNK=^KWeF}av~$0c}GVjE2vu`$s#Y;T?q)HAm;Lv-Mpn{*L`iq z9t`17M1U`OXu@-E6ly6r4HhO8tH)ilaA=;Icx(w}iJ_t1CV}^iM247aoU&oZBdX-% zal*zaOhGv{8EL!d83o(SXy3Gmi=CfAZ>JP#ggEW`2NON<^+i3JZ?Z~me!IkmBtLh( z=A8Vp_=ZGs_Ep0M*x(xzSKV{w84pj#axIM;~ zR3xOyV15!Nb6b&e4y{^)Z7Q7nLN4C0KSBnHPh!eUcvUy9?ZfLsMufo@@_>nFun7;u z^-;qw{GLCI97K#98ly{&SUT&2zQrd>b;Q_-nWZZFcEaeZq^u9i*=HY!> zXWsWoAT~Ryz>>b4m)hklh#{_|jzhdCNOiz)xf=pkz5@wy<<-`^ax)3dJV$L*2<#bg zd4kssGbSiK1gobG(#(LS>Xf=AT0Jd3@|qh;mjAP+9<7=f-gW=c{coE3J*WZfytDdl zS6{&D@sf}!@#iuFs}Cni(CyXa4xf?LUnuW_`~J)9qnDaJf2eBrovKb|D%6s28oV1* zWF4Q$`9aJ{&uYwV&~Sf!$!N{Phwa zdu53vn^V04bNd4%f_LrB4e3U`&&;%^{Vi~ctoE{ZhaExlx|ht{@KX}pP;~t5UPL;@ zlTuqmwg1=JnSe!cWC3{4cpIW99*KAayzoF#Ba=u}@FFXUf`~_S5l0vW24RGF+n%c^ zipLsb4p&=u@%mzP(ZqNpisBkc@K_~Lj6@-xctt#Nz3S=entszW-94o8W_WZ8XZ?oe3cl~`O}E1ui`xbdJF zS-tw(JFDUSkoucLqdgv3Lkb_~ue%#Yob_Rw=UJAMojL>tKMoNC!Mtvtiq2Zg+rMqI zMN2!}s`_TMVa-Qf0z>zAX?&zS``Yip%d7<>c7{$qxG8Vdt|PsdPTxKL$uHd1;0qNi zUmQC&ZR29QKrlZw$L4#hI{c8G z@afK+YttTgx?1(rF*ww}Gqo zbzOJn<xVPiL3FJvM%U~$+3%9*x+AGk-u=+a zA6vpof9n0^#X7}P-k)^4*VX8Aw;IT;`p2`wC6C0(%J~klCacnI5V^Msv({*D5?Z%^ zXA7;DorTuM%cm}?w>flN*Lyb?erIjB_HNCrm>$-K;g5I4yfS6nq%X?**iBn|KB=%x zTg`%MZ;1fQ!nBnuOj}WQ(^jT6alzuZg=uT-k;L1F4$R%&B3+oan72OKG6ANoUPY;P z)7CY=S>EwA+j|Jvn1Jv1wLH?G zRe`CaPu$(WP3wOeL~EuM>?epNDQa9Z~oNoN~<*{FfvuNh++w{2Sfu=wDZ z+J?gVCzggqwVXe_LGC{%_KaB&JR+cERQ2GLwZU;UH-B>?VOX|ri#2IO>&&ax@57Up zV@-!H+mq?-yD{i=!KFbR->LV`mXS@r|7!H_70cIOGsey^H#j$OhL2B{@weB!Ah-9l zv~@4i(t<8r{3(4~j|HdKdp&6PfBdRGZ*EK(wLl11Lgm3k$pUEgJUeTTr(l4?C1*F} z<#EGmghs_&UT)4RtsOr4=#wsezdrKA7eS}qTVGLpWwl4m@ccDxhs~>58h$Be^^8xe zkMSROJ^oa}uEgNQEg$+VZ{%&fW%RE&V2J5+zt@}w1&{e&lRNjCacuAT6M@sS7ex3x z@$Y*uc;~aZg^vS!wOt;NG{I*>ZrqZ%$$u=)AA5VusF4p-a#ogo_GVK2tKAM*+k34{ zJOi(}J*qUU+R$LASrZf{j}B~s4j;gZt)Aho@SmjY>G-nG=2p2!-a9pgzd@MPc&d{BekZ(EhP@-_T_qnf*c!Rw1NbAk!Y-}5 z%d1<8*OKf+cl(kPDfnu7#!^fQ?;tH;euD2x7&n=qLVzUAVBoph@Nd7x`zIhK9p2lJbGWqeTq)qxghz@M9tMa79^w+=j5$USk<|L_sC>a10dTrm z4FS7OR#URo!7BDr$);PZB zQ@ANMkvIdI55vvxnUj^x*lhOwZ5LpCM?(s?cPJKqdG6FAt=ia=Wp;GIo!8=nHgCc0 zBeTDJW~!d0m20mhS;Iw=B1SHlL_K=vwqaW zGQ*r4AC-`5nHHZQEIC|sp=ej|@mIl%!|LPt;-yb?c44qN9k~6It!C?V+7)#h5S{4_ zCJ&&tMxx!yt?C_+zEiT`+a#zw zEOSzdO83IEUnF4V!((BN4o%QQAnk!NlW0b*2Md0&5$kQ-p@ZpUgmk~Mf20M(&!~py z^4o4m7kz;&UIxV`LrQliOPKB#;woa`w)sJL8%R}xU!FULLCg7g;r45aT{yltlrsEV1(}i+2qUyZ9JEzORR=q!l#EV zBkTBZxNGpdDK(xm=IhZwh6+ncNmO@#xxsQytK%fU!1n>yNT+JR6st$9iksn*zl^f9 zP)Fy1;@YclDOkoSIwva(i_L&5xv~o*&%3VciY4KircBbB3*aoyE1Y6Mvm%CxDF;0pIPKwZTk*W z@vQ0`X5ea-j1l&|HiqIiJQ#xuN;1sLKWM|G!?U78c}a}H6(JdBuO19~v4kl^D)nI> ziVz%W-eu>?2!$K5s4`TzkxJvaLu#T}8AmMCzJKHxtgVqTw(W}Z{w3K;Cb|;Vn#vNC zy`e5l@I{BE6fU4hrShDAv18_&4X7VG>?jS^{?6AsN_+u(XwO#J4X+B%F!jv@w^tzwu7x3pn2 zc`+_9#V{>y>%cH4R#b*ar8l`1MF_K5i3^I9ViMm1dvR@L;(YHo@3bUNd3wb4p{QJ* zo2*?ZzO{5nLsmkp1g`AEcrD8{E8)Nsv*KYGu6)B_N%u9w92`nPDDS@YI-CP?ApnU{?(W+YOihV8Bg}D+?5gfnXp`&Ch_-o>dkoBz!D4{JeZ$#bDF+S(xDP>47efta9A)@NP{dxN+aO#3`seX1 z|0p(b7D|B0@ITe~%kWMHK4H<@3%k)`BM&7TYkAmC|KaYE|A$@z?>fasE;&js(e=myB=d)v|8=g8*ENCc_h-B)E@@MLtdd^7F zw!14Yf$E*{F1$d!xQ;N0Dro9)&ZdF;ERJcR|u;O;{_O!HmH! zR|@9v(GLdWjA9I&2WPjH2fTFOotSex{Uip%aE>nq+tjc!FvpBvn2d97G4e9+N|B|H zDKHUd!eYcpjVeWyeQ1EGI5`!ghBekp)fAy{&L{@-g#wWJ{0B|+s&PubH~GRTPfX5) zZG|&Cv91R-b=Gw~d7dzj$fqHeoNu=^5*7Vlb;c9&6}S>4f08%379<@^awXB9_Dq=e zb2Lg6LV?4?k25e)(LDD^ms}dCmGd!SZE$WPMjhJBrJ*JJ*tC(TikXTq)js=;{It$| zAGfK(kbqZHkdD$ZFNLcf$WQCUHFv8A_)9$XF5mxt%*&>Rsf>pP$aEGtrlX*e7wG3#L!Y_Nw|I z+0;c84Tlp!Fi?WOyCA2&h|?r6*!~WcfvG+};UoeK?A6I_u(JVxKd@)8xXzV Date: Thu, 9 Jul 2026 16:39:59 -0500 Subject: [PATCH 13/13] Beta 7 Commit --- .../entity/AppleCowEntityVariants.java | 6 ---- .../content/portal/PermanentPortalShape.java | 8 +++++ .../portal/PermanentPortalTeleporter.java | 33 +++++++++++++++++++ .../resources/assets/antarchy/lang/en_us.json | 2 -- .../fabric/AntarchyFabricContent.java | 2 +- .../registry/AntarchyNeoforgeEntites.java | 4 --- .../AntarchyNeoforgeEntityAttributes.java | 6 ++++ .../honeyed_apple_cow_spawns.json | 18 ---------- 8 files changed, 48 insertions(+), 31 deletions(-) delete mode 100644 neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/honeyed_apple_cow_spawns.json diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/AppleCowEntityVariants.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/AppleCowEntityVariants.java index 8789e97b..45896731 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/AppleCowEntityVariants.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/AppleCowEntityVariants.java @@ -25,10 +25,4 @@ public final class AppleCowEntityVariants { super(entityType, level); } } - - public static class HoneyedAppleCow extends AppleCowEntity { - public HoneyedAppleCow(EntityType entityType, Level level) { - super(entityType, level); - } - } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java index a533f2e6..e8723581 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalShape.java @@ -214,6 +214,10 @@ public final class PermanentPortalShape { for (int y = -1; y <= 3; y++) { for (int x = -1; x <= 2; x++) { BlockPos pos = bottomLeft.relative(widthDirection, x).above(y); + boolean cornerSpot = (x == -1 || x == 2) && (y == -1 || y == 3); + if (cornerSpot) { + continue; + } if (x == -1 || x == 2 || y == -1 || y == 3) { level.setBlock(pos, frameState, Block.UPDATE_ALL); } else { @@ -233,6 +237,10 @@ public final class PermanentPortalShape { BlockPos pos = bottomLeft.relative(widthDirection, x).above(y); BlockState state = level.getBlockState(pos); boolean frameSpot = x == -1 || x == 2 || y == -1 || y == 3; + boolean cornerSpot = (x == -1 || x == 2) && (y == -1 || y == 3); + if (cornerSpot) { + continue; + } if (frameSpot) { if (!state.isAir() && !state.is(frameBlock) && !state.canBeReplaced()) { return false; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java index 02abb785..a6c968a0 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/portal/PermanentPortalTeleporter.java @@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable; public final class PermanentPortalTeleporter { private static final int SEARCH_RADIUS = 24; private static final int VERTICAL_SEARCH = 24; + private static final int EXISTING_PORTAL_SEARCH_RADIUS = 48; private PermanentPortalTeleporter() { } @@ -64,6 +65,11 @@ public final class PermanentPortalTeleporter { Vec3 safe = findSafeArrivalPosition(entity, destination, preferredPos); if (safe != null) { + PermanentPortalShape nearbyActive = findActiveNearby(destination, BlockPos.containing(safe), type); + if (nearbyActive != null) { + return nearbyActive.center(); + } + PermanentPortalShape created = createReturnPortal(destination, safe, type); if (created != null) { return created.center(); @@ -74,6 +80,33 @@ public final class PermanentPortalTeleporter { return createFallbackPlatform(destination, preferredPos, type.platformBlock().defaultBlockState()); } + @Nullable + private static PermanentPortalShape findActiveNearby(ServerLevel level, BlockPos center, PermanentPortalType type) { + for (int radius = 0; radius <= EXISTING_PORTAL_SEARCH_RADIUS; radius++) { + for (int xOff = -radius; xOff <= radius; xOff++) { + for (int yOff = -radius; yOff <= radius; yOff++) { + for (int zOff = -radius; zOff <= radius; zOff++) { + if (radius > 0 && Math.abs(xOff) != radius && Math.abs(yOff) != radius && Math.abs(zOff) != radius) { + continue; + } + + BlockPos candidate = center.offset(xOff, yOff, zOff); + PermanentPortalShape xShape = PermanentPortalShape.findActive(level, candidate, type, Direction.Axis.X); + if (xShape != null) { + return xShape; + } + PermanentPortalShape zShape = PermanentPortalShape.findActive(level, candidate, type, Direction.Axis.Z); + if (zShape != null) { + return zShape; + } + } + } + } + } + + return null; + } + @Nullable private static Vec3 findSafeArrivalPosition(Entity entity, ServerLevel destination, BlockPos preferredPos) { int[] yRange = getDimensionYRange(destination); diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index c1c25ffe..ef4967c6 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -134,7 +134,6 @@ "entity.antarchy.apple_cow": "Apple Cow", "entity.antarchy.golden_apple_cow": "Golden Apple Cow", "entity.antarchy.enchanted_golden_apple_cow": "Enchanted Golden Apple Cow", - "entity.antarchy.honeyed_apple_cow": "Honeyed Apple Cow", "entity.antarchy.easter_bunny": "Easter Bunny", "entity.antarchy.glimmer": "Glimmer", "entity.antarchy.flying_squirrel": "Flying Squirrel", @@ -356,7 +355,6 @@ "item.antarchy.rainbow_ant_spawn_egg": "Rainbow Ant Spawn Egg", "item.antarchy.golden_apple_cow_spawn_egg": "Golden Apple Cow Spawn Egg", "item.antarchy.enchanted_golden_apple_cow_spawn_egg": "Enchanted Golden Apple Cow Spawn Egg", - "item.antarchy.honeyed_apple_cow_spawn_egg": "Honeyed Apple Cow Spawn Egg", "item.antarchy.dr_trayaurus_spawn_egg": "Dr. Trayaurus Spawn Egg", "item.antarchy.easter_bunny_spawn_egg": "Easter Bunny Spawn Egg", "item.antarchy.glimmer_spawn_egg": "Glimmer Spawn Egg", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index 46cd1697..35f645de 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -1974,7 +1974,7 @@ public final class AntarchyFabricContent { "red_ant_spawn_egg", "brown_ant_spawn_egg", "rainbow_ant_spawn_egg", "termite_spawn_egg", "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "rolly_polly_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", "apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg", - "honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg", + "dr_trayaurus_spawn_egg", "wasp_spawn_egg", "bomber_spawn_egg", "jumpy_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", "nightmare_spawn_egg", "bed_bug_spawn_egg", "lucid_spawn_egg", "scorpion_spawn_egg", "basilisk_spawn_egg", "emperor_scorpion_spawn_egg", "toreterror_spawn_egg", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index 14b26395..372f0a31 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -4,7 +4,6 @@ import com.craisinlord.antarchy.Antarchy; import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.AppleCow; import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.EnchantedGoldenAppleCow; import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.GoldenAppleCow; -import com.craisinlord.antarchy.content.entity.AppleCowEntityVariants.HoneyedAppleCow; import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity; import com.craisinlord.antarchy.content.entity.BedBugEntity; import com.craisinlord.antarchy.content.entity.BomberEntity; @@ -194,9 +193,6 @@ public final class AntarchyNeoforgeEntites { () -> buildCowType(GoldenAppleCow::new, "golden_apple_cow")); public static final DeferredHolder, EntityType> ENCHANTED_GOLDEN_APPLE_COW = ENTITY_TYPES.register("enchanted_golden_apple_cow", () -> buildCowType(EnchantedGoldenAppleCow::new, "enchanted_golden_apple_cow")); - public static final DeferredHolder, EntityType> HONEYED_APPLE_COW = CREATE_LOADED - ? ENTITY_TYPES.register("honeyed_apple_cow", () -> buildCowType(HoneyedAppleCow::new, "honeyed_apple_cow")) - : null; public static final DeferredHolder, EntityType> DR_TRAYAURUS = ENTITY_TYPES.register("dr_trayaurus", () -> EntityType.Builder.of(DrTrayaurusEntity::new, MobCategory.MISC) .sized(0.6F, 1.95F) diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java index 701ce974..08e38c1b 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java @@ -40,6 +40,12 @@ public class AntarchyNeoforgeEntityAttributes { event.put(AntarchyNeoforgeEntites.APPLE_COW.get(), cowAttributes); event.put(AntarchyNeoforgeEntites.GOLDEN_APPLE_COW.get(), cowAttributes); event.put(AntarchyNeoforgeEntites.ENCHANTED_GOLDEN_APPLE_COW.get(), cowAttributes); + event.put(AntarchyNeoforgeEntites.TERMITE.get(), buildAntAttributes( + AntarchySettings.termiteHealth(), + AntarchySettings.termiteMovementSpeed(), + AntarchySettings.termiteAttackDamage() + ).build()); + event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.DR_TRAYAURUS.get(), Villager.createAttributes().build()); event.put(AntarchyNeoforgeEntites.CLOUD_SHARK.get(), CloudSharkEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.KRAKEN.get(), KrakenEntity.createAttributes().build()); diff --git a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/honeyed_apple_cow_spawns.json b/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/honeyed_apple_cow_spawns.json deleted file mode 100644 index 4df5d6b0..00000000 --- a/neoforge/src/main/resources/data/antarchy/neoforge/biome_modifier/honeyed_apple_cow_spawns.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "neoforge:conditions": [ - { - "type": "neoforge:mod_loaded", - "modid": "create" - } - ], - "type": "neoforge:add_spawns", - "biomes": "#antarchy:honeyed_apple_cow_spawn_biomes", - "spawners": [ - { - "type": "antarchy:honeyed_apple_cow", - "weight": 2, - "minCount": 1, - "maxCount": 2 - } - ] -}

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 TG2ksi(1Ij-J>Y?4)*+ literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_up2.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/jump_up2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..17dc6058cf3130fd74faade70cab2a64ed8df12d GIT binary patch literal 13800 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 literal 0 HcmV?d00001 diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java index 0e15ad89..efd88de3 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/AntarchyFabricContent.java @@ -401,6 +401,8 @@ public final class AntarchyFabricContent { public static final DeferredHolder TORETERROR_HURT = registerSoundEvent("toreterror_hurt"); public static final DeferredHolder TORETERROR_DEATH = registerSoundEvent("toreterror_death"); public static final DeferredHolder TORETERROR_BOMBER_FIRE = registerSoundEvent("toreterror_bomber_fire"); + public static final DeferredHolder TORETERROR_JUMP_UP = registerSoundEvent("toreterror_jump_up"); + public static final DeferredHolder TORETERROR_JUMP_LAND = registerSoundEvent("toreterror_jump_land"); public static final DeferredHolder STINKY_FLY_SOUND = registerSoundEvent("stinky_fly"); public static final DeferredHolder CREEPING_HORROR_GROWL = registerSoundEvent("creeping_horror_growl"); public static final DeferredHolder CREEPING_HORROR_HURT = registerSoundEvent("creeping_horror_hurt"); @@ -2499,6 +2501,8 @@ public final class AntarchyFabricContent { TORETERROR_HURT, TORETERROR_DEATH, TORETERROR_BOMBER_FIRE, + TORETERROR_JUMP_UP, + TORETERROR_JUMP_LAND, STINKY_FLY_SOUND, CREEPING_HORROR_GROWL, CREEPING_HORROR_HURT, diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java index a7834edb..155812b3 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyNeoforge.java @@ -141,6 +141,8 @@ public class AntarchyNeoforge { AntarchyNeoforgeSounds.TORETERROR_HURT, AntarchyNeoforgeSounds.TORETERROR_DEATH, AntarchyNeoforgeSounds.TORETERROR_BOMBER_FIRE, + AntarchyNeoforgeSounds.TORETERROR_JUMP_UP, + AntarchyNeoforgeSounds.TORETERROR_JUMP_LAND, AntarchyNeoforgeSounds.STINKY_FLY, AntarchyNeoforgeSounds.CREEPING_HORROR_GROWL, AntarchyNeoforgeSounds.CREEPING_HORROR_HURT, diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java index f42d866b..a98d76a8 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeSounds.java @@ -128,6 +128,8 @@ public final class AntarchyNeoforgeSounds { public static final DeferredHolder TORETERROR_HURT = registerSoundEvent("toreterror_hurt"); public static final DeferredHolder TORETERROR_DEATH = registerSoundEvent("toreterror_death"); public static final DeferredHolder TORETERROR_BOMBER_FIRE = registerSoundEvent("toreterror_bomber_fire"); + public static final DeferredHolder TORETERROR_JUMP_UP = registerSoundEvent("toreterror_jump_up"); + public static final DeferredHolder TORETERROR_JUMP_LAND = registerSoundEvent("toreterror_jump_land"); public static final DeferredHolder STINKY_FLY = registerSoundEvent("stinky_fly"); public static final DeferredHolder CREEPING_HORROR_GROWL = registerSoundEvent("creeping_horror_growl"); public static final DeferredHolder CREEPING_HORROR_HURT = registerSoundEvent("creeping_horror_hurt"); From 303a56f7fc6335c7fd241640df18c51b8e2f0e16 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Mon, 6 Jul 2026 08:50:56 -0500 Subject: [PATCH 05/13] rolly polly mob, rolly caves biome, toreterror sounds, alpha mantis turning revert, scorpion and cloud shark updates --- .../antarchy/config/AntarchySettings.java | 75 +- .../antarchy/content/AntarchyTags.java | 1 + .../content/client/model/CloudSharkModel.java | 7 +- .../client/model/EmperorScorpionModel.java | 5 +- .../content/client/model/RollyPollyModel.java | 28 + .../client/renderer/CloudSharkRenderer.java | 41 + .../renderer/EmperorScorpionRenderer.java | 47 +- .../client/renderer/RollyPollyRenderer.java | 13 + .../content/entity/EmperorScorpionEntity.java | 155 +- .../antarchy/content/entity/MantisEntity.java | 34 - .../content/entity/RollyPollyEntity.java | 444 ++ .../network/RollyPollyRollPayload.java | 20 + .../animations/cloud_shark.animation.json | 1174 ++-- .../emperor_scorpion.animation.json | 5869 ++++++++++++++--- .../animations/jumpy_bug.animation.json | 4559 ++++++++++--- ...mation.json => rolly_polly.animation.json} | 0 .../assets/antarchy/geo/cloud_shark.geo.json | 112 +- .../antarchy/geo/emperor_scorpion.geo.json | 306 +- .../antarchy/geo/flying_squirrel.geo.json | 24 +- .../assets/antarchy/geo/jumpy_bug.geo.json | 31 +- ...pill_bug.geo.json => rolly_polly.geo.json} | 0 .../resources/assets/antarchy/lang/en_us.json | 4 + .../models/item/rolly_polly_spawn_egg.json | 3 + .../antarchy/textures/entity/cloud_shark.png | Bin 7680 -> 9081 bytes .../entity/cloud_shark/cloud_shark.png | Bin 0 -> 7423 bytes .../cloud_shark/cloud_shark_emissive.png | Bin 0 -> 764 bytes .../textures/entity/emperor_scorpion.png | Bin 7039 -> 0 bytes .../emperor_scorpion/emperor_scorpion.png | Bin 0 -> 15593 bytes .../emperor_scorpion_emissive.png | Bin 0 -> 1828 bytes .../flying_squirrel/flying_squirrel.png | Bin 2260 -> 2137 bytes .../flying_squirrel_albino.png | Bin 2087 -> 2101 bytes .../flying_squirrel/flying_squirrel_brown.png | Bin 2276 -> 2125 bytes .../textures/entity/pill_bug/pill_bug.png | Bin 3202 -> 0 bytes .../entity/pill_bug/pill_bug_saddled.png | Bin 4164 -> 0 bytes .../entity/rolly_polly/rolly_polly.png | Bin 0 -> 3156 bytes .../rolly_polly/rolly_polly_saddled.png | Bin 0 -> 4118 bytes .../item/emperor_scorpion_stinger.png | Bin 348 -> 386 bytes .../antarchy/textures/item/scorpion_whip.png | Bin 314 -> 383 bytes .../data/antarchy/dimension/cavaryn.json | 14 +- .../antarchy/tags/item/rolly_polly_food.json | 7 + .../tags/worldgen/biome/is_cavaryn.json | 3 +- .../antarchy/worldgen/biome/rolly_caves.json | 70 + .../rolly_caves_amber_moss_patch.json | 65 + .../rolly_caves_bile_pool.json | 20 + .../rolly_caves_amber_moss_patch.json | 27 + .../placed_feature/rolly_caves_bile_pool.json | 27 + fabric/build.gradle | 12 + .../fabric/AntarchyFabricContent.java | 17 +- .../client/AntarchyFabricClientBootstrap.java | 2 + .../fabric/client/AntarchyKeyBindings.java | 8 + .../client/RollyPollyClientHandler.java | 29 + .../network/AntarchyFabricNetworking.java | 9 + fabric/src/main/resources/fabric.mod.json | 2 +- gradle.properties | 4 +- .../AntarchyConfigModuleNeoforge.java | 6 + .../antarchy/neoforge/AntarchyMobsConfig.java | 25 + .../neoforge/client/AntarchyKeyBindings.java | 9 + .../client/AntarchyNeoForgeClient.java | 1 + .../client/RollyPollyClientHandler.java | 36 + .../network/RollyPollyNetworking.java | 31 + .../AntarchyNeoforgeCreativeModeTabs.java | 1 + .../registry/AntarchyNeoforgeEntites.java | 10 +- .../AntarchyNeoforgeEntityAttributes.java | 1 + .../registry/AntarchyNeoforgeItems.java | 4 +- .../AntarchyNeoforgePayloadHandlers.java | 1 + 65 files changed, 10746 insertions(+), 2647 deletions(-) create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java create mode 100644 common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java rename common/src/main/resources/assets/antarchy/animations/{pill_bug.animation.json => rolly_polly.animation.json} (100%) rename common/src/main/resources/assets/antarchy/geo/{pill_bug.geo.json => rolly_polly.geo.json} (100%) create mode 100644 common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/cloud_shark/cloud_shark_emissive.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug.png delete mode 100644 common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly.png create mode 100644 common/src/main/resources/assets/antarchy/textures/entity/rolly_polly/rolly_polly_saddled.png create mode 100644 common/src/main/resources/data/antarchy/tags/item/rolly_polly_food.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/biome/rolly_caves.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_amber_moss_patch.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/configured_feature/rolly_caves_bile_pool.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_amber_moss_patch.json create mode 100644 common/src/main/resources/data/antarchy/worldgen/placed_feature/rolly_caves_bile_pool.json create mode 100644 fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java create mode 100644 neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java create mode 100644 neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java diff --git a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java index c487fde7..3855fb0b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java +++ b/common/src/main/java/com/craisinlord/antarchy/config/AntarchySettings.java @@ -106,6 +106,11 @@ public final class AntarchySettings { private static double alphaMantisFlyingSpeed = 0.77D; private static int alphaMantisSummonIntervalTicks = 300; private static int alphaMantisMaxMinions = 4; + private static double rollyPollyHealth = 12.0D; + private static double rollyPollyMovementSpeed = 0.3D; + private static double rollyPollyRollSpeedMultiplier = 2.2D; + private static double rollyPollyTumbleDamage = 1.0D; + private static int rollyPollyTameChance = 3; private static double krakenProjectileDamageTakenMultiplier = 0.5D; private static boolean krakenSquidSpawnEnabled = true; private static boolean krakenMassSpawnEnabled = true; @@ -233,23 +238,23 @@ public final class AntarchySettings { private static final int reverieAmbientTargetMaxAgeTicks = 40; private static final int reverieAmbientPulseIntervalMinTicks = 12; private static final int reverieAmbientPulseIntervalMaxTicks = 19; - private static double emperorScorpionHealth = 100.0D; - private static double emperorScorpionAttackDamage = 12.0D; + private static double emperorScorpionHealth = 400.0D; + private static double emperorScorpionAttackDamage = 28.0D; private static double emperorScorpionMovementSpeed = 0.32D; - private static double emperorScorpionArmor = 6.0D; - private static double emperorScorpionKnockbackResistance = 0.6D; - private static double emperorScorpionFollowRange = 32.0D; + private static double emperorScorpionArmor = 25.0D; + private static double emperorScorpionKnockbackResistance = 0.8D; + private static double emperorScorpionFollowRange = 40.0D; private static int emperorScorpionXpReward = 25; - private static int emperorScorpionClawAnimTicks = 12; - private static int emperorScorpionClawHitTick = 6; - private static int emperorScorpionClawCooldownTicks = 16; - private static int emperorScorpionStingAnimTicks = 18; - private static int emperorScorpionStingHitTick = 9; - private static int emperorScorpionStingCooldownTicks = 42; - private static int emperorScorpionPoisonTicks = 100; - private static int emperorScorpionWeaknessTicks = 80; - private static int emperorScorpionSummonIntervalTicks = 180; - private static int emperorScorpionMaxSummonedScorpions = 4; + private static int emperorScorpionClawAnimTicks = 23; + private static int emperorScorpionClawHitTick = 12; + private static int emperorScorpionClawCooldownTicks = 28; + private static int emperorScorpionStingAnimTicks = 25; + private static int emperorScorpionStingHitTick = 13; + private static int emperorScorpionStingCooldownTicks = 60; + private static int emperorScorpionPoisonTicks = 300; + private static int emperorScorpionWeaknessTicks = 120; + private static int emperorScorpionSummonIntervalTicks = 140; + private static int emperorScorpionMaxSummonedScorpions = 8; private static double scorpionHealth = 30.0D; private static double scorpionAttackDamage = 5.0D; private static double scorpionMovementSpeed = 0.29D; @@ -819,6 +824,26 @@ public final class AntarchySettings { return alphaMantisMaxMinions; } + public static double rollyPollyHealth() { + return rollyPollyHealth; + } + + public static double rollyPollyMovementSpeed() { + return rollyPollyMovementSpeed; + } + + public static double rollyPollyRollSpeedMultiplier() { + return rollyPollyRollSpeedMultiplier; + } + + public static double rollyPollyTumbleDamage() { + return rollyPollyTumbleDamage; + } + + public static int rollyPollyTameChance() { + return rollyPollyTameChance; + } + public static double waspHealth() { return waspHealth; } @@ -1247,6 +1272,26 @@ public final class AntarchySettings { alphaMantisMaxMinions = value; } + public static void setRollyPollyHealth(double value) { + rollyPollyHealth = value; + } + + public static void setRollyPollyMovementSpeed(double value) { + rollyPollyMovementSpeed = value; + } + + public static void setRollyPollyRollSpeedMultiplier(double value) { + rollyPollyRollSpeedMultiplier = value; + } + + public static void setRollyPollyTumbleDamage(double value) { + rollyPollyTumbleDamage = value; + } + + public static void setRollyPollyTameChance(int value) { + rollyPollyTameChance = value; + } + public static void setKrakenProjectileDamageTakenMultiplier(double value) { krakenProjectileDamageTakenMultiplier = value; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java index 3aa23a25..821c5ef7 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchyTags.java @@ -90,6 +90,7 @@ public final class AntarchyTags { public static final TagKey BUTTERFLY_BREEDING_FOODS = TagKey.create(Registries.ITEM, id("butterfly_breeding_foods")); public static final TagKey REVERIE_DUPLICATION_ITEMS = TagKey.create(Registries.ITEM, id("reverie_duplication_items")); public static final TagKey HERCULES_BEETLE_FOOD = TagKey.create(Registries.ITEM, id("hercules_beetle_food")); + public static final TagKey ROLLY_POLLY_FOOD = TagKey.create(Registries.ITEM, id("rolly_polly_food")); private Items() { } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java index c1d8a5ce..c3ba81f4 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/CloudSharkModel.java @@ -6,6 +6,11 @@ import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; public class CloudSharkModel extends GeoModel { + public static final ResourceLocation BASE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark/cloud_shark.png"); + public static final ResourceLocation EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark/cloud_shark_emissive.png"); + @Override public ResourceLocation getModelResource(CloudSharkEntity animatable) { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/cloud_shark.geo.json"); @@ -13,7 +18,7 @@ public class CloudSharkModel extends GeoModel { @Override public ResourceLocation getTextureResource(CloudSharkEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/cloud_shark.png"); + return BASE_TEXTURE; } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java index 1c66b057..c7dd6671 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/EmperorScorpionModel.java @@ -7,6 +7,9 @@ import software.bernie.geckolib.model.GeoModel; public class EmperorScorpionModel extends GeoModel { + public static final ResourceLocation EMISSIVE_TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion_emissive.png"); + @Override public ResourceLocation getModelResource(EmperorScorpionEntity animatable) { return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/emperor_scorpion.geo.json"); @@ -14,7 +17,7 @@ public class EmperorScorpionModel extends GeoModel { @Override public ResourceLocation getTextureResource(EmperorScorpionEntity animatable) { - return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion.png"); + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/emperor_scorpion/emperor_scorpion.png"); } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java new file mode 100644 index 00000000..8bbdb463 --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/model/RollyPollyModel.java @@ -0,0 +1,28 @@ +package com.craisinlord.antarchy.content.client.model; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.model.GeoModel; + +public class RollyPollyModel extends GeoModel { + private static final ResourceLocation TEXTURE = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly.png"); + private static final ResourceLocation TEXTURE_SADDLED = + ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/rolly_polly/rolly_polly_saddled.png"); + + @Override + public ResourceLocation getModelResource(RollyPollyEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "geo/rolly_polly.geo.json"); + } + + @Override + public ResourceLocation getTextureResource(RollyPollyEntity animatable) { + return animatable.hasSaddle() ? TEXTURE_SADDLED : TEXTURE; + } + + @Override + public ResourceLocation getAnimationResource(RollyPollyEntity animatable) { + return ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "animations/rolly_polly.animation.json"); + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java index bc99df12..ec8e9a80 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/CloudSharkRenderer.java @@ -2,8 +2,17 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.CloudSharkModel; import com.craisinlord.antarchy.content.entity.cloud_shark.CloudSharkEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class CloudSharkRenderer extends GeoEntityRenderer { private static final float SHADOW_RADIUS = 0.6F; @@ -11,5 +20,37 @@ public class CloudSharkRenderer extends GeoEntityRenderer { public CloudSharkRenderer(EntityRendererProvider.Context context) { super(context, new CloudSharkModel()); this.shadowRadius = SHADOW_RADIUS; + this.addRenderLayer(new CloudSharkEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(CloudSharkEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityCutoutNoCull(texture); + } + + private static final class CloudSharkEmissiveLayer extends GeoRenderLayer { + private CloudSharkEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, CloudSharkEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(CloudSharkModel.EMISSIVE_TEXTURE); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java index 013c777a..340a1bc4 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/EmperorScorpionRenderer.java @@ -2,14 +2,59 @@ package com.craisinlord.antarchy.content.client.renderer; import com.craisinlord.antarchy.content.client.model.EmperorScorpionModel; import com.craisinlord.antarchy.content.entity.EmperorScorpionEntity; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class EmperorScorpionRenderer extends GeoEntityRenderer { public EmperorScorpionRenderer(EntityRendererProvider.Context context) { super(context, new EmperorScorpionModel()); this.shadowRadius = 3.0F; - this.withScale(1.5F); + this.addRenderLayer(new EmperorScorpionEmissiveLayer(this)); + } + + @Override + public RenderType getRenderType(EmperorScorpionEntity animatable, ResourceLocation texture, @Nullable MultiBufferSource bufferSource, float partialTick) { + return RenderType.entityCutoutNoCull(texture); + } + + @Override + protected float getDeathMaxRotation(EmperorScorpionEntity animatable) { + return 0.0F; + } + + private static final class EmperorScorpionEmissiveLayer extends GeoRenderLayer { + private EmperorScorpionEmissiveLayer(GeoEntityRenderer renderer) { + super(renderer); + } + + @Override + public void render(PoseStack poseStack, EmperorScorpionEntity animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, + MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, + int packedLight, int packedOverlay) { + RenderType emissiveType = RenderType.eyes(EmperorScorpionModel.EMISSIVE_TEXTURE); + VertexConsumer emissiveBuffer = bufferSource.getBuffer(emissiveType); + this.getRenderer().reRender( + bakedModel, + poseStack, + bufferSource, + animatable, + emissiveType, + emissiveBuffer, + partialTick, + 0xF000F0, + OverlayTexture.NO_OVERLAY, + 0xFFFFFFFF + ); + } } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java new file mode 100644 index 00000000..ef98511f --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/client/renderer/RollyPollyRenderer.java @@ -0,0 +1,13 @@ +package com.craisinlord.antarchy.content.client.renderer; + +import com.craisinlord.antarchy.content.client.model.RollyPollyModel; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import software.bernie.geckolib.renderer.GeoEntityRenderer; + +public class RollyPollyRenderer extends GeoEntityRenderer { + public RollyPollyRenderer(EntityRendererProvider.Context context) { + super(context, new RollyPollyModel()); + this.shadowRadius = 0.5F; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java index bed77337..8ac5a93b 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/EmperorScorpionEntity.java @@ -48,40 +48,50 @@ import software.bernie.geckolib.animation.RawAnimation; import software.bernie.geckolib.util.GeckoLibUtil; public class EmperorScorpionEntity extends Monster implements GeoEntity { - private static final byte CLAW_ATTACK_ANIM_EVENT = 4; + private static final byte SNAP_ATTACK_ANIM_EVENT = 4; private static final byte STING_ATTACK_ANIM_EVENT = 5; + private static final byte AGRO_ANIM_EVENT = 6; - private static final int CLAW_ATTACK_ANIM_TICKS = 12; - private static final int CLAW_ATTACK_HIT_TICK = 6; - private static final int CLAW_ATTACK_COOLDOWN_TICKS = 16; - private static final int STING_ATTACK_ANIM_TICKS = 18; - private static final int STING_ATTACK_HIT_TICK = 9; - private static final int STING_ATTACK_COOLDOWN_TICKS = 42; - private static final int POISON_DURATION_TICKS = 100; - private static final int WEAKNESS_DURATION_TICKS = 80; - private static final int SUMMON_INTERVAL_TICKS = 180; - private static final int MAX_SUMMONED_SCORPIONS = 4; + private static final int SNAP_ATTACK_ANIM_TICKS = 23; + private static final int SNAP_ATTACK_HIT_TICK = 12; + private static final int SNAP_ATTACK_COOLDOWN_TICKS = 28; + private static final int STING_ATTACK_ANIM_TICKS = 25; + private static final int STING_ATTACK_HIT_TICK = 13; + private static final int STING_ATTACK_COOLDOWN_TICKS = 60; + private static final int AGRO_ANIM_TICKS = 30; + private static final int DEATH_ANIM_TICKS = 40; + private static final float STING_DAMAGE = 18.0F; + private static final double STING_AOE_RADIUS = 5.0D; + private static final int POISON_DURATION_TICKS = 300; + private static final int WEAKNESS_DURATION_TICKS = 120; + private static final int SUMMON_INTERVAL_TICKS = 140; + private static final int MAX_SUMMONED_SCORPIONS = 8; private static final String EMPEROR_SUMMON_TAG = "antarchy_emperor_summoned"; private static final ResourceKey THORAXIS_KEY = ResourceKey.create(Registries.DIMENSION, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "thoraxis")); - private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); - private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); - private static final RawAnimation ATTACK_ANIM = RawAnimation.begin().thenPlay("attack"); + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation SNAP_ANIM = RawAnimation.begin().thenPlay("snap"); + private static final RawAnimation STING_ANIM = RawAnimation.begin().thenPlay("sting"); + private static final RawAnimation AGRO_ANIM = RawAnimation.begin().thenPlay("agro"); + private static final RawAnimation DEATH_ANIM = RawAnimation.begin().thenPlay("death"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); private final ServerBossEvent bossEvent = - new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.RED, BossEvent.BossBarOverlay.PROGRESS); + new ServerBossEvent(this.getDisplayName(), BossEvent.BossBarColor.PURPLE, BossEvent.BossBarOverlay.PROGRESS); private int attackAnimTicks = 0; private int attackHitTick = 0; private int attackCooldownTicks = 0; private int stingCooldownTicks = 0; + private int agroAnimTicks = 0; private int summonCooldown = 0; private boolean attackDamageApplied = false; private boolean stingAttackActive = false; + private boolean hasAgroed = false; @Nullable private LivingEntity attackTarget; public EmperorScorpionEntity(EntityType entityType, Level level) { @@ -92,12 +102,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { public static AttributeSupplier.Builder createAttributes() { return Monster.createMonsterAttributes() - .add(Attributes.MAX_HEALTH, 200.0D) + .add(Attributes.MAX_HEALTH, 400.0D) .add(Attributes.MOVEMENT_SPEED, 0.32D) - .add(Attributes.ATTACK_DAMAGE, 18.0D) - .add(Attributes.ARMOR, 6.0D) - .add(Attributes.KNOCKBACK_RESISTANCE, 0.6D) - .add(Attributes.FOLLOW_RANGE, 32.0D); + .add(Attributes.ATTACK_DAMAGE, 28.0D) + .add(Attributes.ARMOR, 25.0D) + .add(Attributes.ARMOR_TOUGHNESS, 10.0D) + .add(Attributes.KNOCKBACK_RESISTANCE, 0.8D) + .add(Attributes.FOLLOW_RANGE, 40.0D); } public static boolean canSpawn(EntityType entityType, ServerLevelAccessor level, @@ -154,10 +165,27 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { this.resetAttackState(); } } + if (this.agroAnimTicks > 0) { + this.agroAnimTicks--; + } if (this.summonCooldown > 0) { this.summonCooldown--; } + if (!this.level().isClientSide) { + if (this.getTarget() != null) { + if (!this.hasAgroed) { + this.hasAgroed = true; + this.agroAnimTicks = AGRO_ANIM_TICKS; + this.getNavigation().stop(); + this.level().broadcastEntityEvent(this, AGRO_ANIM_EVENT); + this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ROAR.get(), 2.0F, 0.7F); + } + } else { + this.hasAgroed = false; + } + } + if (this.getTarget() != null && this.summonCooldown <= 0 && !this.isAttackLocked() @@ -175,7 +203,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return; } - int toSpawn = 1 + this.random.nextInt(2); + int toSpawn = 2 + this.random.nextInt(2); EntityType scorpionType = AntarchyObjects.SCORPION.get(); for (int i = 0; i < toSpawn; i++) { double offsetX = (this.random.nextDouble() - 0.5D) * 6.0D; @@ -198,10 +226,10 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { @Override public boolean doHurtTarget(Entity target) { - return this.performStingAttack(target); + return this.performSnapAttack(target); } - private boolean performClawAttack(Entity target) { + private boolean performSnapAttack(Entity target) { boolean hurt = super.doHurtTarget(target); if (hurt) { this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 0.9F, 0.95F + this.random.nextFloat() * 0.08F); @@ -210,32 +238,39 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private boolean performStingAttack(Entity target) { - boolean hurt; - if (this.level() instanceof ServerLevel serverLevel) { - hurt = target.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), - (float) this.getAttributeValue(Attributes.ATTACK_DAMAGE)); - } else { - hurt = super.doHurtTarget(target); + if (!(this.level() instanceof ServerLevel serverLevel)) { + return false; } - if (hurt && target instanceof LivingEntity living) { - int poisonDuration = this.level().getDifficulty() == Difficulty.HARD - ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; - living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 0)); - living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); + boolean hurtAny = false; + for (LivingEntity living : serverLevel.getEntitiesOfClass(LivingEntity.class, + this.getBoundingBox().inflate(STING_AOE_RADIUS), + entity -> entity != this + && entity.isAlive() + && !(entity instanceof EmperorScorpionEntity) + && !(entity instanceof ScorpionEntity))) { + if (living.hurt(AntarchyDamageSources.emperorScorpionSting(serverLevel, this), STING_DAMAGE)) { + hurtAny = true; + int poisonDuration = this.level().getDifficulty() == Difficulty.HARD + ? POISON_DURATION_TICKS * 2 : POISON_DURATION_TICKS; + living.addEffect(new MobEffectInstance(MobEffects.POISON, poisonDuration, 1)); + living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, WEAKNESS_DURATION_TICKS, 0)); + } + } + if (hurtAny) { this.playSound(AntarchySoundEvents.EMPEROR_SCORPION_ATTACK.get(), 1.0F, 0.9F + this.random.nextFloat() * 0.08F); } - return hurt; + return hurtAny; } - private void beginClawAttack(LivingEntity target) { + private void beginSnapAttack(LivingEntity target) { this.attackTarget = target; - this.attackAnimTicks = CLAW_ATTACK_ANIM_TICKS; - this.attackHitTick = CLAW_ATTACK_HIT_TICK; - this.attackCooldownTicks = CLAW_ATTACK_COOLDOWN_TICKS; + this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; + this.attackHitTick = SNAP_ATTACK_HIT_TICK; + this.attackCooldownTicks = SNAP_ATTACK_COOLDOWN_TICKS; this.attackDamageApplied = false; this.stingAttackActive = false; this.getNavigation().stop(); - this.level().broadcastEntityEvent(this, CLAW_ATTACK_ANIM_EVENT); + this.level().broadcastEntityEvent(this, SNAP_ATTACK_ANIM_EVENT); this.commitLunge(target, 0.42D, 0.10D); } @@ -259,14 +294,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } this.getLookControl().setLookAt(this.attackTarget, 30.0F, 30.0F); - if (!this.attackDamageApplied - && this.attackAnimTicks == this.attackHitTick - && this.distanceToSqr(this.attackTarget) <= this.getAttackReachSqr(this.attackTarget)) { - this.attackDamageApplied = true; + if (!this.attackDamageApplied && this.attackAnimTicks == this.attackHitTick) { if (this.stingAttackActive) { + this.attackDamageApplied = true; this.performStingAttack(this.attackTarget); - } else { - this.performClawAttack(this.attackTarget); + } else if (this.distanceToSqr(this.attackTarget) <= this.getAttackReachSqr(this.attackTarget)) { + this.attackDamageApplied = true; + this.performSnapAttack(this.attackTarget); } } @@ -306,13 +340,13 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private boolean isAttackLocked() { - return this.attackAnimTicks > 0; + return this.attackAnimTicks > 0 || this.agroAnimTicks > 0; } @Override public void handleEntityEvent(byte id) { - if (id == CLAW_ATTACK_ANIM_EVENT) { - this.attackAnimTicks = CLAW_ATTACK_ANIM_TICKS; + if (id == SNAP_ATTACK_ANIM_EVENT) { + this.attackAnimTicks = SNAP_ATTACK_ANIM_TICKS; this.attackDamageApplied = false; this.stingAttackActive = false; return; @@ -323,6 +357,10 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { this.stingAttackActive = true; return; } + if (id == AGRO_ANIM_EVENT) { + this.agroAnimTicks = AGRO_ANIM_TICKS; + return; + } super.handleEntityEvent(id); } @@ -332,8 +370,14 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { } private PlayState mainController(AnimationState state) { + if (this.isDeadOrDying()) { + return state.setAndContinue(DEATH_ANIM); + } if (this.attackAnimTicks > 0) { - return state.setAndContinue(ATTACK_ANIM); + return state.setAndContinue(this.stingAttackActive ? STING_ANIM : SNAP_ANIM); + } + if (this.agroAnimTicks > 0) { + return state.setAndContinue(AGRO_ANIM); } if (state.isMoving()) { return state.setAndContinue(WALK_ANIM); @@ -341,6 +385,15 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { return state.setAndContinue(IDLE_ANIM); } + @Override + protected void tickDeath() { + this.deathTime++; + if (this.deathTime >= DEATH_ANIM_TICKS && !this.level().isClientSide && !this.isRemoved()) { + this.level().broadcastEntityEvent(this, (byte) 60); + this.remove(RemovalReason.KILLED); + } + } + @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.geoCache; @@ -421,7 +474,7 @@ public class EmperorScorpionEntity extends Monster implements GeoEntity { if (EmperorScorpionEntity.this.shouldUseSting(enemy)) { EmperorScorpionEntity.this.beginStingAttack(enemy); } else { - EmperorScorpionEntity.this.beginClawAttack(enemy); + EmperorScorpionEntity.this.beginSnapAttack(enemy); } return; } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java index 025fd490..90995178 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/MantisEntity.java @@ -71,7 +71,6 @@ public class MantisEntity extends Monster implements GeoEntity { public MantisEntity(EntityType entityType, Level level) { super(entityType, level); - this.lookControl = new SteadyLookControl(this); this.setNoGravity(false); this.setPathfindingMalus(PathType.WATER, -1.0F); this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F); @@ -208,14 +207,6 @@ public class MantisEntity extends Monster implements GeoEntity { LivingEntity target = this.getTarget(); if (target != null && target.isAlive()) { this.getLookControl().setLookAt(target, 30.0F, 30.0F); - // If the target is horizontally inside our (wide) footprint, walking toward - // it only makes us pivot in place — hold position, attack reach covers it - double dx = target.getX() - this.getX(); - double dz = target.getZ() - this.getZ(); - double halfWidth = this.getBbWidth() * 0.5D; - if (!this.isFlyingNow() && dx * dx + dz * dz < halfWidth * halfWidth) { - this.getNavigation().stop(); - } } else if (this.flyBurstTicks <= 0 && this.flyCooldownTicks <= 0 && this.onGround() && this.random.nextInt(180) == 0) { this.startFlightBurst(); } @@ -330,31 +321,6 @@ public class MantisEntity extends Monster implements GeoEntity { return this.flyBurstTicks > 0; } - /** - * The mantis hitbox is several blocks wide, so a melee-range target is often - * horizontally inside the footprint. The yaw from body center to such a target - * flips wildly as the target moves past the center, which made the mantis spin - * instead of facing the player — hold the current heading in that case. - */ - private static class SteadyLookControl extends net.minecraft.world.entity.ai.control.LookControl { - SteadyLookControl(Mob mob) { - super(mob); - } - - @Override - public void tick() { - if (this.lookAtCooldown > 0) { - double dx = this.wantedX - this.mob.getX(); - double dz = this.wantedZ - this.mob.getZ(); - double halfWidth = this.mob.getBbWidth() * 0.5D; - if (dx * dx + dz * dz < halfWidth * halfWidth) { - return; - } - } - super.tick(); - } - } - private void tickDebugLog() { if (++this.debugLogTicks < 100) { return; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java new file mode 100644 index 00000000..64150d3a --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/RollyPollyEntity.java @@ -0,0 +1,444 @@ +package com.craisinlord.antarchy.content.entity; + +import com.craisinlord.antarchy.config.AntarchySettings; +import com.craisinlord.antarchy.content.AntarchyTags; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.AgeableMob; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.MoverType; +import net.minecraft.world.entity.TamableAnimal; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.FloatGoal; +import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; +import net.minecraft.world.entity.ai.goal.PanicGoal; +import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; +import net.minecraft.world.entity.ai.goal.TemptGoal; +import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.Level; +import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.Nullable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.animation.AnimatableManager; +import software.bernie.geckolib.animation.AnimationController; +import software.bernie.geckolib.animation.AnimationState; +import software.bernie.geckolib.animation.PlayState; +import software.bernie.geckolib.animation.RawAnimation; +import software.bernie.geckolib.util.GeckoLibUtil; + +public class RollyPollyEntity extends TamableAnimal implements GeoEntity { + private static final RawAnimation IDLE_ANIM = RawAnimation.begin().thenLoop("idle"); + private static final RawAnimation WALK_ANIM = RawAnimation.begin().thenLoop("walk"); + private static final RawAnimation ROLL_UP_ANIM = RawAnimation.begin().thenPlay("wheel_mode"); + private static final RawAnimation ROLLING_ANIM = RawAnimation.begin().thenLoop("roll"); + private static final RawAnimation UNROLL_ANIM = RawAnimation.begin().thenPlay("normal_mode"); + + private static final int ANIM_IDLE = 0; + private static final int ANIM_WALK = 1; + private static final int ANIM_ROLL_UP = 2; + private static final int ANIM_ROLLING = 3; + private static final int ANIM_UNROLL = 4; + + // wheel_mode is 0.75s, normal_mode is ~0.42s + private static final int ROLL_UP_TICKS = 15; + private static final int UNROLL_TICKS = 9; + private static final int DEFENSIVE_CURL_TICKS = 100; + private static final int TUMBLE_DAMAGE_INTERVAL_TICKS = 30; + + private static final EntityDataAccessor ANIMATION_STATE = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.INT); + private static final EntityDataAccessor SADDLED = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor ROLLED = + SynchedEntityData.defineId(RollyPollyEntity.class, EntityDataSerializers.BOOLEAN); + + private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); + + private int rollTransitionTicks; + private boolean unrolling; + private int defensiveCurlTicks; + private int tumbleTicks; + + public RollyPollyEntity(EntityType entityType, Level level) { + super(entityType, level); + } + + public static AttributeSupplier.Builder createAttributes() { + return Mob.createMobAttributes() + .add(Attributes.MAX_HEALTH, AntarchySettings.rollyPollyHealth()) + .add(Attributes.MOVEMENT_SPEED, AntarchySettings.rollyPollyMovementSpeed()) + .add(Attributes.FOLLOW_RANGE, 16.0D); + } + + @Override + protected void defineSynchedData(SynchedEntityData.Builder builder) { + super.defineSynchedData(builder); + builder.define(ANIMATION_STATE, ANIM_IDLE); + builder.define(SADDLED, false); + builder.define(ROLLED, false); + } + + @Override + protected void registerGoals() { + this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.4D) { + @Override + public boolean canUse() { + // Curled-up or tamed rolly pollies stand their ground + return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isTame() && super.canUse(); + } + }); + this.goalSelector.addGoal(2, new TemptGoal(this, 1.1D, Ingredient.of(AntarchyTags.Items.ROLLY_POLLY_FOOD), false) { + @Override + public boolean canUse() { + return !RollyPollyEntity.this.isRolled() && super.canUse(); + } + }); + this.goalSelector.addGoal(3, new WaterAvoidingRandomStrollGoal(this, 1.0D) { + @Override + public boolean canUse() { + return !RollyPollyEntity.this.isRolled() && !RollyPollyEntity.this.isVehicle() && super.canUse(); + } + }); + this.goalSelector.addGoal(4, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(5, new RandomLookAroundGoal(this)); + } + + @Override + public boolean isFood(ItemStack stack) { + return stack.is(AntarchyTags.Items.ROLLY_POLLY_FOOD); + } + + @Override + public InteractionResult mobInteract(Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + + if (this.isFood(stack)) { + if (!this.level().isClientSide) { + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + if (!this.isTame()) { + if (this.random.nextInt(AntarchySettings.rollyPollyTameChance()) == 0) { + this.setTame(true, true); + this.setOwnerUUID(player.getUUID()); + this.stopDefensiveCurl(); + this.setTarget(null); + this.level().broadcastEntityEvent(this, (byte) 7); + } else { + this.level().broadcastEntityEvent(this, (byte) 6); + } + } else if (this.getHealth() < this.getMaxHealth()) { + this.heal(4.0F); + this.level().broadcastEntityEvent(this, (byte) 7); + } + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.isTame()) { + if (!this.hasSaddle() && stack.is(Items.SADDLE) && this.isOwnedBy(player)) { + if (!this.level().isClientSide) { + this.setSaddled(true); + if (!player.getAbilities().instabuild) { + stack.shrink(1); + } + this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 1.2F); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.hasSaddle() && stack.isEmpty() && player.isShiftKeyDown() && this.isOwnedBy(player) && !player.isPassengerOfSameVehicle(this)) { + if (!this.level().isClientSide) { + this.setSaddled(false); + this.spawnAtLocation(new ItemStack(Items.SADDLE)); + this.playSound(SoundEvents.HORSE_SADDLE, 1.0F, 0.9F); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + + if (this.hasSaddle() && stack.isEmpty() && !player.isPassengerOfSameVehicle(this)) { + if (!this.level().isClientSide) { + player.startRiding(this); + } + return InteractionResult.sidedSuccess(this.level().isClientSide); + } + } + + return super.mobInteract(player, hand); + } + + @Override + @Nullable + public AgeableMob getBreedOffspring(ServerLevel level, AgeableMob otherParent) { + return null; + } + + public boolean hasSaddle() { + return this.entityData.get(SADDLED); + } + + public void setSaddled(boolean saddled) { + this.entityData.set(SADDLED, saddled); + } + + public boolean isRolled() { + return this.entityData.get(ROLLED); + } + + private void setRolled(boolean rolled) { + this.entityData.set(ROLLED, rolled); + } + + /** Toggles wheel mode; called from the ridden-roll keybind payload. */ + public void handleRollToggle(ServerPlayer player) { + if (!this.isTame() || !this.hasSaddle() || this.getControllingPassenger() != player) { + return; + } + if (this.rollTransitionTicks > 0) { + return; + } + if (this.isRolled()) { + this.startUnroll(); + } else { + this.startRollUp(); + } + } + + private void startRollUp() { + this.setRolled(true); + this.unrolling = false; + this.rollTransitionTicks = ROLL_UP_TICKS; + this.setAnimationState(ANIM_ROLL_UP); + this.playSound(SoundEvents.ARMOR_EQUIP_TURTLE.value(), 0.8F, 1.4F); + } + + private void startUnroll() { + this.unrolling = true; + this.rollTransitionTicks = UNROLL_TICKS; + this.setAnimationState(ANIM_UNROLL); + this.playSound(SoundEvents.ARMOR_EQUIP_TURTLE.value(), 0.8F, 1.1F); + } + + private void stopDefensiveCurl() { + this.defensiveCurlTicks = 0; + if (this.isRolled() && !this.isVehicle()) { + this.startUnroll(); + } + } + + @Override + public boolean hurt(DamageSource source, float amount) { + if (this.isRolled()) { + amount *= 0.25F; + } + boolean hurt = super.hurt(source, amount); + // Wild rolly pollies curl up defensively when attacked + if (hurt && !this.level().isClientSide && !this.isTame() && this.isAlive() + && !this.isRolled() && this.rollTransitionTicks <= 0) { + this.defensiveCurlTicks = DEFENSIVE_CURL_TICKS; + this.startRollUp(); + } + return hurt; + } + + @Override + public void tick() { + super.tick(); + if (this.level().isClientSide) { + return; + } + + if (this.rollTransitionTicks > 0) { + this.rollTransitionTicks--; + if (this.rollTransitionTicks <= 0) { + if (this.unrolling) { + this.setRolled(false); + this.unrolling = false; + this.setAnimationState(ANIM_IDLE); + } else { + this.setAnimationState(ANIM_ROLLING); + } + } + } + + if (this.defensiveCurlTicks > 0) { + this.defensiveCurlTicks--; + this.getNavigation().stop(); + if (this.defensiveCurlTicks <= 0 && this.isRolled() && !this.isVehicle()) { + this.startUnroll(); + } + } + + this.tickTumbleDamage(); + this.updateAnimationState(); + } + + private void tickTumbleDamage() { + if (!this.isRolled() || this.rollTransitionTicks > 0 + || !(this.getControllingPassenger() instanceof Player rider)) { + this.tumbleTicks = 0; + return; + } + boolean moving = this.getDeltaMovement().horizontalDistanceSqr() > 0.003D; + boolean helmeted = !rider.getItemBySlot(EquipmentSlot.HEAD).isEmpty(); + if (!moving || helmeted) { + return; + } + if (++this.tumbleTicks >= TUMBLE_DAMAGE_INTERVAL_TICKS) { + this.tumbleTicks = 0; + rider.hurt(this.damageSources().generic(), (float) AntarchySettings.rollyPollyTumbleDamage()); + } + } + + private void updateAnimationState() { + // Roll states are driven by the transition/tick logic above + int state = this.getAnimationState(); + if (state == ANIM_ROLL_UP || state == ANIM_ROLLING || state == ANIM_UNROLL) { + return; + } + boolean moving = this.getDeltaMovement().horizontalDistanceSqr() > 1.0E-4D; + this.setAnimationState(moving ? ANIM_WALK : ANIM_IDLE); + } + + private int getAnimationState() { + return this.entityData.get(ANIMATION_STATE); + } + + private void setAnimationState(int state) { + this.entityData.set(ANIMATION_STATE, state); + } + + @Override + @Nullable + public LivingEntity getControllingPassenger() { + if (!this.isTame() || !this.hasSaddle()) { + return null; + } + Entity passenger = this.getFirstPassenger(); + return passenger instanceof LivingEntity living ? living : null; + } + + @Override + public boolean canAddPassenger(Entity passenger) { + return this.getPassengers().isEmpty(); + } + + @Override + protected void positionRider(Entity passenger, MoveFunction moveFunction) { + if (this.hasPassenger(passenger)) { + // When rolled the rider tucks into the center of the ball; otherwise sits on the shell + double yOffset = this.isRolled() ? -0.25D : 0.45D; + moveFunction.accept(passenger, this.getX(), this.getY() + yOffset, this.getZ()); + } + } + + @Override + public void travel(Vec3 travelVector) { + if (!(this.getControllingPassenger() instanceof Player rider) || !this.isVehicle()) { + if (this.defensiveCurlTicks > 0) { + super.travel(Vec3.ZERO); + return; + } + super.travel(travelVector); + return; + } + + if (this.rollTransitionTicks > 0) { + // Hold still while rolling up / unrolling + super.travel(Vec3.ZERO); + return; + } + + this.setYRot(rider.getYHeadRot()); + this.yBodyRot = this.getYRot(); + this.yHeadRot = this.getYRot(); + + float forward = rider.zza; + float strafe = rider.xxa * 0.5F; + if (forward < 0.0F) { + forward *= 0.4F; + } + if (this.isRolled()) { + // Rolling is fast but drifty + strafe *= 0.35F; + } + + double speed = this.getAttributeValue(Attributes.MOVEMENT_SPEED) + * (this.isRolled() ? AntarchySettings.rollyPollyRollSpeedMultiplier() : 1.0D); + this.setSpeed((float) speed); + + Vec3 input = new Vec3(strafe, 0.0D, forward); + Vec3 motion = new Vec3(0.0D, this.getDeltaMovement().y, 0.0D); + this.moveRelative(this.getSpeed(), input); + this.setDeltaMovement(motion.add(this.getDeltaMovement().x, 0.0D, this.getDeltaMovement().z)); + this.move(MoverType.SELF, this.getDeltaMovement()); + } + + @Override + public boolean causeFallDamage(float fallDistance, float multiplier, DamageSource damageSource) { + if (this.isRolled()) { + return false; + } + return super.causeFallDamage(fallDistance, multiplier, damageSource); + } + + @Override + protected void dropEquipment() { + super.dropEquipment(); + if (this.hasSaddle()) { + this.spawnAtLocation(new ItemStack(Items.SADDLE)); + this.setSaddled(false); + } + } + + @Override + public void addAdditionalSaveData(CompoundTag tag) { + super.addAdditionalSaveData(tag); + tag.putBoolean("Saddled", this.hasSaddle()); + } + + @Override + public void readAdditionalSaveData(CompoundTag tag) { + super.readAdditionalSaveData(tag); + this.setSaddled(tag.getBoolean("Saddled")); + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + controllers.add(new AnimationController<>(this, "main_controller", 2, this::mainAnimController)); + } + + private PlayState mainAnimController(AnimationState state) { + return switch (this.getAnimationState()) { + case ANIM_WALK -> state.setAndContinue(WALK_ANIM); + case ANIM_ROLL_UP -> state.setAndContinue(ROLL_UP_ANIM); + case ANIM_ROLLING -> state.setAndContinue(ROLLING_ANIM); + case ANIM_UNROLL -> state.setAndContinue(UNROLL_ANIM); + default -> state.setAndContinue(IDLE_ANIM); + }; + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.geoCache; + } +} diff --git a/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java b/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java new file mode 100644 index 00000000..ab9c97da --- /dev/null +++ b/common/src/main/java/com/craisinlord/antarchy/content/network/RollyPollyRollPayload.java @@ -0,0 +1,20 @@ +package com.craisinlord.antarchy.content.network; + +import com.craisinlord.antarchy.Antarchy; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +/** C2S: the rider pressed the roll keybind — toggle the rolly polly's wheel mode. */ +public record RollyPollyRollPayload() implements CustomPacketPayload { + public static final Type TYPE = + new Type<>(ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "rolly_polly_roll")); + public static final StreamCodec STREAM_CODEC = + StreamCodec.unit(new RollyPollyRollPayload()); + + @Override + public Type type() { + return TYPE; + } +} diff --git a/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json b/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json index a71ef427..7a3524e8 100644 --- a/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/cloud_shark.animation.json @@ -4,11 +4,6 @@ "idle": { "loop": true, "animation_length": 8, - "sound_effects": { - "0.0": { - "effect": "antarchy:cloud_shark_idle|0.55|1.0" - } - }, "bones": { "head": { "rotation": { @@ -78,7 +73,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -100,7 +95,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, 0, -37.5] }, "lerp_mode": "catmullrom" }, @@ -122,7 +117,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, 0, 37.5] }, "lerp_mode": "catmullrom" }, @@ -144,7 +139,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [-17.5, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -178,7 +173,7 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [-10, 0, 0] }, "lerp_mode": "catmullrom" }, @@ -280,50 +275,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -60] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -368,94 +319,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -40] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -50] - }, - "lerp_mode": "catmullrom" - }, - "8.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -471,17 +334,144 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 60] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "8.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } } } }, "swim": { "loop": true, "animation_length": 4, - "sound_effects": { - "0.0": { - "effect": "antarchy:cloud_shark_fly|0.7|1.0" - } - }, "bones": { "head": { "rotation": { @@ -715,50 +705,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 67.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -82.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 67.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -55] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 20] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -803,94 +749,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -72.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 70] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -72.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 72.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -70] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 72.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -906,6 +764,138 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 82.5] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -67.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -20] + }, + "lerp_mode": "catmullrom" + } + } } } }, @@ -1264,110 +1254,6 @@ } } }, - "right_wing": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-28.48347, 25.49671, 55.92684] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-28.48347, 25.49671, 55.92684] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-26.25382, -27.79687, -25.89482] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-26.25382, -27.79687, -25.89482] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-22.40559, 30.89218, 68.73521] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [-22.40559, 30.89218, 68.73521] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, -30] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 55] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, -55] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 40] - }, - "lerp_mode": "catmullrom" - } - } - }, "left_wing": { "rotation": { "0.0": { @@ -1472,214 +1358,6 @@ } } }, - "right_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-76.5498, 41.70738, -43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-76.5498, 41.70738, -43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-78.99034, -24.59477, -57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-78.99034, -24.59477, -57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [72.25889, 53.70751, 113.03177] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [72.25889, 53.70751, 113.03177] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "right_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, 57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, -42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, 50] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing3": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [-76.5498, -41.70738, 43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [-76.5498, -41.70738, 43.45893] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [-78.99034, 24.59477, 57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [-78.99034, 24.59477, 57.12934] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [72.25889, -53.70751, -113.03177] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [72.25889, -53.70751, -113.03177] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 52.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "left_wing4": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - }, - "0.1667": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.2917": { - "post": { - "vector": [0, 0, -57.5] - }, - "lerp_mode": "catmullrom" - }, - "0.375": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.4583": { - "post": { - "vector": [0, 0, 42.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5833": { - "post": { - "vector": [0, 0, -7.5] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 47.5] - }, - "lerp_mode": "catmullrom" - } - } - }, "halo": { "rotation": { "0.0": { @@ -1695,8 +1373,320 @@ "lerp_mode": "catmullrom" } } + }, + "right_wing": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-28.48347, -25.49671, -55.92684] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-26.25382, 27.79687, 25.89482] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-22.40559, -30.89218, -68.73521] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_wing_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 30] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + } + } } } } } -} +} \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json index 441992c5..05be1d2a 100644 --- a/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/emperor_scorpion.animation.json @@ -9,19 +9,183 @@ "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [17.5, 0, 0] }, "lerp_mode": "catmullrom" }, "2.0": { "post": { - "vector": [5, 0, 0] + "vector": [22.5, 0, 0] }, "lerp_mode": "catmullrom" }, "4.0": { "post": { - "vector": [0, 0, 0] + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15.76424, 15.58169, 6.41363] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.55159, -66.49678, 18.63503] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [15.76424, -15.58169, -6.41363] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-15.55159, 66.49678, -18.63503] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 12.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 40, 0] }, "lerp_mode": "catmullrom" } @@ -29,6 +193,26 @@ }, "torso": { "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-14.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { "0.0": { "post": { "vector": [0, 0, 0] @@ -37,7 +221,7 @@ }, "2.0": { "post": { - "vector": [-7.5, 0, 0] + "vector": [0.01701, -1.932, -0.51681] }, "lerp_mode": "catmullrom" }, @@ -49,133 +233,29 @@ } } }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -35, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "3.0417": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "4.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, "tail": { "rotation": { "0.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, - "1.0": { + "0.7917": { "post": { - "vector": [35, 0, 0] + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.5": { + "post": { + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" }, "4.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" } @@ -184,86 +264,4328 @@ "tail2": { "rotation": { "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [85, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "3.1667": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "4.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "4.0": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "4.0": { + "vector": [0, 2.97433, 0.39158] + } + } + } + } + }, + "snap": { + "animation_length": 1.1667, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-15, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [3.7, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [23.42856, 32.02895, 39.9583] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [21.71157, 23.54515, 36.82727] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [23.42856, 32.02895, 39.9583] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [36.336, 33.21119, 61.27705] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [27.17428, -54.73839, -13.49464] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [30.90401, -59.1128, -17.94168] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [17.57153, -29.15131, 0.47837] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-9.00519, -46.91401, 10.92044] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-6.1917, -22.90321, 6.52626] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-7.96435, -39.49556, 9.40333] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-0.31701, -52.5214, -0.0116] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-7.69574, -37.01886, 8.96963] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.68128, -37.43886, 12.90265] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.68128, -37.43886, 12.90265] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-0.62424, -29.93934, 12.80003] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-0.58525, -22.43976, 12.71188] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [-1.00506, -57.43681, 13.33557] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-0.54094, 0.05918, 12.48792] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 7.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-8.61309, 44.44348, -10.37251] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-0.62424, 29.93934, -12.80003] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 15, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [-0.04217, 4.92423, 0.86613] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [45, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [9.19914, 3.52239, -38.53112] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [14.11306, 1.80961, -55.00433] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [14.06755, -1.76775, -41.10726] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [42.40833, -20.72687, -59.24866] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [9.19914, -3.52239, 38.53112] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [4.48533, -9.12111, 50.99268] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [14.11306, -1.80961, 55.00433] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [14.06755, 1.76775, 41.10726] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [42.40833, 20.72687, 59.24866] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "1.1667": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 12] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 12] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, -4, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "sting": { + "animation_length": 1.25, + "bones": { + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [40.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [40.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.59276, 9.44321, 19.44192] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-13.01253, -61.64994, 15.81446] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-13.01253, -61.64994, 15.81446] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.59657, -24.93963, 12.74003] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.59657, -24.93963, 12.74003] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [40.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [40.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.59276, -9.44321, -19.44192] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-13.01253, 61.64994, -15.81446] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-13.01253, 61.64994, -15.81446] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.59657, 24.93963, -12.74003] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.59657, 24.93963, -12.74003] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-22.47522, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-22.47522, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [37.52478, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [37.52478, -0.248, -0.4204] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-0.06748, 7.39206, 3.05824] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-0.06748, 7.39206, 3.05824] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [27.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [27.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [25.0008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [42.5008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [25.0008, -0.21542, 0.08621] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [42.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [42.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [37.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [50.00154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [37.50154, -0.01397, 0.41232] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 10.90589, -1.43579] + }, + "0.4583": { + "vector": [0, 10.90589, -1.43579] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [8.93029, -6.60604, 45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [8.93029, -6.60604, 45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.2917": { + "vector": [0, 10.90589, -1.43579] + }, + "0.4583": { + "vector": [0, 10.90589, -1.43579] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [8.93029, 6.60604, -45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [8.93029, 6.60604, -45.80307] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.25": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "1.25": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "1.25": { + "vector": [0, 2.97433, 0.39158] + } + } + }, + "Emperor_scorpion": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.7083": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [0, -7, 0] + }, + "0.7917": { + "vector": [0, 0, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "0.875": { + "vector": [0, -7, 0] + }, + "0.9167": { + "vector": [0, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + }, + "tail_base": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [90, 0, 0] + }, + "0.8333": { + "vector": [90, 0, 0] + }, + "1.25": { + "vector": [0, 0, 0] + } + } + } + } + }, + "death": { + "animation_length": 2, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-95, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -40] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-95, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-10.90072, -2.02429, -7.48359] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-11.0335, -1.07248, -2.57317] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-58.57884, -69.14305, 63.52353] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.45814, -34.54067, 8.56333] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1.65088, -1.8911, 41.16658] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-0.58731, -2.4278, 13.42887] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0.43439, -2.462, -10.00933] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-10.90072, 2.02429, 7.48359] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [-11.0335, 1.07248, 2.57317] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-58.57884, 69.14305, -63.52353] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.45814, 34.54067, -8.56333] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-1.65088, 1.8911, -41.16658] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [-0.58731, 2.4278, -13.42887] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0.43439, 2.462, 10.00933] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-19.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0.65263, 4.95722] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [68.67, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail2": { + "rotation": { + "0.0": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [73.67, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [92.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [20, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { "post": { "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" }, - "2.0": { + "0.9167": { "post": { - "vector": [25, 0, 0] + "vector": [10, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.5": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.96013, 14.15594, 3.28955] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [8.24992, -11.63031, 6.43] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [3.16727, -27.01074, 12.61337] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.06542, -45.90473, 19.36303] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [9.96013, -14.15594, -3.28955] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [8.24992, 11.63031, -6.43] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [3.16727, 27.01074, -12.61337] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-7.06542, 45.90473, -19.36303] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-7.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 2.97433, 0.39158] + }, + "lerp_mode": "catmullrom" + } + } + }, + "Emperor_scorpion": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [17.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + }, + "0.6667": { + "vector": [0, 0, 0] + }, + "0.75": { + "vector": [0, -13, 0] + }, + "0.8333": { + "vector": [0, 0, 0] + }, + "0.9167": { + "vector": [0, -8, 0] + } + } + } + } + }, + "agro": { + "animation_length": 1.5, + "bones": { + "right_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-93.69768, 47.44052, -2.72535] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-110, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_mandibule": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-93.69768, -47.44052, 2.72535] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-110, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "head": { + "rotation": { + "0.0": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-27.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [17.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.24317, 40.3589, 22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [15.96462, 16.54425, 13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-26.01017, -75.88812, 29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-0.54143, -2.4407, 12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.24317, -40.3589, -22.679] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [15.96462, -16.54425, -13.90465] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "0.0": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-26.01017, 75.88812, -29.64312] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-0.54143, 2.4407, -12.51153] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_claw_open": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 40, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [20.02448, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-9.97552, -0.15113, -0.46411] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-0.44, 9.12, 4.16] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [1, 8.58419, 3.91301] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 6.26, -13.74] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [1, 5.84314, -16.90733] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "0.9583": { + "post": { + "vector": [1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [-1, 5.84, -16.91] + }, + "lerp_mode": "catmullrom" + }, + "1.0417": { + "post": { + "vector": [0, 6.26, -13.74] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "tail": { + "rotation": { + "0.0": { + "post": { + "vector": [55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [37.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { "post": { "vector": [35, 0, 0] }, "lerp_mode": "catmullrom" - } - } - }, - "r_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" }, - "4.0": { + "1.5": { "post": { - "vector": [0, -22.5, 0] + "vector": [55, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "r_leg3": { + "tail2": { "rotation": { "0.0": { "post": { - "vector": [0, 22.5, 0] + "vector": [92.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.1667": { "post": { - "vector": [0, 22.5, 0] + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [67.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [92.5, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "l_leg": { + "left_leg": { "rotation": { "0.0": { "post": { - "vector": [0, 22.5, 0] + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.3333": { "post": { - "vector": [0, 22.5, 0] + "vector": [-1.64738, 2.1728, -37.76412] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-1.72297, 17.16639, -38.21031] }, "lerp_mode": "catmullrom" } } }, - "l_leg3": { + "left_leg2": { "rotation": { "0.0": { "post": { - "vector": [0, -22.5, 0] + "vector": [0, 0, 90] }, "lerp_mode": "catmullrom" }, - "4.0": { + "0.3333": { "post": { - "vector": [0, -22.5, 0] + "vector": [0, 0, 52.5] }, "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [14.10576, -1.86677, -40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [26.72762, -5.14185, -60.34804] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [23.97832, -13.07344, -43.46517] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [24.22538, -12.71913, -44.36617] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [-4, 0.26105, 1.98289] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [43.07231, -19.03, -61.20103] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [39.26594, -26.7138, -51.59932] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [39.98602, -25.67186, -53.11029] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [-5, 0.78316, 5.94867] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, 90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-1.64738, -2.1728, 37.76412] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [-1.72297, -17.16639, 38.21031] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [14.10576, 1.86677, 40.45934] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [26.72762, 5.14185, 60.34804] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [23.97832, 13.07344, 43.46517] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [24.22538, 12.71913, 44.36617] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [4, 0.26105, 1.98289] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [43.07231, 19.03, 61.20103] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [39.26594, 26.7138, 51.59932] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [39.98602, 25.67186, 53.11029] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.1667": { + "vector": [5, 0.78316, 5.94867] + }, + "1.5": { + "vector": [0, 0, 0] + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [0, 0, -90] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [-7.5, 0, 0] + }, + "0.625": { + "vector": [-7.5, 0, 0] + }, + "1.5": { + "vector": [-7.5, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 2.97433, 0.39158] + }, + "0.625": { + "vector": [0, 2.97433, 0.39158] + }, + "1.5": { + "vector": [0, 2.97433, 0.39158] + } + } + }, + "Emperor_scorpion": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.625": { + "vector": [0, 0, 0] + }, + "1.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.625": { + "vector": [0, 0, 0] + }, + "1.5": { + "vector": [0, 0, 0] } } } @@ -275,572 +4597,267 @@ "bones": { "head": { "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [7.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } + "vector": [17.5, 0, 0] } }, - "torso": { + "right_arm": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-10, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0.04276, 27.49038, 0.45373] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-0.15033, 44.97993, 0.86308] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0.04276, -27.49038, -0.45373] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-0.15033, -44.97993, -0.86308] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail": { - "rotation": { - "0.0": { - "post": { - "vector": [42.5, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" }, "0.125": { "post": { - "vector": [62.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [42.5, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail2": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] + "vector": [21.0706, 18.8197, -1.3935] }, "lerp_mode": "catmullrom" }, "0.25": { "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "tail3": { - "rotation": { - "0.0": { - "post": { - "vector": [35, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" }, "0.375": { "post": { - "vector": [22.5, 0, 0] + "vector": [21.0706, 18.8197, -1.3935] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [35, 0, 0] + "vector": [20.54, 14.15, -3.24] }, "lerp_mode": "catmullrom" } } }, - "r_leg": { + "right_arm2": { + "rotation": { + "vector": [-87.84727, -83.85782, 92.15322] + } + }, + "right_claw": { "rotation": { "0.0": { "post": { - "vector": [25.03181, -64.37177, -18.5617] + "vector": [-2.96, -26.64, 18.35] }, "lerp_mode": "catmullrom" }, - "0.25": { + "0.0833": { "post": { - "vector": [-18.98448, 42.68932, -3.98448] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [25.03181, -64.37177, -18.5617] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [11.3148, -21.1262, 0.14658] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-27.20957, 63.66301, -22.12815] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [11.3148, -21.1262, 0.14658] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [-11.3148, -21.1262, -0.14658] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [8.95013, 43.76278, 5.89364] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-11.3148, -21.1262, -0.14658] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [14.51082, 43.07952, 5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-6.1191, -21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [14.51082, 43.07952, 5.75357] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [-25.03181, -64.37177, 18.5617] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.39429, 20.39034, 3.57575] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-25.03181, -64.37177, 18.5617] - }, - "lerp_mode": "catmullrom" - } - } - }, - "scorpion_emperor": { - "position": { - "0.0": { - "post": { - "vector": [0, 0, 0] + "vector": [-2.91413, -24.7865, 18.24873] }, "lerp_mode": "catmullrom" }, "0.2083": { "post": { - "vector": [0, 0, -9] + "vector": [-2.9769, -27.2832, 18.3917] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-2.91413, -24.7865, 18.24873] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [-2.9769, -27.2832, 18.3917] }, "lerp_mode": "catmullrom" }, "0.5": { "post": { - "vector": [0, 0, 0] + "vector": [-2.96, -26.64, 18.35] }, "lerp_mode": "catmullrom" } } - } - } - }, - "attack": { - "animation_length": 1.0417, - "bones": { - "head": { + }, + "right_claw_open": { "rotation": { "0.0": { "post": { - "vector": [0, 0, 0] + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -32.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm": { + "rotation": { + "0.0": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [21.0706, -18.8197, 1.3935] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [21.0706, -18.8197, 1.3935] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [20.54, -14.15, 3.24] + }, + "lerp_mode": "catmullrom" + } + } + }, + "left_arm2": { + "rotation": { + "vector": [-26.01017, 75.88812, -29.64312] + } + }, + "left_claw": { + "rotation": { + "0.0": { + "post": { + "vector": [-2.96, 26.64, -18.35] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-2.91413, 24.7865, -18.24873] }, "lerp_mode": "catmullrom" }, "0.2083": { "post": { - "vector": [17.5, 0, 0] + "vector": [-2.9769, 27.2832, -18.3917] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.3333": { "post": { - "vector": [17.5, 0, 0] + "vector": [-2.91413, 24.7865, -18.24873] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.4583": { "post": { - "vector": [-27.5, 0, 0] + "vector": [-2.9769, 27.2832, -18.3917] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [-27.5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] + "vector": [-2.96, 26.64, -18.35] }, "lerp_mode": "catmullrom" } } }, + "left_claw_open": { + "rotation": { + "vector": [0, 40, 0] + } + }, "torso": { "rotation": { "0.0": { + "post": { + "vector": [-0.5595, 0.0244, 2.4999] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0.5062, 0.0203, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [-1, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-0.5595, 0.0244, 2.4999] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.25": { "post": { - "vector": [-20, 0, 0] + "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { - "post": { - "vector": [-20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [20, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { + "0.375": { "post": { "vector": [0, 0, 0] }, "lerp_mode": "catmullrom" - } - } - }, - "r_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" }, - "0.2083": { + "0.5": { "post": { - "vector": [0.28453, -7.47189, -1.1911] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0.28453, -7.47189, -1.1911] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [3.28812, 82.43115, 5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [3.28812, 82.43115, 5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0.72824, 7.55891, -0.3803] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0.72824, 7.55891, -0.3803] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 22.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [0.28453, 7.47189, 1.1911] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [0.28453, 7.47189, 1.1911] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -17.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_claw2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [3.28812, -82.43115, -5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [3.28812, -82.43115, -5.72119] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0.72824, -7.55891, 0.3803] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0.72824, -7.55891, 0.3803] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -22.5, 0] + "vector": [0, 1, 0] }, "lerp_mode": "catmullrom" } @@ -850,37 +4867,31 @@ "rotation": { "0.0": { "post": { - "vector": [42.5, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.125": { "post": { - "vector": [15, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.25": { "post": { - "vector": [15, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.375": { "post": { - "vector": [80, 0, 0] + "vector": [45, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [80, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [42.5, 0, 0] + "vector": [47.5, 0, 0] }, "lerp_mode": "catmullrom" } @@ -890,292 +4901,434 @@ "rotation": { "0.0": { "post": { - "vector": [35, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.125": { "post": { - "vector": [20, 0, 0] + "vector": [90, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.4167": { + "0.25": { "post": { - "vector": [20, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.5417": { + "0.375": { "post": { - "vector": [50, 0, 0] + "vector": [90, 0, 0] }, "lerp_mode": "catmullrom" }, - "0.7083": { + "0.5": { "post": { - "vector": [50, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [35, 0, 0] + "vector": [85, 0, 0] }, "lerp_mode": "catmullrom" } } }, - "tail3": { + "left_leg2": { "rotation": { "0.0": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" + "vector": [0, 0, 100] }, - "0.2083": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-5, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [-25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [-25, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [35, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [14.51082, -43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [14.51082, -43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg2": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [6.1191, -21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "r_leg3": { - "rotation": { - "0.0": { - "post": { - "vector": [-6.1191, 21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [-14.51082, 43.07952, -5.75357] - }, - "lerp_mode": "catmullrom" - }, - "0.5417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.7083": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [-6.1191, 21.69365, -1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg": { - "rotation": { - "0.0": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - }, - "0.2083": { - "post": { - "vector": [31.99897, 63.17628, 19.99913] - }, - "lerp_mode": "catmullrom" - }, - "0.4167": { - "post": { - "vector": [31.99897, 63.17628, 19.99913] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" - } - } - }, - "l_leg2": { - "rotation": { - "0.5417": { + "0.125": { "pre": { - "vector": [6.1191, 21.69365, 1.17354] + "vector": [0, 0, 46.25] }, "post": { - "vector": [6.1191, 21.69365, 1.17354] + "vector": [0, 0, 46.25] }, "lerp_mode": "catmullrom" }, - "0.7083": { - "post": { - "vector": [6.1191, 21.69365, 1.17354] - }, - "lerp_mode": "catmullrom" + "0.25": { + "vector": [0, 0, 37.5] + }, + "0.5": { + "vector": [0, 0, 100] } } }, - "l_leg3": { + "left_leg": { "rotation": { "0.0": { + "vector": [-17.835, 32.8234, -50.8252] + }, + "0.0833": { + "pre": { + "vector": [-20.0712, 36.5326, -44.5604] + }, "post": { - "vector": [0, -22.5, 0] + "vector": [-20.0712, 36.5326, -44.5604] }, "lerp_mode": "catmullrom" }, - "0.2083": { + "0.1667": { "post": { - "vector": [-7.91848, -44.03198, 4.42617] + "vector": [-6.2969, 50.0472, -11.6665] }, "lerp_mode": "catmullrom" }, - "0.4167": { - "post": { - "vector": [-7.91848, -44.03198, 4.42617] - }, - "lerp_mode": "catmullrom" + "0.25": { + "vector": [-7.94, 50.66, -4.89] }, - "0.5417": { - "post": { - "vector": [5.68464, -0.69026, -1.16451] - }, - "lerp_mode": "catmullrom" + "0.375": { + "vector": [-17.8875, 41.7417, -27.8576] }, - "0.7083": { - "post": { - "vector": [5.68464, -0.69026, -1.16451] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, -22.5, 0] - }, - "lerp_mode": "catmullrom" + "0.5": { + "vector": [-17.835, 32.8234, -50.8252] } } }, - "scorpion_emperor": { - "position": { + "left_leg3": { + "rotation": { "0.0": { + "vector": [-1.44, 27.42, -21.33] + }, + "0.25": { + "vector": [17.1566, 10.2095, -27.2558] + }, + "0.375": { + "pre": { + "vector": [10.79, 18.48, -35.15] + }, "post": { - "vector": [0, 0, 0] + "vector": [10.79, 18.48, -35.15] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-1.44, 27.42, -21.33] + } + } + }, + "left_leg4": { + "rotation": { + "0.0": { + "vector": [0, 0, 57.5] + }, + "0.25": { + "vector": [0, 0, 67.5] + }, + "0.3333": { + "pre": { + "vector": [0, 0, 76.67] + }, + "post": { + "vector": [0, 0, 76.67] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 57.5] + } + } + }, + "left_leg_back": { + "rotation": { + "0.0": { + "vector": [19.53, -19.29, -27.48] + }, + "0.0833": { + "pre": { + "vector": [34.4927, -6.1161, -39.5276] + }, + "post": { + "vector": [34.4927, -6.1161, -39.5276] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [10.5576, -3.3509, -35.748] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [6.6225, -0.5857, -31.9684] + }, + "0.5": { + "vector": [19.53, -19.29, -27.48] + } + } + }, + "left_leg_back2": { + "rotation": { + "0.0": { + "vector": [0, 0, 52.5] + }, + "0.125": { + "pre": { + "vector": [0, 0, 75.83] + }, + "post": { + "vector": [0, 0, 75.83] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 70] + }, + "0.5": { + "vector": [0, 0, 52.5] + } + } + }, + "left_leg_back3": { + "rotation": { + "0.0": { + "vector": [49.9401, -51.5736, -59.3599] + }, + "0.0833": { + "pre": { + "vector": [46.73, -44.95, -59.15] + }, + "post": { + "vector": [46.73, -44.95, -59.15] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [44.9524, -15.2516, -64.3241] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [54.2, -15.58, -64.99] + }, + "0.5": { + "vector": [49.9401, -51.5736, -59.3599] + } + } + }, + "left_leg_back4": { + "rotation": { + "0.0": { + "vector": [0, 0, 57.5] + }, + "0.125": { + "pre": { + "vector": [0, 0, 61.67] + }, + "post": { + "vector": [0, 0, 61.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, 107.5] + }, + "0.5": { + "vector": [0, 0, 57.5] + } + } + }, + "right_leg": { + "rotation": { + "0.0": { + "vector": [-7.94, -50.66, 4.89] + }, + "0.125": { + "vector": [-17.8875, -41.7417, 27.8576] + }, + "0.25": { + "vector": [-17.835, -32.8234, 50.8252] + }, + "0.3333": { + "pre": { + "vector": [-20.0712, -36.5326, 44.5604] + }, + "post": { + "vector": [-20.0712, -36.5326, 44.5604] }, "lerp_mode": "catmullrom" }, "0.4167": { "post": { - "vector": [0, 0, 0] + "vector": [-6.2969, -50.0472, 11.6665] }, "lerp_mode": "catmullrom" }, - "0.5417": { - "post": { - "vector": [0, 0, -8] - }, - "lerp_mode": "catmullrom" - }, - "1.0417": { - "post": { - "vector": [0, 0, 0] - }, - "lerp_mode": "catmullrom" + "0.5": { + "vector": [-7.94, -50.66, 4.89] } } + }, + "right_leg2": { + "rotation": { + "0.0": { + "vector": [0, 0, -37.5] + }, + "0.25": { + "vector": [0, 0, -100] + }, + "0.375": { + "pre": { + "vector": [0, 0, -46.25] + }, + "post": { + "vector": [0, 0, -46.25] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -37.5] + } + } + }, + "right_leg3": { + "rotation": { + "0.0": { + "vector": [17.1566, -10.2095, 27.2558] + }, + "0.125": { + "pre": { + "vector": [10.79, -18.48, 35.15] + }, + "post": { + "vector": [10.79, -18.48, 35.15] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [-1.44, -27.42, 21.33] + }, + "0.5": { + "vector": [17.1566, -10.2095, 27.2558] + } + } + }, + "right_leg4": { + "rotation": { + "0.0": { + "vector": [0, 0, -67.5] + }, + "0.0833": { + "pre": { + "vector": [0, 0, -76.67] + }, + "post": { + "vector": [0, 0, -76.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "vector": [0, 0, -57.5] + }, + "0.5": { + "vector": [0, 0, -67.5] + } + } + }, + "right_leg_back": { + "rotation": { + "0.0": { + "vector": [6.6225, 0.5857, 31.9684] + }, + "0.25": { + "vector": [19.53, 19.29, 27.48] + }, + "0.3333": { + "pre": { + "vector": [34.4927, 6.1161, 39.5276] + }, + "post": { + "vector": [34.4927, 6.1161, 39.5276] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [10.5576, 3.3509, 35.748] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [6.6225, 0.5857, 31.9684] + } + } + }, + "right_leg_back2": { + "rotation": { + "0.0": { + "vector": [0, 0, -70] + }, + "0.25": { + "vector": [0, 0, -52.5] + }, + "0.375": { + "pre": { + "vector": [0, 0, -75.83] + }, + "post": { + "vector": [0, 0, -75.83] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -70] + } + } + }, + "right_leg_back3": { + "rotation": { + "0.0": { + "vector": [54.2, 15.58, 64.99] + }, + "0.25": { + "vector": [49.9401, 51.5736, 59.3599] + }, + "0.3333": { + "pre": { + "vector": [46.73, 44.95, 59.15] + }, + "post": { + "vector": [46.73, 44.95, 59.15] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [44.9524, 15.2516, 64.3241] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [54.2, 15.58, 64.99] + } + } + }, + "right_leg_back4": { + "rotation": { + "0.0": { + "vector": [0, 0, -107.5] + }, + "0.25": { + "vector": [0, 0, -57.5] + }, + "0.375": { + "pre": { + "vector": [0, 0, -61.67] + }, + "post": { + "vector": [0, 0, -61.67] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -107.5] + } + } + }, + "body": { + "rotation": { + "vector": [-9.98, -0.15, -0.46] + } } } } diff --git a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json index fbcdb91e..210f6cab 100644 --- a/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json +++ b/common/src/main/resources/assets/antarchy/animations/jumpy_bug.animation.json @@ -5,7 +5,7 @@ "loop": true, "animation_length": 4.5, "bones": { - "body": { + "torso": { "rotation": { "0.0": { "post": { @@ -125,7 +125,7 @@ } } }, - "root": { + "body": { "position": { "0.0": { "post": { @@ -273,7 +273,7 @@ "rotation": { "0.0": { "post": { - "vector": [-7.1226, -29.2189, 14.3589] + "vector": [-7.12, -29.22, 14.36] }, "lerp_mode": "catmullrom" }, @@ -707,7 +707,7 @@ } } }, - "root": { + "body": { "rotation": { "0.0": { "post": { @@ -1513,915 +1513,10 @@ } } }, - "jump": { - "animation_length": 2.5, - "bones": { - "backRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.1699, 28.0243, 22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-19.4984, 23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-19.4984, 23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [7.1226, 29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "root": { - "position": { - "0.0": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, -31.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 43.69, 0] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 43.69, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -27.5, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [11.1699, -28.0243, -22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [-19.4984, -23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [-19.4984, -23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [7.1226, -29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "backLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.1699, 28.0243, -22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [19.4984, 23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [19.4984, 23.2443, 41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-7.1226, 29.2189, -14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontLeftFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightThigh": { - "rotation": { - "0.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [-11.1699, -28.0243, 22.7959] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [19.4984, -23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [19.4984, -23.2443, -41.8996] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-7.1226, -29.2189, 14.3589] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightKnee": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -22.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 41.52] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightLeg": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, 32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, -46.05] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, 10] - }, - "lerp_mode": "catmullrom" - } - } - }, - "frontRightFoot": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "0.25": { - "post": { - "vector": [0, 0, -45] - }, - "lerp_mode": "catmullrom" - }, - "0.5": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "1.0": { - "post": { - "vector": [0, 0, 35.58] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 0, -32.5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftGrip": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -20, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, 60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [5, 17.5, -5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "rightClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftAntenna": { - "rotation": { - "0.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [0, -60, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftArm": { - "rotation": { - "0.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [5, -17.5, 5] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftElbow": { - "rotation": { - "0.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [-30, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - }, - "leftClaw": { - "rotation": { - "0.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.0": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - }, - "2.5": { - "post": { - "vector": [40, 0, 0] - }, - "lerp_mode": "catmullrom" - } - } - } - } - }, "attack": { "animation_length": 1, "bones": { - "body": { + "torso": { "rotation": { "0.0": { "post": { @@ -2553,7 +1648,7 @@ } } }, - "root": { + "body": { "position": { "0.0": { "post": { @@ -3048,6 +2143,3648 @@ } } } + }, + "walk2": { + "loop": true, + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -5, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [-2.5, 2.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 5, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-2.5, -2.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, -5, -2.5] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 1, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, -1, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -0.33, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "vector": [0.51, 55.12, 1.91] + }, + "0.0417": { + "vector": [-0.84, 56.48, -0.24] + }, + "0.0833": { + "vector": [-2.1902, 57.84, -2.3841] + }, + "0.125": { + "vector": [-5.39, 59.14, -6.72] + }, + "0.1667": { + "vector": [-7.0069, 60.4955, -9.1801] + }, + "0.2083": { + "vector": [-12.5271, 61.5058, -16.1362] + }, + "0.375": { + "pre": { + "vector": [9.8447, 60.1008, 12.6529] + }, + "post": { + "vector": [9.8447, 60.1008, 12.6529] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [15.5045, 44.0387, 23.0263] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [6.77, 46.22, 12.33] + }, + "0.75": { + "vector": [7.3232, 47.2763, 12.8944] + }, + "0.7917": { + "vector": [6.6433, 48.4639, 11.7564] + }, + "0.8333": { + "vector": [5.9013, 49.6755, 10.5073] + }, + "0.875": { + "vector": [4.56, 51.04, 8.36] + }, + "0.9167": { + "vector": [3.21, 52.4, 6.21] + }, + "0.9583": { + "vector": [1.86, 53.76, 4.06] + }, + "1.0": { + "vector": [0.51, 55.12, 1.91] + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, 41.88] + }, + "0.2083": { + "vector": [0, 0, 70] + }, + "0.375": { + "pre": { + "vector": [0, 0, 57.5] + }, + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 2.5] + }, + "1.0": { + "vector": [0, 0, 41.88] + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -25.83] + }, + "0.2083": { + "vector": [0, 0, -55] + }, + "0.375": { + "pre": { + "vector": [0, 0, -47.5] + }, + "post": { + "vector": [0, 0, -47.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -1.26] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 18.59] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 15] + }, + "1.0": { + "vector": [0, 0, -25.83] + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 25.42] + }, + "0.2083": { + "vector": [0, 0, 40] + }, + "0.375": { + "pre": { + "vector": [0, 0, 28.34] + }, + "post": { + "vector": [0, 0, 28.34] + }, + "lerp_mode": "catmullrom" + }, + "0.5417": { + "post": { + "vector": [0, 0, -18.33] + }, + "lerp_mode": "catmullrom" + }, + "0.7083": { + "vector": [0, 0, 5] + }, + "1.0": { + "vector": [0, 0, 25.42] + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "vector": [0, -26, 0] + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [15.08, -49.85, -21.28] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [15.5045, -44.0387, -23.0263] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [6.77, -46.22, -12.33] + }, + "0.25": { + "vector": [7.3232, -47.2763, -12.8944] + }, + "0.2917": { + "vector": [6.6433, -48.4639, -11.7564] + }, + "0.3333": { + "vector": [5.9013, -49.6755, -10.5073] + }, + "0.375": { + "vector": [4.56, -51.04, -8.36] + }, + "0.4167": { + "vector": [3.21, -52.4, -6.21] + }, + "0.4583": { + "vector": [1.86, -53.76, -4.06] + }, + "0.5": { + "vector": [0.51, -55.12, -1.91] + }, + "0.5417": { + "vector": [-0.84, -56.48, 0.24] + }, + "0.5833": { + "vector": [-2.1902, -57.84, 2.3841] + }, + "0.625": { + "vector": [-5.39, -59.14, 6.72] + }, + "0.6667": { + "vector": [-7.0069, -60.4955, 9.1801] + }, + "0.7083": { + "vector": [-12.5271, -61.5058, 16.1362] + }, + "0.875": { + "pre": { + "vector": [9.8447, -60.1008, -12.6529] + }, + "post": { + "vector": [9.8447, -60.1008, -12.6529] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [15.08, -49.85, -21.28] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -19.88] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -2.5] + }, + "0.5": { + "vector": [0, 0, -41.88] + }, + "0.7083": { + "vector": [0, 0, -70] + }, + "0.875": { + "pre": { + "vector": [0, 0, -57.5] + }, + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -19.88] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 1.26] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -6.09] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -18.59] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -15] + }, + "0.5": { + "vector": [0, 0, 25.83] + }, + "0.7083": { + "vector": [0, 0, 55] + }, + "0.875": { + "pre": { + "vector": [0, 0, 47.5] + }, + "post": { + "vector": [0, 0, 47.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 1.26] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10.76] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 18.33] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "vector": [0, 0, -5] + }, + "0.5": { + "vector": [0, 0, -25.42] + }, + "0.7083": { + "vector": [0, 0, -40] + }, + "0.875": { + "pre": { + "vector": [0, 0, -28.34] + }, + "post": { + "vector": [0, 0, -28.34] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 10.76] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "vector": [-6.77, 38.72, -12.33] + }, + "0.1667": { + "pre": { + "vector": [-17.3164, 41.1079, -35.1114] + }, + "post": { + "vector": [-17.3164, 41.1079, -35.1114] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [-27.6005, 58.8053, -33.9605] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [-6.77, 63.72, -12.33] + }, + "0.625": { + "vector": [-6.77, 59.35, -12.33] + }, + "0.75": { + "vector": [-6.77, 54.97, -12.33] + }, + "0.875": { + "vector": [-6.77, 49.35, -12.33] + }, + "1.0": { + "vector": [-6.77, 38.72, -12.33] + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, -10] + }, + "0.1667": { + "pre": { + "vector": [0, 0, -0.83] + }, + "post": { + "vector": [0, 0, -0.83] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -53] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -50] + }, + "1.0": { + "vector": [0, 0, -10] + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -12.5] + }, + "0.2083": { + "pre": { + "vector": [0, 0, -13.33] + }, + "post": { + "vector": [0, 0, -13.33] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.87] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, 40] + }, + "0.75": { + "vector": [0, 0, 11.25] + }, + "1.0": { + "vector": [0, 0, -12.5] + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 17.5] + }, + "0.1667": { + "pre": { + "vector": [0, 0, 30.83] + }, + "post": { + "vector": [0, 0, 30.83] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.77] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "vector": [0, 0, -17.5] + }, + "1.0": { + "vector": [0, 0, 17.5] + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "vector": [-6.77, -63.72, 12.33] + }, + "0.125": { + "vector": [-6.77, -59.35, 12.33] + }, + "0.25": { + "vector": [-6.77, -54.97, 12.33] + }, + "0.375": { + "vector": [-6.77, -49.35, 12.33] + }, + "0.5": { + "vector": [-6.77, -38.72, 12.33] + }, + "0.6667": { + "pre": { + "vector": [-17.3164, -41.1079, 35.1114] + }, + "post": { + "vector": [-17.3164, -41.1079, 35.1114] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [-27.6005, -58.8053, 33.9605] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [-6.7675, -63.7224, 12.3301] + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, 50] + }, + "0.5": { + "vector": [0, 0, 10] + }, + "0.6667": { + "pre": { + "vector": [0, 0, 0.83] + }, + "post": { + "vector": [0, 0, 0.83] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 53] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 50] + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "vector": [0, 0, -40] + }, + "0.25": { + "vector": [0, 0, -11.25] + }, + "0.5": { + "vector": [0, 0, 12.5] + }, + "0.7083": { + "pre": { + "vector": [0, 0, 13.33] + }, + "post": { + "vector": [0, 0, 13.33] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, -42.87] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, -40] + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "vector": [0, 0, 17.5] + }, + "0.5": { + "vector": [0, 0, -17.5] + }, + "0.6667": { + "pre": { + "vector": [0, 0, -30.83] + }, + "post": { + "vector": [0, 0, -30.83] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [0, 0, 12.77] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, 17.5] + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "vector": [0, 60, 0] + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "vector": [0, -60, 0] + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "walktest": { + "loop": true, + "bones": { + "root": { + "position": { + "vector": [0, 0, "-q.anim_time*90*1.1"] + } + } + } + }, + "jump_start": { + "animation_length": 0.5, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-5.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [4.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [7.12, 29.22, 14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.12, 19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [22.12, 19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -10, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 62.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "0.0": { + "post": { + "vector": [0, -27.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -43.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, -44.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -42.28, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, -36.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -17.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 33.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [7.12, -29.22, -14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [22.12, -19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [22.12, -19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 10, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.12, 29.22, -14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-22.12, 19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-22.12, 19.22, -56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 30, -22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 10, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [-7.12, -29.22, 14.36] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-22.12, -19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [-22.12, -19.22, 56.86] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, 22.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -10, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 35] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -62.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [50, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [57.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [20, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [50, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [-55, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [57.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "jump_loop": { + "loop": true, + "animation_length": 1, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, -9.17] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 30, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 30, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 30, -9.17] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 16.67] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 16.67] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, -52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.6667": { + "post": { + "vector": [0, 0, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "pre": { + "vector": [-2.5, -2.5, -5] + }, + "post": { + "vector": [-2.5, -2.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, 2.5, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, 5, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 46.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 50.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -30, 9.17] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [0, -30, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -30, 2.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -5.94] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -16.67] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -5.94] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 52.34] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 50] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, 52.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 52.34] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -30.31] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -50] + }, + "lerp_mode": "catmullrom" + }, + "0.8333": { + "post": { + "vector": [0, 0, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -30.31] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 8.61] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 30, 27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "post": { + "vector": [0, 30, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 30, 8.61] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "vector": [0, 0, -20.09] + }, + "0.0833": { + "vector": [0, 0, -22.5] + }, + "0.1667": { + "vector": [0, 0, -19.17] + }, + "0.5833": { + "pre": { + "vector": [0, 0, -2.5] + }, + "post": { + "vector": [0, 0, -2.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "vector": [0, 0, -20.09] + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 50.83] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 43.06] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, 36.88] + }, + "lerp_mode": "catmullrom" + }, + "0.7917": { + "post": { + "vector": [0, 0, 57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 50.83] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -45.16] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -51.53] + }, + "lerp_mode": "catmullrom" + }, + "0.3333": { + "post": { + "vector": [0, 0, -55] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -45.16] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, -30, -27.5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -30, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -30, -17.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 19.17] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 2.5] + }, + "lerp_mode": "catmullrom" + }, + "0.9167": { + "vector": [0, 0, 22.5] + }, + "1.0": { + "vector": [0, 0, 19.17] + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -43.06] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, -36.88] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -57.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, -43.06] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 51.53] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 0, 55] + }, + "lerp_mode": "catmullrom" + }, + "0.5833": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 51.53] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [-2.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "jump_end": { + "animation_length": 0.625, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-8, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [-15.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [2.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [6.54, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-0.5, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0.28, 17.47, -16.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.72, 22.56, 6.64] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [7.1226, 29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 29.62] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 15, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 14.46, 12.92] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -4.94, -10.51] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, 2.79, -27.37] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "rotation": { + "vector": [0, 0, 0] + }, + "position": { + "0.0": { + "post": { + "vector": [0, 48.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -9.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [0, -20.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, -27.05, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [0, -31.72, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, -30.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0.28, -17.47, 16.24] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [3.72, -22.56, -6.64] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [7.1226, -29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -29.62] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, -15, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -14.46, -12.92] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 4.94, 10.51] + }, + "lerp_mode": "catmullrom" + }, + "0.1667": { + "post": { + "vector": [0, -2.79, 27.37] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [10, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [10, 30, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-12.5, 30, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.1226, 29.2189, -14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, -14.69] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontLeftFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightThigh": { + "rotation": { + "0.0": { + "post": { + "vector": [10, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [10, -30, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-12.5, -30, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [-7.1226, -29.2189, 14.3589] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightKnee": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 7.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightLeg": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, -42.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, 17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.25": { + "post": { + "vector": [0, 0, 32.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [0, 0, 14.69] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, 10] + }, + "lerp_mode": "catmullrom" + } + } + }, + "frontRightFoot": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 0, 37.5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [0, 0, 15] + }, + "lerp_mode": "catmullrom" + }, + "0.0833": { + "post": { + "vector": [0, 0, -15] + }, + "lerp_mode": "catmullrom" + }, + "0.125": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.2917": { + "post": { + "vector": [0, 0, -17.5] + }, + "lerp_mode": "catmullrom" + }, + "0.4583": { + "post": { + "vector": [0, 0, -12.5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [0, 0, -32.5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -30, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-22.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [27.5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [9.37, 17.5, -5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [5, 17.5, -5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -60, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.0417": { + "post": { + "vector": [-22.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.2083": { + "post": { + "vector": [27.5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.4167": { + "post": { + "vector": [9.37, -17.5, 5] + }, + "lerp_mode": "catmullrom" + }, + "0.625": { + "post": { + "vector": [5, -17.5, 5] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-30, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [40, 0, 0] + }, + "lerp_mode": "catmullrom" + } + } + } + } + }, + "hanging": { + "loop": true, + "animation_length": 2, + "bones": { + "torso": { + "rotation": { + "0.0": { + "post": { + "vector": [-6.88, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.375": { + "post": { + "vector": [-10, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.375": { + "post": { + "vector": [-5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [-6.88, 0, 0] + }, + "lerp_mode": "catmullrom" + } + }, + "position": { + "0.0": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 2, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "backRightThigh": { + "rotation": { + "vector": [35, 30, 57.5] + } + }, + "backRightKnee": { + "rotation": { + "vector": [0, 0, 12.5] + } + }, + "backRightLeg": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "backRightFoot": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "rightGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 31.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, 35, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [0, 20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 31.25, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "body": { + "position": { + "vector": [0, -49, 0] + } + }, + "backLeftThigh": { + "rotation": { + "vector": [35, -30, -57.5] + } + }, + "backLeftKnee": { + "rotation": { + "vector": [0, 0, -12.5] + } + }, + "backLeftLeg": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "backLeftFoot": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontLeftThigh": { + "rotation": { + "vector": [-35, 30, -57.5] + } + }, + "frontLeftKnee": { + "rotation": { + "vector": [0, 0, -12.5] + } + }, + "frontLeftLeg": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "frontLeftFoot": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontRightThigh": { + "rotation": { + "vector": [-35, -30, 57.5] + } + }, + "frontRightKnee": { + "rotation": { + "vector": [0, 0, 12.5] + } + }, + "frontRightLeg": { + "rotation": { + "vector": [0, 0, -45] + } + }, + "frontRightFoot": { + "rotation": { + "vector": [0, 0, 45] + } + }, + "leftGrip": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -31.25, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [0, -35, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "post": { + "vector": [0, -20, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -31.25, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, 57.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, 50, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, 57.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightArm": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [7.5, 17.5, -20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "rightElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "vector": [-42.5, 0, 0] + }, + "2.0": { + "vector": [-50, 0, 0] + } + } + }, + "rightClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [59.37, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.875": { + "vector": [60, 0, 0] + }, + "2.0": { + "vector": [59.37, 0, 0] + } + } + }, + "leftAntenna": { + "rotation": { + "0.0": { + "post": { + "vector": [0, -57.5, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.0": { + "post": { + "vector": [0, -50, 0] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [0, -57.5, 0] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftArm": { + "rotation": { + "0.0": { + "post": { + "vector": [7.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "0.5": { + "post": { + "vector": [2.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "1.5": { + "post": { + "vector": [12.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + }, + "2.0": { + "post": { + "vector": [7.5, -17.5, 20] + }, + "lerp_mode": "catmullrom" + } + } + }, + "leftElbow": { + "rotation": { + "0.0": { + "post": { + "vector": [-50, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.75": { + "post": { + "vector": [-52.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.75": { + "vector": [-42.5, 0, 0] + }, + "2.0": { + "vector": [-50, 0, 0] + } + } + }, + "leftClaw": { + "rotation": { + "0.0": { + "post": { + "vector": [59.37, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "0.875": { + "post": { + "vector": [47.5, 0, 0] + }, + "lerp_mode": "catmullrom" + }, + "1.875": { + "vector": [60, 0, 0] + }, + "2.0": { + "vector": [59.37, 0, 0] + } + } + } + } } } } \ No newline at end of file diff --git a/common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json b/common/src/main/resources/assets/antarchy/animations/rolly_polly.animation.json similarity index 100% rename from common/src/main/resources/assets/antarchy/animations/pill_bug.animation.json rename to common/src/main/resources/assets/antarchy/animations/rolly_polly.animation.json diff --git a/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json b/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json index 0cf8dbed..aa4ba54b 100644 --- a/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/cloud_shark.geo.json @@ -7,8 +7,8 @@ "texture_width": 128, "texture_height": 128, "visible_bounds_width": 6, - "visible_bounds_height": 3.5, - "visible_bounds_offset": [0, 1.25, 0] + "visible_bounds_height": 5, + "visible_bounds_offset": [0, 1.5, 0] }, "bones": [ { @@ -22,7 +22,6 @@ "cubes": [ {"origin": [-6.5, 3, -22], "size": [13, 13, 25], "inflate": 0.01, "uv": [0, 0]}, {"origin": [-1, 16, -12], "size": [2, 5, 9], "inflate": 0.01, "uv": [0, 0]}, - {"origin": [-1, 24, -9], "size": [2, 3, 16], "inflate": 0.1, "uv": [0, 99]}, {"origin": [-1, 21, -9], "size": [2, 7, 6], "inflate": 0.01, "uv": [51, 0]} ] }, @@ -57,36 +56,68 @@ {"origin": [-4.5, 10, -49], "size": [9, 6, 8], "uv": [63, 85]} ] }, - { - "name": "right_wing", - "parent": "head", - "pivot": [-8, 16, -27.5], - "cubes": [ - {"origin": [-22, 16, -33], "size": [14, 0, 11], "uv": [40, 105]} - ] - }, - { - "name": "right_wing2", - "parent": "right_wing", - "pivot": [-22, 16, -27.5], - "cubes": [ - {"origin": [-36, 16, -33], "size": [14, 0, 11], "uv": [89, 51]} - ] - }, { "name": "left_wing", "parent": "head", "pivot": [8, 16, -27.5], "cubes": [ - {"origin": [8, 16, -33], "size": [14, 0, 11], "uv": [40, 105], "mirror": true} + {"origin": [8, 16, -33], "size": [16, 0, 15], "uv": [48, 99], "mirror": true} ] }, { "name": "left_wing2", "parent": "left_wing", - "pivot": [22, 16, -27.5], + "pivot": [24, 16, -27.5], "cubes": [ - {"origin": [22, 16, -33], "size": [14, 0, 11], "uv": [89, 51], "mirror": true} + {"origin": [24, 16, -35], "size": [16, 0, 17], "uv": [-17, 105], "mirror": true} + ] + }, + { + "name": "left_wing_back", + "parent": "head", + "pivot": [8, 16, -2.5], + "cubes": [ + {"origin": [8, 16, -8], "size": [16, 0, 15], "uv": [48, 99], "mirror": true} + ] + }, + { + "name": "left_wing_back2", + "parent": "left_wing_back", + "pivot": [24, 16, -2.5], + "cubes": [ + {"origin": [24, 16, -10], "size": [16, 0, 17], "uv": [-17, 105], "mirror": true} + ] + }, + { + "name": "right_wing_back", + "parent": "head", + "pivot": [-8, 16, -2.5], + "cubes": [ + {"origin": [-24, 16, -8], "size": [16, 0, 15], "uv": [48, 99]} + ] + }, + { + "name": "right_wing_back2", + "parent": "right_wing_back", + "pivot": [-24, 16, -2.5], + "cubes": [ + {"origin": [-40, 16, -10], "size": [16, 0, 17], "uv": [-17, 105]} + ] + }, + { + "name": "right_wing", + "parent": "head", + "pivot": [-8, 16, -27.5], + "cubes": [ + {"origin": [-24, 16, -33], "size": [16, 0, 15], "uv": [48, 99]} + ] + }, + { + "name": "right_wing2", + "parent": "right_wing", + "pivot": [-24, 16, -27.5], + "cubes": [ + {"origin": [-40, 16, -35], "size": [16, 0, 17], "uv": [-17, 105]} ] }, { @@ -94,7 +125,10 @@ "parent": "head", "pivot": [0, 17.5, -37], "cubes": [ - {"origin": [-4, 17, -41], "size": [8, 1, 8], "uv": [96, 108]} + {"origin": [-4, 17, -41], "size": [1, 2, 8], "uv": [32, 105]}, + {"origin": [-3, 17, -41], "size": [6, 2, 1], "uv": [42, 105]}, + {"origin": [-3, 17, -34], "size": [6, 2, 1], "uv": [42, 115]}, + {"origin": [3, 17, -41], "size": [1, 2, 8], "uv": [32, 115]} ] }, { @@ -130,38 +164,6 @@ {"origin": [4.5, 4, -17], "size": [12, 3, 10], "inflate": 0.01, "uv": [0, 65], "mirror": true}, {"origin": [16.5, 4, -14], "size": [7, 3, 7], "inflate": 0.01, "uv": [90, 73], "mirror": true} ] - }, - { - "name": "right_wing3", - "parent": "torso", - "pivot": [-9, 16, 1.5], - "cubes": [ - {"origin": [-23, 16, -4], "size": [14, 0, 11], "uv": [40, 105]} - ] - }, - { - "name": "right_wing4", - "parent": "right_wing3", - "pivot": [-23, 16, 1.5], - "cubes": [ - {"origin": [-37, 16, -4], "size": [14, 0, 11], "uv": [89, 51]} - ] - }, - { - "name": "left_wing3", - "parent": "torso", - "pivot": [9, 16, 1.5], - "cubes": [ - {"origin": [9, 16, -4], "size": [14, 0, 11], "uv": [40, 105], "mirror": true} - ] - }, - { - "name": "left_wing4", - "parent": "left_wing3", - "pivot": [23, 16, 1.5], - "cubes": [ - {"origin": [23, 16, -4], "size": [14, 0, 11], "uv": [89, 51], "mirror": true} - ] } ] } diff --git a/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json b/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json index ae4455fb..f66614f9 100644 --- a/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/emperor_scorpion.geo.json @@ -5,163 +5,283 @@ "description": { "identifier": "geometry.unknown", "texture_width": 128, - "texture_height": 128, - "visible_bounds_width": 12, + "texture_height": 256, + "visible_bounds_width": 15, "visible_bounds_height": 4.5, "visible_bounds_offset": [0, 1.75, 0] }, "bones": [ { - "name": "scorpion_emperor", - "pivot": [0, 6.85714, 5.25] + "name": "Emperor_scorpion", + "pivot": [0, 8, 3] }, { - "name": "l_leg3", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, 14.5], - "rotation": [0, 0, 15], + "name": "body", + "parent": "Emperor_scorpion", + "pivot": [0, 13.77778, 4.77778] + }, + { + "name": "right_leg3", + "parent": "body", + "pivot": [-16, 14.5, 1.5], "cubes": [ - {"origin": [9.5, 5, 12], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [-48, 13, -2], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} ] }, { - "name": "r_leg3", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, 14.5], - "rotation": [0, 0, -15], + "name": "right_leg4", + "parent": "right_leg3", + "pivot": [-48, 16, 1.5], "cubes": [ - {"origin": [-30.5, 5, 12], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [-80, 13, -2], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, -3], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { - "name": "l_leg2", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, 4.5], - "rotation": [0, 0, 15], + "name": "right_leg", + "parent": "body", + "pivot": [-16, 14.5, -5.5], "cubes": [ - {"origin": [9.5, 5, 2], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [-48, 13, -9], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} ] }, { - "name": "r_leg2", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, 4.5], - "rotation": [0, 0, -15], + "name": "right_leg2", + "parent": "right_leg", + "pivot": [-48, 16, -5.5], "cubes": [ - {"origin": [-30.5, 5, 2], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [-80, 13, -9], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, -10], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { - "name": "l_leg", - "parent": "scorpion_emperor", - "pivot": [10, 6.5, -4.5], - "rotation": [0, 0, 15], + "name": "left_leg", + "parent": "body", + "pivot": [16, 14.5, -5.5], "cubes": [ - {"origin": [9.5, 5, -7], "size": [21, 3, 5], "uv": [0, 113], "mirror": true} + {"origin": [16, 13, -9], "size": [32, 3, 7], "uv": [44, 214]} ] }, { - "name": "r_leg", - "parent": "scorpion_emperor", - "pivot": [-10, 6.5, -4.5], - "rotation": [0, 0, -15], + "name": "left_leg2", + "parent": "left_leg", + "pivot": [48, 16, -5.5], "cubes": [ - {"origin": [-30.5, 5, -7], "size": [21, 3, 5], "uv": [0, 113]} + {"origin": [48, 13, -9], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, -10], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "left_leg3", + "parent": "body", + "pivot": [16, 14.5, 1.5], + "cubes": [ + {"origin": [16, 13, -2], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg4", + "parent": "left_leg3", + "pivot": [48, 16, 1.5], + "cubes": [ + {"origin": [48, 13, -2], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, -3], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "left_leg_back", + "parent": "body", + "pivot": [16, 14.5, 8.5], + "cubes": [ + {"origin": [16, 13, 5], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg_back2", + "parent": "left_leg_back", + "pivot": [48, 16, 8.5], + "cubes": [ + {"origin": [48, 13, 5], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, 4], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "right_leg_back", + "parent": "body", + "pivot": [-16, 14.5, 8.5], + "cubes": [ + {"origin": [-48, 13, 5], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} + ] + }, + { + "name": "right_leg_back2", + "parent": "right_leg_back", + "pivot": [-48, 16, 8.5], + "cubes": [ + {"origin": [-80, 13, 5], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, 4], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} + ] + }, + { + "name": "left_leg_back3", + "parent": "body", + "pivot": [16, 14.5, 15.5], + "cubes": [ + {"origin": [16, 13, 12], "size": [32, 3, 7], "uv": [44, 214]} + ] + }, + { + "name": "left_leg_back4", + "parent": "left_leg_back3", + "pivot": [48, 16, 15.5], + "cubes": [ + {"origin": [48, 13, 12], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224]}, + {"origin": [80, 12, 11], "size": [17, 5, 9], "uv": [67, 143]} + ] + }, + { + "name": "right_leg_back3", + "parent": "body", + "pivot": [-16, 14.5, 15.5], + "cubes": [ + {"origin": [-48, 13, 12], "size": [32, 3, 7], "uv": [44, 214], "mirror": true} + ] + }, + { + "name": "right_leg_back4", + "parent": "right_leg_back3", + "pivot": [-48, 16, 15.5], + "cubes": [ + {"origin": [-80, 13, 12], "size": [32, 3, 7], "inflate": 0.1, "uv": [44, 224], "mirror": true}, + {"origin": [-97, 12, 11], "size": [17, 5, 9], "uv": [67, 143], "mirror": true} ] }, { "name": "torso", - "parent": "scorpion_emperor", - "pivot": [0, 9, 7.75], + "parent": "body", + "pivot": [0, 8, 3], "cubes": [ - {"origin": [-10.5, 5, -10], "size": [21, 8, 27], "uv": [0, 0]}, - {"origin": [-8, 5, 17], "size": [16, 8, 11], "uv": [73, 109]}, - {"origin": [-9.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-4.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [0.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [5.5, 12.5, 13], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [5.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [0.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [-4.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-9.5, 12.5, 3], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-9.5, 12.5, -4], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [5.5, 12.5, -4], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [6.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [1.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21], "mirror": true}, - {"origin": [-4.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21]}, - {"origin": [-10.5, 12.5, 8], "size": [4, 5, 0], "uv": [0, 21]} + {"origin": [-16, 8, -13], "size": [32, 11, 32], "uv": [0, 100]} + ] + }, + { + "name": "tail_base", + "parent": "torso", + "pivot": [0, 14.5, 18.25], + "cubes": [ + {"origin": [-12, 8, 19], "size": [24, 11, 19], "uv": [0, 143]} ] }, { "name": "tail", - "parent": "torso", - "pivot": [0, 7.00833, 27.99167], + "parent": "tail_base", + "pivot": [0, 15.5, 38], "cubes": [ - {"origin": [-4, 7, 28], "size": [8, 6, 13], "inflate": 0.1, "uv": [0, 92]} + {"origin": [-6.5, 12, 38], "size": [13, 7, 25], "uv": [0, 173]} ] }, { "name": "tail2", "parent": "tail", - "pivot": [0, 7, 41], + "pivot": [0, 15.5, 63], "cubes": [ - {"origin": [-4, 7, 41], "size": [8, 6, 13], "uv": [42, 92]} - ] - }, - { - "name": "tail3", - "parent": "tail2", - "pivot": [0, 7, 54], - "cubes": [ - {"origin": [-6.5, 7, 54], "size": [13, 11, 11], "uv": [62, 62]}, - {"origin": [-2.5, 18, 56], "size": [5, 17, 7], "uv": [84, 84]}, - {"origin": [0, 35, 56], "size": [0, 17, 7], "uv": [52, 104]}, - {"origin": [0, 4, 70], "size": [0, 17, 7], "pivot": [0, 12.5, 73.5], "rotation": [-90, 0, 0], "uv": [52, 104]}, - {"origin": [0, 24, 49], "size": [0, 17, 7], "pivot": [0, 32.5, 52.5], "rotation": [45, 0, 0], "uv": [52, 104]} + {"origin": [-5.5, 12, 97], "size": [11, 22, 11], "uv": [0, 205]}, + {"origin": [0, 34, 100], "size": [0, 15, 8], "uv": [51, 165]}, + {"origin": [-4.5, 12, 63], "size": [9, 7, 34], "uv": [42, 173]} ] }, { "name": "head", "parent": "torso", - "pivot": [0, 9, -8], + "pivot": [0, 13.5, -13], "cubes": [ - {"origin": [-13.5, 4, -25], "size": [27, 10, 17], "uv": [0, 35]}, - {"origin": [-5, 1, -27], "size": [2, 8, 3], "uv": [0, 62]}, - {"origin": [3, 1, -27], "size": [2, 8, 3], "uv": [0, 62], "mirror": true} + {"origin": [-14, 8, -35], "size": [28, 11, 22], "uv": [0, 0]} ] }, { - "name": "r_claw", + "name": "right_mandibule", "parent": "head", - "pivot": [-12.5, 8, -16], + "pivot": [-9.13234, 15.5, -35.71164], "cubes": [ - {"origin": [-18.5, 3, -28], "size": [6, 10, 17], "uv": [69, 0]} + {"origin": [-8, 5, -37], "size": [7, 13, 8], "pivot": [0, 13.5, -46], "rotation": [0, -22.5, 0], "uv": [54, 79]} ] }, { - "name": "r_claw2", - "parent": "r_claw", - "pivot": [-15.25, 8, -11], - "cubes": [ - {"origin": [-26.5, 3, -31], "size": [11, 10, 20], "inflate": 0.1, "uv": [0, 62]}, - {"origin": [-35.5, 8, -31], "size": [9, 0, 19], "uv": [25, 63]} - ] - }, - { - "name": "l_claw", + "name": "left_mandibule", "parent": "head", - "pivot": [12.5, 8, -16], + "pivot": [9.13234, 15.5, -35.71164], "cubes": [ - {"origin": [12.5, 3, -28], "size": [6, 10, 17], "uv": [69, 0], "mirror": true} + {"origin": [1, 5, -37], "size": [7, 13, 8], "pivot": [0, 13.5, -46], "rotation": [0, 22.5, 0], "uv": [0, 81]} ] }, { - "name": "l_claw2", - "parent": "l_claw", - "pivot": [15.25, 8, -11], + "name": "right_arm", + "parent": "head", + "pivot": [-10, 13, -21], "cubes": [ - {"origin": [26.5, 8, -31], "size": [9, 0, 19], "uv": [25, 63], "mirror": true}, - {"origin": [15.5, 3, -31], "size": [11, 10, 20], "inflate": 0.1, "uv": [0, 62], "mirror": true} + {"origin": [-28, 11, -25], "size": [18, 4, 7], "uv": [64, 44]} + ] + }, + { + "name": "right_arm2", + "parent": "right_arm", + "pivot": [-28, 13, -18], + "cubes": [ + {"origin": [-46, 11, -25], "size": [18, 4, 7], "uv": [64, 33]} + ] + }, + { + "name": "right_claw", + "parent": "right_arm2", + "pivot": [-44, 13, -21], + "cubes": [ + {"origin": [-57, 9, -27], "size": [13, 8, 11], "uv": [54, 60]}, + {"origin": [-67, 10, -29], "size": [12, 6, 15], "uv": [0, 60]}, + {"origin": [-91, 10, -22], "size": [24, 6, 8], "uv": [0, 33]}, + {"origin": [-91, 10, -29], "size": [8, 6, 7], "uv": [84, 79]} + ] + }, + { + "name": "right_claw_open", + "parent": "right_claw", + "pivot": [-58.5, 13, -22.5], + "cubes": [ + {"origin": [-83, 10, -30], "size": [25, 6, 7], "inflate": -0.1, "uv": [0, 47]} + ] + }, + { + "name": "left_arm", + "parent": "head", + "pivot": [10, 13, -21], + "cubes": [ + {"origin": [10, 11, -25], "size": [18, 4, 7], "uv": [64, 44], "mirror": true} + ] + }, + { + "name": "left_arm2", + "parent": "left_arm", + "pivot": [28, 13, -18], + "cubes": [ + {"origin": [28, 11, -25], "size": [18, 4, 7], "uv": [64, 33], "mirror": true} + ] + }, + { + "name": "left_claw", + "parent": "left_arm2", + "pivot": [44, 13, -21], + "cubes": [ + {"origin": [44, 9, -27], "size": [13, 8, 11], "uv": [54, 60], "mirror": true}, + {"origin": [55, 10, -29], "size": [12, 6, 15], "uv": [0, 60], "mirror": true}, + {"origin": [67, 10, -22], "size": [24, 6, 8], "uv": [0, 33], "mirror": true}, + {"origin": [83, 10, -29], "size": [8, 6, 7], "uv": [84, 79], "mirror": true} + ] + }, + { + "name": "left_claw_open", + "parent": "left_claw", + "pivot": [58.5, 13, -22.5], + "cubes": [ + {"origin": [58, 10, -30], "size": [25, 6, 7], "inflate": -0.1, "uv": [0, 47], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json b/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json index eb31a76b..b7ce482a 100644 --- a/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/flying_squirrel.geo.json @@ -38,7 +38,7 @@ "parent": "squirrel", "pivot": [0, 4, 2], "cubes": [ - {"origin": [0, 8.5, -6], "size": [0, 3, 11], "uv": [42, 50]} + {"origin": [0, 8.5, -6], "size": [0, 3, 11], "uv": [23, 30]} ] }, { @@ -46,7 +46,8 @@ "parent": "body", "pivot": [0, 6, -0.5], "cubes": [ - {"origin": [-3, 3.5, -6], "size": [6, 5, 11], "uv": [0, 0]} + {"origin": [-3, 3.5, -6], "size": [6, 5, 11], "uv": [0, 0]}, + {"origin": [-3, 5.5, -6], "size": [6, 3, 11], "inflate": 0.2, "uv": [0, 41]} ] }, { @@ -54,7 +55,8 @@ "parent": "body", "pivot": [0, 7.33333, -5.91667], "cubes": [ - {"origin": [-2, 5.5, -11], "size": [4, 4, 5], "uv": [17, 17]} + {"origin": [-2, 4.5, -11], "size": [4, 5, 5], "uv": [17, 17]}, + {"origin": [-1, 3.75, -11.075], "size": [2, 2, 0], "uv": [25, 1]} ] }, { @@ -62,7 +64,7 @@ "parent": "head", "pivot": [2.5, 6, -8.5], "cubes": [ - {"origin": [2, 5.5, -10], "size": [1, 1, 3], "uv": [19, 19], "mirror": true} + {"origin": [2, 4.5, -9], "size": [1, 2, 2], "uv": [30, 18], "mirror": true} ] }, { @@ -70,7 +72,7 @@ "parent": "head", "pivot": [-2.5, 6, -8.5], "cubes": [ - {"origin": [-3, 5.5, -10], "size": [1, 1, 3], "uv": [19, 19]} + {"origin": [-3, 4.5, -9], "size": [1, 2, 2], "uv": [16, 18]} ] }, { @@ -78,7 +80,7 @@ "parent": "head", "pivot": [1, 9.5, -6.5], "cubes": [ - {"origin": [1, 9.5, -7], "size": [2, 2, 1], "uv": [35, 12]} + {"origin": [1, 9.5, -7], "size": [2, 2, 0], "uv": [36, 13]} ] }, { @@ -86,7 +88,7 @@ "parent": "head", "pivot": [-1, 9.5, -6.5], "cubes": [ - {"origin": [-3, 9.5, -7], "size": [2, 2, 1], "uv": [35, 12], "mirror": true} + {"origin": [-3, 9.5, -7], "size": [2, 2, 0], "uv": [36, 13], "mirror": true} ] }, { @@ -94,9 +96,9 @@ "parent": "body", "pivot": [0, 6, 5], "cubes": [ - {"origin": [-1.5, 5, 5], "size": [3, 11, 3], "uv": [17, 27]}, + {"origin": [-1.5, 5, 5], "size": [3, 11, 3], "uv": [14, 27]}, {"origin": [-1.5, 9, 8], "size": [3, 7, 5], "uv": [0, 17]}, - {"origin": [0, 9, 13], "size": [0, 7, 2], "uv": [60, 18]} + {"origin": [0, 9, 13], "size": [0, 7, 2], "uv": [0, 0]} ] }, { @@ -112,7 +114,7 @@ "parent": "left_arm", "pivot": [3, 5, -1], "cubes": [ - {"origin": [3, 0, -3.5], "size": [0, 5, 5], "uv": [30, 27]} + {"origin": [3, 0, -3.5], "size": [0, 5, 5], "inflate": 0.01, "uv": [26, 22]} ] }, { @@ -128,7 +130,7 @@ "parent": "right_arm", "pivot": [-3, 5, -1], "cubes": [ - {"origin": [-3, 0, -3.5], "size": [0, 5, 5], "uv": [30, 27], "mirror": true} + {"origin": [-3, 0, -3.5], "size": [0, 5, 5], "inflate": 0.01, "uv": [26, 22], "mirror": true} ] } ] diff --git a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json index 21509feb..f6a76b20 100644 --- a/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json +++ b/common/src/main/resources/assets/antarchy/geo/jumpy_bug.geo.json @@ -18,7 +18,12 @@ { "name": "body", "parent": "root", - "pivot": [0, 65, 0], + "pivot": [0, 69, 0] + }, + { + "name": "torso", + "parent": "body", + "pivot": [0, 61, 0], "cubes": [ {"origin": [-10, 65, -18], "size": [20, 32, 36], "uv": [0, 164]}, {"origin": [-12, 97, -46], "size": [24, 12, 80], "uv": [0, 0]}, @@ -36,7 +41,7 @@ }, { "name": "right_eye", - "parent": "body", + "parent": "torso", "pivot": [-18.32132, 90.25, -12.53553], "cubes": [ {"origin": [-22.7, 83.25, -17], "size": [5, 14, 14], "pivot": [-16.2, 90.25, -9], "rotation": [0, -45, 0], "uv": [0, 0]} @@ -44,7 +49,7 @@ }, { "name": "left_eye", - "parent": "body", + "parent": "torso", "pivot": [18.32132, 90.25, -12.53553], "cubes": [ {"origin": [17.7, 83.25, -17], "size": [5, 14, 14], "pivot": [16.2, 90.25, -9], "rotation": [0, 45, 0], "uv": [0, 0], "mirror": true} @@ -52,7 +57,7 @@ }, { "name": "rightGrip", - "parent": "body", + "parent": "torso", "pivot": [-18, 78, -16], "cubes": [ {"origin": [-22, 76, -28], "size": [8, 4, 12], "uv": [268, 268]} @@ -60,7 +65,7 @@ }, { "name": "leftGrip", - "parent": "body", + "parent": "torso", "pivot": [18, 78, -16], "cubes": [ {"origin": [14, 76, -28], "size": [8, 4, 12], "uv": [268, 268], "mirror": true} @@ -68,7 +73,7 @@ }, { "name": "rightAntenna", - "parent": "body", + "parent": "torso", "pivot": [-10, 95, 14], "cubes": [ {"origin": [-42, 93, 14], "size": [32, 4, 4], "uv": [208, 77]} @@ -76,7 +81,7 @@ }, { "name": "leftAntenna", - "parent": "body", + "parent": "torso", "pivot": [10, 95, 14], "cubes": [ {"origin": [10, 93, 14], "size": [32, 4, 4], "uv": [208, 77], "mirror": true} @@ -84,7 +89,7 @@ }, { "name": "rightArm", - "parent": "body", + "parent": "torso", "pivot": [-12, 93, -17], "cubes": [ {"origin": [-14, 91, -35], "size": [4, 4, 20], "uv": [64, 232]} @@ -109,7 +114,7 @@ }, { "name": "leftArm", - "parent": "body", + "parent": "torso", "pivot": [12, 93, -17], "cubes": [ {"origin": [10, 91, -35], "size": [4, 4, 20], "uv": [64, 232], "mirror": true} @@ -134,7 +139,7 @@ }, { "name": "backRightThigh", - "parent": "root", + "parent": "body", "pivot": [-12, 65, 14], "cubes": [ {"origin": [-28, 57, 10], "size": [16, 8, 8], "uv": [116, 268]} @@ -170,7 +175,7 @@ }, { "name": "backLeftThigh", - "parent": "root", + "parent": "body", "pivot": [12, 65, 14], "cubes": [ {"origin": [12, 57, 10], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} @@ -206,7 +211,7 @@ }, { "name": "frontLeftThigh", - "parent": "root", + "parent": "body", "pivot": [12, 65, -14], "cubes": [ {"origin": [12, 57, -18], "size": [16, 8, 8], "uv": [116, 268], "mirror": true} @@ -242,7 +247,7 @@ }, { "name": "frontRightThigh", - "parent": "root", + "parent": "body", "pivot": [-12, 65, -14], "cubes": [ {"origin": [-28, 57, -18], "size": [16, 8, 8], "uv": [116, 268]} diff --git a/common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json b/common/src/main/resources/assets/antarchy/geo/rolly_polly.geo.json similarity index 100% rename from common/src/main/resources/assets/antarchy/geo/pill_bug.geo.json rename to common/src/main/resources/assets/antarchy/geo/rolly_polly.geo.json diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index 515df46b..ad312c44 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -782,7 +782,11 @@ "item.antarchy.hercules_beetle_spawn_egg": "Hercules Beetle Spawn Egg", "key.antarchy.dorrie_charge_jump": "Dorrie: Charge Jump", "key.antarchy.hercules_beetle_charge": "Hercules Beetle: Charge", + "entity.antarchy.rolly_polly": "Rolly Polly", + "item.antarchy.rolly_polly_spawn_egg": "Rolly Polly Spawn Egg", + "key.antarchy.rolly_polly_roll": "Rolly Polly: Roll", "entity.antarchy.reverie": "Reverie", + "biome.antarchy.rolly_caves": "Rolly Caves", "biome.antarchy.thoraxis": "Thoraxis", "biome.antarchy.nightmare_wastes": "Nightmare Wastes", "biome.antarchy.umbral_hills": "Umbral Hills", diff --git a/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json b/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json new file mode 100644 index 00000000..ddd15597 --- /dev/null +++ b/common/src/main/resources/assets/antarchy/models/item/rolly_polly_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} diff --git a/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png b/common/src/main/resources/assets/antarchy/textures/entity/cloud_shark.png index 3ae79bfcbd201fb3f9c2e49d97d8c28c06041ede..50cbf88f2b7da123f18173f20adb28c636f53098 100644 GIT binary patch literal 9081 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 literal 7680 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 VNAkow4|fEtZrEL~y!PYE_z6NmMHJA5{{CC`whD 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 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a6004f45df87e8768b077a42cab85fcdaf5767 GIT binary patch literal 15593 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png b/common/src/main/resources/assets/antarchy/textures/entity/emperor_scorpion/emperor_scorpion_emissive.png new file mode 100644 index 0000000000000000000000000000000000000000..60e5914d3ac279be8692e6f8ccf6cd7c01489aa1 GIT binary patch literal 1828 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 Eg50$DdjJ3c diff --git a/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png b/common/src/main/resources/assets/antarchy/textures/entity/flying_squirrel/flying_squirrel_brown.png index f49f8479904ce8e58f384ed8dec75518976912a4..3957ca29b2156e75d2832249901c34593da0f456 100644 GIT binary patch delta 2112 zcmV-G2*3B_5zP>gB!2=)L_t(|0qojah+S712kq3LU;5{`bJ&7w6|6 zZ=A@Qndx-$)akVT-5b(d*Ie2!>`?TbonQP|p2?=s4D9J=kEAuLF3E$ewlnyuZu%{= zRaLEQ#`o{Lqkmhd-|hTXx_sl?QmlsBMsHBr*>UTAQ*-~=Kh-3T&S>S*2r8C_}pj`H5kG<59n?RdL-eYFwV}G@=HHp#ICl_G%z5|Vxr$IgP z_;Y#r>*%RxjwU*MIlz)oJ3&zMmd!KdmT%ILq)tgsz_W%jU%(LO?@XLX= z3X3kMeVaC|3J}Tb!171wB#bXnrz`Dsycs`m|Gu7k06#jw4;vjz%|#JzWe1=jY9^@8in8`=2472z}>{=Y=0jJ9iL&NV<)$>|M#Io3CMO|ySv$i zYNwKhs-7=sD~4ENf-Qws^QYU= zj(>FhO@B_e-1*ORMin+Au=xbt@PR9)AawoorGLE|m#iJ&0T0!IjZ5xX0nw>f^{+ayY#B=P!Mu{dd#^F<2fU@Jbj07!hC9gmd44s!HJZe+K!^#zJLb|B7>l((y zELi~0vatlk*Fk}*$+;~;__LQXeO){HaiO*VCr_Nn{i8N2$)j0W`DF&QFiA#9u&gkfaeo!P%>yU zPULTbvEjwF_p3jcOP|~JlZ4)V`|bqy-g9#bzmhtp;@0O9pA$;5f0}3Nn zv>g}iSpln7uTD^QPKHv4_jsVN<9~*|>B0FG>8}4jpD$5n-EEFd5%6>_M|}8d%9kifQ#^cdZMyxw1#F_T zm++y`2IxXY$Bj;TkGBk=90VCGZ})xvCBk>}?3uLol7ngQ4L`~%K4f}4C4XD!$nd>y zek}q1e4yj5zJ2GeymT!?CcRx6vzwgn( z+%I;eJ-@#>{q>%ICH&!s?|<)p3=wx6==k#!cuA3vM9YrJ^z8fq?*fB{Z|nyO6A0TN zDh|6?UZn8jM90eucp>p}0^|T0*h3dQYOt2L=NxsG|M>gc63R9RlJ@D$+oM9@2lto^eN}lZTLC+Uj6~O24>OkvsRi8m7;B!}XDTj>0pd{G%#0M07nIKsorEXIATmXNvT53R&=;sqQ|K8fq zr%50E+Ky763oyzKCO!7W0!;c0je2|+SHP$%Jn8W-t~r27pP^BY@8Sv=b%jSA|Bc3f q6#xML|Hy0sUjP6A21!IgR09Chj;PF?B=hM20000x$ogffWO-6I9(Sh^>b3PI%-s0TqG6!N+r@aEd44XGN7_dkcszafs+KU*_jCVRKb-8WB zXZF*T#%f5%S1Nr1C4j(Bi$uijTdL?^UapCVRD`9dq)lNwG?fYXZH5dPER_Q*6i%OF z9fOrd;?enSGsOo=fK%j3ds|En9jI5pBWpg=r1L51Q-3PPs~`hEtg^7{X24T&7l9Ih z3j!|hUm*YYU{XXdr89h-=`kTP!>VNd(IneLC2*X`386+$u)X@sVnuKnbX; zj|$ker%nJoU@!vTvwgE1*s)D(0Fr?`2)N?@=l#4T3-mF#W8<M(2G0#4y`;G~-ytmixmcMuI z*MB8XVl2?6=63OeiJ`-WzVx9lK4=p-zQ>QR7RCazXMQfzCr?wrBf}4Y;|tK{oPi8J zThJ9i)yBbtiM~2^qP#n9s!aWCmg1x7p9+}p!N>Ca6VGU(urnZg^X(7S20QDA4}4)a z=+Y~-y0ah{kCIv8Rgoq)>QAsG!*rRZ&VSb5)@k9vWNe~L&_7VLzT@ssl7Q*3r%hk8 zF&#cAYtcueO*#f+0c?>eJm1LZ$9`Y*>ki%f?0-NTU8a!e$Kl39@p0)*cZPu7aQqZG zzz)y{m<$U1eT>K6Kp%ju$>5PCPOP`ux&;ykhh0ZnV(lhMnR0^T?mux1BVU?eV_m*6g*#kyG4GkX_Pm{RqK8ayCGBxc=kOyY_O#dcz@>kw*8y(Iw|%NRL`dglfDKmkrhkA7M%JbMsq7Z5DyBJ>*A z(g%1={paUZkmVniKSMZ_odi-}*CYh?-|j{scuPX<⁣t05;V2^r1wB#|gN&%8{!t zE|#Yrf7E*?(C!_H9YF?M?|)Gm^B$$>ut7#2K;QtrH^GM-#&b9bSq)E3PwkEZkObN+ zPqV?EgAFx5Ja*r$*%1O{6)gOvR&OxKfL{iWEE(|CTc8qUEQgvM22^^lq^aEroK*m* z_mQIq*jpPOnIGI-xJg3)Shpw+vh^~+Ymv?se<>W(XfIP~0i>tH~}1Ln{Zj!OWqqUpfRkjcZJ2-FHz@nLJh!y`uz z54a~llY!O8jEz4^uqS^#lBU~dELOz)?>;SIYTA27M%=)$h+9e<%?5_VmE15DtS1oYj( zZ1}KZ&+6`MGa+}#@+CK1C%2EdyNkcJSetMa2M#!0DLl4ajE*+mdFe$>R@m)G0%A)9 zH8*->CrScOAD%qW-UyyKIlRz>;RPksP~;Zr)sv%tVfR>YM@5~4#84XZ?5C_YP&y+= zkFi}{_>%?BKYv>`=v>%y%6LCqeUAvQv^WJeH@E2(=Cc>_M6ho;9{|n=2HF5U!LtHD zV*gyW^(II~7xi9G^Iuc$erTk=<1g!5qNl{&2O7i@(%nP}j{86|J#zFGID9g@T**2s zL0(U@@7RNYHzs_WpSygU9&9+o4E4U>Cz~k2@ui1g6Mummz4i0+Cd(z&6_AMu__vVX zpULgY8}-}dlFvv2xNEa&R&Uu8N(6G#8_i|FiDPFZ0f|merFJ0!r_$BR##{?4ARAdd zm3-#i3J99~LIQ$jEZ^)4D+>^36VPSHS#8IN`*1bJ=ke#G)W00030 m|NkO`r2qf`21!IgR09B4K~S@KGX&rO0000WQ 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 bUkE7ZS(#-9_WZ3lzydNgu{18d=uG=JaX=RC diff --git a/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png b/common/src/main/resources/assets/antarchy/textures/entity/pill_bug/pill_bug_saddled.png deleted file mode 100644 index 5adaf35dcbc2a345f00331c1e090e18548717453..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4164 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 UqVx5ju>b%707*qoM6N<$f)f;wSpWb4 diff --git a/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png b/common/src/main/resources/assets/antarchy/textures/item/scorpion_whip.png index cc3c9cccca3bd12ab79081288de2a7b6ce808ef1..b81b8611b6e54f67a499521a96f88b3a0549e7c0 100644 GIT binary patch delta 357 zcmV-r0h<200{;S#BYy!jNklJ!=9%5QgWj$|nRO1PtU5l2j5%ASo?VrB0on zmO6E+l$HskveH5>Djq(nF^p8 z(=bg0vClJRX)M$*B6<`+K*7Y`#5CV%d0W>2OW4X8G4qCOn$`R@7l4s7Vz&3~oBVhK z@DSa&%2nBgqh6luV+OPaV2&;?qPx#^hrcPR5*>Lk-usJK@f+(J%o6jAa3xA zJq{ZyE2|XgeTqCu9>%BeB`huM4iyzw0|^#)2g0T}7FX|Y$W*h;e81n!te{1FzK@K} zw>m**dA^7bLbQRmI$^#(JoHY7ff;n2N0q?GxVkor0^A?Dqgz?JvZqcE=Jfy!ra(n%-K& m0OCI|fQVl2Um5gQ7~mHhP, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", + () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE) + .sized(0.95F, 0.85F) + .clientTrackingRange(10) + .build("rolly_polly")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -1681,8 +1687,8 @@ public final class AntarchyFabricContent { .build("basilisk")); public static final DeferredHolder, EntityType> EMPEROR_SCORPION = ENTITY_TYPES.register("emperor_scorpion", () -> EntityType.Builder.of(EmperorScorpionEntity::new, MobCategory.MONSTER) - .sized(4.05F, 1.35F) - .clientTrackingRange(10) + .sized(6.0F, 3.0F) + .clientTrackingRange(12) .build("emperor_scorpion")); public static final DeferredHolder, EntityType> LUCID_PEARL_PROJECTILE = ENTITY_TYPES.register("lucid_pearl_projectile", () -> EntityType.Builder.of(LucidEyeProjectileEntity::new, MobCategory.MISC) @@ -1736,6 +1742,8 @@ public final class AntarchyFabricContent { () -> new DeferredSpawnEggItem(MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties())); + public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", + () -> new DeferredSpawnEggItem(ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -1777,7 +1785,7 @@ public final class AntarchyFabricContent { public static final DeferredItem BASILISK_SPAWN_EGG = ITEMS.register("basilisk_spawn_egg", () -> new DeferredSpawnEggItem(BASILISK, 0x4A7C40, 0xD4A040, new Item.Properties())); public static final DeferredItem EMPEROR_SCORPION_SPAWN_EGG = ITEMS.register("emperor_scorpion_spawn_egg", - () -> new DeferredSpawnEggItem(EMPEROR_SCORPION, 0x1A1A0A, 0x8B2200, new Item.Properties())); + () -> new DeferredSpawnEggItem(EMPEROR_SCORPION, 0x3A3242, 0xD8CDB4, new Item.Properties())); public static final DeferredItem LUCID_EYE = ITEMS.register("lucid_eye", () -> new LucidEyeItem(new Item.Properties().stacksTo(16).rarity(Rarity.UNCOMMON))); public static final DeferredItem LUCID_PEARL = ITEMS.register("lucid_pearl", @@ -1928,6 +1936,7 @@ public final class AntarchyFabricContent { FabricDefaultAttributeRegistry.register(SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(MANTIS.get(), MantisEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); + FabricDefaultAttributeRegistry.register(ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(TRIFFID.get(), TriffidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(LUCID.get(), LucidEntity.createAttributes().build()); FabricDefaultAttributeRegistry.register(SCORPION.get(), ScorpionEntity.createAttributes().build()); @@ -2087,7 +2096,7 @@ public final class AntarchyFabricContent { case "easter_bunny_spawn_egg", "flying_squirrel_spawn_egg", "caterpillar_spawn_egg", "butterfly_spawn_egg", "reverie_spawn_egg", "brutalfly_spawn_egg", "red_ant_spawn_egg", "brown_ant_spawn_egg", "rainbow_ant_spawn_egg", "termite_spawn_egg", - "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", + "moleworm_spawn_egg", "mantis_spawn_egg", "alpha_mantis_spawn_egg", "rolly_polly_spawn_egg", "molevore_spawn_egg", "triffid_spawn_egg", "apple_cow_spawn_egg", "golden_apple_cow_spawn_egg", "enchanted_golden_apple_cow_spawn_egg", "honeyed_apple_cow_spawn_egg", "dr_trayaurus_spawn_egg", "wasp_spawn_egg", "bomber_spawn_egg", "jumpy_bug_spawn_egg", "spit_bug_spawn_egg", "stink_bug_spawn_egg", "cloud_shark_spawn_egg", "kraken_spawn_egg", "missile_squid_spawn_egg", "octopus_bomb_spawn_egg", diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java index 26e59a6b..3a8d22b4 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyFabricClientBootstrap.java @@ -79,6 +79,7 @@ public final class AntarchyFabricClientBootstrap { EntityRendererRegistry.register(AntarchyFabricContent.MOLEWORM.get(), MolewormRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MANTIS.get(), MantisRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.ALPHA_MANTIS.get(), AlphaMantisRenderer::new); + EntityRendererRegistry.register(AntarchyFabricContent.ROLLY_POLLY.get(), RollyPollyRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.MOLEVORE.get(), MolevoreRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.TRIFFID.get(), TriffidRenderer::new); EntityRendererRegistry.register(AntarchyFabricContent.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, ResourceLocation.fromNamespaceAndPath(Antarchy.MODID, "textures/entity/boat/ouranwood.png"), false)); @@ -333,6 +334,7 @@ public final class AntarchyFabricClientBootstrap { ScorpionWhipTetherRenderHandler.tick(); DorrieJumpClientHandler.tick(); HerculesBeetleClientHandler.tick(); + RollyPollyClientHandler.tick(); }); BigBerthaClientHandler.register(); diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java index 592f64ea..a5d945d6 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/AntarchyKeyBindings.java @@ -31,12 +31,20 @@ public final class AntarchyKeyBindings { CATEGORY ); + public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping( + "key.antarchy.rolly_polly_roll", + InputConstants.Type.KEYSYM, + GLFW.GLFW_KEY_R, + CATEGORY + ); + private AntarchyKeyBindings() {} public static void register() { KeyBindingHelper.registerKeyBinding(BRUTALFLY_FLAP); KeyBindingHelper.registerKeyBinding(DORRIE_CHARGE_JUMP); KeyBindingHelper.registerKeyBinding(HERCULES_BEETLE_CHARGE); + KeyBindingHelper.registerKeyBinding(ROLLY_POLLY_ROLL); } public static boolean isBrutalflyFlapPressed() { diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java new file mode 100644 index 00000000..f8bc1c44 --- /dev/null +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/client/RollyPollyClientHandler.java @@ -0,0 +1,29 @@ +package com.craisinlord.antarchy.fabric.client; + +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; + +public final class RollyPollyClientHandler { + private static boolean wasPressingRoll; + + private RollyPollyClientHandler() { + } + + public static void tick() { + Minecraft mc = Minecraft.getInstance(); + LocalPlayer player = mc.player; + if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) { + wasPressingRoll = false; + return; + } + + boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown(); + if (pressingRoll && !wasPressingRoll) { + ClientPlayNetworking.send(new RollyPollyRollPayload()); + } + wasPressingRoll = pressingRoll; + } +} diff --git a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java index d4b2c753..7ce2d2fe 100644 --- a/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java +++ b/fabric/src/main/java/com/craisinlord/antarchy/fabric/network/AntarchyFabricNetworking.java @@ -63,6 +63,7 @@ public final class AntarchyFabricNetworking { PayloadTypeRegistry.playC2S().register(HerculesBeetleJumpInputPayload.TYPE, HerculesBeetleJumpInputPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedAttackPayload.TYPE, HerculesBeetleMountedAttackPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(HerculesBeetleMountedChargePayload.TYPE, HerculesBeetleMountedChargePayload.STREAM_CODEC); + PayloadTypeRegistry.playC2S().register(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, com.craisinlord.antarchy.content.network.RollyPollyRollPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(MultipartAttackPayload.TYPE, MultipartAttackPayload.STREAM_CODEC); PayloadTypeRegistry.playC2S().register(MultipartInteractPayload.TYPE, MultipartInteractPayload.STREAM_CODEC); } @@ -90,6 +91,8 @@ public final class AntarchyFabricNetworking { context.server().execute(() -> handleHerculesBeetleMountedAttack(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(HerculesBeetleMountedChargePayload.TYPE, (payload, context) -> context.server().execute(() -> handleHerculesBeetleMountedCharge(context.player(), payload))); + ServerPlayNetworking.registerGlobalReceiver(com.craisinlord.antarchy.content.network.RollyPollyRollPayload.TYPE, (payload, context) -> + context.server().execute(() -> handleRollyPollyRoll(context.player()))); ServerPlayNetworking.registerGlobalReceiver(MultipartAttackPayload.TYPE, (payload, context) -> context.server().execute(() -> handleMultipartAttack(context.player(), payload))); ServerPlayNetworking.registerGlobalReceiver(MultipartInteractPayload.TYPE, (payload, context) -> @@ -370,6 +373,12 @@ public final class AntarchyFabricNetworking { } } + private static void handleRollyPollyRoll(ServerPlayer player) { + if (player.getVehicle() instanceof com.craisinlord.antarchy.content.entity.RollyPollyEntity rollyPolly) { + rollyPolly.handleRollToggle(player); + } + } + public static void triggerHerculesBeetleImpactShake(int durationTicks) { HerculesBeetleImpactShakeClientState.trigger(durationTicks); } diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 858e5d75..a17a1eae 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ ] }, "mixins": [ - "antarchy-common.mixins.json", + "antarchy-common-fabric.mixins.json", "antarchy-fabric.mixins.json" ], "depends": { diff --git a/gradle.properties b/gradle.properties index fdb030b7..f8bee8a8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -84,4 +84,6 @@ regions_unexplored_curseforge_file_id=7826194 # #infinite_dimensions_curseforge_id=981829 -#infinite_dimensions_curseforge_file_id=7739053 \ No newline at end of file +#infinite_dimensions_curseforge_file_id=7739053 +# Gradle 8.8 cannot run on newer JDKs (e.g. 25); pin the build JVM to 21 +org.gradle.java.home=C:/Program Files/Java/jdk-21.0.10 diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java index 25589dc8..b5f5680d 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyConfigModuleNeoforge.java @@ -116,6 +116,12 @@ public final class AntarchyConfigModuleNeoforge { AntarchySettings.setAlphaMantisSummonIntervalTicks(AntarchyMobsConfig.alphaMantisSummonIntervalTicks()); AntarchySettings.setAlphaMantisMaxMinions(AntarchyMobsConfig.alphaMantisMaxMinions()); + AntarchySettings.setRollyPollyHealth(AntarchyMobsConfig.rollyPollyHealth()); + AntarchySettings.setRollyPollyMovementSpeed(AntarchyMobsConfig.rollyPollyMovementSpeed()); + AntarchySettings.setRollyPollyRollSpeedMultiplier(AntarchyMobsConfig.rollyPollyRollSpeedMultiplier()); + AntarchySettings.setRollyPollyTumbleDamage(AntarchyMobsConfig.rollyPollyTumbleDamage()); + AntarchySettings.setRollyPollyTameChance(AntarchyMobsConfig.rollyPollyTameChance()); + AntarchySettings.setTriffidHealth(AntarchyMobsConfig.triffidHealth()); AntarchySettings.setTriffidAttackDamage(AntarchyMobsConfig.triffidAttackDamage()); AntarchySettings.setTriffidGrabDamage(AntarchyMobsConfig.triffidGrabDamage()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java index 20186b82..68c2ab5e 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/AntarchyMobsConfig.java @@ -100,6 +100,15 @@ public final class AntarchyMobsConfig { private static final ModConfigSpec.IntValue ALPHA_MANTIS_MAX_MINIONS; + // Rolly Polly + + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_HEALTH; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_MOVEMENT_SPEED; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_ROLL_SPEED_MULTIPLIER; + private static final ModConfigSpec.DoubleValue ROLLY_POLLY_TUMBLE_DAMAGE; + private static final ModConfigSpec.IntValue ROLLY_POLLY_TAME_CHANCE; + + // Triffid private static final ModConfigSpec.DoubleValue TRIFFID_HEALTH; @@ -390,6 +399,17 @@ public final class AntarchyMobsConfig { b.pop(); + // Rolly Polly + + b.push("rollyPolly"); + ROLLY_POLLY_HEALTH = b.comment("Base max health.") .defineInRange("health", 12.0D, 1.0D, 32768.0D); + ROLLY_POLLY_MOVEMENT_SPEED = b.comment("Base movement speed.") .defineInRange("movementSpeed", 0.3D, 0.0D, 10.0D); + ROLLY_POLLY_ROLL_SPEED_MULTIPLIER = b.comment("Speed multiplier while rolled up and ridden.") .defineInRange("rollSpeedMultiplier", 2.2D, 0.1D, 20.0D); + ROLLY_POLLY_TUMBLE_DAMAGE = b.comment("Damage dealt to a helmetless rider while rolling. 0 disables.") .defineInRange("tumbleDamage", 1.0D, 0.0D, 1024.0D); + ROLLY_POLLY_TAME_CHANCE = b.comment("Taming succeeds with a 1-in-N chance per food item.") .defineInRange("tameChance", 3, 1, 100); + b.pop(); + + // Triffid b.push("triffid"); @@ -617,6 +637,11 @@ public final class AntarchyMobsConfig { static double alphaMantisFlyingSpeed() { return ALPHA_MANTIS_FLYING_SPEED.get(); } static int alphaMantisSummonIntervalTicks() { return ALPHA_MANTIS_SUMMON_INTERVAL_TICKS.get(); } static int alphaMantisMaxMinions() { return ALPHA_MANTIS_MAX_MINIONS.get(); } + static double rollyPollyHealth() { return ROLLY_POLLY_HEALTH.get(); } + static double rollyPollyMovementSpeed() { return ROLLY_POLLY_MOVEMENT_SPEED.get(); } + static double rollyPollyRollSpeedMultiplier() { return ROLLY_POLLY_ROLL_SPEED_MULTIPLIER.get(); } + static double rollyPollyTumbleDamage() { return ROLLY_POLLY_TUMBLE_DAMAGE.get(); } + static int rollyPollyTameChance() { return ROLLY_POLLY_TAME_CHANCE.get(); } static double triffidHealth() { return TRIFFID_HEALTH.get(); } static double triffidAttackDamage() { return TRIFFID_ATTACK_DAMAGE.get(); } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java index a73ff650..8560fb9b 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyKeyBindings.java @@ -37,6 +37,14 @@ public final class AntarchyKeyBindings { CATEGORY ); + public static final KeyMapping ROLLY_POLLY_ROLL = new KeyMapping( + "key.antarchy.rolly_polly_roll", + KeyConflictContext.IN_GAME, + InputConstants.Type.KEYSYM, + InputConstants.KEY_R, + CATEGORY + ); + private AntarchyKeyBindings() {} @SubscribeEvent @@ -44,5 +52,6 @@ public final class AntarchyKeyBindings { event.register(BRUTALFLY_FLAP); event.register(DORRIE_CHARGE_JUMP); event.register(HERCULES_BEETLE_CHARGE); + event.register(ROLLY_POLLY_ROLL); } } diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java index b004845e..16926e00 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/AntarchyNeoForgeClient.java @@ -95,6 +95,7 @@ public final class AntarchyNeoForgeClient { event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEWORM.get(), context -> withParalyzedGeoLayer(new MolewormRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MANTIS.get(), context -> withParalyzedGeoLayer(new MantisRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), context -> withParalyzedGeoLayer(new AlphaMantisRenderer(context))); + event.registerEntityRenderer(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), context -> withParalyzedGeoLayer(new RollyPollyRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.MOLEVORE.get(), context -> withParalyzedGeoLayer(new MolevoreRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.TRIFFID.get(), context -> withParalyzedGeoLayer(new TriffidRenderer(context))); event.registerEntityRenderer(AntarchyNeoforgeEntites.OURANWOOD_BOAT_ENTITY.get(), context -> new OuranwoodBoatRenderer<>(context, OURANWOOD_BOAT_TEXTURE, false)); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java new file mode 100644 index 00000000..e636a92b --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/client/RollyPollyClientHandler.java @@ -0,0 +1,36 @@ +package com.craisinlord.antarchy.neoforge.client; + +import com.craisinlord.antarchy.Antarchy; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.minecraft.client.Minecraft; +import net.minecraft.client.player.LocalPlayer; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.client.event.ClientTickEvent; +import net.neoforged.neoforge.network.PacketDistributor; + +@EventBusSubscriber(modid = Antarchy.MODID, value = Dist.CLIENT) +public final class RollyPollyClientHandler { + private static boolean wasPressingRoll; + + private RollyPollyClientHandler() { + } + + @SubscribeEvent + public static void onClientTick(ClientTickEvent.Post event) { + Minecraft mc = Minecraft.getInstance(); + LocalPlayer player = mc.player; + if (player == null || mc.screen != null || !(player.getVehicle() instanceof RollyPollyEntity)) { + wasPressingRoll = false; + return; + } + + boolean pressingRoll = AntarchyKeyBindings.ROLLY_POLLY_ROLL.isDown(); + if (pressingRoll && !wasPressingRoll) { + PacketDistributor.sendToServer(new RollyPollyRollPayload()); + } + wasPressingRoll = pressingRoll; + } +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java new file mode 100644 index 00000000..778bee23 --- /dev/null +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/network/RollyPollyNetworking.java @@ -0,0 +1,31 @@ +package com.craisinlord.antarchy.neoforge.network; + +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; +import com.craisinlord.antarchy.content.network.RollyPollyRollPayload; +import net.minecraft.server.level.ServerPlayer; +import net.neoforged.neoforge.network.handling.IPayloadContext; +import net.neoforged.neoforge.network.registration.PayloadRegistrar; + +public final class RollyPollyNetworking { + private RollyPollyNetworking() { + } + + public static void register(PayloadRegistrar registrar) { + registrar.playToServer( + RollyPollyRollPayload.TYPE, + RollyPollyRollPayload.STREAM_CODEC, + RollyPollyNetworking::handleRollToggle + ); + } + + private static void handleRollToggle(RollyPollyRollPayload payload, IPayloadContext context) { + context.enqueueWork(() -> { + if (!(context.player() instanceof ServerPlayer player)) { + return; + } + if (player.getVehicle() instanceof RollyPollyEntity rollyPolly) { + rollyPolly.handleRollToggle(player); + } + }); + } +} diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java index 257986f9..dff98240 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeCreativeModeTabs.java @@ -61,6 +61,7 @@ public class AntarchyNeoforgeCreativeModeTabs { event.accept(AntarchyNeoforgeItems.MOLEWORM_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MANTIS_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.ALPHA_MANTIS_SPAWN_EGG.get()); + event.accept(AntarchyNeoforgeItems.ROLLY_POLLY_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.MOLEVORE_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.TRIFFID_SPAWN_EGG.get()); event.accept(AntarchyNeoforgeItems.APPLE_COW_SPAWN_EGG.get()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java index f760a577..1ab5b1f4 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntites.java @@ -18,6 +18,7 @@ import com.craisinlord.antarchy.content.entity.HushProjectileEntity; import com.craisinlord.antarchy.content.entity.HerculesBeetleEntity; import com.craisinlord.antarchy.content.entity.JumpyBugEntity; import com.craisinlord.antarchy.content.entity.AlphaMantisEntity; +import com.craisinlord.antarchy.content.entity.RollyPollyEntity; import com.craisinlord.antarchy.content.entity.MantisEntity; import com.craisinlord.antarchy.content.entity.MissileSquidEntity; import com.craisinlord.antarchy.content.entity.OctopusBombEntity; @@ -99,6 +100,11 @@ public final class AntarchyNeoforgeEntites { .sized(4.0F, 3.25F) .clientTrackingRange(10) .build("alpha_mantis")); + public static final DeferredHolder, EntityType> ROLLY_POLLY = ENTITY_TYPES.register("rolly_polly", + () -> EntityType.Builder.of(RollyPollyEntity::new, MobCategory.CREATURE) + .sized(0.95F, 0.85F) + .clientTrackingRange(10) + .build("rolly_polly")); public static final DeferredHolder, EntityType> OURANWOOD_BOAT_ENTITY = ENTITY_TYPES.register("ouranwood_boat", () -> EntityType.Builder.of(OuranwoodBoatEntity::new, MobCategory.MISC) .sized(1.375F, 0.5625F) @@ -266,8 +272,8 @@ public final class AntarchyNeoforgeEntites { .build("basilisk")); public static final DeferredHolder, EntityType> EMPEROR_SCORPION = ENTITY_TYPES.register("emperor_scorpion", () -> EntityType.Builder.of(EmperorScorpionEntity::new, MobCategory.MONSTER) - .sized(4.05F, 1.35F) - .clientTrackingRange(10) + .sized(6.0F, 3.0F) + .clientTrackingRange(12) .build("emperor_scorpion")); public static final DeferredHolder, EntityType> LUCID_PEARL_PROJECTILE = ENTITY_TYPES.register("lucid_pearl_projectile", () -> EntityType.Builder.of(LucidEyeProjectileEntity::new, MobCategory.MISC) diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java index 0c483c6c..48d6f92e 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeEntityAttributes.java @@ -54,6 +54,7 @@ public class AntarchyNeoforgeEntityAttributes { event.put(AntarchyNeoforgeEntites.SPIT_BUG.get(), SpitBugEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.MANTIS.get(), MantisEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.ALPHA_MANTIS.get(), AlphaMantisEntity.createAttributes().build()); + event.put(AntarchyNeoforgeEntites.ROLLY_POLLY.get(), RollyPollyEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.TRIFFID.get(), TriffidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.LUCID.get(), LucidEntity.createAttributes().build()); event.put(AntarchyNeoforgeEntites.SCORPION.get(), ScorpionEntity.createAttributes().build()); diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java index fb9c2d73..3c3043a2 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgeItems.java @@ -515,6 +515,8 @@ public final class AntarchyNeoforgeItems { () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MANTIS, 0xF8F8F2, 0x63B44A, new Item.Properties())); public static final DeferredItem ALPHA_MANTIS_SPAWN_EGG = ITEMS.register("alpha_mantis_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ALPHA_MANTIS, 0x8FDD6C, 0x2F5D22, new Item.Properties().rarity(Rarity.UNCOMMON))); + public static final DeferredItem ROLLY_POLLY_SPAWN_EGG = ITEMS.register("rolly_polly_spawn_egg", + () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.ROLLY_POLLY, 0x7284A3, 0xBCC8DB, new Item.Properties())); public static final DeferredItem MOLEVORE_SPAWN_EGG = ITEMS.register("molevore_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.MOLEVORE, 0x4A4A4A, 0x6B4A2B, new Item.Properties().rarity(Rarity.UNCOMMON))); public static final DeferredItem TRIFFID_SPAWN_EGG = ITEMS.register("triffid_spawn_egg", @@ -556,7 +558,7 @@ public final class AntarchyNeoforgeItems { public static final DeferredItem BASILISK_SPAWN_EGG = ITEMS.register("basilisk_spawn_egg", () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.BASILISK, 0x4A7C40, 0xD4A040, new Item.Properties())); public static final DeferredItem EMPEROR_SCORPION_SPAWN_EGG = ITEMS.register("emperor_scorpion_spawn_egg", - () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EMPEROR_SCORPION, 0x1A1A0A, 0x8B2200, new Item.Properties())); + () -> new DeferredSpawnEggItem(AntarchyNeoforgeEntites.EMPEROR_SCORPION, 0x3A3242, 0xD8CDB4, new Item.Properties())); public static final DeferredItem LUCID_EYE = ITEMS.register("lucid_eye", () -> new LucidEyeItem(new Item.Properties().stacksTo(16).rarity(Rarity.UNCOMMON))); public static final DeferredItem LUCID_PEARL = ITEMS.register("lucid_pearl", diff --git a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java index c98e10cc..5db65355 100644 --- a/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java +++ b/neoforge/src/main/java/com/craisinlord/antarchy/neoforge/registry/AntarchyNeoforgePayloadHandlers.java @@ -24,6 +24,7 @@ public class AntarchyNeoforgePayloadHandlers { JumpyBootsNetworking.register(registrar); DorrieJumpNetworking.register(registrar); HerculesBeetleNetworking.register(registrar); + com.craisinlord.antarchy.neoforge.network.RollyPollyNetworking.register(registrar); registrar.playToClient( com.craisinlord.antarchy.content.network.BloodglassStatePayload.TYPE, com.craisinlord.antarchy.content.network.BloodglassStatePayload.STREAM_CODEC, From 2c9fc4f11f15223ddee8ff4e34c11d7887659c27 Mon Sep 17 00:00:00 2001 From: craisinlord Date: Mon, 6 Jul 2026 16:44:54 -0500 Subject: [PATCH 06/13] new toreterror sounds --- common/build.gradle | 8 ++-- .../antarchy/content/AntarchySoundEvents.java | 9 ++++ .../content/entity/ToreterrorEntity.java | 14 ++++++- .../content/item/WaterCannonItem.java | 2 +- .../resources/assets/antarchy/lang/en_us.json | 3 ++ .../resources/assets/antarchy/sounds.json | 39 ++++++++++++++++++ .../sounds/mob/toreterror/richochet1.ogg | Bin 0 -> 22453 bytes .../sounds/mob/toreterror/richochet2.ogg | Bin 0 -> 21469 bytes .../sounds/mob/toreterror/richochet3.ogg | Bin 0 -> 20067 bytes .../antarchy/sounds/mob/toreterror/spin.ogg | Bin 0 -> 34528 bytes .../sounds/mob/toreterror/water_cannon1.ogg | Bin 0 -> 72228 bytes .../sounds/mob/toreterror/water_cannon2.ogg | Bin 0 -> 74134 bytes .../sounds/mob/toreterror/water_cannon3.ogg | Bin 0 -> 67796 bytes .../sounds/mob/toreterror/water_cannon4.ogg | Bin 0 -> 76890 bytes .../fabric/AntarchyFabricContent.java | 6 +++ .../antarchy/neoforge/AntarchyNeoforge.java | 3 ++ .../registry/AntarchyNeoforgeSounds.java | 3 ++ 17 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet1.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet2.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet3.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/spin.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon1.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon2.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon3.ogg create mode 100644 common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon4.ogg diff --git a/common/build.gradle b/common/build.gradle index 7d413be2..2d4e3714 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -34,7 +34,6 @@ dependencies { // implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' - annotationProcessor "org.spongepowered:mixin:0.8.7:processor" implementation(annotationProcessor("io.github.llamalad7:mixinextras-common:${rootProject.mixin_extras}")) } @@ -42,10 +41,13 @@ architectury { common("fabric", "neoforge") } +// No mixin AP / refmap in common: the fabric project compiles common's sources itself +// and generates its own refmap. With the legacy AP enabled here, loom injects a +// "refmap" line into the built antarchy-common.mixins.json, which breaks NeoForge +// (it resolves to fabric-only intermediary names like field_6353). loom { mixin { - useLegacyMixinAp = true - defaultRefmapName = "antarchy.refmap.json" + useLegacyMixinAp = false } } diff --git a/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java b/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java index 08a19965..8cabf511 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/AntarchySoundEvents.java @@ -126,6 +126,9 @@ public final class AntarchySoundEvents { public static Supplier TORETERROR_HURT = (Supplier) UNBOUND; public static Supplier TORETERROR_DEATH = (Supplier) UNBOUND; public static Supplier TORETERROR_BOMBER_FIRE = (Supplier) UNBOUND; + public static Supplier TORETERROR_SPIN = (Supplier) UNBOUND; + public static Supplier TORETERROR_RICOCHET = (Supplier) UNBOUND; + public static Supplier WATER_CANNON_FIRE = (Supplier) UNBOUND; public static Supplier TORETERROR_JUMP_UP = (Supplier) UNBOUND; public static Supplier TORETERROR_JUMP_LAND = (Supplier) UNBOUND; public static Supplier STINKY_FLY = (Supplier) UNBOUND; @@ -259,6 +262,9 @@ public final class AntarchySoundEvents { Supplier toreterrorHurt, Supplier toreterrorDeath, Supplier toreterrorBomberFire, + Supplier toreterrorSpin, + Supplier toreterrorRicochet, + Supplier waterCannonFire, Supplier toreterrorJumpUp, Supplier toreterrorJumpLand, Supplier stinkyFly, @@ -388,6 +394,9 @@ public final class AntarchySoundEvents { TORETERROR_HURT = toreterrorHurt; TORETERROR_DEATH = toreterrorDeath; TORETERROR_BOMBER_FIRE = toreterrorBomberFire; + TORETERROR_SPIN = toreterrorSpin; + TORETERROR_RICOCHET = toreterrorRicochet; + WATER_CANNON_FIRE = waterCannonFire; TORETERROR_JUMP_UP = toreterrorJumpUp; TORETERROR_JUMP_LAND = toreterrorJumpLand; STINKY_FLY = stinkyFly; diff --git a/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java b/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java index 9ff71f9b..5a5c5d98 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/entity/ToreterrorEntity.java @@ -122,6 +122,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { private int shootCooldown; private int jumpCooldown; private int spinCooldown; + private int spinRicochetCooldown; private boolean jumpLaunched; private boolean jumpAirborne; private boolean shockwaveApplied; @@ -227,6 +228,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { if (this.shootCooldown > 0) this.shootCooldown--; if (this.jumpCooldown > 0) this.jumpCooldown--; if (this.spinCooldown > 0) this.spinCooldown--; + if (this.spinRicochetCooldown > 0) this.spinRicochetCooldown--; if (this.jumpShakeTicks > 0) { this.jumpShakeTicks--; if (this.jumpShakeTicks <= 0) { @@ -575,6 +577,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { return true; } + this.playSpinRicochetSound(); this.spinStrafeSign *= -1; Vec3 bounced = rotateHorizontal(direction, this.spinStrafeSign * 35.0D); if (this.trySpinMoves(bounced, true)) { @@ -590,6 +593,14 @@ public class ToreterrorEntity extends Monster implements GeoEntity { return this.trySpinMoves(reversedBounce, true); } + private void playSpinRicochetSound() { + if (this.spinRicochetCooldown > 0) { + return; + } + this.spinRicochetCooldown = 6; + this.playSound(AntarchySoundEvents.TORETERROR_RICOCHET.get(), 1.0F, 0.95F + this.random.nextFloat() * 0.1F); + } + private boolean trySpinMoves(Vec3 baseDirection, boolean bounced) { Vec3[] attempts = new Vec3[]{ baseDirection, @@ -715,7 +726,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { if (!(this.level() instanceof ServerLevel serverLevel)) return; LivingEntity target = this.getTarget(); if (target == null) return; - this.playSound(AntarchySoundEvents.SQUIDZOOKA_FIRE.get(), 0.8F, 0.9F + this.random.nextFloat() * 0.2F); + this.playSound(AntarchySoundEvents.WATER_CANNON_FIRE.get(), 0.8F, 0.9F + this.random.nextFloat() * 0.2F); Vec3 from = new Vec3(this.getX(), this.getEyeY(), this.getZ()); Vec3 to = new Vec3(target.getX(), target.getEyeY(), target.getZ()); Vec3 baseVel = calcLaunchVelocity(from, to, 1.5); @@ -917,6 +928,7 @@ public class ToreterrorEntity extends Monster implements GeoEntity { ToreterrorEntity.this.spinDirection = target == null ? Vec3.ZERO : ToreterrorEntity.this.horizontalDirectionTo(target.position()); + ToreterrorEntity.this.playSound(AntarchySoundEvents.TORETERROR_SPIN.get(), 1.1F, 0.95F + ToreterrorEntity.this.random.nextFloat() * 0.1F); } @Override diff --git a/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java b/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java index 2490f715..ec158ce5 100644 --- a/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java +++ b/common/src/main/java/com/craisinlord/antarchy/content/item/WaterCannonItem.java @@ -65,7 +65,7 @@ public class WaterCannonItem extends ProjectileWeaponItem implements GeoItem { if (usedTicks % FIRE_INTERVAL_TICKS != 0) return; level.playSound(null, player.getX(), player.getY(), player.getZ(), - AntarchySoundEvents.SQUIDZOOKA_FIRE.get(), SoundSource.PLAYERS, + AntarchySoundEvents.WATER_CANNON_FIRE.get(), SoundSource.PLAYERS, 0.8F, 0.9F + level.getRandom().nextFloat() * 0.2F); if (!level.isClientSide()) { diff --git a/common/src/main/resources/assets/antarchy/lang/en_us.json b/common/src/main/resources/assets/antarchy/lang/en_us.json index ad312c44..44d41ea1 100644 --- a/common/src/main/resources/assets/antarchy/lang/en_us.json +++ b/common/src/main/resources/assets/antarchy/lang/en_us.json @@ -661,6 +661,9 @@ "subtitles.antarchy.toreterror_hurt": "Toreterror hurts", "subtitles.antarchy.toreterror_death": "Toreterror dies", "subtitles.antarchy.toreterror_bomber_fire": "Toreterror launches bombers", + "subtitles.antarchy.toreterror_spin": "Toreterror spins", + "subtitles.antarchy.toreterror_ricochet": "Toreterror ricochets", + "subtitles.antarchy.water_cannon_fire": "Water Cannon fires", "subtitles.antarchy.toreterror_jump_up": "Toreterror jumps", "subtitles.antarchy.toreterror_jump_land": "Toreterror lands", "subtitles.antarchy.creeping_horror_growl": "Creeping Horror growls", diff --git a/common/src/main/resources/assets/antarchy/sounds.json b/common/src/main/resources/assets/antarchy/sounds.json index 5316cdc8..698e1e6f 100644 --- a/common/src/main/resources/assets/antarchy/sounds.json +++ b/common/src/main/resources/assets/antarchy/sounds.json @@ -513,6 +513,45 @@ } ] }, + "toreterror_spin": { + "subtitle": "subtitles.antarchy.toreterror_spin", + "sounds": [ + { + "name": "antarchy:mob/toreterror/spin" + } + ] + }, + "toreterror_ricochet": { + "subtitle": "subtitles.antarchy.toreterror_ricochet", + "sounds": [ + { + "name": "antarchy:mob/toreterror/richochet1" + }, + { + "name": "antarchy:mob/toreterror/richochet2" + }, + { + "name": "antarchy:mob/toreterror/richochet3" + } + ] + }, + "water_cannon_fire": { + "subtitle": "subtitles.antarchy.water_cannon_fire", + "sounds": [ + { + "name": "antarchy:mob/toreterror/water_cannon1" + }, + { + "name": "antarchy:mob/toreterror/water_cannon2" + }, + { + "name": "antarchy:mob/toreterror/water_cannon3" + }, + { + "name": "antarchy:mob/toreterror/water_cannon4" + } + ] + }, "toreterror_jump_up": { "subtitle": "subtitles.antarchy.toreterror_jump_up", "sounds": [ diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet1.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0edf0d9129f03bf038e06d2585fd9d6cf8fdfd19 GIT binary patch literal 22453 zcmeHuc_38X|L`6AmJqU4W6d_qjKPeMeJ5*{qGo06#*ih2C|hMuNcIpaMMX-BvSdq0 zT9qWFQqt}{gL*tYJxky3`+MI%e$VaB?c8%d%Q>Ize9k%722W21hzVM}TC5!t8O7V` zBky3VVW9yu0yUUX!DLj;_zzq`3&3Y!8yJ}1F9s$Iym1C5G~?#}+4bc|ur%fcjy!;n z6+V=rfmTsdK_QXM;C&7Fk^PAQBr;70v=KoY3dLxI`%(!DXhHylgr}2r&`7if0;!2W zYQRxyS{O{kS_q<&)I!l)0%_Dx6≫9qsjDfq0@1nGPqAJ*oaWQk%obl+9rT0{Bs+ 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 Xq_XrbV=a9V{J{cB#4BVg6Yu{4nFU;@ literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet2.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..07adebac5ce1124804e1cb718d9efe49b2567ac6 GIT binary patch literal 21469 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%0Asy<3W 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 W=OTK-t`#~PI>q}wOK}Be&;CC#XGZP- literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet3.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/richochet3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..330d217ee6ff275596492ef4dc0c69cf9822f14e GIT binary patch literal 20067 zcmeHu2|SeB|L`*-J7td+4N+)@*%whm_N5q0Xfw-$$uiT-Agx0bLI_Ee3fU4RZMRZd zM2R+~Zn@gizT8{4?LE&7rR6UD?)&?H-uLsr&*$+t&pGG&{hssP&pFS`2oLvz(9pmY zieBZ16mJnuzCjtI;shcNUyM|soobPP;94N>ycabCf&6qKkSOq$?|})4g0!Z zj)I(|2EgRSjtip_tx47dJYE63j{|>j3|GK|MfRYL3)%<-q!AOv=g7hIK^God0^1Yu zL@EwX!{MnI0?C$4l}>~pK93YfoF^3V zj13etiWG=sEonhoj{jc1nn0NAtPfFpm#ZYd}B% z&fDA8Jw_~H$8ceHCwo&+W6kIDY)N!7l}smcaU?RGfn#&X6dWB-#^V?S3V{>GBZlEQ z>@Tr63AnKcLl7)HDw|Cqgi&!k8l8lr(YQn$kwT~8C@`4<)D~RiurHx!i1@&c*il2V zAY#SLB96u&b8&P6iGm~Z=wt?oO{Y+a#39&hy@B-rLuNZ6#%%i8 zn*C+gY)hsC`)zW@>N_+be@05DB1F@J#|YS27=L~t}82IlD_63Fb(8jrD<$&cX) z;>DIjiOFE$KOjc)yn!v7i+CD)Q!zUZ<_!)B zAdt86ho~``8^(aah;TdtmxSZe@N^uJ8b-u%7-S+cA3UDM{RTmN1PqY>rM`S3C>DfC z;@KkDAsndv4{5pF~lj@*?iY|47e2c zm~at@Y)Cx*WJWT#;>ZsFRPjBx0^+^xP{%>#fV2@0Q*m4pFd71I1~?GHs5lab3(Fk` z41eJ`5Cps-p^u6u(&!W(jH56>;N-vvEDZ^qM8ZJm<9>3JGVUV?!bE~-AK-TFO(nqb z+ES?u3XKMw79EcdBT~qC0##0%M`4hN3@Qyo;x8M%8InXW1RsG)rs5G$Dg(^uOUS>E zGK?Pu`>-Vu_NLB$^IZ7h5fUuMQNT+GV@E|{F%Dv31Um{;O%ucb2PJ{A7?vO^iXRh> zaRD7Lcp?UeaTfAOU-xt*1M)_G#5qybTtVn{fAX-|-v*W%Y{!f|B zW8mpD5|@C(hf%pW4uQ+TQ8@$-4o_q-ud zU@j~HH&TqnxJQFkBVslpzUGwQy+GWy1BJjR2r;7bHKb@PjzMmx>S7k?)M_A1zBh4gUK{D&WW0i5bG9 z@8@Q+79@=u;uSvY>bFvq>BSeCCaW0&J!H1u`jj7x{D>if&5tj9%8!Nq0StfUQ>ZYW z#v{`?I4+e-$8p$T`Nd|iIXD8BPN9UsM6gKxA)i8~*n*7oi|q@*Wn>_>-hb#*h5~)& z{~xW!5vhHZdm|+NZyCamO6kuGVd%t$sKy}3|5iiz!K~~%hVX-F+21e(8i~pa;{x5~ z;Av!_{$w`Ti@}q?+ML5?bBG|iQaYLufH zy6#5MAiMql0UE)d93K2Fbf0!3?PPna@{<_bc=_Hvaw;=8`=QP7LJ1rrmTgE|3q?Ya zVE(7o!O(8}m^cBKjci=IM6tucriP8zcl*W0aKXXBe3&bdZ?eo@NZ}%XQ<29sTjUua z2D>6iK`e-dMMz;r4D5u62q}X+DN-U3B1JED0yxhBE5~4P9v2Ia4gEgu$79pJUN%?jLcB zEfhxa<$Rb1sDkqX5}8IOGsqOmciHioZ4LlZe!2&Mz;*$dO2-rEpSOh&T?Ho~hycJ? zfp!iGOI|OL9fw2<;`l?hk_KRSu_BpdzJ!QlN5z5x(m#z$jz}y&4?)g3Y~+U`pP4Yw zWANw%IcNS7C$g{SGH@gUHb-d4k{>x_L3(~g2k9Cp9|9gfnSh^6rcEY(J70E`?3CvF zq`m|H1LGN-m)uzl$-m{`-$lgBKbOO!6y+c3SvpP&L_sRxQ$2zg z=D4&oI{<>TASl$#a`@UXcgym;%@zrTd2UGQI6kc~FYUM?H-m6u@PQ%oz-NBLAgP6F z*48`j^E(*fh7+?yr40Ub`ZkPmx^FK-_2{b!+?a~SipZD_OLG;?U`6l&BgAwwNzr2= z4^FDdN<;8iHAd8GvaML8W>s05q(*GTtnebY9;&i=V8B=$m5g{=jw%THRLhD&5kMuM76y`nX+o|!dhQK+?G0nj zbeYX~j`h{0bdj9>{JjIf6+35U9NZlj+a0$wxG-hb-lf5NQ)XRGne$r;+i>N;{d(z* z-;i52bqoqB9nUDZX}QI8)RsQR7KP-MwP=Wkumq!;YigOh)x9EYejR^9Q$$Tubo)+h z`%Vp67YGHqAXh2BsN$PDEVuyv>zf(TY6UR?FHbHQb8>;1Gt2Cx2&*jPa4Q64%4A`W zi^#5G@=38BxLqYqr}Dhcy!09|CI>sX&Q1$phN2BTbQEGq8Dcv!;5a0R_Sdxe$3Iu3 zTy-S~zy@~~-KpHC2TEyq8z%1F=P$=MpcYkgi#v`megP0^JsTqTsm=kVH@xD58%XeQ2 znN*&~@~|wITNDr~hL`Q2WF#|^m4%`<%Wc3ah6?Vf*;(zeT|@4(&&K%bn1j2Ei1Q=a z2lxlfjEfFl7khP2%ACuwH@cVJ=+2xsa^=^G^~rJ|U^K}xo6O^65Kb1anC_@57x19v zEYLfdGv-u|ndeS3?{nBQ&&e}hkh^r9eaYT_`g6MUW6vAFe$+YVDe(CK_+lJ`nJOKZK>&ZQ?o463ixS7)%&(Ywbk|S|I7Q6<+zH>zzrRVpQC*jV5r1-7Jr@p)X|qSh4@= z%Q`erU z>nwl$XHP(g>^ltH184xDE`L-Pd4Lw6(oAw@l0hW-=ht^=`BG3bhR|Y?y_x>r|D4jl z82;tJUvdDbIBGcfGjQB&G6^lEqo7qcnYkGEr(`KN_^I8(QC_;eK?Zgsij>a}S_cTQ z&&dmo?M76nW|K#3R6e_c|LGSV5GDaMYy_R%kcPWQ2K5>YQ6zfgpM=FBs$(Zn-cDlET3ol_4k>PB8vHn!jKB6+x8L z0)kd;2{I6lX-8*qgPFNl_0V9*TVdfSrXC9Ej7CN`nrv>MY(eIkLt2VZuTZc39NG64 zy`Y@GrF8+;^So0I43eNUQ!*%OZ@imOp?dZOn72jx7Cst;7r=H!gzeM_5A1NCh*l2> zV+J+N% z1j+2*5 z0D1Csk5h%9ZelqP^ebM=vITX+LBb&cUCQ!Uj`xbiApa-3AJ~8N2nN z=3Ycx8z%yGyXRIUY@7)4*7><*@|q&Mvjf~u*f_vr(HtNRgi+@0h>WVLtJT2UdBCU? zB;T#B?myau@V`5jeHCGT|Ndsc_gL6yFA~17>JT(T2tii$?AYYBTN;`{phF|^GMS)a z334talQJzwH_MdlFV!C<1u#;rffWihgFR4Mpf+^X@_GI8-z;4YiQK+B5HjpYQD6oq zXOe2oO7ydoMvmI41F5J2sXL?+?wRG~dU)tNW-u(w^9w@Kw>zd1RLaXPghUYx&N7rY zm*s_|TQ>Cp0f9O&m5|x$Cgph{t8q<+8=_2r)FMG0m*lY<)Pbo)VmILrW3S?@!W&O>2PhUf-+D0ap1crmQ zta&o@8iL$d($v(5J9JySDNIKv7dH>D={~@{p=6Pe387R}_b(SdOkEAJ6U7S5!BDi6E*mw5qkHU{LK5{?CeVp^r`y>0~%#U+FuKE~_ zf_mV0Pq6bmAmw|+5Ag*y=F-9ZSBCXh=bx@$TQ}?3&c<7UedCO_9li8SgcIa20$;3I z_fXlYYVoEy8*l8`H8LEtW7(o*iwMbk2&dDa=)U~yl~!9~fgAi)vPRIdeSXpL6ZOZO zmv;5nclBP+zZ!)OZSiumivd6H+kfD|)G6IuH0igW=Z$=`FoAJb4}vT#Xix_%UkAK@ zIWwUjnRe&T>(mu^ZTFwP5o`c%48rUfb}!}0hSb#5?(S*AB?oG%)gWejCc*<~uBrj@ z4_b!&%2HbG7Yh>jpTsv5@#v3W^W>y81O<&~UKS1Jx(O2A2a$eV?Au+-(U7pBU-P}) z*+ef0IuYNk9eI7?tDw?4Crsi`!-xjbeh&nvG}EeksfHtW;*T8PhgVBvq5nvfPQ)9qpIl;2ALfLB8J{^`?WD+*X^`w{%YPa4;(r#-8yw z+_csD*5SHll2OO5VZ|t4rDQcJ5o{z)L)k&p3d0pHXw7t0OY1f5s-xRiA8{~T|Laa` zC1rMFItx27qJOe@>=kRcX4%GT@ppPuXR9i&BZeN`+>|`}#I;I# zOGb*cSeqFiDi57`Qt?~Y`Wcz~I|TQ#OeVJ^SQ(vOmFRlw`WzqXqL(kGLrcbPYrA9C zWA5Ga)6eS~G`oIzbZ6;9h0saqP(*%c;gu<5(SrK^>P@#Y`ggZ($LmRyZl=w=OA3ggd;hteF;@ z?Z54GM5GFy{cKmNNB1qh#POZ9Ge@ty?8SjghM13=EELK|rK;P;E$9gE zy56Uk@y4lgZ*u4@J!p=-+N)B=I6FHu(!M*jBO;tJ~#%UcWHoLNQN z2JbJ?TG~(>b@IiCj~`A=Ja=yD)Wdg;U%o!b{Sd!r&%CpuM~(Ih!A}q7E&p&mKK->- z>&JO$VaW|;sL@DWdxqQnYU#eM!yC2=&8Xrj>x0&x3dz@J#?c=OPPp9Zo;Q`YX50?Z z-jV6A9#m9Kn07q2Az@eX$NBHs8{Y2CyZvV2<==~6yx&f?_WN*Lq4(|Gp6-1&`f?@9 z1h0kA(M|8wcoX6$YzQnocgSb>Rmty6Awfx*vvbz+DOvH8qRtl_5!D@77V_@(f|?ss z`%2&0AL7l-Z_a=9Ao(GV70`6{_U*%uTz4Hbet5F!%r9%kaeLm?EonPsv0Sj@@Nl<} z?=CkvZQAedewNTvHtJPn4o15$S4Zul-^P(!Z`LhcGh06%;;P91A6x#v7ff# zP4Sy-%2e3bR@RjqT+KTak9syww<1E`lUSC^O4Lk7~$1L?YrbJx# z;>p;MM(Xd{ujzR;C-1*#;XiYs6+W@EzkO^P^?gZQ$j92Pl;yd-Z_{qZ^y!ceZ);jH zPdQstPy5{512?=fE^nB$%n(}Q=s77!Da~y4f||}GjRKR|tZT{`oc(b_yZq+nlOFdo z&cBEDOjZB=P05jh5l5b5U%WU~cR8@4Kc}wv;lW3-*FU0SXLcMpyhXcZ1iJdw4TjRg z=~ZsC!qZizXP4b!`L;J%uZKiel-=$gGpkgsZLA{CP@l3r(%GhM-I&|f_M*kJH=R9j zDC=UmNU8hcI^P@J%bp)x`_l*aNhg7yMv~8Dd@*XG^gux9Cwr!c81obZx48<^m|CadZnOJFSo;iHO`v7>UzD4 zUA<@rw^U<2%X@n24|ZmWcL=-BhC6Q|Mf|$X$0*8A@1|XR&{@qY6GhPG_sCBTILNSMj5J z{DYXsb!jT$PULIrpi>l|`6#b}xk)q$J#&miE$^FuL)oi;80Ju{cA0R-b9sHOR`%Vn57R+X-ncZ17Tz zNVQN?CvsKorr{}p&8R2k*TaeqKjGK8JB)ujdTCNx zwAbN@He1icID2CHe|19B*NxcK@Mh23w~IccHJY4P$wCETlYs#nkLX$rg(|6pyCFAc~|Z zN%|>WPl~qOD+Q#u%nrUY@TdtNCSpWn<0!gJk=oBCDv3>2QhtsHBmV zN~2cVA9SDJFi`_Lq5$Q8D>TRWD0Z92?~Y@fLj7|Wa2$=){a^O@Ra~u!iHldC8L~EU zh2xaBbCf6N7{{)0 z_Zel%sir%RV*P%*UkP1rAG_MU7kavE-}#6nycXf~Z&^Ounp!c#uG~plZPZ@;DqxfI z)n9Oh?OvW}9p)Zt&6c@aRn5+ivF^zE=~;I~?1>Csov1d4vt#(miw}$4F{?@<&%LP^ zcbzmWFASId@yKZ(=z2@ zM4_6LzkB4;X<2)VZzw*v#|*4-kk;ng69Vhk>RH=tc1w2NMhIES8jeoZ5QWCB8Q;9c zV1!DTJDQY~iy7N`(4wW8tL+kMZeZ!`lQF&+BQ(jKoMJL|_bVkWL&tnOh5h}_L4K9P zT8N5TwGM@*_^vVs6Jg)6^=HmaX?-?^8H&QHw4;6Y1~FfpTpUVT_bTw!+#UDzLL0CU z)7riK?n1$SO#h-;=#6TxSSQh_-tCT=R1=I_P=pP`>}|x=-?bwf*;{l-By;8}_0TH+ zmAk7R>>5kaG~Y`2HF!)v#$Z>*bfs|t^TS8>k1@PyLGbpg`%h4??_MU;k3~SByJtYfQ&Vz$pPs2MV@$vCCZh3Y+SF8GgLym)cTC8n>!Xr);pXT8iWjonop#V=ytK8>ZnZC&)d{A#dS zpv!4^KCO1)Z*9W2=Yo=}o!>J1BeA%gbG;r_p`-2UQ}MeD(3=UCD;7MA<=-5pQiL_@ zyP1<;oztxE=2m}hSgoST^u(6bBJ}Y+hjA(q>$u} z`IT=yJOyV|ruMxl^%zlf?$N{G4pXXQV}`dIp=nE9y1ye!t45MyN;NM@Q?DI)RZVp> z##s`T{ZoKnOOXxeECU)cGQPFe57;p=g_J(Vp4qe>|323i4C~b`8-NwY`(35<#84^ zy=N)2F*dk6yDPfh9@*HGGc=d z8O*8*)yJ4K3B78Mh)Qv54?eTfy7n$XW0(qSc$9WcHj0Ny+md?FR+zFuYuZ}Rd7Z^K zYt~YO#ktWeI^%kz+AYs>Jx$N!g8M6uy2owb(A<5mqHp81B5%mJI^)!ex2rs%HzNXm zk6<>A8`&Js&!O*$3&i(iop>3bu6YVhPYWihRvt9k)z^4pZD62=xTz)gvM@WtTl4mr zGP3gMC`V0k_nlfon|1riSdV}i>vz*B=?_AFa@>4cOUF`VK3})hyj2o(Bsq1r?Op0o zm15Y*E1OcSzkL$waf|6-5B1@=Ur z7B4#0xsg|N{AfKoAiY7noTOQ@GzE3z5uyGFItU*Mp|n?is17im*RyR+ynAU%5RS-y zHBnD=Pwn)s!#8$V=8v2k=XTHU+^QMxf4lYU(QiwpjGOEJ@{IDxdS$ai?pq=Vc~a8) z*G~eW#;d2ITHa=@)Lf0H+*j*7efqRnum9qftCwf_XAbiej(45)qF*J%#B%-_X!nwN9UX{oSWRpDCsv4};?fM#-OLnezpi|uRFeqRZzQxGu0 zc;6(qr^omyR!5s%GKvoZ9_#I!|8rec5XI0TQlC=~;h-4JP#<<$gtPtaUGJDorOL)W zOoo+}nMTsNMdxF+EQvna$*d49=e31y2lhP(NDqw|FN6#hd-YUgStTBvBV89=Ur`Yx zRLH|Ec(n7~HDt>_1nxa@=R~&#B!w5JY=IdLI1n{hP<{f124Gj-u*Q z_r(1CfVUl*_jqaCzO(2l^o*l-lch<)ixgIAZxB&;qV~o&CY3<%8_o`&y5CiU^2)@E zxYjEu2;EF6KjNj`kP{mp;oZln%Peq;%$J<5izTr)tbAQ#7gSf>WY4={L(156h;a6< z$pZSh?d*3u7FMk8>Rf-@m+kkwf!V1;j=og6rSj&fx$e#O1zU?&s@@B5;1V(m*O4m$(`%xMt&fX(BOpgX>kq{fub zE@zS*I0#ST+WDH?^QG169_85tf{8QH)yNmJB30Q6cVbom>+9gJj#=G zOAQZ6Z$>NJo#Q}FFO6zCf998i^R8a6+y!M$42zWd;!%!?o1e6oV_!&O#2(*Aty~EPhq4)S6xTWYGhc^*LH9mg38<{a0Vc4hx)hk?fnp z3-B|BnzgcmW;~q$uU&Co=f*tqU(Zgsbo?xXlviwb|LT%^qFw5T7HST=vX=cz!JE*M zj)MZ<1G63&wD)sfnY6DC54rg4+e>y^ z1jg5`8uheB?@F8BeZp-g@0X2%8U3%EFgVxaCra+Vh4ytH-%Pijr!PKx%UAFAea6+> zoJ9t#U3(Y9xMRj=a@E7m9lMwjrR+C(zqx+u%f%ZpML1_@WK=GNoHv2{qD*fyAw^TGWJ=f zu_1>$Z^#CBs~sgeXvHACYZrd8+^FrCvFA6Xh9IbI`Lo1S`mj(9ts0>yA3c6{ey+9d zRb#DA57l_}vT;(k&<(Mr{KT7nCe!?99zTbAje0uidBKk9b8pYE#;*i>RUcf6XWNWo zqw$L-PhVzLs*#LUB+U7ej(2GxYqX1C9=h*0zVQNPX)siihi1E&$9MnBN) z)2;R0q_BC)XbRUi@M8X4&91uOn&3I>a&xZ69EP(CJv0|{%QoiS{(Y}??)cR#mx9S- zlaK88a%O9_d0T2YYVxmyjZW`wyR55GC2CTD^ScXfK$^< z54VXr{PlbbXycr^c=MxOPDpq`*vEJG^nG}{k7Umw)CVtH5;fO3XM28mnrjy?zkK|J zof-x3`i!k~k%5uxlub___pEVUvgE?)G}E)L!TSp>(xZZx?albL6e|Geqk|vwvq#q4 z+bNlt{;QO~8pZNhTA8uJ=MrSU^!AOD%Eu1Yj;d_LuI;+6zvHI`p_%V8Zr{~^czk@R zg!bzFdI}A;bjnG>Le0LlBR0W)Q^V_UD|TDgXgsc==atv5e>>NEYt5u`togbvH%SCkR*#_5Mjtc!VC;y2ujXK&OwKnA;%$uC?ZG{$pQi*Q4lbY1Qaol zlSo#Qh#*-7K_z`XpdQb;=f3;yd+V+L|JHYV^)$P8sM@>It}1rxJ31Nz1i+8$%U!q# zzWA7+-T=Z5@%O~pJNw`(2vp1Qf56N8u=7KRK7Qn{3qKM9zBMT2I*afBi|hVh+mi?n zQBi^rbW#2eQsSZ#qHq|D5PatVe^?K+CkBgC0Nc=D8yt>rgt|G~9}Z&xyI@ehSOsyI zxReM?S_CEqg~MbKa7ictIAbLI#m{=-oc%>D^b8c_PX~IT(5_fts6E!v*+YTLCJ^gj z6KHP_{v5cV&KLzQb4fjzo|g*N$yqZPhcym9V}cHLMI$j>r%%}g!cg*ovVrbi?pR+G zG|=76!$&qyfeVH4w8zSVWqh?57xbWuud4!=621WnB8IAX;;`VXL}4Om7&v)xDNzko zn7F94Jq9gtF{;fo3s@$ljP0p$>kD%J;$bN2Fe_Vj?_ z!J_Ov{d^U;Kx)8Hc&tBG=I*7Z_X~-KkLbZVMbVz_Vu2_xF}Ns9%-vn=FN1u1)%-zF zKW6r~gM3Vays%8(muaGLSd_0PPRZBP{qM*9*5QC&e;E(rQ~hTYc0Z)B zYLExY-5ITi#W;ha^@Bm+I6XaCEe{`Glm{BCrK-RM)`&VgV`R}VEJnf}Ehz$*kd_fa zizDnskZ5}c5hTh10hf|S$w*7s{~3y^C)y8B5Ihudq!bDXM`J}0(ij;L2^lm(L=uLQ z5W!&VB|xzSFNDLNN9*I9K|Mmb{SE~`7YsNTdpO1cE-48Yu@{HIMG!~?LPSPV3VfA9 zNT6h}QYab8-{&H$2Wk(f$S763GIRZ*%_axhEGvNkm0K1D`)vZUdY%|(hoFCBfXX4q zOguf^eyXPd4(slW1=Z64=Xs!qqA;j{xw8kxGr&jicVq`+vHt`a>>p>Rswa!`!#H~y zqujmRuto=~5`q5)@y{LbTA{!Nm(ud^{hK~2PACr#tlMEHV_$H-o`3EI$^y>U#MvEd zj7GVEfDRb;&$=AU$k;g;j}Qj?H75*O*1;3!jsg`}&p_g*$$-iq%A2OM4=C(Ghvo>h z5(gH^80-D3;;_ce`KK9yLJzEgEDDXcGzwfkD1R*G=afJIhpo=Pi7^s`mBGqjP$Dw+ z7_5jmObR9f$}Cbu8jVIB3ZOLl9{>b6VL{;kQeJ)`^zn4?4M5?rN{*n||65Y<3j`YE zh9ef-EyTFQ{@cqxFb4mE06+B@hLDsJM}Qgw$4DYYK-Cc!K}jRgB2q{PEDVVjmz0r_ z{Qm_Z{`;%_*UbL8RZyu;QTMz+f?G5orkw95fsb4k9QtQvA?xV8s8VFL(f$-?ly} zX&4*}Zf_z87!uq)rIA<>84O%T1m%EqI0S(Dv%=v4IN&_p4M4N2z~u`XURg0drP43?q*B@rr0OjHPS4ZwQ06$ziH|IZ0@S!^Y7B~LksPA|;6cLn9e`DJ1q+G=djga8>_hL?VHZ zg^B+;BKbA!pGGCW5Bi7O^3e``wr zfc~FECqL))n=gXr&rb^eCci%ek$)DZfP?-qQu%j9{3ndR^ILzHiocoH|0-VjHTk~} zSwMRH)nmic=wQqGZg;=FrNQK!sEXM?pFjQ|66iMHsCPdfX^iTT>bCO*g#*b zhtEL}E$W5y!g;#jn|=Ir6`iALdrZFM)4Bj}Wg>Hcj$KMypR>~O)NeGlD2n?Ol4 z{&yPxP?5zyO?^PG4qx!`bjRZG1$_^!DxO97GAID9zMfwAqAn^3%t3(;qa~O_^aInK zW}x5bc`#JP(+z{hp&Wei&ZG~R!-b0DNBlqyRR`VDA1FW%6N+_k04D?u@Wi?LIC*-V zh5uaX-&4#Th5l#MLV0<)IUmwN1;h&GI3y6#2rvO9`G*Vt_heH7M;>M*!9j3wBtl9C z2ABE6t;NeKn6<$(0Guo6+5BYIVZHA`3dh~k-}yIJ_{SKGAMSuNe;(nFa`VF{YY@Nq zbO_1kFo}at&WIgma{i#gj~+ksJ^1AKpMm0o5%nK=9C0L4S{3K%h0hG(d;SFvzN^{c z9AGdxI7|+Kkb@)tVZkW3gVfUBqxzfi|HgcNuItcR{DWmVtOoPm2Zjc;AV1UZe;6Ln zEd5_zKiBeqi31P&KY0FU6#ft0{zJF_=+FO52L400|IqCx1^z!~NAb)3<2V4;1N>)B zz~TS+VG!cOlLdmxDrOLX6g*!5*M+u(y-YL(02%-|$0JCc;-Dp1lzK}bC?i!9UuuEH zWTeKlFr(w)tv?@71O_~tKm>#dkR=q%X}RN_|P83 z)y1wJy@I@?RF=fxX$wG6lQWXu2>-B;=DflTKBCxg?VKgqIC7!edEw;Z?a<4*;tPc- zXJi*{7bM6o3RJ&TrVy!qrL7AeGDBBBCb2#5(~F$X{_!9?SO<6-f=HQ!1w*4uiU%Jp zSe$_aK^-m&3WR~n1T>Q9weHh*-Dm6R=h6QxY)B{BFQH~^qGt+TezxZR*b#rf5&uxj zj7aN;p_UILtw$qmw<1x@SAN`IL#MXz_rcPk5Fn2mnf^{NpNlnr2ANM7aiyF9z~D&& zB}?WKOfJwWc5tb5zESIRr`EmefpFIY%7ZQd1nh#p@|?4Z|KWD9OvnD~ThXaq2v7uR z+2+mG=FOvK#M6coK5{_eb^zq5qLFY54x!VPa^AXw&Gq$-q$ zn7|Ivw`QSPFSFKrkknc4^GfM&3_Oi7xxrswnsMWRgKoVn??7G(c4oHZWxmYv>D8jl zDmp9$(cU;xQTht3W0}vUZe>A%{hVKA9Vs2N0LNOs%$mDhPY;%2Qg86r)SDc_`ym#k zcG|*$+1G60#)7OUBdWB`SV`c zrF+k5R4Cz~6bnm&Qhc>$F4w0Lsp(o&Gi-ITDAhRF~M ze-*4>ngf7J6LFxEsrK>kw(QGil*tYm{8Mwh>D!XnI+A#F9`NYB67Kno&|gRN)2SIE z^o$v7`x*QO7_r7uwgZyb0aNUdKX$AZYh4#=S^Gm_4%KFA#P2uF!K(-tGU1(OGSMHJ zlP8ccBa^_bmCR$A%omjI7?V|+nY&P$PyQFpaf&U;h%JeZosUish)H*j$ttVQck8TN zYWSD;FU`@w@qjm|Ichkb-!!Kg&ZYut(*t3>^}{tP^n(QTRb%>{0RYgPNU3vRM+}Wb zhKwYKj6_UL6#i?C0b7R1rwDyU}7$qlCtru)9HnI!Z1vc?f ziQMX1E1bsNG(C_Hi|94Li5yFrNynlcJ5%rru`Vl{HfmoU) z)D#imPV&FM{sxz!Bt-u=T#5)iMH9XMJ*NLa_zwmCB?Ukchfsq*M&(KO+L!<&PGVB_fXI9_hR6{OdR>01W~g za>34;_=fqXKjj*n$VXkeVzT}S7XtZ#2{Opb+co~lfATYcD4KXn7Mc?%bVK^(3UgVtL?k%h{pqhjQouC*l1Xw(l zJ0Da`*0&C>TOc;ynE>2gK(Z6#$u8xjElh3T)UFLcd4T4(GU@Mw@&#f+|Ea9gTexdo z)sSA#*wps=JB#%Bn0$e(;<5%&5K-U376m$YPFcUI5qk8X6$Y)bEmPK93?4#RStSM7 za{!?S_8cM3cgiX*EdzHF#ev)JrD+f>1GH3Z6=lNxcz|ixZcB$06psiE+86|g?N-UyoeG_ zt4w|irK_yTi7_$~5-cKD7UE4aQqn9cG!oYqDM~jY=1fc0E`=5v83_^tVJBq3p9N{; zm2x8BGwAK1Q|-Hv^E}Gh@VRUsTFxS7(7h?8N8^2*)MPm5C!f*o$N=m3i!fln>=Ywe zu#OsZIDEk_g{el$AF_Qw|04(N0s#~csU7Qf21aXgKyC)0c^c2ITz-(;TFJ#hx%{Bt z>XKY|Sd%5+_k;RDxj$%(vjw?Gb6;6_J)-!CKJq=KN&MZ#G~qpT?ynfPb% zhlGJ+!f1X(C{ppLA0=<{-=mg4;+Ox+(x{bdMU5H2+#5-#Xc=);qMRp(A%TR6^#LtF zN(ORWDH{HPCpB4Hn?X4qDZrbSZWUXh91SNeDjc+OgERIakK8IuwTcz2odFpH)`3g0 zvZ3HCO0|j;sb#+5#tCxG6|6%`XxD&s;8I+Lwd=vU`z_3_SJeb=SmRq=D*s zvO<^F@D;=-;s0m=5rJS1M}P&q z3!aAWi!U5JOYtS}_3(MvPy`|ZD-Wyih``q$@D32A8VMb~g65YHZ~eH1L|&YcsFWwr zpcmIwJkVJ%LZdlyzk1l}PCTwtORGXfopmm+a8&CEXN`pp7OK>#rJWN_Do9cq881|n zk&>?5m0?6_e-iE+57$7xH&Je522FN201zG%rz53TymW~YkWti3Bml@MC{H|BQ&be? zENIU2(v{)Qkpcjv=x&;r=oTpa7OQ|zF=1E>@s;yH`^!z0DD$|5p zuqi^wWMtl6;h+2%aXdTE*kn-=!~+2Az%*#S#sDs^{LFVBK7Iwrj`@3Zf)ueEQpe|x`j|Jr`a{#6|=hVL({=ss zZZvk=`M$rlh5R`Q_KAXW5$;ZLi4J*v9%e57nXgLOE~IgDUS)-3gx*39*Lfg{l9<-H z*H_T?EWrUDkAhgdUr}3$1xQ=JLT!_%xUjJ4o?+ILwlpR0Fskdt9yc%-P&1sav>qzM zI=@k6xl+60mt%WYnqYW%w}gp7?U>-1w??M6#DKpO(5p)C#VDv1tN<)UXfJy^rQ(-% zt^(3r+weeh003TEeFUTV`QvH@BNQZ{DK$t-7T5?r2HGodY4=&dCp4U$MFRKG7hjWq z&uT1}#i6y<-LHrXKup)TGJ&;DK-lUq?O<1|Bp3pOK>!#*73hy>(%xr>BF`1&vnT?p zs{KsB%L_TlGz7qD!Y~QIjtT&}03sm%{mwWVkbzQ~w=1XvVedLzGLI?2I+-sQJYT(y zqIwQP%n$^Jyk2N!zwzp;r>o> z+U9E1&mx2?oHzYwg2;%McxqSQw-dNe5VDqxzmz@o&gC5wDaZP#_q*^fED5eRPc~mj zkPl9M_bKSY`Z)jHP=PrBm`^1rc-s@=Dxxg6$YaqB2Y`h8dvXaU3v6Z4M7LSaJ-l*% z2$?Q_{!t9s71a=BGF|WC>sC3HJKf(0l@+6?Z8K_IZ7Z}N3zwH#GR7zI`9`zy++vnA zGJa7Os7x^qScNxZSdgSdipPdDLT0>M7_?G+Q-$eBh}2s0?`62V&CtbE_y?a!Y*mjX zCL}+iYv`>>VBu9ARuQFZH0H0|P0pa@WK+TTxZH}DOlXv> zky?lQNi(b+eOD0dnOAn7^worIgT)zYKb7vRreQW(tme31!!2Dp3+SO!Ld^+osyx zlRd6jT}2zA(qDHD!!%@iQnzu!sP~3tU`^&7112CkU);!YLdTwjA4>MLS@mP{80!O6 z%54FDL(+78I_vfu5q6Q3msgOX<73U5(7VZxl&6G3NXxIEaM-fbNZ2}cybf>!04}mb zB2wq4VN`(I)2K4?A|vxFOR>#iR1T8oz^~Z=FLHq0f=c{;!fle~0E_qZ<~ACT=@5a4$0Gl)xhEFJ+8+ z-tx*zfSDUTBvRV&<1>?RJEmKNIHT%iNKZ=I^MbUKgwvvPhb>(}6_RMg2km|*}S#px2DNz?Qz zhK#7V3G%w7^cjX5W=Bseux-VzS6-u!V0q4Z>;zR!Vs~X=afTMq)kB;2 zggbd=;ICymoGYk5X-+qM4srqKyU2u|Xdczb)Ssk_p*0*QM` zE6tRW3pX-ik~HW17STU4k?@V_#VSF6*PR%k8()%)(oP zbJExekKty`=}%;4j)=Y00f3v;1FsYAT`6O&h@nyjK3@1vtDEgO`sx`s%mZR}H-41g zZ*Fw&6aDZ=qh)bVjqwu62>JHPiXY#yrSh4Kb)R-vRWr7nD!krUga4_E8{wSeCJy8{C-d+Q-8t|GefaQRd^XJDPb=!|IZRTaE^m zQ_EaBFO{0)sAHuQ29C|H77`I#&r&o_e4C$`KxX@eQNf63tsV!o*<2J#naK(vU7fJJ z*J?p0wuhx~c=DJsBXr07$&`}pam-!PuzN3DFQ)8Tllq!4?+CAiqs5ffQwb@%&HZ`g zL+(34-m@nWRKqpTsz5&5>RvuxdGwJ~VP+g3=&cE}17T}>c&7k(0{+H<+}kFDjDr9} zQ@g;^ky&AY@}_>T+^oDT(QF zHsFpB_xRl_m8V&6$fNk@%NdvJzOg?(zU?LHsBRNHzq2ZRBdxPoeTBF)S8{47TJF@~ zv530Nj7b^Nz^J^K1-F5s@`lu0*B8ilNZ!z~&kUU6iSf(Yj4CT6E@KKsTe|v=<263+ zE1P9wQFTE}%f0z>YteHt(gX9)R|nRvKh>f>eP^`h=3Mkb&E2|9Z$wd$SrXwaT3fWN&_H{czh%$AVOBX{t0t!Qrec0oWRk>uYMex^LpBjq-B$Qo=I#1 zpq~}u9X1dC4-Uw6q%1dcj?#!?m*){BYdrd9SRJB%vraASt$BeH&Z)#DWkVT*v18V z77I6CnYH~sQ?+`T`bqCJ>NGuN^XtTIoGecT$j(ffP|q~1-+XjP%DsYkGHP#wK=(~-V0_C zo;_a@xP7}$i6!8ic~edGdViTVP9C8WEb{UNZ+S-+RS@bHA$!sZxS!spoX1pbokLCK#pG*?37zp*ZRg(r!7!tpG227Y%B@XEY zS=11$!Cs7eirw-1G%Y3e&7kZPO82b9s+CO9;`mV7%YHV1nS7P4p(+Nc*e4~eIQLQN zh0ufBof3*77lofZhL)Deao1EHYg&BPYS5yATmBYIzZMN7j<&KBn%o1R*HU6(qXg99 zDa@#Z9=&dBXIi4XE=JO3+84ytiASE23MXD_^N0++ zzRkC9epFGo<}aMxmYjNWlu@>ojF^wxoTgVZyzvmsym)p+4^+ox3$u!(j2W*jzn9$ zl+6an?xEh(o84an^$fF(Hi><4mebLQ2sG!_mgmIJNH2Nm>XiDC+=D+3yF|p&kV=ZO zn~FsQ7KjS7&FG)HM{K4M2TM={GaZA(UBO{3dRLU^vhJSWD#vmW^p5)A8htXHAu@B* zp11dOp3}~S)BD|5&3v3EpIbL$`C+!NOWmA#wa>TKmFpbneXlH%*!Kg;rpupp`spn5 zM(0AFJX_VeqBVV5y|3En#tbd+IM=7~h1U9=R`}~gMTHt#AqO9y^CGL_ag>#99u5Oj z!lyGI?1%D&M=Qnl*ar$Of7#$974)*$__Wc=E&hg|C{%x_Y^-4h;5joUMoa0su3__B z--;UNjdi}d;P1y~tJ1aIEAdp4GMdA)<8=Opt4n+aV+$p)v9i&cD0IxQplJLZgXHjD zO}Sc(+?Vz4o9;0X3yUd-nX|heZjTFYYo!w!)-$OkoqLv6Z|e9h??d)%P;!|s$K4KL z1G3FhpLcwOb$qx=rj6@f zA4ss@zjEh@PC#Dm_{i~3`VuG0ROhfc4djo$?Z6;L*D2<&`JCoBs$9l3aN)w~DKYC6 zHS36kr$uvS+cVc}J1a+0+fQ-J%dL%X4EpIdV4zSeY~_{7lSy(4e(q49j?@kd+= zW`n3Sij&WUT}<8^%mN8!BT~B>)Jtl?Lv5-O4 zNnd=4O__iATET0&?vr+kf^r+-=%c;NF(xxwZW{HD$9-qtq~vN=(Z&Sad=ZzHyAzTr zu$S?<@#w>tC)}Sy6h3v@u{zbW>p22DETKaZ3H|&Mci%BQ4C^7OD84@xdR%lu{oI-T z=XxIWrs(oYv$W283`9!wPGdS(tQ>s}Pd?38<(#*+HcX+EZm>ELyja7fX7=JUK}48) zl(*6Nw+$15!9cyw`kwNqlWA`CXcccXUG$et?B&y#-gpb&vCu*8+;#1{SkzXhZh1!u z8=fc=@p?G6w1!bgElQaE%GX#vtN2Icvj(x(V~vp-Z@-rUvS!_mGoyLu0jI8LOUVkI z2&S<8=ijhwi~E6(dpSaJ0fmpV6wKZu*ZBLy-o0+$u38bJ z{TwY*a_?ZW#f@F#*|h$kCO`VyZ`iX4o}qMkB?ddK2%!~ZyojKibz6SM!ybEI-N$X8 zE;v)tn`k(=KL4WLj~Ot4GB|#9e4EJzJTy{C(pWr__bHX`mG2A6FS;{!)WjaCln$up zk^6&Ykim|Q)I?Ghm`Nx-v|yH`D^Y$TR{SZztU@%dAWH^x0}^Q|-Z6fqgA!a@GGDZ^ zkkc{SlU7|lhpG+HXl9xkBafG>_6g6NanqdZqhn`bUSI0H0_2~3^RehDeOwVE)^a0d z)o#6Q;QZI1xI)&#ji3kYN8KALE1&v`+o5iRzhA?`e+ubRD(_nyj_cJAw66(uR zmdr;{Gj%NWg*ru8^X+GTCu1UO4AKYf1`a$wvZVT8e!BqxmBw?-R|LmycD4AKmrfs2gMB zql8rYOn*Z;UZL%<5_+4YDQ8V|BGYfIDo?XMQNP@Z{Dj|4x*;A|pZfD1-CSW^);Rs+ zIn*R>sC(o0j)z;38OojMKHIdU^EwtqSzJYVxzz5y`_<*NYFQvn<;!bf-a!7mbOx`o zcLR}r$BjOi8d~2Y7CA33`UTk!G12^b3XAF{PGnWzKU2BWRF^J)oJ25h*>u(CduU-4u#8Q4*qAf!mb3}H>b&r9$**)}gO02wkyY(_tdMAO zXFhqFa-rgVJMw-t2%JxWCDSXWpjtWd7T56#()`=hlvzwCj2`6yV;9)MMD=Ckqs?d8n-4qtK2+41$M<{J zN=Bw4wp*W$J&v*(vaYjb^)A$I+WcBd5xzfsO{eI%TX~X%lV9YjRh^L*X?_G2IT#{Y zcDWp5QP2hs?03HgXi8x$W_4T z#qSW1T1Z+hWSlXMQ6$i!R(|6r_`FlOO1Xo!efp&!h2&dO3spCFz=DV&1!hr8ldfkV zO8;PV;7Xxeuw4}4@f3FqPA$@smy}sEiF|;R#v(!_PKi757$;P>QK?p$c+;Lptst#1 z!|efwdIh6eMmFQaQDweZF#NK5&w#7&-)NO-#G!CT9|cu0EFK|BzBLGQaOn$-Wc#y8f@seb$4k6 zV?9qNR~a2TDKRyWHkG(Ne5Ix*pOI?40!>L9hPH<~1Q0*Zn9qJ>LD{$%Wi;R7{5eFP zrS8;x$yxUE%}3dL^+QTV23D>c+2$v-ZS5_ir6i-eZ0+nmPktL(U#mZ@X{EhAu5nFI zU#BR=nuqhXaEa(do$q|qR5^?)Oh8aM7@%$JPu5=QyERQoEL5~SbV>wPzIimv2?&9O*-(i; zs2E&fDFUtzGtrpDF_h7Ko?v`QK@uGSdDHs5-jfD6&j{c~fC~#eVPc}*->;A&J>V{! zXYHN`Aut`YFFnCj$OfPprGoY+m8BJ@$SNaj#F_Q7H3>_HjL7Q!JI<3dd1jvorVO znrw`iAzz-bbWzHkAI*8sFCwvM{$<~LHq>QlCB?X#t*m2ao8tZkJXvJE2v+d+%G2w|8~ zf##)}J}*kr4FYJf426t1+e^l7_5F~sO+E)4_iG&ee#1CE+Rmu{h79t-7AcULl7W?>{p_b^%n5yxKn=@s6l3KgBrJIeHJ86A$m3>l5YInJ( z5tXG#7XB~ZdS{P*NoTG;J$O_SCVqTNetWC0Y3lpvw=W*C9Gf9bAA5@S_#H)kdNxGE zuIo$NN>lMWrkAhAiSn`ryaFD-J+^9d9LG()+`UgRUF^`lfVyO5_IXMsu45!EpNTEua@OStFV{Iag+B|{@{JE04 za;`Qd;$=oLYW!B0A6Ew)P0ExA(4S1jUJGEev~}vcaP5O_;BsT;SMmq-MB;PX>*>*< zXLWS-HWhE=3g;j~-%j9^M84$PWT^&od$}*aTYKu4-p^xz@b;H1lc|R=!9CNJ>|Zoes;Z zp}o8Ut2!snSsArLFAhMZswPTm-I+bl-^x%AXS_sAkY^6?0Qaizi37kEmlv&-_Wf&; zBq+w_I5uF?q1z!O)AZgelfnRM7U~TpPvWp|C~859{gawk9rnM~ZRbB4pEopUmX&=| zI~+ZHqaMWr07D)jE1sLsEQS51njn_-&871f_djKg*j9f0Ha4}jwmo&-)&)H^HQ)3p z;7#21z#to`uA7#3>o{C|QfEyZW)`C^?%mxJD>jf`C0oN*qbvO+w)$>pIuyiVZ1Xf6 z@^*c5sCejBoW=9v8~2AF_+?N$II&n*65ls3JzYv4sgr%m*0g`xIo5@d{Cn1sOfxFh zl(f^u(d64t@h(j9|jF`q+`QyYbzMVmDaUWGMu_aD;&_ZDErwx zF2lkWvuJ3{G=IZ10ZKT!+x1QKtqai%go)<@)VNr#iIY)OU5Yf<)G4x%X9sH4#+_ug z+@&iW2+lHjKYvaLPhLo{dGGRT;S#1m!ac?p4~E(zUo zO3M}c4F(s*8QZ9iC=tjiYpdF#v&=_%2DD2F%CM3mN)54z3tNPM~Zs8 z+AhUqi6T1BOs28>t?5XuV&cDU5r!s;>=ue^mP3b8zGco<|vM< zV6HbJXgkQ3) zW23So^_9JyVmP;(WVC>0eq=9UguT)mfVu4)Fv$!da!P`9$1;M%R}X`LS#Thc2|Qq# z%@EK-R<6mx{?Lobr*-Bns>%*GO=l?&oNR#+1=?M0zFb)$yjFJN7M(8f3T@O~ck$fJ z#jl&t%i?`cw)9<7>`BXNN~C7#M|9!}-AlPC%fEEmmyc>0z@aw{PD-i@$1{PTKftyp8dZ3Vy?_d}88wg%&^OMO}hTR|C~qZk0-c*-zwE zp-T?N)N&sN9w;bvoC|rPz|a|sCSpC!abdMFrs)%1@*VC6YGvkATGaitR4t8O+)o9v z>^y8N+a&h;q9;iRdv7q3?|hQ)@F^4G>!%`G%$X-W9pv3`@8Z_82XQJ&A-0~CveGQ& zE2F1}1-_Pdq+Z|N9TKvEjhLv_V7lBZOS57>2;FtH?G8&+(nDg zY+(75lYaR9qzhf~@ihyvh`vjM)()5uM)SG(0K&JbX=bD*HrH$Fb#9j4XNZ%u@wZg! zl-47s;u0|Q^r$ZDCkpn16-TBB(F@b4LP)N1DZf#Jw5kH*yE`yW+t}+?&lPV)1)ecq z)N_$r4p_*0RV+`Id-hw>w;n`o3oh`<7aqRt@Akj-Ej#I26moX3$ATGa-^2`I(W+1NLBABY?ckC)NWlcWBGev;97ndJOMPzu7T z+#|7HzpHChJCq4ITfT;u5CAahrT9X$s5^D)I*@QNGTpbJwZt|%HD-jb7SXR!O6JgTr=(o2FNYRW7H;(L z=5c*sGSI9oV=U9T6C28&qSb@MhI}KN+pR`0$Pf!xGxTJcp{^_@^WLF)l?lni0|#Wm>>kT#KkcKf`5NoJ!92yTZ!-rlGT;G+^8EwmApqL640 zcd?C;>HhZO#wG2$siG6BgYQQP{H0b!-X(N7xA`(6Po+IIIWuCtu0alS%PW;NXi$=I zoP5F#Q>Gx$@+~^)Xnyjp51IZnpj76KI@R+qw(rO-*0-7rIFt%a4f9ODqiTO zPamzLbmVt>ZT0&$T}kOf7{}F|rPZEMPRJJaoP1T=jR&+CVnA3*!TR2@@Eugm^^JL( zymQZXYPa=SGRxE`!?NEQd~XsfGxUpQGqXKG{$&udmayfT)O3syjwcTorQ@&P@ znUj;Fqvmb7v9s-$1+y=X33md-m;rg&P#qf4Eo=5OQCglqWMAJ(>^VFMbCY$Jzf>| zC9P$sNw~|UPSW3*aF#O;Gt-#2*NbZm&b@08EN`skzxrJ6$@gzfdSjpMNgv5j4`}t< zU7gz74q$v^Q?+RGqBit;RHO9LwKrYZpl>^RBGO$gpGpcWWk27M_YE~Gv|g^sxU;L; zOJ6&*b{Q%#&Jt&0-zRd*mX`8pOfdTnX^TX$f6KNGCPZzKQIhDq=CGldQKeyo^2N>d zbNo8$Lv2{zwC~}#3H8z%qnp>%?o-zCQ@E7mUN%@L&aw#8ow<| zPM)_bA@82o72?q>sYLwxV)~nA-L29J5x#tlknx_Ij7zE8r^Lj^uftm#H^<~FpVvXZ z)#{acR+#!_W?IH)vfNw1J$E`!Dy4BzqJ27kcWE@cYZBe$Eyd{}#F4F4WO|<9%8hh0 z@sjikP7#F+>a0>OfmbFs9^AWaB>5$g+sl&NHCoWpR>nO;AjDShB~?OU7EX?Bus)em zH^BO8emTmNCxnI68lhu-qK-lv*G{VmOGh)M7gZ`3q6Dv6Sd4dm^fZT8DP}2>#T*yO z5PD_z)Z-Bm886LpaklT0T5v>-K_WEm`6o>Y#X2gxORP?>DWO-XFol)&&pfbBDtYwK z_wiD2Xw-~|3JSTq zPMXs@yNeW3c}lB6wpZQ0^!3E_KGWWoSy(}>Qnpqr-~zZg?vIM>?3S2)cc*JrVK@iu zeKi>(xbd|n4e-6%mv}sBWJg7!KkLKe8_p7b!^xeaffSLAZ|X;7o)C5q*HzT?la`8S zIK1Z7%6m+^o11B-|4Bqe#fgn7RQ`fAVwYdyEK`&i>)A>ExyuXcuH8;YMr@YQx0Bl5 z-R@$4_DSs%(Zj8eo_%+Wrfyp6dW%@yrr;}D6bjBaG=BOj!n;ybMq}w+>7=!-iJofX za1w345!Ff|wEbyo;o`E|9Q3G*z~gQ|DtqOJjuf&UV-hiA+6*D|1V!w~j$<-bbpHMd zrh0Jax1zxdt3`1H7Q-KgW*;rZ^NJ0%w3F3*F3D`1A!~jl)uS{-J3Kz&tpWH3DDd0Y z>kobDl}qI2ZQX2iY%Mv{@=PaZ+hm;H?1YK(EeQt)<+o*lxSmAcHa$ZDvvJcE4D+zU zIjEmQvg2+QZ`Pv^i?0%qm5n|Qb0u5#Gw5#Bq$=~rB(rH=Jltw@>;e}z9|2n;idVvm z%XBpDnCFcR#Qfx9fIpFDK;u(_Fs~NkCSX#aMyW@Q#WnGzNBfL) zNuoLhlxImbT?o0cTj4f259N(X9qM2-)yop zse7`;bXU4=wWVMGwE2gR%fN|~eQTU+_2*5G81w5VtV_Cm;tRcyG_#jb{}Cr4cIV=j z^`eIy#kJVUo4FA&&ocGqSdM*Dx^8^j@$AV^mz$~~-$&ML6T3u%9o5^KzwF+mVw=Ob zQ|n5i)~3XCO=f208xzcK+RNznRoT_%^ijOBnAvNDj~NVo;T+;iUgmh?w+LV^NZo#Z zj(l`w+2-PA_L9!gP8Hs8f5w{)<4@OAHXoJ5jz^W2QGd7q>*^T$a$d;p3R^I6 zcIDBR(`fh8y!rmaCO34Z>!eMdTcdV0;t+>XF>z3Ly_fAHdDL>lwG{++P1P&AD)F@pTn z(2`8LYt1D_(2y^fuX79~1Pb0zfD)|&qD$6J9MUEl_lfi;~Z z13vDa2XlKH+swl!0J~9>=yVF(b@C0#e?w)djCCM~WqR~epGe^Yyl)vUqy1R>CzTFXeo&kv<8{{G4REa!-h zAfnZk{&>jIy}N6<>j9-Ujg=QXzhJL%#BH2q0-Y3&79D-Z6CG+=*)1X!X@_Ham(N(7Z_j#h=^+by5-#pbGiKS^m_vL`ckUC5OJY?!O{}wG)7bSS z{w_=8{JNgz^qA%2n@nXXeWklqXRbNVv2YV?V~{*EB|`qF~nalN%4qVa9^Xh>D&g)uqe#6?}`m`7~N2OhP?wbGRm<% zw@RXy^1MjYW6P@N_7c-6R6CjVe4me7x4}aF<8{SU2o)x5c9%1ATGmt&+A<(U@eoC0 zTIjK$sh0S|#o?IrSe%H1_fAsd31fbN{IHNX;Z!*Cs+R-HCGD$be-2{R?&)G42g zh4FpH0>CM!*+IKe#yPc@&l{quarZUdUkgRj7x($-On+>;hAUTS=!e$e_GZ>EDoEGC z;^B`xHF{iDNbd}R|IrVhtJeA+xbiAZ&wTxSyU4jUT-%LW?~7mN^*K)Ve)8FJ&uO`H zH!-y9*@HWN!NGMaBa zTb5;^Le8Alm~vlC;7!iaHLmK6zye#=tRA-c#_m~>A-Ah_(Mi_X0X9LWefP?Vj!Ep_ z+5qAfiu;~^@QU3D3V!D7cdcaGhVK1v%cGrCsLN&6ou~}A? zej}O9&68rM{L3gbpn`go6Nxg2 z&$abMdfhJ+5n5=-J!wx*K6cD432P1JLXYo6%B!{~K?(wIGbPg5^I*6ONZF2&3uh;| zE0<7(Jq5odFmqt*+^8viW!Lgj2X%^@dTu-2T#JiQtNZ5jn$Mj>=OtGLZ;zkfyq~=^ zkG{zAZ6<$bE#U0Jyn>2U&TK~2iBnb;mKGI~;K7*S6e(FE=Y#;y-4)qylMX9m?-)kj zcU|i>^Y%je?*GOC*4~iy1r}cllu=@M&{o}P3Czt z9A}n-7qo8lzQ4QoB6uMa z$pXS}qfkgj9Fb)+9>+el9J5)UGKB(Q9dp(>*3VuQ!{0;f(_5CFVgFYYDms3)FLaap z%xQ|{9h5ybYr;o4N)rMkBDEYqbq-92L0`48Kn1rax;3iIF#_^W6EH!s*j~os%5!&r_d{kD2h_8))IIP!^)~sDb=2y zu?bzF9jNfDxd7Se*N|{q$nnTM5IEK+Osg zvn=#jozd(RZBfK1trk*^VseVnjb7GUp+sS|7{$8b};;71-Az?qGc?CO-oVWfm1my4s-xa^)smehW%rJpajj%HS1Z+hngC|TT8ffa z-|$T;X{fQPEHa5T)Gpkxv!Nl=Wv!~Da>ly5(zz~0S5lKDVR|qCFI-kBzNRvTnGR`T z$dwCpG5DhLqBgg<(`W^g2&YU}&d?{yu~Y(4X{hOlShflvV{#sy=QpPVOiZ;SDB}r> zOc2u%1F##zy4u>AVA#2*Y?x_)bTrvoWfD?DO$&l{Pu*cTGYyBTR7^EjQ4I83sT|<` zGKWUqk3f+3W}(6w6;YcNW%O~w0oxRbP*$jr<-Y;@-R0-^w_^nO z^pH7!6C{Rj+YybLhMMbY>zITAkQ0;YlVOx2$$P(T9EC5RobT(~7_9&99Yi19(@`(s zw&!T6cU?Z6Iat@nEwaS2dnNj!sSGnap7DzBE9#-+DJ{?b8$CfX=zTNNYol8~i zZSiFrdVy(W1He+RDyWn5Ms;}`aNhg3o%Pr`rb)crqnV!W$b)n7d5v=msOopJsiCti z=K2jEOH1s+7000>y07t-z0gV7tbR}6> z$beplQZ#7aU=qkqNRSOqVhK?W4M@r?Tu2zpmuzSNp*tm_uOI<5Z2-tPFbc4zKpKF4 z9|Hg$mmJLXItJ5k2{qpKtvHaaD-UEH0_w@V8-?ifX#t+6Kde5p`bk?G4d1qHgiAH( zk^~@u$oH#p_vdYIZ-0;7c&OZcmg#EqWxT(87gX3>C1Ig z%JxAa4oT0Nlhg46kunGrEOtPSlMI^y+BL(ZNl(aX!h}o(6q-Ycn!C>5m{|D60^P&28b4W0Tb zV-Ifvw4|wKOxN@bRjf$Whi30WFKvk1hlvycQ^5gNEs)F1(H?H2$*0@V$`4+KsD{@Aq13K#W(0d$W` zi!6xC_5#5F*aS&p<=xr$c{{AD@F383n2!kWYJ{2?J4Q1x&CGzk>&9XVwS#uXtaG#` zZ9nX6lJU{&3STSs@ypX_udbUdYFMq7YFLcem??~`xl4CWyA?%EgONwC9UgDI9O^>1}#E@`x5}E`_N}LIe z8Y*5>*oHzx6cVY5NXCU&Llb)_6uJdoP!I)D2Es4{RZ15TC@GR8!K9=&!+qQdsSIQ& z$OHfp5!6a)>~gh-maq+}l~UUbMV30+dO%lEr2qgZ5;G@^xv1IHan=5PysiH|{H?~z#-iS7 ziDr{0wZH$p{ujP7MRY2v6v&aF6w5`A74-;z>$Cf^-+UAYsEQPL2${UP>A1-#V%&IA zOFVVD<7ikB-5CQN$F^n}YO$mMwoG=>3tgTS4WOK%D_)9XX^ib&wXntN1#0nvCoy+1 zGch8rsY0v*U>wkdGQx%2hw5et6N_eM?MAKyTZ@;KiG{|b!Ok^crbM^fJwXUUC%uH+ z2*L)^R2MB3k!cePE0&drwA>~b3WWk$i~-suD;5?SXfqBcP*jS*A1+iU9&(KeXMzPP z>t<8RayMfpkha5#@va7F6{s{MGVECeg}?>jXvwYBiu&68kVW8R+QaAiFl*;q#0i_i zE^`69FM%dcRz`;pg= z^)p_2=*PeN%`ac``F;NA11|xw$AoVjQ5kaAG^h{ zg$bj;CO|F_0NyC&L9zj)SOTh4$&xRnfY#=U(mo=p6f&l7002*_r{e3ZfBYiGqh4OD z9Z2%l>Kkp_FjuM8F{c6mTme>Wn^C%vcP!$+FE5BLmlZC^`L?zh(#)#SGCEdEsim1H|>&NXP? z&^tJ7_(!)kuXQPU$fEy6XI28|f7o|UbI6_|Yk7GFNP4>JGB*v+sCJ3Z^!Bq0lK$LT z(*VG5rc!Z2=Y|9O8R&h;JEs%3JCngdbumB>*^t%z>>-Q!0*C+ZWa!PN;eC9>003Ac zKoP!WKgRN9QN6Rk_?v^0?0LS*c7FN|&r^IpTEjgCI*~&6UjBvJjI1jrl!tpAf_13w;?DD8*pWXm+ zJzYJ{x$!Z@SW!)-rxS^Oq0yYEM)h{}sI7EEAMSmtq{O9F2{yxJuBx(ZIpRan{`&p$ z(vmNgaX)WsI?e`hH09)`DEiKtnnpA2{oT{Ef0ea1(@7Cg^mM|oXvw_=)M>J*5|>6JpVm#q_Jn zCc$fS!+d;LdUL2{duL@2-2=TPJTiI;*tFy0uD-rQW#)l8PS3Y<0B7~|Rb*w#b#5x- z%XG=BAaYC)@bW>(fb#~5BP=esZV;qErNLB`=2qm$3Ff>qx&@CH`Rwy40E1vL0Dyr< z0Dz6m2*A=JJ!;D$02owZApx)~03KHiv$e=^R_Nf?F*D&fhIZ*EI&g7gaz){IJ=`PD zS3kYW{l&IBn-J5t^`b@_RWr4+NDu&k>2!QnUYoyXm*(-?7ys9O$K&tPa6j}onCLXW zFQYt+cX}6F{V6xNuj_W%W=tH^xX1@l|K>Rks=OSRBXO3GpY3BiLyE~_P%X?u*IH-k zIzq(KQ*8`w zco*~ew1P;A?lVyZF6T5aAwbtc7I9}y35qGWF#JqntgOl66zq3McAniZ#X8A^R|$+r zs&_NbG(h#9k7+x-bKmY_#@pCG24WmP%;BaW3+*Fi$to(`{@@@0Zb$&gNPG8bk}7;J zXbX&vq2x#dxD7J!AOT+WmqErVK+?ZN5<(it5gCgfeSwWZbW}wEUN_9BW6xW%LI=Ce zn9aA5g##+=hwSdp#ti4Xd;f0ybIAm zpPY6470EJqOLd)p^}ElO|KVp_Sm+-4@hI80mPa4DCgaCDd5Qe>oWQ4l-XD#N%@Q5e zzHs0m5v0Z0Qzzj%na^?j$hmBJe@zDWt-c~LBFuBzOb9_|LLnK8|DpQ*fHcDd%%ffd*}J+3y3 z1`=k@cn4X`xDNe5&s>mICd^8sA`hGB43`?nDixKjXWc||-Ud~YAgI)0G#%#l9oqrN zuVwDH-N=muu-8etM>DN+HI+zRp1)b_*RSYDAAk4bJ zGzI|j`4#{G3wAaf#*gEof{&odDrC_z;;>-cH`P37I>?fK006!B{`s1HXwJV}^Yv9UPQAWY?Ts`3;Rla$>iKTS(I+eqc^dh9fbc8?y*thS2 zOvtTzYrL_vTulnz7{^h!Xi19%!$hroq6nxe-g;}tc^D__X6U}D%6tHNL#>bvlh3HL z=^h|+AsrzWGj$m_h}o&)(5|?$QxZyu%-Gtrhj&&N%I+mn{(fbDTJG8#CzC+i?Ox5c z-CqjzpH40|HXaOdD#;fZF5?5Xj`40L);MFx6im`JW~rfy6oL?d>O^3RRvQo?5J20Q*+>@uu3xuvo^at^P)*O7tyQHc1K_jU5rpR)dkcPUuq} zAAUERM-Bp^r~$ab!I-NBwZ{q;N$cSRy*QeQiyC?oevUK(C*E=gs5lUB*0$@kiY4?dO60UShf_kOXQ7`Q3 zqO4N0-4?x~T{HDgUD<#G#s5kA%`WR?0^~J|r$nP8-auiaO{4Bu+JXs2Z-mv2`^RU8 zT_)QW03>6a96W_~DbbeOY}#@;j%ur=RdqFL8N~NX^-vz)wrj+bKx#y;#i^Di4yKg* zjSEnEbAQ^<+232F8Bh zHuX}WPimH;DrmxX5Gq4^TR0WYM_XAdY9cEM-;txL1y&TT5z#m{Yli^(cHAJG>exxU z0Q_CVjUQ|o8sq}d{Qv+8VTEycnE20^x%(LwzGJklMNQ4jrOT8{z$Ab{O1b5@u0wch z#zDsG9T}YQy)N7DW~|TFxFK#_mrm&~bx%H|-H^Qv?^jUYs}+a8_|toD_1E@t)EAHF z%q65Iat75Q)?7U5}JAvw+}bJQ{kQKFToi^P?{>I&0A zNe%?jRclP#xpd@0>S%5yQ6BabNfQZ=bK-F4@#u7g38b^KP&&qfSu zPqL8BWDiKs`IFl0c8S*s7!|87ADWg)Q7Eda zQWF_skOTm;>pFnR0PwGZXC(lh2(>tG0Sssu0Bz#a=9~crbTokW(T92%qLZ;MTKk>z z>$|@QX6svPV}z-c%yuY+o9C)A zTl)~RMx(}xLK4X(R88!Hu8Y{lT~|BX!ccPBsMT0`=JAZeE>q40JuXv7s7vJ3g1~4= za4pdcNHmh<5m6$H?ItC}q9JgaTn4+`j9EyAxS13Hu5K|5AcrwxDz>lz0s$Gg;Dn?t z7I}~Wkc49oEiGbQ!2lphGz6l;)e_K9p>a2K8v+nWy#mlwkl`+_1*JV&b-*HE$_{~m zMOG@1kpLS3r_Ncu1&gQEwpSZTC{nb023=)HC>3G3@_iS_Gin7 zI{t*MxW%kA82|vh+8}vy_J6mq;|D{|A`rwDi9>)>h?5WkSk98PP5`Y|yB+>WwNN#H zLF5DQS4KJNtw2BwfbP9&M%#1fpnaDKoZQWn1{^7Y}{HrlF6SxT}iNEir6z)~Ui z-AeVnFi68@Uo{c#u1o%JKInXZ*myj0ANQAfasIpmAI_Lj*6a6{<@GxPN?ER&Qa#G| zRce-MSwV3((%vVgAK$trO=O;cay=PC!OXr@XiF;n}%MM9ocgPdaG0cn- zdO3HTCm6u9kXwT=ommh4@wM;Ho*Qx;yl9k+AK%{|s+y)ltwVJvgsNa27$Q(VMdq5W zyUwX*s`{rU>81P7>&||NpDwXX?g0-uZ9tPT5NhOt>BU0jmetFPJ)(cJf!xTco@)bR zLC;bpW^(5sM}t8i3d?gD7Y*s4G)lD_b!$O6IauyV%h~>?Z|3CWA!f!mYuoNfZN7-S z8sJ!Zr}~;VO`_>J2DkvgO$30DkaLywsY{PGHR&$RM`2lz$%vHJU=G$#vMe9~EX(lO zC8M}10K^dhyj=j^cvV5P0E*EcM9659RuZ^e!;J@Is3E@r0LG)*ihKnCsGmNf-YjZW zD_g@HD*!~90AO2%^_N3~4PVWxylnpUWD1`~XXE*mS5V9vY%dqWb{Q8*mbM&^$;Ul-%k8Jl_OYz{~GK<;Sq*6cX znK5HcI5T_l4UofZiU|I>Ijq;Ybptk>HQvVKoofKF zuj4lX004G>*+m|IhBkoCHr8Vd6M!&i(0LOu$U@qHzUZJmJOZN+fDEW*1AJBhfU@Hq z+LoMB002PS{^;k!_ruSp&c|*5A|n6*xGezy00907<#>@PAl%e3r^Z0a8zWunL@B2RXI`52;G$Pt)Tdlego+$8L5edQp@Ip_O z!)k+jo_G4%@7;DU|H)_+ZU@iz7pb1R)Hu8TeGUKsCqp(Di{2t$E-&#n=!d#3kB)Nw z9;NWd=YCK>V(PcNxKhs635YMBB?oA=R|k%Vmw`F6Oy#MXq(@G!_YAw8HOR~oJ+;HPZL47#ZnRd%008LL z*seN=qyCR^U%V~bFnaqss%CG^2b*u1|8oD&LF70oKKa+Fi$l!Pu$)90-$egay~Bd? zqLctPLHA4$+eVZG*~E^7&g4MO4st8+`1nlp+4;Bi?fnCosVIpXad)gMCJ-e(^M70olXYE14)^MPCq?InTGUNzLDm`P(N-kaIq@)wrR@#kx*sa-jAr*GD- zFz#W2q%so#f|8U3sEy(7TY}Oe03;G9Y#R`iiHtBr7RG{@cckcIvJg-bL<8zt)mALr z1^@t4$O4O-o69Y?BO5R<3#0)6HbxwlZQEGQlF>^cV=f~Ov--A;e*gfL+q;Wh z=tq@x@p;de=eJPJy9%T2h_-EQsEnEua|{50jKqw)c+quOXI*Yg`nRj2yXWt9Kh4eF z!{q$Oa%S`8?5LpzJ58F`?~BJ!?sWFmyhD5*gN)@mi!j|#Le3- zMHO|xyd%UgB7^oCEZK&#X#8?W@{Vv%miq6$=-tdk&$IMYp2%5nF%z*0td$mD%VWt@T^Y3>kcj8WzRnGu4odp@YAhV&_are-JULZ-jpeAdm3y#ZYwoW#G)}6zl z=U!Z$T)-3*^9%_k$XsyFl`?fInS^Z z+b+9o5x*{UJQ?hN_e%?>4LiMLI6S=NIOp$ zH9Bp&qd))QVx2QriUN>UH(k~=9 zW&l~p@!sx68&hbs`$2f0Z9Cf5s%EB2F{KOufT_I~gyiwJ9zXNR?>)Jmvmf97L7fp# z*jrimkN@RYtN#4*s>k2@m%n^?>+LC7Nrs#A(wA+%y-Zsv_a7g(kSEGG&G} z`=>^f;OwHVS{F|V3*fr1aC!S}h1o-q)aNi2P4zy2YWMU$SJBKfZDg_%_K&Yvar8cp z-XG@k#+~j2sLLd7rWo3(IHInao|1b5)6;LytXFUXeoR$D4?X!! z1N$Uc`}+Z=hpc(tcK;7l0x?tea{vGU literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon1.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e67b59bf7286ead2ab9253159f0ad5599a41e86e GIT binary patch literal 72228 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%0A*O!atZR$tR1&%JMUA03;HN2&ifZFpr<0+2Qf>nq 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 literal 0 HcmV?d00001 diff --git a/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon2.ogg b/common/src/main/resources/assets/antarchy/sounds/mob/toreterror/water_cannon2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8d815b66da328d8fea7bedac444c1ff29d5fe402 GIT binary patch literal 74134 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À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